<?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>230399</bug_id>
          
          <creation_ts>2021-09-17 05:06:03 -0700</creation_ts>
          <short_desc>imported/w3c/web-platform-tests/webrtc/RTCDataChannel-close.html is flaky</short_desc>
          <delta_ts>2021-09-21 10:07:36 -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>WebRTC</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>clopez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1794398</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-17 05:06:03 -0700</bug_when>
    <thetext>imported/w3c/web-platform-tests/webrtc/RTCDataChannel-close.html is flaky</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794410</commentid>
    <comment_count>1</comment_count>
      <attachid>438466</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-17 06:23:45 -0700</bug_when>
    <thetext>Created attachment 438466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794424</commentid>
    <comment_count>2</comment_count>
      <attachid>438470</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-17 07:06:40 -0700</bug_when>
    <thetext>Created attachment 438470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795026</commentid>
    <comment_count>3</comment_count>
      <attachid>438659</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-20 05:10:45 -0700</bug_when>
    <thetext>Created attachment 438659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795027</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-09-20 05:11:41 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795072</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-20 07:29:27 -0700</bug_when>
    <thetext>I move the resyncing of imported/w3c/web-platform-tests/webrtc/RTCDataChannel-close.html from https://bugs.webkit.org/show_bug.cgi?id=229549 to this patch so that we keep it not flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795548</commentid>
    <comment_count>6</comment_count>
      <attachid>438659</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-09-21 07:57:59 -0700</bug_when>
    <thetext>Comment on attachment 438659
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        - We were creating the data channel handler at the time we were creating the data channel handler.

S/creating the data channel handler at the time/creating the data channel at the time/

&gt; Source/WebCore/ChangeLog:18
&gt; +        Covered by test no longer flaky.

and by updated test RTCDataChannel-close.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795577</commentid>
    <comment_count>7</comment_count>
      <attachid>438827</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-21 08:47:37 -0700</bug_when>
    <thetext>Created attachment 438827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795617</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-21 10:06:06 -0700</bug_when>
    <thetext>Committed r282825 (241956@main): &lt;https://commits.webkit.org/241956@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438827.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795620</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-21 10:07:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/83356916&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438466</attachid>
            <date>2021-09-17 06:23:45 -0700</date>
            <delta_ts>2021-09-17 07:06:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230399-20210917152343.patch</filename>
            <type>text/plain</type>
            <size>18810</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMjc1MmYwZGY3MmZh
YTIwYmQwNmFhYzlhZTUxM2VkNDZkNDU4Mi4uMGRlNDk5MjQzZGUyZGRhNzFhODZmYTY5MmFhNzg4
NWE5NzdiYmM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA5LTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS5odG1sIGlzIGZsYWt5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzOTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBmaXgg
YSBudW1iZXIgb2YgZmxha3kgaXNzdWVzOgorICAgICAgICAtIFJUQ0RhdGFDaGFubmVsOjpkaWRD
aGFuZ2VSZWFkeVN0YXRlIHNob3VsZCBxdWV1ZSBhIHRhc2sgYW5kIGluc2lkZSB0aGUgdGFzayB1
cGRhdGUgdGhlIHN0YXRlICsgZGlzcGF0Y2ggZXZlbnQuCisgICAgICAgICAgUHJldmlvdXNseSwg
d2Ugd2VyZSB1cGRhdGluZyB0aGUgc3RhdGUsIHRoZW4gcXVldWVpbmcgYSB0YXNrIHRvIGRpc3Bh
dGNoIHRoZSBldmVudC4KKyAgICAgICAgLSBXZSB3ZXJlIGNyZWF0aW5nIHRoZSBkYXRhIGNoYW5u
ZWwgaGFuZGxlciBhdCB0aGUgdGltZSB3ZSB3ZXJlIGNyZWF0aW5nIHRoZSBkYXRhIGNoYW5uZWwg
aGFuZGxlci4KKyAgICAgICAgICBJbiB0aGF0IGNhc2UsIHdlIG1pZ2h0IGhhdmUgbWlzc2VkIHNv
bWUgc3RhdGUgY2hhbmdlcy4KKyAgICAgICAgICBXZSBub3cgY3JlYXRlIHRoZSBkYXRhIGNoYW5u
ZWwgaGFuZGxlciBhcyBzb29uIGFzIHBvc3NpYmxlLCB0aGVuIHF1ZXVlIGEgdGFzayB3aGVyZSB3
ZSBjcmVhdGUgdGhlIGRhdGEgY2hhbm5lbCBhbmQgZmlyZSB0aGUgY2hhbm5lbCBldmVudC4KKyAg
ICAgICAgLSBXZSBjaGVjayB0aGUgYmFja2VuZCBkYXRhIGNoYW5uZWwgc3RhdGUgYXMgc29vbiBh
cyBjcmVhdGluZyB0aGUgZGF0YSBjaGFubmVsIGhhbmRsZXIsIGluc3RlYWQgb2Ygd2hlbiBjcmVh
dGluZyB0aGUgZGF0YSBjaGFubmVsIGZvciB0aGUgc2FtZSByZWFzb24uCisgICAgICAgIC0gV2hl
biB3ZSBidWZmZXIgc3RhdGVzLCB3ZSBuZWVkIHRvIHN0b3JlIHdoZXRoZXIgYW4gZXJyb3Igb2Nj
dXJzIHRvIHByb3Blcmx5IGZpcmUgdGhlIGVycm9yIGV2ZW50IGFzIG5lZWRlZC4KKyAgICAgICAg
LSBTaW1pbGFybHkgdG8gcmVhZHlTdGF0ZSwgd2UgbmVlZCB0byBxdWV1ZSBhIHRhc2sgdG8gdXBk
YXRlIGJ1ZmZlcmVkQW1vdW50IGFuZCwgaWYgbmVlZGVkLCBzeW5jaHJvbm91c2x5IGZpcmUgdGhl
IGJ1ZmZlcmVkQW1vdW50TG93IGV2ZW50LgorCisgICAgICAgIENvdmVyZWQgYnkgdGVzdCBubyBs
b25nZXIgZmxha3kuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0
aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
Om5ld0RhdGFDaGFubmVsKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNo
YW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmRpZENoYW5nZVJl
YWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmJ1ZmZlcmVkQW1v
dW50SXNEZWNyZWFzaW5nKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGli
V2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpkYXRhQ2hhbm5l
bEluaXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5k
bGVyOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENEYXRhQ2hhbm5l
bEhhbmRsZXI6OnNldENsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXI6OmNoZWNrU3RhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6T25EYXRhQ2hhbm5lbCk6CisK
IDIwMjEtMDktMTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdW2ExMXldIEFkZCBhIGJ1aWxkIG9wdGlvbiB0byBlbmFibGUgQVRTUEkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5l
Y3Rpb25CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb25CYWNrZW5kLmNwcAppbmRleCBmNmYwYWFmM2I2YmQ3OWE2NzMxMzA3MzZjODZh
OTU3YTQ0YzQ1MzE3Li5jNTU2OThlZjNmYThjN2Y5OGNjY2QzYmU0ODg3OTc0ZTk0OGYwYjE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0
aW9uQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiTGli
V2ViUlRDQ2VydGlmaWNhdGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsRXZlbnQuaCIKICNpbmNsdWRl
ICJSVENEdGxzVHJhbnNwb3J0LmgiCiAjaW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRlLmgiCiAjaW5j
bHVkZSAiUlRDUGVlckNvbm5lY3Rpb24uaCIKQEAgLTM3NSw2ICszNzYsMTcgQEAgdm9pZCBQZWVy
Q29ubmVjdGlvbkJhY2tlbmQ6Om5ld0lDRUNhbmRpZGF0ZShTdHJpbmcmJiBzZHAsIFN0cmluZyYm
IG1pZCwgdW5zaWduZWQKICAgICB9KTsKIH0KIAordm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
Om5ld0RhdGFDaGFubmVsKFVuaXF1ZVJlZjxSVENEYXRhQ2hhbm5lbEhhbmRsZXI+JiYgY2hhbm5l
bEhhbmRsZXIsIFN0cmluZyYmIGxhYmVsLCBSVENEYXRhQ2hhbm5lbEluaXQmJiBjaGFubmVsSW5p
dCkKK3sKKyAgICBtX3BlZXJDb25uZWN0aW9uLnF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSht
X3BlZXJDb25uZWN0aW9uLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbY29ubmVjdGlvbiA9IG1h
a2VSZWYobV9wZWVyQ29ubmVjdGlvbiksIGxhYmVsID0gV1RGTW92ZShsYWJlbCksIGNoYW5uZWxI
YW5kbGVyID0gV1RGTW92ZShjaGFubmVsSGFuZGxlciksIGNoYW5uZWxJbml0ID0gV1RGTW92ZShj
aGFubmVsSW5pdCldKCkgbXV0YWJsZSB7CisgICAgICAgIGlmIChjb25uZWN0aW9uLT5pc0Nsb3Nl
ZCgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGF1dG8gY2hhbm5lbCA9IFJUQ0Rh
dGFDaGFubmVsOjpjcmVhdGUoKmNvbm5lY3Rpb24tPmRvY3VtZW50KCksIGNoYW5uZWxIYW5kbGVy
Lm1vdmVUb1VuaXF1ZVB0cigpLCBXVEZNb3ZlKGxhYmVsKSwgV1RGTW92ZShjaGFubmVsSW5pdCkp
OworICAgICAgICBjb25uZWN0aW9uLT5kaXNwYXRjaEV2ZW50KFJUQ0RhdGFDaGFubmVsRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuZGF0YWNoYW5uZWxFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6
Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vLCBXVEZNb3ZlKGNoYW5uZWwpKSk7CisgICAgfSk7
Cit9CisKIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpkb25lR2F0aGVyaW5nQ2FuZGlkYXRl
cygpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCmlu
ZGV4IGZlOTQ1NzNmMzZmOTg4MzBkNzBlYjc3YjUwODk1NWNlZTcyODJkOTMuLmYwODY5MmJiYzhl
Y2QxNDE2NGNjZmI0MzlmNzYwZDAwODI5NmUzMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaApAQCAt
MTM3LDYgKzEzNyw4IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgdm9pZCBuZXdJQ0VDYW5kaWRh
dGUoU3RyaW5nJiYgc2RwLCBTdHJpbmcmJiBtaWQsIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5k
ZXgsIFN0cmluZyYmIHNlcnZlclVSTCwgc3RkOjpvcHRpb25hbDxEZXNjcmlwdGlvblN0YXRlcz4m
Jik7CisgICAgdm9pZCBuZXdEYXRhQ2hhbm5lbChVbmlxdWVSZWY8UlRDRGF0YUNoYW5uZWxIYW5k
bGVyPiYmLCBTdHJpbmcmJiwgUlRDRGF0YUNoYW5uZWxJbml0JiYpOworCiAgICAgdmlydHVhbCB2
b2lkIGRpc2FibGVJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoKTsKICAgICB2b2lkIGVuYWJsZUlDRUNh
bmRpZGF0ZUZpbHRlcmluZygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCmluZGV4IGZmMjIwOGMxODBmNWZlMWU0NjQw
NjllMWNjNTRkZGRkY2E5MmQyYWIuLjJiMmQ3OWY3M2YxNzJjMDU5MWJkNWU5YTk4ZGNlMjgxODRl
N2UwMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
RGF0YUNoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRGF0YUNoYW5uZWwuY3BwCkBAIC0xOTQsMjkgKzE5NCwzMSBAQCBib29sIFJUQ0RhdGFDaGFu
bmVsOjp2aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKIAogdm9pZCBSVENEYXRhQ2hh
bm5lbDo6ZGlkQ2hhbmdlUmVhZHlTdGF0ZShSVENEYXRhQ2hhbm5lbFN0YXRlIG5ld1N0YXRlKQog
ewotICAgIGlmIChtX3N0b3BwZWQgfHwgbV9yZWFkeVN0YXRlID09IFJUQ0RhdGFDaGFubmVsU3Rh
dGU6OkNsb3NlZCB8fCBtX3JlYWR5U3RhdGUgPT0gbmV3U3RhdGUpCi0gICAgICAgIHJldHVybjsK
KyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMsIFRhc2tTb3VyY2U6Ok5ldHdv
cmtpbmcsIFt0aGlzLCBuZXdTdGF0ZV0geworICAgICAgICBpZiAobV9zdG9wcGVkIHx8IG1fcmVh
ZHlTdGF0ZSA9PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zZWQgfHwgbV9yZWFkeVN0YXRlID09
IG5ld1N0YXRlKQorICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9
PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zaW5nICYmIG5ld1N0YXRlID09IFJUQ0RhdGFDaGFu
bmVsU3RhdGU6Ok9wZW4pCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKG1fcmVhZHlTdGF0
ZSA9PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zaW5nICYmIG5ld1N0YXRlID09IFJUQ0RhdGFD
aGFubmVsU3RhdGU6Ok9wZW4pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBtX3JlYWR5U3Rh
dGUgPSBuZXdTdGF0ZTsKLQotICAgIHN3aXRjaCAobV9yZWFkeVN0YXRlKSB7Ci0gICAgY2FzZSBS
VENEYXRhQ2hhbm5lbFN0YXRlOjpDb25uZWN0aW5nOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpPcGVu
OgotICAgICAgICBzY2hlZHVsZURpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkub3BlbkV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6
Tm8pKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9z
aW5nOgotICAgICAgICBzY2hlZHVsZURpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuY2xvc2luZ0V2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8pKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRl
OjpDbG9zZWQ6Ci0gICAgICAgIHNjaGVkdWxlRGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5jbG9zZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKLSAgICAgICAgbV9zdG9wcGVkID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQorICAgICAgICBtX3JlYWR5U3RhdGUgPSBuZXdTdGF0ZTsKKworICAgICAgICBzd2l0
Y2ggKG1fcmVhZHlTdGF0ZSkgeworICAgICAgICBjYXNlIFJUQ0RhdGFDaGFubmVsU3RhdGU6OkNv
bm5lY3Rpbmc6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIFJUQ0RhdGFDaGFubmVsU3RhdGU6Ok9wZW46CisgICAgICAg
ICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm9wZW5FdmVudCwg
RXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zaW5nOgor
ICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jbG9z
aW5nRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUlRDRGF0YUNoYW5uZWxTdGF0ZTo6
Q2xvc2VkOgorICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5jbG9zZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJs
ZTo6Tm8pKTsKKyAgICAgICAgICAgIG1fc3RvcHBlZCA9IHRydWU7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgIH0pOwogfQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsOjpkaWRSZWNl
aXZlU3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHRleHQpCkBAIC0yNDQsMTAgKzI0NiwxMiBAQCB2
b2lkIFJUQ0RhdGFDaGFubmVsOjpkaWREZXRlY3RFcnJvcihSZWY8UlRDRXJyb3I+JiYgZXJyb3Ip
CiAKIHZvaWQgUlRDRGF0YUNoYW5uZWw6OmJ1ZmZlcmVkQW1vdW50SXNEZWNyZWFzaW5nKHNpemVf
dCBhbW91bnQpCiB7Ci0gICAgYXV0byBwcmV2aW91c0J1ZmZlcmVkQW1vdW50ID0gbV9idWZmZXJl
ZEFtb3VudDsKLSAgICBtX2J1ZmZlcmVkQW1vdW50IC09IGFtb3VudDsKLSAgICBpZiAocHJldmlv
dXNCdWZmZXJlZEFtb3VudCA+IG1fYnVmZmVyZWRBbW91bnRMb3dUaHJlc2hvbGQgJiYgbV9idWZm
ZXJlZEFtb3VudCA8PSBtX2J1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkKQotICAgICAgICBzY2hl
ZHVsZURpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYnVmZmVyZWRhbW91
bnRsb3dFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5v
KSk7CisgICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpO
ZXR3b3JraW5nLCBbdGhpcywgYW1vdW50XSB7CisgICAgICAgIGF1dG8gcHJldmlvdXNCdWZmZXJl
ZEFtb3VudCA9IG1fYnVmZmVyZWRBbW91bnQ7CisgICAgICAgIG1fYnVmZmVyZWRBbW91bnQgLT0g
YW1vdW50OworICAgICAgICBpZiAocHJldmlvdXNCdWZmZXJlZEFtb3VudCA+IG1fYnVmZmVyZWRB
bW91bnRMb3dUaHJlc2hvbGQgJiYgbV9idWZmZXJlZEFtb3VudCA8PSBtX2J1ZmZlcmVkQW1vdW50
TG93VGhyZXNob2xkKQorICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5idWZmZXJlZGFtb3VudGxvd0V2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywg
RXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICB9KTsKIH0KIAogdm9pZCBSVENEYXRhQ2hh
bm5lbDo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxI
YW5kbGVyLmNwcAppbmRleCA5NDkwNGI0Yzk4MzdhZGMwMGVjZGM0MjRlZDdmMDUzOThjMDQ1MGZh
Li5lMWQwNmYwN2FhYjc3MzIwNmMyZmNhYzkzMDVlNTY0MjM5OWE4MTY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRh
Q2hhbm5lbEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5jcHAKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDVXRpbHMu
aCIKICNpbmNsdWRlICJSVENEYXRhQ2hhbm5lbC5oIgotI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVs
RXZlbnQuaCIKICNpbmNsdWRlICJSVENFcnJvci5oIgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAKQEAgLTU0LDMwICs1MywxMSBAQCB3ZWJydGM6OkRhdGFDaGFubmVsSW5pdCBMaWJXZWJS
VENEYXRhQ2hhbm5lbEhhbmRsZXI6OmZyb21SVENEYXRhQ2hhbm5lbEluaXQoY29ucwogICAgIHJl
dHVybiBpbml0OwogfQogCi1SZWY8UlRDRGF0YUNoYW5uZWxFdmVudD4gTGliV2ViUlRDRGF0YUNo
YW5uZWxIYW5kbGVyOjpjaGFubmVsRXZlbnQoRG9jdW1lbnQmIGRvY3VtZW50LCBydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicnRjOjpEYXRhQ2hhbm5lbEludGVyZmFjZT4mJiBkYXRhQ2hhbm5lbCkKLXsK
LSAgICBhdXRvIHByb3RvY29sID0gZGF0YUNoYW5uZWwtPnByb3RvY29sKCk7Ci0gICAgYXV0byBs
YWJlbCA9IGRhdGFDaGFubmVsLT5sYWJlbCgpOwotCi0gICAgUlRDRGF0YUNoYW5uZWxJbml0IGlu
aXQ7Ci0gICAgaW5pdC5vcmRlcmVkID0gZGF0YUNoYW5uZWwtPm9yZGVyZWQoKTsKLSAgICBpbml0
Lm1heFBhY2tldExpZmVUaW1lID0gZGF0YUNoYW5uZWwtPm1heFJldHJhbnNtaXRUaW1lKCk7Ci0g
ICAgaW5pdC5tYXhSZXRyYW5zbWl0cyA9IGRhdGFDaGFubmVsLT5tYXhSZXRyYW5zbWl0cygpOwot
ICAgIGluaXQucHJvdG9jb2wgPSBmcm9tU3RkU3RyaW5nKHByb3RvY29sKTsKLSAgICBpbml0Lm5l
Z290aWF0ZWQgPSBkYXRhQ2hhbm5lbC0+bmVnb3RpYXRlZCgpOwotICAgIGluaXQuaWQgPSBkYXRh
Q2hhbm5lbC0+aWQoKTsKLSAgICBpbml0LnByaW9yaXR5ID0gdG9SVENQcmlvcml0eVR5cGUoZGF0
YUNoYW5uZWwtPnByaW9yaXR5KCkpOwotCi0gICAgYXV0byBoYW5kbGVyID0gIG1ha2VVbmlxdWU8
TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyPihXVEZNb3ZlKGRhdGFDaGFubmVsKSk7Ci0gICAg
YXV0byBjaGFubmVsID0gUlRDRGF0YUNoYW5uZWw6OmNyZWF0ZShkb2N1bWVudCwgV1RGTW92ZSho
YW5kbGVyKSwgZnJvbVN0ZFN0cmluZyhsYWJlbCksIFdURk1vdmUoaW5pdCkpOwotCi0gICAgcmV0
dXJuIFJUQ0RhdGFDaGFubmVsRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZGF0YWNoYW5uZWxF
dmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vLCBXVEZN
b3ZlKGNoYW5uZWwpKTsKLX0KLQogTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpMaWJXZWJS
VENEYXRhQ2hhbm5lbEhhbmRsZXIocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5u
ZWxJbnRlcmZhY2U+JiYgY2hhbm5lbCkKICAgICA6IG1fY2hhbm5lbChXVEZNb3ZlKGNoYW5uZWwp
KQogewogICAgIEFTU0VSVChtX2NoYW5uZWwpOworICAgIGNoZWNrU3RhdGUoKTsKICAgICBtX2No
YW5uZWwtPlJlZ2lzdGVyT2JzZXJ2ZXIodGhpcyk7CiB9CiAKQEAgLTg2LDI2ICs2Niw0OCBAQCBM
aWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6On5MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIo
KQogICAgIG1fY2hhbm5lbC0+VW5yZWdpc3Rlck9ic2VydmVyKCk7CiB9CiAKK1JUQ0RhdGFDaGFu
bmVsSW5pdCBMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6OmRhdGFDaGFubmVsSW5pdCgpIGNv
bnN0Cit7CisgICAgYXV0byBwcm90b2NvbCA9IG1fY2hhbm5lbC0+cHJvdG9jb2woKTsKKyAgICBh
dXRvIGxhYmVsID0gbV9jaGFubmVsLT5sYWJlbCgpOworCisgICAgUlRDRGF0YUNoYW5uZWxJbml0
IGluaXQ7CisgICAgaW5pdC5vcmRlcmVkID0gbV9jaGFubmVsLT5vcmRlcmVkKCk7CisgICAgaW5p
dC5tYXhQYWNrZXRMaWZlVGltZSA9IG1fY2hhbm5lbC0+bWF4UmV0cmFuc21pdFRpbWUoKTsKKyAg
ICBpbml0Lm1heFJldHJhbnNtaXRzID0gbV9jaGFubmVsLT5tYXhSZXRyYW5zbWl0cygpOworICAg
IGluaXQucHJvdG9jb2wgPSBmcm9tU3RkU3RyaW5nKHByb3RvY29sKTsKKyAgICBpbml0Lm5lZ290
aWF0ZWQgPSBtX2NoYW5uZWwtPm5lZ290aWF0ZWQoKTsKKyAgICBpbml0LmlkID0gbV9jaGFubmVs
LT5pZCgpOworICAgIGluaXQucHJpb3JpdHkgPSB0b1JUQ1ByaW9yaXR5VHlwZShtX2NoYW5uZWwt
PnByaW9yaXR5KCkpOworICAgIHJldHVybiBpbml0OworfQorCitTdHJpbmcgTGliV2ViUlRDRGF0
YUNoYW5uZWxIYW5kbGVyOjpsYWJlbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZyb21TdGRTdHJp
bmcobV9jaGFubmVsLT5sYWJlbCgpKTsKK30KKwogdm9pZCBMaWJXZWJSVENEYXRhQ2hhbm5lbEhh
bmRsZXI6OnNldENsaWVudChSVENEYXRhQ2hhbm5lbEhhbmRsZXJDbGllbnQmIGNsaWVudCwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCiB7Ci0gICAg
ewotICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9jbGllbnRMb2NrIH07Ci0gICAgICAgIEFTU0VS
VCghbV9jbGllbnQpOwotICAgICAgICBtX2NsaWVudCA9ICZjbGllbnQ7Ci0gICAgICAgIG1fY29u
dGV4dElkZW50aWZpZXIgPSBjb250ZXh0SWRlbnRpZmllcjsKLQotICAgICAgICBmb3IgKGF1dG8m
IG1lc3NhZ2UgOiBtX2J1ZmZlcmVkTWVzc2FnZXMpIHsKLSAgICAgICAgICAgIHN3aXRjaE9uKG1l
c3NhZ2UsIFsmXShSZWY8U2hhcmVkQnVmZmVyPiYgZGF0YSkgewotICAgICAgICAgICAgICAgIGNs
aWVudC5kaWRSZWNlaXZlUmF3RGF0YShkYXRhLT5kYXRhKCksIGRhdGEtPnNpemUoKSk7Ci0gICAg
ICAgICAgICB9LCBbJl0oU3RyaW5nJiB0ZXh0KSB7Ci0gICAgICAgICAgICAgICAgY2xpZW50LmRp
ZFJlY2VpdmVTdHJpbmdEYXRhKHRleHQpOwotICAgICAgICAgICAgfSwgWyZdKFJUQ0RhdGFDaGFu
bmVsU3RhdGUgc3RhdGUpIHsKLSAgICAgICAgICAgICAgICBjbGllbnQuZGlkQ2hhbmdlUmVhZHlT
dGF0ZShzdGF0ZSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgICAgICBtX2J1ZmZl
cmVkTWVzc2FnZXMuY2xlYXIoKTsKKyAgICBMb2NrZXIgbG9ja2VyIHsgbV9jbGllbnRMb2NrIH07
CisgICAgQVNTRVJUKCFtX2NsaWVudCk7CisgICAgbV9jbGllbnQgPSAmY2xpZW50OworICAgIG1f
Y29udGV4dElkZW50aWZpZXIgPSBjb250ZXh0SWRlbnRpZmllcjsKKworICAgIGZvciAoYXV0byYg
bWVzc2FnZSA6IG1fYnVmZmVyZWRNZXNzYWdlcykgeworICAgICAgICBzd2l0Y2hPbihtZXNzYWdl
LCBbJl0oUmVmPFNoYXJlZEJ1ZmZlcj4mIGRhdGEpIHsKKyAgICAgICAgICAgIGNsaWVudC5kaWRS
ZWNlaXZlUmF3RGF0YShkYXRhLT5kYXRhKCksIGRhdGEtPnNpemUoKSk7CisgICAgICAgIH0sIFsm
XShTdHJpbmcmIHRleHQpIHsKKyAgICAgICAgICAgIGNsaWVudC5kaWRSZWNlaXZlU3RyaW5nRGF0
YSh0ZXh0KTsKKyAgICAgICAgfSwgWyZdKFN0YXRlQ2hhbmdlIHN0YXRlQ2hhbmdlKSB7CisgICAg
ICAgICAgICBpZiAoc3RhdGVDaGFuZ2UuZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXV0
byBydGNFcnJvciA9IHRvUlRDRXJyb3IoKnN0YXRlQ2hhbmdlLmVycm9yKSkKKyAgICAgICAgICAg
ICAgICAgICAgY2xpZW50LmRpZERldGVjdEVycm9yKHJ0Y0Vycm9yLnJlbGVhc2VOb25OdWxsKCkp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2xpZW50LmRpZENoYW5nZVJlYWR5U3RhdGUo
c3RhdGVDaGFuZ2Uuc3RhdGUpOworICAgICAgICB9KTsKICAgICB9Ci0gICAgY2hlY2tTdGF0ZSgp
OworICAgIG1fYnVmZmVyZWRNZXNzYWdlcy5jbGVhcigpOwogfQogCiBib29sIExpYldlYlJUQ0Rh
dGFDaGFubmVsSGFuZGxlcjo6c2VuZFN0cmluZ0RhdGEoY29uc3QgQ1N0cmluZyYgdXRmOFRleHQp
CkBAIC0xNTAsMTIgKzE1MiwxNCBAQCB2b2lkIExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcjo6
Y2hlY2tTdGF0ZSgpCiAKICAgICBMb2NrZXIgbG9ja2VyIHsgbV9jbGllbnRMb2NrIH07CiAgICAg
aWYgKCFtX2NsaWVudCkgewotICAgICAgICBtX2J1ZmZlcmVkTWVzc2FnZXMuYXBwZW5kKHN0YXRl
KTsKKyAgICAgICAgbV9idWZmZXJlZE1lc3NhZ2VzLmFwcGVuZChTdGF0ZUNoYW5nZSB7IHN0YXRl
LCBXVEZNb3ZlKGVycm9yKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBwb3N0VGFz
ayhbcHJvdGVjdGVkQ2xpZW50ID0gbWFrZVJlZigqbV9jbGllbnQpLCBzdGF0ZSwgZXJyb3IgPSBX
VEZNb3ZlKGVycm9yKV0gewogICAgICAgICBpZiAoZXJyb3IgJiYgIWVycm9yLT5vaygpKSB7Ci0g
ICAgICAgICAgICBpZiAoYXV0byBydGNFcnJvciA9IHRvUlRDRXJyb3IoKmVycm9yKSkKKyAgICAg
ICAgICAgIGF1dG8gcnRjRXJyb3IgPSB0b1JUQ0Vycm9yKCplcnJvcik7CisgICAgICAgICAgICBB
U1NFUlQocnRjRXJyb3IpOworICAgICAgICAgICAgaWYgKHJ0Y0Vycm9yKQogICAgICAgICAgICAg
ICAgIHByb3RlY3RlZENsaWVudC0+ZGlkRGV0ZWN0RXJyb3IocnRjRXJyb3IucmVsZWFzZU5vbk51
bGwoKSk7CiAgICAgICAgIH0KICAgICAgICAgcHJvdGVjdGVkQ2xpZW50LT5kaWRDaGFuZ2VSZWFk
eVN0YXRlKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxI
YW5kbGVyLmgKaW5kZXggMmJlMzEyOTVjNTAxYmFkNWFkZjViOTg1MjJjNDEyMjIwM2M0MWYyZS4u
NzAxZWZjMDhiMWM5M2U1M2IwM2Y5ODBjYjA0YjA1MGFjNTNmMTJjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNo
YW5uZWxIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgKQEAgLTU2LDggKzU2LDEwIEBA
IHB1YmxpYzoKICAgICBleHBsaWNpdCBMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIocnRjOjpz
Y29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5uZWxJbnRlcmZhY2U+JiYpOwogICAgIH5MaWJX
ZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIoKTsKIAorICAgIFJUQ0RhdGFDaGFubmVsSW5pdCBkYXRh
Q2hhbm5lbEluaXQoKSBjb25zdDsKKyAgICBTdHJpbmcgbGFiZWwoKSBjb25zdDsKKwogICAgIHN0
YXRpYyB3ZWJydGM6OkRhdGFDaGFubmVsSW5pdCBmcm9tUlRDRGF0YUNoYW5uZWxJbml0KGNvbnN0
IFJUQ0RhdGFDaGFubmVsSW5pdCYpOwotICAgIHN0YXRpYyBSZWY8UlRDRGF0YUNoYW5uZWxFdmVu
dD4gY2hhbm5lbEV2ZW50KERvY3VtZW50JiwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0
YUNoYW5uZWxJbnRlcmZhY2U+JiYpOwogCiBwcml2YXRlOgogICAgIC8vIFJUQ0RhdGFDaGFubmVs
SGFuZGxlciBBUEkKQEAgLTczLDcgKzc1LDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNoZWNr
U3RhdGUoKTsKIAotICAgIHVzaW5nIE1lc3NhZ2UgPSBWYXJpYW50PFJUQ0RhdGFDaGFubmVsU3Rh
dGUsIFN0cmluZywgUmVmPFNoYXJlZEJ1ZmZlcj4+OworICAgIHN0cnVjdCBTdGF0ZUNoYW5nZSB7
CisgICAgICAgIFJUQ0RhdGFDaGFubmVsU3RhdGUgc3RhdGU7CisgICAgICAgIHN0ZDo6b3B0aW9u
YWw8d2VicnRjOjpSVENFcnJvcj4gZXJyb3I7CisgICAgfTsKKyAgICB1c2luZyBNZXNzYWdlID0g
VmFyaWFudDxTdGF0ZUNoYW5nZSwgU3RyaW5nLCBSZWY8U2hhcmVkQnVmZmVyPj47CiAgICAgdXNp
bmcgUGVuZGluZ01lc3NhZ2VzID0gVmVjdG9yPE1lc3NhZ2U+OwogICAgIHZvaWQgc3RvcmVNZXNz
YWdlKFBlbmRpbmdNZXNzYWdlcyYsIGNvbnN0IHdlYnJ0Yzo6RGF0YUJ1ZmZlciYpOwogICAgIHZv
aWQgcHJvY2Vzc01lc3NhZ2UoY29uc3Qgd2VicnRjOjpEYXRhQnVmZmVyJik7CkBAIC04NSw3ICs5
MSw3IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX2NsaWVudExvY2s7CiAgICAgUlRDRGF0YUNoYW5u
ZWxIYW5kbGVyQ2xpZW50KiBtX2NsaWVudCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY2xpZW50TG9j
aykgeyBudWxscHRyIH07CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgbV9j
b250ZXh0SWRlbnRpZmllcjsKLSAgICBQZW5kaW5nTWVzc2FnZXMgbV9idWZmZXJlZE1lc3NhZ2Vz
OworICAgIFBlbmRpbmdNZXNzYWdlcyBtX2J1ZmZlcmVkTWVzc2FnZXMgV1RGX0dVQVJERURfQllf
TE9DSyhtX2NsaWVudExvY2spOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDTWVkaWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcAppbmRleCA5NjNjYzA3NWRiMTM2
MWYyMDc0NjdhYWYwMDBkMzFjNDcxNDU0NGI5Li4xZGE5ZTc5MjExZTk1YWQ5NzU1MjZjNGU4NjRk
NWUxZWIyZmZlMzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50
LmNwcApAQCAtNDU3LDE0ICs0NTcsMTIgQEAgc3RkOjp1bmlxdWVfcHRyPFJUQ0RhdGFDaGFubmVs
SGFuZGxlcj4gTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6Y3JlYXRlRGF0YUNoYW5uZWwKIHZvaWQg
TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6T25EYXRhQ2hhbm5lbChydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpEYXRhQ2hhbm5lbEludGVyZmFjZT4gZGF0YUNoYW5uZWwpCiB7CiAgICAgY2FsbE9u
TWFpblRocmVhZChbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBkYXRhQ2hhbm5lbCA9
IFdURk1vdmUoZGF0YUNoYW5uZWwpXSgpIG11dGFibGUgewotICAgICAgICBhdXRvJiBjb25uZWN0
aW9uID0gcHJvdGVjdGVkVGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuY29ubmVjdGlvbigp
OwotICAgICAgICBjb25uZWN0aW9uLnF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZShjb25uZWN0
aW9uLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJv
dGVjdGVkVGhpcyksIGRhdGFDaGFubmVsID0gV1RGTW92ZShkYXRhQ2hhbm5lbCldKCkgbXV0YWJs
ZSB7Ci0gICAgICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+aXNTdG9wcGVkKCkpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gcHJvdGVj
dGVkVGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuY29ubmVjdGlvbigpOwotICAgICAgICAg
ICAgY29ubmVjdGlvbi5kaXNwYXRjaEV2ZW50KExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcjo6
Y2hhbm5lbEV2ZW50KCpjb25uZWN0aW9uLmRvY3VtZW50KCksIFdURk1vdmUoZGF0YUNoYW5uZWwp
KSk7Ci0gICAgICAgIH0pOworICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+aXNTdG9wcGVkKCkp
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGF1dG8gY2hhbm5lbEhhbmRsZXIgPSBtYWtl
VW5pcXVlUmVmPExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcj4oV1RGTW92ZShkYXRhQ2hhbm5l
bCkpOworICAgICAgICBhdXRvIGxhYmVsID0gY2hhbm5lbEhhbmRsZXItPmxhYmVsKCk7CisgICAg
ICAgIGF1dG8gZGF0YUNoYW5uZWxJbml0ID0gY2hhbm5lbEhhbmRsZXItPmRhdGFDaGFubmVsSW5p
dCgpOworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25uZWN0aW9uQmFja2VuZC5uZXdE
YXRhQ2hhbm5lbChXVEZNb3ZlKGNoYW5uZWxIYW5kbGVyKSwgV1RGTW92ZShsYWJlbCksIFdURk1v
dmUoZGF0YUNoYW5uZWxJbml0KSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IDEyZWQzYWE5OGY4MmI4YzBiNDgzNGRkNmMzMzgwYzRjZWE0ZTlkYTAuLjg4
YWFjMzYzMzQ4MGFhYjA0NDM2ZDk4MTFhYWQ1N2ZhNjk4NjBmMTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA5LTE3ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS5odG1sIGlzIGZsYWt5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzOTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwtY2xvc2UtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA5
LTE3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN5bmMg
V1BUIHdlYnJ0YyB0ZXN0cyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9z
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS1leHBlY3RlZC50eHQKaW5kZXggMzc5MGIx
MGMzYjBiZjEwOTcwMDk0YWM0YjNkOGExMDcxMmNjYTY2ZC4uNmE0ZmY3N2I3MjljZWEwZjA1YjAz
NjA4MGY2Yjc5N2ZmZDk2YTE4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwtY2xvc2UtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
cnRjL1JUQ0RhdGFDaGFubmVsLWNsb3NlLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgUEFT
UyBDbG9zZSBkYXRhY2hhbm5lbCBjYXVzZXMgb25jbG9zaW5nIGFuZCBvbmNsb3NlIHRvIGJlIGNh
bGxlZAogUEFTUyBDbG9zZSBkYXRhY2hhbm5lbCBjYXVzZXMgY2xvc2luZyBhbmQgY2xvc2UgZXZl
bnQgdG8gYmUgY2FsbGVkCiBQQVNTIENsb3NlIHBlZXJjb25uZWN0aW9uIGNhdXNlcyBjbG9zZSBl
dmVudCBhbmQgZXJyb3IgdG8gYmUgY2FsbGVkIG9uIGRhdGFjaGFubmVsCiBQQVNTIENsb3NlIHBl
ZXJjb25uZWN0aW9uIGFmdGVyIGRhdGFjaGFubmVsIGNsb3NlIGNhdXNlcyBubyBldmVudHMKLUZB
SUwgQ2xvc2UgcGVlcmNvbm5lY3Rpb24gY2F1c2VzIGNsb3NlIGV2ZW50IGFuZCBlcnJvciBvbiBt
YW55IGNoYW5uZWxzLCBkYXRhY2hhbm5lbCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBn
b3QgMQorUEFTUyBDbG9zZSBwZWVyY29ubmVjdGlvbiBjYXVzZXMgY2xvc2UgZXZlbnQgYW5kIGVy
cm9yIG9uIG1hbnkgY2hhbm5lbHMsIGRhdGFjaGFubmVsCiBQQVNTIENsb3NlIG5lZ290aWF0ZWQg
ZGF0YWNoYW5uZWwgY2F1c2VzIG9uY2xvc2luZyBhbmQgb25jbG9zZSB0byBiZSBjYWxsZWQKIFBB
U1MgQ2xvc2UgbmVnb3RpYXRlZCBkYXRhY2hhbm5lbCBjYXVzZXMgY2xvc2luZyBhbmQgY2xvc2Ug
ZXZlbnQgdG8gYmUgY2FsbGVkCiBQQVNTIENsb3NlIHBlZXJjb25uZWN0aW9uIGNhdXNlcyBjbG9z
ZSBldmVudCBhbmQgZXJyb3IgdG8gYmUgY2FsbGVkIG9uIG5lZ290aWF0ZWQgZGF0YWNoYW5uZWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438470</attachid>
            <date>2021-09-17 07:06:40 -0700</date>
            <delta_ts>2021-09-20 05:10:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230399-20210917160639.patch</filename>
            <type>text/plain</type>
            <size>18999</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMjc1MmYwZGY3MmZh
YTIwYmQwNmFhYzlhZTUxM2VkNDZkNDU4Mi4uMGRlNDk5MjQzZGUyZGRhNzFhODZmYTY5MmFhNzg4
NWE5NzdiYmM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA5LTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS5odG1sIGlzIGZsYWt5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzOTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBmaXgg
YSBudW1iZXIgb2YgZmxha3kgaXNzdWVzOgorICAgICAgICAtIFJUQ0RhdGFDaGFubmVsOjpkaWRD
aGFuZ2VSZWFkeVN0YXRlIHNob3VsZCBxdWV1ZSBhIHRhc2sgYW5kIGluc2lkZSB0aGUgdGFzayB1
cGRhdGUgdGhlIHN0YXRlICsgZGlzcGF0Y2ggZXZlbnQuCisgICAgICAgICAgUHJldmlvdXNseSwg
d2Ugd2VyZSB1cGRhdGluZyB0aGUgc3RhdGUsIHRoZW4gcXVldWVpbmcgYSB0YXNrIHRvIGRpc3Bh
dGNoIHRoZSBldmVudC4KKyAgICAgICAgLSBXZSB3ZXJlIGNyZWF0aW5nIHRoZSBkYXRhIGNoYW5u
ZWwgaGFuZGxlciBhdCB0aGUgdGltZSB3ZSB3ZXJlIGNyZWF0aW5nIHRoZSBkYXRhIGNoYW5uZWwg
aGFuZGxlci4KKyAgICAgICAgICBJbiB0aGF0IGNhc2UsIHdlIG1pZ2h0IGhhdmUgbWlzc2VkIHNv
bWUgc3RhdGUgY2hhbmdlcy4KKyAgICAgICAgICBXZSBub3cgY3JlYXRlIHRoZSBkYXRhIGNoYW5u
ZWwgaGFuZGxlciBhcyBzb29uIGFzIHBvc3NpYmxlLCB0aGVuIHF1ZXVlIGEgdGFzayB3aGVyZSB3
ZSBjcmVhdGUgdGhlIGRhdGEgY2hhbm5lbCBhbmQgZmlyZSB0aGUgY2hhbm5lbCBldmVudC4KKyAg
ICAgICAgLSBXZSBjaGVjayB0aGUgYmFja2VuZCBkYXRhIGNoYW5uZWwgc3RhdGUgYXMgc29vbiBh
cyBjcmVhdGluZyB0aGUgZGF0YSBjaGFubmVsIGhhbmRsZXIsIGluc3RlYWQgb2Ygd2hlbiBjcmVh
dGluZyB0aGUgZGF0YSBjaGFubmVsIGZvciB0aGUgc2FtZSByZWFzb24uCisgICAgICAgIC0gV2hl
biB3ZSBidWZmZXIgc3RhdGVzLCB3ZSBuZWVkIHRvIHN0b3JlIHdoZXRoZXIgYW4gZXJyb3Igb2Nj
dXJzIHRvIHByb3Blcmx5IGZpcmUgdGhlIGVycm9yIGV2ZW50IGFzIG5lZWRlZC4KKyAgICAgICAg
LSBTaW1pbGFybHkgdG8gcmVhZHlTdGF0ZSwgd2UgbmVlZCB0byBxdWV1ZSBhIHRhc2sgdG8gdXBk
YXRlIGJ1ZmZlcmVkQW1vdW50IGFuZCwgaWYgbmVlZGVkLCBzeW5jaHJvbm91c2x5IGZpcmUgdGhl
IGJ1ZmZlcmVkQW1vdW50TG93IGV2ZW50LgorCisgICAgICAgIENvdmVyZWQgYnkgdGVzdCBubyBs
b25nZXIgZmxha3kuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0
aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
Om5ld0RhdGFDaGFubmVsKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNo
YW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmRpZENoYW5nZVJl
YWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmJ1ZmZlcmVkQW1v
dW50SXNEZWNyZWFzaW5nKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGli
V2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpkYXRhQ2hhbm5l
bEluaXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5k
bGVyOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENEYXRhQ2hhbm5l
bEhhbmRsZXI6OnNldENsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXI6OmNoZWNrU3RhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6T25EYXRhQ2hhbm5lbCk6CisK
IDIwMjEtMDktMTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdW2ExMXldIEFkZCBhIGJ1aWxkIG9wdGlvbiB0byBlbmFibGUgQVRTUEkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5l
Y3Rpb25CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb25CYWNrZW5kLmNwcAppbmRleCBmNmYwYWFmM2I2YmQ3OWE2NzMxMzA3MzZjODZh
OTU3YTQ0YzQ1MzE3Li5jNTU2OThlZjNmYThjN2Y5OGNjY2QzYmU0ODg3OTc0ZTk0OGYwYjE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0
aW9uQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiTGli
V2ViUlRDQ2VydGlmaWNhdGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsRXZlbnQuaCIKICNpbmNsdWRl
ICJSVENEdGxzVHJhbnNwb3J0LmgiCiAjaW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRlLmgiCiAjaW5j
bHVkZSAiUlRDUGVlckNvbm5lY3Rpb24uaCIKQEAgLTM3NSw2ICszNzYsMTcgQEAgdm9pZCBQZWVy
Q29ubmVjdGlvbkJhY2tlbmQ6Om5ld0lDRUNhbmRpZGF0ZShTdHJpbmcmJiBzZHAsIFN0cmluZyYm
IG1pZCwgdW5zaWduZWQKICAgICB9KTsKIH0KIAordm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
Om5ld0RhdGFDaGFubmVsKFVuaXF1ZVJlZjxSVENEYXRhQ2hhbm5lbEhhbmRsZXI+JiYgY2hhbm5l
bEhhbmRsZXIsIFN0cmluZyYmIGxhYmVsLCBSVENEYXRhQ2hhbm5lbEluaXQmJiBjaGFubmVsSW5p
dCkKK3sKKyAgICBtX3BlZXJDb25uZWN0aW9uLnF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSht
X3BlZXJDb25uZWN0aW9uLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbY29ubmVjdGlvbiA9IG1h
a2VSZWYobV9wZWVyQ29ubmVjdGlvbiksIGxhYmVsID0gV1RGTW92ZShsYWJlbCksIGNoYW5uZWxI
YW5kbGVyID0gV1RGTW92ZShjaGFubmVsSGFuZGxlciksIGNoYW5uZWxJbml0ID0gV1RGTW92ZShj
aGFubmVsSW5pdCldKCkgbXV0YWJsZSB7CisgICAgICAgIGlmIChjb25uZWN0aW9uLT5pc0Nsb3Nl
ZCgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGF1dG8gY2hhbm5lbCA9IFJUQ0Rh
dGFDaGFubmVsOjpjcmVhdGUoKmNvbm5lY3Rpb24tPmRvY3VtZW50KCksIGNoYW5uZWxIYW5kbGVy
Lm1vdmVUb1VuaXF1ZVB0cigpLCBXVEZNb3ZlKGxhYmVsKSwgV1RGTW92ZShjaGFubmVsSW5pdCkp
OworICAgICAgICBjb25uZWN0aW9uLT5kaXNwYXRjaEV2ZW50KFJUQ0RhdGFDaGFubmVsRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuZGF0YWNoYW5uZWxFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6
Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vLCBXVEZNb3ZlKGNoYW5uZWwpKSk7CisgICAgfSk7
Cit9CisKIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpkb25lR2F0aGVyaW5nQ2FuZGlkYXRl
cygpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCmlu
ZGV4IGZlOTQ1NzNmMzZmOTg4MzBkNzBlYjc3YjUwODk1NWNlZTcyODJkOTMuLmYwODY5MmJiYzhl
Y2QxNDE2NGNjZmI0MzlmNzYwZDAwODI5NmUzMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaApAQCAt
MTM3LDYgKzEzNyw4IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgdm9pZCBuZXdJQ0VDYW5kaWRh
dGUoU3RyaW5nJiYgc2RwLCBTdHJpbmcmJiBtaWQsIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5k
ZXgsIFN0cmluZyYmIHNlcnZlclVSTCwgc3RkOjpvcHRpb25hbDxEZXNjcmlwdGlvblN0YXRlcz4m
Jik7CisgICAgdm9pZCBuZXdEYXRhQ2hhbm5lbChVbmlxdWVSZWY8UlRDRGF0YUNoYW5uZWxIYW5k
bGVyPiYmLCBTdHJpbmcmJiwgUlRDRGF0YUNoYW5uZWxJbml0JiYpOworCiAgICAgdmlydHVhbCB2
b2lkIGRpc2FibGVJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoKTsKICAgICB2b2lkIGVuYWJsZUlDRUNh
bmRpZGF0ZUZpbHRlcmluZygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCmluZGV4IGZmMjIwOGMxODBmNWZlMWU0NjQw
NjllMWNjNTRkZGRkY2E5MmQyYWIuLjJiMmQ3OWY3M2YxNzJjMDU5MWJkNWU5YTk4ZGNlMjgxODRl
N2UwMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
RGF0YUNoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRGF0YUNoYW5uZWwuY3BwCkBAIC0xOTQsMjkgKzE5NCwzMSBAQCBib29sIFJUQ0RhdGFDaGFu
bmVsOjp2aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKIAogdm9pZCBSVENEYXRhQ2hh
bm5lbDo6ZGlkQ2hhbmdlUmVhZHlTdGF0ZShSVENEYXRhQ2hhbm5lbFN0YXRlIG5ld1N0YXRlKQog
ewotICAgIGlmIChtX3N0b3BwZWQgfHwgbV9yZWFkeVN0YXRlID09IFJUQ0RhdGFDaGFubmVsU3Rh
dGU6OkNsb3NlZCB8fCBtX3JlYWR5U3RhdGUgPT0gbmV3U3RhdGUpCi0gICAgICAgIHJldHVybjsK
KyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMsIFRhc2tTb3VyY2U6Ok5ldHdv
cmtpbmcsIFt0aGlzLCBuZXdTdGF0ZV0geworICAgICAgICBpZiAobV9zdG9wcGVkIHx8IG1fcmVh
ZHlTdGF0ZSA9PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zZWQgfHwgbV9yZWFkeVN0YXRlID09
IG5ld1N0YXRlKQorICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9
PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zaW5nICYmIG5ld1N0YXRlID09IFJUQ0RhdGFDaGFu
bmVsU3RhdGU6Ok9wZW4pCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKG1fcmVhZHlTdGF0
ZSA9PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zaW5nICYmIG5ld1N0YXRlID09IFJUQ0RhdGFD
aGFubmVsU3RhdGU6Ok9wZW4pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBtX3JlYWR5U3Rh
dGUgPSBuZXdTdGF0ZTsKLQotICAgIHN3aXRjaCAobV9yZWFkeVN0YXRlKSB7Ci0gICAgY2FzZSBS
VENEYXRhQ2hhbm5lbFN0YXRlOjpDb25uZWN0aW5nOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpPcGVu
OgotICAgICAgICBzY2hlZHVsZURpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkub3BlbkV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6
Tm8pKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9z
aW5nOgotICAgICAgICBzY2hlZHVsZURpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuY2xvc2luZ0V2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8pKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRl
OjpDbG9zZWQ6Ci0gICAgICAgIHNjaGVkdWxlRGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5jbG9zZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKLSAgICAgICAgbV9zdG9wcGVkID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQorICAgICAgICBtX3JlYWR5U3RhdGUgPSBuZXdTdGF0ZTsKKworICAgICAgICBzd2l0
Y2ggKG1fcmVhZHlTdGF0ZSkgeworICAgICAgICBjYXNlIFJUQ0RhdGFDaGFubmVsU3RhdGU6OkNv
bm5lY3Rpbmc6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIFJUQ0RhdGFDaGFubmVsU3RhdGU6Ok9wZW46CisgICAgICAg
ICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm9wZW5FdmVudCwg
RXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zaW5nOgor
ICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jbG9z
aW5nRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUlRDRGF0YUNoYW5uZWxTdGF0ZTo6
Q2xvc2VkOgorICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5jbG9zZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJs
ZTo6Tm8pKTsKKyAgICAgICAgICAgIG1fc3RvcHBlZCA9IHRydWU7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgIH0pOwogfQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsOjpkaWRSZWNl
aXZlU3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHRleHQpCkBAIC0yNDQsMTAgKzI0NiwxMiBAQCB2
b2lkIFJUQ0RhdGFDaGFubmVsOjpkaWREZXRlY3RFcnJvcihSZWY8UlRDRXJyb3I+JiYgZXJyb3Ip
CiAKIHZvaWQgUlRDRGF0YUNoYW5uZWw6OmJ1ZmZlcmVkQW1vdW50SXNEZWNyZWFzaW5nKHNpemVf
dCBhbW91bnQpCiB7Ci0gICAgYXV0byBwcmV2aW91c0J1ZmZlcmVkQW1vdW50ID0gbV9idWZmZXJl
ZEFtb3VudDsKLSAgICBtX2J1ZmZlcmVkQW1vdW50IC09IGFtb3VudDsKLSAgICBpZiAocHJldmlv
dXNCdWZmZXJlZEFtb3VudCA+IG1fYnVmZmVyZWRBbW91bnRMb3dUaHJlc2hvbGQgJiYgbV9idWZm
ZXJlZEFtb3VudCA8PSBtX2J1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkKQotICAgICAgICBzY2hl
ZHVsZURpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYnVmZmVyZWRhbW91
bnRsb3dFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5v
KSk7CisgICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpO
ZXR3b3JraW5nLCBbdGhpcywgYW1vdW50XSB7CisgICAgICAgIGF1dG8gcHJldmlvdXNCdWZmZXJl
ZEFtb3VudCA9IG1fYnVmZmVyZWRBbW91bnQ7CisgICAgICAgIG1fYnVmZmVyZWRBbW91bnQgLT0g
YW1vdW50OworICAgICAgICBpZiAocHJldmlvdXNCdWZmZXJlZEFtb3VudCA+IG1fYnVmZmVyZWRB
bW91bnRMb3dUaHJlc2hvbGQgJiYgbV9idWZmZXJlZEFtb3VudCA8PSBtX2J1ZmZlcmVkQW1vdW50
TG93VGhyZXNob2xkKQorICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5idWZmZXJlZGFtb3VudGxvd0V2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywg
RXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICB9KTsKIH0KIAogdm9pZCBSVENEYXRhQ2hh
bm5lbDo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxI
YW5kbGVyLmNwcAppbmRleCA5NDkwNGI0Yzk4MzdhZGMwMGVjZGM0MjRlZDdmMDUzOThjMDQ1MGZh
Li5kYzMwNTU2MDc1OGUyZDk3YzlkYWJmNDA5MDYxMThkN2JlMTE1NTA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRh
Q2hhbm5lbEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5jcHAKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDVXRpbHMu
aCIKICNpbmNsdWRlICJSVENEYXRhQ2hhbm5lbC5oIgotI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVs
RXZlbnQuaCIKICNpbmNsdWRlICJSVENFcnJvci5oIgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAKQEAgLTU0LDMwICs1MywxMSBAQCB3ZWJydGM6OkRhdGFDaGFubmVsSW5pdCBMaWJXZWJS
VENEYXRhQ2hhbm5lbEhhbmRsZXI6OmZyb21SVENEYXRhQ2hhbm5lbEluaXQoY29ucwogICAgIHJl
dHVybiBpbml0OwogfQogCi1SZWY8UlRDRGF0YUNoYW5uZWxFdmVudD4gTGliV2ViUlRDRGF0YUNo
YW5uZWxIYW5kbGVyOjpjaGFubmVsRXZlbnQoRG9jdW1lbnQmIGRvY3VtZW50LCBydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicnRjOjpEYXRhQ2hhbm5lbEludGVyZmFjZT4mJiBkYXRhQ2hhbm5lbCkKLXsK
LSAgICBhdXRvIHByb3RvY29sID0gZGF0YUNoYW5uZWwtPnByb3RvY29sKCk7Ci0gICAgYXV0byBs
YWJlbCA9IGRhdGFDaGFubmVsLT5sYWJlbCgpOwotCi0gICAgUlRDRGF0YUNoYW5uZWxJbml0IGlu
aXQ7Ci0gICAgaW5pdC5vcmRlcmVkID0gZGF0YUNoYW5uZWwtPm9yZGVyZWQoKTsKLSAgICBpbml0
Lm1heFBhY2tldExpZmVUaW1lID0gZGF0YUNoYW5uZWwtPm1heFJldHJhbnNtaXRUaW1lKCk7Ci0g
ICAgaW5pdC5tYXhSZXRyYW5zbWl0cyA9IGRhdGFDaGFubmVsLT5tYXhSZXRyYW5zbWl0cygpOwot
ICAgIGluaXQucHJvdG9jb2wgPSBmcm9tU3RkU3RyaW5nKHByb3RvY29sKTsKLSAgICBpbml0Lm5l
Z290aWF0ZWQgPSBkYXRhQ2hhbm5lbC0+bmVnb3RpYXRlZCgpOwotICAgIGluaXQuaWQgPSBkYXRh
Q2hhbm5lbC0+aWQoKTsKLSAgICBpbml0LnByaW9yaXR5ID0gdG9SVENQcmlvcml0eVR5cGUoZGF0
YUNoYW5uZWwtPnByaW9yaXR5KCkpOwotCi0gICAgYXV0byBoYW5kbGVyID0gIG1ha2VVbmlxdWU8
TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyPihXVEZNb3ZlKGRhdGFDaGFubmVsKSk7Ci0gICAg
YXV0byBjaGFubmVsID0gUlRDRGF0YUNoYW5uZWw6OmNyZWF0ZShkb2N1bWVudCwgV1RGTW92ZSho
YW5kbGVyKSwgZnJvbVN0ZFN0cmluZyhsYWJlbCksIFdURk1vdmUoaW5pdCkpOwotCi0gICAgcmV0
dXJuIFJUQ0RhdGFDaGFubmVsRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZGF0YWNoYW5uZWxF
dmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vLCBXVEZN
b3ZlKGNoYW5uZWwpKTsKLX0KLQogTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpMaWJXZWJS
VENEYXRhQ2hhbm5lbEhhbmRsZXIocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5u
ZWxJbnRlcmZhY2U+JiYgY2hhbm5lbCkKICAgICA6IG1fY2hhbm5lbChXVEZNb3ZlKGNoYW5uZWwp
KQogewogICAgIEFTU0VSVChtX2NoYW5uZWwpOworICAgIGNoZWNrU3RhdGUoKTsKICAgICBtX2No
YW5uZWwtPlJlZ2lzdGVyT2JzZXJ2ZXIodGhpcyk7CiB9CiAKQEAgLTg2LDI2ICs2Niw0OCBAQCBM
aWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6On5MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIo
KQogICAgIG1fY2hhbm5lbC0+VW5yZWdpc3Rlck9ic2VydmVyKCk7CiB9CiAKK1JUQ0RhdGFDaGFu
bmVsSW5pdCBMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6OmRhdGFDaGFubmVsSW5pdCgpIGNv
bnN0Cit7CisgICAgYXV0byBwcm90b2NvbCA9IG1fY2hhbm5lbC0+cHJvdG9jb2woKTsKKyAgICBh
dXRvIGxhYmVsID0gbV9jaGFubmVsLT5sYWJlbCgpOworCisgICAgUlRDRGF0YUNoYW5uZWxJbml0
IGluaXQ7CisgICAgaW5pdC5vcmRlcmVkID0gbV9jaGFubmVsLT5vcmRlcmVkKCk7CisgICAgaW5p
dC5tYXhQYWNrZXRMaWZlVGltZSA9IG1fY2hhbm5lbC0+bWF4UmV0cmFuc21pdFRpbWUoKTsKKyAg
ICBpbml0Lm1heFJldHJhbnNtaXRzID0gbV9jaGFubmVsLT5tYXhSZXRyYW5zbWl0cygpOworICAg
IGluaXQucHJvdG9jb2wgPSBmcm9tU3RkU3RyaW5nKHByb3RvY29sKTsKKyAgICBpbml0Lm5lZ290
aWF0ZWQgPSBtX2NoYW5uZWwtPm5lZ290aWF0ZWQoKTsKKyAgICBpbml0LmlkID0gbV9jaGFubmVs
LT5pZCgpOworICAgIGluaXQucHJpb3JpdHkgPSB0b1JUQ1ByaW9yaXR5VHlwZShtX2NoYW5uZWwt
PnByaW9yaXR5KCkpOworICAgIHJldHVybiBpbml0OworfQorCitTdHJpbmcgTGliV2ViUlRDRGF0
YUNoYW5uZWxIYW5kbGVyOjpsYWJlbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZyb21TdGRTdHJp
bmcobV9jaGFubmVsLT5sYWJlbCgpKTsKK30KKwogdm9pZCBMaWJXZWJSVENEYXRhQ2hhbm5lbEhh
bmRsZXI6OnNldENsaWVudChSVENEYXRhQ2hhbm5lbEhhbmRsZXJDbGllbnQmIGNsaWVudCwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCiB7Ci0gICAg
ewotICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9jbGllbnRMb2NrIH07Ci0gICAgICAgIEFTU0VS
VCghbV9jbGllbnQpOwotICAgICAgICBtX2NsaWVudCA9ICZjbGllbnQ7Ci0gICAgICAgIG1fY29u
dGV4dElkZW50aWZpZXIgPSBjb250ZXh0SWRlbnRpZmllcjsKLQotICAgICAgICBmb3IgKGF1dG8m
IG1lc3NhZ2UgOiBtX2J1ZmZlcmVkTWVzc2FnZXMpIHsKLSAgICAgICAgICAgIHN3aXRjaE9uKG1l
c3NhZ2UsIFsmXShSZWY8U2hhcmVkQnVmZmVyPiYgZGF0YSkgewotICAgICAgICAgICAgICAgIGNs
aWVudC5kaWRSZWNlaXZlUmF3RGF0YShkYXRhLT5kYXRhKCksIGRhdGEtPnNpemUoKSk7Ci0gICAg
ICAgICAgICB9LCBbJl0oU3RyaW5nJiB0ZXh0KSB7Ci0gICAgICAgICAgICAgICAgY2xpZW50LmRp
ZFJlY2VpdmVTdHJpbmdEYXRhKHRleHQpOwotICAgICAgICAgICAgfSwgWyZdKFJUQ0RhdGFDaGFu
bmVsU3RhdGUgc3RhdGUpIHsKLSAgICAgICAgICAgICAgICBjbGllbnQuZGlkQ2hhbmdlUmVhZHlT
dGF0ZShzdGF0ZSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgICAgICBtX2J1ZmZl
cmVkTWVzc2FnZXMuY2xlYXIoKTsKKyAgICBMb2NrZXIgbG9ja2VyIHsgbV9jbGllbnRMb2NrIH07
CisgICAgQVNTRVJUKCFtX2NsaWVudCk7CisgICAgbV9jbGllbnQgPSAmY2xpZW50OworICAgIG1f
Y29udGV4dElkZW50aWZpZXIgPSBjb250ZXh0SWRlbnRpZmllcjsKKworICAgIGZvciAoYXV0byYg
bWVzc2FnZSA6IG1fYnVmZmVyZWRNZXNzYWdlcykgeworICAgICAgICBzd2l0Y2hPbihtZXNzYWdl
LCBbJl0oUmVmPFNoYXJlZEJ1ZmZlcj4mIGRhdGEpIHsKKyAgICAgICAgICAgIGNsaWVudC5kaWRS
ZWNlaXZlUmF3RGF0YShkYXRhLT5kYXRhKCksIGRhdGEtPnNpemUoKSk7CisgICAgICAgIH0sIFsm
XShTdHJpbmcmIHRleHQpIHsKKyAgICAgICAgICAgIGNsaWVudC5kaWRSZWNlaXZlU3RyaW5nRGF0
YSh0ZXh0KTsKKyAgICAgICAgfSwgWyZdKFN0YXRlQ2hhbmdlIHN0YXRlQ2hhbmdlKSB7CisgICAg
ICAgICAgICBpZiAoc3RhdGVDaGFuZ2UuZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXV0
byBydGNFcnJvciA9IHRvUlRDRXJyb3IoKnN0YXRlQ2hhbmdlLmVycm9yKSkKKyAgICAgICAgICAg
ICAgICAgICAgY2xpZW50LmRpZERldGVjdEVycm9yKHJ0Y0Vycm9yLnJlbGVhc2VOb25OdWxsKCkp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2xpZW50LmRpZENoYW5nZVJlYWR5U3RhdGUo
c3RhdGVDaGFuZ2Uuc3RhdGUpOworICAgICAgICB9KTsKICAgICB9Ci0gICAgY2hlY2tTdGF0ZSgp
OworICAgIG1fYnVmZmVyZWRNZXNzYWdlcy5jbGVhcigpOwogfQogCiBib29sIExpYldlYlJUQ0Rh
dGFDaGFubmVsSGFuZGxlcjo6c2VuZFN0cmluZ0RhdGEoY29uc3QgQ1N0cmluZyYgdXRmOFRleHQp
CkBAIC0xNTAsMTMgKzE1MiwxNSBAQCB2b2lkIExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcjo6
Y2hlY2tTdGF0ZSgpCiAKICAgICBMb2NrZXIgbG9ja2VyIHsgbV9jbGllbnRMb2NrIH07CiAgICAg
aWYgKCFtX2NsaWVudCkgewotICAgICAgICBtX2J1ZmZlcmVkTWVzc2FnZXMuYXBwZW5kKHN0YXRl
KTsKKyAgICAgICAgbV9idWZmZXJlZE1lc3NhZ2VzLmFwcGVuZChTdGF0ZUNoYW5nZSB7IHN0YXRl
LCBXVEZNb3ZlKGVycm9yKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBwb3N0VGFz
ayhbcHJvdGVjdGVkQ2xpZW50ID0gbWFrZVJlZigqbV9jbGllbnQpLCBzdGF0ZSwgZXJyb3IgPSBX
VEZNb3ZlKGVycm9yKV0gewogICAgICAgICBpZiAoZXJyb3IgJiYgIWVycm9yLT5vaygpKSB7Ci0g
ICAgICAgICAgICBpZiAoYXV0byBydGNFcnJvciA9IHRvUlRDRXJyb3IoKmVycm9yKSkKLSAgICAg
ICAgICAgICAgICBwcm90ZWN0ZWRDbGllbnQtPmRpZERldGVjdEVycm9yKHJ0Y0Vycm9yLnJlbGVh
c2VOb25OdWxsKCkpOworICAgICAgICAgICAgYXV0byBydGNFcnJvciA9IHRvUlRDRXJyb3IoKmVy
cm9yKTsKKyAgICAgICAgICAgIGlmICghcnRjRXJyb3IpCisgICAgICAgICAgICAgICAgcnRjRXJy
b3IgPSBSVENFcnJvcjo6Y3JlYXRlKFJUQ0Vycm9yOjpJbml0IHsgUlRDRXJyb3JEZXRhaWxUeXBl
OjpEYXRhQ2hhbm5lbEZhaWx1cmUsIHsgfSwgeyB9LCB7IH0sIHsgfSB9LCBTdHJpbmcgeyB9KTsK
KyAgICAgICAgICAgIHByb3RlY3RlZENsaWVudC0+ZGlkRGV0ZWN0RXJyb3IocnRjRXJyb3IucmVs
ZWFzZU5vbk51bGwoKSk7CiAgICAgICAgIH0KICAgICAgICAgcHJvdGVjdGVkQ2xpZW50LT5kaWRD
aGFuZ2VSZWFkeVN0YXRlKHN0YXRlKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFu
ZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgKaW5kZXggMmJlMzEyOTVjNTAxYmFkNWFkZjViOTg1
MjJjNDEyMjIwM2M0MWYyZS4uNzAxZWZjMDhiMWM5M2U1M2IwM2Y5ODBjYjA0YjA1MGFjNTNmMTJj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgK
QEAgLTU2LDggKzU2LDEwIEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBMaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXIocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5uZWxJbnRlcmZh
Y2U+JiYpOwogICAgIH5MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIoKTsKIAorICAgIFJUQ0Rh
dGFDaGFubmVsSW5pdCBkYXRhQ2hhbm5lbEluaXQoKSBjb25zdDsKKyAgICBTdHJpbmcgbGFiZWwo
KSBjb25zdDsKKwogICAgIHN0YXRpYyB3ZWJydGM6OkRhdGFDaGFubmVsSW5pdCBmcm9tUlRDRGF0
YUNoYW5uZWxJbml0KGNvbnN0IFJUQ0RhdGFDaGFubmVsSW5pdCYpOwotICAgIHN0YXRpYyBSZWY8
UlRDRGF0YUNoYW5uZWxFdmVudD4gY2hhbm5lbEV2ZW50KERvY3VtZW50JiwgcnRjOjpzY29wZWRf
cmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5uZWxJbnRlcmZhY2U+JiYpOwogCiBwcml2YXRlOgogICAg
IC8vIFJUQ0RhdGFDaGFubmVsSGFuZGxlciBBUEkKQEAgLTczLDcgKzc1LDExIEBAIHByaXZhdGU6
CiAKICAgICB2b2lkIGNoZWNrU3RhdGUoKTsKIAotICAgIHVzaW5nIE1lc3NhZ2UgPSBWYXJpYW50
PFJUQ0RhdGFDaGFubmVsU3RhdGUsIFN0cmluZywgUmVmPFNoYXJlZEJ1ZmZlcj4+OworICAgIHN0
cnVjdCBTdGF0ZUNoYW5nZSB7CisgICAgICAgIFJUQ0RhdGFDaGFubmVsU3RhdGUgc3RhdGU7Cisg
ICAgICAgIHN0ZDo6b3B0aW9uYWw8d2VicnRjOjpSVENFcnJvcj4gZXJyb3I7CisgICAgfTsKKyAg
ICB1c2luZyBNZXNzYWdlID0gVmFyaWFudDxTdGF0ZUNoYW5nZSwgU3RyaW5nLCBSZWY8U2hhcmVk
QnVmZmVyPj47CiAgICAgdXNpbmcgUGVuZGluZ01lc3NhZ2VzID0gVmVjdG9yPE1lc3NhZ2U+Owog
ICAgIHZvaWQgc3RvcmVNZXNzYWdlKFBlbmRpbmdNZXNzYWdlcyYsIGNvbnN0IHdlYnJ0Yzo6RGF0
YUJ1ZmZlciYpOwogICAgIHZvaWQgcHJvY2Vzc01lc3NhZ2UoY29uc3Qgd2VicnRjOjpEYXRhQnVm
ZmVyJik7CkBAIC04NSw3ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX2NsaWVudExvY2s7
CiAgICAgUlRDRGF0YUNoYW5uZWxIYW5kbGVyQ2xpZW50KiBtX2NsaWVudCBXVEZfR1VBUkRFRF9C
WV9MT0NLKG1fY2xpZW50TG9jaykgeyBudWxscHRyIH07CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIgbV9jb250ZXh0SWRlbnRpZmllcjsKLSAgICBQZW5kaW5nTWVzc2FnZXMg
bV9idWZmZXJlZE1lc3NhZ2VzOworICAgIFBlbmRpbmdNZXNzYWdlcyBtX2J1ZmZlcmVkTWVzc2Fn
ZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX2NsaWVudExvY2spOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcApp
bmRleCA5NjNjYzA3NWRiMTM2MWYyMDc0NjdhYWYwMDBkMzFjNDcxNDU0NGI5Li4xZGE5ZTc5MjEx
ZTk1YWQ5NzU1MjZjNGU4NjRkNWUxZWIyZmZlMzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENNZWRpYUVuZHBvaW50LmNwcApAQCAtNDU3LDE0ICs0NTcsMTIgQEAgc3RkOjp1bmlxdWVf
cHRyPFJUQ0RhdGFDaGFubmVsSGFuZGxlcj4gTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6Y3JlYXRl
RGF0YUNoYW5uZWwKIHZvaWQgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6T25EYXRhQ2hhbm5lbChy
dGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpEYXRhQ2hhbm5lbEludGVyZmFjZT4gZGF0YUNoYW5u
ZWwpCiB7CiAgICAgY2FsbE9uTWFpblRocmVhZChbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBkYXRhQ2hhbm5lbCA9IFdURk1vdmUoZGF0YUNoYW5uZWwpXSgpIG11dGFibGUgewotICAg
ICAgICBhdXRvJiBjb25uZWN0aW9uID0gcHJvdGVjdGVkVGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJh
Y2tlbmQuY29ubmVjdGlvbigpOwotICAgICAgICBjb25uZWN0aW9uLnF1ZXVlVGFza0tlZXBpbmdP
YmplY3RBbGl2ZShjb25uZWN0aW9uLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbcHJvdGVjdGVk
VGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGRhdGFDaGFubmVsID0gV1RGTW92ZShkYXRh
Q2hhbm5lbCldKCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+aXNT
dG9wcGVkKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBhdXRvJiBj
b25uZWN0aW9uID0gcHJvdGVjdGVkVGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuY29ubmVj
dGlvbigpOwotICAgICAgICAgICAgY29ubmVjdGlvbi5kaXNwYXRjaEV2ZW50KExpYldlYlJUQ0Rh
dGFDaGFubmVsSGFuZGxlcjo6Y2hhbm5lbEV2ZW50KCpjb25uZWN0aW9uLmRvY3VtZW50KCksIFdU
Rk1vdmUoZGF0YUNoYW5uZWwpKSk7Ci0gICAgICAgIH0pOworICAgICAgICBpZiAocHJvdGVjdGVk
VGhpcy0+aXNTdG9wcGVkKCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGF1dG8gY2hh
bm5lbEhhbmRsZXIgPSBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcj4o
V1RGTW92ZShkYXRhQ2hhbm5lbCkpOworICAgICAgICBhdXRvIGxhYmVsID0gY2hhbm5lbEhhbmRs
ZXItPmxhYmVsKCk7CisgICAgICAgIGF1dG8gZGF0YUNoYW5uZWxJbml0ID0gY2hhbm5lbEhhbmRs
ZXItPmRhdGFDaGFubmVsSW5pdCgpOworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25u
ZWN0aW9uQmFja2VuZC5uZXdEYXRhQ2hhbm5lbChXVEZNb3ZlKGNoYW5uZWxIYW5kbGVyKSwgV1RG
TW92ZShsYWJlbCksIFdURk1vdmUoZGF0YUNoYW5uZWxJbml0KSk7CiAgICAgfSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDEyZWQzYWE5OGY4MmI4YzBiNDgzNGRkNmMz
MzgwYzRjZWE0ZTlkYTAuLjg4YWFjMzYzMzQ4MGFhYjA0NDM2ZDk4MTFhYWQ1N2ZhNjk4NjBmMTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA5
LTE3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS5odG1s
IGlzIGZsYWt5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAzOTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwtY2xvc2UtZXhwZWN0
ZWQudHh0OgorCiAyMDIxLTA5LTE3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXN5bmMgV1BUIHdlYnJ0YyB0ZXN0cyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9S
VENEYXRhQ2hhbm5lbC1jbG9zZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS1leHBlY3Rl
ZC50eHQKaW5kZXggMzc5MGIxMGMzYjBiZjEwOTcwMDk0YWM0YjNkOGExMDcxMmNjYTY2ZC4uNmE0
ZmY3N2I3MjljZWEwZjA1YjAzNjA4MGY2Yjc5N2ZmZDk2YTE4YSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5u
ZWwtY2xvc2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ0RhdGFDaGFubmVsLWNsb3NlLWV4cGVjdGVkLnR4dApA
QCAtMyw3ICszLDcgQEAgUEFTUyBDbG9zZSBkYXRhY2hhbm5lbCBjYXVzZXMgb25jbG9zaW5nIGFu
ZCBvbmNsb3NlIHRvIGJlIGNhbGxlZAogUEFTUyBDbG9zZSBkYXRhY2hhbm5lbCBjYXVzZXMgY2xv
c2luZyBhbmQgY2xvc2UgZXZlbnQgdG8gYmUgY2FsbGVkCiBQQVNTIENsb3NlIHBlZXJjb25uZWN0
aW9uIGNhdXNlcyBjbG9zZSBldmVudCBhbmQgZXJyb3IgdG8gYmUgY2FsbGVkIG9uIGRhdGFjaGFu
bmVsCiBQQVNTIENsb3NlIHBlZXJjb25uZWN0aW9uIGFmdGVyIGRhdGFjaGFubmVsIGNsb3NlIGNh
dXNlcyBubyBldmVudHMKLUZBSUwgQ2xvc2UgcGVlcmNvbm5lY3Rpb24gY2F1c2VzIGNsb3NlIGV2
ZW50IGFuZCBlcnJvciBvbiBtYW55IGNoYW5uZWxzLCBkYXRhY2hhbm5lbCBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAwIGJ1dCBnb3QgMQorUEFTUyBDbG9zZSBwZWVyY29ubmVjdGlvbiBjYXVzZXMg
Y2xvc2UgZXZlbnQgYW5kIGVycm9yIG9uIG1hbnkgY2hhbm5lbHMsIGRhdGFjaGFubmVsCiBQQVNT
IENsb3NlIG5lZ290aWF0ZWQgZGF0YWNoYW5uZWwgY2F1c2VzIG9uY2xvc2luZyBhbmQgb25jbG9z
ZSB0byBiZSBjYWxsZWQKIFBBU1MgQ2xvc2UgbmVnb3RpYXRlZCBkYXRhY2hhbm5lbCBjYXVzZXMg
Y2xvc2luZyBhbmQgY2xvc2UgZXZlbnQgdG8gYmUgY2FsbGVkCiBQQVNTIENsb3NlIHBlZXJjb25u
ZWN0aW9uIGNhdXNlcyBjbG9zZSBldmVudCBhbmQgZXJyb3IgdG8gYmUgY2FsbGVkIG9uIG5lZ290
aWF0ZWQgZGF0YWNoYW5uZWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438659</attachid>
            <date>2021-09-20 05:10:45 -0700</date>
            <delta_ts>2021-09-21 08:47:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230399-20210920141042.patch</filename>
            <type>text/plain</type>
            <size>23015</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDk1M2Q3MDZlMDY5ZDc5
ZjA4MGQ1ZTFjNzYzNjI2NDA0MzBmODZhYi4uZWU2Zjk5OWNkMGU0ZmNhZGVkMTZmNmM2ZTE2NGFi
MzE2MTMwMmFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA5LTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS5odG1sIGlzIGZsYWt5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzOTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBmaXgg
YSBudW1iZXIgb2YgZmxha3kgaXNzdWVzOgorICAgICAgICAtIFJUQ0RhdGFDaGFubmVsOjpkaWRD
aGFuZ2VSZWFkeVN0YXRlIHNob3VsZCBxdWV1ZSBhIHRhc2sgYW5kIGluc2lkZSB0aGUgdGFzayB1
cGRhdGUgdGhlIHN0YXRlICsgZGlzcGF0Y2ggZXZlbnQuCisgICAgICAgICAgUHJldmlvdXNseSwg
d2Ugd2VyZSB1cGRhdGluZyB0aGUgc3RhdGUsIHRoZW4gcXVldWVpbmcgYSB0YXNrIHRvIGRpc3Bh
dGNoIHRoZSBldmVudC4KKyAgICAgICAgLSBXZSB3ZXJlIGNyZWF0aW5nIHRoZSBkYXRhIGNoYW5u
ZWwgaGFuZGxlciBhdCB0aGUgdGltZSB3ZSB3ZXJlIGNyZWF0aW5nIHRoZSBkYXRhIGNoYW5uZWwg
aGFuZGxlci4KKyAgICAgICAgICBJbiB0aGF0IGNhc2UsIHdlIG1pZ2h0IGhhdmUgbWlzc2VkIHNv
bWUgc3RhdGUgY2hhbmdlcy4KKyAgICAgICAgICBXZSBub3cgY3JlYXRlIHRoZSBkYXRhIGNoYW5u
ZWwgaGFuZGxlciBhcyBzb29uIGFzIHBvc3NpYmxlLCB0aGVuIHF1ZXVlIGEgdGFzayB3aGVyZSB3
ZSBjcmVhdGUgdGhlIGRhdGEgY2hhbm5lbCBhbmQgZmlyZSB0aGUgY2hhbm5lbCBldmVudC4KKyAg
ICAgICAgLSBXZSBjaGVjayB0aGUgYmFja2VuZCBkYXRhIGNoYW5uZWwgc3RhdGUgYXMgc29vbiBh
cyBjcmVhdGluZyB0aGUgZGF0YSBjaGFubmVsIGhhbmRsZXIsIGluc3RlYWQgb2Ygd2hlbiBjcmVh
dGluZyB0aGUgZGF0YSBjaGFubmVsIGZvciB0aGUgc2FtZSByZWFzb24uCisgICAgICAgIC0gV2hl
biB3ZSBidWZmZXIgc3RhdGVzLCB3ZSBuZWVkIHRvIHN0b3JlIHdoZXRoZXIgYW4gZXJyb3Igb2Nj
dXJzIHRvIHByb3Blcmx5IGZpcmUgdGhlIGVycm9yIGV2ZW50IGFzIG5lZWRlZC4KKyAgICAgICAg
LSBTaW1pbGFybHkgdG8gcmVhZHlTdGF0ZSwgd2UgbmVlZCB0byBxdWV1ZSBhIHRhc2sgdG8gdXBk
YXRlIGJ1ZmZlcmVkQW1vdW50IGFuZCwgaWYgbmVlZGVkLCBzeW5jaHJvbm91c2x5IGZpcmUgdGhl
IGJ1ZmZlcmVkQW1vdW50TG93IGV2ZW50LgorCisgICAgICAgIENvdmVyZWQgYnkgdGVzdCBubyBs
b25nZXIgZmxha3kuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0
aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
Om5ld0RhdGFDaGFubmVsKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNo
YW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmRpZENoYW5nZVJl
YWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmJ1ZmZlcmVkQW1v
dW50SXNEZWNyZWFzaW5nKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGli
V2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpkYXRhQ2hhbm5l
bEluaXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5k
bGVyOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENEYXRhQ2hhbm5l
bEhhbmRsZXI6OnNldENsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXI6OmNoZWNrU3RhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6T25EYXRhQ2hhbm5lbCk6CisK
IDIwMjEtMDktMTkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgSGF2ZSBTY3JvbGxBbmltYXRpb24gd29yayBpbiB0ZXJtcyBvZiBvZmZzZXRzLCBub3Qg
cG9zaXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXggZjZmMGFhZjNiNmJkNzlhNjcz
MTMwNzM2Yzg2YTk1N2E0NGM0NTMxNy4uYzU1Njk4ZWYzZmE4YzdmOThjY2NkM2JlNDg4Nzk3NGU5
NDhmMGIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2lu
Y2x1ZGUgIkxpYldlYlJUQ0NlcnRpZmljYXRlR2VuZXJhdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSVENEYXRhQ2hhbm5lbEV2ZW50Lmgi
CiAjaW5jbHVkZSAiUlRDRHRsc1RyYW5zcG9ydC5oIgogI2luY2x1ZGUgIlJUQ0ljZUNhbmRpZGF0
ZS5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCkBAIC0zNzUsNiArMzc2LDE3IEBA
IHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpuZXdJQ0VDYW5kaWRhdGUoU3RyaW5nJiYgc2Rw
LCBTdHJpbmcmJiBtaWQsIHVuc2lnbmVkCiAgICAgfSk7CiB9CiAKK3ZvaWQgUGVlckNvbm5lY3Rp
b25CYWNrZW5kOjpuZXdEYXRhQ2hhbm5lbChVbmlxdWVSZWY8UlRDRGF0YUNoYW5uZWxIYW5kbGVy
PiYmIGNoYW5uZWxIYW5kbGVyLCBTdHJpbmcmJiBsYWJlbCwgUlRDRGF0YUNoYW5uZWxJbml0JiYg
Y2hhbm5lbEluaXQpCit7CisgICAgbV9wZWVyQ29ubmVjdGlvbi5xdWV1ZVRhc2tLZWVwaW5nT2Jq
ZWN0QWxpdmUobV9wZWVyQ29ubmVjdGlvbiwgVGFza1NvdXJjZTo6TmV0d29ya2luZywgW2Nvbm5l
Y3Rpb24gPSBtYWtlUmVmKG1fcGVlckNvbm5lY3Rpb24pLCBsYWJlbCA9IFdURk1vdmUobGFiZWwp
LCBjaGFubmVsSGFuZGxlciA9IFdURk1vdmUoY2hhbm5lbEhhbmRsZXIpLCBjaGFubmVsSW5pdCA9
IFdURk1vdmUoY2hhbm5lbEluaXQpXSgpIG11dGFibGUgeworICAgICAgICBpZiAoY29ubmVjdGlv
bi0+aXNDbG9zZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBhdXRvIGNoYW5u
ZWwgPSBSVENEYXRhQ2hhbm5lbDo6Y3JlYXRlKCpjb25uZWN0aW9uLT5kb2N1bWVudCgpLCBjaGFu
bmVsSGFuZGxlci5tb3ZlVG9VbmlxdWVQdHIoKSwgV1RGTW92ZShsYWJlbCksIFdURk1vdmUoY2hh
bm5lbEluaXQpKTsKKyAgICAgICAgY29ubmVjdGlvbi0+ZGlzcGF0Y2hFdmVudChSVENEYXRhQ2hh
bm5lbEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRhdGFjaGFubmVsRXZlbnQsIEV2ZW50OjpD
YW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObywgV1RGTW92ZShjaGFubmVsKSkp
OworICAgIH0pOworfQorCiB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6ZG9uZUdhdGhlcmlu
Z0NhbmRpZGF0ZXMoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2Vu
ZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJh
Y2tlbmQuaAppbmRleCBmZTk0NTczZjM2Zjk4ODMwZDcwZWI3N2I1MDg5NTVjZWU3MjgyZDkzLi5m
MDg2OTJiYmM4ZWNkMTQxNjRjY2ZiNDM5Zjc2MGQwMDgyOTZlMzA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmgKQEAgLTEzNyw2ICsxMzcsOCBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHZvaWQgbmV3
SUNFQ2FuZGlkYXRlKFN0cmluZyYmIHNkcCwgU3RyaW5nJiYgbWlkLCB1bnNpZ25lZCBzaG9ydCBz
ZHBNTGluZUluZGV4LCBTdHJpbmcmJiBzZXJ2ZXJVUkwsIHN0ZDo6b3B0aW9uYWw8RGVzY3JpcHRp
b25TdGF0ZXM+JiYpOworICAgIHZvaWQgbmV3RGF0YUNoYW5uZWwoVW5pcXVlUmVmPFJUQ0RhdGFD
aGFubmVsSGFuZGxlcj4mJiwgU3RyaW5nJiYsIFJUQ0RhdGFDaGFubmVsSW5pdCYmKTsKKwogICAg
IHZpcnR1YWwgdm9pZCBkaXNhYmxlSUNFQ2FuZGlkYXRlRmlsdGVyaW5nKCk7CiAgICAgdm9pZCBl
bmFibGVJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCBmZjIyMDhjMTgw
ZjVmZTFlNDY0MDY5ZTFjYzU0ZGRkZGNhOTJkMmFiLi4yYjJkNzlmNzNmMTcyYzA1OTFiZDVlOWE5
OGRjZTI4MTg0ZTdlMDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMTk0LDI5ICsxOTQsMzEgQEAgYm9vbCBS
VENEYXRhQ2hhbm5lbDo6dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CiAKIHZvaWQg
UlRDRGF0YUNoYW5uZWw6OmRpZENoYW5nZVJlYWR5U3RhdGUoUlRDRGF0YUNoYW5uZWxTdGF0ZSBu
ZXdTdGF0ZSkKIHsKLSAgICBpZiAobV9zdG9wcGVkIHx8IG1fcmVhZHlTdGF0ZSA9PSBSVENEYXRh
Q2hhbm5lbFN0YXRlOjpDbG9zZWQgfHwgbV9yZWFkeVN0YXRlID09IG5ld1N0YXRlKQotICAgICAg
ICByZXR1cm47CisgICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291
cmNlOjpOZXR3b3JraW5nLCBbdGhpcywgbmV3U3RhdGVdIHsKKyAgICAgICAgaWYgKG1fc3RvcHBl
ZCB8fCBtX3JlYWR5U3RhdGUgPT0gUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q2xvc2VkIHx8IG1fcmVh
ZHlTdGF0ZSA9PSBuZXdTdGF0ZSkKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX3Jl
YWR5U3RhdGUgPT0gUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q2xvc2luZyAmJiBuZXdTdGF0ZSA9PSBS
VENEYXRhQ2hhbm5lbFN0YXRlOjpPcGVuKQotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICht
X3JlYWR5U3RhdGUgPT0gUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q2xvc2luZyAmJiBuZXdTdGF0ZSA9
PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpPcGVuKQorICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
bV9yZWFkeVN0YXRlID0gbmV3U3RhdGU7Ci0KLSAgICBzd2l0Y2ggKG1fcmVhZHlTdGF0ZSkgewot
ICAgIGNhc2UgUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q29ubmVjdGluZzoKLSAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUlRDRGF0YUNoYW5uZWxT
dGF0ZTo6T3BlbjoKLSAgICAgICAgc2NoZWR1bGVEaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLm9wZW5FdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0Nh
bmNlbGFibGU6Ok5vKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUlRDRGF0YUNoYW5uZWxT
dGF0ZTo6Q2xvc2luZzoKLSAgICAgICAgc2NoZWR1bGVEaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLmNsb3NpbmdFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50
OjpJc0NhbmNlbGFibGU6Ok5vKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUlRDRGF0YUNo
YW5uZWxTdGF0ZTo6Q2xvc2VkOgotICAgICAgICBzY2hlZHVsZURpc3BhdGNoRXZlbnQoRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuY2xvc2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2
ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Ci0gICAgICAgIG1fc3RvcHBlZCA9IHRydWU7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KKyAgICAgICAgbV9yZWFkeVN0YXRlID0gbmV3U3RhdGU7CisKKyAg
ICAgICAgc3dpdGNoIChtX3JlYWR5U3RhdGUpIHsKKyAgICAgICAgY2FzZSBSVENEYXRhQ2hhbm5l
bFN0YXRlOjpDb25uZWN0aW5nOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpPcGVu
OgorICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5v
cGVuRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUlRDRGF0YUNoYW5uZWxTdGF0ZTo6
Q2xvc2luZzoKKyAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuY2xvc2luZ0V2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8pKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFJUQ0RhdGFDaGFu
bmVsU3RhdGU6OkNsb3NlZDoKKyAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuY2xvc2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJ
c0NhbmNlbGFibGU6Ok5vKSk7CisgICAgICAgICAgICBtX3N0b3BwZWQgPSB0cnVlOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5l
bDo6ZGlkUmVjZWl2ZVN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiB0ZXh0KQpAQCAtMjQ0LDEwICsy
NDYsMTIgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbDo6ZGlkRGV0ZWN0RXJyb3IoUmVmPFJUQ0Vycm9y
PiYmIGVycm9yKQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsOjpidWZmZXJlZEFtb3VudElzRGVjcmVh
c2luZyhzaXplX3QgYW1vdW50KQogewotICAgIGF1dG8gcHJldmlvdXNCdWZmZXJlZEFtb3VudCA9
IG1fYnVmZmVyZWRBbW91bnQ7Ci0gICAgbV9idWZmZXJlZEFtb3VudCAtPSBhbW91bnQ7Ci0gICAg
aWYgKHByZXZpb3VzQnVmZmVyZWRBbW91bnQgPiBtX2J1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xk
ICYmIG1fYnVmZmVyZWRBbW91bnQgPD0gbV9idWZmZXJlZEFtb3VudExvd1RocmVzaG9sZCkKLSAg
ICAgICAgc2NoZWR1bGVEaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJ1
ZmZlcmVkYW1vdW50bG93RXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5j
ZWxhYmxlOjpObykpOworICAgIHF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFz
a1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMsIGFtb3VudF0geworICAgICAgICBhdXRvIHByZXZp
b3VzQnVmZmVyZWRBbW91bnQgPSBtX2J1ZmZlcmVkQW1vdW50OworICAgICAgICBtX2J1ZmZlcmVk
QW1vdW50IC09IGFtb3VudDsKKyAgICAgICAgaWYgKHByZXZpb3VzQnVmZmVyZWRBbW91bnQgPiBt
X2J1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkICYmIG1fYnVmZmVyZWRBbW91bnQgPD0gbV9idWZm
ZXJlZEFtb3VudExvd1RocmVzaG9sZCkKKyAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuYnVmZmVyZWRhbW91bnRsb3dFdmVudCwgRXZlbnQ6OkNhbkJ1
YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgfSk7CiB9CiAKIHZvaWQg
UlRDRGF0YUNoYW5uZWw6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0Rh
dGFDaGFubmVsSGFuZGxlci5jcHAKaW5kZXggOTQ5MDRiNGM5ODM3YWRjMDBlY2RjNDI0ZWQ3ZjA1
Mzk4YzA0NTBmYS4uZGMzMDU1NjA3NThlMmQ5N2M5ZGFiZjQwOTA2MTE4ZDdiZTExNTUwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3BwCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkxpYldl
YlJUQ1V0aWxzLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWwuaCIKLSNpbmNsdWRlICJSVENE
YXRhQ2hhbm5lbEV2ZW50LmgiCiAjaW5jbHVkZSAiUlRDRXJyb3IuaCIKICNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgogCkBAIC01NCwzMCArNTMsMTEgQEAgd2VicnRjOjpEYXRhQ2hhbm5lbElu
aXQgTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpmcm9tUlRDRGF0YUNoYW5uZWxJbml0KGNv
bnMKICAgICByZXR1cm4gaW5pdDsKIH0KIAotUmVmPFJUQ0RhdGFDaGFubmVsRXZlbnQ+IExpYldl
YlJUQ0RhdGFDaGFubmVsSGFuZGxlcjo6Y2hhbm5lbEV2ZW50KERvY3VtZW50JiBkb2N1bWVudCwg
cnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5uZWxJbnRlcmZhY2U+JiYgZGF0YUNo
YW5uZWwpCi17Ci0gICAgYXV0byBwcm90b2NvbCA9IGRhdGFDaGFubmVsLT5wcm90b2NvbCgpOwot
ICAgIGF1dG8gbGFiZWwgPSBkYXRhQ2hhbm5lbC0+bGFiZWwoKTsKLQotICAgIFJUQ0RhdGFDaGFu
bmVsSW5pdCBpbml0OwotICAgIGluaXQub3JkZXJlZCA9IGRhdGFDaGFubmVsLT5vcmRlcmVkKCk7
Ci0gICAgaW5pdC5tYXhQYWNrZXRMaWZlVGltZSA9IGRhdGFDaGFubmVsLT5tYXhSZXRyYW5zbWl0
VGltZSgpOwotICAgIGluaXQubWF4UmV0cmFuc21pdHMgPSBkYXRhQ2hhbm5lbC0+bWF4UmV0cmFu
c21pdHMoKTsKLSAgICBpbml0LnByb3RvY29sID0gZnJvbVN0ZFN0cmluZyhwcm90b2NvbCk7Ci0g
ICAgaW5pdC5uZWdvdGlhdGVkID0gZGF0YUNoYW5uZWwtPm5lZ290aWF0ZWQoKTsKLSAgICBpbml0
LmlkID0gZGF0YUNoYW5uZWwtPmlkKCk7Ci0gICAgaW5pdC5wcmlvcml0eSA9IHRvUlRDUHJpb3Jp
dHlUeXBlKGRhdGFDaGFubmVsLT5wcmlvcml0eSgpKTsKLQotICAgIGF1dG8gaGFuZGxlciA9ICBt
YWtlVW5pcXVlPExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcj4oV1RGTW92ZShkYXRhQ2hhbm5l
bCkpOwotICAgIGF1dG8gY2hhbm5lbCA9IFJUQ0RhdGFDaGFubmVsOjpjcmVhdGUoZG9jdW1lbnQs
IFdURk1vdmUoaGFuZGxlciksIGZyb21TdGRTdHJpbmcobGFiZWwpLCBXVEZNb3ZlKGluaXQpKTsK
LQotICAgIHJldHVybiBSVENEYXRhQ2hhbm5lbEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRh
dGFjaGFubmVsRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxl
OjpObywgV1RGTW92ZShjaGFubmVsKSk7Ci19Ci0KIExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxl
cjo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OkRhdGFDaGFubmVsSW50ZXJmYWNlPiYmIGNoYW5uZWwpCiAgICAgOiBtX2NoYW5uZWwoV1RGTW92
ZShjaGFubmVsKSkKIHsKICAgICBBU1NFUlQobV9jaGFubmVsKTsKKyAgICBjaGVja1N0YXRlKCk7
CiAgICAgbV9jaGFubmVsLT5SZWdpc3Rlck9ic2VydmVyKHRoaXMpOwogfQogCkBAIC04NiwyNiAr
NjYsNDggQEAgTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjp+TGliV2ViUlRDRGF0YUNoYW5u
ZWxIYW5kbGVyKCkKICAgICBtX2NoYW5uZWwtPlVucmVnaXN0ZXJPYnNlcnZlcigpOwogfQogCitS
VENEYXRhQ2hhbm5lbEluaXQgTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpkYXRhQ2hhbm5l
bEluaXQoKSBjb25zdAoreworICAgIGF1dG8gcHJvdG9jb2wgPSBtX2NoYW5uZWwtPnByb3RvY29s
KCk7CisgICAgYXV0byBsYWJlbCA9IG1fY2hhbm5lbC0+bGFiZWwoKTsKKworICAgIFJUQ0RhdGFD
aGFubmVsSW5pdCBpbml0OworICAgIGluaXQub3JkZXJlZCA9IG1fY2hhbm5lbC0+b3JkZXJlZCgp
OworICAgIGluaXQubWF4UGFja2V0TGlmZVRpbWUgPSBtX2NoYW5uZWwtPm1heFJldHJhbnNtaXRU
aW1lKCk7CisgICAgaW5pdC5tYXhSZXRyYW5zbWl0cyA9IG1fY2hhbm5lbC0+bWF4UmV0cmFuc21p
dHMoKTsKKyAgICBpbml0LnByb3RvY29sID0gZnJvbVN0ZFN0cmluZyhwcm90b2NvbCk7CisgICAg
aW5pdC5uZWdvdGlhdGVkID0gbV9jaGFubmVsLT5uZWdvdGlhdGVkKCk7CisgICAgaW5pdC5pZCA9
IG1fY2hhbm5lbC0+aWQoKTsKKyAgICBpbml0LnByaW9yaXR5ID0gdG9SVENQcmlvcml0eVR5cGUo
bV9jaGFubmVsLT5wcmlvcml0eSgpKTsKKyAgICByZXR1cm4gaW5pdDsKK30KKworU3RyaW5nIExp
YldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcjo6bGFiZWwoKSBjb25zdAoreworICAgIHJldHVybiBm
cm9tU3RkU3RyaW5nKG1fY2hhbm5lbC0+bGFiZWwoKSk7Cit9CisKIHZvaWQgTGliV2ViUlRDRGF0
YUNoYW5uZWxIYW5kbGVyOjpzZXRDbGllbnQoUlRDRGF0YUNoYW5uZWxIYW5kbGVyQ2xpZW50JiBj
bGllbnQsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVy
KQogewotICAgIHsKLSAgICAgICAgTG9ja2VyIGxvY2tlciB7IG1fY2xpZW50TG9jayB9OwotICAg
ICAgICBBU1NFUlQoIW1fY2xpZW50KTsKLSAgICAgICAgbV9jbGllbnQgPSAmY2xpZW50OwotICAg
ICAgICBtX2NvbnRleHRJZGVudGlmaWVyID0gY29udGV4dElkZW50aWZpZXI7Ci0KLSAgICAgICAg
Zm9yIChhdXRvJiBtZXNzYWdlIDogbV9idWZmZXJlZE1lc3NhZ2VzKSB7Ci0gICAgICAgICAgICBz
d2l0Y2hPbihtZXNzYWdlLCBbJl0oUmVmPFNoYXJlZEJ1ZmZlcj4mIGRhdGEpIHsKLSAgICAgICAg
ICAgICAgICBjbGllbnQuZGlkUmVjZWl2ZVJhd0RhdGEoZGF0YS0+ZGF0YSgpLCBkYXRhLT5zaXpl
KCkpOwotICAgICAgICAgICAgfSwgWyZdKFN0cmluZyYgdGV4dCkgewotICAgICAgICAgICAgICAg
IGNsaWVudC5kaWRSZWNlaXZlU3RyaW5nRGF0YSh0ZXh0KTsKLSAgICAgICAgICAgIH0sIFsmXShS
VENEYXRhQ2hhbm5lbFN0YXRlIHN0YXRlKSB7Ci0gICAgICAgICAgICAgICAgY2xpZW50LmRpZENo
YW5nZVJlYWR5U3RhdGUoc3RhdGUpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICAg
ICAgbV9idWZmZXJlZE1lc3NhZ2VzLmNsZWFyKCk7CisgICAgTG9ja2VyIGxvY2tlciB7IG1fY2xp
ZW50TG9jayB9OworICAgIEFTU0VSVCghbV9jbGllbnQpOworICAgIG1fY2xpZW50ID0gJmNsaWVu
dDsKKyAgICBtX2NvbnRleHRJZGVudGlmaWVyID0gY29udGV4dElkZW50aWZpZXI7CisKKyAgICBm
b3IgKGF1dG8mIG1lc3NhZ2UgOiBtX2J1ZmZlcmVkTWVzc2FnZXMpIHsKKyAgICAgICAgc3dpdGNo
T24obWVzc2FnZSwgWyZdKFJlZjxTaGFyZWRCdWZmZXI+JiBkYXRhKSB7CisgICAgICAgICAgICBj
bGllbnQuZGlkUmVjZWl2ZVJhd0RhdGEoZGF0YS0+ZGF0YSgpLCBkYXRhLT5zaXplKCkpOworICAg
ICAgICB9LCBbJl0oU3RyaW5nJiB0ZXh0KSB7CisgICAgICAgICAgICBjbGllbnQuZGlkUmVjZWl2
ZVN0cmluZ0RhdGEodGV4dCk7CisgICAgICAgIH0sIFsmXShTdGF0ZUNoYW5nZSBzdGF0ZUNoYW5n
ZSkgeworICAgICAgICAgICAgaWYgKHN0YXRlQ2hhbmdlLmVycm9yKSB7CisgICAgICAgICAgICAg
ICAgaWYgKGF1dG8gcnRjRXJyb3IgPSB0b1JUQ0Vycm9yKCpzdGF0ZUNoYW5nZS5lcnJvcikpCisg
ICAgICAgICAgICAgICAgICAgIGNsaWVudC5kaWREZXRlY3RFcnJvcihydGNFcnJvci5yZWxlYXNl
Tm9uTnVsbCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNsaWVudC5kaWRDaGFuZ2VS
ZWFkeVN0YXRlKHN0YXRlQ2hhbmdlLnN0YXRlKTsKKyAgICAgICAgfSk7CiAgICAgfQotICAgIGNo
ZWNrU3RhdGUoKTsKKyAgICBtX2J1ZmZlcmVkTWVzc2FnZXMuY2xlYXIoKTsKIH0KIAogYm9vbCBM
aWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6OnNlbmRTdHJpbmdEYXRhKGNvbnN0IENTdHJpbmcm
IHV0ZjhUZXh0KQpAQCAtMTUwLDEzICsxNTIsMTUgQEAgdm9pZCBMaWJXZWJSVENEYXRhQ2hhbm5l
bEhhbmRsZXI6OmNoZWNrU3RhdGUoKQogCiAgICAgTG9ja2VyIGxvY2tlciB7IG1fY2xpZW50TG9j
ayB9OwogICAgIGlmICghbV9jbGllbnQpIHsKLSAgICAgICAgbV9idWZmZXJlZE1lc3NhZ2VzLmFw
cGVuZChzdGF0ZSk7CisgICAgICAgIG1fYnVmZmVyZWRNZXNzYWdlcy5hcHBlbmQoU3RhdGVDaGFu
Z2UgeyBzdGF0ZSwgV1RGTW92ZShlcnJvcikgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgcG9zdFRhc2soW3Byb3RlY3RlZENsaWVudCA9IG1ha2VSZWYoKm1fY2xpZW50KSwgc3RhdGUs
IGVycm9yID0gV1RGTW92ZShlcnJvcildIHsKICAgICAgICAgaWYgKGVycm9yICYmICFlcnJvci0+
b2soKSkgewotICAgICAgICAgICAgaWYgKGF1dG8gcnRjRXJyb3IgPSB0b1JUQ0Vycm9yKCplcnJv
cikpCi0gICAgICAgICAgICAgICAgcHJvdGVjdGVkQ2xpZW50LT5kaWREZXRlY3RFcnJvcihydGNF
cnJvci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgICAgIGF1dG8gcnRjRXJyb3IgPSB0b1JU
Q0Vycm9yKCplcnJvcik7CisgICAgICAgICAgICBpZiAoIXJ0Y0Vycm9yKQorICAgICAgICAgICAg
ICAgIHJ0Y0Vycm9yID0gUlRDRXJyb3I6OmNyZWF0ZShSVENFcnJvcjo6SW5pdCB7IFJUQ0Vycm9y
RGV0YWlsVHlwZTo6RGF0YUNoYW5uZWxGYWlsdXJlLCB7IH0sIHsgfSwgeyB9LCB7IH0gfSwgU3Ry
aW5nIHsgfSk7CisgICAgICAgICAgICBwcm90ZWN0ZWRDbGllbnQtPmRpZERldGVjdEVycm9yKHJ0
Y0Vycm9yLnJlbGVhc2VOb25OdWxsKCkpOwogICAgICAgICB9CiAgICAgICAgIHByb3RlY3RlZENs
aWVudC0+ZGlkQ2hhbmdlUmVhZHlTdGF0ZShzdGF0ZSk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRh
Q2hhbm5lbEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oCmluZGV4IDJiZTMxMjk1YzUwMWJh
ZDVhZGY1Yjk4NTIyYzQxMjIyMDNjNDFmMmUuLjcwMWVmYzA4YjFjOTNlNTNiMDNmOTgwY2IwNGIw
NTBhYzUzZjEyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVs
SGFuZGxlci5oCkBAIC01Niw4ICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgTGliV2Vi
UlRDRGF0YUNoYW5uZWxIYW5kbGVyKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkRhdGFDaGFu
bmVsSW50ZXJmYWNlPiYmKTsKICAgICB+TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyKCk7CiAK
KyAgICBSVENEYXRhQ2hhbm5lbEluaXQgZGF0YUNoYW5uZWxJbml0KCkgY29uc3Q7CisgICAgU3Ry
aW5nIGxhYmVsKCkgY29uc3Q7CisKICAgICBzdGF0aWMgd2VicnRjOjpEYXRhQ2hhbm5lbEluaXQg
ZnJvbVJUQ0RhdGFDaGFubmVsSW5pdChjb25zdCBSVENEYXRhQ2hhbm5lbEluaXQmKTsKLSAgICBz
dGF0aWMgUmVmPFJUQ0RhdGFDaGFubmVsRXZlbnQ+IGNoYW5uZWxFdmVudChEb2N1bWVudCYsIHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkRhdGFDaGFubmVsSW50ZXJmYWNlPiYmKTsKIAogcHJp
dmF0ZToKICAgICAvLyBSVENEYXRhQ2hhbm5lbEhhbmRsZXIgQVBJCkBAIC03Myw3ICs3NSwxMSBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjaGVja1N0YXRlKCk7CiAKLSAgICB1c2luZyBNZXNzYWdl
ID0gVmFyaWFudDxSVENEYXRhQ2hhbm5lbFN0YXRlLCBTdHJpbmcsIFJlZjxTaGFyZWRCdWZmZXI+
PjsKKyAgICBzdHJ1Y3QgU3RhdGVDaGFuZ2UgeworICAgICAgICBSVENEYXRhQ2hhbm5lbFN0YXRl
IHN0YXRlOworICAgICAgICBzdGQ6Om9wdGlvbmFsPHdlYnJ0Yzo6UlRDRXJyb3I+IGVycm9yOwor
ICAgIH07CisgICAgdXNpbmcgTWVzc2FnZSA9IFZhcmlhbnQ8U3RhdGVDaGFuZ2UsIFN0cmluZywg
UmVmPFNoYXJlZEJ1ZmZlcj4+OwogICAgIHVzaW5nIFBlbmRpbmdNZXNzYWdlcyA9IFZlY3RvcjxN
ZXNzYWdlPjsKICAgICB2b2lkIHN0b3JlTWVzc2FnZShQZW5kaW5nTWVzc2FnZXMmLCBjb25zdCB3
ZWJydGM6OkRhdGFCdWZmZXImKTsKICAgICB2b2lkIHByb2Nlc3NNZXNzYWdlKGNvbnN0IHdlYnJ0
Yzo6RGF0YUJ1ZmZlciYpOwpAQCAtODUsNyArOTEsNyBAQCBwcml2YXRlOgogICAgIExvY2sgbV9j
bGllbnRMb2NrOwogICAgIFJUQ0RhdGFDaGFubmVsSGFuZGxlckNsaWVudCogbV9jbGllbnQgV1RG
X0dVQVJERURfQllfTE9DSyhtX2NsaWVudExvY2spIHsgbnVsbHB0ciB9OwogICAgIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIG1fY29udGV4dElkZW50aWZpZXI7Ci0gICAgUGVuZGlu
Z01lc3NhZ2VzIG1fYnVmZmVyZWRNZXNzYWdlczsKKyAgICBQZW5kaW5nTWVzc2FnZXMgbV9idWZm
ZXJlZE1lc3NhZ2VzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jbGllbnRMb2NrKTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRw
b2ludC5jcHAKaW5kZXggOTYzY2MwNzVkYjEzNjFmMjA3NDY3YWFmMDAwZDMxYzQ3MTQ1NDRiOS4u
MWRhOWU3OTIxMWU5NWFkOTc1NTI2YzRlODY0ZDVlMWViMmZmZTM5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFF
bmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAKQEAgLTQ1NywxNCArNDU3LDEyIEBAIHN0
ZDo6dW5pcXVlX3B0cjxSVENEYXRhQ2hhbm5lbEhhbmRsZXI+IExpYldlYlJUQ01lZGlhRW5kcG9p
bnQ6OmNyZWF0ZURhdGFDaGFubmVsCiB2b2lkIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6Ok9uRGF0
YUNoYW5uZWwocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5uZWxJbnRlcmZhY2U+
IGRhdGFDaGFubmVsKQogewogICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKSwgZGF0YUNoYW5uZWwgPSBXVEZNb3ZlKGRhdGFDaGFubmVsKV0oKSBtdXRh
YmxlIHsKLSAgICAgICAgYXV0byYgY29ubmVjdGlvbiA9IHByb3RlY3RlZFRoaXMtPm1fcGVlckNv
bm5lY3Rpb25CYWNrZW5kLmNvbm5lY3Rpb24oKTsKLSAgICAgICAgY29ubmVjdGlvbi5xdWV1ZVRh
c2tLZWVwaW5nT2JqZWN0QWxpdmUoY29ubmVjdGlvbiwgVGFza1NvdXJjZTo6TmV0d29ya2luZywg
W3Byb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBkYXRhQ2hhbm5lbCA9IFdU
Rk1vdmUoZGF0YUNoYW5uZWwpXSgpIG11dGFibGUgewotICAgICAgICAgICAgaWYgKHByb3RlY3Rl
ZFRoaXMtPmlzU3RvcHBlZCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAg
ICAgYXV0byYgY29ubmVjdGlvbiA9IHByb3RlY3RlZFRoaXMtPm1fcGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmNvbm5lY3Rpb24oKTsKLSAgICAgICAgICAgIGNvbm5lY3Rpb24uZGlzcGF0Y2hFdmVudChM
aWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI6OmNoYW5uZWxFdmVudCgqY29ubmVjdGlvbi5kb2N1
bWVudCgpLCBXVEZNb3ZlKGRhdGFDaGFubmVsKSkpOwotICAgICAgICB9KTsKKyAgICAgICAgaWYg
KHByb3RlY3RlZFRoaXMtPmlzU3RvcHBlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBhdXRvIGNoYW5uZWxIYW5kbGVyID0gbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENEYXRhQ2hhbm5l
bEhhbmRsZXI+KFdURk1vdmUoZGF0YUNoYW5uZWwpKTsKKyAgICAgICAgYXV0byBsYWJlbCA9IGNo
YW5uZWxIYW5kbGVyLT5sYWJlbCgpOworICAgICAgICBhdXRvIGRhdGFDaGFubmVsSW5pdCA9IGNo
YW5uZWxIYW5kbGVyLT5kYXRhQ2hhbm5lbEluaXQoKTsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+
bV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQubmV3RGF0YUNoYW5uZWwoV1RGTW92ZShjaGFubmVsSGFu
ZGxlciksIFdURk1vdmUobGFiZWwpLCBXVEZNb3ZlKGRhdGFDaGFubmVsSW5pdCkpOwogICAgIH0p
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5OGI4MGNlYWMzMTEyZmMx
MWFhOTZmMDYwMGE0OGM0ZWM2ZjQwMTQyLi5jMDJkN2JmYzYyMmNhNzMwZWM1YzAzMDc3OGE1ZGVi
N2ExNjBmYzNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAyMS0wOS0yMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwt
Y2xvc2UuaHRtbCBpcyBmbGFreQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMwMzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ0RhdGFDaGFubmVsLWNs
b3NlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JU
Q0RhdGFDaGFubmVsLWNsb3NlLmh0bWw6CisKIDIwMjEtMDktMjAgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3luYyBXUFQgd2VicnRjIHRlc3RzIGZyb20g
dXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VicnRjL1JUQ0RhdGFDaGFubmVsLWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ0RhdGFDaGFu
bmVsLWNsb3NlLWV4cGVjdGVkLnR4dAppbmRleCAzZTE2OWQ2MzBjNWQxZGYxZDhiOTExMTMyM2Qy
MTgzZTU1MTIyOTdmLi42YTRmZjc3YjcyOWNlYTBmMDViMDM2MDgwZjZiNzk3ZmZkOTZhMThhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwtY2xv
c2UtZXhwZWN0ZWQudHh0CkBAIC0zLDggKzMsMTAgQEAgUEFTUyBDbG9zZSBkYXRhY2hhbm5lbCBj
YXVzZXMgb25jbG9zaW5nIGFuZCBvbmNsb3NlIHRvIGJlIGNhbGxlZAogUEFTUyBDbG9zZSBkYXRh
Y2hhbm5lbCBjYXVzZXMgY2xvc2luZyBhbmQgY2xvc2UgZXZlbnQgdG8gYmUgY2FsbGVkCiBQQVNT
IENsb3NlIHBlZXJjb25uZWN0aW9uIGNhdXNlcyBjbG9zZSBldmVudCBhbmQgZXJyb3IgdG8gYmUg
Y2FsbGVkIG9uIGRhdGFjaGFubmVsCiBQQVNTIENsb3NlIHBlZXJjb25uZWN0aW9uIGFmdGVyIGRh
dGFjaGFubmVsIGNsb3NlIGNhdXNlcyBubyBldmVudHMKK1BBU1MgQ2xvc2UgcGVlcmNvbm5lY3Rp
b24gY2F1c2VzIGNsb3NlIGV2ZW50IGFuZCBlcnJvciBvbiBtYW55IGNoYW5uZWxzLCBkYXRhY2hh
bm5lbAogUEFTUyBDbG9zZSBuZWdvdGlhdGVkIGRhdGFjaGFubmVsIGNhdXNlcyBvbmNsb3Npbmcg
YW5kIG9uY2xvc2UgdG8gYmUgY2FsbGVkCiBQQVNTIENsb3NlIG5lZ290aWF0ZWQgZGF0YWNoYW5u
ZWwgY2F1c2VzIGNsb3NpbmcgYW5kIGNsb3NlIGV2ZW50IHRvIGJlIGNhbGxlZAogUEFTUyBDbG9z
ZSBwZWVyY29ubmVjdGlvbiBjYXVzZXMgY2xvc2UgZXZlbnQgYW5kIGVycm9yIHRvIGJlIGNhbGxl
ZCBvbiBuZWdvdGlhdGVkIGRhdGFjaGFubmVsCiBQQVNTIENsb3NlIHBlZXJjb25uZWN0aW9uIGFm
dGVyIG5lZ290aWF0ZWQgZGF0YWNoYW5uZWwgY2xvc2UgY2F1c2VzIG5vIGV2ZW50cworUEFTUyBD
bG9zZSBwZWVyY29ubmVjdGlvbiBjYXVzZXMgY2xvc2UgZXZlbnQgYW5kIGVycm9yIG9uIG1hbnkg
Y2hhbm5lbHMsIG5lZ290aWF0ZWQgZGF0YWNoYW5uZWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwt
Y2xvc2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2VicnRjL1JUQ0RhdGFDaGFubmVsLWNsb3NlLmh0bWwKaW5kZXggY2Q0YWNlMmE4MzZiZTJjOWYx
OGRlY2E0OGM4YzAxZjVlMWNkZmYxZC4uZTJhNWJhNzcyNDVjZTRkODIwNGY0NzNjZmVkMWMxMjIz
NzQxNjY3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwtY2xvc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1j
bG9zZS5odG1sCkBAIC00NSw3ICs0NSw3IEBAIGZvciAoY29uc3Qgb3B0aW9ucyBvZiBbe30sIHtu
ZWdvdGlhdGVkOiB0cnVlLCBpZDogMH1dKSB7CiAgICAgYXNzZXJ0X3RydWUoY2xvc2luZ1NlZW4s
ICdDbG9zaW5nIGV2ZW50IHdhcyBzZWVuJyk7CiAgIH0sIGBDbG9zZSAke21vZGV9IGNhdXNlcyBj
bG9zaW5nIGFuZCBjbG9zZSBldmVudCB0byBiZSBjYWxsZWRgKTsKIAotICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgICAgY29uc3QgcGMx
ID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7CiAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBwYzEu
Y2xvc2UoKSk7CiAgICAgY29uc3QgW2NoYW5uZWwxLCBjaGFubmVsMl0gPSBhd2FpdCBjcmVhdGVE
YXRhQ2hhbm5lbFBhaXIodCwgb3B0aW9ucywgcGMxKTsKQEAgLTEwMCw1ICsxMDAsODEgQEAgZm9y
IChjb25zdCBvcHRpb25zIG9mIFt7fSwge25lZ290aWF0ZWQ6IHRydWUsIGlkOiAwfV0pIHsKICAg
ICBwYzEuY2xvc2UoKTsKICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90
aW1lb3V0KHJlc29sdmUsIDEwKSk7CiAgIH0sIGBDbG9zZSBwZWVyY29ubmVjdGlvbiBhZnRlciAk
e21vZGV9IGNsb3NlIGNhdXNlcyBubyBldmVudHNgKTsKKworICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgY29uc3QgcGMxID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7CisgICAgdC5h
ZGRfY2xlYW51cCgoKSA9PiBwYzEuY2xvc2UoKSk7CisgICAgY29uc3QgcGMyID0gbmV3IFJUQ1Bl
ZXJDb25uZWN0aW9uKCk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBwYzIuY2xvc2UoKSk7Cisg
ICAgcGMxLmNyZWF0ZURhdGFDaGFubmVsKCdub3QtY291bnRlZCcsIG9wdGlvbnMpOworICAgIGNv
bnN0IHRva2VuRGF0YUNoYW5uZWwgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHBj
Mi5vbmRhdGFjaGFubmVsID0gcmVzb2x2ZTsKKyAgICB9KTsKKyAgICBleGNoYW5nZUljZUNhbmRp
ZGF0ZXMocGMxLCBwYzIpOworICAgIGF3YWl0IGV4Y2hhbmdlT2ZmZXJBbnN3ZXIocGMxLCBwYzIp
OworICAgIGlmICghb3B0aW9ucy5uZWdvdGlhdGVkKSB7CisgICAgICBhd2FpdCB0b2tlbkRhdGFD
aGFubmVsOworICAgIH0KKyAgICBsZXQgY2xvc2VFeHBlY3RlZENvdW50ID0gMDsKKyAgICBsZXQg
ZXJyb3JFeHBlY3RlZENvdW50ID0gMDsKKyAgICBsZXQgcmVzb2x2ZUNvdW50SXNaZXJvOworICAg
IGxldCB3YWl0Rm9yQ291bnRJc1plcm8gPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
IHJlc29sdmVDb3VudElzWmVybyA9IHJlc29sdmU7CisgICAgfSk7CisgICAgZm9yIChsZXQgaSA9
IDE7IGkgPD0gMTA7IGkrKykgeworICAgICAgaWYgKCdpZCcgaW4gb3B0aW9ucykgeworICAgICAg
ICBvcHRpb25zLmlkID0gaTsKKyAgICAgIH0KKyAgICAgIHBjMS5jcmVhdGVEYXRhQ2hhbm5lbCgn
Jywgb3B0aW9ucyk7CisgICAgICBpZiAob3B0aW9ucy5uZWdvdGlhdGVkKSB7CisgICAgICAgIGNv
bnN0IGNoYW5uZWwgPSBwYzIuY3JlYXRlRGF0YUNoYW5uZWwoJycsIG9wdGlvbnMpOworICAgICAg
ICBjaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdC5zdGVwX2Z1bmMoZXZlbnQgPT4g
eworICAgICAgICAgIGFzc2VydF90cnVlKGV2ZW50IGluc3RhbmNlb2YgUlRDRXJyb3JFdmVudCwg
J2Vycm9yIGV2ZW50ICcgKyBldmVudCk7CisgICAgICAgICAgZXJyb3JFeHBlY3RlZENvdW50IC09
IDE7CisgICAgICAgIH0pKTsKKyAgICAgICAgY2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCdjbG9z
ZScsIHQuc3RlcF9mdW5jKGV2ZW50ID0+IHsKKyAgICAgICAgICBjbG9zZUV4cGVjdGVkQ291bnQg
LT0gMTsKKyAgICAgICAgICBpZiAoY2xvc2VFeHBlY3RlZENvdW50ID09IDApIHsKKyAgICAgICAg
ICAgIHJlc29sdmVDb3VudElzWmVybygpOworICAgICAgICAgIH0KKyAgICAgICAgfSkpOworICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
ICAgICAgcGMyLm9uZGF0YWNoYW5uZWwgPSAoe2NoYW5uZWx9KSA9PiB7CisgICAgICAgICAgICBj
aGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdC5zdGVwX2Z1bmMoZXZlbnQgPT4gewor
ICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShldmVudCBpbnN0YW5jZW9mIFJUQ0Vycm9yRXZlbnQp
OworICAgICAgICAgICAgICBlcnJvckV4cGVjdGVkQ291bnQgLT0gMTsKKyAgICAgICAgICAgIH0p
KTsKKyAgICAgICAgICAgIGNoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xvc2UnLCB0LnN0ZXBf
ZnVuYyhldmVudCA9PiB7CisgICAgICAgICAgICAgIGNsb3NlRXhwZWN0ZWRDb3VudCAtPSAxOwor
ICAgICAgICAgICAgICBpZiAoY2xvc2VFeHBlY3RlZENvdW50ID09IDApIHsKKyAgICAgICAgICAg
ICAgICByZXNvbHZlQ291bnRJc1plcm8oKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSkpOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgIH0KKyAgICAgICAgfSk7Cisg
ICAgICB9CisgICAgICArK2Nsb3NlRXhwZWN0ZWRDb3VudDsKKyAgICAgICsrZXJyb3JFeHBlY3Rl
ZENvdW50OworICAgIH0KKyAgICBhc3NlcnRfZXF1YWxzKGNsb3NlRXhwZWN0ZWRDb3VudCwgMTAp
OworICAgIC8vIFdlIGhhdmUgdG8gd2FpdCB1bnRpbCBTQ1RQIGlzIGNvbm5lY3RlZCBiZWZvcmUg
d2UgY2xvc2UsIG90aGVyd2lzZQorICAgIC8vIHRoZXJlIHdpbGwgYmUgbm8gc2lnbmFsLgorICAg
IC8vIFRoZSBzdGF0ZSBpcyBub3QgYXZhaWxhYmxlIHVuZGVyIFBsYW4gQiwgYW5kIHVucmVsaWFi
bGUgb24gbmVnb3RpYXRlZAorICAgIC8vIGNoYW5uZWxzLgorICAgIC8vIFRPRE8oYnVncy53ZWJy
dGMub3JnLzEyMjU5KTogUmVtb3ZlIGRlcGVuZGVuY3kgb24gIm5lZ290aWF0ZWQiCisgICAgaWYg
KHBjMS5zY3RwICYmICFvcHRpb25zLm5lZ290aWF0ZWQpIHsKKyAgICAgIHdhaXRGb3JTdGF0ZShw
YzEuc2N0cCwgJ2Nvbm5lY3RlZCcpOworICAgIH0gZWxzZSB7CisgICAgICAvLyBVbmRlciBwbGFu
IEIsIHdlIGRvbid0IGhhdmUgYSBkdGxzIHRyYW5zcG9ydCB0byB3YWl0IG9uLCBzbyBqdXN0Cisg
ICAgICAvLyB3YWl0IGEgYml0LgorICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0
LnN0ZXBfdGltZW91dChyZXNvbHZlLCAxMDApKTsKKyAgICB9CisgICAgcGMxLmNsb3NlKCk7Cisg
ICAgYXdhaXQgd2FpdEZvckNvdW50SXNaZXJvOworICAgIGFzc2VydF9lcXVhbHMoY2xvc2VFeHBl
Y3RlZENvdW50LCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGVycm9yRXhwZWN0ZWRDb3VudCwgMCk7
CisgIH0sIGBDbG9zZSBwZWVyY29ubmVjdGlvbiBjYXVzZXMgY2xvc2UgZXZlbnQgYW5kIGVycm9y
IG9uIG1hbnkgY2hhbm5lbHMsICR7bW9kZX1gKTsKIH0KIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438827</attachid>
            <date>2021-09-21 08:47:37 -0700</date>
            <delta_ts>2021-09-21 10:06:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230399-20210921174736.patch</filename>
            <type>text/plain</type>
            <size>23014</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTRhZmYzM2U0YzE4MGIx
YjA0MjYzY2YyZTJiMDU4YzE1ZDI3MTQ3OS4uNDU1MGQ0NTY2Njc0ZDNmYmYyZWVlOWIyMTBkYWQ5
MWRkM2QzNDJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA5LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS5odG1sIGlzIGZsYWt5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzOTkK
KworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgV2UgZml4IGEg
bnVtYmVyIG9mIGZsYWt5IGlzc3VlczoKKyAgICAgICAgLSBSVENEYXRhQ2hhbm5lbDo6ZGlkQ2hh
bmdlUmVhZHlTdGF0ZSBzaG91bGQgcXVldWUgYSB0YXNrIGFuZCBpbnNpZGUgdGhlIHRhc2sgdXBk
YXRlIHRoZSBzdGF0ZSArIGRpc3BhdGNoIGV2ZW50LgorICAgICAgICAgIFByZXZpb3VzbHksIHdl
IHdlcmUgdXBkYXRpbmcgdGhlIHN0YXRlLCB0aGVuIHF1ZXVlaW5nIGEgdGFzayB0byBkaXNwYXRj
aCB0aGUgZXZlbnQuCisgICAgICAgIC0gV2Ugd2VyZSBjcmVhdGluZyB0aGUgZGF0YSBjaGFubmVs
IGF0IHRoZSB0aW1lIHdlIHdlcmUgY3JlYXRpbmcgdGhlIGRhdGEgY2hhbm5lbCBoYW5kbGVyLgor
ICAgICAgICAgIEluIHRoYXQgY2FzZSwgd2UgbWlnaHQgaGF2ZSBtaXNzZWQgc29tZSBzdGF0ZSBj
aGFuZ2VzLgorICAgICAgICAgIFdlIG5vdyBjcmVhdGUgdGhlIGRhdGEgY2hhbm5lbCBoYW5kbGVy
IGFzIHNvb24gYXMgcG9zc2libGUsIHRoZW4gcXVldWUgYSB0YXNrIHdoZXJlIHdlIGNyZWF0ZSB0
aGUgZGF0YSBjaGFubmVsIGFuZCBmaXJlIHRoZSBjaGFubmVsIGV2ZW50LgorICAgICAgICAtIFdl
IGNoZWNrIHRoZSBiYWNrZW5kIGRhdGEgY2hhbm5lbCBzdGF0ZSBhcyBzb29uIGFzIGNyZWF0aW5n
IHRoZSBkYXRhIGNoYW5uZWwgaGFuZGxlciwgaW5zdGVhZCBvZiB3aGVuIGNyZWF0aW5nIHRoZSBk
YXRhIGNoYW5uZWwgZm9yIHRoZSBzYW1lIHJlYXNvbi4KKyAgICAgICAgLSBXaGVuIHdlIGJ1ZmZl
ciBzdGF0ZXMsIHdlIG5lZWQgdG8gc3RvcmUgd2hldGhlciBhbiBlcnJvciBvY2N1cnMgdG8gcHJv
cGVybHkgZmlyZSB0aGUgZXJyb3IgZXZlbnQgYXMgbmVlZGVkLgorICAgICAgICAtIFNpbWlsYXJs
eSB0byByZWFkeVN0YXRlLCB3ZSBuZWVkIHRvIHF1ZXVlIGEgdGFzayB0byB1cGRhdGUgYnVmZmVy
ZWRBbW91bnQgYW5kLCBpZiBuZWVkZWQsIHN5bmNocm9ub3VzbHkgZmlyZSB0aGUgYnVmZmVyZWRB
bW91bnRMb3cgZXZlbnQuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIFJUQ0RhdGFDaGFu
bmVsLWNsb3NlLmh0bWwuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbkJhY2tl
bmQ6Om5ld0RhdGFDaGFubmVsKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJD
b25uZWN0aW9uQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0
YUNoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmRpZENoYW5n
ZVJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OmJ1ZmZlcmVk
QW1vdW50SXNEZWNyZWFzaW5nKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIp
OgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpkYXRhQ2hh
bm5lbEluaXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRGF0YUNoYW5uZWxI
YW5kbGVyOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXI6OnNldENsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENEYXRh
Q2hhbm5lbEhhbmRsZXI6OmNoZWNrU3RhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6T25EYXRhQ2hhbm5lbCk6
CisKIDIwMjEtMDktMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2Ugc3VyZSB0byBjbGVhciB0cmFuc2ZlcnJlZCBjaGFubmVsIGhhbmRsZXJzIHdoZW4g
UlRDRGF0YUNoYW5uZWwgZ2V0cyBzdG9wcGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXgg
ZjZmMGFhZjNiNmJkNzlhNjczMTMwNzM2Yzg2YTk1N2E0NGM0NTMxNy4uYzU1Njk4ZWYzZmE4Yzdm
OThjY2NkM2JlNDg4Nzk3NGU5NDhmMGIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcApAQCAt
MzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkxpYldlYlJUQ0NlcnRpZmljYXRlR2VuZXJhdG9yLmgi
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSVENE
YXRhQ2hhbm5lbEV2ZW50LmgiCiAjaW5jbHVkZSAiUlRDRHRsc1RyYW5zcG9ydC5oIgogI2luY2x1
ZGUgIlJUQ0ljZUNhbmRpZGF0ZS5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCkBA
IC0zNzUsNiArMzc2LDE3IEBAIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpuZXdJQ0VDYW5k
aWRhdGUoU3RyaW5nJiYgc2RwLCBTdHJpbmcmJiBtaWQsIHVuc2lnbmVkCiAgICAgfSk7CiB9CiAK
K3ZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpuZXdEYXRhQ2hhbm5lbChVbmlxdWVSZWY8UlRD
RGF0YUNoYW5uZWxIYW5kbGVyPiYmIGNoYW5uZWxIYW5kbGVyLCBTdHJpbmcmJiBsYWJlbCwgUlRD
RGF0YUNoYW5uZWxJbml0JiYgY2hhbm5lbEluaXQpCit7CisgICAgbV9wZWVyQ29ubmVjdGlvbi5x
dWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUobV9wZWVyQ29ubmVjdGlvbiwgVGFza1NvdXJjZTo6
TmV0d29ya2luZywgW2Nvbm5lY3Rpb24gPSBtYWtlUmVmKG1fcGVlckNvbm5lY3Rpb24pLCBsYWJl
bCA9IFdURk1vdmUobGFiZWwpLCBjaGFubmVsSGFuZGxlciA9IFdURk1vdmUoY2hhbm5lbEhhbmRs
ZXIpLCBjaGFubmVsSW5pdCA9IFdURk1vdmUoY2hhbm5lbEluaXQpXSgpIG11dGFibGUgeworICAg
ICAgICBpZiAoY29ubmVjdGlvbi0+aXNDbG9zZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBhdXRvIGNoYW5uZWwgPSBSVENEYXRhQ2hhbm5lbDo6Y3JlYXRlKCpjb25uZWN0aW9u
LT5kb2N1bWVudCgpLCBjaGFubmVsSGFuZGxlci5tb3ZlVG9VbmlxdWVQdHIoKSwgV1RGTW92ZShs
YWJlbCksIFdURk1vdmUoY2hhbm5lbEluaXQpKTsKKyAgICAgICAgY29ubmVjdGlvbi0+ZGlzcGF0
Y2hFdmVudChSVENEYXRhQ2hhbm5lbEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRhdGFjaGFu
bmVsRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObywg
V1RGTW92ZShjaGFubmVsKSkpOworICAgIH0pOworfQorCiB2b2lkIFBlZXJDb25uZWN0aW9uQmFj
a2VuZDo6ZG9uZUdhdGhlcmluZ0NhbmRpZGF0ZXMoKQogewogICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Bl
ZXJDb25uZWN0aW9uQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAppbmRleCBmZTk0NTczZjM2Zjk4ODMwZDcwZWI3N2I1
MDg5NTVjZWU3MjgyZDkzLi5mMDg2OTJiYmM4ZWNkMTQxNjRjY2ZiNDM5Zjc2MGQwMDgyOTZlMzA4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UGVlckNvbm5lY3Rpb25CYWNrZW5kLmgKQEAgLTEzNyw2ICsxMzcsOCBAQCBwdWJsaWM6CiAgICAg
fTsKIAogICAgIHZvaWQgbmV3SUNFQ2FuZGlkYXRlKFN0cmluZyYmIHNkcCwgU3RyaW5nJiYgbWlk
LCB1bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4LCBTdHJpbmcmJiBzZXJ2ZXJVUkwsIHN0ZDo6
b3B0aW9uYWw8RGVzY3JpcHRpb25TdGF0ZXM+JiYpOworICAgIHZvaWQgbmV3RGF0YUNoYW5uZWwo
VW5pcXVlUmVmPFJUQ0RhdGFDaGFubmVsSGFuZGxlcj4mJiwgU3RyaW5nJiYsIFJUQ0RhdGFDaGFu
bmVsSW5pdCYmKTsKKwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlSUNFQ2FuZGlkYXRlRmlsdGVy
aW5nKCk7CiAgICAgdm9pZCBlbmFibGVJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNw
cAppbmRleCA2MjY0NWE3OTQ4MGFmOTczNzdiNzA1ZTQ0ODA2ZmFlYjY5ZjRlMTYxLi45ZGZlODRl
ZDI0Njk3MGExYTNhMGZkMWY0ZWU0YjE5Njk4NDIwNmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMTk0LDI5
ICsxOTQsMzEgQEAgYm9vbCBSVENEYXRhQ2hhbm5lbDo6dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0
eSgpIGNvbnN0CiAKIHZvaWQgUlRDRGF0YUNoYW5uZWw6OmRpZENoYW5nZVJlYWR5U3RhdGUoUlRD
RGF0YUNoYW5uZWxTdGF0ZSBuZXdTdGF0ZSkKIHsKLSAgICBpZiAobV9zdG9wcGVkIHx8IG1fcmVh
ZHlTdGF0ZSA9PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDbG9zZWQgfHwgbV9yZWFkeVN0YXRlID09
IG5ld1N0YXRlKQotICAgICAgICByZXR1cm47CisgICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFs
aXZlKCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhpcywgbmV3U3RhdGVdIHsKKyAg
ICAgICAgaWYgKG1fc3RvcHBlZCB8fCBtX3JlYWR5U3RhdGUgPT0gUlRDRGF0YUNoYW5uZWxTdGF0
ZTo6Q2xvc2VkIHx8IG1fcmVhZHlTdGF0ZSA9PSBuZXdTdGF0ZSkKKyAgICAgICAgICAgIHJldHVy
bjsKIAotICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q2xvc2lu
ZyAmJiBuZXdTdGF0ZSA9PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpPcGVuKQotICAgICAgICByZXR1
cm47CisgICAgICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q2xv
c2luZyAmJiBuZXdTdGF0ZSA9PSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpPcGVuKQorICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgbV9yZWFkeVN0YXRlID0gbmV3U3RhdGU7Ci0KLSAgICBzd2l0Y2gg
KG1fcmVhZHlTdGF0ZSkgewotICAgIGNhc2UgUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q29ubmVjdGlu
ZzoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgUlRDRGF0YUNoYW5uZWxTdGF0ZTo6T3BlbjoKLSAgICAgICAgc2NoZWR1bGVEaXNwYXRjaEV2
ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm9wZW5FdmVudCwgRXZlbnQ6OkNhbkJ1YmJs
ZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q2xvc2luZzoKLSAgICAgICAgc2NoZWR1bGVEaXNwYXRj
aEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3NpbmdFdmVudCwgRXZlbnQ6OkNh
bkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgUlRDRGF0YUNoYW5uZWxTdGF0ZTo6Q2xvc2VkOgotICAgICAgICBzY2hlZHVsZURp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2xvc2VFdmVudCwgRXZlbnQ6
OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Ci0gICAgICAgIG1fc3Rv
cHBlZCA9IHRydWU7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICAgICAgbV9yZWFkeVN0YXRl
ID0gbmV3U3RhdGU7CisKKyAgICAgICAgc3dpdGNoIChtX3JlYWR5U3RhdGUpIHsKKyAgICAgICAg
Y2FzZSBSVENEYXRhQ2hhbm5lbFN0YXRlOjpDb25uZWN0aW5nOgorICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSVENEYXRh
Q2hhbm5lbFN0YXRlOjpPcGVuOgorICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS5vcGVuRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6
SXNDYW5jZWxhYmxlOjpObykpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUlRD
RGF0YUNoYW5uZWxTdGF0ZTo6Q2xvc2luZzoKKyAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2xvc2luZ0V2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpO
bywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIFJUQ0RhdGFDaGFubmVsU3RhdGU6OkNsb3NlZDoKKyAgICAgICAgICAgIGRpc3BhdGNo
RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2xvc2VFdmVudCwgRXZlbnQ6OkNhbkJ1
YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgICAgICAgICBtX3N0b3Bw
ZWQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIAog
dm9pZCBSVENEYXRhQ2hhbm5lbDo6ZGlkUmVjZWl2ZVN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiB0
ZXh0KQpAQCAtMjQ0LDEwICsyNDYsMTIgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbDo6ZGlkRGV0ZWN0
RXJyb3IoUmVmPFJUQ0Vycm9yPiYmIGVycm9yKQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsOjpidWZm
ZXJlZEFtb3VudElzRGVjcmVhc2luZyhzaXplX3QgYW1vdW50KQogewotICAgIGF1dG8gcHJldmlv
dXNCdWZmZXJlZEFtb3VudCA9IG1fYnVmZmVyZWRBbW91bnQ7Ci0gICAgbV9idWZmZXJlZEFtb3Vu
dCAtPSBhbW91bnQ7Ci0gICAgaWYgKHByZXZpb3VzQnVmZmVyZWRBbW91bnQgPiBtX2J1ZmZlcmVk
QW1vdW50TG93VGhyZXNob2xkICYmIG1fYnVmZmVyZWRBbW91bnQgPD0gbV9idWZmZXJlZEFtb3Vu
dExvd1RocmVzaG9sZCkKLSAgICAgICAgc2NoZWR1bGVEaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLmJ1ZmZlcmVkYW1vdW50bG93RXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6
Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgIHF1ZXVlVGFza0tlZXBpbmdPYmpl
Y3RBbGl2ZSgqdGhpcywgVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMsIGFtb3VudF0gewor
ICAgICAgICBhdXRvIHByZXZpb3VzQnVmZmVyZWRBbW91bnQgPSBtX2J1ZmZlcmVkQW1vdW50Owor
ICAgICAgICBtX2J1ZmZlcmVkQW1vdW50IC09IGFtb3VudDsKKyAgICAgICAgaWYgKHByZXZpb3Vz
QnVmZmVyZWRBbW91bnQgPiBtX2J1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkICYmIG1fYnVmZmVy
ZWRBbW91bnQgPD0gbV9idWZmZXJlZEFtb3VudExvd1RocmVzaG9sZCkKKyAgICAgICAgICAgIGRp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYnVmZmVyZWRhbW91bnRsb3dF
dmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Cisg
ICAgfSk7CiB9CiAKIHZvaWQgUlRDRGF0YUNoYW5uZWw6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNo
YW5uZWxIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5jcHAKaW5kZXggYTRjOWY5YWRhMjJi
YzNlYmU0OTY2OGU0M2YzYThkZjM1NGI1ZmMxOS4uNTdkZmZjMTRlYTE1ZGM2NTBiZmU4NWIzOWU1
MDljNzM0MGUwMmM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXIuY3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0aWxzLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWwu
aCIKLSNpbmNsdWRlICJSVENEYXRhQ2hhbm5lbEV2ZW50LmgiCiAjaW5jbHVkZSAiUlRDRXJyb3Iu
aCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCkBAIC01NCwzMCArNTMsMTEgQEAgd2Vi
cnRjOjpEYXRhQ2hhbm5lbEluaXQgTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpmcm9tUlRD
RGF0YUNoYW5uZWxJbml0KGNvbnMKICAgICByZXR1cm4gaW5pdDsKIH0KIAotUmVmPFJUQ0RhdGFD
aGFubmVsRXZlbnQ+IExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcjo6Y2hhbm5lbEV2ZW50KERv
Y3VtZW50JiBkb2N1bWVudCwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5uZWxJ
bnRlcmZhY2U+JiYgZGF0YUNoYW5uZWwpCi17Ci0gICAgYXV0byBwcm90b2NvbCA9IGRhdGFDaGFu
bmVsLT5wcm90b2NvbCgpOwotICAgIGF1dG8gbGFiZWwgPSBkYXRhQ2hhbm5lbC0+bGFiZWwoKTsK
LQotICAgIFJUQ0RhdGFDaGFubmVsSW5pdCBpbml0OwotICAgIGluaXQub3JkZXJlZCA9IGRhdGFD
aGFubmVsLT5vcmRlcmVkKCk7Ci0gICAgaW5pdC5tYXhQYWNrZXRMaWZlVGltZSA9IGRhdGFDaGFu
bmVsLT5tYXhSZXRyYW5zbWl0VGltZSgpOwotICAgIGluaXQubWF4UmV0cmFuc21pdHMgPSBkYXRh
Q2hhbm5lbC0+bWF4UmV0cmFuc21pdHMoKTsKLSAgICBpbml0LnByb3RvY29sID0gZnJvbVN0ZFN0
cmluZyhwcm90b2NvbCk7Ci0gICAgaW5pdC5uZWdvdGlhdGVkID0gZGF0YUNoYW5uZWwtPm5lZ290
aWF0ZWQoKTsKLSAgICBpbml0LmlkID0gZGF0YUNoYW5uZWwtPmlkKCk7Ci0gICAgaW5pdC5wcmlv
cml0eSA9IHRvUlRDUHJpb3JpdHlUeXBlKGRhdGFDaGFubmVsLT5wcmlvcml0eSgpKTsKLQotICAg
IGF1dG8gaGFuZGxlciA9ICBtYWtlVW5pcXVlPExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcj4o
V1RGTW92ZShkYXRhQ2hhbm5lbCkpOwotICAgIGF1dG8gY2hhbm5lbCA9IFJUQ0RhdGFDaGFubmVs
OjpjcmVhdGUoZG9jdW1lbnQsIFdURk1vdmUoaGFuZGxlciksIGZyb21TdGRTdHJpbmcobGFiZWwp
LCBXVEZNb3ZlKGluaXQpKTsKLQotICAgIHJldHVybiBSVENEYXRhQ2hhbm5lbEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLmRhdGFjaGFubmVsRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObywgV1RGTW92ZShjaGFubmVsKSk7Ci19Ci0KIExpYldlYlJU
Q0RhdGFDaGFubmVsSGFuZGxlcjo6TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyKHJ0Yzo6c2Nv
cGVkX3JlZnB0cjx3ZWJydGM6OkRhdGFDaGFubmVsSW50ZXJmYWNlPiYmIGNoYW5uZWwpCiAgICAg
OiBtX2NoYW5uZWwoV1RGTW92ZShjaGFubmVsKSkKIHsKICAgICBBU1NFUlQobV9jaGFubmVsKTsK
KyAgICBjaGVja1N0YXRlKCk7CiAgICAgbV9jaGFubmVsLT5SZWdpc3Rlck9ic2VydmVyKHRoaXMp
OwogfQogCkBAIC05NiwyNiArNzYsNDggQEAgdm9pZCBMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRs
ZXI6OnN0b3AoKQogICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKIH0KIAorUlRDRGF0YUNoYW5uZWxJ
bml0IExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcjo6ZGF0YUNoYW5uZWxJbml0KCkgY29uc3QK
K3sKKyAgICBhdXRvIHByb3RvY29sID0gbV9jaGFubmVsLT5wcm90b2NvbCgpOworICAgIGF1dG8g
bGFiZWwgPSBtX2NoYW5uZWwtPmxhYmVsKCk7CisKKyAgICBSVENEYXRhQ2hhbm5lbEluaXQgaW5p
dDsKKyAgICBpbml0Lm9yZGVyZWQgPSBtX2NoYW5uZWwtPm9yZGVyZWQoKTsKKyAgICBpbml0Lm1h
eFBhY2tldExpZmVUaW1lID0gbV9jaGFubmVsLT5tYXhSZXRyYW5zbWl0VGltZSgpOworICAgIGlu
aXQubWF4UmV0cmFuc21pdHMgPSBtX2NoYW5uZWwtPm1heFJldHJhbnNtaXRzKCk7CisgICAgaW5p
dC5wcm90b2NvbCA9IGZyb21TdGRTdHJpbmcocHJvdG9jb2wpOworICAgIGluaXQubmVnb3RpYXRl
ZCA9IG1fY2hhbm5lbC0+bmVnb3RpYXRlZCgpOworICAgIGluaXQuaWQgPSBtX2NoYW5uZWwtPmlk
KCk7CisgICAgaW5pdC5wcmlvcml0eSA9IHRvUlRDUHJpb3JpdHlUeXBlKG1fY2hhbm5lbC0+cHJp
b3JpdHkoKSk7CisgICAgcmV0dXJuIGluaXQ7Cit9CisKK1N0cmluZyBMaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXI6OmxhYmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZnJvbVN0ZFN0cmluZyht
X2NoYW5uZWwtPmxhYmVsKCkpOworfQorCiB2b2lkIExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxl
cjo6c2V0Q2xpZW50KFJUQ0RhdGFDaGFubmVsSGFuZGxlckNsaWVudCYgY2xpZW50LCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKIHsKLSAgICB7Ci0g
ICAgICAgIExvY2tlciBsb2NrZXIgeyBtX2NsaWVudExvY2sgfTsKLSAgICAgICAgQVNTRVJUKCFt
X2NsaWVudCk7Ci0gICAgICAgIG1fY2xpZW50ID0gJmNsaWVudDsKLSAgICAgICAgbV9jb250ZXh0
SWRlbnRpZmllciA9IGNvbnRleHRJZGVudGlmaWVyOwotCi0gICAgICAgIGZvciAoYXV0byYgbWVz
c2FnZSA6IG1fYnVmZmVyZWRNZXNzYWdlcykgewotICAgICAgICAgICAgc3dpdGNoT24obWVzc2Fn
ZSwgWyZdKFJlZjxTaGFyZWRCdWZmZXI+JiBkYXRhKSB7Ci0gICAgICAgICAgICAgICAgY2xpZW50
LmRpZFJlY2VpdmVSYXdEYXRhKGRhdGEtPmRhdGEoKSwgZGF0YS0+c2l6ZSgpKTsKLSAgICAgICAg
ICAgIH0sIFsmXShTdHJpbmcmIHRleHQpIHsKLSAgICAgICAgICAgICAgICBjbGllbnQuZGlkUmVj
ZWl2ZVN0cmluZ0RhdGEodGV4dCk7Ci0gICAgICAgICAgICB9LCBbJl0oUlRDRGF0YUNoYW5uZWxT
dGF0ZSBzdGF0ZSkgewotICAgICAgICAgICAgICAgIGNsaWVudC5kaWRDaGFuZ2VSZWFkeVN0YXRl
KHN0YXRlKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICAgIG1fYnVmZmVyZWRN
ZXNzYWdlcy5jbGVhcigpOworICAgIExvY2tlciBsb2NrZXIgeyBtX2NsaWVudExvY2sgfTsKKyAg
ICBBU1NFUlQoIW1fY2xpZW50KTsKKyAgICBtX2NsaWVudCA9ICZjbGllbnQ7CisgICAgbV9jb250
ZXh0SWRlbnRpZmllciA9IGNvbnRleHRJZGVudGlmaWVyOworCisgICAgZm9yIChhdXRvJiBtZXNz
YWdlIDogbV9idWZmZXJlZE1lc3NhZ2VzKSB7CisgICAgICAgIHN3aXRjaE9uKG1lc3NhZ2UsIFsm
XShSZWY8U2hhcmVkQnVmZmVyPiYgZGF0YSkgeworICAgICAgICAgICAgY2xpZW50LmRpZFJlY2Vp
dmVSYXdEYXRhKGRhdGEtPmRhdGEoKSwgZGF0YS0+c2l6ZSgpKTsKKyAgICAgICAgfSwgWyZdKFN0
cmluZyYgdGV4dCkgeworICAgICAgICAgICAgY2xpZW50LmRpZFJlY2VpdmVTdHJpbmdEYXRhKHRl
eHQpOworICAgICAgICB9LCBbJl0oU3RhdGVDaGFuZ2Ugc3RhdGVDaGFuZ2UpIHsKKyAgICAgICAg
ICAgIGlmIChzdGF0ZUNoYW5nZS5lcnJvcikgeworICAgICAgICAgICAgICAgIGlmIChhdXRvIHJ0
Y0Vycm9yID0gdG9SVENFcnJvcigqc3RhdGVDaGFuZ2UuZXJyb3IpKQorICAgICAgICAgICAgICAg
ICAgICBjbGllbnQuZGlkRGV0ZWN0RXJyb3IocnRjRXJyb3IucmVsZWFzZU5vbk51bGwoKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBjbGllbnQuZGlkQ2hhbmdlUmVhZHlTdGF0ZShzdGF0
ZUNoYW5nZS5zdGF0ZSk7CisgICAgICAgIH0pOwogICAgIH0KLSAgICBjaGVja1N0YXRlKCk7Cisg
ICAgbV9idWZmZXJlZE1lc3NhZ2VzLmNsZWFyKCk7CiB9CiAKIGJvb2wgTGliV2ViUlRDRGF0YUNo
YW5uZWxIYW5kbGVyOjpzZW5kU3RyaW5nRGF0YShjb25zdCBDU3RyaW5nJiB1dGY4VGV4dCkKQEAg
LTE2MCwxMyArMTYyLDE1IEBAIHZvaWQgTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyOjpjaGVj
a1N0YXRlKCkKIAogICAgIExvY2tlciBsb2NrZXIgeyBtX2NsaWVudExvY2sgfTsKICAgICBpZiAo
IW1fY2xpZW50KSB7Ci0gICAgICAgIG1fYnVmZmVyZWRNZXNzYWdlcy5hcHBlbmQoc3RhdGUpOwor
ICAgICAgICBtX2J1ZmZlcmVkTWVzc2FnZXMuYXBwZW5kKFN0YXRlQ2hhbmdlIHsgc3RhdGUsIFdU
Rk1vdmUoZXJyb3IpIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHBvc3RUYXNrKFtw
cm90ZWN0ZWRDbGllbnQgPSBtYWtlUmVmKCptX2NsaWVudCksIHN0YXRlLCBlcnJvciA9IFdURk1v
dmUoZXJyb3IpXSB7CiAgICAgICAgIGlmIChlcnJvciAmJiAhZXJyb3ItPm9rKCkpIHsKLSAgICAg
ICAgICAgIGlmIChhdXRvIHJ0Y0Vycm9yID0gdG9SVENFcnJvcigqZXJyb3IpKQotICAgICAgICAg
ICAgICAgIHByb3RlY3RlZENsaWVudC0+ZGlkRGV0ZWN0RXJyb3IocnRjRXJyb3IucmVsZWFzZU5v
bk51bGwoKSk7CisgICAgICAgICAgICBhdXRvIHJ0Y0Vycm9yID0gdG9SVENFcnJvcigqZXJyb3Ip
OworICAgICAgICAgICAgaWYgKCFydGNFcnJvcikKKyAgICAgICAgICAgICAgICBydGNFcnJvciA9
IFJUQ0Vycm9yOjpjcmVhdGUoUlRDRXJyb3I6OkluaXQgeyBSVENFcnJvckRldGFpbFR5cGU6OkRh
dGFDaGFubmVsRmFpbHVyZSwgeyB9LCB7IH0sIHsgfSwgeyB9IH0sIFN0cmluZyB7IH0pOworICAg
ICAgICAgICAgcHJvdGVjdGVkQ2xpZW50LT5kaWREZXRlY3RFcnJvcihydGNFcnJvci5yZWxlYXNl
Tm9uTnVsbCgpKTsKICAgICAgICAgfQogICAgICAgICBwcm90ZWN0ZWRDbGllbnQtPmRpZENoYW5n
ZVJlYWR5U3RhdGUoc3RhdGUpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENEYXRhQ2hhbm5lbEhhbmRsZXIuaAppbmRleCBiMDg5ZDYwMmU0MDFmNDVmYWQzOTU1ZDMyMTBj
MGQ5ZmEyNzQwNDM3Li45OTY0YjkzNWY0NmZiNmI4MWZhNGVhYmQ3ZjU3NWE1M2MxMWI3MDY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuaApAQCAt
NTYsOCArNTYsMTAgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IExpYldlYlJUQ0RhdGFDaGFubmVs
SGFuZGxlcihydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpEYXRhQ2hhbm5lbEludGVyZmFjZT4m
Jik7CiAgICAgfkxpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlcigpOwogCisgICAgUlRDRGF0YUNo
YW5uZWxJbml0IGRhdGFDaGFubmVsSW5pdCgpIGNvbnN0OworICAgIFN0cmluZyBsYWJlbCgpIGNv
bnN0OworCiAgICAgc3RhdGljIHdlYnJ0Yzo6RGF0YUNoYW5uZWxJbml0IGZyb21SVENEYXRhQ2hh
bm5lbEluaXQoY29uc3QgUlRDRGF0YUNoYW5uZWxJbml0Jik7Ci0gICAgc3RhdGljIFJlZjxSVENE
YXRhQ2hhbm5lbEV2ZW50PiBjaGFubmVsRXZlbnQoRG9jdW1lbnQmLCBydGM6OnNjb3BlZF9yZWZw
dHI8d2VicnRjOjpEYXRhQ2hhbm5lbEludGVyZmFjZT4mJik7CiAKIHByaXZhdGU6CiAgICAgLy8g
UlRDRGF0YUNoYW5uZWxIYW5kbGVyIEFQSQpAQCAtNzQsNyArNzYsMTEgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgY2hlY2tTdGF0ZSgpOwogCi0gICAgdXNpbmcgTWVzc2FnZSA9IFZhcmlhbnQ8UlRD
RGF0YUNoYW5uZWxTdGF0ZSwgU3RyaW5nLCBSZWY8U2hhcmVkQnVmZmVyPj47CisgICAgc3RydWN0
IFN0YXRlQ2hhbmdlIHsKKyAgICAgICAgUlRDRGF0YUNoYW5uZWxTdGF0ZSBzdGF0ZTsKKyAgICAg
ICAgc3RkOjpvcHRpb25hbDx3ZWJydGM6OlJUQ0Vycm9yPiBlcnJvcjsKKyAgICB9OworICAgIHVz
aW5nIE1lc3NhZ2UgPSBWYXJpYW50PFN0YXRlQ2hhbmdlLCBTdHJpbmcsIFJlZjxTaGFyZWRCdWZm
ZXI+PjsKICAgICB1c2luZyBQZW5kaW5nTWVzc2FnZXMgPSBWZWN0b3I8TWVzc2FnZT47CiAgICAg
dm9pZCBzdG9yZU1lc3NhZ2UoUGVuZGluZ01lc3NhZ2VzJiwgY29uc3Qgd2VicnRjOjpEYXRhQnVm
ZmVyJik7CiAgICAgdm9pZCBwcm9jZXNzTWVzc2FnZShjb25zdCB3ZWJydGM6OkRhdGFCdWZmZXIm
KTsKQEAgLTg2LDcgKzkyLDcgQEAgcHJpdmF0ZToKICAgICBMb2NrIG1fY2xpZW50TG9jazsKICAg
ICBSVENEYXRhQ2hhbm5lbEhhbmRsZXJDbGllbnQqIG1fY2xpZW50IFdURl9HVUFSREVEX0JZX0xP
Q0sobV9jbGllbnRMb2NrKSB7IG51bGxwdHIgfTsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllciBtX2NvbnRleHRJZGVudGlmaWVyOwotICAgIFBlbmRpbmdNZXNzYWdlcyBtX2J1
ZmZlcmVkTWVzc2FnZXM7CisgICAgUGVuZGluZ01lc3NhZ2VzIG1fYnVmZmVyZWRNZXNzYWdlcyBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fY2xpZW50TG9jayk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4
IGZiMTg0YzlmYTBiNDI0MWYyMjZhZGVhZjEwMDc1N2ZmOGYzYWI1ZTUuLjk2YzhmMzNhNzRiMWUw
NDBmMWE1MzhlMDc4N2U4NWM1ZDc1Nzk0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q01lZGlhRW5kcG9pbnQuY3BwCkBAIC00NTcsMTQgKzQ1NywxMiBAQCBzdGQ6OnVuaXF1ZV9wdHI8
UlRDRGF0YUNoYW5uZWxIYW5kbGVyPiBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjpjcmVhdGVEYXRh
Q2hhbm5lbAogdm9pZCBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjpPbkRhdGFDaGFubmVsKHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkRhdGFDaGFubmVsSW50ZXJmYWNlPiBkYXRhQ2hhbm5lbCkK
IHsKICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwg
ZGF0YUNoYW5uZWwgPSBXVEZNb3ZlKGRhdGFDaGFubmVsKV0oKSBtdXRhYmxlIHsKLSAgICAgICAg
YXV0byYgY29ubmVjdGlvbiA9IHByb3RlY3RlZFRoaXMtPm1fcGVlckNvbm5lY3Rpb25CYWNrZW5k
LmNvbm5lY3Rpb24oKTsKLSAgICAgICAgY29ubmVjdGlvbi5xdWV1ZVRhc2tLZWVwaW5nT2JqZWN0
QWxpdmUoY29ubmVjdGlvbiwgVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3Byb3RlY3RlZFRoaXMg
PSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBkYXRhQ2hhbm5lbCA9IFdURk1vdmUoZGF0YUNoYW5u
ZWwpXSgpIG11dGFibGUgewotICAgICAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMtPmlzU3RvcHBl
ZCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgYXV0byYgY29ubmVj
dGlvbiA9IHByb3RlY3RlZFRoaXMtPm1fcGVlckNvbm5lY3Rpb25CYWNrZW5kLmNvbm5lY3Rpb24o
KTsKLSAgICAgICAgICAgIGNvbm5lY3Rpb24uZGlzcGF0Y2hFdmVudChMaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXI6OmNoYW5uZWxFdmVudCgqY29ubmVjdGlvbi5kb2N1bWVudCgpLCBXVEZNb3Zl
KGRhdGFDaGFubmVsKSkpOwotICAgICAgICB9KTsKKyAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMt
PmlzU3RvcHBlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBhdXRvIGNoYW5uZWxI
YW5kbGVyID0gbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXI+KFdURk1v
dmUoZGF0YUNoYW5uZWwpKTsKKyAgICAgICAgYXV0byBsYWJlbCA9IGNoYW5uZWxIYW5kbGVyLT5s
YWJlbCgpOworICAgICAgICBhdXRvIGRhdGFDaGFubmVsSW5pdCA9IGNoYW5uZWxIYW5kbGVyLT5k
YXRhQ2hhbm5lbEluaXQoKTsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9wZWVyQ29ubmVjdGlv
bkJhY2tlbmQubmV3RGF0YUNoYW5uZWwoV1RGTW92ZShjaGFubmVsSGFuZGxlciksIFdURk1vdmUo
bGFiZWwpLCBXVEZNb3ZlKGRhdGFDaGFubmVsSW5pdCkpOwogICAgIH0pOwogfQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1NGFlN2RhMDI1Y2JhM2Y0OTJhZTA2MjY2ZWFiMzcx
M2FkNGYzNWQ0Li41OTI1NjM3NGRiMDYyZmU0OWVmNTI0ZWM4MWM5OTEyYzYxZTYyNDA0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wOS0yMSAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwtY2xvc2UuaHRtbCBpcyBm
bGFreQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMw
Mzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9z
ZS5odG1sOgorCiAyMDIxLTA5LTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBSVENQZWVyQ29ubmVjdGlvbiBwZXJmZWN0IG5lZ290aWF0aW9uIHRlc3RzIGFy
ZSBmbGFreQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5uZWwtY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRGF0YUNoYW5u
ZWwtY2xvc2UtZXhwZWN0ZWQudHh0CmluZGV4IDNlMTY5ZDYzMGM1ZDFkZjFkOGI5MTExMzIzZDIx
ODNlNTUxMjI5N2YuLjZhNGZmNzdiNzI5Y2VhMGYwNWIwMzYwODBmNmI3OTdmZmQ5NmExOGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
cnRjL1JUQ0RhdGFDaGFubmVsLWNsb3NlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9z
ZS1leHBlY3RlZC50eHQKQEAgLTMsOCArMywxMCBAQCBQQVNTIENsb3NlIGRhdGFjaGFubmVsIGNh
dXNlcyBvbmNsb3NpbmcgYW5kIG9uY2xvc2UgdG8gYmUgY2FsbGVkCiBQQVNTIENsb3NlIGRhdGFj
aGFubmVsIGNhdXNlcyBjbG9zaW5nIGFuZCBjbG9zZSBldmVudCB0byBiZSBjYWxsZWQKIFBBU1Mg
Q2xvc2UgcGVlcmNvbm5lY3Rpb24gY2F1c2VzIGNsb3NlIGV2ZW50IGFuZCBlcnJvciB0byBiZSBj
YWxsZWQgb24gZGF0YWNoYW5uZWwKIFBBU1MgQ2xvc2UgcGVlcmNvbm5lY3Rpb24gYWZ0ZXIgZGF0
YWNoYW5uZWwgY2xvc2UgY2F1c2VzIG5vIGV2ZW50cworUEFTUyBDbG9zZSBwZWVyY29ubmVjdGlv
biBjYXVzZXMgY2xvc2UgZXZlbnQgYW5kIGVycm9yIG9uIG1hbnkgY2hhbm5lbHMsIGRhdGFjaGFu
bmVsCiBQQVNTIENsb3NlIG5lZ290aWF0ZWQgZGF0YWNoYW5uZWwgY2F1c2VzIG9uY2xvc2luZyBh
bmQgb25jbG9zZSB0byBiZSBjYWxsZWQKIFBBU1MgQ2xvc2UgbmVnb3RpYXRlZCBkYXRhY2hhbm5l
bCBjYXVzZXMgY2xvc2luZyBhbmQgY2xvc2UgZXZlbnQgdG8gYmUgY2FsbGVkCiBQQVNTIENsb3Nl
IHBlZXJjb25uZWN0aW9uIGNhdXNlcyBjbG9zZSBldmVudCBhbmQgZXJyb3IgdG8gYmUgY2FsbGVk
IG9uIG5lZ290aWF0ZWQgZGF0YWNoYW5uZWwKIFBBU1MgQ2xvc2UgcGVlcmNvbm5lY3Rpb24gYWZ0
ZXIgbmVnb3RpYXRlZCBkYXRhY2hhbm5lbCBjbG9zZSBjYXVzZXMgbm8gZXZlbnRzCitQQVNTIENs
b3NlIHBlZXJjb25uZWN0aW9uIGNhdXNlcyBjbG9zZSBldmVudCBhbmQgZXJyb3Igb24gbWFueSBj
aGFubmVscywgbmVnb3RpYXRlZCBkYXRhY2hhbm5lbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1j
bG9zZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJydGMvUlRDRGF0YUNoYW5uZWwtY2xvc2UuaHRtbAppbmRleCBjZDRhY2UyYTgzNmJlMmM5ZjE4
ZGVjYTQ4YzhjMDFmNWUxY2RmZjFkLi5lMmE1YmE3NzI0NWNlNGQ4MjA0ZjQ3M2NmZWQxYzEyMjM3
NDE2NjdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnJ0Yy9SVENEYXRhQ2hhbm5lbC1jbG9zZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ0RhdGFDaGFubmVsLWNs
b3NlLmh0bWwKQEAgLTQ1LDcgKzQ1LDcgQEAgZm9yIChjb25zdCBvcHRpb25zIG9mIFt7fSwge25l
Z290aWF0ZWQ6IHRydWUsIGlkOiAwfV0pIHsKICAgICBhc3NlcnRfdHJ1ZShjbG9zaW5nU2Vlbiwg
J0Nsb3NpbmcgZXZlbnQgd2FzIHNlZW4nKTsKICAgfSwgYENsb3NlICR7bW9kZX0gY2F1c2VzIGNs
b3NpbmcgYW5kIGNsb3NlIGV2ZW50IHRvIGJlIGNhbGxlZGApOwogCi0gIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgICBjb25zdCBwYzEg
PSBuZXcgUlRDUGVlckNvbm5lY3Rpb24oKTsKICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHBjMS5j
bG9zZSgpKTsKICAgICBjb25zdCBbY2hhbm5lbDEsIGNoYW5uZWwyXSA9IGF3YWl0IGNyZWF0ZURh
dGFDaGFubmVsUGFpcih0LCBvcHRpb25zLCBwYzEpOwpAQCAtMTAwLDUgKzEwMCw4MSBAQCBmb3Ig
KGNvbnN0IG9wdGlvbnMgb2YgW3t9LCB7bmVnb3RpYXRlZDogdHJ1ZSwgaWQ6IDB9XSkgewogICAg
IHBjMS5jbG9zZSgpOwogICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdC5zdGVwX3Rp
bWVvdXQocmVzb2x2ZSwgMTApKTsKICAgfSwgYENsb3NlIHBlZXJjb25uZWN0aW9uIGFmdGVyICR7
bW9kZX0gY2xvc2UgY2F1c2VzIG5vIGV2ZW50c2ApOworCisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBjb25zdCBwYzEgPSBuZXcgUlRDUGVlckNvbm5lY3Rpb24oKTsKKyAgICB0LmFk
ZF9jbGVhbnVwKCgpID0+IHBjMS5jbG9zZSgpKTsKKyAgICBjb25zdCBwYzIgPSBuZXcgUlRDUGVl
ckNvbm5lY3Rpb24oKTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHBjMi5jbG9zZSgpKTsKKyAg
ICBwYzEuY3JlYXRlRGF0YUNoYW5uZWwoJ25vdC1jb3VudGVkJywgb3B0aW9ucyk7CisgICAgY29u
c3QgdG9rZW5EYXRhQ2hhbm5lbCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgcGMy
Lm9uZGF0YWNoYW5uZWwgPSByZXNvbHZlOworICAgIH0pOworICAgIGV4Y2hhbmdlSWNlQ2FuZGlk
YXRlcyhwYzEsIHBjMik7CisgICAgYXdhaXQgZXhjaGFuZ2VPZmZlckFuc3dlcihwYzEsIHBjMik7
CisgICAgaWYgKCFvcHRpb25zLm5lZ290aWF0ZWQpIHsKKyAgICAgIGF3YWl0IHRva2VuRGF0YUNo
YW5uZWw7CisgICAgfQorICAgIGxldCBjbG9zZUV4cGVjdGVkQ291bnQgPSAwOworICAgIGxldCBl
cnJvckV4cGVjdGVkQ291bnQgPSAwOworICAgIGxldCByZXNvbHZlQ291bnRJc1plcm87CisgICAg
bGV0IHdhaXRGb3JDb3VudElzWmVybyA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAg
cmVzb2x2ZUNvdW50SXNaZXJvID0gcmVzb2x2ZTsKKyAgICB9KTsKKyAgICBmb3IgKGxldCBpID0g
MTsgaSA8PSAxMDsgaSsrKSB7CisgICAgICBpZiAoJ2lkJyBpbiBvcHRpb25zKSB7CisgICAgICAg
IG9wdGlvbnMuaWQgPSBpOworICAgICAgfQorICAgICAgcGMxLmNyZWF0ZURhdGFDaGFubmVsKCcn
LCBvcHRpb25zKTsKKyAgICAgIGlmIChvcHRpb25zLm5lZ290aWF0ZWQpIHsKKyAgICAgICAgY29u
c3QgY2hhbm5lbCA9IHBjMi5jcmVhdGVEYXRhQ2hhbm5lbCgnJywgb3B0aW9ucyk7CisgICAgICAg
IGNoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB0LnN0ZXBfZnVuYyhldmVudCA9PiB7
CisgICAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQgaW5zdGFuY2VvZiBSVENFcnJvckV2ZW50LCAn
ZXJyb3IgZXZlbnQgJyArIGV2ZW50KTsKKyAgICAgICAgICBlcnJvckV4cGVjdGVkQ291bnQgLT0g
MTsKKyAgICAgICAgfSkpOworICAgICAgICBjaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2Nsb3Nl
JywgdC5zdGVwX2Z1bmMoZXZlbnQgPT4geworICAgICAgICAgIGNsb3NlRXhwZWN0ZWRDb3VudCAt
PSAxOworICAgICAgICAgIGlmIChjbG9zZUV4cGVjdGVkQ291bnQgPT0gMCkgeworICAgICAgICAg
ICAgcmVzb2x2ZUNvdW50SXNaZXJvKCk7CisgICAgICAgICAgfQorICAgICAgICB9KSk7CisgICAg
ICB9IGVsc2UgeworICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
ICAgICBwYzIub25kYXRhY2hhbm5lbCA9ICh7Y2hhbm5lbH0pID0+IHsKKyAgICAgICAgICAgIGNo
YW5uZWwuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB0LnN0ZXBfZnVuYyhldmVudCA9PiB7Cisg
ICAgICAgICAgICAgIGFzc2VydF90cnVlKGV2ZW50IGluc3RhbmNlb2YgUlRDRXJyb3JFdmVudCk7
CisgICAgICAgICAgICAgIGVycm9yRXhwZWN0ZWRDb3VudCAtPSAxOworICAgICAgICAgICAgfSkp
OworICAgICAgICAgICAgY2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCdjbG9zZScsIHQuc3RlcF9m
dW5jKGV2ZW50ID0+IHsKKyAgICAgICAgICAgICAgY2xvc2VFeHBlY3RlZENvdW50IC09IDE7Cisg
ICAgICAgICAgICAgIGlmIChjbG9zZUV4cGVjdGVkQ291bnQgPT0gMCkgeworICAgICAgICAgICAg
ICAgIHJlc29sdmVDb3VudElzWmVybygpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
KSk7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgfQorICAgICAgICB9KTsKKyAg
ICAgIH0KKyAgICAgICsrY2xvc2VFeHBlY3RlZENvdW50OworICAgICAgKytlcnJvckV4cGVjdGVk
Q291bnQ7CisgICAgfQorICAgIGFzc2VydF9lcXVhbHMoY2xvc2VFeHBlY3RlZENvdW50LCAxMCk7
CisgICAgLy8gV2UgaGF2ZSB0byB3YWl0IHVudGlsIFNDVFAgaXMgY29ubmVjdGVkIGJlZm9yZSB3
ZSBjbG9zZSwgb3RoZXJ3aXNlCisgICAgLy8gdGhlcmUgd2lsbCBiZSBubyBzaWduYWwuCisgICAg
Ly8gVGhlIHN0YXRlIGlzIG5vdCBhdmFpbGFibGUgdW5kZXIgUGxhbiBCLCBhbmQgdW5yZWxpYWJs
ZSBvbiBuZWdvdGlhdGVkCisgICAgLy8gY2hhbm5lbHMuCisgICAgLy8gVE9ETyhidWdzLndlYnJ0
Yy5vcmcvMTIyNTkpOiBSZW1vdmUgZGVwZW5kZW5jeSBvbiAibmVnb3RpYXRlZCIKKyAgICBpZiAo
cGMxLnNjdHAgJiYgIW9wdGlvbnMubmVnb3RpYXRlZCkgeworICAgICAgd2FpdEZvclN0YXRlKHBj
MS5zY3RwLCAnY29ubmVjdGVkJyk7CisgICAgfSBlbHNlIHsKKyAgICAgIC8vIFVuZGVyIHBsYW4g
Qiwgd2UgZG9uJ3QgaGF2ZSBhIGR0bHMgdHJhbnNwb3J0IHRvIHdhaXQgb24sIHNvIGp1c3QKKyAg
ICAgIC8vIHdhaXQgYSBiaXQuCisgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQu
c3RlcF90aW1lb3V0KHJlc29sdmUsIDEwMCkpOworICAgIH0KKyAgICBwYzEuY2xvc2UoKTsKKyAg
ICBhd2FpdCB3YWl0Rm9yQ291bnRJc1plcm87CisgICAgYXNzZXJ0X2VxdWFscyhjbG9zZUV4cGVj
dGVkQ291bnQsIDApOworICAgIGFzc2VydF9lcXVhbHMoZXJyb3JFeHBlY3RlZENvdW50LCAwKTsK
KyAgfSwgYENsb3NlIHBlZXJjb25uZWN0aW9uIGNhdXNlcyBjbG9zZSBldmVudCBhbmQgZXJyb3Ig
b24gbWFueSBjaGFubmVscywgJHttb2RlfWApOwogfQogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>