<?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>225548</bug_id>
          
          <creation_ts>2021-05-07 16:29:23 -0700</creation_ts>
          <short_desc>[GPUP] A small video element enters fullscreen with strange animations</short_desc>
          <delta_ts>2021-05-08 21:53:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1758084</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-07 16:29:23 -0700</bug_when>
    <thetext>[GPUP] A small video element enters fullscreen with strange animations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758085</commentid>
    <comment_count>1</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-07 16:29:57 -0700</bug_when>
    <thetext>&lt;rdar://76770068&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758097</commentid>
    <comment_count>2</comment_count>
      <attachid>428061</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-07 16:47:17 -0700</bug_when>
    <thetext>Created attachment 428061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758115</commentid>
    <comment_count>3</comment_count>
      <attachid>428065</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-07 17:22:16 -0700</bug_when>
    <thetext>Created attachment 428065
Fix build failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758116</commentid>
    <comment_count>4</comment_count>
      <attachid>428066</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-07 17:24:40 -0700</bug_when>
    <thetext>Created attachment 428066
Fix build failures (again)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758185</commentid>
    <comment_count>5</comment_count>
      <attachid>428066</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-08 07:55:48 -0700</bug_when>
    <thetext>Comment on attachment 428066
Fix build failures (again)

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

&gt; Source/WebKit/WebProcess/GPU/media/cocoa/VideoLayerRemoteCocoa.mm:100
&gt; +        bool inFullscreenOrPictureInPicture = false;
&gt; +        if (auto* mediaPlayerPrivateRemote = self.mediaPlayerPrivateRemote)
&gt; +            inFullscreenOrPictureInPicture = mediaPlayerPrivateRemote-&gt;inVideoFullscreenOrPictureInPicture();
&gt; +
&gt; +        if (inFullscreenOrPictureInPicture) {

Nit: this can be simplified slightly to 

    if (auto* mediaPlayerPrivateRemote = self.mediaPlayerPrivateRemote; mediaPlayerPrivateRemote &amp;&amp; mediaPlayerPrivateRemote-&gt;inVideoFullscreenOrPictureInPicture())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758215</commentid>
    <comment_count>6</comment_count>
      <attachid>428093</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-08 15:43:05 -0700</bug_when>
    <thetext>Created attachment 428093
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758216</commentid>
    <comment_count>7</comment_count>
      <attachid>428066</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-08 15:44:03 -0700</bug_when>
    <thetext>Comment on attachment 428066
Fix build failures (again)

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

&gt;&gt; Source/WebKit/WebProcess/GPU/media/cocoa/VideoLayerRemoteCocoa.mm:100
&gt;&gt; +        if (inFullscreenOrPictureInPicture) {
&gt; 
&gt; Nit: this can be simplified slightly to 
&gt; 
&gt;     if (auto* mediaPlayerPrivateRemote = self.mediaPlayerPrivateRemote; mediaPlayerPrivateRemote &amp;&amp; mediaPlayerPrivateRemote-&gt;inVideoFullscreenOrPictureInPicture())

Good idea! Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758290</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-08 21:53:43 -0700</bug_when>
    <thetext>Committed r277242 (237511@main): &lt;https://commits.webkit.org/237511@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428093.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428061</attachid>
            <date>2021-05-07 16:47:17 -0700</date>
            <delta_ts>2021-05-07 18:10:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225548-20210507164716.patch</filename>
            <type>text/plain</type>
            <size>26255</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2MzNmVkOWU1NTdjMWY5
MWJjN2M2NDc2YmI0MTRlZjhmNzhlMTMxYi4uNDk3YWM4M2Q2NDFiZWE1MTJhNDk0NDBjZDVkOGNi
MTQ5OWM1YzBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA1LTA3ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIEEgc21hbGwgdmlk
ZW8gZWxlbWVudCBlbnRlcnMgZnVsbHNjcmVlbiB3aXRoIHN0cmFuZ2UgYW5pbWF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGBGbG9hdFJl
Y3RgIGluc3RlYWQgb2YgYEludFJlY3RgIHRvIGV4Y2hhbmdlIHZpZGVvIGVsZW1lbnQgbG9jYXRp
b24vc2l6ZQorICAgICAgICBpbmZvcm1hdGlvbiBiZXR3ZWVuIFdlYkNvbnRlbnQgcHJvY2Vzc2Vz
IGFuZCB0aGUgVUkgcHJvY2VzcyB0byBhdm9pZCBpbmZvcm1hdGlvbgorICAgICAgICBtaXNtYXRj
aCBkdWUgdG8gZmxvYXRpbmctcG9pbnQgcm91bmRpbmcuCisKKyAgICAgICAgTWFudWFsbHkgdGVz
dGVkLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVs
bHNjcmVlbik6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZXhpdEZ1
bGxzY3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBh
cmVkVG9SZXR1cm5Ub0lubGluZSk6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2V0SW5saW5lUmVjdCk6CisKIDIwMjEtMDUtMDUgIFNhbSBXZWluaWcgIDx3ZWluaWdA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBzcGVjaWZ5
aW5nIGEgY29sb3Igc3BhY2UgZm9yIDJEIGNhbnZhcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxNGJjNzBjYTE0MTA4
N2EzNGI1NDFjOGEzM2FjNjc2ZWYzODEwZmE3Li4xNTYyM2Q1MzRlYzhhYmJmMTE3MTA0OGFhMjY3
YWZlMjI1YmU4Y2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA1LTA3ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIEEgc21hbGwgdmlk
ZW8gZWxlbWVudCBlbnRlcnMgZnVsbHNjcmVlbiB3aXRoIHN0cmFuZ2UgYW5pbWF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGBGbG9hdFJl
Y3RgIGluc3RlYWQgb2YgYEludFJlY3RgIHRvIGV4Y2hhbmdlIHZpZGVvIGVsZW1lbnQgbG9jYXRp
b24vc2l6ZQorICAgICAgICBpbmZvcm1hdGlvbiBiZXR3ZWVuIFdlYkNvbnRlbnQgcHJvY2Vzc2Vz
IGFuZCB0aGUgVUkgcHJvY2VzcyB0byBhdm9pZCBpbmZvcm1hdGlvbgorICAgICAgICBtaXNtYXRj
aCBkdWUgdG8gZmxvYXRpbmctcG9pbnQgcm91bmRpbmcuCisKKyAgICAgICAgRGVhbCB3aXRoIHRo
ZSB2aWRlbyBlbGVtZW50IHJlc2l6aW5nIGRpZmZlcmVudGx5IGZvciB0d28gY2FzZXM6CisgICAg
ICAgIDEpIFZpZGVvIGlzIHBsYXlpbmcgaW4gdGhlIGlubGluZSBtb2RlLgorICAgICAgICAyKSBW
aWRlbyBpcyBlbnRlcmluZyBmdWxsc2NyZWVuL3BpY3R1cmUtaW4tcGljdHVyZS4KKyAgICAgICAg
Rm9yIHRoZSBsYXR0ZXIgY2FzZSwgYC1bV0tWaWRlb0xheWVyUmVtb3RlIGxheW91dFN1YmxheWVy
c11gIHdpbGwgc2NhbGUgdGhlIGxheWVyCisgICAgICAgIHdpdGggdGhlIHNhbWUgZmFjdG9yIGlu
IGJvdGggWCBhbmQgWSBkaXJlY3Rpb24uCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OnNldFZpZGVvSW5saW5lU2l6ZUlmUG9zc2libGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQpOgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5t
bToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1
bGxzY3JlZW5XaXRoSUQpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OmV4aXRGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5OjpzZXRJbmxpbmVSZWN0KToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5OjpwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUpOgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0lubGluZVNp
emVGZW5jZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Omlu
VmlkZW9GdWxsc2NyZWVuT3JQaWN0dXJlSW5QaWN0dXJlIGNvbnN0KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9WaWRlb0xheWVyUmVtb3RlQ29jb2EubW06CisgICAg
ICAgICgtW1dLVmlkZW9MYXllclJlbW90ZSBsYXlvdXRTdWJsYXllcnNdKToKKyAgICAgICAgKC1b
V0tWaWRlb0xheWVyUmVtb3RlIHJlc29sdmVCb3VuZHNdKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6OmlubGlu
ZVZpZGVvRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpy
ZXF1ZXN0VXBkYXRlSW5saW5lUmVjdCk6CisKIDIwMjEtMDUtMDUgIEplYW4tWXZlcyBBdmVuYXJk
ICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1hY3RpdmVzb3VyY2VidWZmZXJzLmh0bWwgaXMg
YSBmbGFrZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Zp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKaW5kZXggM2IzYTg3NTU0NDAwNGEwNTE4ZmQ1
ZmY4NjYzN2VjMjI5Zjc4ZjZmZS4uODc4NzMxZjBiOWU3OTAxNjkxODRjMjRmNTNkYTRkY2E1MzJm
OTQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Zp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKQEAgLTU0LDcgKzU0LDcgQEAgT0JKQ19DTEFT
UyBXZWJBVlBsYXllclZpZXdDb250cm9sbGVyRGVsZWdhdGU7CiBPQkpDX0NMQVNTIE5TRXJyb3I7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIEludFJlY3Q7CitjbGFzcyBGbG9hdFJlY3Q7
CiBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBWaWRlb0Z1bGxzY3JlZW5Nb2RlbDsKIGNsYXNzIFZp
ZGVvRnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyOwpAQCAtODAsMTYgKzgwLDE2IEBAIHB1YmxpYzoK
ICAgICAvLyBQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudAogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoYm9vbCBlbmFibGVkLCBQbGF5YmFja1Nlc3Npb25N
b2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYgbG9jYWxpemVk
RGV2aWNlTmFtZSkgZmluYWw7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldHVwRnVsbHNj
cmVlbihVSVZpZXcmIHZpZGVvVmlldywgY29uc3QgSW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0
IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRp
YUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXR1cEZ1
bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0IEZsb2F0UmVjdCYgaW5pdGlhbFJlY3Qs
IGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1
bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBl
bnRlckZ1bGxzY3JlZW4oKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIGV4aXRGdWxsc2NyZWVu
KGNvbnN0IEludFJlY3QmIGZpbmFsUmVjdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBleGl0
RnVsbHNjcmVlbihjb25zdCBGbG9hdFJlY3QmIGZpbmFsUmVjdCk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBjbGVhbnVwRnVsbHNjcmVlbigpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaW52
YWxpZGF0ZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVxdWVzdEhpZGVBbmRFeGl0RnVs
bHNjcmVlbigpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJlcGFyZWRUb1JldHVyblRvSW5s
aW5lKGJvb2wgdmlzaWJsZSwgY29uc3QgSW50UmVjdCYgaW5saW5lUmVjdCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoYm9vbCB2aXNpYmxlLCBjb25z
dCBGbG9hdFJlY3QmIGlubGluZVJlY3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJlcGFy
ZWRUb0V4aXRGdWxsc2NyZWVuKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIYXNWaWRl
b0NvbnRlbnRMYXllcihib29sKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldElubGluZVJl
Y3QoY29uc3QgSW50UmVjdCYsIGJvb2wgdmlzaWJsZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRJbmxpbmVSZWN0KGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wgdmlzaWJsZSk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9TdGFuZGJ5KCk7CiAgICAgYm9vbCBj
aGFuZ2luZ1N0YW5kYnlPbmx5KCkgeyByZXR1cm4gbV9jaGFuZ2luZ1N0YW5kYnlPbmx5OyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCA4N2YyMWIxNTQxMTRkNjZlYjYzZjA5YzQ1NDI4
ODYxYWI3NGU3M2Q1Li45NjFlNDJmYjI3N2M5NzgwNzk4MWYxZjAxYjNiODIyMzBjZmVmMWNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC05MjYsNyArOTI2LDcgQEAgdm9pZCBWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKQogICAg
IExPRyhGdWxsc2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmFwcGxpY2F0
aW9uRGlkQmVjb21lQWN0aXZlKCVwKSIsIHRoaXMpOwogfQogCi12b2lkIFZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0
IEludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywg
VUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUgbW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3Rh
bmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkK
K3ZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihVSVZp
ZXcmIHZpZGVvVmlldywgY29uc3QgRmxvYXRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxvYXRT
aXplJiB2aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVu
dEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGlj
dHVyZVBsYXliYWNrLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmUpCiB7CiAgICAgQVNTRVJUKHN0YW5kYnkgfHwgbW9kZSAhPSBI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKTsKICAgICBMT0co
RnVsbHNjcmVlbiwgIlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3Jl
ZW4oJXApIiwgdGhpcyk7CkBAIC05NTYsNyArOTU2LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuKCkKICAgICBkb0VudGVyRnVsbHNjcmVlbigp
OwogfQogCi1ib29sIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpleGl0RnVsbHNjcmVl
bihjb25zdCBJbnRSZWN0JiBmaW5hbFJlY3QpCitib29sIFZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpleGl0RnVsbHNjcmVlbihjb25zdCBGbG9hdFJlY3QmIGZpbmFsUmVjdCkKIHsKICAg
ICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwogCkBAIC0xMDY2LDcgKzEwNjYsNyBAQCB2b2lkIFZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpyZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVu
KCkKICAgICB9CiB9CiAKLXZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBh
cmVkVG9SZXR1cm5Ub0lubGluZShib29sIHZpc2libGUsIGNvbnN0IEludFJlY3QmIGlubGluZVJl
Y3QpCit2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJlZFRvUmV0dXJu
VG9JbmxpbmUoYm9vbCB2aXNpYmxlLCBjb25zdCBGbG9hdFJlY3QmIGlubGluZVJlY3QpCiB7CiAg
ICAgTE9HKEZ1bGxzY3JlZW4sICJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFy
ZWRUb1JldHVyblRvSW5saW5lKCVwKSAtIHZpc2libGUoJXMpIiwgdGhpcywgYm9vbFN0cmluZyh2
aXNpYmxlKSk7CiAgICAgc2V0SW5saW5lUmVjdChpbmxpbmVSZWN0LCB2aXNpYmxlKTsKQEAgLTEz
MDEsNyArMTMwMSw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldEhh
c1ZpZGVvQ29udGVudExheWVyKGJvb2wgdmFsdWUpCiAgICAgICAgIGRvRXhpdEZ1bGxzY3JlZW4o
KTsKIH0KIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0SW5saW5lUmVj
dChjb25zdCBJbnRSZWN0JiBpbmxpbmVSZWN0LCBib29sIHZpc2libGUpCit2b2lkIFZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXRJbmxpbmVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgaW5s
aW5lUmVjdCwgYm9vbCB2aXNpYmxlKQogewogICAgIG1faW5saW5lUmVjdCA9IGlubGluZVJlY3Q7
CiAgICAgbV9pbmxpbmVJc1Zpc2libGUgPSB2aXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggNzcw
ZDdmYzIyNDliZGNjN2E0YmExNjhkZDliZDk3YzU3YmYxYzAyMy4uZDdjYWI0NjRiNThhODFlZGJh
NjcyNWIwNzNlNjIwNDQzMzdjNjYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0xNDYsNyArMTQ2LDcg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkTG9hZGluZ1Byb2dyZXNzKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdm9pZCBzZXRWaWRl
b0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdURjo6TWFj
aFNlbmRSaWdodCYpOworICAgIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYsIGNvbnN0IFdURjo6TWFjaFNlbmRSaWdodCYpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpAQCAtMzMxLDcgKzMzMSw3IEBA
IHByaXZhdGU6CiAgICAgU2Vjb25kcyBtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2
YWw7CiAgICAgTW9ub3RvbmljVGltZSBtX25leHRQbGF5YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRl
VGltZTsKIAotICAgIFdlYkNvcmU6OkludFNpemUgbV92aWRlb0lubGluZVNpemU7CisgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIG1fdmlkZW9JbmxpbmVTaXplOwogICAgIGZsb2F0IG1fdmlkZW9Db250
ZW50U2NhbGUgeyAxLjAgfTsKIAogICAgIGJvb2wgbV9idWZmZXJlZENoYW5nZWQgeyB0cnVlIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGRlMDY2MzIwMDY4YzY2M2Vi
ZjQyYzE0OTg3MzM5ZmNhMWI0ZGEwMWYuLjhhOTI0YjU5YTY4NjNhYzllYTc4ZjMzZmFkOTU2Nzdm
ZGMxYTk3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC02Niw3ICs2
Niw3IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7
CiAgICAgU2V0QnVmZmVyaW5nUG9saWN5KFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpCdWZmZXJpbmdQ
b2xpY3kgcG9saWN5KQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgU2V0VmlkZW9JbmxpbmVT
aXplRmVuY2VkKFdlYkNvcmU6OkludFNpemUgc2l6ZSwgTWFjaFNlbmRSaWdodCBtYWNoU2VuZFJp
Z2h0KQorICAgIFNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChXZWJDb3JlOjpGbG9hdFNpemUgc2l6
ZSwgTWFjaFNlbmRSaWdodCBtYWNoU2VuZFJpZ2h0KQogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2Eu
bW0KaW5kZXggYjUyMzhlN2FjZWQ5NWYwMDg1NjhjZWIzYjA1ODM5NGVmNzg3MDJiMy4uMGUwY2Qy
Y2RjNmE0OTA1MzQ0NmM2ZDExY2Y3NmZhZGVkNjM5ZGU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tCkBAIC0zMSwxNSArMzEsMTUgQEAKICNpbXBvcnQgIkxheWVySG9z
dGluZ0NvbnRleHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2Vz
LmgiCiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
RmxvYXRTaXplLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgotI2ltcG9ydCA8V2Vi
Q29yZS9JbnRTaXplLmg+CiAjaW1wb3J0IDx3dGYvTWFjaFNlbmRSaWdodC5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotc3RhdGljIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZShM
YXllckhvc3RpbmdDb250ZXh0JiBjb250ZXh0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXpl
KQorc3RhdGljIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZShMYXllckhvc3RpbmdD
b250ZXh0JiBjb250ZXh0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHNpemUpCiB7Ci0gICAg
aWYgKCFjb250ZXh0LnJvb3RMYXllcigpKQorICAgIGlmICghY29udGV4dC5yb290TGF5ZXIoKSB8
fCBzaXplLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2UgZG8gbm90IHdh
bnQgYW5pbWF0aW9ucyBoZXJlLgpAQCAtNzAsNyArNzAsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCkKICAgICBtX3dl
YlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OkZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpLCBtX2lkKTsKIH0KIAotdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgc2l6ZSwgY29uc3QgV1RGOjpNYWNoU2VuZFJpZ2h0JiBtYWNoU2VuZFJpZ2h0KQor
dm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmIG1h
Y2hTZW5kUmlnaHQpCiB7CiAgICAgbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LT5zZXRGZW5j
ZVBvcnQobWFjaFNlbmRSaWdodC5zZW5kUmlnaHQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgK
aW5kZXggYWE5ZjZiMTM4NGQ5M2I4YjIwZDUwOWVlMzA2NGJhNzUxMGRmMjQ4NS4uODlmMDM2YmYy
N2IxZDgwYmU5MWI5YmNlZTVmM2I3MGQxZGZkN2ZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgK
QEAgLTE3NCwxNSArMTc0LDE1IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZURpZENoYW5nZShib29sKTsKIAogICAgIC8vIE1lc3NhZ2VzIGZyb20gVmlkZW9G
dWxsc2NyZWVuTWFuYWdlcgotICAgIHZvaWQgc2V0dXBGdWxsc2NyZWVuV2l0aElEKFBsYXliYWNr
U2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCB2
aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFj
dG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUs
IGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1Jl
dHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKTsKLSAgICB2b2lkIHNldElubGlu
ZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSk7CisgICAgdm9pZCBzZXR1cEZ1bGxzY3Jl
ZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIFdlYktpdDo6TGF5ZXJI
b3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBp
bml0aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZs
b2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3Rh
bmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7
CisgICAgdm9pZCBzZXRJbmxpbmVSZWN0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVy
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSk7CiAg
ICAgdm9pZCBzZXRIYXNWaWRlb0NvbnRlbnRMYXllcihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRl
bnRpZmllciwgYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRIYXNWaWRlbyhQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgYm9vbCk7CiAgICAgdm9pZCBzZXRWaWRlb0RpbWVuc2lvbnMo
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6
ZSYpOwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyKTsKLSAgICB2b2lkIGV4aXRGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJik7CisgICAgdm9pZCBleGl0RnVsbHNjcmVlbihQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6RmxvYXRSZWN0IGZpbmFsUmVjdCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBjbGVhbnVwRnVsbHNjcmVlbihQbGF5
YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgdm9pZCBwcmVwYXJlZFRvUmV0dXJu
VG9JbmxpbmUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wgdmlzaWJsZSwg
V2ViQ29yZTo6SW50UmVjdCBpbmxpbmVSZWN0KTsKKyAgICB2b2lkIHByZXBhcmVkVG9SZXR1cm5U
b0lubGluZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9vbCB2aXNpYmxlLCBX
ZWJDb3JlOjpGbG9hdFJlY3QgaW5saW5lUmVjdCk7CiAgICAgdm9pZCBwcmVwYXJlZFRvRXhpdEZ1
bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwogICAgIHZvaWQgZXhp
dEZ1bGxzY3JlZW5XaXRob3V0QW5pbWF0aW9uVG9Nb2RlKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
Y2VlMTgwYzE2ZTdkOTU2Y2Q0ZTMwYTU0MzMxN2ZjY2E5MWFhNWI0NC4uZGRmODUwNjQ0NjgzYmQy
NmEyZmIxYjI1ZjFlNTExN2IyZTc1YWFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbgpAQCAtMjQsMTUgKzI0LDE1IEBACiBtZXNzYWdlcyAtPiBWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHkgewogICAgIFNldEhhc1ZpZGVvKFdlYktpdDo6UGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29sIGhhc1ZpZGVvKQogICAgIFNldFZp
ZGVvRGltZW5zaW9ucyhXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNv
bnRleHRJZCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5zaW9ucykKLSAgICBTZXR1cEZ1
bGxzY3JlZW5XaXRoSUQoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBj
b250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgV2Vi
Q29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5z
aW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxv
d3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxs
c2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUpCisgICAgU2V0dXBGdWxsc2NyZWVuV2l0aElEKFdl
YktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6
OkxheWVySG9zdGluZ0NvbnRleHRJRCB2aWRlb0xheWVySUQsIFdlYkNvcmU6OkZsb2F0UmVjdCBp
bml0aWFsUmVjdCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9z
dGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVs
bHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0
dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1
cmVJblBpY3R1cmUpCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgRW50ZXJGdWxsc2Ny
ZWVuKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkKQog
I2VuZGlmCi0gICAgRXhpdEZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkludFJlY3QgZmluYWxSZWN0KSAtPiAoYm9v
bCBzdWNjZXNzKSBBc3luYwotICAgIFNldElubGluZVJlY3QoV2ViS2l0OjpQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkludFJlY3QgaW5saW5lUmVj
dCwgYm9vbCB2aXNpYmxlKQorICAgIEV4aXRGdWxsc2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3JlOjpGbG9hdFJlY3QgZmluYWxS
ZWN0KSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYworICAgIFNldElubGluZVJlY3QoV2ViS2l0OjpQ
bGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkZsb2F0
UmVjdCBpbmxpbmVSZWN0LCBib29sIHZpc2libGUpCiAgICAgU2V0SGFzVmlkZW9Db250ZW50TGF5
ZXIoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGJv
b2wgdmFsdWUpCiAgICAgQ2xlYW51cEZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpCi0gICAgUHJlcGFyZWRUb1JldHVyblRvSW5saW5l
KFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29s
IHZpc2libGUsIFdlYkNvcmU6OkludFJlY3QgaW5saW5lUmVjdCkKKyAgICBQcmVwYXJlZFRvUmV0
dXJuVG9JbmxpbmUoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250
ZXh0SWQsIGJvb2wgdmlzaWJsZSwgV2ViQ29yZTo6RmxvYXRSZWN0IGlubGluZVJlY3QpCiAgICAg
UHJlcGFyZWRUb0V4aXRGdWxsc2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIgY29udGV4dElkKQogICAgIEV4aXRGdWxsc2NyZWVuV2l0aG91dEFuaW1hdGlvblRv
TW9kZShXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwg
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVv
RnVsbHNjcmVlbk1vZGUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KaW5kZXggZTk4NzRhNWQ5
Y2FiM2JkYzllNWNkYzgxNTcwZTA4ODdjNjg1MTVlNi4uYTJjM2FhMThmMjc5YThiNzI2MGIxMDJi
MjRiMjQxYTJmY2U5YTBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQpAQCAtNTIwLDcgKzUy
MCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpoYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZURpZENoYW5nZShib29sIHZhbHVlCiAKICNwcmFnbWEgbWFyayBNZXNzYWdlcyBm
cm9tIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXIKIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJ
RCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nRGV2aWNlU2NhbGVGYWN0b3Is
IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3Jl
ZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSwgYm9vbCBi
bG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKK3ZvaWQgVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRl
eHRJRCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgaW5pdGlhbFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5n
RGV2aWNlU2NhbGVGYWN0b3IsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJv
b2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGlj
dHVyZSkKIHsKICAgICBNRVNTQUdFX0NIRUNLKHZpZGVvTGF5ZXJJRCk7CiAKQEAgLTYxNCw3ICs2
MTQsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJGdWxsc2NyZWVu
KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaQogICAgIH0KIH0KIAotdm9pZCBWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmV4aXRGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRl
eHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6SW50UmVjdCBmaW5hbFJlY3QsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZXhpdEZ1bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29u
dGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3JlOjpGbG9hdFJlY3QgZmluYWxSZWN0LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IEFTU0VSVChtX2NvbnRleHRNYXAuY29udGFpbnMoY29udGV4dElkKSk7CiAgICAgaWYgKCFtX2Nv
bnRleHRNYXAuY29udGFpbnMoY29udGV4dElkKSkgewpAQCAtNjY0LDcgKzY2NCw3IEBAIHZvaWQg
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpleGl0RnVsbHNjcmVlbldpdGhvdXRBbmltYXRp
b25Ub01vZGUoUGxheWJhY2tTCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCi12b2lkIFZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0SW5saW5lUmVjdChQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGlubGlu
ZVJlY3QsIGJvb2wgdmlzaWJsZSkKK3ZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Ojpz
ZXRJbmxpbmVSZWN0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBpbmxpbmVSZWN0LCBib29sIHZpc2libGUpCiB7CiAg
ICAgaWYgKG1fbW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQpCiAgICAgICAgIHJldHVy
bjsKQEAgLTcxMCw3ICs3MTAsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6
Y2xlYW51cEZ1bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aQogICAgIGVuc3Vy
ZUludGVyZmFjZShjb250ZXh0SWQpLmNsZWFudXBGdWxsc2NyZWVuKCk7CiB9CiAKLXZvaWQgVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoUGxheWJh
Y2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29sIHZpc2libGUsIFdlYkNv
cmU6OkludFJlY3QgaW5saW5lUmVjdCkKK3ZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
OjpwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZp
ZXIgY29udGV4dElkLCBib29sIHZpc2libGUsIFdlYkNvcmU6OkZsb2F0UmVjdCBpbmxpbmVSZWN0
KQogewogICAgIG1fcGFnZS0+ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCAzZDhhOTAxN2JjYjY3NDVkMjJlNGFhN2Q5ODRh
YzFjNDA2ZmRhNDZiLi43ZDM1YWQ3YTMwNWMyMTRiMmI4ZjIwMmMwN2RlZmRlYzU1YzFlOGQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCkBAIC04NjcsNyArODY3LDcgQEAgdW5zaWdu
ZWQgbG9uZyBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dG90YWxCeXRlcygpIGNvbnN0
CiB9CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3QgSW50U2l6ZSYgc2l6ZSwgY29uc3QgV1RG
OjpNYWNoU2VuZFJpZ2h0JiBtYWNoU2VuZFJpZ2h0KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBGbG9hdFNpemUmIHNpemUsIGNv
bnN0IFdURjo6TWFjaFNlbmRSaWdodCYgbWFjaFNlbmRSaWdodCkKIHsKICAgICBjb25uZWN0aW9u
KCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U2V0VmlkZW9JbmxpbmVT
aXplRmVuY2VkKHNpemUsIG1hY2hTZW5kUmlnaHQpLCBtX2lkKTsKIH0KQEAgLTEyMDgsNiArMTIw
OCwxMyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bm90aWZ5QWN0aXZlU291cmNl
QnVmZmVyc0NoYW5nZWQoKQogICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpOb3RpZnlBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpLCBtX2lk
KTsKIH0KIAorI2lmIFBMQVRGT1JNKENPQ09BKQorYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmluVmlkZW9GdWxsc2NyZWVuT3JQaWN0dXJlSW5QaWN0dXJlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gISFtX3ZpZGVvTGF5ZXJNYW5hZ2VyLT52aWRlb0Z1bGxzY3JlZW5MYXllcigpOworfQor
I2VuZGlmCisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphcHBsaWNhdGlvbldpbGxS
ZXNpZ25BY3RpdmUoKQogewogICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpBcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKSwgbV9pZCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUuaAppbmRleCA1ODI0MWI2M2E3MTIzZGU2MjA3MGI4NjIwZTI4
ZjhiODIwMzk3YzFhLi4zYTI4MDBkYWQ1NmRhYWRkMDc5ZjA1NjI3MGI4Mjg0N2RjOWMxZGJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTEwNyw3ICsxMDcsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBmaXJzdFZpZGVvRnJhbWVBdmFpbGFibGUoKTsKICAgICB2b2lkIHJlbmRlcmluZ01v
ZGVDaGFuZ2VkKCk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdm9pZCBzZXRWaWRlb0lubGlu
ZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdURjo6TWFjaFNlbmRS
aWdodCYpOworICAgIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0IFdlYkNvcmU6
OkZsb2F0U2l6ZSYsIGNvbnN0IFdURjo6TWFjaFNlbmRSaWdodCYpOwogI2VuZGlmCiAKICAgICB2
b2lkIGFkZFJlbW90ZUF1ZGlvVHJhY2soVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgVHJh
Y2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbiYmKTsKQEAgLTE0NCw2ICsxNDQsMTAgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBhY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpOwogCisjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgYm9vbCBpblZpZGVvRnVsbHNjcmVlbk9yUGljdHVyZUluUGljdHVy
ZSgpIGNvbnN0OworI2VuZGlmCisKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIHZv
aWQgd2FpdGluZ0ZvcktleUNoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCBpbml0aWFsaXphdGlvbkRh
dGFFbmNvdW50ZXJlZChjb25zdCBTdHJpbmcmLCBJUEM6OkRhdGFSZWZlcmVuY2UmJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL1ZpZGVvTGF5
ZXJSZW1vdGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29j
b2EvVmlkZW9MYXllclJlbW90ZUNvY29hLm1tCmluZGV4IDk0MmM0MGI5MGQ3ZWNlNjgzZGEzOTE2
ODFmMGU5OWNjZjlmYTNhMTkuLjZhYWI5ZjU4MjUyNDdmZjkyZTQ4ZTNkNmM1ZTQxOWQxZGU3NjA2
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2Ev
VmlkZW9MYXllclJlbW90ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvY29jb2EvVmlkZW9MYXllclJlbW90ZUNvY29hLm1tCkBAIC05MSw3ICs5MSwxOCBA
QCBzdGF0aWMgY29uc3QgU2Vjb25kcyBQb3N0QW5pbWF0aW9uRGVsYXkgeyAxMDBfbXMgfTsKIAog
ICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBzb3VyY2VWaWRlb0ZyYW1lID0gc2VsZi52aWRlb0xheWVy
RnJhbWU7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFZpZGVvRnJhbWUgPSBzZWxmLmJv
dW5kczsKLSAgICBDR0FmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9y
bU1ha2VTY2FsZSh0YXJnZXRWaWRlb0ZyYW1lLndpZHRoKCkgLyBzb3VyY2VWaWRlb0ZyYW1lLndp
ZHRoKCksIHRhcmdldFZpZGVvRnJhbWUuaGVpZ2h0KCkgLyBzb3VyY2VWaWRlb0ZyYW1lLmhlaWdo
dCgpKTsKKyAgICBDR0FmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9y
bUlkZW50aXR5OworICAgIGlmICghc291cmNlVmlkZW9GcmFtZS5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgYm9vbCBpbkZ1bGxzY3JlZW5PclBpY3R1cmVJblBpY3R1cmUgPSBmYWxzZTsKKyAgICAgICAg
aWYgKGF1dG8qIG1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSA9IHNlbGYubWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlKQorICAgICAgICAgICAgaW5GdWxsc2NyZWVuT3JQaWN0dXJlSW5QaWN0dXJlID0g
bWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLT5pblZpZGVvRnVsbHNjcmVlbk9yUGljdHVyZUluUGlj
dHVyZSgpOworCisgICAgICAgIGlmIChpbkZ1bGxzY3JlZW5PclBpY3R1cmVJblBpY3R1cmUpIHsK
KyAgICAgICAgICAgIGF1dG8gc2NhbGUgPSBzdGQ6OmZtYXgodGFyZ2V0VmlkZW9GcmFtZS53aWR0
aCgpIC8gc291cmNlVmlkZW9GcmFtZS53aWR0aCgpLCB0YXJnZXRWaWRlb0ZyYW1lLmhlaWdodCgp
IC8gc291cmNlVmlkZW9GcmFtZS5oZWlnaHQoKSk7CisgICAgICAgICAgICB0cmFuc2Zvcm0gPSBD
R0FmZmluZVRyYW5zZm9ybU1ha2VTY2FsZShzY2FsZSwgc2NhbGUpOworICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgIHRyYW5zZm9ybSA9IENHQWZmaW5lVHJhbnNmb3JtTWFrZVNjYWxlKHRhcmdl
dFZpZGVvRnJhbWUud2lkdGgoKSAvIHNvdXJjZVZpZGVvRnJhbWUud2lkdGgoKSwgdGFyZ2V0Vmlk
ZW9GcmFtZS5oZWlnaHQoKSAvIHNvdXJjZVZpZGVvRnJhbWUuaGVpZ2h0KCkpOworICAgIH0KIAog
ICAgIGF1dG8qIHZpZGVvU3VibGF5ZXIgPSBbc3VibGF5ZXJzIG9iamVjdEF0SW5kZXg6MF07CiAg
ICAgW0NBVHJhbnNhY3Rpb24gYmVnaW5dOwpAQCAtMTM2LDcgKzE0Nyw3IEBAIHN0YXRpYyBjb25z
dCBTZWNvbmRzIFBvc3RBbmltYXRpb25EZWxheSB7IDEwMF9tcyB9OwogICAgICAgICBzZWxmLnZp
ZGVvTGF5ZXJGcmFtZSA9IHNlbGYuYm91bmRzOwogICAgICAgICBpZiAoYXV0byogbWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlID0gc2VsZi5tZWRpYVBsYXllclByaXZhdGVSZW1vdGUpIHsKICAgICAg
ICAgICAgIE1hY2hTZW5kUmlnaHQgZmVuY2VTZW5kUmlnaHQgPSBNYWNoU2VuZFJpZ2h0OjphZG9w
dChbX2NvbnRleHQgY3JlYXRlRmVuY2VQb3J0XSk7Ci0gICAgICAgICAgICBtZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUtPnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChXZWJDb3JlOjpJbnRTaXplKHNl
bGYudmlkZW9MYXllckZyYW1lLnNpemUpLCBmZW5jZVNlbmRSaWdodCk7CisgICAgICAgICAgICBt
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUtPnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChXZWJDb3Jl
OjpGbG9hdFNpemUoc2VsZi52aWRlb0xheWVyRnJhbWUuc2l6ZSksIGZlbmNlU2VuZFJpZ2h0KTsK
ICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQppbmRleCBiZDM1YWJjODk3ZTBiNDU0
NWJmODc0MjhjNmEwNzJlMzUyNjdkOWI5Li5lMGI0MmU1NjgyYTRkNDcwMWY5ODM3ZTcyNDRlODgz
NDU4NjZkOTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQpAQCAtNTksNyArNTksNyBAQAogbmFtZXNwYWNl
IFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIEludFJlY3QgaW5s
aW5lVmlkZW9GcmFtZShIVE1MVmlkZW9FbGVtZW50JiBlbGVtZW50KQorc3RhdGljIEZsb2F0UmVj
dCBpbmxpbmVWaWRlb0ZyYW1lKEhUTUxWaWRlb0VsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgYXV0
byYgZG9jdW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudC5oYXNM
aXZpbmdSZW5kZXJUcmVlKCkgfHwgZG9jdW1lbnQuYWN0aXZlRE9NT2JqZWN0c0FyZVN0b3BwZWQo
KSkKQEAgLTczLDcgKzczLDcgQEAgc3RhdGljIEludFJlY3QgaW5saW5lVmlkZW9GcmFtZShIVE1M
VmlkZW9FbGVtZW50JiBlbGVtZW50KQogICAgIGlmIChyZW5kZXJlci0+aGFzTGF5ZXIoKSAmJiBy
ZW5kZXJlci0+ZW5jbG9zaW5nTGF5ZXIoKS0+aXNDb21wb3NpdGVkKCkpIHsKICAgICAgICAgRmxv
YXRRdWFkIGNvbnRlbnRzQm94ID0gc3RhdGljX2Nhc3Q8RmxvYXRSZWN0PihyZW5kZXJlci0+ZW5j
bG9zaW5nTGF5ZXIoKS0+YmFja2luZygpLT5jb250ZW50c0JveCgpKTsKICAgICAgICAgY29udGVu
dHNCb3ggPSByZW5kZXJlci0+bG9jYWxUb0Fic29sdXRlUXVhZChjb250ZW50c0JveCk7Ci0gICAg
ICAgIHJldHVybiBlbGVtZW50LmRvY3VtZW50KCkudmlldygpLT5jb250ZW50c1RvUm9vdFZpZXco
Y29udGVudHNCb3guZW5jbG9zaW5nQm91bmRpbmdCb3goKSk7CisgICAgICAgIHJldHVybiBlbGVt
ZW50LmRvY3VtZW50KCkudmlldygpLT5jb250ZW50c1RvUm9vdFZpZXcoY29udGVudHNCb3guYm91
bmRpbmdCb3goKSk7CiAgICAgfQogCiAgICAgYXV0byByZWN0ID0gcmVuZGVyZXItPnZpZGVvQm94
KCk7CkBAIC0zOTMsNyArMzkzLDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpyZXF1
ZXN0VXBkYXRlSW5saW5lUmVjdChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnQKICAgICAgICAg
cmV0dXJuOwogCiAgICAgYXV0byYgbW9kZWwgPSBlbnN1cmVNb2RlbChjb250ZXh0SWQpOwotICAg
IEludFJlY3QgaW5saW5lUmVjdCA9IGlubGluZVZpZGVvRnJhbWUoKm1vZGVsLnZpZGVvRWxlbWVu
dCgpKTsKKyAgICBhdXRvIGlubGluZVJlY3QgPSBpbmxpbmVWaWRlb0ZyYW1lKCptb2RlbC52aWRl
b0VsZW1lbnQoKSk7CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHk6OlNldElubGluZVJlY3QoY29udGV4dElkLCBpbmxpbmVSZWN0LCBpbmxpbmVS
ZWN0ICE9IEludFJlY3QoMCwgMCwgMCwgMCkpKTsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="448874"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428065</attachid>
            <date>2021-05-07 17:22:16 -0700</date>
            <delta_ts>2021-05-07 17:24:39 -0700</delta_ts>
            <desc>Fix build failures</desc>
            <filename>bug-225548-20210507172215.patch</filename>
            <type>text/plain</type>
            <size>27471</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2MzNmVkOWU1NTdjMWY5
MWJjN2M2NDc2YmI0MTRlZjhmNzhlMTMxYi4uNDk3YWM4M2Q2NDFiZWE1MTJhNDk0NDBjZDVkOGNi
MTQ5OWM1YzBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA1LTA3ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIEEgc21hbGwgdmlk
ZW8gZWxlbWVudCBlbnRlcnMgZnVsbHNjcmVlbiB3aXRoIHN0cmFuZ2UgYW5pbWF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGBGbG9hdFJl
Y3RgIGluc3RlYWQgb2YgYEludFJlY3RgIHRvIGV4Y2hhbmdlIHZpZGVvIGVsZW1lbnQgbG9jYXRp
b24vc2l6ZQorICAgICAgICBpbmZvcm1hdGlvbiBiZXR3ZWVuIFdlYkNvbnRlbnQgcHJvY2Vzc2Vz
IGFuZCB0aGUgVUkgcHJvY2VzcyB0byBhdm9pZCBpbmZvcm1hdGlvbgorICAgICAgICBtaXNtYXRj
aCBkdWUgdG8gZmxvYXRpbmctcG9pbnQgcm91bmRpbmcuCisKKyAgICAgICAgTWFudWFsbHkgdGVz
dGVkLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVs
bHNjcmVlbik6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZXhpdEZ1
bGxzY3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBh
cmVkVG9SZXR1cm5Ub0lubGluZSk6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2V0SW5saW5lUmVjdCk6CisKIDIwMjEtMDUtMDUgIFNhbSBXZWluaWcgIDx3ZWluaWdA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBzcGVjaWZ5
aW5nIGEgY29sb3Igc3BhY2UgZm9yIDJEIGNhbnZhcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxNGJjNzBjYTE0MTA4
N2EzNGI1NDFjOGEzM2FjNjc2ZWYzODEwZmE3Li4xNTYyM2Q1MzRlYzhhYmJmMTE3MTA0OGFhMjY3
YWZlMjI1YmU4Y2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA1LTA3ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIEEgc21hbGwgdmlk
ZW8gZWxlbWVudCBlbnRlcnMgZnVsbHNjcmVlbiB3aXRoIHN0cmFuZ2UgYW5pbWF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGBGbG9hdFJl
Y3RgIGluc3RlYWQgb2YgYEludFJlY3RgIHRvIGV4Y2hhbmdlIHZpZGVvIGVsZW1lbnQgbG9jYXRp
b24vc2l6ZQorICAgICAgICBpbmZvcm1hdGlvbiBiZXR3ZWVuIFdlYkNvbnRlbnQgcHJvY2Vzc2Vz
IGFuZCB0aGUgVUkgcHJvY2VzcyB0byBhdm9pZCBpbmZvcm1hdGlvbgorICAgICAgICBtaXNtYXRj
aCBkdWUgdG8gZmxvYXRpbmctcG9pbnQgcm91bmRpbmcuCisKKyAgICAgICAgRGVhbCB3aXRoIHRo
ZSB2aWRlbyBlbGVtZW50IHJlc2l6aW5nIGRpZmZlcmVudGx5IGZvciB0d28gY2FzZXM6CisgICAg
ICAgIDEpIFZpZGVvIGlzIHBsYXlpbmcgaW4gdGhlIGlubGluZSBtb2RlLgorICAgICAgICAyKSBW
aWRlbyBpcyBlbnRlcmluZyBmdWxsc2NyZWVuL3BpY3R1cmUtaW4tcGljdHVyZS4KKyAgICAgICAg
Rm9yIHRoZSBsYXR0ZXIgY2FzZSwgYC1bV0tWaWRlb0xheWVyUmVtb3RlIGxheW91dFN1YmxheWVy
c11gIHdpbGwgc2NhbGUgdGhlIGxheWVyCisgICAgICAgIHdpdGggdGhlIHNhbWUgZmFjdG9yIGlu
IGJvdGggWCBhbmQgWSBkaXJlY3Rpb24uCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OnNldFZpZGVvSW5saW5lU2l6ZUlmUG9zc2libGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQpOgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5t
bToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1
bGxzY3JlZW5XaXRoSUQpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OmV4aXRGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5OjpzZXRJbmxpbmVSZWN0KToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5OjpwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUpOgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0lubGluZVNp
emVGZW5jZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Omlu
VmlkZW9GdWxsc2NyZWVuT3JQaWN0dXJlSW5QaWN0dXJlIGNvbnN0KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9WaWRlb0xheWVyUmVtb3RlQ29jb2EubW06CisgICAg
ICAgICgtW1dLVmlkZW9MYXllclJlbW90ZSBsYXlvdXRTdWJsYXllcnNdKToKKyAgICAgICAgKC1b
V0tWaWRlb0xheWVyUmVtb3RlIHJlc29sdmVCb3VuZHNdKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6OmlubGlu
ZVZpZGVvRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpy
ZXF1ZXN0VXBkYXRlSW5saW5lUmVjdCk6CisKIDIwMjEtMDUtMDUgIEplYW4tWXZlcyBBdmVuYXJk
ICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1hY3RpdmVzb3VyY2VidWZmZXJzLmh0bWwgaXMg
YSBmbGFrZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Zp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKaW5kZXggM2IzYTg3NTU0NDAwNGEwNTE4ZmQ1
ZmY4NjYzN2VjMjI5Zjc4ZjZmZS4uODc4NzMxZjBiOWU3OTAxNjkxODRjMjRmNTNkYTRkY2E1MzJm
OTQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Zp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKQEAgLTU0LDcgKzU0LDcgQEAgT0JKQ19DTEFT
UyBXZWJBVlBsYXllclZpZXdDb250cm9sbGVyRGVsZWdhdGU7CiBPQkpDX0NMQVNTIE5TRXJyb3I7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIEludFJlY3Q7CitjbGFzcyBGbG9hdFJlY3Q7
CiBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBWaWRlb0Z1bGxzY3JlZW5Nb2RlbDsKIGNsYXNzIFZp
ZGVvRnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyOwpAQCAtODAsMTYgKzgwLDE2IEBAIHB1YmxpYzoK
ICAgICAvLyBQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudAogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoYm9vbCBlbmFibGVkLCBQbGF5YmFja1Nlc3Npb25N
b2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYgbG9jYWxpemVk
RGV2aWNlTmFtZSkgZmluYWw7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldHVwRnVsbHNj
cmVlbihVSVZpZXcmIHZpZGVvVmlldywgY29uc3QgSW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0
IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRp
YUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXR1cEZ1
bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0IEZsb2F0UmVjdCYgaW5pdGlhbFJlY3Qs
IGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1
bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBl
bnRlckZ1bGxzY3JlZW4oKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIGV4aXRGdWxsc2NyZWVu
KGNvbnN0IEludFJlY3QmIGZpbmFsUmVjdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBleGl0
RnVsbHNjcmVlbihjb25zdCBGbG9hdFJlY3QmIGZpbmFsUmVjdCk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBjbGVhbnVwRnVsbHNjcmVlbigpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaW52
YWxpZGF0ZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVxdWVzdEhpZGVBbmRFeGl0RnVs
bHNjcmVlbigpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJlcGFyZWRUb1JldHVyblRvSW5s
aW5lKGJvb2wgdmlzaWJsZSwgY29uc3QgSW50UmVjdCYgaW5saW5lUmVjdCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoYm9vbCB2aXNpYmxlLCBjb25z
dCBGbG9hdFJlY3QmIGlubGluZVJlY3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJlcGFy
ZWRUb0V4aXRGdWxsc2NyZWVuKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIYXNWaWRl
b0NvbnRlbnRMYXllcihib29sKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldElubGluZVJl
Y3QoY29uc3QgSW50UmVjdCYsIGJvb2wgdmlzaWJsZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRJbmxpbmVSZWN0KGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wgdmlzaWJsZSk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9TdGFuZGJ5KCk7CiAgICAgYm9vbCBj
aGFuZ2luZ1N0YW5kYnlPbmx5KCkgeyByZXR1cm4gbV9jaGFuZ2luZ1N0YW5kYnlPbmx5OyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCA4N2YyMWIxNTQxMTRkNjZlYjYzZjA5YzQ1NDI4
ODYxYWI3NGU3M2Q1Li45NjFlNDJmYjI3N2M5NzgwNzk4MWYxZjAxYjNiODIyMzBjZmVmMWNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC05MjYsNyArOTI2LDcgQEAgdm9pZCBWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKQogICAg
IExPRyhGdWxsc2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmFwcGxpY2F0
aW9uRGlkQmVjb21lQWN0aXZlKCVwKSIsIHRoaXMpOwogfQogCi12b2lkIFZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0
IEludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywg
VUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUgbW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3Rh
bmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkK
K3ZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihVSVZp
ZXcmIHZpZGVvVmlldywgY29uc3QgRmxvYXRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxvYXRT
aXplJiB2aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVu
dEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGlj
dHVyZVBsYXliYWNrLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmUpCiB7CiAgICAgQVNTRVJUKHN0YW5kYnkgfHwgbW9kZSAhPSBI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKTsKICAgICBMT0co
RnVsbHNjcmVlbiwgIlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3Jl
ZW4oJXApIiwgdGhpcyk7CkBAIC05NTYsNyArOTU2LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuKCkKICAgICBkb0VudGVyRnVsbHNjcmVlbigp
OwogfQogCi1ib29sIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpleGl0RnVsbHNjcmVl
bihjb25zdCBJbnRSZWN0JiBmaW5hbFJlY3QpCitib29sIFZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpleGl0RnVsbHNjcmVlbihjb25zdCBGbG9hdFJlY3QmIGZpbmFsUmVjdCkKIHsKICAg
ICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwogCkBAIC0xMDY2LDcgKzEwNjYsNyBAQCB2b2lkIFZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpyZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVu
KCkKICAgICB9CiB9CiAKLXZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBh
cmVkVG9SZXR1cm5Ub0lubGluZShib29sIHZpc2libGUsIGNvbnN0IEludFJlY3QmIGlubGluZVJl
Y3QpCit2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJlZFRvUmV0dXJu
VG9JbmxpbmUoYm9vbCB2aXNpYmxlLCBjb25zdCBGbG9hdFJlY3QmIGlubGluZVJlY3QpCiB7CiAg
ICAgTE9HKEZ1bGxzY3JlZW4sICJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFy
ZWRUb1JldHVyblRvSW5saW5lKCVwKSAtIHZpc2libGUoJXMpIiwgdGhpcywgYm9vbFN0cmluZyh2
aXNpYmxlKSk7CiAgICAgc2V0SW5saW5lUmVjdChpbmxpbmVSZWN0LCB2aXNpYmxlKTsKQEAgLTEz
MDEsNyArMTMwMSw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldEhh
c1ZpZGVvQ29udGVudExheWVyKGJvb2wgdmFsdWUpCiAgICAgICAgIGRvRXhpdEZ1bGxzY3JlZW4o
KTsKIH0KIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0SW5saW5lUmVj
dChjb25zdCBJbnRSZWN0JiBpbmxpbmVSZWN0LCBib29sIHZpc2libGUpCit2b2lkIFZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXRJbmxpbmVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgaW5s
aW5lUmVjdCwgYm9vbCB2aXNpYmxlKQogewogICAgIG1faW5saW5lUmVjdCA9IGlubGluZVJlY3Q7
CiAgICAgbV9pbmxpbmVJc1Zpc2libGUgPSB2aXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggNzcw
ZDdmYzIyNDliZGNjN2E0YmExNjhkZDliZDk3YzU3YmYxYzAyMy4uZDdjYWI0NjRiNThhODFlZGJh
NjcyNWIwNzNlNjIwNDQzMzdjNjYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0xNDYsNyArMTQ2LDcg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkTG9hZGluZ1Byb2dyZXNzKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdm9pZCBzZXRWaWRl
b0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdURjo6TWFj
aFNlbmRSaWdodCYpOworICAgIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYsIGNvbnN0IFdURjo6TWFjaFNlbmRSaWdodCYpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpAQCAtMzMxLDcgKzMzMSw3IEBA
IHByaXZhdGU6CiAgICAgU2Vjb25kcyBtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2
YWw7CiAgICAgTW9ub3RvbmljVGltZSBtX25leHRQbGF5YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRl
VGltZTsKIAotICAgIFdlYkNvcmU6OkludFNpemUgbV92aWRlb0lubGluZVNpemU7CisgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIG1fdmlkZW9JbmxpbmVTaXplOwogICAgIGZsb2F0IG1fdmlkZW9Db250
ZW50U2NhbGUgeyAxLjAgfTsKIAogICAgIGJvb2wgbV9idWZmZXJlZENoYW5nZWQgeyB0cnVlIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGRlMDY2MzIwMDY4YzY2M2Vi
ZjQyYzE0OTg3MzM5ZmNhMWI0ZGEwMWYuLjhhOTI0YjU5YTY4NjNhYzllYTc4ZjMzZmFkOTU2Nzdm
ZGMxYTk3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC02Niw3ICs2
Niw3IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7
CiAgICAgU2V0QnVmZmVyaW5nUG9saWN5KFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpCdWZmZXJpbmdQ
b2xpY3kgcG9saWN5KQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgU2V0VmlkZW9JbmxpbmVT
aXplRmVuY2VkKFdlYkNvcmU6OkludFNpemUgc2l6ZSwgTWFjaFNlbmRSaWdodCBtYWNoU2VuZFJp
Z2h0KQorICAgIFNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChXZWJDb3JlOjpGbG9hdFNpemUgc2l6
ZSwgTWFjaFNlbmRSaWdodCBtYWNoU2VuZFJpZ2h0KQogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2Eu
bW0KaW5kZXggYjUyMzhlN2FjZWQ5NWYwMDg1NjhjZWIzYjA1ODM5NGVmNzg3MDJiMy4uMGUwY2Qy
Y2RjNmE0OTA1MzQ0NmM2ZDExY2Y3NmZhZGVkNjM5ZGU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tCkBAIC0zMSwxNSArMzEsMTUgQEAKICNpbXBvcnQgIkxheWVySG9z
dGluZ0NvbnRleHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2Vz
LmgiCiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
RmxvYXRTaXplLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgotI2ltcG9ydCA8V2Vi
Q29yZS9JbnRTaXplLmg+CiAjaW1wb3J0IDx3dGYvTWFjaFNlbmRSaWdodC5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotc3RhdGljIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZShM
YXllckhvc3RpbmdDb250ZXh0JiBjb250ZXh0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXpl
KQorc3RhdGljIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZShMYXllckhvc3RpbmdD
b250ZXh0JiBjb250ZXh0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHNpemUpCiB7Ci0gICAg
aWYgKCFjb250ZXh0LnJvb3RMYXllcigpKQorICAgIGlmICghY29udGV4dC5yb290TGF5ZXIoKSB8
fCBzaXplLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2UgZG8gbm90IHdh
bnQgYW5pbWF0aW9ucyBoZXJlLgpAQCAtNzAsNyArNzAsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCkKICAgICBtX3dl
YlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OkZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpLCBtX2lkKTsKIH0KIAotdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgc2l6ZSwgY29uc3QgV1RGOjpNYWNoU2VuZFJpZ2h0JiBtYWNoU2VuZFJpZ2h0KQor
dm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmIG1h
Y2hTZW5kUmlnaHQpCiB7CiAgICAgbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LT5zZXRGZW5j
ZVBvcnQobWFjaFNlbmRSaWdodC5zZW5kUmlnaHQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgK
aW5kZXggYWE5ZjZiMTM4NGQ5M2I4YjIwZDUwOWVlMzA2NGJhNzUxMGRmMjQ4NS4uODlmMDM2YmYy
N2IxZDgwYmU5MWI5YmNlZTVmM2I3MGQxZGZkN2ZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgK
QEAgLTE3NCwxNSArMTc0LDE1IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZURpZENoYW5nZShib29sKTsKIAogICAgIC8vIE1lc3NhZ2VzIGZyb20gVmlkZW9G
dWxsc2NyZWVuTWFuYWdlcgotICAgIHZvaWQgc2V0dXBGdWxsc2NyZWVuV2l0aElEKFBsYXliYWNr
U2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCB2
aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFj
dG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUs
IGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1Jl
dHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKTsKLSAgICB2b2lkIHNldElubGlu
ZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSk7CisgICAgdm9pZCBzZXR1cEZ1bGxzY3Jl
ZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIFdlYktpdDo6TGF5ZXJI
b3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBp
bml0aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZs
b2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3Rh
bmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7
CisgICAgdm9pZCBzZXRJbmxpbmVSZWN0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVy
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSk7CiAg
ICAgdm9pZCBzZXRIYXNWaWRlb0NvbnRlbnRMYXllcihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRl
bnRpZmllciwgYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRIYXNWaWRlbyhQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgYm9vbCk7CiAgICAgdm9pZCBzZXRWaWRlb0RpbWVuc2lvbnMo
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6
ZSYpOwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyKTsKLSAgICB2b2lkIGV4aXRGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJik7CisgICAgdm9pZCBleGl0RnVsbHNjcmVlbihQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6RmxvYXRSZWN0IGZpbmFsUmVjdCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBjbGVhbnVwRnVsbHNjcmVlbihQbGF5
YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgdm9pZCBwcmVwYXJlZFRvUmV0dXJu
VG9JbmxpbmUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wgdmlzaWJsZSwg
V2ViQ29yZTo6SW50UmVjdCBpbmxpbmVSZWN0KTsKKyAgICB2b2lkIHByZXBhcmVkVG9SZXR1cm5U
b0lubGluZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9vbCB2aXNpYmxlLCBX
ZWJDb3JlOjpGbG9hdFJlY3QgaW5saW5lUmVjdCk7CiAgICAgdm9pZCBwcmVwYXJlZFRvRXhpdEZ1
bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwogICAgIHZvaWQgZXhp
dEZ1bGxzY3JlZW5XaXRob3V0QW5pbWF0aW9uVG9Nb2RlKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
Y2VlMTgwYzE2ZTdkOTU2Y2Q0ZTMwYTU0MzMxN2ZjY2E5MWFhNWI0NC4uZGRmODUwNjQ0NjgzYmQy
NmEyZmIxYjI1ZjFlNTExN2IyZTc1YWFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbgpAQCAtMjQsMTUgKzI0LDE1IEBACiBtZXNzYWdlcyAtPiBWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHkgewogICAgIFNldEhhc1ZpZGVvKFdlYktpdDo6UGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29sIGhhc1ZpZGVvKQogICAgIFNldFZp
ZGVvRGltZW5zaW9ucyhXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNv
bnRleHRJZCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5zaW9ucykKLSAgICBTZXR1cEZ1
bGxzY3JlZW5XaXRoSUQoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBj
b250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgV2Vi
Q29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5z
aW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxv
d3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxs
c2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUpCisgICAgU2V0dXBGdWxsc2NyZWVuV2l0aElEKFdl
YktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6
OkxheWVySG9zdGluZ0NvbnRleHRJRCB2aWRlb0xheWVySUQsIFdlYkNvcmU6OkZsb2F0UmVjdCBp
bml0aWFsUmVjdCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9z
dGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVs
bHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0
dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1
cmVJblBpY3R1cmUpCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgRW50ZXJGdWxsc2Ny
ZWVuKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkKQog
I2VuZGlmCi0gICAgRXhpdEZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkludFJlY3QgZmluYWxSZWN0KSAtPiAoYm9v
bCBzdWNjZXNzKSBBc3luYwotICAgIFNldElubGluZVJlY3QoV2ViS2l0OjpQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkludFJlY3QgaW5saW5lUmVj
dCwgYm9vbCB2aXNpYmxlKQorICAgIEV4aXRGdWxsc2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3JlOjpGbG9hdFJlY3QgZmluYWxS
ZWN0KSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYworICAgIFNldElubGluZVJlY3QoV2ViS2l0OjpQ
bGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkZsb2F0
UmVjdCBpbmxpbmVSZWN0LCBib29sIHZpc2libGUpCiAgICAgU2V0SGFzVmlkZW9Db250ZW50TGF5
ZXIoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGJv
b2wgdmFsdWUpCiAgICAgQ2xlYW51cEZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpCi0gICAgUHJlcGFyZWRUb1JldHVyblRvSW5saW5l
KFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29s
IHZpc2libGUsIFdlYkNvcmU6OkludFJlY3QgaW5saW5lUmVjdCkKKyAgICBQcmVwYXJlZFRvUmV0
dXJuVG9JbmxpbmUoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250
ZXh0SWQsIGJvb2wgdmlzaWJsZSwgV2ViQ29yZTo6RmxvYXRSZWN0IGlubGluZVJlY3QpCiAgICAg
UHJlcGFyZWRUb0V4aXRGdWxsc2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIgY29udGV4dElkKQogICAgIEV4aXRGdWxsc2NyZWVuV2l0aG91dEFuaW1hdGlvblRv
TW9kZShXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwg
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVv
RnVsbHNjcmVlbk1vZGUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KaW5kZXggZTk4NzRhNWQ5
Y2FiM2JkYzllNWNkYzgxNTcwZTA4ODdjNjg1MTVlNi4uNmM3M2I4YmEwMGI5NDc4MDQ0NTU1M2Iy
ZDc4NDhkNTA5YjQ0YWRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQpAQCAtNTIwLDcgKzUy
MCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpoYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZURpZENoYW5nZShib29sIHZhbHVlCiAKICNwcmFnbWEgbWFyayBNZXNzYWdlcyBm
cm9tIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXIKIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJ
RCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nRGV2aWNlU2NhbGVGYWN0b3Is
IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3Jl
ZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSwgYm9vbCBi
bG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKK3ZvaWQgVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRl
eHRJRCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgaW5pdGlhbFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5n
RGV2aWNlU2NhbGVGYWN0b3IsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJv
b2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGlj
dHVyZSkKIHsKICAgICBNRVNTQUdFX0NIRUNLKHZpZGVvTGF5ZXJJRCk7CiAKQEAgLTU2MSw3ICs1
NjEsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVu
V2l0aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZAogICAgIFVOVVNFRF9QQVJBTSh2aWRlb0Rp
bWVuc2lvbnMpOwogICAgIFVOVVNFRF9QQVJBTShibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9t
UGljdHVyZUluUGljdHVyZSk7CiAgICAgSW50UmVjdCBpbml0aWFsV2luZG93UmVjdDsKLSAgICBt
X3BhZ2UtPnJvb3RWaWV3VG9XaW5kb3coaW5pdGlhbFJlY3QsIGluaXRpYWxXaW5kb3dSZWN0KTsK
KyAgICBtX3BhZ2UtPnJvb3RWaWV3VG9XaW5kb3coZW5jbG9zaW5nSW50UmVjdChpbml0aWFsUmVj
dCksIGluaXRpYWxXaW5kb3dSZWN0KTsKICAgICBpbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigq
bW9kZWwtPmxheWVySG9zdFZpZXcoKSwgaW5pdGlhbFdpbmRvd1JlY3QsIG1fcGFnZS0+cGxhdGZv
cm1XaW5kb3coKSwgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxsb3dzUGljdHVyZUluUGljdHVyZSk7
CiAjZW5kaWYKIH0KQEAgLTYxNCw3ICs2MTQsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eTo6ZW50ZXJGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaQog
ICAgIH0KIH0KIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmV4aXRGdWxsc2Ny
ZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6
SW50UmVjdCBmaW5hbFJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZXhpdEZ1bGxz
Y3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3Jl
OjpGbG9hdFJlY3QgZmluYWxSZWN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChtX2NvbnRleHRNYXAuY29udGFpbnMoY29u
dGV4dElkKSk7CiAgICAgaWYgKCFtX2NvbnRleHRNYXAuY29udGFpbnMoY29udGV4dElkKSkgewpA
QCAtNjI0LDcgKzYyNCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpleGl0
RnVsbHNjcmVlbihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllCiAKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBJbnRSZWN0IGZpbmFsV2luZG93UmVjdDsKLSAgICBtX3BhZ2Ut
PnJvb3RWaWV3VG9XaW5kb3coZmluYWxSZWN0LCBmaW5hbFdpbmRvd1JlY3QpOworICAgIG1fcGFn
ZS0+cm9vdFZpZXdUb1dpbmRvdyhlbmNsb3NpbmdJbnRSZWN0KGZpbmFsUmVjdCksIGZpbmFsV2lu
ZG93UmVjdCk7CiAjZW5kaWYKIAogICAgIGlmIChtX21vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVF
bmFibGVkKSB7CkBAIC02NjQsNyArNjY0LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OmV4aXRGdWxsc2NyZWVuV2l0aG91dEFuaW1hdGlvblRvTW9kZShQbGF5YmFja1MKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKLXZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5OjpzZXRJbmxpbmVSZWN0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRl
eHRJZCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5saW5lUmVjdCwgYm9vbCB2aXNpYmxlKQor
dm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldElubGluZVJlY3QoUGxheWJhY2tT
ZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSkKIHsKICAgICBpZiAobV9tb2NrVmlkZW9QcmVz
ZW50YXRpb25Nb2RlRW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtNzEwLDEzICs3MTAsMTMg
QEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmNsZWFudXBGdWxsc2NyZWVuKFBs
YXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGkKICAgICBlbnN1cmVJbnRlcmZhY2UoY29udGV4dElk
KS5jbGVhbnVwRnVsbHNjcmVlbigpOwogfQogCi12b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6cHJlcGFyZWRUb1JldHVyblRvSW5saW5lKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyIGNvbnRleHRJZCwgYm9vbCB2aXNpYmxlLCBXZWJDb3JlOjpJbnRSZWN0IGlubGluZVJl
Y3QpCit2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6cHJlcGFyZWRUb1JldHVyblRv
SW5saW5lKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgYm9vbCB2
aXNpYmxlLCBXZWJDb3JlOjpGbG9hdFJlY3QgaW5saW5lUmVjdCkKIHsKICAgICBtX3BhZ2UtPmZ1
bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZSgpOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgSW50UmVjdCBpbmxpbmVXaW5kb3dSZWN0OwotICAgIG1fcGFnZS0+cm9vdFZpZXdUb1dp
bmRvdyhpbmxpbmVSZWN0LCBpbmxpbmVXaW5kb3dSZWN0KTsKKyAgICBtX3BhZ2UtPnJvb3RWaWV3
VG9XaW5kb3coZW5jbG9zaW5nSW50UmVjdChpbmxpbmVSZWN0KSwgaW5saW5lV2luZG93UmVjdCk7
CiAjZW5kaWYKIAogICAgIGlmIChtX21vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVkKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDNkOGE5MDE3YmNiNjc0NWQyMmU0YWE3
ZDk4NGFjMWM0MDZmZGE0NmIuLjlmY2Q1NTQ2MzM4MTc4ODcyYjUxZGM0Y2I4MTczZTk0M2RkYjY5
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTg2Nyw3ICs4NjcsNyBAQCB1
bnNpZ25lZCBsb25nIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp0b3RhbEJ5dGVzKCkg
Y29uc3QKIH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBJbnRTaXplJiBzaXplLCBjb25z
dCBXVEY6Ok1hY2hTZW5kUmlnaHQmIG1hY2hTZW5kUmlnaHQpCit2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6c2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0IEZsb2F0U2l6ZSYgc2l6
ZSwgY29uc3QgV1RGOjpNYWNoU2VuZFJpZ2h0JiBtYWNoU2VuZFJpZ2h0KQogewogICAgIGNvbm5l
Y3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpTZXRWaWRlb0lu
bGluZVNpemVGZW5jZWQoc2l6ZSwgbWFjaFNlbmRSaWdodCksIG1faWQpOwogfQpAQCAtMTIwOCw2
ICsxMjA4LDE3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpub3RpZnlBY3RpdmVT
b3VyY2VCdWZmZXJzQ2hhbmdlZCgpCiAgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJl
bW90ZU1lZGlhUGxheWVyUHJveHk6Ok5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCks
IG1faWQpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCitib29sIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6aW5WaWRlb0Z1bGxzY3JlZW5PclBpY3R1cmVJblBpY3R1cmUoKSBjb25zdAorewor
I2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKKyAgICByZXR1cm4gISFtX3ZpZGVv
TGF5ZXJNYW5hZ2VyLT52aWRlb0Z1bGxzY3JlZW5MYXllcigpOworI2Vsc2UKKyAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKK30KKyNlbmRpZgorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6YXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCkKIHsKICAgICBjb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6QXBwbGljYXRpb25XaWxsUmVzaWdu
QWN0aXZlKCksIG1faWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXggNTgyNDFiNjNh
NzEyM2RlNjIwNzBiODYyMGUyOGY4YjgyMDM5N2MxYS4uM2EyODAwZGFkNTZkYWFkZDA3OWYwNTYy
NzBiODI4NDdkYzljMWRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBAIC0xMDcsNyAr
MTA3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCk7CiAg
ICAgdm9pZCByZW5kZXJpbmdNb2RlQ2hhbmdlZCgpOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAg
IHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBj
b25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmKTsKKyAgICB2b2lkIHNldFZpZGVvSW5saW5lU2l6ZUZl
bmNlZChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQm
KTsKICNlbmRpZgogCiAgICAgdm9pZCBhZGRSZW1vdGVBdWRpb1RyYWNrKFRyYWNrUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIsIFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24mJik7CkBAIC0x
NDQsNiArMTQ0LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWN0aXZlU291cmNlQnVmZmVyc0No
YW5nZWQoKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGJvb2wgaW5WaWRlb0Z1bGxzY3Jl
ZW5PclBpY3R1cmVJblBpY3R1cmUoKSBjb25zdDsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKICAgICB2b2lkIHdhaXRpbmdGb3JLZXlDaGFuZ2VkKGJvb2wpOwogICAgIHZv
aWQgaW5pdGlhbGl6YXRpb25EYXRhRW5jb3VudGVyZWQoY29uc3QgU3RyaW5nJiwgSVBDOjpEYXRh
UmVmZXJlbmNlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9jb2NvYS9WaWRlb0xheWVyUmVtb3RlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL2NvY29hL1ZpZGVvTGF5ZXJSZW1vdGVDb2NvYS5tbQppbmRleCA5NDJj
NDBiOTBkN2VjZTY4M2RhMzkxNjgxZjBlOTljY2Y5ZmEzYTE5Li42YWFiOWY1ODI1MjQ3ZmY5MmU0
OGUzZDZjNWU0MTlkMWRlNzYwNjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL2NvY29hL1ZpZGVvTGF5ZXJSZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL1ZpZGVvTGF5ZXJSZW1vdGVDb2NvYS5t
bQpAQCAtOTEsNyArOTEsMTggQEAgc3RhdGljIGNvbnN0IFNlY29uZHMgUG9zdEFuaW1hdGlvbkRl
bGF5IHsgMTAwX21zIH07CiAKICAgICBXZWJDb3JlOjpGbG9hdFJlY3Qgc291cmNlVmlkZW9GcmFt
ZSA9IHNlbGYudmlkZW9MYXllckZyYW1lOwogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRW
aWRlb0ZyYW1lID0gc2VsZi5ib3VuZHM7Ci0gICAgQ0dBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3Jt
ID0gQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2NhbGUodGFyZ2V0VmlkZW9GcmFtZS53aWR0aCgpIC8g
c291cmNlVmlkZW9GcmFtZS53aWR0aCgpLCB0YXJnZXRWaWRlb0ZyYW1lLmhlaWdodCgpIC8gc291
cmNlVmlkZW9GcmFtZS5oZWlnaHQoKSk7CisgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3Jt
ID0gQ0dBZmZpbmVUcmFuc2Zvcm1JZGVudGl0eTsKKyAgICBpZiAoIXNvdXJjZVZpZGVvRnJhbWUu
aXNFbXB0eSgpKSB7CisgICAgICAgIGJvb2wgaW5GdWxsc2NyZWVuT3JQaWN0dXJlSW5QaWN0dXJl
ID0gZmFsc2U7CisgICAgICAgIGlmIChhdXRvKiBtZWRpYVBsYXllclByaXZhdGVSZW1vdGUgPSBz
ZWxmLm1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSkKKyAgICAgICAgICAgIGluRnVsbHNjcmVlbk9y
UGljdHVyZUluUGljdHVyZSA9IG1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS0+aW5WaWRlb0Z1bGxz
Y3JlZW5PclBpY3R1cmVJblBpY3R1cmUoKTsKKworICAgICAgICBpZiAoaW5GdWxsc2NyZWVuT3JQ
aWN0dXJlSW5QaWN0dXJlKSB7CisgICAgICAgICAgICBhdXRvIHNjYWxlID0gc3RkOjpmbWF4KHRh
cmdldFZpZGVvRnJhbWUud2lkdGgoKSAvIHNvdXJjZVZpZGVvRnJhbWUud2lkdGgoKSwgdGFyZ2V0
VmlkZW9GcmFtZS5oZWlnaHQoKSAvIHNvdXJjZVZpZGVvRnJhbWUuaGVpZ2h0KCkpOworICAgICAg
ICAgICAgdHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2NhbGUoc2NhbGUsIHNjYWxl
KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5z
Zm9ybU1ha2VTY2FsZSh0YXJnZXRWaWRlb0ZyYW1lLndpZHRoKCkgLyBzb3VyY2VWaWRlb0ZyYW1l
LndpZHRoKCksIHRhcmdldFZpZGVvRnJhbWUuaGVpZ2h0KCkgLyBzb3VyY2VWaWRlb0ZyYW1lLmhl
aWdodCgpKTsKKyAgICB9CiAKICAgICBhdXRvKiB2aWRlb1N1YmxheWVyID0gW3N1YmxheWVycyBv
YmplY3RBdEluZGV4OjBdOwogICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsKQEAgLTEzNiw3ICsx
NDcsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBQb3N0QW5pbWF0aW9uRGVsYXkgeyAxMDBfbXMg
fTsKICAgICAgICAgc2VsZi52aWRlb0xheWVyRnJhbWUgPSBzZWxmLmJvdW5kczsKICAgICAgICAg
aWYgKGF1dG8qIG1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSA9IHNlbGYubWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlKSB7CiAgICAgICAgICAgICBNYWNoU2VuZFJpZ2h0IGZlbmNlU2VuZFJpZ2h0ID0g
TWFjaFNlbmRSaWdodDo6YWRvcHQoW19jb250ZXh0IGNyZWF0ZUZlbmNlUG9ydF0pOwotICAgICAg
ICAgICAgbWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLT5zZXRWaWRlb0lubGluZVNpemVGZW5jZWQo
V2ViQ29yZTo6SW50U2l6ZShzZWxmLnZpZGVvTGF5ZXJGcmFtZS5zaXplKSwgZmVuY2VTZW5kUmln
aHQpOworICAgICAgICAgICAgbWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLT5zZXRWaWRlb0lubGlu
ZVNpemVGZW5jZWQoV2ViQ29yZTo6RmxvYXRTaXplKHNlbGYudmlkZW9MYXllckZyYW1lLnNpemUp
LCBmZW5jZVNlbmRSaWdodCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KaW5k
ZXggYmQzNWFiYzg5N2UwYjQ1NDViZjg3NDI4YzZhMDcyZTM1MjY3ZDliOS4uZTBiNDJlNTY4MmE0
ZDQ3MDFmOTgzN2U3MjQ0ZTg4MzQ1ODY2ZDk5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KQEAgLTU5LDcg
KzU5LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
LXN0YXRpYyBJbnRSZWN0IGlubGluZVZpZGVvRnJhbWUoSFRNTFZpZGVvRWxlbWVudCYgZWxlbWVu
dCkKK3N0YXRpYyBGbG9hdFJlY3QgaW5saW5lVmlkZW9GcmFtZShIVE1MVmlkZW9FbGVtZW50JiBl
bGVtZW50KQogewogICAgIGF1dG8mIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwogICAg
IGlmICghZG9jdW1lbnQuaGFzTGl2aW5nUmVuZGVyVHJlZSgpIHx8IGRvY3VtZW50LmFjdGl2ZURP
TU9iamVjdHNBcmVTdG9wcGVkKCkpCkBAIC03Myw3ICs3Myw3IEBAIHN0YXRpYyBJbnRSZWN0IGlu
bGluZVZpZGVvRnJhbWUoSFRNTFZpZGVvRWxlbWVudCYgZWxlbWVudCkKICAgICBpZiAocmVuZGVy
ZXItPmhhc0xheWVyKCkgJiYgcmVuZGVyZXItPmVuY2xvc2luZ0xheWVyKCktPmlzQ29tcG9zaXRl
ZCgpKSB7CiAgICAgICAgIEZsb2F0UXVhZCBjb250ZW50c0JveCA9IHN0YXRpY19jYXN0PEZsb2F0
UmVjdD4ocmVuZGVyZXItPmVuY2xvc2luZ0xheWVyKCktPmJhY2tpbmcoKS0+Y29udGVudHNCb3go
KSk7CiAgICAgICAgIGNvbnRlbnRzQm94ID0gcmVuZGVyZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQo
Y29udGVudHNCb3gpOwotICAgICAgICByZXR1cm4gZWxlbWVudC5kb2N1bWVudCgpLnZpZXcoKS0+
Y29udGVudHNUb1Jvb3RWaWV3KGNvbnRlbnRzQm94LmVuY2xvc2luZ0JvdW5kaW5nQm94KCkpOwor
ICAgICAgICByZXR1cm4gZWxlbWVudC5kb2N1bWVudCgpLnZpZXcoKS0+Y29udGVudHNUb1Jvb3RW
aWV3KGNvbnRlbnRzQm94LmJvdW5kaW5nQm94KCkpOwogICAgIH0KIAogICAgIGF1dG8gcmVjdCA9
IHJlbmRlcmVyLT52aWRlb0JveCgpOwpAQCAtMzkzLDcgKzM5Myw3IEBAIHZvaWQgVmlkZW9GdWxs
c2NyZWVuTWFuYWdlcjo6cmVxdWVzdFVwZGF0ZUlubGluZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29u
dGV4dElkZW50CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8mIG1vZGVsID0gZW5zdXJlTW9k
ZWwoY29udGV4dElkKTsKLSAgICBJbnRSZWN0IGlubGluZVJlY3QgPSBpbmxpbmVWaWRlb0ZyYW1l
KCptb2RlbC52aWRlb0VsZW1lbnQoKSk7CisgICAgYXV0byBpbmxpbmVSZWN0ID0gaW5saW5lVmlk
ZW9GcmFtZSgqbW9kZWwudmlkZW9FbGVtZW50KCkpOwogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdl
czo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpTZXRJbmxpbmVSZWN0KGNvbnRleHRJZCwg
aW5saW5lUmVjdCwgaW5saW5lUmVjdCAhPSBJbnRSZWN0KDAsIDAsIDAsIDApKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428066</attachid>
            <date>2021-05-07 17:24:40 -0700</date>
            <delta_ts>2021-05-08 07:55:48 -0700</delta_ts>
            <desc>Fix build failures (again)</desc>
            <filename>bug-225548-20210507172440.patch</filename>
            <type>text/plain</type>
            <size>27894</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2MzNmVkOWU1NTdjMWY5
MWJjN2M2NDc2YmI0MTRlZjhmNzhlMTMxYi4uNDk3YWM4M2Q2NDFiZWE1MTJhNDk0NDBjZDVkOGNi
MTQ5OWM1YzBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA1LTA3ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIEEgc21hbGwgdmlk
ZW8gZWxlbWVudCBlbnRlcnMgZnVsbHNjcmVlbiB3aXRoIHN0cmFuZ2UgYW5pbWF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGBGbG9hdFJl
Y3RgIGluc3RlYWQgb2YgYEludFJlY3RgIHRvIGV4Y2hhbmdlIHZpZGVvIGVsZW1lbnQgbG9jYXRp
b24vc2l6ZQorICAgICAgICBpbmZvcm1hdGlvbiBiZXR3ZWVuIFdlYkNvbnRlbnQgcHJvY2Vzc2Vz
IGFuZCB0aGUgVUkgcHJvY2VzcyB0byBhdm9pZCBpbmZvcm1hdGlvbgorICAgICAgICBtaXNtYXRj
aCBkdWUgdG8gZmxvYXRpbmctcG9pbnQgcm91bmRpbmcuCisKKyAgICAgICAgTWFudWFsbHkgdGVz
dGVkLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVs
bHNjcmVlbik6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZXhpdEZ1
bGxzY3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBh
cmVkVG9SZXR1cm5Ub0lubGluZSk6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2V0SW5saW5lUmVjdCk6CisKIDIwMjEtMDUtMDUgIFNhbSBXZWluaWcgIDx3ZWluaWdA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBzcGVjaWZ5
aW5nIGEgY29sb3Igc3BhY2UgZm9yIDJEIGNhbnZhcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxNGJjNzBjYTE0MTA4
N2EzNGI1NDFjOGEzM2FjNjc2ZWYzODEwZmE3Li4xNTYyM2Q1MzRlYzhhYmJmMTE3MTA0OGFhMjY3
YWZlMjI1YmU4Y2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA1LTA3ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIEEgc21hbGwgdmlk
ZW8gZWxlbWVudCBlbnRlcnMgZnVsbHNjcmVlbiB3aXRoIHN0cmFuZ2UgYW5pbWF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGBGbG9hdFJl
Y3RgIGluc3RlYWQgb2YgYEludFJlY3RgIHRvIGV4Y2hhbmdlIHZpZGVvIGVsZW1lbnQgbG9jYXRp
b24vc2l6ZQorICAgICAgICBpbmZvcm1hdGlvbiBiZXR3ZWVuIFdlYkNvbnRlbnQgcHJvY2Vzc2Vz
IGFuZCB0aGUgVUkgcHJvY2VzcyB0byBhdm9pZCBpbmZvcm1hdGlvbgorICAgICAgICBtaXNtYXRj
aCBkdWUgdG8gZmxvYXRpbmctcG9pbnQgcm91bmRpbmcuCisKKyAgICAgICAgRGVhbCB3aXRoIHRo
ZSB2aWRlbyBlbGVtZW50IHJlc2l6aW5nIGRpZmZlcmVudGx5IGZvciB0d28gY2FzZXM6CisgICAg
ICAgIDEpIFZpZGVvIGlzIHBsYXlpbmcgaW4gdGhlIGlubGluZSBtb2RlLgorICAgICAgICAyKSBW
aWRlbyBpcyBlbnRlcmluZyBmdWxsc2NyZWVuL3BpY3R1cmUtaW4tcGljdHVyZS4KKyAgICAgICAg
Rm9yIHRoZSBsYXR0ZXIgY2FzZSwgYC1bV0tWaWRlb0xheWVyUmVtb3RlIGxheW91dFN1YmxheWVy
c11gIHdpbGwgc2NhbGUgdGhlIGxheWVyCisgICAgICAgIHdpdGggdGhlIHNhbWUgZmFjdG9yIGlu
IGJvdGggWCBhbmQgWSBkaXJlY3Rpb24uCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OnNldFZpZGVvSW5saW5lU2l6ZUlmUG9zc2libGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQpOgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5t
bToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1
bGxzY3JlZW5XaXRoSUQpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OmV4aXRGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5OjpzZXRJbmxpbmVSZWN0KToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5OjpwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUpOgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0lubGluZVNp
emVGZW5jZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Omlu
VmlkZW9GdWxsc2NyZWVuT3JQaWN0dXJlSW5QaWN0dXJlIGNvbnN0KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9WaWRlb0xheWVyUmVtb3RlQ29jb2EubW06CisgICAg
ICAgICgtW1dLVmlkZW9MYXllclJlbW90ZSBsYXlvdXRTdWJsYXllcnNdKToKKyAgICAgICAgKC1b
V0tWaWRlb0xheWVyUmVtb3RlIHJlc29sdmVCb3VuZHNdKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6OmlubGlu
ZVZpZGVvRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpy
ZXF1ZXN0VXBkYXRlSW5saW5lUmVjdCk6CisKIDIwMjEtMDUtMDUgIEplYW4tWXZlcyBBdmVuYXJk
ICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1hY3RpdmVzb3VyY2VidWZmZXJzLmh0bWwgaXMg
YSBmbGFrZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Zp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKaW5kZXggM2IzYTg3NTU0NDAwNGEwNTE4ZmQ1
ZmY4NjYzN2VjMjI5Zjc4ZjZmZS4uODc4NzMxZjBiOWU3OTAxNjkxODRjMjRmNTNkYTRkY2E1MzJm
OTQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Zp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKQEAgLTU0LDcgKzU0LDcgQEAgT0JKQ19DTEFT
UyBXZWJBVlBsYXllclZpZXdDb250cm9sbGVyRGVsZWdhdGU7CiBPQkpDX0NMQVNTIE5TRXJyb3I7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIEludFJlY3Q7CitjbGFzcyBGbG9hdFJlY3Q7
CiBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBWaWRlb0Z1bGxzY3JlZW5Nb2RlbDsKIGNsYXNzIFZp
ZGVvRnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyOwpAQCAtODAsMTYgKzgwLDE2IEBAIHB1YmxpYzoK
ICAgICAvLyBQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudAogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoYm9vbCBlbmFibGVkLCBQbGF5YmFja1Nlc3Npb25N
b2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYgbG9jYWxpemVk
RGV2aWNlTmFtZSkgZmluYWw7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldHVwRnVsbHNj
cmVlbihVSVZpZXcmIHZpZGVvVmlldywgY29uc3QgSW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0
IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRp
YUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXR1cEZ1
bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0IEZsb2F0UmVjdCYgaW5pdGlhbFJlY3Qs
IGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1
bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBl
bnRlckZ1bGxzY3JlZW4oKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIGV4aXRGdWxsc2NyZWVu
KGNvbnN0IEludFJlY3QmIGZpbmFsUmVjdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBleGl0
RnVsbHNjcmVlbihjb25zdCBGbG9hdFJlY3QmIGZpbmFsUmVjdCk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBjbGVhbnVwRnVsbHNjcmVlbigpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaW52
YWxpZGF0ZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVxdWVzdEhpZGVBbmRFeGl0RnVs
bHNjcmVlbigpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJlcGFyZWRUb1JldHVyblRvSW5s
aW5lKGJvb2wgdmlzaWJsZSwgY29uc3QgSW50UmVjdCYgaW5saW5lUmVjdCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoYm9vbCB2aXNpYmxlLCBjb25z
dCBGbG9hdFJlY3QmIGlubGluZVJlY3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJlcGFy
ZWRUb0V4aXRGdWxsc2NyZWVuKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIYXNWaWRl
b0NvbnRlbnRMYXllcihib29sKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldElubGluZVJl
Y3QoY29uc3QgSW50UmVjdCYsIGJvb2wgdmlzaWJsZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRJbmxpbmVSZWN0KGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wgdmlzaWJsZSk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9TdGFuZGJ5KCk7CiAgICAgYm9vbCBj
aGFuZ2luZ1N0YW5kYnlPbmx5KCkgeyByZXR1cm4gbV9jaGFuZ2luZ1N0YW5kYnlPbmx5OyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCA4N2YyMWIxNTQxMTRkNjZlYjYzZjA5YzQ1NDI4
ODYxYWI3NGU3M2Q1Li45NjFlNDJmYjI3N2M5NzgwNzk4MWYxZjAxYjNiODIyMzBjZmVmMWNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC05MjYsNyArOTI2LDcgQEAgdm9pZCBWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKQogICAg
IExPRyhGdWxsc2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmFwcGxpY2F0
aW9uRGlkQmVjb21lQWN0aXZlKCVwKSIsIHRoaXMpOwogfQogCi12b2lkIFZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0
IEludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywg
VUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUgbW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3Rh
bmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkK
K3ZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihVSVZp
ZXcmIHZpZGVvVmlldywgY29uc3QgRmxvYXRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxvYXRT
aXplJiB2aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVu
dEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGlj
dHVyZVBsYXliYWNrLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmUpCiB7CiAgICAgQVNTRVJUKHN0YW5kYnkgfHwgbW9kZSAhPSBI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKTsKICAgICBMT0co
RnVsbHNjcmVlbiwgIlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3Jl
ZW4oJXApIiwgdGhpcyk7CkBAIC05NTYsNyArOTU2LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuKCkKICAgICBkb0VudGVyRnVsbHNjcmVlbigp
OwogfQogCi1ib29sIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpleGl0RnVsbHNjcmVl
bihjb25zdCBJbnRSZWN0JiBmaW5hbFJlY3QpCitib29sIFZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpleGl0RnVsbHNjcmVlbihjb25zdCBGbG9hdFJlY3QmIGZpbmFsUmVjdCkKIHsKICAg
ICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwogCkBAIC0xMDY2LDcgKzEwNjYsNyBAQCB2b2lkIFZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpyZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVu
KCkKICAgICB9CiB9CiAKLXZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBh
cmVkVG9SZXR1cm5Ub0lubGluZShib29sIHZpc2libGUsIGNvbnN0IEludFJlY3QmIGlubGluZVJl
Y3QpCit2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJlZFRvUmV0dXJu
VG9JbmxpbmUoYm9vbCB2aXNpYmxlLCBjb25zdCBGbG9hdFJlY3QmIGlubGluZVJlY3QpCiB7CiAg
ICAgTE9HKEZ1bGxzY3JlZW4sICJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFy
ZWRUb1JldHVyblRvSW5saW5lKCVwKSAtIHZpc2libGUoJXMpIiwgdGhpcywgYm9vbFN0cmluZyh2
aXNpYmxlKSk7CiAgICAgc2V0SW5saW5lUmVjdChpbmxpbmVSZWN0LCB2aXNpYmxlKTsKQEAgLTEz
MDEsNyArMTMwMSw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldEhh
c1ZpZGVvQ29udGVudExheWVyKGJvb2wgdmFsdWUpCiAgICAgICAgIGRvRXhpdEZ1bGxzY3JlZW4o
KTsKIH0KIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0SW5saW5lUmVj
dChjb25zdCBJbnRSZWN0JiBpbmxpbmVSZWN0LCBib29sIHZpc2libGUpCit2b2lkIFZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXRJbmxpbmVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgaW5s
aW5lUmVjdCwgYm9vbCB2aXNpYmxlKQogewogICAgIG1faW5saW5lUmVjdCA9IGlubGluZVJlY3Q7
CiAgICAgbV9pbmxpbmVJc1Zpc2libGUgPSB2aXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggNzcw
ZDdmYzIyNDliZGNjN2E0YmExNjhkZDliZDk3YzU3YmYxYzAyMy4uZDdjYWI0NjRiNThhODFlZGJh
NjcyNWIwNzNlNjIwNDQzMzdjNjYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0xNDYsNyArMTQ2LDcg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkTG9hZGluZ1Byb2dyZXNzKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdm9pZCBzZXRWaWRl
b0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdURjo6TWFj
aFNlbmRSaWdodCYpOworICAgIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYsIGNvbnN0IFdURjo6TWFjaFNlbmRSaWdodCYpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpAQCAtMzMxLDcgKzMzMSw3IEBA
IHByaXZhdGU6CiAgICAgU2Vjb25kcyBtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2
YWw7CiAgICAgTW9ub3RvbmljVGltZSBtX25leHRQbGF5YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRl
VGltZTsKIAotICAgIFdlYkNvcmU6OkludFNpemUgbV92aWRlb0lubGluZVNpemU7CisgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIG1fdmlkZW9JbmxpbmVTaXplOwogICAgIGZsb2F0IG1fdmlkZW9Db250
ZW50U2NhbGUgeyAxLjAgfTsKIAogICAgIGJvb2wgbV9idWZmZXJlZENoYW5nZWQgeyB0cnVlIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGRlMDY2MzIwMDY4YzY2M2Vi
ZjQyYzE0OTg3MzM5ZmNhMWI0ZGEwMWYuLjhhOTI0YjU5YTY4NjNhYzllYTc4ZjMzZmFkOTU2Nzdm
ZGMxYTk3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC02Niw3ICs2
Niw3IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7
CiAgICAgU2V0QnVmZmVyaW5nUG9saWN5KFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpCdWZmZXJpbmdQ
b2xpY3kgcG9saWN5KQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgU2V0VmlkZW9JbmxpbmVT
aXplRmVuY2VkKFdlYkNvcmU6OkludFNpemUgc2l6ZSwgTWFjaFNlbmRSaWdodCBtYWNoU2VuZFJp
Z2h0KQorICAgIFNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChXZWJDb3JlOjpGbG9hdFNpemUgc2l6
ZSwgTWFjaFNlbmRSaWdodCBtYWNoU2VuZFJpZ2h0KQogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2Eu
bW0KaW5kZXggYjUyMzhlN2FjZWQ5NWYwMDg1NjhjZWIzYjA1ODM5NGVmNzg3MDJiMy4uMGUwY2Qy
Y2RjNmE0OTA1MzQ0NmM2ZDExY2Y3NmZhZGVkNjM5ZGU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tCkBAIC0zMSwxNSArMzEsMTUgQEAKICNpbXBvcnQgIkxheWVySG9z
dGluZ0NvbnRleHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2Vz
LmgiCiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
RmxvYXRTaXplLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgotI2ltcG9ydCA8V2Vi
Q29yZS9JbnRTaXplLmg+CiAjaW1wb3J0IDx3dGYvTWFjaFNlbmRSaWdodC5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotc3RhdGljIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZShM
YXllckhvc3RpbmdDb250ZXh0JiBjb250ZXh0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXpl
KQorc3RhdGljIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZShMYXllckhvc3RpbmdD
b250ZXh0JiBjb250ZXh0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHNpemUpCiB7Ci0gICAg
aWYgKCFjb250ZXh0LnJvb3RMYXllcigpKQorICAgIGlmICghY29udGV4dC5yb290TGF5ZXIoKSB8
fCBzaXplLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2UgZG8gbm90IHdh
bnQgYW5pbWF0aW9ucyBoZXJlLgpAQCAtNzAsNyArNzAsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCkKICAgICBtX3dl
YlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OkZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpLCBtX2lkKTsKIH0KIAotdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgc2l6ZSwgY29uc3QgV1RGOjpNYWNoU2VuZFJpZ2h0JiBtYWNoU2VuZFJpZ2h0KQor
dm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmIG1h
Y2hTZW5kUmlnaHQpCiB7CiAgICAgbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LT5zZXRGZW5j
ZVBvcnQobWFjaFNlbmRSaWdodC5zZW5kUmlnaHQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgK
aW5kZXggYWE5ZjZiMTM4NGQ5M2I4YjIwZDUwOWVlMzA2NGJhNzUxMGRmMjQ4NS4uODlmMDM2YmYy
N2IxZDgwYmU5MWI5YmNlZTVmM2I3MGQxZGZkN2ZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgK
QEAgLTE3NCwxNSArMTc0LDE1IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZURpZENoYW5nZShib29sKTsKIAogICAgIC8vIE1lc3NhZ2VzIGZyb20gVmlkZW9G
dWxsc2NyZWVuTWFuYWdlcgotICAgIHZvaWQgc2V0dXBGdWxsc2NyZWVuV2l0aElEKFBsYXliYWNr
U2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCB2
aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFj
dG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUs
IGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1Jl
dHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKTsKLSAgICB2b2lkIHNldElubGlu
ZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSk7CisgICAgdm9pZCBzZXR1cEZ1bGxzY3Jl
ZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIFdlYktpdDo6TGF5ZXJI
b3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBp
bml0aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZs
b2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3Rh
bmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7
CisgICAgdm9pZCBzZXRJbmxpbmVSZWN0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVy
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSk7CiAg
ICAgdm9pZCBzZXRIYXNWaWRlb0NvbnRlbnRMYXllcihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRl
bnRpZmllciwgYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRIYXNWaWRlbyhQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgYm9vbCk7CiAgICAgdm9pZCBzZXRWaWRlb0RpbWVuc2lvbnMo
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6
ZSYpOwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyKTsKLSAgICB2b2lkIGV4aXRGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJik7CisgICAgdm9pZCBleGl0RnVsbHNjcmVlbihQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6RmxvYXRSZWN0IGZpbmFsUmVjdCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBjbGVhbnVwRnVsbHNjcmVlbihQbGF5
YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgdm9pZCBwcmVwYXJlZFRvUmV0dXJu
VG9JbmxpbmUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wgdmlzaWJsZSwg
V2ViQ29yZTo6SW50UmVjdCBpbmxpbmVSZWN0KTsKKyAgICB2b2lkIHByZXBhcmVkVG9SZXR1cm5U
b0lubGluZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9vbCB2aXNpYmxlLCBX
ZWJDb3JlOjpGbG9hdFJlY3QgaW5saW5lUmVjdCk7CiAgICAgdm9pZCBwcmVwYXJlZFRvRXhpdEZ1
bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwogICAgIHZvaWQgZXhp
dEZ1bGxzY3JlZW5XaXRob3V0QW5pbWF0aW9uVG9Nb2RlKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
Y2VlMTgwYzE2ZTdkOTU2Y2Q0ZTMwYTU0MzMxN2ZjY2E5MWFhNWI0NC4uZGRmODUwNjQ0NjgzYmQy
NmEyZmIxYjI1ZjFlNTExN2IyZTc1YWFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbgpAQCAtMjQsMTUgKzI0LDE1IEBACiBtZXNzYWdlcyAtPiBWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHkgewogICAgIFNldEhhc1ZpZGVvKFdlYktpdDo6UGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29sIGhhc1ZpZGVvKQogICAgIFNldFZp
ZGVvRGltZW5zaW9ucyhXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNv
bnRleHRJZCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5zaW9ucykKLSAgICBTZXR1cEZ1
bGxzY3JlZW5XaXRoSUQoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBj
b250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgV2Vi
Q29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5z
aW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxv
d3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxs
c2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUpCisgICAgU2V0dXBGdWxsc2NyZWVuV2l0aElEKFdl
YktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6
OkxheWVySG9zdGluZ0NvbnRleHRJRCB2aWRlb0xheWVySUQsIFdlYkNvcmU6OkZsb2F0UmVjdCBp
bml0aWFsUmVjdCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9z
dGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVs
bHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0
dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1
cmVJblBpY3R1cmUpCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgRW50ZXJGdWxsc2Ny
ZWVuKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkKQog
I2VuZGlmCi0gICAgRXhpdEZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkludFJlY3QgZmluYWxSZWN0KSAtPiAoYm9v
bCBzdWNjZXNzKSBBc3luYwotICAgIFNldElubGluZVJlY3QoV2ViS2l0OjpQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkludFJlY3QgaW5saW5lUmVj
dCwgYm9vbCB2aXNpYmxlKQorICAgIEV4aXRGdWxsc2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3JlOjpGbG9hdFJlY3QgZmluYWxS
ZWN0KSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYworICAgIFNldElubGluZVJlY3QoV2ViS2l0OjpQ
bGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkZsb2F0
UmVjdCBpbmxpbmVSZWN0LCBib29sIHZpc2libGUpCiAgICAgU2V0SGFzVmlkZW9Db250ZW50TGF5
ZXIoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGJv
b2wgdmFsdWUpCiAgICAgQ2xlYW51cEZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpCi0gICAgUHJlcGFyZWRUb1JldHVyblRvSW5saW5l
KFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29s
IHZpc2libGUsIFdlYkNvcmU6OkludFJlY3QgaW5saW5lUmVjdCkKKyAgICBQcmVwYXJlZFRvUmV0
dXJuVG9JbmxpbmUoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250
ZXh0SWQsIGJvb2wgdmlzaWJsZSwgV2ViQ29yZTo6RmxvYXRSZWN0IGlubGluZVJlY3QpCiAgICAg
UHJlcGFyZWRUb0V4aXRGdWxsc2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIgY29udGV4dElkKQogICAgIEV4aXRGdWxsc2NyZWVuV2l0aG91dEFuaW1hdGlvblRv
TW9kZShXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwg
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVv
RnVsbHNjcmVlbk1vZGUpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KaW5kZXggZTk4NzRhNWQ5
Y2FiM2JkYzllNWNkYzgxNTcwZTA4ODdjNjg1MTVlNi4uNDYyZDVmMTlkNGMzOTAwZDE1NzI3ZDQ3
MGZmY2YxNDRhODU3NWE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQpAQCAtNTIwLDcgKzUy
MCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpoYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZURpZENoYW5nZShib29sIHZhbHVlCiAKICNwcmFnbWEgbWFyayBNZXNzYWdlcyBm
cm9tIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXIKIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJ
RCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nRGV2aWNlU2NhbGVGYWN0b3Is
IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3Jl
ZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSwgYm9vbCBi
bG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKK3ZvaWQgVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRl
eHRJRCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgaW5pdGlhbFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5n
RGV2aWNlU2NhbGVGYWN0b3IsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJv
b2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGlj
dHVyZSkKIHsKICAgICBNRVNTQUdFX0NIRUNLKHZpZGVvTGF5ZXJJRCk7CiAKQEAgLTU2MSw3ICs1
NjEsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVu
V2l0aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZAogICAgIFVOVVNFRF9QQVJBTSh2aWRlb0Rp
bWVuc2lvbnMpOwogICAgIFVOVVNFRF9QQVJBTShibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9t
UGljdHVyZUluUGljdHVyZSk7CiAgICAgSW50UmVjdCBpbml0aWFsV2luZG93UmVjdDsKLSAgICBt
X3BhZ2UtPnJvb3RWaWV3VG9XaW5kb3coaW5pdGlhbFJlY3QsIGluaXRpYWxXaW5kb3dSZWN0KTsK
KyAgICBtX3BhZ2UtPnJvb3RWaWV3VG9XaW5kb3coZW5jbG9zaW5nSW50UmVjdChpbml0aWFsUmVj
dCksIGluaXRpYWxXaW5kb3dSZWN0KTsKICAgICBpbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigq
bW9kZWwtPmxheWVySG9zdFZpZXcoKSwgaW5pdGlhbFdpbmRvd1JlY3QsIG1fcGFnZS0+cGxhdGZv
cm1XaW5kb3coKSwgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxsb3dzUGljdHVyZUluUGljdHVyZSk7
CiAjZW5kaWYKIH0KQEAgLTYxNCw3ICs2MTQsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eTo6ZW50ZXJGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaQog
ICAgIH0KIH0KIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmV4aXRGdWxsc2Ny
ZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6
SW50UmVjdCBmaW5hbFJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZXhpdEZ1bGxz
Y3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3Jl
OjpGbG9hdFJlY3QgZmluYWxSZWN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChtX2NvbnRleHRNYXAuY29udGFpbnMoY29u
dGV4dElkKSk7CiAgICAgaWYgKCFtX2NvbnRleHRNYXAuY29udGFpbnMoY29udGV4dElkKSkgewpA
QCAtNjI0LDcgKzYyNCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpleGl0
RnVsbHNjcmVlbihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllCiAKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBJbnRSZWN0IGZpbmFsV2luZG93UmVjdDsKLSAgICBtX3BhZ2Ut
PnJvb3RWaWV3VG9XaW5kb3coZmluYWxSZWN0LCBmaW5hbFdpbmRvd1JlY3QpOworICAgIG1fcGFn
ZS0+cm9vdFZpZXdUb1dpbmRvdyhlbmNsb3NpbmdJbnRSZWN0KGZpbmFsUmVjdCksIGZpbmFsV2lu
ZG93UmVjdCk7CiAjZW5kaWYKIAogICAgIGlmIChtX21vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVF
bmFibGVkKSB7CkBAIC02NjQsNyArNjY0LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OmV4aXRGdWxsc2NyZWVuV2l0aG91dEFuaW1hdGlvblRvTW9kZShQbGF5YmFja1MKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKLXZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5OjpzZXRJbmxpbmVSZWN0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRl
eHRJZCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5saW5lUmVjdCwgYm9vbCB2aXNpYmxlKQor
dm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldElubGluZVJlY3QoUGxheWJhY2tT
ZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSkKIHsKICAgICBpZiAobV9tb2NrVmlkZW9QcmVz
ZW50YXRpb25Nb2RlRW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtNjg4LDcgKzY4OCw3IEBA
IHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXRIYXNWaWRlb0NvbnRlbnRMYXll
cihQbGF5YmFja1Nlc3Npb25Db250ZXh0CiAKICNlbHNlCiAKLU5PX1JFVFVSTl9EVUVfVE9fQVNT
RVJUIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXRJbmxpbmVSZWN0KFBsYXli
YWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgYm9v
bCkKK05PX1JFVFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5OjpzZXRJbmxpbmVSZWN0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBib29sKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQpAQCAtNzEwLDEzICs3MTAsMTMgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHk6OmNsZWFudXBGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGkKICAgICBl
bnN1cmVJbnRlcmZhY2UoY29udGV4dElkKS5jbGVhbnVwRnVsbHNjcmVlbigpOwogfQogCi12b2lk
IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6cHJlcGFyZWRUb1JldHVyblRvSW5saW5lKFBs
YXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgYm9vbCB2aXNpYmxlLCBX
ZWJDb3JlOjpJbnRSZWN0IGlubGluZVJlY3QpCit2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6cHJlcGFyZWRUb1JldHVyblRvSW5saW5lKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyIGNvbnRleHRJZCwgYm9vbCB2aXNpYmxlLCBXZWJDb3JlOjpGbG9hdFJlY3QgaW5saW5l
UmVjdCkKIHsKICAgICBtX3BhZ2UtPmZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZSgpOwogCiAj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSW50UmVjdCBpbmxpbmVXaW5kb3dSZWN0Owot
ICAgIG1fcGFnZS0+cm9vdFZpZXdUb1dpbmRvdyhpbmxpbmVSZWN0LCBpbmxpbmVXaW5kb3dSZWN0
KTsKKyAgICBtX3BhZ2UtPnJvb3RWaWV3VG9XaW5kb3coZW5jbG9zaW5nSW50UmVjdChpbmxpbmVS
ZWN0KSwgaW5saW5lV2luZG93UmVjdCk7CiAjZW5kaWYKIAogICAgIGlmIChtX21vY2tWaWRlb1By
ZXNlbnRhdGlvbk1vZGVFbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4
IDNkOGE5MDE3YmNiNjc0NWQyMmU0YWE3ZDk4NGFjMWM0MDZmZGE0NmIuLjlmY2Q1NTQ2MzM4MTc4
ODcyYjUxZGM0Y2I4MTczZTk0M2RkYjY5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5j
cHAKQEAgLTg2Nyw3ICs4NjcsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjp0b3RhbEJ5dGVzKCkgY29uc3QKIH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQot
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChj
b25zdCBJbnRTaXplJiBzaXplLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmIG1hY2hTZW5kUmln
aHQpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9JbmxpbmVTaXplRmVu
Y2VkKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgY29uc3QgV1RGOjpNYWNoU2VuZFJpZ2h0JiBtYWNo
U2VuZFJpZ2h0KQogewogICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRp
YVBsYXllclByb3h5OjpTZXRWaWRlb0lubGluZVNpemVGZW5jZWQoc2l6ZSwgbWFjaFNlbmRSaWdo
dCksIG1faWQpOwogfQpAQCAtMTIwOCw2ICsxMjA4LDE3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpub3RpZnlBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpCiAgICAgY29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5vdGlmeUFjdGl2
ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCksIG1faWQpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0Ep
Citib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aW5WaWRlb0Z1bGxzY3JlZW5PclBpY3R1
cmVJblBpY3R1cmUoKSBjb25zdAoreworI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9E
RSkKKyAgICByZXR1cm4gISFtX3ZpZGVvTGF5ZXJNYW5hZ2VyLT52aWRlb0Z1bGxzY3JlZW5MYXll
cigpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKyNlbmRpZgorCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCkK
IHsKICAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6QXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCksIG1faWQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmgKaW5kZXggNTgyNDFiNjNhNzEyM2RlNjIwNzBiODYyMGUyOGY4YjgyMDM5N2MxYS4u
M2EyODAwZGFkNTZkYWFkZDA3OWYwNTYyNzBiODI4NDdkYzljMWRiZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5oCkBAIC0xMDcsNyArMTA3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZmlyc3RW
aWRlb0ZyYW1lQXZhaWxhYmxlKCk7CiAgICAgdm9pZCByZW5kZXJpbmdNb2RlQ2hhbmdlZCgpOwog
I2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHZvaWQgc2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmKTsKKyAgICB2
b2lkIHNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBj
b25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmKTsKICNlbmRpZgogCiAgICAgdm9pZCBhZGRSZW1vdGVB
dWRpb1RyYWNrKFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFRyYWNrUHJpdmF0ZVJlbW90
ZUNvbmZpZ3VyYXRpb24mJik7CkBAIC0xNDQsNiArMTQ0LDEwIEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgYWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIGJvb2wgaW5WaWRlb0Z1bGxzY3JlZW5PclBpY3R1cmVJblBpY3R1cmUoKSBjb25zdDsKKyNl
bmRpZgorCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB2b2lkIHdhaXRpbmdGb3JL
ZXlDaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQgaW5pdGlhbGl6YXRpb25EYXRhRW5jb3VudGVyZWQo
Y29uc3QgU3RyaW5nJiwgSVBDOjpEYXRhUmVmZXJlbmNlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9WaWRlb0xheWVyUmVtb3RlQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL1ZpZGVvTGF5ZXJS
ZW1vdGVDb2NvYS5tbQppbmRleCA5NDJjNDBiOTBkN2VjZTY4M2RhMzkxNjgxZjBlOTljY2Y5ZmEz
YTE5Li42YWFiOWY1ODI1MjQ3ZmY5MmU0OGUzZDZjNWU0MTlkMWRlNzYwNjdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL1ZpZGVvTGF5ZXJSZW1v
dGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29h
L1ZpZGVvTGF5ZXJSZW1vdGVDb2NvYS5tbQpAQCAtOTEsNyArOTEsMTggQEAgc3RhdGljIGNvbnN0
IFNlY29uZHMgUG9zdEFuaW1hdGlvbkRlbGF5IHsgMTAwX21zIH07CiAKICAgICBXZWJDb3JlOjpG
bG9hdFJlY3Qgc291cmNlVmlkZW9GcmFtZSA9IHNlbGYudmlkZW9MYXllckZyYW1lOwogICAgIFdl
YkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRWaWRlb0ZyYW1lID0gc2VsZi5ib3VuZHM7Ci0gICAgQ0dB
ZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2NhbGUodGFy
Z2V0VmlkZW9GcmFtZS53aWR0aCgpIC8gc291cmNlVmlkZW9GcmFtZS53aWR0aCgpLCB0YXJnZXRW
aWRlb0ZyYW1lLmhlaWdodCgpIC8gc291cmNlVmlkZW9GcmFtZS5oZWlnaHQoKSk7CisgICAgQ0dB
ZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1JZGVudGl0eTsKKyAg
ICBpZiAoIXNvdXJjZVZpZGVvRnJhbWUuaXNFbXB0eSgpKSB7CisgICAgICAgIGJvb2wgaW5GdWxs
c2NyZWVuT3JQaWN0dXJlSW5QaWN0dXJlID0gZmFsc2U7CisgICAgICAgIGlmIChhdXRvKiBtZWRp
YVBsYXllclByaXZhdGVSZW1vdGUgPSBzZWxmLm1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSkKKyAg
ICAgICAgICAgIGluRnVsbHNjcmVlbk9yUGljdHVyZUluUGljdHVyZSA9IG1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS0+aW5WaWRlb0Z1bGxzY3JlZW5PclBpY3R1cmVJblBpY3R1cmUoKTsKKworICAg
ICAgICBpZiAoaW5GdWxsc2NyZWVuT3JQaWN0dXJlSW5QaWN0dXJlKSB7CisgICAgICAgICAgICBh
dXRvIHNjYWxlID0gc3RkOjpmbWF4KHRhcmdldFZpZGVvRnJhbWUud2lkdGgoKSAvIHNvdXJjZVZp
ZGVvRnJhbWUud2lkdGgoKSwgdGFyZ2V0VmlkZW9GcmFtZS5oZWlnaHQoKSAvIHNvdXJjZVZpZGVv
RnJhbWUuaGVpZ2h0KCkpOworICAgICAgICAgICAgdHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zv
cm1NYWtlU2NhbGUoc2NhbGUsIHNjYWxlKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0
cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybU1ha2VTY2FsZSh0YXJnZXRWaWRlb0ZyYW1lLndp
ZHRoKCkgLyBzb3VyY2VWaWRlb0ZyYW1lLndpZHRoKCksIHRhcmdldFZpZGVvRnJhbWUuaGVpZ2h0
KCkgLyBzb3VyY2VWaWRlb0ZyYW1lLmhlaWdodCgpKTsKKyAgICB9CiAKICAgICBhdXRvKiB2aWRl
b1N1YmxheWVyID0gW3N1YmxheWVycyBvYmplY3RBdEluZGV4OjBdOwogICAgIFtDQVRyYW5zYWN0
aW9uIGJlZ2luXTsKQEAgLTEzNiw3ICsxNDcsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBQb3N0
QW5pbWF0aW9uRGVsYXkgeyAxMDBfbXMgfTsKICAgICAgICAgc2VsZi52aWRlb0xheWVyRnJhbWUg
PSBzZWxmLmJvdW5kczsKICAgICAgICAgaWYgKGF1dG8qIG1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZSA9IHNlbGYubWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlKSB7CiAgICAgICAgICAgICBNYWNoU2Vu
ZFJpZ2h0IGZlbmNlU2VuZFJpZ2h0ID0gTWFjaFNlbmRSaWdodDo6YWRvcHQoW19jb250ZXh0IGNy
ZWF0ZUZlbmNlUG9ydF0pOwotICAgICAgICAgICAgbWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLT5z
ZXRWaWRlb0lubGluZVNpemVGZW5jZWQoV2ViQ29yZTo6SW50U2l6ZShzZWxmLnZpZGVvTGF5ZXJG
cmFtZS5zaXplKSwgZmVuY2VTZW5kUmlnaHQpOworICAgICAgICAgICAgbWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLT5zZXRWaWRlb0lubGluZVNpemVGZW5jZWQoV2ViQ29yZTo6RmxvYXRTaXplKHNl
bGYudmlkZW9MYXllckZyYW1lLnNpemUpLCBmZW5jZVNlbmRSaWdodCk7CiAgICAgICAgIH0KICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVv
RnVsbHNjcmVlbk1hbmFnZXIubW0KaW5kZXggYmQzNWFiYzg5N2UwYjQ1NDViZjg3NDI4YzZhMDcy
ZTM1MjY3ZDliOS4uZTBiNDJlNTY4MmE0ZDQ3MDFmOTgzN2U3MjQ0ZTg4MzQ1ODY2ZDk5OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1h
bmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNj
cmVlbk1hbmFnZXIubW0KQEAgLTU5LDcgKzU5LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBJbnRSZWN0IGlubGluZVZpZGVvRnJhbWUo
SFRNTFZpZGVvRWxlbWVudCYgZWxlbWVudCkKK3N0YXRpYyBGbG9hdFJlY3QgaW5saW5lVmlkZW9G
cmFtZShIVE1MVmlkZW9FbGVtZW50JiBlbGVtZW50KQogewogICAgIGF1dG8mIGRvY3VtZW50ID0g
ZWxlbWVudC5kb2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQuaGFzTGl2aW5nUmVuZGVyVHJl
ZSgpIHx8IGRvY3VtZW50LmFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCkpCkBAIC03Myw3ICs3
Myw3IEBAIHN0YXRpYyBJbnRSZWN0IGlubGluZVZpZGVvRnJhbWUoSFRNTFZpZGVvRWxlbWVudCYg
ZWxlbWVudCkKICAgICBpZiAocmVuZGVyZXItPmhhc0xheWVyKCkgJiYgcmVuZGVyZXItPmVuY2xv
c2luZ0xheWVyKCktPmlzQ29tcG9zaXRlZCgpKSB7CiAgICAgICAgIEZsb2F0UXVhZCBjb250ZW50
c0JveCA9IHN0YXRpY19jYXN0PEZsb2F0UmVjdD4ocmVuZGVyZXItPmVuY2xvc2luZ0xheWVyKCkt
PmJhY2tpbmcoKS0+Y29udGVudHNCb3goKSk7CiAgICAgICAgIGNvbnRlbnRzQm94ID0gcmVuZGVy
ZXItPmxvY2FsVG9BYnNvbHV0ZVF1YWQoY29udGVudHNCb3gpOwotICAgICAgICByZXR1cm4gZWxl
bWVudC5kb2N1bWVudCgpLnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGNvbnRlbnRzQm94LmVu
Y2xvc2luZ0JvdW5kaW5nQm94KCkpOworICAgICAgICByZXR1cm4gZWxlbWVudC5kb2N1bWVudCgp
LnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGNvbnRlbnRzQm94LmJvdW5kaW5nQm94KCkpOwog
ICAgIH0KIAogICAgIGF1dG8gcmVjdCA9IHJlbmRlcmVyLT52aWRlb0JveCgpOwpAQCAtMzkzLDcg
KzM5Myw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6cmVxdWVzdFVwZGF0ZUlubGlu
ZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50CiAgICAgICAgIHJldHVybjsKIAogICAg
IGF1dG8mIG1vZGVsID0gZW5zdXJlTW9kZWwoY29udGV4dElkKTsKLSAgICBJbnRSZWN0IGlubGlu
ZVJlY3QgPSBpbmxpbmVWaWRlb0ZyYW1lKCptb2RlbC52aWRlb0VsZW1lbnQoKSk7CisgICAgYXV0
byBpbmxpbmVSZWN0ID0gaW5saW5lVmlkZW9GcmFtZSgqbW9kZWwudmlkZW9FbGVtZW50KCkpOwog
ICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpT
ZXRJbmxpbmVSZWN0KGNvbnRleHRJZCwgaW5saW5lUmVjdCwgaW5saW5lUmVjdCAhPSBJbnRSZWN0
KDAsIDAsIDAsIDApKSk7CiB9CiAK
</data>
<flag name="review"
          id="448872"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428093</attachid>
            <date>2021-05-08 15:43:05 -0700</date>
            <delta_ts>2021-05-08 21:53:43 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225548-20210508154305.patch</filename>
            <type>text/plain</type>
            <size>27771</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2MzNmVkOWU1NTdjMWY5
MWJjN2M2NDc2YmI0MTRlZjhmNzhlMTMxYi4uNmE1ODg1YjA4MmI0NGRkZDk0NjQxMTMyMDZjZGIz
ZjBjNWMwMDAyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA1LTA4ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIEEgc21hbGwgdmlk
ZW8gZWxlbWVudCBlbnRlcnMgZnVsbHNjcmVlbiB3aXRoIHN0cmFuZ2UgYW5pbWF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFVzZSBgRmxvYXRSZWN0
YCBpbnN0ZWFkIG9mIGBJbnRSZWN0YCB0byBleGNoYW5nZSB2aWRlbyBlbGVtZW50IGxvY2F0aW9u
L3NpemUKKyAgICAgICAgaW5mb3JtYXRpb24gYmV0d2VlbiBXZWJDb250ZW50IHByb2Nlc3NlcyBh
bmQgdGhlIFVJIHByb2Nlc3MgdG8gYXZvaWQgaW5mb3JtYXRpb24KKyAgICAgICAgbWlzbWF0Y2gg
ZHVlIHRvIGZsb2F0aW5nLXBvaW50IHJvdW5kaW5nLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3Rl
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxz
Y3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmV4aXRGdWxs
c2NyZWVuKToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJl
ZFRvUmV0dXJuVG9JbmxpbmUpOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OnNldElubGluZVJlY3QpOgorCiAyMDIxLTA1LTA1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgcHJlbGltaW5hcnkgc3VwcG9ydCBmb3Igc3BlY2lmeWlu
ZyBhIGNvbG9yIHNwYWNlIGZvciAyRCBjYW52YXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTRiYzcwY2ExNDEwODdh
MzRiNTQxYzhhMzNhYzY3NmVmMzgxMGZhNy4uYzkxMDE0OWY3ZDJjOWM1Zjk0OTliNDExYzgxZTBj
Y2E2M2U5ZThkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAyMS0wNS0wOCAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBBIHNtYWxsIHZpZGVv
IGVsZW1lbnQgZW50ZXJzIGZ1bGxzY3JlZW4gd2l0aCBzdHJhbmdlIGFuaW1hdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTU0OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBVc2UgYEZsb2F0UmVjdGAg
aW5zdGVhZCBvZiBgSW50UmVjdGAgdG8gZXhjaGFuZ2UgdmlkZW8gZWxlbWVudCBsb2NhdGlvbi9z
aXplCisgICAgICAgIGluZm9ybWF0aW9uIGJldHdlZW4gV2ViQ29udGVudCBwcm9jZXNzZXMgYW5k
IHRoZSBVSSBwcm9jZXNzIHRvIGF2b2lkIGluZm9ybWF0aW9uCisgICAgICAgIG1pc21hdGNoIGR1
ZSB0byBmbG9hdGluZy1wb2ludCByb3VuZGluZy4KKworICAgICAgICBEZWFsIHdpdGggdGhlIHZp
ZGVvIGVsZW1lbnQgcmVzaXppbmcgZGlmZmVyZW50bHkgZm9yIHR3byBjYXNlczoKKyAgICAgICAg
MSkgVmlkZW8gaXMgcGxheWluZyBpbiB0aGUgaW5saW5lIG1vZGUuCisgICAgICAgIDIpIFZpZGVv
IGlzIGVudGVyaW5nIGZ1bGxzY3JlZW4vcGljdHVyZS1pbi1waWN0dXJlLgorICAgICAgICBGb3Ig
dGhlIGxhdHRlciBjYXNlLCBgLVtXS1ZpZGVvTGF5ZXJSZW1vdGUgbGF5b3V0U3VibGF5ZXJzXWAg
d2lsbCBzY2FsZSB0aGUgbGF5ZXIKKyAgICAgICAgd2l0aCB0aGUgc2FtZSBmYWN0b3IgaW4gYm90
aCBYIGFuZCBZIGRpcmVjdGlvbi4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL2Nv
Y29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6c2V0
VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZCk6CisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tOgor
ICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNj
cmVlbldpdGhJRCk6CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eTo6ZXhpdEZ1bGxzY3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5h
Z2VyUHJveHk6OnNldElubGluZVJlY3QpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHk6OnByZXBhcmVkVG9SZXR1cm5Ub0lubGluZSk6CisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVvSW5saW5lU2l6ZUZl
bmNlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aW5WaWRl
b0Z1bGxzY3JlZW5PclBpY3R1cmVJblBpY3R1cmUgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL2NvY29hL1ZpZGVvTGF5ZXJSZW1vdGVDb2NvYS5tbToKKyAgICAgICAg
KC1bV0tWaWRlb0xheWVyUmVtb3RlIGxheW91dFN1YmxheWVyc10pOgorICAgICAgICAoLVtXS1Zp
ZGVvTGF5ZXJSZW1vdGUgcmVzb2x2ZUJvdW5kc10pOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6aW5saW5lVmlk
ZW9GcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OnJlcXVl
c3RVcGRhdGVJbmxpbmVSZWN0KToKKwogMjAyMS0wNS0wNSAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxq
eWFAYXBwbGUuY29tPgogCiAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtc291cmNlL21lZGlhc291cmNlLWFjdGl2ZXNvdXJjZWJ1ZmZlcnMuaHRtbCBpcyBhIGZs
YWtleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAppbmRleCAzYjNhODc1NTQ0MDA0YTA1MThmZDVmZjg2
NjM3ZWMyMjlmNzhmNmZlLi44Nzg3MzFmMGI5ZTc5MDE2OTE4NGMyNGY1M2RhNGRjYTUzMmY5NDQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaApAQCAtNTQsNyArNTQsNyBAQCBPQkpDX0NMQVNTIFdl
YkFWUGxheWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZTsKIE9CSkNfQ0xBU1MgTlNFcnJvcjsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgSW50UmVjdDsKK2NsYXNzIEZsb2F0UmVjdDsKIGNs
YXNzIEZsb2F0U2l6ZTsKIGNsYXNzIFZpZGVvRnVsbHNjcmVlbk1vZGVsOwogY2xhc3MgVmlkZW9G
dWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXI7CkBAIC04MCwxNiArODAsMTYgQEAgcHVibGljOgogICAg
IC8vIFBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xpZW50CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBl
eHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29sIGVuYWJsZWQsIFBsYXliYWNrU2Vzc2lvbk1vZGVs
OjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWREZXZp
Y2VOYW1lKSBmaW5hbDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0dXBGdWxsc2NyZWVu
KFVJVmlldyYgdmlkZW9WaWV3LCBjb25zdCBJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxv
YXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1
cmVQbGF5YmFjaywgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZy
b21QaWN0dXJlSW5QaWN0dXJlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldHVwRnVsbHNj
cmVlbihVSVZpZXcmIHZpZGVvVmlldywgY29uc3QgRmxvYXRSZWN0JiBpbml0aWFsUmVjdCwgY29u
c3QgRmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1l
ZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJ
blBpY3R1cmVQbGF5YmFjaywgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNj
cmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVudGVy
RnVsbHNjcmVlbigpOwotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgZXhpdEZ1bGxzY3JlZW4oY29u
c3QgSW50UmVjdCYgZmluYWxSZWN0KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGV4aXRGdWxs
c2NyZWVuKGNvbnN0IEZsb2F0UmVjdCYgZmluYWxSZWN0KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGNsZWFudXBGdWxsc2NyZWVuKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBpbnZhbGlk
YXRlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2Ny
ZWVuKCk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUo
Ym9vbCB2aXNpYmxlLCBjb25zdCBJbnRSZWN0JiBpbmxpbmVSZWN0KTsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHByZXBhcmVkVG9SZXR1cm5Ub0lubGluZShib29sIHZpc2libGUsIGNvbnN0IEZs
b2F0UmVjdCYgaW5saW5lUmVjdCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcmVwYXJlZFRv
RXhpdEZ1bGxzY3JlZW4oKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhhc1ZpZGVvQ29u
dGVudExheWVyKGJvb2wpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SW5saW5lUmVjdChj
b25zdCBJbnRSZWN0JiwgYm9vbCB2aXNpYmxlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dElubGluZVJlY3QoY29uc3QgRmxvYXRSZWN0JiwgYm9vbCB2aXNpYmxlKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHByZXBhcmVkVG9SZXR1cm5Ub1N0YW5kYnkoKTsKICAgICBib29sIGNoYW5n
aW5nU3RhbmRieU9ubHkoKSB7IHJldHVybiBtX2NoYW5naW5nU3RhbmRieU9ubHk7IH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IDg3ZjIxYjE1NDExNGQ2NmViNjNmMDljNDU0Mjg4NjFh
Yjc0ZTczZDUuLjk2MWU0MmZiMjc3Yzk3ODA3OTgxZjFmMDFiM2I4MjIzMGNmZWYxY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTkyNiw3ICs5MjYsNyBAQCB2b2lkIFZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjphcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCiAgICAgTE9H
KEZ1bGxzY3JlZW4sICJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6YXBwbGljYXRpb25E
aWRCZWNvbWVBY3RpdmUoJXApIiwgdGhpcyk7CiB9CiAKLXZvaWQgVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihVSVZpZXcmIHZpZGVvVmlldywgY29uc3QgSW50
UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZp
ZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZSBtb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaywgYm9vbCBzdGFuZGJ5
LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKQordm9p
ZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFVJVmlldyYg
dmlkZW9WaWV3LCBjb25zdCBGbG9hdFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBGbG9hdFNpemUm
IHZpZGVvRGltZW5zaW9ucywgVUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51
bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJl
UGxheWJhY2ssIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9t
UGljdHVyZUluUGljdHVyZSkKIHsKICAgICBBU1NFUlQoc3RhbmRieSB8fCBtb2RlICE9IEhUTUxN
ZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogICAgIExPRyhGdWxs
c2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbigl
cCkiLCB0aGlzKTsKQEAgLTk1Niw3ICs5NTYsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0OjplbnRlckZ1bGxzY3JlZW4oKQogICAgIGRvRW50ZXJGdWxsc2NyZWVuKCk7CiB9
CiAKLWJvb2wgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmV4aXRGdWxsc2NyZWVuKGNv
bnN0IEludFJlY3QmIGZpbmFsUmVjdCkKK2Jvb2wgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OmV4aXRGdWxsc2NyZWVuKGNvbnN0IEZsb2F0UmVjdCYgZmluYWxSZWN0KQogewogICAgIG1f
d2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAKQEAgLTEwNjYsNyArMTA2Niw3IEBAIHZvaWQgVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnJlcXVlc3RIaWRlQW5kRXhpdEZ1bGxzY3JlZW4oKQog
ICAgIH0KIH0KIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cHJlcGFyZWRU
b1JldHVyblRvSW5saW5lKGJvb2wgdmlzaWJsZSwgY29uc3QgSW50UmVjdCYgaW5saW5lUmVjdCkK
K3ZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnByZXBhcmVkVG9SZXR1cm5Ub0lu
bGluZShib29sIHZpc2libGUsIGNvbnN0IEZsb2F0UmVjdCYgaW5saW5lUmVjdCkKIHsKICAgICBM
T0coRnVsbHNjcmVlbiwgIlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpwcmVwYXJlZFRv
UmV0dXJuVG9JbmxpbmUoJXApIC0gdmlzaWJsZSglcykiLCB0aGlzLCBib29sU3RyaW5nKHZpc2li
bGUpKTsKICAgICBzZXRJbmxpbmVSZWN0KGlubGluZVJlY3QsIHZpc2libGUpOwpAQCAtMTMwMSw3
ICsxMzAxLDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0SGFzVmlk
ZW9Db250ZW50TGF5ZXIoYm9vbCB2YWx1ZSkKICAgICAgICAgZG9FeGl0RnVsbHNjcmVlbigpOwog
fQogCi12b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXRJbmxpbmVSZWN0KGNv
bnN0IEludFJlY3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSkKK3ZvaWQgVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ6OnNldElubGluZVJlY3QoY29uc3QgRmxvYXRSZWN0JiBpbmxpbmVS
ZWN0LCBib29sIHZpc2libGUpCiB7CiAgICAgbV9pbmxpbmVSZWN0ID0gaW5saW5lUmVjdDsKICAg
ICBtX2lubGluZUlzVmlzaWJsZSA9IHZpc2libGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAppbmRleCA3NzBkN2Zj
MjI0OWJkY2M3YTRiYTE2OGRkOWJkOTdjNTdiZjFjMDIzLi5kN2NhYjQ2NGI1OGE4MWVkYmE2NzI1
YjA3M2U2MjA0NDMzN2M2NjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTE0Niw3ICsxNDYsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaWRMb2FkaW5nUHJvZ3Jlc3MoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJik7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICB2b2lkIHNldFZpZGVvSW5s
aW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV1RGOjpNYWNoU2Vu
ZFJpZ2h0Jik7CisgICAgdm9pZCBzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29y
ZTo6RmxvYXRTaXplJiwgY29uc3QgV1RGOjpNYWNoU2VuZFJpZ2h0Jik7CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCkBAIC0zMzEsNyArMzMxLDcgQEAgcHJp
dmF0ZToKICAgICBTZWNvbmRzIG1fdmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbDsK
ICAgICBNb25vdG9uaWNUaW1lIG1fbmV4dFBsYXliYWNrUXVhbGl0eU1ldHJpY3NVcGRhdGVUaW1l
OwogCi0gICAgV2ViQ29yZTo6SW50U2l6ZSBtX3ZpZGVvSW5saW5lU2l6ZTsKKyAgICBXZWJDb3Jl
OjpGbG9hdFNpemUgbV92aWRlb0lubGluZVNpemU7CiAgICAgZmxvYXQgbV92aWRlb0NvbnRlbnRT
Y2FsZSB7IDEuMCB9OwogCiAgICAgYm9vbCBtX2J1ZmZlcmVkQ2hhbmdlZCB7IHRydWUgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGUwNjYzMjAwNjhjNjYzZWJmNDJj
MTQ5ODczMzlmY2ExYjRkYTAxZi4uOGE5MjRiNTlhNjg2M2FjOWVhNzhmMzNmYWQ5NTY3N2ZkYzFh
OTc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTY2LDcgKzY2LDcg
QEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKICAg
ICBTZXRCdWZmZXJpbmdQb2xpY3koV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGlj
eSBwb2xpY3kpCiAKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICBTZXRWaWRlb0lubGluZVNpemVG
ZW5jZWQoV2ViQ29yZTo6SW50U2l6ZSBzaXplLCBNYWNoU2VuZFJpZ2h0IG1hY2hTZW5kUmlnaHQp
CisgICAgU2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXplLCBN
YWNoU2VuZFJpZ2h0IG1hY2hTZW5kUmlnaHQpCiAjZW5kaWYKIAogI2lmIEVOQUJMRShXSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQpp
bmRleCBiNTIzOGU3YWNlZDk1ZjAwODU2OGNlYjNiMDU4Mzk0ZWY3ODcwMmIzLi4wZTBjZDJjZGM2
YTQ5MDUzNDQ2YzZkMTFjZjc2ZmFkZWQ2MzlkZTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5Q29jb2EubW0KQEAgLTMxLDE1ICszMSwxNSBAQAogI2ltcG9ydCAiTGF5ZXJIb3N0aW5n
Q29udGV4dC5oIgogI2ltcG9ydCAiTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIK
ICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9GbG9h
dFNpemUuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNlLmg+Ci0jaW1wb3J0IDxXZWJDb3Jl
L0ludFNpemUuaD4KICNpbXBvcnQgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi1zdGF0aWMgdm9pZCBzZXRWaWRlb0lubGluZVNpemVJZlBvc3NpYmxlKExheWVy
SG9zdGluZ0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUpCitz
dGF0aWMgdm9pZCBzZXRWaWRlb0lubGluZVNpemVJZlBvc3NpYmxlKExheWVySG9zdGluZ0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgc2l6ZSkKIHsKLSAgICBpZiAo
IWNvbnRleHQucm9vdExheWVyKCkpCisgICAgaWYgKCFjb250ZXh0LnJvb3RMYXllcigpIHx8IHNp
emUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBXZSBkbyBub3Qgd2FudCBh
bmltYXRpb25zIGhlcmUuCkBAIC03MCw3ICs3MCw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6bWVkaWFQbGF5ZXJGaXJzdFZpZGVvRnJhbWVBdmFpbGFibGUoKQogICAgIG1fd2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
Rmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCksIG1faWQpOwogfQogCi12b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiBzaXplLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmIG1hY2hTZW5kUmlnaHQpCit2b2lk
IFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBX
ZWJDb3JlOjpGbG9hdFNpemUmIHNpemUsIGNvbnN0IFdURjo6TWFjaFNlbmRSaWdodCYgbWFjaFNl
bmRSaWdodCkKIHsKICAgICBtX2lubGluZUxheWVySG9zdGluZ0NvbnRleHQtPnNldEZlbmNlUG9y
dChtYWNoU2VuZFJpZ2h0LnNlbmRSaWdodCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAppbmRl
eCBhYTlmNmIxMzg0ZDkzYjhiMjBkNTA5ZWUzMDY0YmE3NTEwZGYyNDg1Li44OWYwMzZiZjI3YjFk
ODBiZTkxYjliY2VlNWYzYjcwZDFkZmQ3ZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaApAQCAt
MTc0LDE1ICsxNzQsMTUgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhc1ZpZGVvSW5QaWN0dXJlSW5Q
aWN0dXJlRGlkQ2hhbmdlKGJvb2wpOwogCiAgICAgLy8gTWVzc2FnZXMgZnJvbSBWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyCi0gICAgdm9pZCBzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVv
TGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3Is
IFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9v
bCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJu
VG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUpOwotICAgIHZvaWQgc2V0SW5saW5lUmVj
dChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgaW5saW5lUmVjdCwgYm9vbCB2aXNpYmxlKTsKKyAgICB2b2lkIHNldHVwRnVsbHNjcmVlbldp
dGhJRChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgV2ViS2l0OjpMYXllckhvc3Rp
bmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGluaXRp
YWxSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgZmxvYXQg
aG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVv
RnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5
LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKTsKKyAg
ICB2b2lkIHNldElubGluZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgaW5saW5lUmVjdCwgYm9vbCB2aXNpYmxlKTsKICAgICB2
b2lkIHNldEhhc1ZpZGVvQ29udGVudExheWVyKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlm
aWVyLCBib29sIHZhbHVlKTsKICAgICB2b2lkIHNldEhhc1ZpZGVvKFBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyLCBib29sKTsKICAgICB2b2lkIHNldFZpZGVvRGltZW5zaW9ucyhQbGF5
YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7
CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZp
ZXIpOwotICAgIHZvaWQgZXhpdEZ1bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50
aWZpZXIsIFdlYkNvcmU6OkludFJlY3QgZmluYWxSZWN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmKTsKKyAgICB2b2lkIGV4aXRGdWxsc2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRl
eHRJZGVudGlmaWVyLCBXZWJDb3JlOjpGbG9hdFJlY3QgZmluYWxSZWN0LCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIGNsZWFudXBGdWxsc2NyZWVuKFBsYXliYWNr
U2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHByZXBhcmVkVG9SZXR1cm5Ub0lu
bGluZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9vbCB2aXNpYmxlLCBXZWJD
b3JlOjpJbnRSZWN0IGlubGluZVJlY3QpOworICAgIHZvaWQgcHJlcGFyZWRUb1JldHVyblRvSW5s
aW5lKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBib29sIHZpc2libGUsIFdlYkNv
cmU6OkZsb2F0UmVjdCBpbmxpbmVSZWN0KTsKICAgICB2b2lkIHByZXBhcmVkVG9FeGl0RnVsbHNj
cmVlbihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7CiAgICAgdm9pZCBleGl0RnVs
bHNjcmVlbldpdGhvdXRBbmltYXRpb25Ub01vZGUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50
aWZpZXIsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBjZWUx
ODBjMTZlN2Q5NTZjZDRlMzBhNTQzMzE3ZmNjYTkxYWE1YjQ0Li5kZGY4NTA2NDQ2ODNiZDI2YTJm
YjFiMjVmMWU1MTE3YjJlNzVhYWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1l
c3NhZ2VzLmluCkBAIC0yNCwxNSArMjQsMTUgQEAKIG1lc3NhZ2VzIC0+IFZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eSB7CiAgICAgU2V0SGFzVmlkZW8oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGJvb2wgaGFzVmlkZW8pCiAgICAgU2V0VmlkZW9E
aW1lbnNpb25zKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4
dElkLCBXZWJDb3JlOjpGbG9hdFNpemUgdmlkZW9EaW1lbnNpb25zKQotICAgIFNldHVwRnVsbHNj
cmVlbldpdGhJRChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRl
eHRJZCwgV2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBXZWJDb3Jl
OjpJbnRSZWN0IGluaXRpYWxSZWN0LCBXZWJDb3JlOjpGbG9hdFNpemUgdmlkZW9EaW1lbnNpb25z
LCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1Bp
Y3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKKyAgICBTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5
ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgV2ViQ29yZTo6RmxvYXRSZWN0IGluaXRp
YWxSZWN0LCBXZWJDb3JlOjpGbG9hdFNpemUgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5n
U2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2Ny
ZWVuTW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUs
IGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUlu
UGljdHVyZSkKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBFbnRlckZ1bGxzY3JlZW4o
V2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpCiAjZW5k
aWYKLSAgICBFeGl0RnVsbHNjcmVlbihXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6SW50UmVjdCBmaW5hbFJlY3QpIC0+IChib29sIHN1
Y2Nlc3MpIEFzeW5jCi0gICAgU2V0SW5saW5lUmVjdChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6SW50UmVjdCBpbmxpbmVSZWN0LCBi
b29sIHZpc2libGUpCisgICAgRXhpdEZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkZsb2F0UmVjdCBmaW5hbFJlY3Qp
IC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCisgICAgU2V0SW5saW5lUmVjdChXZWJLaXQ6OlBsYXli
YWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6RmxvYXRSZWN0
IGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSkKICAgICBTZXRIYXNWaWRlb0NvbnRlbnRMYXllcihX
ZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgYm9vbCB2
YWx1ZSkKICAgICBDbGVhbnVwRnVsbHNjcmVlbihXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRl
eHRJZGVudGlmaWVyIGNvbnRleHRJZCkKLSAgICBQcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoV2Vi
S2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGJvb2wgdmlz
aWJsZSwgV2ViQ29yZTo6SW50UmVjdCBpbmxpbmVSZWN0KQorICAgIFByZXBhcmVkVG9SZXR1cm5U
b0lubGluZShXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJ
ZCwgYm9vbCB2aXNpYmxlLCBXZWJDb3JlOjpGbG9hdFJlY3QgaW5saW5lUmVjdCkKICAgICBQcmVw
YXJlZFRvRXhpdEZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciBjb250ZXh0SWQpCiAgICAgRXhpdEZ1bGxzY3JlZW5XaXRob3V0QW5pbWF0aW9uVG9Nb2Rl
KFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxs
c2NyZWVuTW9kZSkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCBlOTg3NGE1ZDljYWIz
YmRjOWU1Y2RjODE1NzBlMDg4N2M2ODUxNWU2Li40NjJkNWYxOWQ0YzM5MDBkMTU3MjdkNDcwZmZj
ZjE0NGE4NTc1YThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9W
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC01MjAsNyArNTIwLDcg
QEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6Omhhc1ZpZGVvSW5QaWN0dXJlSW5Q
aWN0dXJlRGlkQ2hhbmdlKGJvb2wgdmFsdWUKIAogI3ByYWdtYSBtYXJrIE1lc3NhZ2VzIGZyb20g
VmlkZW9GdWxsc2NyZWVuTWFuYWdlcgogCi12b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVy
IGNvbnRleHRJZCwgV2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRT
aXplJiB2aWRlb0RpbWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdEZXZpY2VTY2FsZUZhY3RvciwgSFRN
TE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1v
ZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nr
c1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKQordm9pZCBWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElE
IHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBpbml0aWFsUmVjdCwgY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdEZXZp
Y2VTY2FsZUZhY3RvciwgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2Rl
IHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBz
dGFuZGJ5LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJl
KQogewogICAgIE1FU1NBR0VfQ0hFQ0sodmlkZW9MYXllcklEKTsKIApAQCAtNTYxLDcgKzU2MSw3
IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRo
SUQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkCiAgICAgVU5VU0VEX1BBUkFNKHZpZGVvRGltZW5z
aW9ucyk7CiAgICAgVU5VU0VEX1BBUkFNKGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0
dXJlSW5QaWN0dXJlKTsKICAgICBJbnRSZWN0IGluaXRpYWxXaW5kb3dSZWN0OwotICAgIG1fcGFn
ZS0+cm9vdFZpZXdUb1dpbmRvdyhpbml0aWFsUmVjdCwgaW5pdGlhbFdpbmRvd1JlY3QpOworICAg
IG1fcGFnZS0+cm9vdFZpZXdUb1dpbmRvdyhlbmNsb3NpbmdJbnRSZWN0KGluaXRpYWxSZWN0KSwg
aW5pdGlhbFdpbmRvd1JlY3QpOwogICAgIGludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2Rl
bC0+bGF5ZXJIb3N0VmlldygpLCBpbml0aWFsV2luZG93UmVjdCwgbV9wYWdlLT5wbGF0Zm9ybVdp
bmRvdygpLCB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKTsKICNl
bmRpZgogfQpAQCAtNjE0LDcgKzYxNCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5OjplbnRlckZ1bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpCiAgICAg
fQogfQogCi12b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZXhpdEZ1bGxzY3JlZW4o
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3JlOjpJbnRS
ZWN0IGZpbmFsUmVjdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3ZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpleGl0RnVsbHNjcmVl
bihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkZs
b2F0UmVjdCBmaW5hbFJlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKG1fY29udGV4dE1hcC5jb250YWlucyhjb250ZXh0
SWQpKTsKICAgICBpZiAoIW1fY29udGV4dE1hcC5jb250YWlucyhjb250ZXh0SWQpKSB7CkBAIC02
MjQsNyArNjI0LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmV4aXRGdWxs
c2NyZWVuKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWUKIAogI2lmICFQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIEludFJlY3QgZmluYWxXaW5kb3dSZWN0OwotICAgIG1fcGFnZS0+cm9v
dFZpZXdUb1dpbmRvdyhmaW5hbFJlY3QsIGZpbmFsV2luZG93UmVjdCk7CisgICAgbV9wYWdlLT5y
b290Vmlld1RvV2luZG93KGVuY2xvc2luZ0ludFJlY3QoZmluYWxSZWN0KSwgZmluYWxXaW5kb3dS
ZWN0KTsKICNlbmRpZgogCiAgICAgaWYgKG1fbW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJs
ZWQpIHsKQEAgLTY2NCw3ICs2NjQsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eTo6ZXhpdEZ1bGxzY3JlZW5XaXRob3V0QW5pbWF0aW9uVG9Nb2RlKFBsYXliYWNrUwogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKIAotdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6
OnNldElubGluZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElk
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbmxpbmVSZWN0LCBib29sIHZpc2libGUpCit2b2lk
IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0SW5saW5lUmVjdChQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
aW5saW5lUmVjdCwgYm9vbCB2aXNpYmxlKQogewogICAgIGlmIChtX21vY2tWaWRlb1ByZXNlbnRh
dGlvbk1vZGVFbmFibGVkKQogICAgICAgICByZXR1cm47CkBAIC02ODgsNyArNjg4LDcgQEAgdm9p
ZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldEhhc1ZpZGVvQ29udGVudExheWVyKFBs
YXliYWNrU2Vzc2lvbkNvbnRleHQKIAogI2Vsc2UKIAotTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQg
dm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldElubGluZVJlY3QoUGxheWJhY2tT
ZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBib29sKQor
Tk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6
OnNldElubGluZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYsIGJvb2wpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CkBAIC03MTAsMTMgKzcxMCwxMyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6
Y2xlYW51cEZ1bGxzY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aQogICAgIGVuc3Vy
ZUludGVyZmFjZShjb250ZXh0SWQpLmNsZWFudXBGdWxsc2NyZWVuKCk7CiB9CiAKLXZvaWQgVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoUGxheWJh
Y2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29sIHZpc2libGUsIFdlYkNv
cmU6OkludFJlY3QgaW5saW5lUmVjdCkKK3ZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
OjpwcmVwYXJlZFRvUmV0dXJuVG9JbmxpbmUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZp
ZXIgY29udGV4dElkLCBib29sIHZpc2libGUsIFdlYkNvcmU6OkZsb2F0UmVjdCBpbmxpbmVSZWN0
KQogewogICAgIG1fcGFnZS0+ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKCk7CiAKICNpZiAh
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBJbnRSZWN0IGlubGluZVdpbmRvd1JlY3Q7Ci0gICAg
bV9wYWdlLT5yb290Vmlld1RvV2luZG93KGlubGluZVJlY3QsIGlubGluZVdpbmRvd1JlY3QpOwor
ICAgIG1fcGFnZS0+cm9vdFZpZXdUb1dpbmRvdyhlbmNsb3NpbmdJbnRSZWN0KGlubGluZVJlY3Qp
LCBpbmxpbmVXaW5kb3dSZWN0KTsKICNlbmRpZgogCiAgICAgaWYgKG1fbW9ja1ZpZGVvUHJlc2Vu
dGF0aW9uTW9kZUVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggM2Q4
YTkwMTdiY2I2NzQ1ZDIyZTRhYTdkOTg0YWMxYzQwNmZkYTQ2Yi4uOWZjZDU1NDYzMzgxNzg4NzJi
NTFkYzRjYjgxNzNlOTQzZGRiNjk0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApA
QCAtODY3LDcgKzg2Nyw3IEBAIHVuc2lnbmVkIGxvbmcgbG9uZyBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnRvdGFsQnl0ZXMoKSBjb25zdAogfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0
IEludFNpemUmIHNpemUsIGNvbnN0IFdURjo6TWFjaFNlbmRSaWdodCYgbWFjaFNlbmRSaWdodCkK
K3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQo
Y29uc3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBXVEY6Ok1hY2hTZW5kUmlnaHQmIG1hY2hTZW5k
UmlnaHQpCiB7CiAgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChzaXplLCBtYWNoU2VuZFJpZ2h0KSwg
bV9pZCk7CiB9CkBAIC0xMjA4LDYgKzEyMDgsMTcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6Om5vdGlmeUFjdGl2ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKCkKICAgICBjb25uZWN0aW9u
KCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Tm90aWZ5QWN0aXZlU291
cmNlQnVmZmVyc0NoYW5nZWQoKSwgbV9pZCk7CiB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKK2Jv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjppblZpZGVvRnVsbHNjcmVlbk9yUGljdHVyZUlu
UGljdHVyZSgpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQor
ICAgIHJldHVybiAhIW1fdmlkZW9MYXllck1hbmFnZXItPnZpZGVvRnVsbHNjcmVlbkxheWVyKCk7
CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorI2VuZGlmCisKIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKQogewog
ICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpB
cHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmUoKSwgbV9pZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUuaAppbmRleCA1ODI0MWI2M2E3MTIzZGU2MjA3MGI4NjIwZTI4ZjhiODIwMzk3YzFhLi4zYTI4
MDBkYWQ1NmRhYWRkMDc5ZjA1NjI3MGI4Mjg0N2RjOWMxZGJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmgKQEAgLTEwNyw3ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmaXJzdFZpZGVv
RnJhbWVBdmFpbGFibGUoKTsKICAgICB2b2lkIHJlbmRlcmluZ01vZGVDaGFuZ2VkKCk7CiAjaWYg
UExBVEZPUk0oQ09DT0EpCi0gICAgdm9pZCBzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdURjo6TWFjaFNlbmRSaWdodCYpOworICAgIHZvaWQg
c2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIGNvbnN0
IFdURjo6TWFjaFNlbmRSaWdodCYpOwogI2VuZGlmCiAKICAgICB2b2lkIGFkZFJlbW90ZUF1ZGlv
VHJhY2soVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgVHJhY2tQcml2YXRlUmVtb3RlQ29u
ZmlndXJhdGlvbiYmKTsKQEAgLTE0NCw2ICsxNDQsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCBh
Y3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZCgpOwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAg
Ym9vbCBpblZpZGVvRnVsbHNjcmVlbk9yUGljdHVyZUluUGljdHVyZSgpIGNvbnN0OworI2VuZGlm
CisKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIHZvaWQgd2FpdGluZ0ZvcktleUNo
YW5nZWQoYm9vbCk7CiAgICAgdm9pZCBpbml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZChjb25z
dCBTdHJpbmcmLCBJUEM6OkRhdGFSZWZlcmVuY2UmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL1ZpZGVvTGF5ZXJSZW1vdGVDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvVmlkZW9MYXllclJlbW90
ZUNvY29hLm1tCmluZGV4IDk0MmM0MGI5MGQ3ZWNlNjgzZGEzOTE2ODFmMGU5OWNjZjlmYTNhMTku
LjdhNGMwODUxNTJhY2YzMTY4MmQ2OTljZWRmNDAwYjU5OWIxZTA2ZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvVmlkZW9MYXllclJlbW90ZUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvVmlk
ZW9MYXllclJlbW90ZUNvY29hLm1tCkBAIC05MSw3ICs5MSwxNCBAQCBzdGF0aWMgY29uc3QgU2Vj
b25kcyBQb3N0QW5pbWF0aW9uRGVsYXkgeyAxMDBfbXMgfTsKIAogICAgIFdlYkNvcmU6OkZsb2F0
UmVjdCBzb3VyY2VWaWRlb0ZyYW1lID0gc2VsZi52aWRlb0xheWVyRnJhbWU7CiAgICAgV2ViQ29y
ZTo6RmxvYXRSZWN0IHRhcmdldFZpZGVvRnJhbWUgPSBzZWxmLmJvdW5kczsKLSAgICBDR0FmZmlu
ZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybU1ha2VTY2FsZSh0YXJnZXRW
aWRlb0ZyYW1lLndpZHRoKCkgLyBzb3VyY2VWaWRlb0ZyYW1lLndpZHRoKCksIHRhcmdldFZpZGVv
RnJhbWUuaGVpZ2h0KCkgLyBzb3VyY2VWaWRlb0ZyYW1lLmhlaWdodCgpKTsKKyAgICBDR0FmZmlu
ZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybUlkZW50aXR5OworICAgIGlm
ICghc291cmNlVmlkZW9GcmFtZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIG1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZSA9IHNlbGYubWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOyBtZWRp
YVBsYXllclByaXZhdGVSZW1vdGUgJiYgbWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLT5pblZpZGVv
RnVsbHNjcmVlbk9yUGljdHVyZUluUGljdHVyZSgpKSB7CisgICAgICAgICAgICBhdXRvIHNjYWxl
ID0gc3RkOjpmbWF4KHRhcmdldFZpZGVvRnJhbWUud2lkdGgoKSAvIHNvdXJjZVZpZGVvRnJhbWUu
d2lkdGgoKSwgdGFyZ2V0VmlkZW9GcmFtZS5oZWlnaHQoKSAvIHNvdXJjZVZpZGVvRnJhbWUuaGVp
Z2h0KCkpOworICAgICAgICAgICAgdHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2Nh
bGUoc2NhbGUsIHNjYWxlKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0cmFuc2Zvcm0g
PSBDR0FmZmluZVRyYW5zZm9ybU1ha2VTY2FsZSh0YXJnZXRWaWRlb0ZyYW1lLndpZHRoKCkgLyBz
b3VyY2VWaWRlb0ZyYW1lLndpZHRoKCksIHRhcmdldFZpZGVvRnJhbWUuaGVpZ2h0KCkgLyBzb3Vy
Y2VWaWRlb0ZyYW1lLmhlaWdodCgpKTsKKyAgICB9CiAKICAgICBhdXRvKiB2aWRlb1N1YmxheWVy
ID0gW3N1YmxheWVycyBvYmplY3RBdEluZGV4OjBdOwogICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2lu
XTsKQEAgLTEzNiw3ICsxNDMsNyBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBQb3N0QW5pbWF0aW9u
RGVsYXkgeyAxMDBfbXMgfTsKICAgICAgICAgc2VsZi52aWRlb0xheWVyRnJhbWUgPSBzZWxmLmJv
dW5kczsKICAgICAgICAgaWYgKGF1dG8qIG1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSA9IHNlbGYu
bWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlKSB7CiAgICAgICAgICAgICBNYWNoU2VuZFJpZ2h0IGZl
bmNlU2VuZFJpZ2h0ID0gTWFjaFNlbmRSaWdodDo6YWRvcHQoW19jb250ZXh0IGNyZWF0ZUZlbmNl
UG9ydF0pOwotICAgICAgICAgICAgbWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLT5zZXRWaWRlb0lu
bGluZVNpemVGZW5jZWQoV2ViQ29yZTo6SW50U2l6ZShzZWxmLnZpZGVvTGF5ZXJGcmFtZS5zaXpl
KSwgZmVuY2VTZW5kUmlnaHQpOworICAgICAgICAgICAgbWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LT5zZXRWaWRlb0lubGluZVNpemVGZW5jZWQoV2ViQ29yZTo6RmxvYXRTaXplKHNlbGYudmlkZW9M
YXllckZyYW1lLnNpemUpLCBmZW5jZVNlbmRSaWdodCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVl
bk1hbmFnZXIubW0KaW5kZXggYmQzNWFiYzg5N2UwYjQ1NDViZjg3NDI4YzZhMDcyZTM1MjY3ZDli
OS4uZTBiNDJlNTY4MmE0ZDQ3MDFmOTgzN2U3MjQ0ZTg4MzQ1ODY2ZDk5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXIubW0KQEAgLTU5LDcgKzU5LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBJbnRSZWN0IGlubGluZVZpZGVvRnJhbWUoSFRNTFZpZGVv
RWxlbWVudCYgZWxlbWVudCkKK3N0YXRpYyBGbG9hdFJlY3QgaW5saW5lVmlkZW9GcmFtZShIVE1M
VmlkZW9FbGVtZW50JiBlbGVtZW50KQogewogICAgIGF1dG8mIGRvY3VtZW50ID0gZWxlbWVudC5k
b2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQuaGFzTGl2aW5nUmVuZGVyVHJlZSgpIHx8IGRv
Y3VtZW50LmFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCkpCkBAIC03Myw3ICs3Myw3IEBAIHN0
YXRpYyBJbnRSZWN0IGlubGluZVZpZGVvRnJhbWUoSFRNTFZpZGVvRWxlbWVudCYgZWxlbWVudCkK
ICAgICBpZiAocmVuZGVyZXItPmhhc0xheWVyKCkgJiYgcmVuZGVyZXItPmVuY2xvc2luZ0xheWVy
KCktPmlzQ29tcG9zaXRlZCgpKSB7CiAgICAgICAgIEZsb2F0UXVhZCBjb250ZW50c0JveCA9IHN0
YXRpY19jYXN0PEZsb2F0UmVjdD4ocmVuZGVyZXItPmVuY2xvc2luZ0xheWVyKCktPmJhY2tpbmco
KS0+Y29udGVudHNCb3goKSk7CiAgICAgICAgIGNvbnRlbnRzQm94ID0gcmVuZGVyZXItPmxvY2Fs
VG9BYnNvbHV0ZVF1YWQoY29udGVudHNCb3gpOwotICAgICAgICByZXR1cm4gZWxlbWVudC5kb2N1
bWVudCgpLnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGNvbnRlbnRzQm94LmVuY2xvc2luZ0Jv
dW5kaW5nQm94KCkpOworICAgICAgICByZXR1cm4gZWxlbWVudC5kb2N1bWVudCgpLnZpZXcoKS0+
Y29udGVudHNUb1Jvb3RWaWV3KGNvbnRlbnRzQm94LmJvdW5kaW5nQm94KCkpOwogICAgIH0KIAog
ICAgIGF1dG8gcmVjdCA9IHJlbmRlcmVyLT52aWRlb0JveCgpOwpAQCAtMzkzLDcgKzM5Myw3IEBA
IHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6cmVxdWVzdFVwZGF0ZUlubGluZVJlY3QoUGxh
eWJhY2tTZXNzaW9uQ29udGV4dElkZW50CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8mIG1v
ZGVsID0gZW5zdXJlTW9kZWwoY29udGV4dElkKTsKLSAgICBJbnRSZWN0IGlubGluZVJlY3QgPSBp
bmxpbmVWaWRlb0ZyYW1lKCptb2RlbC52aWRlb0VsZW1lbnQoKSk7CisgICAgYXV0byBpbmxpbmVS
ZWN0ID0gaW5saW5lVmlkZW9GcmFtZSgqbW9kZWwudmlkZW9FbGVtZW50KCkpOwogICAgIG1fcGFn
ZS0+c2VuZChNZXNzYWdlczo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpTZXRJbmxpbmVS
ZWN0KGNvbnRleHRJZCwgaW5saW5lUmVjdCwgaW5saW5lUmVjdCAhPSBJbnRSZWN0KDAsIDAsIDAs
IDApKSk7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>