<?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>218545</bug_id>
          
          <creation_ts>2020-11-03 16:26:49 -0800</creation_ts>
          <short_desc>A programmatic scroll should stop any rubberbanding</short_desc>
          <delta_ts>2020-11-06 13:59:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=218672</see_also>
          <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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>koivisto</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1704272</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-03 16:26:49 -0800</bug_when>
    <thetext>A programmatic scroll should stop any rubberbanding</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704273</commentid>
    <comment_count>1</comment_count>
      <attachid>413119</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-03 16:31:11 -0800</bug_when>
    <thetext>Created attachment 413119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704274</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-03 16:31:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/71016512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704276</commentid>
    <comment_count>3</comment_count>
      <attachid>413120</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-03 16:35:09 -0800</bug_when>
    <thetext>Created attachment 413120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704304</commentid>
    <comment_count>4</comment_count>
      <attachid>413132</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-03 18:28:13 -0800</bug_when>
    <thetext>Created attachment 413132
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704494</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-04 10:45:19 -0800</bug_when>
    <thetext>Committed r269373: &lt;https://trac.webkit.org/changeset/269373&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413132.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413119</attachid>
            <date>2020-11-03 16:31:11 -0800</date>
            <delta_ts>2020-11-03 16:44:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218545-20201103163110.patch</filename>
            <type>text/plain</type>
            <size>26279</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODlmYTgyY2FiNTM2Mjg3
YmVhOTkzZGUxNWRmYWM3MTkyZDI3NDYwNy4uYTkxZmNhMzdjMjJhYmJkZmQ2NGJjMzhlNzA0YmZl
NzZkNTc5ODUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDIwLTExLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEEgcHJvZ3JhbW1h
dGljIHNjcm9sbCBzaG91bGQgc3RvcCBhbnkgcnViYmVyYmFuZGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTQ1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBQYXJ0IG9mIHJkYXI6Ly9w
cm9ibGVtLzY5NTk5NTMxOiBTY3JvbGxpbmcgb24gbmV0ZmxpeC5jb20gc29tZXRpbWVzIGp1bXBz
IHRvIHRoZSB0b3AuCisKKyAgICAgICAgSWYgdGhlIHNjcm9sbGluZyB0aHJlYWQgaXMgaW4gdGhl
IG1pZGRsZSBvZiBhIHJ1YmJlcmJhbmQgKHNheSwgd2hlbiBhIG1vZGFsIG92ZXJsYXkgaXMKKyAg
ICAgICAgdXApLCBhbmQgdGhlbiB0aGUgbWFpbiB0aHJlYWQgdHJpZ2dlcnMgYSBwcm9ncmFtbWF0
aWMgc2Nyb2xsIHRvIHNvbWUgb3RoZXIgbG9jYXRpb24sCisgICAgICAgIHdlIHNob3VsZCBzdG9w
IHJ1YmJlcmJhbmRpbmcgaW1tZWRpYXRlbHkuIElmIHdlIGRvbid0LCB0aGVuIHRoZSBydWJiZXJi
YW5kIHRpbWVyIAorICAgICAgICBjb250aW51ZXMgdG8gZ2VuZXJhdGUgc2Nyb2xscyBvbiB0aGUg
c2Nyb2xsaW5nIHRocmVhZCB3aGljaCBnZXQgdG8gdGhlIG1haW4gdGhyZWFkCisgICAgICAgIGFm
dGVyIGl0IGhhcyBoYW5kbGVkIHRoZSBwcm9ncmFtYXRpYyBzY3JvbGwsIHRodXMgcmVzZXR0aW5n
IHRoZSBzY3JvbGwgcG9zaXRpb24uCisKKyAgICAgICAgVGhpcyBjaGFuZ2Ugc2hhcmVzIHNvbWUg
ZWRnZVBpbm5lZFN0YXRlKCkgYXJvdW5kIHdoaWNoIGlzIHVzZWQgdG8gYWxsb3cgcnViYmVyYmFu
ZGluZworICAgICAgICB0byBjb250aW51ZSBvZiB0aGUgcHJvZ3JhbW1hdGljIHNjcm9sbCBpcyB0
byB0aGUgZWRnZSB3aGljaCBpcyBhbHJlYWR5IHBpbm5lZAorICAgICAgICAoY29tbW9ubHkgdGhl
IHRvcCkuCisKKyAgICAgICAgQWxzbyBhZGRyZXNzIHNvbWUgcmV2aWV3IGNvbW1lbnRzIGZyb20g
YSBwcmV2aW91cyBwYXRjaC4KKworICAgICAgICBWZXJ5IGhhcmQgdG8gbWFrZSB0ZXN0cyB0aGF0
IGRvIHRoaW5ncyB3aGlsZSBydWJiZXJiYW5kaW5nIGlzIGhhcHBlbmluZy4KKworICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZTo6YXBwbHlMYXllclBvc2l0aW9uc0ludGVybmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1RyZWU6OmFkZFBlbmRpbmdTY3JvbGxVcGRhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nVHJlZTo6dGFrZVBlbmRpbmdTY3JvbGxVcGRhdGVzKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsVG8pOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmN1cnJlbnRTY3JvbGxQb3Np
dGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNo
YW5nZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6Y3VycmVudFNjcm9sbFBv
c2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjOjplZGdlUGlubmVkU3RhdGUgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9y
Ojpub3RpZnlQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjplZGdlUGlubmVkU3Rh
dGUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAg
ICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250
cm9sbGVyOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQ29udHJvbGxlcjo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnN0b3BSdWJiZXJiYW5kaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnVwZGF0ZVJ1YmJlckJhbmRpbmdTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjp1cGRhdGVSdWJiZXJCYW5kaW5nRWRnZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c2Nyb2xsZWRUb1J1YmJlcmJhbmRpbmdF
ZGdlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6ZWRnZVBpbm5lZFN0YXRlIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL1Njcm9sbEFuaW1hdG9yTW9jay5oOgorCiAyMDIwLTExLTAyICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbCBw
b3NpdGlvbiBjYW4gZ2V0IHJlc2V0IGFmdGVyIHByb2dyYW1tYXRpYyBzY3JvbGwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggYTljMmM2
NTg5NGY4ZjM3MWVlZDA5MGEyYTU2MDNkMjhhZTQ5ZmQ2OS4uZjNiMTA5OGU3Njg4YTA4MGFjMmUx
YmIyNDZlNmM0M2QyMTQyN2ZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTQwMiw3ICs0MDIsNiBAQCB2b2lkIFNjcm9sbGluZ1Ry
ZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnNJbnRlcm5hbCgpCiAgICAgaWYgKCFtX3Jvb3ROb2RlKQog
ICAgICAgICByZXR1cm47CiAKLS8vICAgIExPRyhTY3JvbGxpbmcsICJcblNjcm9sbGluZ1RyZWUg
JXAgYXBwbHlMYXllclBvc2l0aW9ucyAobWFpbiB0aHJlYWQgJWQpIiwgdGhpcywgaXNNYWluVGhy
ZWFkKCkpOwogICAgIGFwcGx5TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoKm1fcm9vdE5vZGUpOwog
fQogCkBAIC01NzksNyArNTc4LDcgQEAgYm9vbCBTY3JvbGxpbmdUcmVlOjptYWluRnJhbWVDYW5S
dWJiZXJCYW5kSW5EaXJlY3Rpb24oU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKIAogdm9pZCBT
Y3JvbGxpbmdUcmVlOjphZGRQZW5kaW5nU2Nyb2xsVXBkYXRlKFNjcm9sbFVwZGF0ZSYmIHVwZGF0
ZSkKIHsKLSAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7
CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7
CiAgICAgZm9yIChhdXRvJiBleGlzdGluZ1VwZGF0ZSA6IG1fcGVuZGluZ1Njcm9sbFVwZGF0ZXMp
IHsKICAgICAgICAgaWYgKGV4aXN0aW5nVXBkYXRlLmNhbk1lcmdlKHVwZGF0ZSkpIHsKICAgICAg
ICAgICAgIGV4aXN0aW5nVXBkYXRlLm1lcmdlKFdURk1vdmUodXBkYXRlKSk7CkBAIC01OTIsNyAr
NTkxLDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjphZGRQZW5kaW5nU2Nyb2xsVXBkYXRlKFNjcm9s
bFVwZGF0ZSYmIHVwZGF0ZSkKIAogVmVjdG9yPFNjcm9sbGluZ1RyZWU6OlNjcm9sbFVwZGF0ZT4g
U2Nyb2xsaW5nVHJlZTo6dGFrZVBlbmRpbmdTY3JvbGxVcGRhdGVzKCkKIHsKLSAgICBMb2NrSG9s
ZGVyIGxvY2tlcihtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7CisgICAgYXV0byBsb2NrZXIg
PSBob2xkTG9jayhtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7CiAgICAgcmV0dXJuIHN0ZDo6
ZXhjaGFuZ2UobV9wZW5kaW5nU2Nyb2xsVXBkYXRlcywgeyB9KTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUuY3BwCmluZGV4IDk5OGMxOGNlNTFlMTIyNTUzZDQ3ZjRhYjZmZmNlZDRmZGY2NWMyNTYu
LjllMTBmNWU4NzMyNTZkMDFlMjM0YTc4MWU3N2FlZmU4NzE4Mzk4OGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZS5jcHAKQEAgLTI1OCwxOCArMjU4LDIwIEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGU6OnNjcm9sbFRvKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxUeXBl
CiAgICAgICAgIHJldHVybjsKIAogICAgIHNjcm9sbGluZ1RyZWUoKS5zZXRJc0hhbmRsaW5nUHJv
Z3JhbW1hdGljU2Nyb2xsKHNjcm9sbFR5cGUgPT0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKTsK
LSAgICAKKwogICAgIG1fY3VycmVudFNjcm9sbFBvc2l0aW9uID0gYWRqdXN0ZWRTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbiwgY2xhbXApOwogICAgIAotICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxp
bmcsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgIiA8PCBzY3JvbGxpbmdO
b2RlSUQoKSA8PCAiIHNjcm9sbFRvICIgPDwgcG9zaXRpb24gPDwgIiAoIiA8PCBzY3JvbGxUeXBl
IDw8ICIpIChkZWx0YSBmcm9tIGxhc3QgY29tbWl0dGVkIHBvc2l0aW9uICIgPDwgKG1fbGFzdENv
bW1pdHRlZFNjcm9sbFBvc2l0aW9uIC0gbV9jdXJyZW50U2Nyb2xsUG9zaXRpb24pIDw8ICIpIik7
CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZSAiIDw8IHNjcm9sbGluZ05vZGVJRCgpIDw8ICIgc2Nyb2xsVG8gIiA8PCBw
b3NpdGlvbiA8PCAiIGFkanVzdGVkIHRvICIKKyAgICAgICAgPDwgbV9jdXJyZW50U2Nyb2xsUG9z
aXRpb24gPDwgIiAoIiA8PCBzY3JvbGxUeXBlIDw8ICIpIChkZWx0YSBmcm9tIGxhc3QgY29tbWl0
dGVkIHBvc2l0aW9uICIgPDwgKG1fbGFzdENvbW1pdHRlZFNjcm9sbFBvc2l0aW9uIC0gbV9jdXJy
ZW50U2Nyb2xsUG9zaXRpb24pIDw8ICIpIgorICAgICAgICA8PCAiIHJ1YmJlcmJhbmRpbmcgIiA8
PCBzY3JvbGxpbmdUcmVlKCkuaXNSdWJiZXJCYW5kSW5Qcm9ncmVzc0Zvck5vZGUoc2Nyb2xsaW5n
Tm9kZUlEKCkpKTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0Rm9yQ3VycmVudFNjcm9sbFBvc2l0aW9u
KCk7Ci0gICAgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIGN1cnJlbnRTY3Jv
bGxQb3NpdGlvbkNoYW5nZWQoc2Nyb2xsVHlwZSk7CiAKICAgICBzY3JvbGxpbmdUcmVlKCkuc2V0
SXNIYW5kbGluZ1Byb2dyYW1tYXRpY1Njcm9sbChmYWxzZSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGU6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsaW5n
TGF5ZXJQb3NpdGlvbkFjdGlvbiBhY3Rpb24pCit2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xh
eWVyUG9zaXRpb25BY3Rpb24gYWN0aW9uKQogewogICAgIG1fc2Nyb2xsZWRTaW5jZUxhc3RDb21t
aXQgPSB0cnVlOwogICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9s
bCgqdGhpcywgYWN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDQ4ZjdjYzA3Mjc4NzVm
N2I2Y2RiMmJiOGJjZDAwZTNmMWIzNGM5ZDUuLmQzYzU3ODMxZGJmZjMyN2M3ZGRkODlhMGM3OTA2
MTRiMzFkMjM4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHBy
b3RlY3RlZDoKICAgICAKICAgICB2aXJ0dWFsIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3Np
dGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uID0gU2Nyb2xsaW5nTGF5ZXJQb3Np
dGlvbkFjdGlvbjo6U3luYyk7CisgICAgdmlydHVhbCB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlv
bkNoYW5nZWQoU2Nyb2xsVHlwZSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiA9IFNjcm9s
bGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlN5bmMpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVW
aWV3cG9ydEZvckN1cnJlbnRTY3JvbGxQb3NpdGlvbihPcHRpb25hbDxGbG9hdFJlY3Q+ID0geyB9
KSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsUG9zaXRpb25BbmRMYXlvdXRWaWV3cG9ydE1h
dGNoKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBPcHRpb25hbDxGbG9hdFJlY3Q+IG92ZXJy
aWRlTGF5b3V0Vmlld3BvcnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMuaAppbmRleCBmNTZiZWM2MjgwNDc4NmNlYTdmY2U0ODk0ZjRhN2IwNDFjOTViYjgwLi5m
NzRjYzY3OWUyNDlmZWIzNmVlZjdiZWRiYjY1M2NjMWU2NDA1MzkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJpdmF0ZToK
IAogICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JiwgU2Nyb2xsQ2xhbXBpbmcpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBjdXJyZW50U2Ny
b2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pIGZpbmFsOwor
ICAgIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlLCBTY3JvbGxp
bmdMYXllclBvc2l0aW9uQWN0aW9uKSBmaW5hbDsKICAgICB2b2lkIHJlcG9zaXRpb25TY3JvbGxp
bmdMYXllcnMoKSBmaW5hbDsKIAogICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVNYWMgbV9kZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWMubW0KaW5kZXggN2JlOTMxYTg5OTZkNGU2NGI0OGIzNmMyZjBhMDJjYTg1ODhmZmZmZi4uNWFh
N2QzMDEzOTI0NTNlMWFmNzg3M2UzMGE1ZTRlYjdhYzg4YTJhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KQEAgLTEzOSwxNiArMTM5LDE2IEBAIEZsb2F0
UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6YWRqdXN0ZWRTY3JvbGxQ
b3NpdGlvbihjb25zdCBGbG9hCiAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGU6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1wKTsKIH0K
IAotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xs
UG9zaXRpb25DaGFuZ2VkKFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gYWN0aW9uKQordm9p
ZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFj
dGlvbiBhY3Rpb24pCiB7Ci0gICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8
ICJTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkIHRvICIgPDwgY3VycmVudFNjcm9sbFBvc2l0aW9uKCkgPDwgIiBtaW46ICIgPDwg
bWluaW11bVNjcm9sbFBvc2l0aW9uKCkgPDwgIiBtYXg6ICIgPDwgbWF4aW11bVNjcm9sbFBvc2l0
aW9uKCkgPDwgIiBzeW5jOiAiIDw8IGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpKTsK
KyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8PCAiIGN1cnJlbnRT
Y3JvbGxQb3NpdGlvbkNoYW5nZWQgdG8gIiA8PCBjdXJyZW50U2Nyb2xsUG9zaXRpb24oKSA8PCAi
IG1pbjogIiA8PCBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSA8PCAiIG1heDogIiA8PCBtYXhpbXVt
U2Nyb2xsUG9zaXRpb24oKSA8PCAiIHN5bmM6ICIgPDwgaGFzU3luY2hyb25vdXNTY3JvbGxpbmdS
ZWFzb25zKCkpOwogCi0gICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KCk7CisgICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5
cGUpOwogCiAgICAgaWYgKGlzUm9vdE5vZGUoKSkKICAgICAgICAgdXBkYXRlTWFpbkZyYW1lUGlu
QW5kUnViYmVyYmFuZFN0YXRlKCk7CiAKLSAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5n
UmVhc29ucygpID8gU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U2V0IDogYWN0aW9uKTsK
KyAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKHNjcm9sbFR5cGUsIGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpID8g
U2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U2V0IDogYWN0aW9uKTsKIAogICAgIGlmIChz
Y3JvbGxpbmdUcmVlKCkuc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCgpKSB7CiAg
ICAgICAgIHVuc2lnbmVkIHVuZmlsbGVkQXJlYSA9IGV4cG9zZWRVbmZpbGxlZEFyZWEoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4IGEyYzNl
NmE3Y2VkZWQ3ODA0ZWQ5NWEzNTAzZDg3ZGJhNWQzNzU5OGYuLjZhOTI2ZTM4YWRhOWEzYzU2MzE4
ODlkZGIzYTZhNjU4ZGE0NzJjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Nj
cm9sbGluZ05vZGVNYWMuaApAQCAtNDcsNyArNDcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgCiAgICAg
RmxvYXRQb2ludCBhZGp1c3RlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3Jv
bGxDbGFtcGluZykgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3Np
dGlvbkNoYW5nZWQoU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbikgZmluYWw7CisgICAgdm9p
ZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVy
UG9zaXRpb25BY3Rpb24pIGZpbmFsOwogCiAgICAgdm9pZCByZXBvc2l0aW9uU2Nyb2xsaW5nTGF5
ZXJzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXBvc2l0aW9uUmVsYXRlZExheWVycygpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpp
bmRleCA2YjAyYjE2ZTEzMjJiMDE0ZGQ0OTczYjQ3ZWIwZmFkZGEzYzA3MTM5Li4xMDVkMDNkN2Iy
ZmEzYTY3NmFjMjY2ZmFkZTBiNGFiOTk1YWQ0N2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtODYsMTAgKzg2LDEwIEBAIFdoZWVsRXZl
bnRIYW5kbGluZ1Jlc3VsdCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpo
YW5kbGVXaGVlbEV2ZW50CiAgICAgcmV0dXJuIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdDo6cmVz
dWx0KG1fZGVsZWdhdGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KSk7CiB9CiAKLXZvaWQg
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y3VycmVudFNjcm9sbFBvc2l0
aW9uQ2hhbmdlZChTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uIGFjdGlvbikKK3ZvaWQgU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y3VycmVudFNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rp
b24gYWN0aW9uKQogewotICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmN1
cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoYWN0aW9uKTsKLSAgICBtX2RlbGVnYXRlLmN1cnJl
bnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoKTsKKyAgICBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5cGUsIGFjdGlv
bik7CisgICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5
cGUpOwogfQogCiBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVN
YWM6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1wKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjLmgKaW5kZXggZGFlNmE3OWI3NjcwMGVmZTcxNmZkZWY3ODllMDMyZjI1
ODYzMjVlOS4uNzE4ZmRhODRkZDM0OTFmM2QzMTBlODkxZjliNWMwMDEwZmUyYWFkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oCkBAIC01MSw3ICs1
MSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKTsKICAgICAKLSAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5n
ZWQoKTsKKyAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsVHlwZSk7
CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAgIHZvaWQgdXBkYXRlU2Nyb2xsU25h
cFBvaW50cyhTY3JvbGxFdmVudEF4aXMsIGNvbnN0IFZlY3RvcjxMYXlvdXRVbml0PiYsIGNvbnN0
IFZlY3RvcjxTY3JvbGxPZmZzZXRSYW5nZTxMYXlvdXRVbml0Pj4mKTsKQEAgLTc4LDYgKzc4LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIGFsbG93c1ZlcnRpY2FsU3RyZXRjaGluZyhjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmKSBjb25zdCBmaW5hbDsKICAgICBJbnRTaXplIHN0cmV0Y2hBbW91bnQo
KSBjb25zdCBmaW5hbDsKICAgICBib29sIHBpbm5lZEluRGlyZWN0aW9uKGNvbnN0IEZsb2F0U2l6
ZSYpIGNvbnN0IGZpbmFsOworICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlubmVkU3RhdGUoKSBj
b25zdCBmaW5hbDsKICAgICBib29sIGNhblNjcm9sbEhvcml6b250YWxseSgpIGNvbnN0IGZpbmFs
OwogICAgIGJvb2wgY2FuU2Nyb2xsVmVydGljYWxseSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wg
c2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFNjcm9sbERpcmVjdGlvbikgY29uc3QgZmluYWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCmluZGV4
IGM3ZmQyODJjN2FhZjRmNzFlZWI3YzVmMTEyM2E3ZGM1YTFhNmJiNjUuLjcxOWUwOWE1MDNkMTEx
NzM2YjY2N2ExYTFkODY1NmZjNGYwZDY4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCkBAIC0xNjAsOSArMTYwLDkgQEAgYm9vbCBTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBs
YXRmb3JtV2hlZWwKICAgICByZXR1cm4gaGFuZGxlZDsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKCkK
K3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6Y3VycmVudFNjcm9s
bFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlIHNjcm9sbFR5cGUpCiB7Ci0gICAgbV9zY3JvbGxD
b250cm9sbGVyLnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIG1fc2Nyb2xsQ29udHJvbGxl
ci5zY3JvbGxQb3NpdGlvbkNoYW5nZWQoc2Nyb2xsVHlwZSk7CiB9CiAKIGJvb2wgU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNv
bnN0CkBAIC0yOTEsNiArMjkxLDExIEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU1hYzo6cGlubmVkSW5EaXJlY3Rpb24oY29uc3QgRmxvYXRTaXplJiBkCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCitSZWN0RWRnZXM8Ym9vbD4gU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZU1hYzo6ZWRnZVBpbm5lZFN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc2Ny
b2xsaW5nTm9kZSgpLmVkZ2VQaW5uZWRTdGF0ZSgpOworfQorCiBib29sIFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmNhblNjcm9sbEhvcml6b250YWxseSgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIGhhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggZTFmNzk1NjM4OGY1YTgwZWNh
ODllZjZiN2I1OTM2YzMyYmE5NzllYi4uOWMxYzdhNmM3MGI2ZTA3NGI2YjVhMzYzYmNhYzNjYzBj
YmI0MmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApA
QCAtMjM1LDcgKzIzNSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6Om5vdGlmeVBvc2l0aW9uQ2hh
bmdlZChjb25zdCBGbG9hdFNpemUmIGRlbHRhKQogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Ny
b2xsT2Zmc2V0RnJvbUFuaW1hdGlvbihtX3Njcm9sbGFibGVBcmVhLnNjcm9sbE9mZnNldEZyb21Q
b3NpdGlvbihyb3VuZGVkSW50UG9pbnQoY3VycmVudFBvc2l0aW9uKCkpKSk7CiAKICNpZiBFTkFC
TEUoQ1NTX1NDUk9MTF9TTkFQKSB8fCBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCi0gICAgbV9zY3Jv
bGxDb250cm9sbGVyLnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIG1fc2Nyb2xsQ29udHJv
bGxlci5zY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKTsKICNl
bmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5k
ZXggNjZjODNlN2RkYTVkMGFkN2VmMDIxMDM0MWY1NGJmNTNhNDYyMDkyNS4uM2RmNWRjYmZhM2Fl
ZDJlNjc2YTNhNDg4ODI3MWQxNDg0YTgxYjI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmNwcApAQCAtNjI2LDYgKzYyNiwyMSBAQCBib29sIFNjcm9sbGFibGVB
cmVhOjppc1Bpbm5lZFZlcnRpY2FsbHlJbkRpcmVjdGlvbihpbnQgdmVydGljYWxTY3JvbGxEZWx0
YSkgY29ucwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorUmVjdEVkZ2VzPGJvb2w+IFNjcm9sbGFi
bGVBcmVhOjplZGdlUGlubmVkU3RhdGUoKSBjb25zdAoreworICAgIGF1dG8gc2Nyb2xsUG9zaXRp
b24gPSB0aGlzLT5zY3JvbGxQb3NpdGlvbigpOworICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRpb24g
PSBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKTsKKyAgICBhdXRvIG1heFNjcm9sbFBvc2l0aW9uID0g
bWF4aW11bVNjcm9sbFBvc2l0aW9uKCk7CisKKyAgICAvLyBUb3AsIHJpZ2h0LCBib3R0b20sIGxl
ZnQuCisgICAgcmV0dXJuIHsKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueSgpIDw9IG1pblNjcm9s
bFBvc2l0aW9uLnkoKSwKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueCgpID49IG1heFNjcm9sbFBv
c2l0aW9uLngoKSwKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueSgpID49IG1heFNjcm9sbFBvc2l0
aW9uLnkoKSwKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueCgpIDw9IG1pblNjcm9sbFBvc2l0aW9u
LngoKQorICAgIH07Cit9CisKIGludCBTY3JvbGxhYmxlQXJlYTo6aG9yaXpvbnRhbFNjcm9sbGJh
ckludHJ1c2lvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHZlcnRpY2FsU2Nyb2xsYmFyKCkgPyB2
ZXJ0aWNhbFNjcm9sbGJhcigpLT5vY2N1cGllZFdpZHRoKCkgOiAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggMzg3YWQyODVjMjBkZDhmZDVlYmEyN2Y2NjVl
ZWU4NTE4M2U3N2M2Zi4uMTBiNGNiODk3NGQ0ODVkZTQyNzYxODllZWFjMzY3YmFjNjhjNmI0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0yNSw2ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiUmVjdEVkZ2VzLmgiCiAjaW5jbHVkZSAi
U2Nyb2xsU25hcE9mZnNldHNJbmZvLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNs
dWRlICJTY3JvbGxiYXIuaCIKQEAgLTMyNyw2ICszMjgsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c1Bpbm5lZEhvcml6b250YWxseUluRGlyZWN0aW9uKGludCBob3Jpem9udGFsU2Nyb2xsRGVsdGEp
IGNvbnN0OyAKICAgICBib29sIGlzUGlubmVkVmVydGljYWxseUluRGlyZWN0aW9uKGludCB2ZXJ0
aWNhbFNjcm9sbERlbHRhKSBjb25zdDsKIAorICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlubmVk
U3RhdGUoKSBjb25zdDsKKwogICAgIC8vIFRydWUgaWYgc2Nyb2xsaW5nIGhhcHBlbnMgYnkgbW92
aW5nIGNvbXBvc2l0aW5nIGxheWVycy4KICAgICB2aXJ0dWFsIGJvb2wgdXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIC8vIFRydWUgaWYgdGhlIGNv
bnRlbnRzIGNhbiBiZSBzY3JvbGxlZCBhc3luY2hyb25vdXNseSAoaS5lLiBieSBhIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1Njcm9sbENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIuaAppbmRleCA2OWU2ZjAwZjk0YzAxZGJmZWQyNmUwYjkwOTI5MGMyOTMyZjY2
OGE4Li5mMjU1Yzk5NTg1M2U1NjFhNzVhZWQ4NzZiMmYwMWM5YzM5YmQxYTNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCkBAIC0yOSw2
ICsyOSw3IEBACiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRTaXpl
LmgiCisjaW5jbHVkZSAiUmVjdEVkZ2VzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNp
bmNsdWRlICJXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KQEAgLTc1LDcgKzc2LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dz
SG9yaXpvbnRhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW50JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgSW50U2l6ZSBzdHJldGNoQW1v
dW50KCkgY29uc3QgPSAwOworCiAgICAgdmlydHVhbCBib29sIHBpbm5lZEluRGlyZWN0aW9uKGNv
bnN0IEZsb2F0U2l6ZSYpIGNvbnN0ID0gMDsKKworICAgIHZpcnR1YWwgUmVjdEVkZ2VzPGJvb2w+
IGVkZ2VQaW5uZWRTdGF0ZSgpIGNvbnN0ID0gMDsKKwogICAgIHZpcnR1YWwgYm9vbCBjYW5TY3Jv
bGxIb3Jpem9udGFsbHkoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhblNjcm9sbFZl
cnRpY2FsbHkoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJ
bkRpcmVjdGlvbihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0ID0gMDsKQEAgLTE0Niw3ICsxNTEsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3Q7CiAgICAg
Ym9vbCBpc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3Q7CiAgICAgCi0gICAgdm9pZCBzY3Jv
bGxQb3NpdGlvbkNoYW5nZWQoKTsKKyAgICB2b2lkIHNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3Jv
bGxUeXBlKTsKIAogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgdm9pZCB1cGRhdGVT
Y3JvbGxTbmFwUG9pbnRzKFNjcm9sbEV2ZW50QXhpcywgY29uc3QgVmVjdG9yPExheW91dFVuaXQ+
JiwgY29uc3QgVmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPExheW91dFVuaXQ+PiYpOwpAQCAtMTcz
LDYgKzE3OCw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJ
TkcpCisgICAgdm9pZCBzdG9wUnViYmVyYmFuZGluZygpOworCiAgICAgdm9pZCBzdGFydFNuYXBS
dWJiZXJiYW5kVGltZXIoKTsKICAgICB2b2lkIHN0b3BTbmFwUnViYmVyYmFuZFRpbWVyKCk7CiAg
ICAgdm9pZCBzbmFwUnViYmVyQmFuZCgpOwpAQCAtMTgzLDYgKzE5MCw5IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIGlzUnViYmVyQmFuZEluUHJvZ3Jlc3NJbnRlcm5hbCgpIGNvbnN0OwogICAgIHZv
aWQgdXBkYXRlUnViYmVyQmFuZGluZ1N0YXRlKCk7CisgICAgdm9pZCB1cGRhdGVSdWJiZXJCYW5k
aW5nRWRnZXMoSW50U2l6ZSBjbGllbnRTdHJldGNoKTsKKyAgICAKKyAgICBib29sIHNjcm9sbGVk
VG9SdWJiZXJiYW5kaW5nRWRnZSgpIGNvbnN0OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1ND
Uk9MTF9TTkFQKQpAQCAtMjE1LDYgKzIyNSw3IEBAIHByaXZhdGU6CiAgICAgTW9ub3RvbmljVGlt
ZSBtX3N0YXJ0VGltZTsKICAgICBGbG9hdFNpemUgbV9zdGFydFN0cmV0Y2g7CiAgICAgRmxvYXRT
aXplIG1fb3JpZ1ZlbG9jaXR5OworICAgIFJlY3RFZGdlczxib29sPiBtX3J1YmJlckJhbmRpbmdF
ZGdlczsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsQ29udHJvbGxlclRpbWVyPiBtX3NuYXBS
dWJiZXJiYW5kVGltZXI7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXggZmNmYzM3ZDlmYjk4NmQ0ZGUxODc1NGIz
MWViMzA1YWVjZDU1NWRiMy4uNTcwZDc0ZDIzY2UxODM2OTg0MjRiZjk0ODQ5ZTI2OGUzNTU1MmZm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJv
bGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLm1tCkBAIC00MDcsMjAgKzQwNywxNSBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNuYXBS
dWJiZXJCYW5kVGltZXJGaXJlZCgpCiAgICAgaWYgKGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIAorICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0
cmVhbSA8PCAiU2Nyb2xsQ29udHJvbGxlcjo6c25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKCkgLSBt
YWluIHRocmVhZCAiIDw8IGlzTWFpblRocmVhZCgpKTsKKwogICAgIGlmICghbV9tb21lbnR1bVNj
cm9sbEluUHJvZ3Jlc3MgfHwgbV9pZ25vcmVNb21lbnR1bVNjcm9sbHMpIHsKICAgICAgICAgYXV0
byB0aW1lRGVsdGEgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fc3RhcnRUaW1lOwogCiAgICAg
ICAgIGlmIChtX3N0YXJ0U3RyZXRjaC5pc1plcm8oKSkgewogICAgICAgICAgICAgbV9zdGFydFN0
cmV0Y2ggPSBtX2NsaWVudC5zdHJldGNoQW1vdW50KCk7CiAgICAgICAgICAgICBpZiAobV9zdGFy
dFN0cmV0Y2ggPT0gRmxvYXRTaXplKCkpIHsKLSAgICAgICAgICAgICAgICBzdG9wU25hcFJ1YmJl
cmJhbmRUaW1lcigpOwotCi0gICAgICAgICAgICAgICAgbV9zdHJldGNoU2Nyb2xsRm9yY2UgPSB7
IH07Ci0gICAgICAgICAgICAgICAgbV9zdGFydFRpbWUgPSB7IH07Ci0gICAgICAgICAgICAgICAg
bV9zdGFydFN0cmV0Y2ggPSB7IH07Ci0gICAgICAgICAgICAgICAgbV9vcmlnVmVsb2NpdHkgPSB7
IH07Ci0KLSAgICAgICAgICAgICAgICB1cGRhdGVSdWJiZXJCYW5kaW5nU3RhdGUoKTsKKyAgICAg
ICAgICAgICAgICBzdG9wUnViYmVyYmFuZGluZygpOwogICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIH0KIApAQCAtNDUxLDEyICs0NDYsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xs
ZXI6OnNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZCgpCiAgICAgICAgICAgICBtX3N0cmV0Y2hTY3Jv
bGxGb3JjZS5zZXRIZWlnaHQocmVib3VuZERlbHRhRm9yRWxhc3RpY0RlbHRhKG5ld1N0cmV0Y2gu
aGVpZ2h0KCkpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1fY2xpZW50LmFkanVz
dFNjcm9sbFBvc2l0aW9uVG9Cb3VuZHNJZk5lY2Vzc2FyeSgpOwotCi0gICAgICAgICAgICBzdG9w
U25hcFJ1YmJlcmJhbmRUaW1lcigpOwotICAgICAgICAgICAgbV9zdHJldGNoU2Nyb2xsRm9yY2Ug
PSB7IH07Ci0gICAgICAgICAgICBtX3N0YXJ0VGltZSA9IHsgfTsKLSAgICAgICAgICAgIG1fc3Rh
cnRTdHJldGNoID0geyB9OwotICAgICAgICAgICAgbV9vcmlnVmVsb2NpdHkgPSB7IH07CisgICAg
ICAgICAgICBzdG9wUnViYmVyYmFuZGluZygpOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKQEAgLTQ2OSw5ICs0NTks
MTQgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQoKQog
fQogI2VuZGlmCiAKLXZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KCkKK3ZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5
cGUgc2Nyb2xsVHlwZSkKIHsKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisgICAgaWYgKHNj
cm9sbFR5cGUgPT0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKSB7CisgICAgICAgIGlmICghc2Ny
b2xsZWRUb1J1YmJlcmJhbmRpbmdFZGdlKCkpCisgICAgICAgICAgICBzdG9wUnViYmVyYmFuZGlu
ZygpOworICAgIH0KKwogICAgIHVwZGF0ZVJ1YmJlckJhbmRpbmdTdGF0ZSgpOwogI2VuZGlmCiB9
CkBAIC01MTYsNiArNTExLDE2IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFw
SW5Qcm9ncmVzcygpIGNvbnN0CiB9CiAKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCit2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnN0b3BSdWJiZXJiYW5kaW5nKCkKK3sKKyAgICBzdG9wU25hcFJ1
YmJlcmJhbmRUaW1lcigpOworICAgIG1fc3RyZXRjaFNjcm9sbEZvcmNlID0geyB9OworICAgIG1f
c3RhcnRUaW1lID0geyB9OworICAgIG1fc3RhcnRTdHJldGNoID0geyB9OworICAgIG1fb3JpZ1Zl
bG9jaXR5ID0geyB9OworICAgIHVwZGF0ZVJ1YmJlckJhbmRpbmdTdGF0ZSgpOworfQorCiB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9j
bGllbnQud2lsbFN0YXJ0UnViYmVyQmFuZFNuYXBBbmltYXRpb24oKTsKQEAgLTU4NCwxMSArNTg5
LDM3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6dXBkYXRlUnViYmVyQmFuZGluZ1N0YXRlKCkK
ICAgICBib29sIGlzUnViYmVyQmFuZGluZyA9IGlzUnViYmVyQmFuZEluUHJvZ3Jlc3NJbnRlcm5h
bCgpOwogICAgIGlmIChpc1J1YmJlckJhbmRpbmcgPT0gbV9pc1J1YmJlckJhbmRpbmcpCiAgICAg
ICAgIHJldHVybjsKLSAgICAKKwogICAgIG1faXNSdWJiZXJCYW5kaW5nID0gaXNSdWJiZXJCYW5k
aW5nOworICAgIGlmIChtX2lzUnViYmVyQmFuZGluZykKKyAgICAgICAgdXBkYXRlUnViYmVyQmFu
ZGluZ0VkZ2VzKG1fY2xpZW50LnN0cmV0Y2hBbW91bnQoKSk7CisgICAgZWxzZQorICAgICAgICBt
X3J1YmJlckJhbmRpbmdFZGdlcyA9IHsgfTsKKwogICAgIG1fY2xpZW50LnJ1YmJlckJhbmRpbmdT
dGF0ZUNoYW5nZWQobV9pc1J1YmJlckJhbmRpbmcpOwogfQogCit2b2lkIFNjcm9sbENvbnRyb2xs
ZXI6OnVwZGF0ZVJ1YmJlckJhbmRpbmdFZGdlcyhJbnRTaXplIGNsaWVudFN0cmV0Y2gpCit7Cisg
ICAgbV9ydWJiZXJCYW5kaW5nRWRnZXMuc2V0TGVmdChjbGllbnRTdHJldGNoLndpZHRoKCkgPCAw
KTsKKyAgICBtX3J1YmJlckJhbmRpbmdFZGdlcy5zZXRSaWdodChjbGllbnRTdHJldGNoLndpZHRo
KCkgPiAwKTsKKworICAgIG1fcnViYmVyQmFuZGluZ0VkZ2VzLnNldFRvcChjbGllbnRTdHJldGNo
LmhlaWdodCgpIDwgMCk7CisgICAgbV9ydWJiZXJCYW5kaW5nRWRnZXMuc2V0Qm90dG9tKGNsaWVu
dFN0cmV0Y2guaGVpZ2h0KCkgPiAwKTsKK30KKworYm9vbCBTY3JvbGxDb250cm9sbGVyOjpzY3Jv
bGxlZFRvUnViYmVyYmFuZGluZ0VkZ2UoKSBjb25zdAoreworICAgIGF1dG8gcGlubmVkRWRnZXMg
PSBtX2NsaWVudC5lZGdlUGlubmVkU3RhdGUoKTsKKyAgICAKKyAgICBmb3IgKGF1dG8gc2lkZSA6
IGFsbEJveFNpZGVzKSB7CisgICAgICAgIGlmIChtX3J1YmJlckJhbmRpbmdFZGdlc1tzaWRlXSAm
JiAhcGlubmVkRWRnZXNbc2lkZV0pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
ICAgIAorICAgIHJldHVybiB0cnVlOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKFJVQkJFUl9CQU5E
SU5HKQogCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKaW5kZXggNjJiMmJkMjk5OWVhNDBlODhi
YzBhYWQzMjRkNDdmNDQ2OTM4ODM1Mi4uNjRmMDhhYzU0N2I1MDI5MjhhY2FiY2FiMzYzOGU1Yzc1
MDE0ODgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFu
aW1hdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1h
dG9yTWFjLmgKQEAgLTE0Nyw2ICsxNDcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgYWxsb3dzSG9y
aXpvbnRhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgZmluYWw7
CiAgICAgYm9vbCBhbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JikgY29uc3QgZmluYWw7CiAgICAgYm9vbCBwaW5uZWRJbkRpcmVjdGlvbihjb25zdCBGbG9h
dFNpemUmKSBjb25zdCBmaW5hbDsKKyAgICBSZWN0RWRnZXM8Ym9vbD4gZWRnZVBpbm5lZFN0YXRl
KCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBjYW5TY3JvbGxIb3Jpem9udGFsbHkoKSBjb25zdCBm
aW5hbDsKICAgICBib29sIGNhblNjcm9sbFZlcnRpY2FsbHkoKSBjb25zdCBmaW5hbDsKICAgICBi
b29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IGZp
bmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1h
dG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFj
Lm1tCmluZGV4IDA5ZDgwNThiNWIyNTZiYzViNGM5YmE5ZDRhYjNhMWU1NWM3NGZkMWEuLmFlNmM1
MTcxNmQ2ZmU3NGFmZTE4Yzg1YTQzYWE3NzJkMzAyNDQxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KQEAgLTEzMTksNiArMTMxOSwx
MSBAQCBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpwaW5uZWRJbkRpcmVjdGlvbihjb25zdCBGbG9h
dFNpemUmIGRpcmVjdGlvbikgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK1JlY3RFZGdl
czxib29sPiBTY3JvbGxBbmltYXRvck1hYzo6ZWRnZVBpbm5lZFN0YXRlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYS5lZGdlUGlubmVkU3RhdGUoKTsKK30KKwogLy8gRklY
TUU6IFdlIHNob3VsZCBmaW5kIGEgd2F5IHRvIHNoYXJlIHNvbWUgb2YgdGhlIGNvZGUgZnJvbSBu
ZXdHZXN0dXJlSXNTdGFydGluZygpLCBpc0FscmVhZHlQaW5uZWRJbkRpcmVjdGlvbk9mR2VzdHVy
ZSgpLAogLy8gYWxsb3dzVmVydGljYWxTdHJldGNoaW5nKCksIGFuZCBhbGxvd3NIb3Jpem9udGFs
U3RyZXRjaGluZygpIHdpdGggdGhlIGltcGxlbWVudGF0aW9uIGluIFNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVNYWMuCiBzdGF0aWMgYm9vbCBuZXdHZXN0dXJlSXNTdGFydGluZyhjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbEFuaW1hdG9yTW9jay5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9TY3JvbGxBbmltYXRvck1vY2suaAppbmRleCBmNDcwOWYwZjliNWY1Njdk
MGE0MjEwOTBlZGVhZThiZWJmZTE4YjcwLi4wOWY1NjE3YTExYmYxNzgyZjgzNGE3MmFiNWNmNTA1
MWY3NTllZWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9s
bEFuaW1hdG9yTW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xs
QW5pbWF0b3JNb2NrLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIGFsbG93
c1ZlcnRpY2FsU3RyZXRjaGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIEludFNpemUgc3RyZXRjaEFtb3VudCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIEludFNpemUoKTsgfQogICAgIGJvb2wgcGlubmVkSW5EaXJlY3Rp
b24oY29uc3QgRmxvYXRTaXplJikgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAg
ICBSZWN0RWRnZXM8Ym9vbD4gZWRnZVBpbm5lZFN0YXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4geyB9OyB9CiAgICAgYm9vbCBjYW5TY3JvbGxIb3Jpem9udGFsbHkoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgY2FuU2Nyb2xsVmVydGljYWxseSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5E
aXJlY3Rpb24oU2Nyb2xsRGlyZWN0aW9uKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsg
fQo=
</data>
<flag name="commit-queue"
          id="429669"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413120</attachid>
            <date>2020-11-03 16:35:09 -0800</date>
            <delta_ts>2020-11-03 18:28:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218545-20201103163508.patch</filename>
            <type>text/plain</type>
            <size>26296</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODlmYTgyY2FiNTM2Mjg3
YmVhOTkzZGUxNWRmYWM3MTkyZDI3NDYwNy4uYTkxZmNhMzdjMjJhYmJkZmQ2NGJjMzhlNzA0YmZl
NzZkNTc5ODUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDIwLTExLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEEgcHJvZ3JhbW1h
dGljIHNjcm9sbCBzaG91bGQgc3RvcCBhbnkgcnViYmVyYmFuZGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTQ1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBQYXJ0IG9mIHJkYXI6Ly9w
cm9ibGVtLzY5NTk5NTMxOiBTY3JvbGxpbmcgb24gbmV0ZmxpeC5jb20gc29tZXRpbWVzIGp1bXBz
IHRvIHRoZSB0b3AuCisKKyAgICAgICAgSWYgdGhlIHNjcm9sbGluZyB0aHJlYWQgaXMgaW4gdGhl
IG1pZGRsZSBvZiBhIHJ1YmJlcmJhbmQgKHNheSwgd2hlbiBhIG1vZGFsIG92ZXJsYXkgaXMKKyAg
ICAgICAgdXApLCBhbmQgdGhlbiB0aGUgbWFpbiB0aHJlYWQgdHJpZ2dlcnMgYSBwcm9ncmFtbWF0
aWMgc2Nyb2xsIHRvIHNvbWUgb3RoZXIgbG9jYXRpb24sCisgICAgICAgIHdlIHNob3VsZCBzdG9w
IHJ1YmJlcmJhbmRpbmcgaW1tZWRpYXRlbHkuIElmIHdlIGRvbid0LCB0aGVuIHRoZSBydWJiZXJi
YW5kIHRpbWVyIAorICAgICAgICBjb250aW51ZXMgdG8gZ2VuZXJhdGUgc2Nyb2xscyBvbiB0aGUg
c2Nyb2xsaW5nIHRocmVhZCB3aGljaCBnZXQgdG8gdGhlIG1haW4gdGhyZWFkCisgICAgICAgIGFm
dGVyIGl0IGhhcyBoYW5kbGVkIHRoZSBwcm9ncmFtYXRpYyBzY3JvbGwsIHRodXMgcmVzZXR0aW5n
IHRoZSBzY3JvbGwgcG9zaXRpb24uCisKKyAgICAgICAgVGhpcyBjaGFuZ2Ugc2hhcmVzIHNvbWUg
ZWRnZVBpbm5lZFN0YXRlKCkgYXJvdW5kIHdoaWNoIGlzIHVzZWQgdG8gYWxsb3cgcnViYmVyYmFu
ZGluZworICAgICAgICB0byBjb250aW51ZSBvZiB0aGUgcHJvZ3JhbW1hdGljIHNjcm9sbCBpcyB0
byB0aGUgZWRnZSB3aGljaCBpcyBhbHJlYWR5IHBpbm5lZAorICAgICAgICAoY29tbW9ubHkgdGhl
IHRvcCkuCisKKyAgICAgICAgQWxzbyBhZGRyZXNzIHNvbWUgcmV2aWV3IGNvbW1lbnRzIGZyb20g
YSBwcmV2aW91cyBwYXRjaC4KKworICAgICAgICBWZXJ5IGhhcmQgdG8gbWFrZSB0ZXN0cyB0aGF0
IGRvIHRoaW5ncyB3aGlsZSBydWJiZXJiYW5kaW5nIGlzIGhhcHBlbmluZy4KKworICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZTo6YXBwbHlMYXllclBvc2l0aW9uc0ludGVybmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1RyZWU6OmFkZFBlbmRpbmdTY3JvbGxVcGRhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nVHJlZTo6dGFrZVBlbmRpbmdTY3JvbGxVcGRhdGVzKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsVG8pOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmN1cnJlbnRTY3JvbGxQb3Np
dGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNo
YW5nZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6Y3VycmVudFNjcm9sbFBv
c2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjOjplZGdlUGlubmVkU3RhdGUgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9y
Ojpub3RpZnlQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjplZGdlUGlubmVkU3Rh
dGUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAg
ICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250
cm9sbGVyOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQ29udHJvbGxlcjo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnN0b3BSdWJiZXJiYW5kaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnVwZGF0ZVJ1YmJlckJhbmRpbmdTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjp1cGRhdGVSdWJiZXJCYW5kaW5nRWRnZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c2Nyb2xsZWRUb1J1YmJlcmJhbmRpbmdF
ZGdlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6ZWRnZVBpbm5lZFN0YXRlIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL1Njcm9sbEFuaW1hdG9yTW9jay5oOgorCiAyMDIwLTExLTAyICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbCBw
b3NpdGlvbiBjYW4gZ2V0IHJlc2V0IGFmdGVyIHByb2dyYW1tYXRpYyBzY3JvbGwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggYTljMmM2
NTg5NGY4ZjM3MWVlZDA5MGEyYTU2MDNkMjhhZTQ5ZmQ2OS4uZjNiMTA5OGU3Njg4YTA4MGFjMmUx
YmIyNDZlNmM0M2QyMTQyN2ZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTQwMiw3ICs0MDIsNiBAQCB2b2lkIFNjcm9sbGluZ1Ry
ZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnNJbnRlcm5hbCgpCiAgICAgaWYgKCFtX3Jvb3ROb2RlKQog
ICAgICAgICByZXR1cm47CiAKLS8vICAgIExPRyhTY3JvbGxpbmcsICJcblNjcm9sbGluZ1RyZWUg
JXAgYXBwbHlMYXllclBvc2l0aW9ucyAobWFpbiB0aHJlYWQgJWQpIiwgdGhpcywgaXNNYWluVGhy
ZWFkKCkpOwogICAgIGFwcGx5TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoKm1fcm9vdE5vZGUpOwog
fQogCkBAIC01NzksNyArNTc4LDcgQEAgYm9vbCBTY3JvbGxpbmdUcmVlOjptYWluRnJhbWVDYW5S
dWJiZXJCYW5kSW5EaXJlY3Rpb24oU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKIAogdm9pZCBT
Y3JvbGxpbmdUcmVlOjphZGRQZW5kaW5nU2Nyb2xsVXBkYXRlKFNjcm9sbFVwZGF0ZSYmIHVwZGF0
ZSkKIHsKLSAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7
CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7
CiAgICAgZm9yIChhdXRvJiBleGlzdGluZ1VwZGF0ZSA6IG1fcGVuZGluZ1Njcm9sbFVwZGF0ZXMp
IHsKICAgICAgICAgaWYgKGV4aXN0aW5nVXBkYXRlLmNhbk1lcmdlKHVwZGF0ZSkpIHsKICAgICAg
ICAgICAgIGV4aXN0aW5nVXBkYXRlLm1lcmdlKFdURk1vdmUodXBkYXRlKSk7CkBAIC01OTIsNyAr
NTkxLDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjphZGRQZW5kaW5nU2Nyb2xsVXBkYXRlKFNjcm9s
bFVwZGF0ZSYmIHVwZGF0ZSkKIAogVmVjdG9yPFNjcm9sbGluZ1RyZWU6OlNjcm9sbFVwZGF0ZT4g
U2Nyb2xsaW5nVHJlZTo6dGFrZVBlbmRpbmdTY3JvbGxVcGRhdGVzKCkKIHsKLSAgICBMb2NrSG9s
ZGVyIGxvY2tlcihtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7CisgICAgYXV0byBsb2NrZXIg
PSBob2xkTG9jayhtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7CiAgICAgcmV0dXJuIHN0ZDo6
ZXhjaGFuZ2UobV9wZW5kaW5nU2Nyb2xsVXBkYXRlcywgeyB9KTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUuY3BwCmluZGV4IDk5OGMxOGNlNTFlMTIyNTUzZDQ3ZjRhYjZmZmNlZDRmZGY2NWMyNTYu
LjllMTBmNWU4NzMyNTZkMDFlMjM0YTc4MWU3N2FlZmU4NzE4Mzk4OGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZS5jcHAKQEAgLTI1OCwxOCArMjU4LDIwIEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGU6OnNjcm9sbFRvKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxUeXBl
CiAgICAgICAgIHJldHVybjsKIAogICAgIHNjcm9sbGluZ1RyZWUoKS5zZXRJc0hhbmRsaW5nUHJv
Z3JhbW1hdGljU2Nyb2xsKHNjcm9sbFR5cGUgPT0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKTsK
LSAgICAKKwogICAgIG1fY3VycmVudFNjcm9sbFBvc2l0aW9uID0gYWRqdXN0ZWRTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbiwgY2xhbXApOwogICAgIAotICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxp
bmcsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgIiA8PCBzY3JvbGxpbmdO
b2RlSUQoKSA8PCAiIHNjcm9sbFRvICIgPDwgcG9zaXRpb24gPDwgIiAoIiA8PCBzY3JvbGxUeXBl
IDw8ICIpIChkZWx0YSBmcm9tIGxhc3QgY29tbWl0dGVkIHBvc2l0aW9uICIgPDwgKG1fbGFzdENv
bW1pdHRlZFNjcm9sbFBvc2l0aW9uIC0gbV9jdXJyZW50U2Nyb2xsUG9zaXRpb24pIDw8ICIpIik7
CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZSAiIDw8IHNjcm9sbGluZ05vZGVJRCgpIDw8ICIgc2Nyb2xsVG8gIiA8PCBw
b3NpdGlvbiA8PCAiIGFkanVzdGVkIHRvICIKKyAgICAgICAgPDwgbV9jdXJyZW50U2Nyb2xsUG9z
aXRpb24gPDwgIiAoIiA8PCBzY3JvbGxUeXBlIDw8ICIpIChkZWx0YSBmcm9tIGxhc3QgY29tbWl0
dGVkIHBvc2l0aW9uICIgPDwgKG1fbGFzdENvbW1pdHRlZFNjcm9sbFBvc2l0aW9uIC0gbV9jdXJy
ZW50U2Nyb2xsUG9zaXRpb24pIDw8ICIpIgorICAgICAgICA8PCAiIHJ1YmJlcmJhbmRpbmcgIiA8
PCBzY3JvbGxpbmdUcmVlKCkuaXNSdWJiZXJCYW5kSW5Qcm9ncmVzc0Zvck5vZGUoc2Nyb2xsaW5n
Tm9kZUlEKCkpKTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0Rm9yQ3VycmVudFNjcm9sbFBvc2l0aW9u
KCk7Ci0gICAgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIGN1cnJlbnRTY3Jv
bGxQb3NpdGlvbkNoYW5nZWQoc2Nyb2xsVHlwZSk7CiAKICAgICBzY3JvbGxpbmdUcmVlKCkuc2V0
SXNIYW5kbGluZ1Byb2dyYW1tYXRpY1Njcm9sbChmYWxzZSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGU6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsaW5n
TGF5ZXJQb3NpdGlvbkFjdGlvbiBhY3Rpb24pCit2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xh
eWVyUG9zaXRpb25BY3Rpb24gYWN0aW9uKQogewogICAgIG1fc2Nyb2xsZWRTaW5jZUxhc3RDb21t
aXQgPSB0cnVlOwogICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9s
bCgqdGhpcywgYWN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDQ4ZjdjYzA3Mjc4NzVm
N2I2Y2RiMmJiOGJjZDAwZTNmMWIzNGM5ZDUuLmQzYzU3ODMxZGJmZjMyN2M3ZGRkODlhMGM3OTA2
MTRiMzFkMjM4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHBy
b3RlY3RlZDoKICAgICAKICAgICB2aXJ0dWFsIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3Np
dGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uID0gU2Nyb2xsaW5nTGF5ZXJQb3Np
dGlvbkFjdGlvbjo6U3luYyk7CisgICAgdmlydHVhbCB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlv
bkNoYW5nZWQoU2Nyb2xsVHlwZSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiA9IFNjcm9s
bGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlN5bmMpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVW
aWV3cG9ydEZvckN1cnJlbnRTY3JvbGxQb3NpdGlvbihPcHRpb25hbDxGbG9hdFJlY3Q+ID0geyB9
KSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsUG9zaXRpb25BbmRMYXlvdXRWaWV3cG9ydE1h
dGNoKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBPcHRpb25hbDxGbG9hdFJlY3Q+IG92ZXJy
aWRlTGF5b3V0Vmlld3BvcnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMuaAppbmRleCBmNTZiZWM2MjgwNDc4NmNlYTdmY2U0ODk0ZjRhN2IwNDFjOTViYjgwLi5m
NzRjYzY3OWUyNDlmZWIzNmVlZjdiZWRiYjY1M2NjMWU2NDA1MzkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJpdmF0ZToK
IAogICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JiwgU2Nyb2xsQ2xhbXBpbmcpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBjdXJyZW50U2Ny
b2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pIGZpbmFsOwor
ICAgIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlLCBTY3JvbGxp
bmdMYXllclBvc2l0aW9uQWN0aW9uKSBmaW5hbDsKICAgICB2b2lkIHJlcG9zaXRpb25TY3JvbGxp
bmdMYXllcnMoKSBmaW5hbDsKIAogICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVNYWMgbV9kZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWMubW0KaW5kZXggN2JlOTMxYTg5OTZkNGU2NGI0OGIzNmMyZjBhMDJjYTg1ODhmZmZmZi4uNWFh
N2QzMDEzOTI0NTNlMWFmNzg3M2UzMGE1ZTRlYjdhYzg4YTJhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KQEAgLTEzOSwxNiArMTM5LDE2IEBAIEZsb2F0
UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6YWRqdXN0ZWRTY3JvbGxQ
b3NpdGlvbihjb25zdCBGbG9hCiAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGU6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1wKTsKIH0K
IAotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xs
UG9zaXRpb25DaGFuZ2VkKFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gYWN0aW9uKQordm9p
ZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFj
dGlvbiBhY3Rpb24pCiB7Ci0gICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8
ICJTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkIHRvICIgPDwgY3VycmVudFNjcm9sbFBvc2l0aW9uKCkgPDwgIiBtaW46ICIgPDwg
bWluaW11bVNjcm9sbFBvc2l0aW9uKCkgPDwgIiBtYXg6ICIgPDwgbWF4aW11bVNjcm9sbFBvc2l0
aW9uKCkgPDwgIiBzeW5jOiAiIDw8IGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpKTsK
KyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8PCAiIGN1cnJlbnRT
Y3JvbGxQb3NpdGlvbkNoYW5nZWQgdG8gIiA8PCBjdXJyZW50U2Nyb2xsUG9zaXRpb24oKSA8PCAi
IG1pbjogIiA8PCBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSA8PCAiIG1heDogIiA8PCBtYXhpbXVt
U2Nyb2xsUG9zaXRpb24oKSA8PCAiIHN5bmM6ICIgPDwgaGFzU3luY2hyb25vdXNTY3JvbGxpbmdS
ZWFzb25zKCkpOwogCi0gICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KCk7CisgICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5
cGUpOwogCiAgICAgaWYgKGlzUm9vdE5vZGUoKSkKICAgICAgICAgdXBkYXRlTWFpbkZyYW1lUGlu
QW5kUnViYmVyYmFuZFN0YXRlKCk7CiAKLSAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5n
UmVhc29ucygpID8gU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U2V0IDogYWN0aW9uKTsK
KyAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKHNjcm9sbFR5cGUsIGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpID8g
U2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U2V0IDogYWN0aW9uKTsKIAogICAgIGlmIChz
Y3JvbGxpbmdUcmVlKCkuc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCgpKSB7CiAg
ICAgICAgIHVuc2lnbmVkIHVuZmlsbGVkQXJlYSA9IGV4cG9zZWRVbmZpbGxlZEFyZWEoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4IGEyYzNl
NmE3Y2VkZWQ3ODA0ZWQ5NWEzNTAzZDg3ZGJhNWQzNzU5OGYuLjZhOTI2ZTM4YWRhOWEzYzU2MzE4
ODlkZGIzYTZhNjU4ZGE0NzJjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Nj
cm9sbGluZ05vZGVNYWMuaApAQCAtNDcsNyArNDcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgCiAgICAg
RmxvYXRQb2ludCBhZGp1c3RlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3Jv
bGxDbGFtcGluZykgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3Np
dGlvbkNoYW5nZWQoU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbikgZmluYWw7CisgICAgdm9p
ZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVy
UG9zaXRpb25BY3Rpb24pIGZpbmFsOwogCiAgICAgdm9pZCByZXBvc2l0aW9uU2Nyb2xsaW5nTGF5
ZXJzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXBvc2l0aW9uUmVsYXRlZExheWVycygpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpp
bmRleCA2YjAyYjE2ZTEzMjJiMDE0ZGQ0OTczYjQ3ZWIwZmFkZGEzYzA3MTM5Li4xMDVkMDNkN2Iy
ZmEzYTY3NmFjMjY2ZmFkZTBiNGFiOTk1YWQ0N2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtODYsMTAgKzg2LDEwIEBAIFdoZWVsRXZl
bnRIYW5kbGluZ1Jlc3VsdCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpo
YW5kbGVXaGVlbEV2ZW50CiAgICAgcmV0dXJuIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdDo6cmVz
dWx0KG1fZGVsZWdhdGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KSk7CiB9CiAKLXZvaWQg
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y3VycmVudFNjcm9sbFBvc2l0
aW9uQ2hhbmdlZChTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uIGFjdGlvbikKK3ZvaWQgU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y3VycmVudFNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rp
b24gYWN0aW9uKQogewotICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmN1
cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoYWN0aW9uKTsKLSAgICBtX2RlbGVnYXRlLmN1cnJl
bnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoKTsKKyAgICBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5cGUsIGFjdGlv
bik7CisgICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5
cGUpOwogfQogCiBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVN
YWM6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1wKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjLmgKaW5kZXggZGFlNmE3OWI3NjcwMGVmZTcxNmZkZWY3ODllMDMyZjI1
ODYzMjVlOS4uNzE4ZmRhODRkZDM0OTFmM2QzMTBlODkxZjliNWMwMDEwZmUyYWFkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oCkBAIC01MSw3ICs1
MSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKTsKICAgICAKLSAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5n
ZWQoKTsKKyAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsVHlwZSk7
CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAgIHZvaWQgdXBkYXRlU2Nyb2xsU25h
cFBvaW50cyhTY3JvbGxFdmVudEF4aXMsIGNvbnN0IFZlY3RvcjxMYXlvdXRVbml0PiYsIGNvbnN0
IFZlY3RvcjxTY3JvbGxPZmZzZXRSYW5nZTxMYXlvdXRVbml0Pj4mKTsKQEAgLTc4LDYgKzc4LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIGFsbG93c1ZlcnRpY2FsU3RyZXRjaGluZyhjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmKSBjb25zdCBmaW5hbDsKICAgICBJbnRTaXplIHN0cmV0Y2hBbW91bnQo
KSBjb25zdCBmaW5hbDsKICAgICBib29sIHBpbm5lZEluRGlyZWN0aW9uKGNvbnN0IEZsb2F0U2l6
ZSYpIGNvbnN0IGZpbmFsOworICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlubmVkU3RhdGUoKSBj
b25zdCBmaW5hbDsKICAgICBib29sIGNhblNjcm9sbEhvcml6b250YWxseSgpIGNvbnN0IGZpbmFs
OwogICAgIGJvb2wgY2FuU2Nyb2xsVmVydGljYWxseSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wg
c2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFNjcm9sbERpcmVjdGlvbikgY29uc3QgZmluYWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCmluZGV4
IGM3ZmQyODJjN2FhZjRmNzFlZWI3YzVmMTEyM2E3ZGM1YTFhNmJiNjUuLjcxOWUwOWE1MDNkMTEx
NzM2YjY2N2ExYTFkODY1NmZjNGYwZDY4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCkBAIC0xNjAsOSArMTYwLDkgQEAgYm9vbCBTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBs
YXRmb3JtV2hlZWwKICAgICByZXR1cm4gaGFuZGxlZDsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKCkK
K3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6Y3VycmVudFNjcm9s
bFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlIHNjcm9sbFR5cGUpCiB7Ci0gICAgbV9zY3JvbGxD
b250cm9sbGVyLnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIG1fc2Nyb2xsQ29udHJvbGxl
ci5zY3JvbGxQb3NpdGlvbkNoYW5nZWQoc2Nyb2xsVHlwZSk7CiB9CiAKIGJvb2wgU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNv
bnN0CkBAIC0yOTEsNiArMjkxLDExIEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU1hYzo6cGlubmVkSW5EaXJlY3Rpb24oY29uc3QgRmxvYXRTaXplJiBkCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCitSZWN0RWRnZXM8Ym9vbD4gU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZU1hYzo6ZWRnZVBpbm5lZFN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc2Ny
b2xsaW5nTm9kZSgpLmVkZ2VQaW5uZWRTdGF0ZSgpOworfQorCiBib29sIFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmNhblNjcm9sbEhvcml6b250YWxseSgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIGhhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggZTFmNzk1NjM4OGY1YTgwZWNh
ODllZjZiN2I1OTM2YzMyYmE5NzllYi4uOWMxYzdhNmM3MGI2ZTA3NGI2YjVhMzYzYmNhYzNjYzBj
YmI0MmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApA
QCAtMjM1LDcgKzIzNSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6Om5vdGlmeVBvc2l0aW9uQ2hh
bmdlZChjb25zdCBGbG9hdFNpemUmIGRlbHRhKQogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Ny
b2xsT2Zmc2V0RnJvbUFuaW1hdGlvbihtX3Njcm9sbGFibGVBcmVhLnNjcm9sbE9mZnNldEZyb21Q
b3NpdGlvbihyb3VuZGVkSW50UG9pbnQoY3VycmVudFBvc2l0aW9uKCkpKSk7CiAKICNpZiBFTkFC
TEUoQ1NTX1NDUk9MTF9TTkFQKSB8fCBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCi0gICAgbV9zY3Jv
bGxDb250cm9sbGVyLnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIG1fc2Nyb2xsQ29udHJv
bGxlci5zY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKTsKICNl
bmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5k
ZXggNjZjODNlN2RkYTVkMGFkN2VmMDIxMDM0MWY1NGJmNTNhNDYyMDkyNS4uM2RmNWRjYmZhM2Fl
ZDJlNjc2YTNhNDg4ODI3MWQxNDg0YTgxYjI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmNwcApAQCAtNjI2LDYgKzYyNiwyMSBAQCBib29sIFNjcm9sbGFibGVB
cmVhOjppc1Bpbm5lZFZlcnRpY2FsbHlJbkRpcmVjdGlvbihpbnQgdmVydGljYWxTY3JvbGxEZWx0
YSkgY29ucwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorUmVjdEVkZ2VzPGJvb2w+IFNjcm9sbGFi
bGVBcmVhOjplZGdlUGlubmVkU3RhdGUoKSBjb25zdAoreworICAgIGF1dG8gc2Nyb2xsUG9zaXRp
b24gPSB0aGlzLT5zY3JvbGxQb3NpdGlvbigpOworICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRpb24g
PSBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKTsKKyAgICBhdXRvIG1heFNjcm9sbFBvc2l0aW9uID0g
bWF4aW11bVNjcm9sbFBvc2l0aW9uKCk7CisKKyAgICAvLyBUb3AsIHJpZ2h0LCBib3R0b20sIGxl
ZnQuCisgICAgcmV0dXJuIHsKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueSgpIDw9IG1pblNjcm9s
bFBvc2l0aW9uLnkoKSwKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueCgpID49IG1heFNjcm9sbFBv
c2l0aW9uLngoKSwKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueSgpID49IG1heFNjcm9sbFBvc2l0
aW9uLnkoKSwKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueCgpIDw9IG1pblNjcm9sbFBvc2l0aW9u
LngoKQorICAgIH07Cit9CisKIGludCBTY3JvbGxhYmxlQXJlYTo6aG9yaXpvbnRhbFNjcm9sbGJh
ckludHJ1c2lvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHZlcnRpY2FsU2Nyb2xsYmFyKCkgPyB2
ZXJ0aWNhbFNjcm9sbGJhcigpLT5vY2N1cGllZFdpZHRoKCkgOiAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggMzg3YWQyODVjMjBkZDhmZDVlYmEyN2Y2NjVl
ZWU4NTE4M2U3N2M2Zi4uMTBiNGNiODk3NGQ0ODVkZTQyNzYxODllZWFjMzY3YmFjNjhjNmI0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0yNSw2ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiUmVjdEVkZ2VzLmgiCiAjaW5jbHVkZSAi
U2Nyb2xsU25hcE9mZnNldHNJbmZvLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNs
dWRlICJTY3JvbGxiYXIuaCIKQEAgLTMyNyw2ICszMjgsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c1Bpbm5lZEhvcml6b250YWxseUluRGlyZWN0aW9uKGludCBob3Jpem9udGFsU2Nyb2xsRGVsdGEp
IGNvbnN0OyAKICAgICBib29sIGlzUGlubmVkVmVydGljYWxseUluRGlyZWN0aW9uKGludCB2ZXJ0
aWNhbFNjcm9sbERlbHRhKSBjb25zdDsKIAorICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlubmVk
U3RhdGUoKSBjb25zdDsKKwogICAgIC8vIFRydWUgaWYgc2Nyb2xsaW5nIGhhcHBlbnMgYnkgbW92
aW5nIGNvbXBvc2l0aW5nIGxheWVycy4KICAgICB2aXJ0dWFsIGJvb2wgdXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIC8vIFRydWUgaWYgdGhlIGNv
bnRlbnRzIGNhbiBiZSBzY3JvbGxlZCBhc3luY2hyb25vdXNseSAoaS5lLiBieSBhIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1Njcm9sbENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIuaAppbmRleCA2OWU2ZjAwZjk0YzAxZGJmZWQyNmUwYjkwOTI5MGMyOTMyZjY2
OGE4Li5mMjU1Yzk5NTg1M2U1NjFhNzVhZWQ4NzZiMmYwMWM5YzM5YmQxYTNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCkBAIC0yOSw2
ICsyOSw3IEBACiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRTaXpl
LmgiCisjaW5jbHVkZSAiUmVjdEVkZ2VzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNp
bmNsdWRlICJXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KQEAgLTc1LDcgKzc2LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dz
SG9yaXpvbnRhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW50JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgSW50U2l6ZSBzdHJldGNoQW1v
dW50KCkgY29uc3QgPSAwOworCiAgICAgdmlydHVhbCBib29sIHBpbm5lZEluRGlyZWN0aW9uKGNv
bnN0IEZsb2F0U2l6ZSYpIGNvbnN0ID0gMDsKKworICAgIHZpcnR1YWwgUmVjdEVkZ2VzPGJvb2w+
IGVkZ2VQaW5uZWRTdGF0ZSgpIGNvbnN0ID0gMDsKKwogICAgIHZpcnR1YWwgYm9vbCBjYW5TY3Jv
bGxIb3Jpem9udGFsbHkoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhblNjcm9sbFZl
cnRpY2FsbHkoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJ
bkRpcmVjdGlvbihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0ID0gMDsKQEAgLTE0Niw3ICsxNTEsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3Q7CiAgICAg
Ym9vbCBpc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3Q7CiAgICAgCi0gICAgdm9pZCBzY3Jv
bGxQb3NpdGlvbkNoYW5nZWQoKTsKKyAgICB2b2lkIHNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3Jv
bGxUeXBlKTsKIAogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgdm9pZCB1cGRhdGVT
Y3JvbGxTbmFwUG9pbnRzKFNjcm9sbEV2ZW50QXhpcywgY29uc3QgVmVjdG9yPExheW91dFVuaXQ+
JiwgY29uc3QgVmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPExheW91dFVuaXQ+PiYpOwpAQCAtMTcz
LDYgKzE3OCw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJ
TkcpCisgICAgdm9pZCBzdG9wUnViYmVyYmFuZGluZygpOworCiAgICAgdm9pZCBzdGFydFNuYXBS
dWJiZXJiYW5kVGltZXIoKTsKICAgICB2b2lkIHN0b3BTbmFwUnViYmVyYmFuZFRpbWVyKCk7CiAg
ICAgdm9pZCBzbmFwUnViYmVyQmFuZCgpOwpAQCAtMTgzLDYgKzE5MCw5IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIGlzUnViYmVyQmFuZEluUHJvZ3Jlc3NJbnRlcm5hbCgpIGNvbnN0OwogICAgIHZv
aWQgdXBkYXRlUnViYmVyQmFuZGluZ1N0YXRlKCk7CisgICAgdm9pZCB1cGRhdGVSdWJiZXJCYW5k
aW5nRWRnZXMoSW50U2l6ZSBjbGllbnRTdHJldGNoKTsKKyAgICAKKyAgICBib29sIHNjcm9sbGVk
VG9SdWJiZXJiYW5kaW5nRWRnZSgpIGNvbnN0OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1ND
Uk9MTF9TTkFQKQpAQCAtMjE1LDYgKzIyNSw3IEBAIHByaXZhdGU6CiAgICAgTW9ub3RvbmljVGlt
ZSBtX3N0YXJ0VGltZTsKICAgICBGbG9hdFNpemUgbV9zdGFydFN0cmV0Y2g7CiAgICAgRmxvYXRT
aXplIG1fb3JpZ1ZlbG9jaXR5OworICAgIFJlY3RFZGdlczxib29sPiBtX3J1YmJlckJhbmRpbmdF
ZGdlczsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsQ29udHJvbGxlclRpbWVyPiBtX3NuYXBS
dWJiZXJiYW5kVGltZXI7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXggZmNmYzM3ZDlmYjk4NmQ0ZGUxODc1NGIz
MWViMzA1YWVjZDU1NWRiMy4uN2MxNzA1YzJhM2Q5ZWVjYjBkZjU3ZTgwNGJjZDBhNGEzMTIzY2Qx
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJv
bGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLm1tCkBAIC00MDcsMjAgKzQwNywxNSBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNuYXBS
dWJiZXJCYW5kVGltZXJGaXJlZCgpCiAgICAgaWYgKGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIAorICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0
cmVhbSA8PCAiU2Nyb2xsQ29udHJvbGxlcjo6c25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKCkgLSBt
YWluIHRocmVhZCAiIDw8IGlzTWFpblRocmVhZCgpKTsKKwogICAgIGlmICghbV9tb21lbnR1bVNj
cm9sbEluUHJvZ3Jlc3MgfHwgbV9pZ25vcmVNb21lbnR1bVNjcm9sbHMpIHsKICAgICAgICAgYXV0
byB0aW1lRGVsdGEgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fc3RhcnRUaW1lOwogCiAgICAg
ICAgIGlmIChtX3N0YXJ0U3RyZXRjaC5pc1plcm8oKSkgewogICAgICAgICAgICAgbV9zdGFydFN0
cmV0Y2ggPSBtX2NsaWVudC5zdHJldGNoQW1vdW50KCk7CiAgICAgICAgICAgICBpZiAobV9zdGFy
dFN0cmV0Y2ggPT0gRmxvYXRTaXplKCkpIHsKLSAgICAgICAgICAgICAgICBzdG9wU25hcFJ1YmJl
cmJhbmRUaW1lcigpOwotCi0gICAgICAgICAgICAgICAgbV9zdHJldGNoU2Nyb2xsRm9yY2UgPSB7
IH07Ci0gICAgICAgICAgICAgICAgbV9zdGFydFRpbWUgPSB7IH07Ci0gICAgICAgICAgICAgICAg
bV9zdGFydFN0cmV0Y2ggPSB7IH07Ci0gICAgICAgICAgICAgICAgbV9vcmlnVmVsb2NpdHkgPSB7
IH07Ci0KLSAgICAgICAgICAgICAgICB1cGRhdGVSdWJiZXJCYW5kaW5nU3RhdGUoKTsKKyAgICAg
ICAgICAgICAgICBzdG9wUnViYmVyYmFuZGluZygpOwogICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIH0KIApAQCAtNDUxLDEyICs0NDYsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xs
ZXI6OnNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZCgpCiAgICAgICAgICAgICBtX3N0cmV0Y2hTY3Jv
bGxGb3JjZS5zZXRIZWlnaHQocmVib3VuZERlbHRhRm9yRWxhc3RpY0RlbHRhKG5ld1N0cmV0Y2gu
aGVpZ2h0KCkpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1fY2xpZW50LmFkanVz
dFNjcm9sbFBvc2l0aW9uVG9Cb3VuZHNJZk5lY2Vzc2FyeSgpOwotCi0gICAgICAgICAgICBzdG9w
U25hcFJ1YmJlcmJhbmRUaW1lcigpOwotICAgICAgICAgICAgbV9zdHJldGNoU2Nyb2xsRm9yY2Ug
PSB7IH07Ci0gICAgICAgICAgICBtX3N0YXJ0VGltZSA9IHsgfTsKLSAgICAgICAgICAgIG1fc3Rh
cnRTdHJldGNoID0geyB9OwotICAgICAgICAgICAgbV9vcmlnVmVsb2NpdHkgPSB7IH07CisgICAg
ICAgICAgICBzdG9wUnViYmVyYmFuZGluZygpOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKQEAgLTQ2OSwxMCArNDU5
LDE1IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKCkK
IH0KICNlbmRpZgogCi12b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjcm9sbFBvc2l0aW9uQ2hhbmdl
ZCgpCit2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxU
eXBlIHNjcm9sbFR5cGUpCiB7CiAjaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorICAgIGlmIChz
Y3JvbGxUeXBlID09IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYyAmJiAhc2Nyb2xsZWRUb1J1YmJl
cmJhbmRpbmdFZGdlKCkpCisgICAgICAgIHN0b3BSdWJiZXJiYW5kaW5nKCk7CisKICAgICB1cGRh
dGVSdWJiZXJCYW5kaW5nU3RhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNjcm9sbFR5
cGUpOwogI2VuZGlmCiB9CiAKQEAgLTUxNiw2ICs1MTEsMTYgQEAgYm9vbCBTY3JvbGxDb250cm9s
bGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIH0KIAogI2lmIEVOQUJMRShSVUJC
RVJfQkFORElORykKK3ZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RvcFJ1YmJlcmJhbmRpbmcoKQor
eworICAgIHN0b3BTbmFwUnViYmVyYmFuZFRpbWVyKCk7CisgICAgbV9zdHJldGNoU2Nyb2xsRm9y
Y2UgPSB7IH07CisgICAgbV9zdGFydFRpbWUgPSB7IH07CisgICAgbV9zdGFydFN0cmV0Y2ggPSB7
IH07CisgICAgbV9vcmlnVmVsb2NpdHkgPSB7IH07CisgICAgdXBkYXRlUnViYmVyQmFuZGluZ1N0
YXRlKCk7Cit9CisKIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRp
bWVyKCkKIHsKICAgICBtX2NsaWVudC53aWxsU3RhcnRSdWJiZXJCYW5kU25hcEFuaW1hdGlvbigp
OwpAQCAtNTg0LDExICs1ODksMzcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjp1cGRhdGVSdWJi
ZXJCYW5kaW5nU3RhdGUoKQogICAgIGJvb2wgaXNSdWJiZXJCYW5kaW5nID0gaXNSdWJiZXJCYW5k
SW5Qcm9ncmVzc0ludGVybmFsKCk7CiAgICAgaWYgKGlzUnViYmVyQmFuZGluZyA9PSBtX2lzUnVi
YmVyQmFuZGluZykKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgbV9pc1J1YmJlckJhbmRp
bmcgPSBpc1J1YmJlckJhbmRpbmc7CisgICAgaWYgKG1faXNSdWJiZXJCYW5kaW5nKQorICAgICAg
ICB1cGRhdGVSdWJiZXJCYW5kaW5nRWRnZXMobV9jbGllbnQuc3RyZXRjaEFtb3VudCgpKTsKKyAg
ICBlbHNlCisgICAgICAgIG1fcnViYmVyQmFuZGluZ0VkZ2VzID0geyB9OworCiAgICAgbV9jbGll
bnQucnViYmVyQmFuZGluZ1N0YXRlQ2hhbmdlZChtX2lzUnViYmVyQmFuZGluZyk7CiB9CiAKK3Zv
aWQgU2Nyb2xsQ29udHJvbGxlcjo6dXBkYXRlUnViYmVyQmFuZGluZ0VkZ2VzKEludFNpemUgY2xp
ZW50U3RyZXRjaCkKK3sKKyAgICBtX3J1YmJlckJhbmRpbmdFZGdlcy5zZXRMZWZ0KGNsaWVudFN0
cmV0Y2gud2lkdGgoKSA8IDApOworICAgIG1fcnViYmVyQmFuZGluZ0VkZ2VzLnNldFJpZ2h0KGNs
aWVudFN0cmV0Y2gud2lkdGgoKSA+IDApOworCisgICAgbV9ydWJiZXJCYW5kaW5nRWRnZXMuc2V0
VG9wKGNsaWVudFN0cmV0Y2guaGVpZ2h0KCkgPCAwKTsKKyAgICBtX3J1YmJlckJhbmRpbmdFZGdl
cy5zZXRCb3R0b20oY2xpZW50U3RyZXRjaC5oZWlnaHQoKSA+IDApOworfQorCitib29sIFNjcm9s
bENvbnRyb2xsZXI6OnNjcm9sbGVkVG9SdWJiZXJiYW5kaW5nRWRnZSgpIGNvbnN0Cit7CisgICAg
YXV0byBwaW5uZWRFZGdlcyA9IG1fY2xpZW50LmVkZ2VQaW5uZWRTdGF0ZSgpOworICAgIAorICAg
IGZvciAoYXV0byBzaWRlIDogYWxsQm94U2lkZXMpIHsKKyAgICAgICAgaWYgKG1fcnViYmVyQmFu
ZGluZ0VkZ2VzW3NpZGVdICYmICFwaW5uZWRFZGdlc1tzaWRlXSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIHRydWU7Cit9CisKICNlbmRpZiAvLyBF
TkFCTEUoUlVCQkVSX0JBTkRJTkcpCiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAppbmRleCA2
MmIyYmQyOTk5ZWE0MGU4OGJjMGFhZDMyNGQ0N2Y0NDY5Mzg4MzUyLi42NGYwOGFjNTQ3YjUwMjky
OGFjYWJjYWIzNjM4ZTVjNzUwMTQ4ODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaApAQCAtMTQ3LDYgKzE0Nyw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBhbGxvd3NIb3Jpem9udGFsU3RyZXRjaGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZl
bnQmKSBjb25zdCBmaW5hbDsKICAgICBib29sIGFsbG93c1ZlcnRpY2FsU3RyZXRjaGluZyhjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdCBmaW5hbDsKICAgICBib29sIHBpbm5lZEluRGly
ZWN0aW9uKGNvbnN0IEZsb2F0U2l6ZSYpIGNvbnN0IGZpbmFsOworICAgIFJlY3RFZGdlczxib29s
PiBlZGdlUGlubmVkU3RhdGUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGNhblNjcm9sbEhvcml6
b250YWxseSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgY2FuU2Nyb2xsVmVydGljYWxseSgpIGNv
bnN0IGZpbmFsOwogICAgIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFNjcm9sbERp
cmVjdGlvbikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggMDlkODA1OGI1YjI1NmJjNWI0YzliYTlkNGFiM2Ex
ZTU1Yzc0ZmQxYS4uYWU2YzUxNzE2ZDZmZTc0YWZlMThjODVhNDNhYTc3MmQzMDI0NDE4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpA
QCAtMTMxOSw2ICsxMzE5LDExIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JNYWM6OnBpbm5lZEluRGly
ZWN0aW9uKGNvbnN0IEZsb2F0U2l6ZSYgZGlyZWN0aW9uKSBjb25zdAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorUmVjdEVkZ2VzPGJvb2w+IFNjcm9sbEFuaW1hdG9yTWFjOjplZGdlUGlubmVkU3Rh
dGUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGFibGVBcmVhLmVkZ2VQaW5uZWRTdGF0
ZSgpOworfQorCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQgYSB3YXkgdG8gc2hhcmUgc29tZSBv
ZiB0aGUgY29kZSBmcm9tIG5ld0dlc3R1cmVJc1N0YXJ0aW5nKCksIGlzQWxyZWFkeVBpbm5lZElu
RGlyZWN0aW9uT2ZHZXN0dXJlKCksCiAvLyBhbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmcoKSwgYW5k
IGFsbG93c0hvcml6b250YWxTdHJldGNoaW5nKCkgd2l0aCB0aGUgaW1wbGVtZW50YXRpb24gaW4g
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy4KIHN0YXRpYyBib29sIG5ld0dlc3R1
cmVJc1N0YXJ0aW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xsQW5pbWF0b3JNb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbEFuaW1hdG9yTW9jay5oCmluZGV4
IGY0NzA5ZjBmOWI1ZjU2N2QwYTQyMTA5MGVkZWFlOGJlYmZlMThiNzAuLjA5ZjU2MTdhMTFiZjE3
ODJmODM0YTcyYWI1Y2Y1MDUxZjc1OWVlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svU2Nyb2xsQW5pbWF0b3JNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9TY3JvbGxBbmltYXRvck1vY2suaApAQCAtNDksNiArNDksNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgYWxsb3dzVmVydGljYWxTdHJldGNoaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgSW50U2l6ZSBzdHJl
dGNoQW1vdW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gSW50U2l6ZSgpOyB9CiAgICAgYm9v
bCBwaW5uZWRJbkRpcmVjdGlvbihjb25zdCBGbG9hdFNpemUmKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlubmVkU3RhdGUoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiB7IH07IH0KICAgICBib29sIGNhblNjcm9sbEhvcml6b250YWxs
eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5TY3JvbGxW
ZXJ0aWNhbGx5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIHNo
b3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413132</attachid>
            <date>2020-11-03 18:28:13 -0800</date>
            <delta_ts>2020-11-04 10:45:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218545-20201103182812.patch</filename>
            <type>text/plain</type>
            <size>28681</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODlmYTgyY2FiNTM2Mjg3
YmVhOTkzZGUxNWRmYWM3MTkyZDI3NDYwNy4uYTkxZmNhMzdjMjJhYmJkZmQ2NGJjMzhlNzA0YmZl
NzZkNTc5ODUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDIwLTExLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEEgcHJvZ3JhbW1h
dGljIHNjcm9sbCBzaG91bGQgc3RvcCBhbnkgcnViYmVyYmFuZGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NTQ1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBQYXJ0IG9mIHJkYXI6Ly9w
cm9ibGVtLzY5NTk5NTMxOiBTY3JvbGxpbmcgb24gbmV0ZmxpeC5jb20gc29tZXRpbWVzIGp1bXBz
IHRvIHRoZSB0b3AuCisKKyAgICAgICAgSWYgdGhlIHNjcm9sbGluZyB0aHJlYWQgaXMgaW4gdGhl
IG1pZGRsZSBvZiBhIHJ1YmJlcmJhbmQgKHNheSwgd2hlbiBhIG1vZGFsIG92ZXJsYXkgaXMKKyAg
ICAgICAgdXApLCBhbmQgdGhlbiB0aGUgbWFpbiB0aHJlYWQgdHJpZ2dlcnMgYSBwcm9ncmFtbWF0
aWMgc2Nyb2xsIHRvIHNvbWUgb3RoZXIgbG9jYXRpb24sCisgICAgICAgIHdlIHNob3VsZCBzdG9w
IHJ1YmJlcmJhbmRpbmcgaW1tZWRpYXRlbHkuIElmIHdlIGRvbid0LCB0aGVuIHRoZSBydWJiZXJi
YW5kIHRpbWVyIAorICAgICAgICBjb250aW51ZXMgdG8gZ2VuZXJhdGUgc2Nyb2xscyBvbiB0aGUg
c2Nyb2xsaW5nIHRocmVhZCB3aGljaCBnZXQgdG8gdGhlIG1haW4gdGhyZWFkCisgICAgICAgIGFm
dGVyIGl0IGhhcyBoYW5kbGVkIHRoZSBwcm9ncmFtYXRpYyBzY3JvbGwsIHRodXMgcmVzZXR0aW5n
IHRoZSBzY3JvbGwgcG9zaXRpb24uCisKKyAgICAgICAgVGhpcyBjaGFuZ2Ugc2hhcmVzIHNvbWUg
ZWRnZVBpbm5lZFN0YXRlKCkgYXJvdW5kIHdoaWNoIGlzIHVzZWQgdG8gYWxsb3cgcnViYmVyYmFu
ZGluZworICAgICAgICB0byBjb250aW51ZSBvZiB0aGUgcHJvZ3JhbW1hdGljIHNjcm9sbCBpcyB0
byB0aGUgZWRnZSB3aGljaCBpcyBhbHJlYWR5IHBpbm5lZAorICAgICAgICAoY29tbW9ubHkgdGhl
IHRvcCkuCisKKyAgICAgICAgQWxzbyBhZGRyZXNzIHNvbWUgcmV2aWV3IGNvbW1lbnRzIGZyb20g
YSBwcmV2aW91cyBwYXRjaC4KKworICAgICAgICBWZXJ5IGhhcmQgdG8gbWFrZSB0ZXN0cyB0aGF0
IGRvIHRoaW5ncyB3aGlsZSBydWJiZXJiYW5kaW5nIGlzIGhhcHBlbmluZy4KKworICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZTo6YXBwbHlMYXllclBvc2l0aW9uc0ludGVybmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1RyZWU6OmFkZFBlbmRpbmdTY3JvbGxVcGRhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nVHJlZTo6dGFrZVBlbmRpbmdTY3JvbGxVcGRhdGVzKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsVG8pOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmN1cnJlbnRTY3JvbGxQb3Np
dGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNo
YW5nZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6Y3VycmVudFNjcm9sbFBv
c2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjOjplZGdlUGlubmVkU3RhdGUgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9y
Ojpub3RpZnlQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjplZGdlUGlubmVkU3Rh
dGUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAg
ICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250
cm9sbGVyOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQ29udHJvbGxlcjo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnN0b3BSdWJiZXJiYW5kaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnVwZGF0ZVJ1YmJlckJhbmRpbmdTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjp1cGRhdGVSdWJiZXJCYW5kaW5nRWRnZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c2Nyb2xsZWRUb1J1YmJlcmJhbmRpbmdF
ZGdlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6ZWRnZVBpbm5lZFN0YXRlIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL1Njcm9sbEFuaW1hdG9yTW9jay5oOgorCiAyMDIwLTExLTAyICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbCBw
b3NpdGlvbiBjYW4gZ2V0IHJlc2V0IGFmdGVyIHByb2dyYW1tYXRpYyBzY3JvbGwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggYTljMmM2
NTg5NGY4ZjM3MWVlZDA5MGEyYTU2MDNkMjhhZTQ5ZmQ2OS4uZjNiMTA5OGU3Njg4YTA4MGFjMmUx
YmIyNDZlNmM0M2QyMTQyN2ZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTQwMiw3ICs0MDIsNiBAQCB2b2lkIFNjcm9sbGluZ1Ry
ZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnNJbnRlcm5hbCgpCiAgICAgaWYgKCFtX3Jvb3ROb2RlKQog
ICAgICAgICByZXR1cm47CiAKLS8vICAgIExPRyhTY3JvbGxpbmcsICJcblNjcm9sbGluZ1RyZWUg
JXAgYXBwbHlMYXllclBvc2l0aW9ucyAobWFpbiB0aHJlYWQgJWQpIiwgdGhpcywgaXNNYWluVGhy
ZWFkKCkpOwogICAgIGFwcGx5TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoKm1fcm9vdE5vZGUpOwog
fQogCkBAIC01NzksNyArNTc4LDcgQEAgYm9vbCBTY3JvbGxpbmdUcmVlOjptYWluRnJhbWVDYW5S
dWJiZXJCYW5kSW5EaXJlY3Rpb24oU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbikKIAogdm9pZCBT
Y3JvbGxpbmdUcmVlOjphZGRQZW5kaW5nU2Nyb2xsVXBkYXRlKFNjcm9sbFVwZGF0ZSYmIHVwZGF0
ZSkKIHsKLSAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7
CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7
CiAgICAgZm9yIChhdXRvJiBleGlzdGluZ1VwZGF0ZSA6IG1fcGVuZGluZ1Njcm9sbFVwZGF0ZXMp
IHsKICAgICAgICAgaWYgKGV4aXN0aW5nVXBkYXRlLmNhbk1lcmdlKHVwZGF0ZSkpIHsKICAgICAg
ICAgICAgIGV4aXN0aW5nVXBkYXRlLm1lcmdlKFdURk1vdmUodXBkYXRlKSk7CkBAIC01OTIsNyAr
NTkxLDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjphZGRQZW5kaW5nU2Nyb2xsVXBkYXRlKFNjcm9s
bFVwZGF0ZSYmIHVwZGF0ZSkKIAogVmVjdG9yPFNjcm9sbGluZ1RyZWU6OlNjcm9sbFVwZGF0ZT4g
U2Nyb2xsaW5nVHJlZTo6dGFrZVBlbmRpbmdTY3JvbGxVcGRhdGVzKCkKIHsKLSAgICBMb2NrSG9s
ZGVyIGxvY2tlcihtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7CisgICAgYXV0byBsb2NrZXIg
PSBob2xkTG9jayhtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jayk7CiAgICAgcmV0dXJuIHN0ZDo6
ZXhjaGFuZ2UobV9wZW5kaW5nU2Nyb2xsVXBkYXRlcywgeyB9KTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUuY3BwCmluZGV4IDk5OGMxOGNlNTFlMTIyNTUzZDQ3ZjRhYjZmZmNlZDRmZGY2NWMyNTYu
LjllMTBmNWU4NzMyNTZkMDFlMjM0YTc4MWU3N2FlZmU4NzE4Mzk4OGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZS5jcHAKQEAgLTI1OCwxOCArMjU4LDIwIEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGU6OnNjcm9sbFRvKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxUeXBl
CiAgICAgICAgIHJldHVybjsKIAogICAgIHNjcm9sbGluZ1RyZWUoKS5zZXRJc0hhbmRsaW5nUHJv
Z3JhbW1hdGljU2Nyb2xsKHNjcm9sbFR5cGUgPT0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKTsK
LSAgICAKKwogICAgIG1fY3VycmVudFNjcm9sbFBvc2l0aW9uID0gYWRqdXN0ZWRTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbiwgY2xhbXApOwogICAgIAotICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxp
bmcsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgIiA8PCBzY3JvbGxpbmdO
b2RlSUQoKSA8PCAiIHNjcm9sbFRvICIgPDwgcG9zaXRpb24gPDwgIiAoIiA8PCBzY3JvbGxUeXBl
IDw8ICIpIChkZWx0YSBmcm9tIGxhc3QgY29tbWl0dGVkIHBvc2l0aW9uICIgPDwgKG1fbGFzdENv
bW1pdHRlZFNjcm9sbFBvc2l0aW9uIC0gbV9jdXJyZW50U2Nyb2xsUG9zaXRpb24pIDw8ICIpIik7
CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZSAiIDw8IHNjcm9sbGluZ05vZGVJRCgpIDw8ICIgc2Nyb2xsVG8gIiA8PCBw
b3NpdGlvbiA8PCAiIGFkanVzdGVkIHRvICIKKyAgICAgICAgPDwgbV9jdXJyZW50U2Nyb2xsUG9z
aXRpb24gPDwgIiAoIiA8PCBzY3JvbGxUeXBlIDw8ICIpIChkZWx0YSBmcm9tIGxhc3QgY29tbWl0
dGVkIHBvc2l0aW9uICIgPDwgKG1fbGFzdENvbW1pdHRlZFNjcm9sbFBvc2l0aW9uIC0gbV9jdXJy
ZW50U2Nyb2xsUG9zaXRpb24pIDw8ICIpIgorICAgICAgICA8PCAiIHJ1YmJlcmJhbmRpbmcgIiA8
PCBzY3JvbGxpbmdUcmVlKCkuaXNSdWJiZXJCYW5kSW5Qcm9ncmVzc0Zvck5vZGUoc2Nyb2xsaW5n
Tm9kZUlEKCkpKTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0Rm9yQ3VycmVudFNjcm9sbFBvc2l0aW9u
KCk7Ci0gICAgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIGN1cnJlbnRTY3Jv
bGxQb3NpdGlvbkNoYW5nZWQoc2Nyb2xsVHlwZSk7CiAKICAgICBzY3JvbGxpbmdUcmVlKCkuc2V0
SXNIYW5kbGluZ1Byb2dyYW1tYXRpY1Njcm9sbChmYWxzZSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGU6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsaW5n
TGF5ZXJQb3NpdGlvbkFjdGlvbiBhY3Rpb24pCit2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xh
eWVyUG9zaXRpb25BY3Rpb24gYWN0aW9uKQogewogICAgIG1fc2Nyb2xsZWRTaW5jZUxhc3RDb21t
aXQgPSB0cnVlOwogICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9s
bCgqdGhpcywgYWN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDQ4ZjdjYzA3Mjc4NzVm
N2I2Y2RiMmJiOGJjZDAwZTNmMWIzNGM5ZDUuLmQzYzU3ODMxZGJmZjMyN2M3ZGRkODlhMGM3OTA2
MTRiMzFkMjM4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHBy
b3RlY3RlZDoKICAgICAKICAgICB2aXJ0dWFsIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3Np
dGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uID0gU2Nyb2xsaW5nTGF5ZXJQb3Np
dGlvbkFjdGlvbjo6U3luYyk7CisgICAgdmlydHVhbCB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlv
bkNoYW5nZWQoU2Nyb2xsVHlwZSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiA9IFNjcm9s
bGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlN5bmMpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVW
aWV3cG9ydEZvckN1cnJlbnRTY3JvbGxQb3NpdGlvbihPcHRpb25hbDxGbG9hdFJlY3Q+ID0geyB9
KSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsUG9zaXRpb25BbmRMYXlvdXRWaWV3cG9ydE1h
dGNoKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBPcHRpb25hbDxGbG9hdFJlY3Q+IG92ZXJy
aWRlTGF5b3V0Vmlld3BvcnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMuaAppbmRleCBmNTZiZWM2MjgwNDc4NmNlYTdmY2U0ODk0ZjRhN2IwNDFjOTViYjgwLi5m
NzRjYzY3OWUyNDlmZWIzNmVlZjdiZWRiYjY1M2NjMWU2NDA1MzkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJpdmF0ZToK
IAogICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JiwgU2Nyb2xsQ2xhbXBpbmcpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBjdXJyZW50U2Ny
b2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pIGZpbmFsOwor
ICAgIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlLCBTY3JvbGxp
bmdMYXllclBvc2l0aW9uQWN0aW9uKSBmaW5hbDsKICAgICB2b2lkIHJlcG9zaXRpb25TY3JvbGxp
bmdMYXllcnMoKSBmaW5hbDsKIAogICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVNYWMgbV9kZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWMubW0KaW5kZXggN2JlOTMxYTg5OTZkNGU2NGI0OGIzNmMyZjBhMDJjYTg1ODhmZmZmZi4uNWFh
N2QzMDEzOTI0NTNlMWFmNzg3M2UzMGE1ZTRlYjdhYzg4YTJhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KQEAgLTEzOSwxNiArMTM5LDE2IEBAIEZsb2F0
UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6YWRqdXN0ZWRTY3JvbGxQ
b3NpdGlvbihjb25zdCBGbG9hCiAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGU6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1wKTsKIH0K
IAotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xs
UG9zaXRpb25DaGFuZ2VkKFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gYWN0aW9uKQordm9p
ZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFj
dGlvbiBhY3Rpb24pCiB7Ci0gICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8
ICJTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkIHRvICIgPDwgY3VycmVudFNjcm9sbFBvc2l0aW9uKCkgPDwgIiBtaW46ICIgPDwg
bWluaW11bVNjcm9sbFBvc2l0aW9uKCkgPDwgIiBtYXg6ICIgPDwgbWF4aW11bVNjcm9sbFBvc2l0
aW9uKCkgPDwgIiBzeW5jOiAiIDw8IGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpKTsK
KyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8PCAiIGN1cnJlbnRT
Y3JvbGxQb3NpdGlvbkNoYW5nZWQgdG8gIiA8PCBjdXJyZW50U2Nyb2xsUG9zaXRpb24oKSA8PCAi
IG1pbjogIiA8PCBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSA8PCAiIG1heDogIiA8PCBtYXhpbXVt
U2Nyb2xsUG9zaXRpb24oKSA8PCAiIHN5bmM6ICIgPDwgaGFzU3luY2hyb25vdXNTY3JvbGxpbmdS
ZWFzb25zKCkpOwogCi0gICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KCk7CisgICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5
cGUpOwogCiAgICAgaWYgKGlzUm9vdE5vZGUoKSkKICAgICAgICAgdXBkYXRlTWFpbkZyYW1lUGlu
QW5kUnViYmVyYmFuZFN0YXRlKCk7CiAKLSAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5n
UmVhc29ucygpID8gU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U2V0IDogYWN0aW9uKTsK
KyAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKHNjcm9sbFR5cGUsIGhhc1N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpID8g
U2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U2V0IDogYWN0aW9uKTsKIAogICAgIGlmIChz
Y3JvbGxpbmdUcmVlKCkuc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCgpKSB7CiAg
ICAgICAgIHVuc2lnbmVkIHVuZmlsbGVkQXJlYSA9IGV4cG9zZWRVbmZpbGxlZEFyZWEoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4IGEyYzNl
NmE3Y2VkZWQ3ODA0ZWQ5NWEzNTAzZDg3ZGJhNWQzNzU5OGYuLjZhOTI2ZTM4YWRhOWEzYzU2MzE4
ODlkZGIzYTZhNjU4ZGE0NzJjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Nj
cm9sbGluZ05vZGVNYWMuaApAQCAtNDcsNyArNDcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgCiAgICAg
RmxvYXRQb2ludCBhZGp1c3RlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3Jv
bGxDbGFtcGluZykgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3Np
dGlvbkNoYW5nZWQoU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbikgZmluYWw7CisgICAgdm9p
ZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVy
UG9zaXRpb25BY3Rpb24pIGZpbmFsOwogCiAgICAgdm9pZCByZXBvc2l0aW9uU2Nyb2xsaW5nTGF5
ZXJzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXBvc2l0aW9uUmVsYXRlZExheWVycygpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpp
bmRleCA2YjAyYjE2ZTEzMjJiMDE0ZGQ0OTczYjQ3ZWIwZmFkZGEzYzA3MTM5Li4xMDVkMDNkN2Iy
ZmEzYTY3NmFjMjY2ZmFkZTBiNGFiOTk1YWQ0N2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtODYsMTAgKzg2LDEwIEBAIFdoZWVsRXZl
bnRIYW5kbGluZ1Jlc3VsdCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpo
YW5kbGVXaGVlbEV2ZW50CiAgICAgcmV0dXJuIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdDo6cmVz
dWx0KG1fZGVsZWdhdGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KSk7CiB9CiAKLXZvaWQg
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y3VycmVudFNjcm9sbFBvc2l0
aW9uQ2hhbmdlZChTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uIGFjdGlvbikKK3ZvaWQgU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y3VycmVudFNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rp
b24gYWN0aW9uKQogewotICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmN1
cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoYWN0aW9uKTsKLSAgICBtX2RlbGVnYXRlLmN1cnJl
bnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoKTsKKyAgICBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5cGUsIGFjdGlv
bik7CisgICAgbV9kZWxlZ2F0ZS5jdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKHNjcm9sbFR5
cGUpOwogfQogCiBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVN
YWM6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFNj
cm9sbENsYW1waW5nIGNsYW1wKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjLmgKaW5kZXggZGFlNmE3OWI3NjcwMGVmZTcxNmZkZWY3ODllMDMyZjI1
ODYzMjVlOS4uNzE4ZmRhODRkZDM0OTFmM2QzMTBlODkxZjliNWMwMDEwZmUyYWFkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oCkBAIC01MSw3ICs1
MSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKTsKICAgICAKLSAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5n
ZWQoKTsKKyAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsVHlwZSk7
CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAgIHZvaWQgdXBkYXRlU2Nyb2xsU25h
cFBvaW50cyhTY3JvbGxFdmVudEF4aXMsIGNvbnN0IFZlY3RvcjxMYXlvdXRVbml0PiYsIGNvbnN0
IFZlY3RvcjxTY3JvbGxPZmZzZXRSYW5nZTxMYXlvdXRVbml0Pj4mKTsKQEAgLTc4LDYgKzc4LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIGFsbG93c1ZlcnRpY2FsU3RyZXRjaGluZyhjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmKSBjb25zdCBmaW5hbDsKICAgICBJbnRTaXplIHN0cmV0Y2hBbW91bnQo
KSBjb25zdCBmaW5hbDsKICAgICBib29sIHBpbm5lZEluRGlyZWN0aW9uKGNvbnN0IEZsb2F0U2l6
ZSYpIGNvbnN0IGZpbmFsOworICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlubmVkU3RhdGUoKSBj
b25zdCBmaW5hbDsKICAgICBib29sIGNhblNjcm9sbEhvcml6b250YWxseSgpIGNvbnN0IGZpbmFs
OwogICAgIGJvb2wgY2FuU2Nyb2xsVmVydGljYWxseSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wg
c2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFNjcm9sbERpcmVjdGlvbikgY29uc3QgZmluYWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCmluZGV4
IGM3ZmQyODJjN2FhZjRmNzFlZWI3YzVmMTEyM2E3ZGM1YTFhNmJiNjUuLjcxOWUwOWE1MDNkMTEx
NzM2YjY2N2ExYTFkODY1NmZjNGYwZDY4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCkBAIC0xNjAsOSArMTYwLDkgQEAgYm9vbCBTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBs
YXRmb3JtV2hlZWwKICAgICByZXR1cm4gaGFuZGxlZDsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKCkK
K3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6Y3VycmVudFNjcm9s
bFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlIHNjcm9sbFR5cGUpCiB7Ci0gICAgbV9zY3JvbGxD
b250cm9sbGVyLnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIG1fc2Nyb2xsQ29udHJvbGxl
ci5zY3JvbGxQb3NpdGlvbkNoYW5nZWQoc2Nyb2xsVHlwZSk7CiB9CiAKIGJvb2wgU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNv
bnN0CkBAIC0yOTEsNiArMjkxLDExIEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU1hYzo6cGlubmVkSW5EaXJlY3Rpb24oY29uc3QgRmxvYXRTaXplJiBkCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCitSZWN0RWRnZXM8Ym9vbD4gU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZU1hYzo6ZWRnZVBpbm5lZFN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc2Ny
b2xsaW5nTm9kZSgpLmVkZ2VQaW5uZWRTdGF0ZSgpOworfQorCiBib29sIFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmNhblNjcm9sbEhvcml6b250YWxseSgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIGhhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwCmluZGV4
IDc3MzFiNzU0ZjNkN2JhNmQyODNkZTYwNjExOGRiYzk5MTM5N2IxZmQuLjIyMTlhNzBiMGNhODZm
NTlmYTdiNzViMjM5MmIzNzNkNDZmYjdjYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29z
aWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwCkBAIC0yNDUsMTEgKzI0NSwxMSBA
QCBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhOjphZGp1
c3RlZFNjcm9sbFBvc2l0aW9uKGNvbnN0CiAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGU6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGNsYW1w
aW5nKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYTo6
Y3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9u
IGFjdGlvbikKK3ZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWE6OmN1
cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxp
bmdMYXllclBvc2l0aW9uQWN0aW9uIGFjdGlvbikKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Ny
b2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lh
OjpjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkIHRvICIgPDwgY3VycmVudFNjcm9sbFBvc2l0
aW9uKCkgPDwgIiBtaW46ICIgPDwgbWluaW11bVNjcm9sbFBvc2l0aW9uKCkgPDwgIiBtYXg6ICIg
PDwgbWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgPDwgIiBzeW5jOiAiIDw8IGhhc1N5bmNocm9ub3Vz
U2Nyb2xsaW5nUmVhc29ucygpKTsKIAotICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGU6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoaGFzU3luY2hyb25vdXNTY3JvbGxpbmdS
ZWFzb25zKCkgPyBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOjpTZXQgOiBhY3Rpb24pOwor
ICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OmN1cnJlbnRTY3JvbGxQb3NpdGlv
bkNoYW5nZWQoc2Nyb2xsVHlwZSwgaGFzU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKCkgPyBT
Y3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOjpTZXQgOiBhY3Rpb24pOwogfQogCiB2b2lkIFNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhOjpyZXBvc2l0aW9uU2Nyb2xsaW5n
TGF5ZXJzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29z
aWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZU5pY29zaWEuaAppbmRleCA2MDQwNzk4ODA2MTEyZWU2ZWM4MjU4MjYyNTc4Yzk0MzRjYmQ3ZDFm
Li5kNzNjMDAxMDg1MGZmMDgyNzZlMmU3MzhjZTIzN2FiMmQ2YmJkMjliIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVOaWNvc2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bmljb3NpYS9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYS5oCkBAIC02Niw3
ICs2Niw3IEBAIHByaXZhdGU6CiAKICAgICBGbG9hdFBvaW50IGFkanVzdGVkU2Nyb2xsUG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbENsYW1waW5nKSBjb25zdCBvdmVycmlkZTsKIAot
ICAgIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxpbmdMYXllclBvc2l0
aW9uQWN0aW9uKSBvdmVycmlkZTsKKyAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5n
ZWQoU2Nyb2xsVHlwZSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbikgb3ZlcnJpZGU7CiAK
ICAgICB2b2lkIHJlcG9zaXRpb25TY3JvbGxpbmdMYXllcnMoKSBvdmVycmlkZTsKICAgICB2b2lk
IHJlcG9zaXRpb25SZWxhdGVkTGF5ZXJzKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggZTFmNzk1NjM4OGY1YTgwZWNhODllZjZiN2I1
OTM2YzMyYmE5NzllYi4uOWMxYzdhNmM3MGI2ZTA3NGI2YjVhMzYzYmNhYzNjYzBjYmI0MmE0OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtMjM1LDcg
KzIzNSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6Om5vdGlmeVBvc2l0aW9uQ2hhbmdlZChjb25z
dCBGbG9hdFNpemUmIGRlbHRhKQogICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsT2Zmc2V0
RnJvbUFuaW1hdGlvbihtX3Njcm9sbGFibGVBcmVhLnNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihy
b3VuZGVkSW50UG9pbnQoY3VycmVudFBvc2l0aW9uKCkpKSk7CiAKICNpZiBFTkFCTEUoQ1NTX1ND
Uk9MTF9TTkFQKSB8fCBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCi0gICAgbV9zY3JvbGxDb250cm9s
bGVyLnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOworICAgIG1fc2Nyb2xsQ29udHJvbGxlci5zY3Jv
bGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKTsKICNlbmRpZgogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggNjZjODNl
N2RkYTVkMGFkN2VmMDIxMDM0MWY1NGJmNTNhNDYyMDkyNS4uM2RmNWRjYmZhM2FlZDJlNjc2YTNh
NDg4ODI3MWQxNDg0YTgxYjI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcApAQCAtNjI2LDYgKzYyNiwyMSBAQCBib29sIFNjcm9sbGFibGVBcmVhOjppc1Bp
bm5lZFZlcnRpY2FsbHlJbkRpcmVjdGlvbihpbnQgdmVydGljYWxTY3JvbGxEZWx0YSkgY29ucwog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAorUmVjdEVkZ2VzPGJvb2w+IFNjcm9sbGFibGVBcmVhOjpl
ZGdlUGlubmVkU3RhdGUoKSBjb25zdAoreworICAgIGF1dG8gc2Nyb2xsUG9zaXRpb24gPSB0aGlz
LT5zY3JvbGxQb3NpdGlvbigpOworICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRpb24gPSBtaW5pbXVt
U2Nyb2xsUG9zaXRpb24oKTsKKyAgICBhdXRvIG1heFNjcm9sbFBvc2l0aW9uID0gbWF4aW11bVNj
cm9sbFBvc2l0aW9uKCk7CisKKyAgICAvLyBUb3AsIHJpZ2h0LCBib3R0b20sIGxlZnQuCisgICAg
cmV0dXJuIHsKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueSgpIDw9IG1pblNjcm9sbFBvc2l0aW9u
LnkoKSwKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueCgpID49IG1heFNjcm9sbFBvc2l0aW9uLngo
KSwKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueSgpID49IG1heFNjcm9sbFBvc2l0aW9uLnkoKSwK
KyAgICAgICAgc2Nyb2xsUG9zaXRpb24ueCgpIDw9IG1pblNjcm9sbFBvc2l0aW9uLngoKQorICAg
IH07Cit9CisKIGludCBTY3JvbGxhYmxlQXJlYTo6aG9yaXpvbnRhbFNjcm9sbGJhckludHJ1c2lv
bigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHZlcnRpY2FsU2Nyb2xsYmFyKCkgPyB2ZXJ0aWNhbFNj
cm9sbGJhcigpLT5vY2N1cGllZFdpZHRoKCkgOiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmgKaW5kZXggMzg3YWQyODVjMjBkZDhmZDVlYmEyN2Y2NjVlZWU4NTE4M2U3
N2M2Zi4uMTBiNGNiODk3NGQ0ODVkZTQyNzYxODllZWFjMzY3YmFjNjhjNmI0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiUmVjdEVkZ2VzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsU25h
cE9mZnNldHNJbmZvLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJTY3Jv
bGxiYXIuaCIKQEAgLTMyNyw2ICszMjgsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Bpbm5lZEhv
cml6b250YWxseUluRGlyZWN0aW9uKGludCBob3Jpem9udGFsU2Nyb2xsRGVsdGEpIGNvbnN0OyAK
ICAgICBib29sIGlzUGlubmVkVmVydGljYWxseUluRGlyZWN0aW9uKGludCB2ZXJ0aWNhbFNjcm9s
bERlbHRhKSBjb25zdDsKIAorICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlubmVkU3RhdGUoKSBj
b25zdDsKKwogICAgIC8vIFRydWUgaWYgc2Nyb2xsaW5nIGhhcHBlbnMgYnkgbW92aW5nIGNvbXBv
c2l0aW5nIGxheWVycy4KICAgICB2aXJ0dWFsIGJvb2wgdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmco
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIC8vIFRydWUgaWYgdGhlIGNvbnRlbnRzIGNh
biBiZSBzY3JvbGxlZCBhc3luY2hyb25vdXNseSAoaS5lLiBieSBhIFNjcm9sbGluZ0Nvb3JkaW5h
dG9yKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIuaAppbmRleCA2OWU2ZjAwZjk0YzAxZGJmZWQyNmUwYjkwOTI5MGMyOTMyZjY2OGE4Li5mMjU1
Yzk5NTg1M2U1NjFhNzVhZWQ4NzZiMmYwMWM5YzM5YmQxYTNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5oCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRTaXplLmgiCisjaW5j
bHVkZSAiUmVjdEVkZ2VzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJX
aGVlbEV2ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAg
LTc1LDcgKzc2LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dzSG9yaXpvbnRh
bFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBhbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgSW50U2l6ZSBzdHJldGNoQW1vdW50KCkgY29u
c3QgPSAwOworCiAgICAgdmlydHVhbCBib29sIHBpbm5lZEluRGlyZWN0aW9uKGNvbnN0IEZsb2F0
U2l6ZSYpIGNvbnN0ID0gMDsKKworICAgIHZpcnR1YWwgUmVjdEVkZ2VzPGJvb2w+IGVkZ2VQaW5u
ZWRTdGF0ZSgpIGNvbnN0ID0gMDsKKwogICAgIHZpcnR1YWwgYm9vbCBjYW5TY3JvbGxIb3Jpem9u
dGFsbHkoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhblNjcm9sbFZlcnRpY2FsbHko
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlv
bihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0ID0gMDsKQEAgLTE0Niw3ICsxNTEsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBpc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3Q7CiAgICAgYm9vbCBpc1Nj
cm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3Q7CiAgICAgCi0gICAgdm9pZCBzY3JvbGxQb3NpdGlv
bkNoYW5nZWQoKTsKKyAgICB2b2lkIHNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlKTsK
IAogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgdm9pZCB1cGRhdGVTY3JvbGxTbmFw
UG9pbnRzKFNjcm9sbEV2ZW50QXhpcywgY29uc3QgVmVjdG9yPExheW91dFVuaXQ+JiwgY29uc3Qg
VmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPExheW91dFVuaXQ+PiYpOwpAQCAtMTczLDYgKzE3OCw4
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisgICAg
dm9pZCBzdG9wUnViYmVyYmFuZGluZygpOworCiAgICAgdm9pZCBzdGFydFNuYXBSdWJiZXJiYW5k
VGltZXIoKTsKICAgICB2b2lkIHN0b3BTbmFwUnViYmVyYmFuZFRpbWVyKCk7CiAgICAgdm9pZCBz
bmFwUnViYmVyQmFuZCgpOwpAQCAtMTgzLDYgKzE5MCw5IEBAIHByaXZhdGU6CiAKICAgICBib29s
IGlzUnViYmVyQmFuZEluUHJvZ3Jlc3NJbnRlcm5hbCgpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
UnViYmVyQmFuZGluZ1N0YXRlKCk7CisgICAgdm9pZCB1cGRhdGVSdWJiZXJCYW5kaW5nRWRnZXMo
SW50U2l6ZSBjbGllbnRTdHJldGNoKTsKKyAgICAKKyAgICBib29sIHNjcm9sbGVkVG9SdWJiZXJi
YW5kaW5nRWRnZSgpIGNvbnN0OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQ
KQpAQCAtMjE1LDYgKzIyNSw3IEBAIHByaXZhdGU6CiAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0
VGltZTsKICAgICBGbG9hdFNpemUgbV9zdGFydFN0cmV0Y2g7CiAgICAgRmxvYXRTaXplIG1fb3Jp
Z1ZlbG9jaXR5OworICAgIFJlY3RFZGdlczxib29sPiBtX3J1YmJlckJhbmRpbmdFZGdlczsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsQ29udHJvbGxlclRpbWVyPiBtX3NuYXBSdWJiZXJiYW5k
VGltZXI7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Nj
cm9sbENvbnRyb2xsZXIubW0KaW5kZXggZmNmYzM3ZDlmYjk4NmQ0ZGUxODc1NGIzMWViMzA1YWVj
ZDU1NWRiMy4uN2MxNzA1YzJhM2Q5ZWVjYjBkZjU3ZTgwNGJjZDBhNGEzMTIzY2QxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCkBA
IC00MDcsMjAgKzQwNywxNSBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNuYXBSdWJiZXJCYW5k
VGltZXJGaXJlZCgpCiAgICAgaWYgKGlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIAorICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAi
U2Nyb2xsQ29udHJvbGxlcjo6c25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKCkgLSBtYWluIHRocmVh
ZCAiIDw8IGlzTWFpblRocmVhZCgpKTsKKwogICAgIGlmICghbV9tb21lbnR1bVNjcm9sbEluUHJv
Z3Jlc3MgfHwgbV9pZ25vcmVNb21lbnR1bVNjcm9sbHMpIHsKICAgICAgICAgYXV0byB0aW1lRGVs
dGEgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fc3RhcnRUaW1lOwogCiAgICAgICAgIGlmICht
X3N0YXJ0U3RyZXRjaC5pc1plcm8oKSkgewogICAgICAgICAgICAgbV9zdGFydFN0cmV0Y2ggPSBt
X2NsaWVudC5zdHJldGNoQW1vdW50KCk7CiAgICAgICAgICAgICBpZiAobV9zdGFydFN0cmV0Y2gg
PT0gRmxvYXRTaXplKCkpIHsKLSAgICAgICAgICAgICAgICBzdG9wU25hcFJ1YmJlcmJhbmRUaW1l
cigpOwotCi0gICAgICAgICAgICAgICAgbV9zdHJldGNoU2Nyb2xsRm9yY2UgPSB7IH07Ci0gICAg
ICAgICAgICAgICAgbV9zdGFydFRpbWUgPSB7IH07Ci0gICAgICAgICAgICAgICAgbV9zdGFydFN0
cmV0Y2ggPSB7IH07Ci0gICAgICAgICAgICAgICAgbV9vcmlnVmVsb2NpdHkgPSB7IH07Ci0KLSAg
ICAgICAgICAgICAgICB1cGRhdGVSdWJiZXJCYW5kaW5nU3RhdGUoKTsKKyAgICAgICAgICAgICAg
ICBzdG9wUnViYmVyYmFuZGluZygpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KIApAQCAtNDUxLDEyICs0NDYsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNuYXBS
dWJiZXJCYW5kVGltZXJGaXJlZCgpCiAgICAgICAgICAgICBtX3N0cmV0Y2hTY3JvbGxGb3JjZS5z
ZXRIZWlnaHQocmVib3VuZERlbHRhRm9yRWxhc3RpY0RlbHRhKG5ld1N0cmV0Y2guaGVpZ2h0KCkp
KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1fY2xpZW50LmFkanVzdFNjcm9sbFBv
c2l0aW9uVG9Cb3VuZHNJZk5lY2Vzc2FyeSgpOwotCi0gICAgICAgICAgICBzdG9wU25hcFJ1YmJl
cmJhbmRUaW1lcigpOwotICAgICAgICAgICAgbV9zdHJldGNoU2Nyb2xsRm9yY2UgPSB7IH07Ci0g
ICAgICAgICAgICBtX3N0YXJ0VGltZSA9IHsgfTsKLSAgICAgICAgICAgIG1fc3RhcnRTdHJldGNo
ID0geyB9OwotICAgICAgICAgICAgbV9vcmlnVmVsb2NpdHkgPSB7IH07CisgICAgICAgICAgICBz
dG9wUnViYmVyYmFuZGluZygpOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9z
dGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKQEAgLTQ2OSwxMCArNDU5LDE1IEBAIHZv
aWQgU2Nyb2xsQ29udHJvbGxlcjo6c25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKCkKIH0KICNlbmRp
ZgogCi12b2lkIFNjcm9sbENvbnRyb2xsZXI6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpCit2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlIHNjcm9s
bFR5cGUpCiB7CiAjaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorICAgIGlmIChzY3JvbGxUeXBl
ID09IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYyAmJiAhc2Nyb2xsZWRUb1J1YmJlcmJhbmRpbmdF
ZGdlKCkpCisgICAgICAgIHN0b3BSdWJiZXJiYW5kaW5nKCk7CisKICAgICB1cGRhdGVSdWJiZXJC
YW5kaW5nU3RhdGUoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNjcm9sbFR5cGUpOwogI2Vu
ZGlmCiB9CiAKQEAgLTUxNiw2ICs1MTEsMTYgQEAgYm9vbCBTY3JvbGxDb250cm9sbGVyOjppc1Nj
cm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIH0KIAogI2lmIEVOQUJMRShSVUJCRVJfQkFORElO
RykKK3ZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RvcFJ1YmJlcmJhbmRpbmcoKQoreworICAgIHN0
b3BTbmFwUnViYmVyYmFuZFRpbWVyKCk7CisgICAgbV9zdHJldGNoU2Nyb2xsRm9yY2UgPSB7IH07
CisgICAgbV9zdGFydFRpbWUgPSB7IH07CisgICAgbV9zdGFydFN0cmV0Y2ggPSB7IH07CisgICAg
bV9vcmlnVmVsb2NpdHkgPSB7IH07CisgICAgdXBkYXRlUnViYmVyQmFuZGluZ1N0YXRlKCk7Cit9
CisKIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCkKIHsK
ICAgICBtX2NsaWVudC53aWxsU3RhcnRSdWJiZXJCYW5kU25hcEFuaW1hdGlvbigpOwpAQCAtNTg0
LDExICs1ODksMzcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjp1cGRhdGVSdWJiZXJCYW5kaW5n
U3RhdGUoKQogICAgIGJvb2wgaXNSdWJiZXJCYW5kaW5nID0gaXNSdWJiZXJCYW5kSW5Qcm9ncmVz
c0ludGVybmFsKCk7CiAgICAgaWYgKGlzUnViYmVyQmFuZGluZyA9PSBtX2lzUnViYmVyQmFuZGlu
ZykKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgbV9pc1J1YmJlckJhbmRpbmcgPSBpc1J1
YmJlckJhbmRpbmc7CisgICAgaWYgKG1faXNSdWJiZXJCYW5kaW5nKQorICAgICAgICB1cGRhdGVS
dWJiZXJCYW5kaW5nRWRnZXMobV9jbGllbnQuc3RyZXRjaEFtb3VudCgpKTsKKyAgICBlbHNlCisg
ICAgICAgIG1fcnViYmVyQmFuZGluZ0VkZ2VzID0geyB9OworCiAgICAgbV9jbGllbnQucnViYmVy
QmFuZGluZ1N0YXRlQ2hhbmdlZChtX2lzUnViYmVyQmFuZGluZyk7CiB9CiAKK3ZvaWQgU2Nyb2xs
Q29udHJvbGxlcjo6dXBkYXRlUnViYmVyQmFuZGluZ0VkZ2VzKEludFNpemUgY2xpZW50U3RyZXRj
aCkKK3sKKyAgICBtX3J1YmJlckJhbmRpbmdFZGdlcy5zZXRMZWZ0KGNsaWVudFN0cmV0Y2gud2lk
dGgoKSA8IDApOworICAgIG1fcnViYmVyQmFuZGluZ0VkZ2VzLnNldFJpZ2h0KGNsaWVudFN0cmV0
Y2gud2lkdGgoKSA+IDApOworCisgICAgbV9ydWJiZXJCYW5kaW5nRWRnZXMuc2V0VG9wKGNsaWVu
dFN0cmV0Y2guaGVpZ2h0KCkgPCAwKTsKKyAgICBtX3J1YmJlckJhbmRpbmdFZGdlcy5zZXRCb3R0
b20oY2xpZW50U3RyZXRjaC5oZWlnaHQoKSA+IDApOworfQorCitib29sIFNjcm9sbENvbnRyb2xs
ZXI6OnNjcm9sbGVkVG9SdWJiZXJiYW5kaW5nRWRnZSgpIGNvbnN0Cit7CisgICAgYXV0byBwaW5u
ZWRFZGdlcyA9IG1fY2xpZW50LmVkZ2VQaW5uZWRTdGF0ZSgpOworICAgIAorICAgIGZvciAoYXV0
byBzaWRlIDogYWxsQm94U2lkZXMpIHsKKyAgICAgICAgaWYgKG1fcnViYmVyQmFuZGluZ0VkZ2Vz
W3NpZGVdICYmICFwaW5uZWRFZGdlc1tzaWRlXSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisgICAgCisgICAgcmV0dXJuIHRydWU7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoUlVC
QkVSX0JBTkRJTkcpCiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAppbmRleCA2MmIyYmQyOTk5
ZWE0MGU4OGJjMGFhZDMyNGQ0N2Y0NDY5Mzg4MzUyLi42NGYwOGFjNTQ3YjUwMjkyOGFjYWJjYWIz
NjM4ZTVjNzUwMTQ4ODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsQW5pbWF0b3JNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMuaApAQCAtMTQ3LDYgKzE0Nyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBh
bGxvd3NIb3Jpem9udGFsU3RyZXRjaGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25z
dCBmaW5hbDsKICAgICBib29sIGFsbG93c1ZlcnRpY2FsU3RyZXRjaGluZyhjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKSBjb25zdCBmaW5hbDsKICAgICBib29sIHBpbm5lZEluRGlyZWN0aW9uKGNv
bnN0IEZsb2F0U2l6ZSYpIGNvbnN0IGZpbmFsOworICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlu
bmVkU3RhdGUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGNhblNjcm9sbEhvcml6b250YWxseSgp
IGNvbnN0IGZpbmFsOwogICAgIGJvb2wgY2FuU2Nyb2xsVmVydGljYWxseSgpIGNvbnN0IGZpbmFs
OwogICAgIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFNjcm9sbERpcmVjdGlvbikg
Y29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMubW0KaW5kZXggMDlkODA1OGI1YjI1NmJjNWI0YzliYTlkNGFiM2ExZTU1Yzc0ZmQx
YS4uYWU2YzUxNzE2ZDZmZTc0YWZlMThjODVhNDNhYTc3MmQzMDI0NDE4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTMxOSw2
ICsxMzE5LDExIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JNYWM6OnBpbm5lZEluRGlyZWN0aW9uKGNv
bnN0IEZsb2F0U2l6ZSYgZGlyZWN0aW9uKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAor
UmVjdEVkZ2VzPGJvb2w+IFNjcm9sbEFuaW1hdG9yTWFjOjplZGdlUGlubmVkU3RhdGUoKSBjb25z
dAoreworICAgIHJldHVybiBtX3Njcm9sbGFibGVBcmVhLmVkZ2VQaW5uZWRTdGF0ZSgpOworfQor
CiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQgYSB3YXkgdG8gc2hhcmUgc29tZSBvZiB0aGUgY29k
ZSBmcm9tIG5ld0dlc3R1cmVJc1N0YXJ0aW5nKCksIGlzQWxyZWFkeVBpbm5lZEluRGlyZWN0aW9u
T2ZHZXN0dXJlKCksCiAvLyBhbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmcoKSwgYW5kIGFsbG93c0hv
cml6b250YWxTdHJldGNoaW5nKCkgd2l0aCB0aGUgaW1wbGVtZW50YXRpb24gaW4gU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy4KIHN0YXRpYyBib29sIG5ld0dlc3R1cmVJc1N0YXJ0
aW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xsQW5pbWF0b3JNb2NrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbEFuaW1hdG9yTW9jay5oCmluZGV4IGY0NzA5ZjBm
OWI1ZjU2N2QwYTQyMTA5MGVkZWFlOGJlYmZlMThiNzAuLjA5ZjU2MTdhMTFiZjE3ODJmODM0YTcy
YWI1Y2Y1MDUxZjc1OWVlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svU2Nyb2xsQW5pbWF0b3JNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9TY3JvbGxBbmltYXRvck1vY2suaApAQCAtNDksNiArNDksNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgYWxsb3dzVmVydGljYWxTdHJldGNoaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgSW50U2l6ZSBzdHJldGNoQW1vdW50
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gSW50U2l6ZSgpOyB9CiAgICAgYm9vbCBwaW5uZWRJ
bkRpcmVjdGlvbihjb25zdCBGbG9hdFNpemUmKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQorICAgIFJlY3RFZGdlczxib29sPiBlZGdlUGlubmVkU3RhdGUoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiB7IH07IH0KICAgICBib29sIGNhblNjcm9sbEhvcml6b250YWxseSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5TY3JvbGxWZXJ0aWNhbGx5
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIHNob3VsZFJ1YmJl
ckJhbmRJbkRpcmVjdGlvbihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGZhbHNlOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>