<?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>219812</bug_id>
          
          <creation_ts>2020-12-11 16:17:57 -0800</creation_ts>
          <short_desc>[Media in GPU Process][MSE] Implement SourceBuffer::reportExtraMemoryAllocated()</short_desc>
          <delta_ts>2020-12-11 22:57:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>calvaris</cc>
    
    <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>1714152</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-11 16:17:57 -0800</bug_when>
    <thetext>[Media in GPU Process][MSE] Implement SourceBuffer::reportExtraMemoryAllocated()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714163</commentid>
    <comment_count>1</comment_count>
      <attachid>416068</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-11 16:33:26 -0800</bug_when>
    <thetext>Created attachment 416068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714166</commentid>
    <comment_count>2</comment_count>
      <attachid>416068</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-12-11 16:39:49 -0800</bug_when>
    <thetext>Comment on attachment 416068
Patch

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

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1194
&gt; +void SourceBuffer::sourceBufferPrivateReportExtraMemoryCost(uint64_t extraMemory)

I don&apos;t think &quot;sourceBufferPrivate&quot; should be part of the method name.

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.h:161
&gt; +    void sourceBufferPrivateReportExtraMemoryCost(uint64_t extraMemory) final;

Nit: parameter name isn&apos;t necessary.

&gt; Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:624
&gt; +    DEBUG_LOG(LOGIDENTIFIER, &quot;currentTime = &quot;, currentTime, &quot;, require &quot;, totalTrackBufferSizeInBytes() + newDataSize, &quot; bytes, maximum buffer size is &quot;, maximumBufferSize);
&gt; +    uint64_t initialBufferedSize = totalTrackBufferSizeInBytes();

if you switch the order of these lines you would only need to call the method once.

&gt; Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:644
&gt; +        DEBUG_LOG(LOGIDENTIFIER, &quot;evicted &quot;, initialBufferedSize - totalTrackBufferSizeInBytes());

Did you mean to use the `initialBufferedSize` variable here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714171</commentid>
    <comment_count>3</comment_count>
      <attachid>416068</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-11 16:48:11 -0800</bug_when>
    <thetext>Comment on attachment 416068
Patch

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

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1194
&gt;&gt; +void SourceBuffer::sourceBufferPrivateReportExtraMemoryCost(uint64_t extraMemory)
&gt; 
&gt; I don&apos;t think &quot;sourceBufferPrivate&quot; should be part of the method name.

Hmm, I agree that &quot;sourceBufferPrivate&quot; in the method name looks strange. I choose to keep it because this will make its name consistent with other methods of SourceBufferPrivateClient.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBuffer.h:161
&gt;&gt; +    void sourceBufferPrivateReportExtraMemoryCost(uint64_t extraMemory) final;
&gt; 
&gt; Nit: parameter name isn&apos;t necessary.

Right! Will fix it.

&gt;&gt; Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:624
&gt;&gt; +    uint64_t initialBufferedSize = totalTrackBufferSizeInBytes();
&gt; 
&gt; if you switch the order of these lines you would only need to call the method once.

Good point! Will fix it.

&gt;&gt; Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:644
&gt;&gt; +        DEBUG_LOG(LOGIDENTIFIER, &quot;evicted &quot;, initialBufferedSize - totalTrackBufferSizeInBytes());
&gt; 
&gt; Did you mean to use the `initialBufferedSize` variable here?

Yes. It will log how much memory is freed from the track buffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714179</commentid>
    <comment_count>4</comment_count>
      <attachid>416071</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-11 16:58:23 -0800</bug_when>
    <thetext>Created attachment 416071
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714240</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-11 22:56:54 -0800</bug_when>
    <thetext>Committed r270731: &lt;https://trac.webkit.org/changeset/270731&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416071.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714241</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-11 22:57:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/72250848&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416068</attachid>
            <date>2020-12-11 16:33:26 -0800</date>
            <delta_ts>2020-12-11 16:39:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219812-20201211163325.patch</filename>
            <type>text/plain</type>
            <size>16015</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTMwYjMyN2JkNTg5Mzk1
OTJjOTJmYTdkZWE1ZGI5YzU4MTk2YjYyMi4uZTdkYTc3YTMwZTk0ODU3YTQyYWQ2ZTYwYjg2MTJl
ZDA1Y2U4ODdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTEyLTExICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXVtNU0VdIEltcGxlbWVudCBTb3VyY2VCdWZmZXI6OnJlcG9ydEV4dHJhTWVtb3J5QWxsb2Nh
dGVkKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
OTgxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
ZmFjdG9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBgU291cmNlQnVmZmVyOjpyZXBvcnRFeHRyYU1l
bW9yeUFsbG9jYXRlZCgpYCB0byBsZXQKKyAgICAgICAgYFNvdXJjZUJ1ZmZlclByaXZhdGVgIGNh
bGN1bGF0ZSB0aGUgZXh0cmEgbWVtb3J5IGNvc3QgYW5kIHJlcG9ydCB0aGUgdmFsdWUgdG8KKyAg
ICAgICAgYFNvdXJjZUJ1ZmZlcmAgd2hlbiBuZWNlc3NhcnkuIFRoaXMgYXBwcm9hY2ggaXMgYmV0
dGVyIHRoYW4gdGhlIGN1cnJlbnQgb25lIHdoZW4KKyAgICAgICAgYFNvdXJjZUJ1ZmZlclByaXZh
dGVgIHJ1bnMgaW4gdGhlIEdQVSBwcm9jZXNzIGJlY2F1c2UgdHJhY2sgYnVmZmVyIG1hbmFnZW1l
bnQKKyAgICAgICAgaGFzIGJlZW4gbW92ZWQgdG8gYFNvdXJjZUJ1ZmZlclByaXZhdGVgIGluIHIy
NzA0MzUuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVu
ZENvbXBsZXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVy
UHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VC
dWZmZXI6OnJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlcjo6ZXh0cmFNZW1vcnlDb3N0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNl
QnVmZmVyUHJpdmF0ZTo6YXBwZW5kQ29tcGxldGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlclByaXZhdGU6OmV2aWN0Q29kZWRGcmFtZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmQpOgor
CiAyMDIwLTEyLTExICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAg
W01lZGlhIGluIEdQVSBQcm9jZXNzXVtNU0VdIEltcGxlbWVudCBzb21lIHJlcXVpcmVkIGZ1bmN0
aW9ucyB3aXRoIG5ldyBJUEMgbWVzc2FnZXMgYW5kIHJlbW92ZSBzb21lIHVubmVlZGVkIGZ1bmN0
aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCAwMjc5NDdmYzVmYzQyY2M4MjNmYWNjYjNjOTA0YjkyMzE1YmZiN2Vi
Li40MWRiOWY5MzdlMjM3MzJkZGU3OWY0NTlmOGM5Nzg1NmQwMjI0ZjBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDIwLTEyLTExICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9jZXNzXVtNU0VdIEltcGxlbWVudCBTb3VyY2VC
dWZmZXI6OnJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTgxMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBJUEMgbWVzc2FnZSBgU291cmNl
QnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdGAgdG8gZm9yd2FyZCB0aGUgY2FsbGJh
Y2sKKyAgICAgICAgdG8gdGhlIHdlYiBwcm9jZXNzLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlD
b3N0KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNv
dXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9yeUNvc3QpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmlu
OgorCiAyMDIwLTEyLTExICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW01lZGlhIGluIEdQVSBQcm9jZXNzXVtNU0VdIEltcGxlbWVudCBzb21lIHJlcXVpcmVkIGZ1
bmN0aW9ucyB3aXRoIG5ldyBJUEMgbWVzc2FnZXMgYW5kIHJlbW92ZSBzb21lIHVubmVlZGVkIGZ1
bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuY3BwCmluZGV4IDZkYTVhZDE2MzYwY2Q0ODA1NDViMjlmZDlhMjBjYzY5MzQ1NTUy
MWIuLjMyNjFiM2Y2YzNiOTFkZTc0OTRjMDBiZjM0ZDkxZjZlZWNkNWU1ZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAg
LTUxMiw4ICs1MTIsNiBAQCBFeGNlcHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1
ZmZlckludGVybmFsKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgLy8gNi4gQXN5bmNo
cm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFsZ29yaXRobS4KICAgICBtX2FwcGVuZEJ1
ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCi0gICAgcmVwb3J0RXh0cmFNZW1vcnlBbGxv
Y2F0ZWQoKTsKLQogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTU4NSw4ICs1ODMsNiBAQCB2b2lk
IFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJl
c3VsdCByZXN1bHQpCiAgICAgbV9zb3VyY2UtPm1vbml0b3JTb3VyY2VCdWZmZXJzKCk7CiAgICAg
bV9wcml2YXRlLT5yZWVucXVldWVNZWRpYUlmTmVlZGVkKG1fc291cmNlLT5jdXJyZW50VGltZSgp
LCBtX3BlbmRpbmdBcHBlbmREYXRhLmNhcGFjaXR5KCksIG1heGltdW1CdWZmZXJTaXplKCkpOwog
Ci0gICAgcmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQoKTsKLQogICAgIERFQlVHX0xPRyhMT0dJ
REVOVElGSUVSKTsKIH0KIApAQCAtMTE5NSwxNyArMTE5MSwxNCBAQCBib29sIFNvdXJjZUJ1ZmZl
cjo6Y2FuUGxheVRocm91Z2hSYW5nZShQbGF0Zm9ybVRpbWVSYW5nZXMmIHJhbmdlcykKICAgICBy
ZXR1cm4gdW5idWZmZXJlZFRpbWUudG9Eb3VibGUoKSAvIG1fYXZlcmFnZUJ1ZmZlclJhdGUgPCB0
aW1lUmVtYWluaW5nLnRvRG91YmxlKCk7CiB9CiAKLXVpbnQ2NF90IFNvdXJjZUJ1ZmZlcjo6ZXh0
cmFNZW1vcnlDb3N0KCkgY29uc3QKK3ZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2
YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0KHVpbnQ2NF90IGV4dHJhTWVtb3J5KQogewotICAgIHVp
bnQ2NF90IGV4dHJhTWVtb3J5Q29zdCA9IG1fcGVuZGluZ0FwcGVuZERhdGEuY2FwYWNpdHkoKTsK
LSAgICBleHRyYU1lbW9yeUNvc3QgKz0gbV9wcml2YXRlLT50b3RhbFRyYWNrQnVmZmVyU2l6ZUlu
Qnl0ZXMoKTsKLQotICAgIHJldHVybiBleHRyYU1lbW9yeUNvc3Q7CisgICAgcmVwb3J0RXh0cmFN
ZW1vcnlBbGxvY2F0ZWQoZXh0cmFNZW1vcnkpOwogfQogCi12b2lkIFNvdXJjZUJ1ZmZlcjo6cmVw
b3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQoKQordm9pZCBTb3VyY2VCdWZmZXI6OnJlcG9ydEV4dHJh
TWVtb3J5QWxsb2NhdGVkKHVpbnQ2NF90IGV4dHJhTWVtb3J5KQogewotICAgIHVpbnQ2NF90IGV4
dHJhTWVtb3J5Q29zdCA9IHRoaXMtPmV4dHJhTWVtb3J5Q29zdCgpOworICAgIHVpbnQ2NF90IGV4
dHJhTWVtb3J5Q29zdCA9IG1fcGVuZGluZ0FwcGVuZERhdGEuY2FwYWNpdHkoKSArIGV4dHJhTWVt
b3J5OwogICAgIGlmIChleHRyYU1lbW9yeUNvc3QgPD0gbV9yZXBvcnRlZEV4dHJhTWVtb3J5Q29z
dCkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAppbmRleCBiMGMxNzQ1ZWU2MWNkZDQ4YjE2MDk2OTY3YWE2
YWYyNzhlZjUyMGRlLi5iYmNiNDUzMzliNjEwNzJjZjI5MGI4NjBjZDk4NmU3ZjMyMDNlN2MyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmgKQEAgLTE1OCw2ICsxNTgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc291cmNlQnVmZmVyUHJp
dmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wpIGZpbmFsOwogICAgIHZvaWQgc291cmNlQnVm
ZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hhbmdlZChjb25zdCBQbGF0Zm9ybVRpbWVSYW5nZXMm
KSBmaW5hbDsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5n
RXJyb3IoaW50NjRfdCBlcnJvckNvZGUpIGZpbmFsOworICAgIHZvaWQgc291cmNlQnVmZmVyUHJp
dmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCh1aW50NjRfdCBleHRyYU1lbW9yeSkgZmluYWw7CiAK
ICAgICAvLyBBdWRpb1RyYWNrQ2xpZW50CiAgICAgdm9pZCBhdWRpb1RyYWNrRW5hYmxlZENoYW5n
ZWQoQXVkaW9UcmFjayYpIGZpbmFsOwpAQCAtMTkxLDggKzE5Miw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIHJlbW92ZVRpbWVyRmlyZWQoKTsKIAotICAgIHVpbnQ2NF90IGV4dHJhTWVtb3J5Q29z
dCgpIGNvbnN0OwotICAgIHZvaWQgcmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQoKTsKKyAgICB2
b2lkIHJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKHVpbnQ2NF90IGV4dHJhTWVtb3J5KTsKIAog
ICAgIHZvaWQgYXBwZW5kRXJyb3IoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKaW5kZXggN2JlMDAy
MWQ5YmI2ZGYxMDdkNzFhNGYxNWE3MTU1NmRlMTllZTcwMy4uNDFjMmExMzdlNzY2MzdiODE1NDU2
YzcwNTM5ZjRjNjljMmQyMDg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKQEAgLTE2Miw4ICsxNjIsMTAg
QEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlOjphcHBlbmRDb21wbGV0ZWQoYm9vbCBwYXJzaW5n
U3VjY2VlZGVkLCBib29sIGlzRW5kZWQpCiAgICAgLy8gaW50byB0aGUgU291cmNlQnVmZmVyJ3Mg
YnVmZmVyZWQgcmFuZ2VzCiAgICAgdXBkYXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzKGlzRW5k
ZWQpOwogCi0gICAgaWYgKG1fY2xpZW50KQorICAgIGlmIChtX2NsaWVudCkgewogICAgICAgICBt
X2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKHBhcnNpbmdTdWNjZWVk
ZWQgPyBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2Nl
ZWRlZCA6IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0Zh
aWxlZCk7CisgICAgICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFN
ZW1vcnlDb3N0KHRvdGFsVHJhY2tCdWZmZXJTaXplSW5CeXRlcygpKTsKKyAgICB9CiB9CiAKIHZv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZTo6cmVlbnF1ZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYg
dHJhY2tJRCkKQEAgLTYxNyw5ICs2MTksOSBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGU6OmV2
aWN0Q29kZWRGcmFtZXModWludDY0X3QgbmV3RGF0YVNpemUsIHVpbnQ2NF90IHBlbmRpbgogICAg
IE1lZGlhVGltZSB0aGlydHlTZWNvbmRzID0gTWVkaWFUaW1lKDMwLCAxKTsKICAgICBNZWRpYVRp
bWUgbWF4aW11bVJhbmdlRW5kID0gY3VycmVudFRpbWUgLSB0aGlydHlTZWNvbmRzOwogCi0jaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVEICYmIGZhbHNlCi0gICAgREVCVUdfTE9HKExPR0lERU5USUZJ
RVIsICJjdXJyZW50VGltZSA9ICIsIGN1cnJlbnRUaW1lLCAiLCByZXF1aXJlICIsIGV4dHJhTWVt
b3J5Q29zdCgpICsgbmV3RGF0YVNpemUsICIgYnl0ZXMsIG1heGltdW0gYnVmZmVyIHNpemUgaXMg
IiwgbWF4aW11bUJ1ZmZlclNpemUpOwotICAgIHVpbnQ2NF90IGluaXRpYWxCdWZmZXJlZFNpemUg
PSBleHRyYU1lbW9yeUNvc3QoKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBERUJV
R19MT0coTE9HSURFTlRJRklFUiwgImN1cnJlbnRUaW1lID0gIiwgY3VycmVudFRpbWUsICIsIHJl
cXVpcmUgIiwgdG90YWxUcmFja0J1ZmZlclNpemVJbkJ5dGVzKCkgKyBuZXdEYXRhU2l6ZSwgIiBi
eXRlcywgbWF4aW11bSBidWZmZXIgc2l6ZSBpcyAiLCBtYXhpbXVtQnVmZmVyU2l6ZSk7CisgICAg
dWludDY0X3QgaW5pdGlhbEJ1ZmZlcmVkU2l6ZSA9IHRvdGFsVHJhY2tCdWZmZXJTaXplSW5CeXRl
cygpOwogI2VuZGlmCiAKICAgICBNZWRpYVRpbWUgcmFuZ2VTdGFydCA9IE1lZGlhVGltZTo6emVy
b1RpbWUoKTsKQEAgLTYzOCw4ICs2NDAsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGU6OmV2
aWN0Q29kZWRGcmFtZXModWludDY0X3QgbmV3RGF0YVNpemUsIHVpbnQ2NF90IHBlbmRpbgogICAg
IH0KIAogICAgIGlmICghbV9idWZmZXJGdWxsKSB7Ci0jaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
ICYmIGZhbHNlCi0gICAgICAgIERFQlVHX0xPRyhMT0dJREVOVElGSUVSLCAiZXZpY3RlZCAiLCBp
bml0aWFsQnVmZmVyZWRTaXplIC0gZXh0cmFNZW1vcnlDb3N0KCkpOworI2lmICFSRUxFQVNFX0xP
R19ESVNBQkxFRAorICAgICAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgImV2aWN0ZWQgIiwg
aW5pdGlhbEJ1ZmZlcmVkU2l6ZSAtIHRvdGFsVHJhY2tCdWZmZXJTaXplSW5CeXRlcygpKTsKICNl
bmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjUwLDggKzY1Miw4IEBAIHZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZTo6ZXZpY3RDb2RlZEZyYW1lcyh1aW50NjRfdCBuZXdEYXRhU2l6ZSwg
dWludDY0X3QgcGVuZGluCiAgICAgYXV0byBidWZmZXJlZCA9IG1fYnVmZmVyZWQtPnJhbmdlcygp
OwogICAgIHVpbnQ2NF90IGN1cnJlbnRUaW1lUmFuZ2UgPSBidWZmZXJlZC5maW5kKGN1cnJlbnRU
aW1lKTsKICAgICBpZiAoY3VycmVudFRpbWVSYW5nZSA9PSBidWZmZXJlZC5sZW5ndGgoKSAtIDEp
IHsKLSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQgJiYgZmFsc2UKLSAgICAgICAgRVJST1JfTE9H
KExPR0lERU5USUZJRVIsICJGQUlMRUQgdG8gZnJlZSBlbm91Z2ggYWZ0ZXIgZXZpY3RpbmcgIiwg
aW5pdGlhbEJ1ZmZlcmVkU2l6ZSAtIGV4dHJhTWVtb3J5Q29zdCgpKTsKKyNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJGQUlMRUQgdG8g
ZnJlZSBlbm91Z2ggYWZ0ZXIgZXZpY3RpbmcgIiwgaW5pdGlhbEJ1ZmZlcmVkU2l6ZSAtIHRvdGFs
VHJhY2tCdWZmZXJTaXplSW5CeXRlcygpKTsKICNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAg
fQpAQCAtNjkxLDExICs2OTMsMTEgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlOjpldmljdENv
ZGVkRnJhbWVzKHVpbnQ2NF90IG5ld0RhdGFTaXplLCB1aW50NjRfdCBwZW5kaW4KICAgICAgICAg
cmFuZ2VFbmQgLT0gdGhpcnR5U2Vjb25kczsKICAgICB9CiAKLSNpZiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQgJiYgZmFsc2UKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBpZiAobV9idWZm
ZXJGdWxsKQotICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkZBSUxFRCB0byBmcmVl
IGVub3VnaCBhZnRlciBldmljdGluZyAiLCBpbml0aWFsQnVmZmVyZWRTaXplIC0gZXh0cmFNZW1v
cnlDb3N0KCkpOworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkZBSUxFRCB0byBm
cmVlIGVub3VnaCBhZnRlciBldmljdGluZyAiLCBpbml0aWFsQnVmZmVyZWRTaXplIC0gdG90YWxU
cmFja0J1ZmZlclNpemVJbkJ5dGVzKCkpOwogICAgIGVsc2UKLSAgICAgICAgREVCVUdfTE9HKExP
R0lERU5USUZJRVIsICJldmljdGVkICIsIGluaXRpYWxCdWZmZXJlZFNpemUgLSBleHRyYU1lbW9y
eUNvc3QoKSk7CisgICAgICAgIERFQlVHX0xPRyhMT0dJREVOVElGSUVSLCAiZXZpY3RlZCAiLCBp
bml0aWFsQnVmZmVyZWRTaXplIC0gdG90YWxUcmFja0J1ZmZlclNpemVJbkJ5dGVzKCkpOwogI2Vu
ZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Nv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRleCA5YWM0MTQ4Mjc0OTYzYjY2M2Jj
OTY5M2YyYWIxZjEwMjhkYTNjMGE4Li42NTU1MWZjNDAyMDU4NDYxNWJmNDUwMmUxNmM3OTlmMTRj
NTY3MjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBAIC02Niw3ICs2Niw2IEBAIHB1Ymxp
YzoKICAgICB9OwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2
ZUluaXRpYWxpemF0aW9uU2VnbWVudChJbml0aWFsaXphdGlvblNlZ21lbnQmJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclBy
aXZhdGVTdHJlYW1FbmRlZFdpdGhEZWNvZGVFcnJvcigpID0gMDsKLQogICAgIHZpcnR1YWwgdm9p
ZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kRXJyb3IoYm9vbCBkZWNvZGVFcnJvcikgPSAwOwog
ICAgIGVudW0gY2xhc3MgQXBwZW5kUmVzdWx0IDogdWludDhfdCB7CiAgICAgICAgIEFwcGVuZFN1
Y2NlZWRlZCwKQEAgLTc5LDggKzc4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzb3Vy
Y2VCdWZmZXJQcml2YXRlRGlkRHJvcFNhbXBsZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291
cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hhbmdlZChjb25zdCBQ
bGF0Zm9ybVRpbWVSYW5nZXMmKSA9IDA7Ci0KICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVy
UHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQ2NF90IGVycm9yQ29kZSkgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0
KHVpbnQ2NF90IGV4dHJhTWVtb3J5Q29zdCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQy5tbQppbmRleCAwYWNhYzJiZjBkZWQ0MDBkZmJjOWNiMTAyOTdhMzM5MWIzODFjMmU5
Li42ZjUwYzU0MTY5ZjMwY2RkOGY1OGExMDI2NzNiMjg4NjZmMWFhZjRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAt
NTE1LDYgKzUxNSw5IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFwcGVuZChW
ZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQogICAgIEFTU0VSVCghbV9oYXNTZXNzaW9uU2Vt
YXBob3JlKTsKICAgICBBU1NFUlQoIW1fYWJvcnRTZW1hcGhvcmUpOwogCisgICAgaWYgKG1fY2xp
ZW50KQorICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVt
b3J5Q29zdCh0b3RhbFRyYWNrQnVmZmVyU2l6ZUluQnl0ZXMoKSk7CisKICAgICBtX2Fib3J0U2Vt
YXBob3JlID0gQm94PFNlbWFwaG9yZT46OmNyZWF0ZSgwKTsKICAgICBtX3BhcnNlci0+c2V0V2ls
bFByb3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxpemF0aW9uRGF0YUZvclRyYWNrSURDYWxs
YmFjayhbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgYWJvcnRTZW1hcGhvcmUgPSBtX2Fi
b3J0U2VtYXBob3JlXSAodWludDY0X3QgdHJhY2tJRCkgbXV0YWJsZSB7CiAgICAgICAgIC8vIFdl
IG11c3QgY2FsbCBzeW5jaHJvbm91c2x5IHRvIHRoZSBtYWluIHRocmVhZCwgYXMgdGhlIEFWU3Ry
ZWFtU2Vzc2lvbiBtdXN0IGJlIGFzc29jaWF0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCmluZGV4IDhh
NWQxYTliN2FlNmI5NmU3YmY1NWVkYTk5Yjc1MTNiZjdjZDg2OGUuLjM3ZDBiZWJhMDkxODZkMjVl
NGVlNzRkMjJhNThiMTMzMmViYjFlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcApAQCAtMTM4LDYg
KzEzOCwxMSBAQCB2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2
YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGludDY0XwogICAgIG1fY29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihlcnJvckNv
ZGUpLCBtX2lkZW50aWZpZXIpOwogfQogCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpz
b3VyY2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0KHVpbnQ2NF90IGV4dHJhTWVt
b3J5KQoreworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZVJl
cG9ydEV4dHJhTWVtb3J5Q29zdChleHRyYU1lbW9yeSksIG1faWRlbnRpZmllcik7Cit9CisKIHZv
aWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZERp
cnR5Q2hhbmdlZChib29sIGZsYWcpCiB7CiAgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoZmxhZyksIG1faWRlbnRpZmllcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNl
QnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eS5oCmluZGV4IGU3NGQxYmEwMDhkY2ZkYzIzZTI2ODNhNDQyMGMyNDExMTll
OTViZTAuLjcyZjk1OWYxZWRkODZlZGU4Njg2Yzc5ZmU5ZTU3OWY3Njc3YTFmMzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eS5oCkBAIC03NSw4ICs3NSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzb3VyY2VCdWZm
ZXJQcml2YXRlRGlkRHJvcFNhbXBsZSgpIGZpbmFsOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJp
dmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wpIGZpbmFsOwogICAgIHZvaWQgc291cmNlQnVm
ZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybVRp
bWVSYW5nZXMmKSBmaW5hbDsKLQogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2Vp
dmVSZW5kZXJpbmdFcnJvcihpbnQ2NF90IGVycm9yQ29kZSkgZmluYWw7CisgICAgdm9pZCBzb3Vy
Y2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0KHVpbnQ2NF90IGV4dHJhTWVtb3J5
KSBmaW5hbDsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDI1YjNjNDVmMjM1MGE2NGVkY2ZlZTdjZTIz
OTliMWI3ZjhlZmRjYTMuLjQyMTQ4N2RkOTk5OGM2YzRmM2QwOTk2YWZiNjg4MWNhYjA3NTA0NWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMjQ3LDYgKzI0NywxMiBAQCB2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNl
aXZlUmVuZGVyaW5nRXJyb3IoaW50NgogICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJp
dmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihlcnJvckNvZGUpOwogfQogCit2b2lkIFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9y
eUNvc3QodWludDY0X3QgZXh0cmFNZW1vcnkpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAg
ICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdChleHRy
YU1lbW9yeSk7Cit9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIFdURkxvZ0NoYW5uZWwm
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUuaAppbmRleCAwM2I1NjM0Yjc0ZjMzMGRjZmUyYWE4ODg0OGJhYmJm
YjMxMGQyZjljLi44YWVlZGY5NDljMTgwNTFmNzUxMGUzZWE2ZDIyMmExYjc1OGMyNDQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Nv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaApAQCAtMTAwLDYgKzEwMCw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGludDY0
X3QgZXJyb3JDb2RlKTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZERpcnR5
Q2hhbmdlZChib29sIGRpcnR5KTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJl
ZFJhbmdlc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1UaW1lUmFuZ2VzJik7CisgICAg
dm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0KHVpbnQ2NF90IGV4
dHJhTWVtb3J5KTsKIAogICAgIEdQVVByb2Nlc3NDb25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25u
ZWN0aW9uOwogICAgIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgbV9yZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3Nh
Z2VzLmluCmluZGV4IGFmMTQxNWMzYTBkZmE5MmQ3MGM1YmE0ZWRiMTUxZjA3ZDdhMGIzOWQuLjM4
NWFlNGNhNDRjY2UwZjdlYmZiOWEzNjM2NWQ0N2I2ZjA1YjJjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTM2LDYgKzM2LDcgQEAgbWVzc2Fn
ZXMgLT4gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKICAgICBTb3Vy
Y2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoYm9vbCBkaXJ0eSkKICAgICBTb3Vy
Y2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKFdlYkNvcmU6OlBsYXRmb3JtVGlt
ZVJhbmdlcyB0aW1lUmFuZ2VzKQogICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVu
ZGVyaW5nRXJyb3IoaW50NjRfdCBlcnJvckNvZGUpCisgICAgU291cmNlQnVmZmVyUHJpdmF0ZVJl
cG9ydEV4dHJhTWVtb3J5Q29zdCh1aW50NjRfdCBleHRyYU1lbW9yeSkKIH0KIAogI2VuZGlmCg==
</data>
<flag name="review"
          id="433478"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416071</attachid>
            <date>2020-12-11 16:58:23 -0800</date>
            <delta_ts>2020-12-11 22:56:55 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219812-20201211165822.patch</filename>
            <type>text/plain</type>
            <size>15973</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTMwYjMyN2JkNTg5Mzk1
OTJjOTJmYTdkZWE1ZGI5YzU4MTk2YjYyMi4uZWQyM2M1MmFmMmMzMjZlYTgxMjM1YzgwZjRjMTRm
NzlkYjFlMTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTEyLTExICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXVtNU0VdIEltcGxlbWVudCBTb3VyY2VCdWZmZXI6OnJlcG9ydEV4dHJhTWVtb3J5QWxsb2Nh
dGVkKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
OTgxMgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBSZWZh
Y3RvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgYFNvdXJjZUJ1ZmZlcjo6cmVwb3J0RXh0cmFNZW1v
cnlBbGxvY2F0ZWQoKWAgdG8gbGV0CisgICAgICAgIGBTb3VyY2VCdWZmZXJQcml2YXRlYCBjYWxj
dWxhdGUgdGhlIGV4dHJhIG1lbW9yeSBjb3N0IGFuZCByZXBvcnQgdGhlIHZhbHVlIHRvCisgICAg
ICAgIGBTb3VyY2VCdWZmZXJgIHdoZW4gbmVjZXNzYXJ5LiBUaGlzIGFwcHJvYWNoIGlzIGJldHRl
ciB0aGFuIHRoZSBjdXJyZW50IG9uZSB3aGVuCisgICAgICAgIGBTb3VyY2VCdWZmZXJQcml2YXRl
YCBydW5zIGluIHRoZSBHUFUgcHJvY2VzcyBiZWNhdXNlIHRyYWNrIGJ1ZmZlciBtYW5hZ2VtZW50
CisgICAgICAgIGhhcyBiZWVuIG1vdmVkIHRvIGBTb3VyY2VCdWZmZXJQcml2YXRlYCBpbiByMjcw
NDM1LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRD
b21wbGV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclBy
aXZhdGVSZXBvcnRFeHRyYU1lbW9yeUNvc3QpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyOjpyZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXI6OmV4dHJhTWVtb3J5Q29zdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlclByaXZhdGU6OmFwcGVuZENvbXBsZXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VC
dWZmZXJQcml2YXRlOjpldmljdENvZGVkRnJhbWVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5kKToKKwog
MjAyMC0xMi0xMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtN
ZWRpYSBpbiBHUFUgUHJvY2Vzc11bTVNFXSBJbXBsZW1lbnQgc29tZSByZXF1aXJlZCBmdW5jdGlv
bnMgd2l0aCBuZXcgSVBDIG1lc3NhZ2VzIGFuZCByZW1vdmUgc29tZSB1bm5lZWRlZCBmdW5jdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggMDI3OTQ3ZmM1ZmM0MmNjODIzZmFjY2IzYzkwNGI5MjMxNWJmYjdlYi4u
NzM2Yzk5MmViMjVlY2UzNjgzNzcyYzdkNDMzZThlMTRmODk5OTVmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMC0xMi0xMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgor
CisgICAgICAgIFtNZWRpYSBpbiBHUFUgUHJvY2Vzc11bTVNFXSBJbXBsZW1lbnQgU291cmNlQnVm
ZmVyOjpyZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4MTIKKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIENhcmxzb24uCisKKyAgICAgICAgQWRkIGEgbmV3IElQQyBtZXNzYWdlIGBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0YCB0byBmb3J3YXJkIHRoZSBjYWxsYmFjawor
ICAgICAgICB0byB0aGUgd2ViIHByb2Nlc3MuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9yeUNvc3Qp
OgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNl
QnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW46CisK
IDIwMjAtMTItMTEgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBb
TWVkaWEgaW4gR1BVIFByb2Nlc3NdW01TRV0gSW1wbGVtZW50IHNvbWUgcmVxdWlyZWQgZnVuY3Rp
b25zIHdpdGggbmV3IElQQyBtZXNzYWdlcyBhbmQgcmVtb3ZlIHNvbWUgdW5uZWVkZWQgZnVuY3Rp
b25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAKaW5kZXggNmRhNWFkMTYzNjBjZDQ4MDU0NWIyOWZkOWEyMGNjNjkzNDU1NTIxYi4u
MzI2MWIzZjZjM2I5MWRlNzQ5NGMwMGJmMzRkOTFmNmVlY2Q1ZTVmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtNTEy
LDggKzUxMiw2IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVy
SW50ZXJuYWwoY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwKICAgICAvLyA2LiBBc3luY2hyb25v
dXNseSBydW4gdGhlIGJ1ZmZlciBhcHBlbmQgYWxnb3JpdGhtLgogICAgIG1fYXBwZW5kQnVmZmVy
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKLSAgICByZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRl
ZCgpOwotCiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNTg1LDggKzU4Myw2IEBAIHZvaWQgU291
cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0
IHJlc3VsdCkKICAgICBtX3NvdXJjZS0+bW9uaXRvclNvdXJjZUJ1ZmZlcnMoKTsKICAgICBtX3By
aXZhdGUtPnJlZW5xdWV1ZU1lZGlhSWZOZWVkZWQobV9zb3VyY2UtPmN1cnJlbnRUaW1lKCksIG1f
cGVuZGluZ0FwcGVuZERhdGEuY2FwYWNpdHkoKSwgbWF4aW11bUJ1ZmZlclNpemUoKSk7CiAKLSAg
ICByZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwotCiAgICAgREVCVUdfTE9HKExPR0lERU5U
SUZJRVIpOwogfQogCkBAIC0xMTk1LDE3ICsxMTkxLDE0IEBAIGJvb2wgU291cmNlQnVmZmVyOjpj
YW5QbGF5VGhyb3VnaFJhbmdlKFBsYXRmb3JtVGltZVJhbmdlcyYgcmFuZ2VzKQogICAgIHJldHVy
biB1bmJ1ZmZlcmVkVGltZS50b0RvdWJsZSgpIC8gbV9hdmVyYWdlQnVmZmVyUmF0ZSA8IHRpbWVS
ZW1haW5pbmcudG9Eb3VibGUoKTsKIH0KIAotdWludDY0X3QgU291cmNlQnVmZmVyOjpleHRyYU1l
bW9yeUNvc3QoKSBjb25zdAordm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVS
ZXBvcnRFeHRyYU1lbW9yeUNvc3QodWludDY0X3QgZXh0cmFNZW1vcnkpCiB7Ci0gICAgdWludDY0
X3QgZXh0cmFNZW1vcnlDb3N0ID0gbV9wZW5kaW5nQXBwZW5kRGF0YS5jYXBhY2l0eSgpOwotICAg
IGV4dHJhTWVtb3J5Q29zdCArPSBtX3ByaXZhdGUtPnRvdGFsVHJhY2tCdWZmZXJTaXplSW5CeXRl
cygpOwotCi0gICAgcmV0dXJuIGV4dHJhTWVtb3J5Q29zdDsKKyAgICByZXBvcnRFeHRyYU1lbW9y
eUFsbG9jYXRlZChleHRyYU1lbW9yeSk7CiB9CiAKLXZvaWQgU291cmNlQnVmZmVyOjpyZXBvcnRF
eHRyYU1lbW9yeUFsbG9jYXRlZCgpCit2b2lkIFNvdXJjZUJ1ZmZlcjo6cmVwb3J0RXh0cmFNZW1v
cnlBbGxvY2F0ZWQodWludDY0X3QgZXh0cmFNZW1vcnkpCiB7Ci0gICAgdWludDY0X3QgZXh0cmFN
ZW1vcnlDb3N0ID0gdGhpcy0+ZXh0cmFNZW1vcnlDb3N0KCk7CisgICAgdWludDY0X3QgZXh0cmFN
ZW1vcnlDb3N0ID0gbV9wZW5kaW5nQXBwZW5kRGF0YS5jYXBhY2l0eSgpICsgZXh0cmFNZW1vcnk7
CiAgICAgaWYgKGV4dHJhTWVtb3J5Q29zdCA8PSBtX3JlcG9ydGVkRXh0cmFNZW1vcnlDb3N0KQog
ICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5oCmluZGV4IGIwYzE3NDVlZTYxY2RkNDhiMTYwOTY5NjdhYTZhZjI3
OGVmNTIwZGUuLjMwOWZmOTZlMGRjYjMzNGYwMzU0MGM2MDE0YzU5MjkwZWYzOWZiMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApA
QCAtMTU4LDYgKzE1OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRl
QnVmZmVyZWREaXJ0eUNoYW5nZWQoYm9vbCkgZmluYWw7CiAgICAgdm9pZCBzb3VyY2VCdWZmZXJQ
cml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKGNvbnN0IFBsYXRmb3JtVGltZVJhbmdlcyYpIGZp
bmFsOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJv
cihpbnQ2NF90IGVycm9yQ29kZSkgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRl
UmVwb3J0RXh0cmFNZW1vcnlDb3N0KHVpbnQ2NF90KSBmaW5hbDsKIAogICAgIC8vIEF1ZGlvVHJh
Y2tDbGllbnQKICAgICB2b2lkIGF1ZGlvVHJhY2tFbmFibGVkQ2hhbmdlZChBdWRpb1RyYWNrJikg
ZmluYWw7CkBAIC0xOTEsOCArMTkyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVtb3ZlVGlt
ZXJGaXJlZCgpOwogCi0gICAgdWludDY0X3QgZXh0cmFNZW1vcnlDb3N0KCkgY29uc3Q7Ci0gICAg
dm9pZCByZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOworICAgIHZvaWQgcmVwb3J0RXh0cmFN
ZW1vcnlBbGxvY2F0ZWQodWludDY0X3QgZXh0cmFNZW1vcnkpOwogCiAgICAgdm9pZCBhcHBlbmRF
cnJvcihib29sKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmNwcAppbmRleCA3YmUwMDIxZDliYjZkZjEwN2Q3MWE0
ZjE1YTcxNTU2ZGUxOWVlNzAzLi4yOTQwZjYzYTQ1M2NmNDIyMDg0NDA1OGUzNjZhYmNiZDViNjBl
OWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VC
dWZmZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
b3VyY2VCdWZmZXJQcml2YXRlLmNwcApAQCAtMTYyLDggKzE2MiwxMCBAQCB2b2lkIFNvdXJjZUJ1
ZmZlclByaXZhdGU6OmFwcGVuZENvbXBsZXRlZChib29sIHBhcnNpbmdTdWNjZWVkZWQsIGJvb2wg
aXNFbmRlZCkKICAgICAvLyBpbnRvIHRoZSBTb3VyY2VCdWZmZXIncyBidWZmZXJlZCByYW5nZXMK
ICAgICB1cGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMoaXNFbmRlZCk7CiAKLSAgICBpZiAo
bV9jbGllbnQpCisgICAgaWYgKG1fY2xpZW50KSB7CiAgICAgICAgIG1fY2xpZW50LT5zb3VyY2VC
dWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUocGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291cmNlQnVm
ZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKKyAgICAgICAg
bV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9yeUNvc3QodG90YWxU
cmFja0J1ZmZlclNpemVJbkJ5dGVzKCkpOworICAgIH0KIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQ
cml2YXRlOjpyZWVucXVlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQpAQCAtNjE3
LDkgKzYxOSw5IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZTo6ZXZpY3RDb2RlZEZyYW1lcyh1
aW50NjRfdCBuZXdEYXRhU2l6ZSwgdWludDY0X3QgcGVuZGluCiAgICAgTWVkaWFUaW1lIHRoaXJ0
eVNlY29uZHMgPSBNZWRpYVRpbWUoMzAsIDEpOwogICAgIE1lZGlhVGltZSBtYXhpbXVtUmFuZ2VF
bmQgPSBjdXJyZW50VGltZSAtIHRoaXJ0eVNlY29uZHM7CiAKLSNpZiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQgJiYgZmFsc2UKLSAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgImN1cnJlbnRUaW1l
ID0gIiwgY3VycmVudFRpbWUsICIsIHJlcXVpcmUgIiwgZXh0cmFNZW1vcnlDb3N0KCkgKyBuZXdE
YXRhU2l6ZSwgIiBieXRlcywgbWF4aW11bSBidWZmZXIgc2l6ZSBpcyAiLCBtYXhpbXVtQnVmZmVy
U2l6ZSk7Ci0gICAgdWludDY0X3QgaW5pdGlhbEJ1ZmZlcmVkU2l6ZSA9IGV4dHJhTWVtb3J5Q29z
dCgpOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHVpbnQ2NF90IGluaXRpYWxCdWZm
ZXJlZFNpemUgPSB0b3RhbFRyYWNrQnVmZmVyU2l6ZUluQnl0ZXMoKTsKKyAgICBERUJVR19MT0co
TE9HSURFTlRJRklFUiwgImN1cnJlbnRUaW1lID0gIiwgY3VycmVudFRpbWUsICIsIHJlcXVpcmUg
IiwgaW5pdGlhbEJ1ZmZlcmVkU2l6ZSArIG5ld0RhdGFTaXplLCAiIGJ5dGVzLCBtYXhpbXVtIGJ1
ZmZlciBzaXplIGlzICIsIG1heGltdW1CdWZmZXJTaXplKTsKICNlbmRpZgogCiAgICAgTWVkaWFU
aW1lIHJhbmdlU3RhcnQgPSBNZWRpYVRpbWU6Onplcm9UaW1lKCk7CkBAIC02MzgsOCArNjQwLDgg
QEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlOjpldmljdENvZGVkRnJhbWVzKHVpbnQ2NF90IG5l
d0RhdGFTaXplLCB1aW50NjRfdCBwZW5kaW4KICAgICB9CiAKICAgICBpZiAoIW1fYnVmZmVyRnVs
bCkgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRCAmJiBmYWxzZQotICAgICAgICBERUJVR19M
T0coTE9HSURFTlRJRklFUiwgImV2aWN0ZWQgIiwgaW5pdGlhbEJ1ZmZlcmVkU2l6ZSAtIGV4dHJh
TWVtb3J5Q29zdCgpKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgREVCVUdf
TE9HKExPR0lERU5USUZJRVIsICJldmljdGVkICIsIGluaXRpYWxCdWZmZXJlZFNpemUgLSB0b3Rh
bFRyYWNrQnVmZmVyU2l6ZUluQnl0ZXMoKSk7CiAjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTY1MCw4ICs2NTIsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGU6OmV2aWN0Q29k
ZWRGcmFtZXModWludDY0X3QgbmV3RGF0YVNpemUsIHVpbnQ2NF90IHBlbmRpbgogICAgIGF1dG8g
YnVmZmVyZWQgPSBtX2J1ZmZlcmVkLT5yYW5nZXMoKTsKICAgICB1aW50NjRfdCBjdXJyZW50VGlt
ZVJhbmdlID0gYnVmZmVyZWQuZmluZChjdXJyZW50VGltZSk7CiAgICAgaWYgKGN1cnJlbnRUaW1l
UmFuZ2UgPT0gYnVmZmVyZWQubGVuZ3RoKCkgLSAxKSB7Ci0jaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVEICYmIGZhbHNlCi0gICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiRkFJTEVEIHRv
IGZyZWUgZW5vdWdoIGFmdGVyIGV2aWN0aW5nICIsIGluaXRpYWxCdWZmZXJlZFNpemUgLSBleHRy
YU1lbW9yeUNvc3QoKSk7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAgIEVSUk9S
X0xPRyhMT0dJREVOVElGSUVSLCAiRkFJTEVEIHRvIGZyZWUgZW5vdWdoIGFmdGVyIGV2aWN0aW5n
ICIsIGluaXRpYWxCdWZmZXJlZFNpemUgLSB0b3RhbFRyYWNrQnVmZmVyU2l6ZUluQnl0ZXMoKSk7
CiAjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY5MSwxMSArNjkzLDExIEBAIHZv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZTo6ZXZpY3RDb2RlZEZyYW1lcyh1aW50NjRfdCBuZXdEYXRh
U2l6ZSwgdWludDY0X3QgcGVuZGluCiAgICAgICAgIHJhbmdlRW5kIC09IHRoaXJ0eVNlY29uZHM7
CiAgICAgfQogCi0jaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVEICYmIGZhbHNlCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECiAgICAgaWYgKG1fYnVmZmVyRnVsbCkKLSAgICAgICAgRVJST1JfTE9H
KExPR0lERU5USUZJRVIsICJGQUlMRUQgdG8gZnJlZSBlbm91Z2ggYWZ0ZXIgZXZpY3RpbmcgIiwg
aW5pdGlhbEJ1ZmZlcmVkU2l6ZSAtIGV4dHJhTWVtb3J5Q29zdCgpKTsKKyAgICAgICAgRVJST1Jf
TE9HKExPR0lERU5USUZJRVIsICJGQUlMRUQgdG8gZnJlZSBlbm91Z2ggYWZ0ZXIgZXZpY3Rpbmcg
IiwgaW5pdGlhbEJ1ZmZlcmVkU2l6ZSAtIHRvdGFsVHJhY2tCdWZmZXJTaXplSW5CeXRlcygpKTsK
ICAgICBlbHNlCi0gICAgICAgIERFQlVHX0xPRyhMT0dJREVOVElGSUVSLCAiZXZpY3RlZCAiLCBp
bml0aWFsQnVmZmVyZWRTaXplIC0gZXh0cmFNZW1vcnlDb3N0KCkpOworICAgICAgICBERUJVR19M
T0coTE9HSURFTlRJRklFUiwgImV2aWN0ZWQgIiwgaW5pdGlhbEJ1ZmZlcmVkU2l6ZSAtIHRvdGFs
VHJhY2tCdWZmZXJTaXplSW5CeXRlcygpKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50LmgKaW5kZXggOWFjNDE0ODI3NDk2M2I2NjNiYzk2OTNmMmFiMWYxMDI4ZGEzYzBhOC4uMWMz
MGYxYzU0MmZmOTgzYjk3ZTZmMjAwNDBhMTBhZWM1NWM3MTVjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVD
bGllbnQuaApAQCAtNjYsNyArNjYsNiBAQCBwdWJsaWM6CiAgICAgfTsKICAgICB2aXJ0dWFsIHZv
aWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVJbml0aWFsaXphdGlvblNlZ21lbnQoSW5p
dGlhbGl6YXRpb25TZWdtZW50JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlU3RyZWFtRW5kZWRXaXRoRGVjb2Rl
RXJyb3IoKSA9IDA7Ci0KICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVu
ZEVycm9yKGJvb2wgZGVjb2RlRXJyb3IpID0gMDsKICAgICBlbnVtIGNsYXNzIEFwcGVuZFJlc3Vs
dCA6IHVpbnQ4X3QgewogICAgICAgICBBcHBlbmRTdWNjZWVkZWQsCkBAIC03OSw4ICs3OCw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZERyb3BTYW1w
bGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZERp
cnR5Q2hhbmdlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZh
dGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQoY29uc3QgUGxhdGZvcm1UaW1lUmFuZ2VzJikgPSAwOwot
CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5n
RXJyb3IoaW50NjRfdCBlcnJvckNvZGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVm
ZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCh1aW50NjRfdCkgPSAwOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCAwYWNhYzJiZjBkZWQ0MDBkZmJjOWNiMTAy
OTdhMzM5MWIzODFjMmU5Li42ZjUwYzU0MTY5ZjMwY2RkOGY1OGExMDI2NzNiMjg4NjZmMWFhZjRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQy5tbQpAQCAtNTE1LDYgKzUxNSw5IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakM6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQogICAgIEFTU0VSVCgh
bV9oYXNTZXNzaW9uU2VtYXBob3JlKTsKICAgICBBU1NFUlQoIW1fYWJvcnRTZW1hcGhvcmUpOwog
CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0
ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCh0b3RhbFRyYWNrQnVmZmVyU2l6ZUluQnl0ZXMoKSk7CisK
ICAgICBtX2Fib3J0U2VtYXBob3JlID0gQm94PFNlbWFwaG9yZT46OmNyZWF0ZSgwKTsKICAgICBt
X3BhcnNlci0+c2V0V2lsbFByb3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxpemF0aW9uRGF0
YUZvclRyYWNrSURDYWxsYmFjayhbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgYWJvcnRT
ZW1hcGhvcmUgPSBtX2Fib3J0U2VtYXBob3JlXSAodWludDY0X3QgdHJhY2tJRCkgbXV0YWJsZSB7
CiAgICAgICAgIC8vIFdlIG11c3QgY2FsbCBzeW5jaHJvbm91c2x5IHRvIHRoZSBtYWluIHRocmVh
ZCwgYXMgdGhlIEFWU3RyZWFtU2Vzc2lvbiBtdXN0IGJlIGFzc29jaWF0ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuY3BwCmluZGV4IDhhNWQxYTliN2FlNmI5NmU3YmY1NWVkYTk5Yjc1MTNiZjdjZDg2OGUuLjM3
ZDBiZWJhMDkxODZkMjVlNGVlNzRkMjJhNThiMTMzMmViYjFlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
LmNwcApAQCAtMTM4LDYgKzEzOCwxMSBAQCB2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpz
b3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGludDY0XwogICAgIG1f
Y29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJp
bmdFcnJvcihlcnJvckNvZGUpLCBtX2lkZW50aWZpZXIpOwogfQogCit2b2lkIFJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0KHVp
bnQ2NF90IGV4dHJhTWVtb3J5KQoreworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25u
ZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNl
QnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdChleHRyYU1lbW9yeSksIG1faWRlbnRp
Zmllcik7Cit9CisKIHZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclBy
aXZhdGVCdWZmZXJlZERpcnR5Q2hhbmdlZChib29sIGZsYWcpCiB7CiAgICAgbV9jb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoZmxhZyks
IG1faWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oCmluZGV4IGU3NGQxYmEwMDhkY2ZkYzIzZTI2
ODNhNDQyMGMyNDExMTllOTViZTAuLjcyZjk1OWYxZWRkODZlZGU4Njg2Yzc5ZmU5ZTU3OWY3Njc3
YTFmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oCkBAIC03NSw4ICs3NSw4IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkRHJvcFNhbXBsZSgpIGZpbmFsOwogICAgIHZvaWQg
c291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wpIGZpbmFsOwogICAg
IHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJD
b3JlOjpQbGF0Zm9ybVRpbWVSYW5nZXMmKSBmaW5hbDsKLQogICAgIHZvaWQgc291cmNlQnVmZmVy
UHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQ2NF90IGVycm9yQ29kZSkgZmluYWw7
CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0KHVpbnQ2
NF90IGV4dHJhTWVtb3J5KSBmaW5hbDsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCiAg
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDI1YjNjNDVmMjM1
MGE2NGVkY2ZlZTdjZTIzOTliMWI3ZjhlZmRjYTMuLjQyMTQ4N2RkOTk5OGM2YzRmM2QwOTk2YWZi
Njg4MWNhYjA3NTA0NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMjQ3
LDYgKzI0NywxMiBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZl
clByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50NgogICAgICAgICBtX2NsaWVudC0+
c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihlcnJvckNvZGUpOwog
fQogCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVS
ZXBvcnRFeHRyYU1lbW9yeUNvc3QodWludDY0X3QgZXh0cmFNZW1vcnkpCit7CisgICAgaWYgKG1f
Y2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJh
TWVtb3J5Q29zdChleHRyYU1lbW9yeSk7Cit9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
IFdURkxvZ0NoYW5uZWwmIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9T
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaAppbmRleCAwM2I1NjM0Yjc0ZjMzMGRj
ZmUyYWE4ODg0OGJhYmJmYjMxMGQyZjljLi44YWVlZGY5NDljMTgwNTFmNzUxMGUzZWE2ZDIyMmEx
Yjc1OGMyNDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaApAQCAtMTAwLDYgKzEwMCw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRl
cmluZ0Vycm9yKGludDY0X3QgZXJyb3JDb2RlKTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZh
dGVCdWZmZXJlZERpcnR5Q2hhbmdlZChib29sIGRpcnR5KTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZl
clByaXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1UaW1l
UmFuZ2VzJik7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVwb3J0RXh0cmFNZW1vcnlD
b3N0KHVpbnQ2NF90IGV4dHJhTWVtb3J5KTsKIAogICAgIEdQVVByb2Nlc3NDb25uZWN0aW9uJiBt
X2dwdVByb2Nlc3NDb25uZWN0aW9uOwogICAgIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIg
bV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluCmluZGV4IGFmMTQxNWMzYTBkZmE5MmQ3MGM1YmE0ZWRiMTUx
ZjA3ZDdhMGIzOWQuLjM4NWFlNGNhNDRjY2UwZjdlYmZiOWEzNjM2NWQ0N2I2ZjA1YjJjOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTM2LDYg
KzM2LDcgQEAgbWVzc2FnZXMgLT4gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3Vu
dGVkIHsKICAgICBTb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoYm9vbCBk
aXJ0eSkKICAgICBTb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKFdlYkNv
cmU6OlBsYXRmb3JtVGltZVJhbmdlcyB0aW1lUmFuZ2VzKQogICAgIFNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50NjRfdCBlcnJvckNvZGUpCisgICAgU291cmNl
QnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCh1aW50NjRfdCBleHRyYU1lbW9yeSkK
IH0KIAogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>