<?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>233801</bug_id>
          
          <creation_ts>2021-12-02 21:48:35 -0800</creation_ts>
          <short_desc>MomentumEventDispatcher curve sometimes doesn&apos;t match the system curve</short_desc>
          <delta_ts>2021-12-02 23:25:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820022</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-02 21:48:35 -0800</bug_when>
    <thetext>MomentumEventDispatcher curve sometimes doesn&apos;t match the system curve</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820024</commentid>
    <comment_count>1</comment_count>
      <attachid>445808</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-02 21:56:13 -0800</bug_when>
    <thetext>Created attachment 445808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820025</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-02 21:59:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/85870287&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820026</commentid>
    <comment_count>3</comment_count>
      <attachid>445809</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-02 22:05:23 -0800</bug_when>
    <thetext>Created attachment 445809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820031</commentid>
    <comment_count>4</comment_count>
      <attachid>445811</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-02 22:38:09 -0800</bug_when>
    <thetext>Created attachment 445811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820037</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-02 23:25:27 -0800</bug_when>
    <thetext>Committed r286483 (244822@main): &lt;https://commits.webkit.org/244822@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445811.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445808</attachid>
            <date>2021-12-02 21:56:13 -0800</date>
            <delta_ts>2021-12-02 22:26:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233801-20211202215612.patch</filename>
            <type>text/plain</type>
            <size>22179</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAzYjc2NGFkYTJhMzdiY2Q4
ZTdkMWVmMzY5NzM2MWY1YzAwZWM2YzguLjFjYzJjMmIzNjQ2NjIwZTNkOTY4NGY2ZjNjMDc2MjNk
ODZlODQ2ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMjEtMTItMDIgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW9tZW50dW1FdmVudERp
c3BhdGNoZXIgY3VydmUgc29tZXRpbWVzIGRvZXNuJ3QgbWF0Y2ggdGhlIHN5c3RlbSBjdXJ2ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODAxCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTg3MDI4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaHJlZSBzbWFsbCBjaGFuZ2VzIHRvIGdldCB1cyBj
bG9zZXIgdG8gdGhlIHN5c3RlbSBjdXJ2ZToKKworICAgICAgICAxKSBGZXRjaCB0aGUgbW9tZW50
dW0gZXZlbnQgZGlzcGF0Y2ggaW50ZXJ2YWwgZnJvbSB0aGUgc3lzdGVtLCBhbmQgdXNlCisgICAg
ICAgIGl0IHRvIHNjYWxlIHRoZSBtb21lbnR1bSBzdGFydCBldmVudCdzIGRlbHRhICh3aGljaCB3
ZSB1c2UgYXMgb3VyCisgICAgICAgIGluaXRpYWwgdmVsb2NpdHkpIGludG8gdGhlICJpZGVhbCIg
Y3VydmUncyBmcmFtZSByYXRlICh3aGljaCBpcyBhbHdheXMKKyAgICAgICAgNjBmcHMgcmVnYXJk
bGVzcykuCisKKyAgICAgICAgMikgQmFjay1kYXRlIHRoZSBhbmltYXRpb24gc3RhcnQgdGltZSB0
byB0aGUgZmluZ2Vycy1kb3duIHBoYXNlIGVuZCBldmVudCwKKyAgICAgICAgc28gdGhhdCB0aGUg
bW9tZW50dW0gc3RhcnQgcGhhc2UgaGFzIGEgZGVsdGEuIFRoaXMgc2VlbXMgdG8gbWF0Y2ggd2hh
dAorICAgICAgICB0aGUgc3lzdGVtIGRvZXMuCisKKyAgICAgICAgMykgU3dpdGNoIHRvIE1vbm90
b25pY1RpbWUgZm9yIHRoZSBhbmltYXRpb24gdGltZSwgc2luY2UgaXQgZG9lc24ndCBuZWVkCisg
ICAgICAgIHRvIGJlIGluIHRoZSBzYW1lIHRpbWViYXNlIGFzIGV2ZW50cyAod2hpY2ggYXJlIG9k
ZGx5IGluIFdhbGxUaW1lKSwgYW5kCisgICAgICAgIGNlcnRhaW5seSBzaG91bGQgYmUgbW9ub3Rv
bmljLgorCisgICAgICAgICogU2hhcmVkL1Njcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU6OlNjcm9sbGluZ0Fj
Y2VsZXJhdGlvbkN1cnZlKToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nQWNjZWxlcmF0aW9u
Q3VydmU6OmludGVycG9sYXRlKToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nQWNjZWxlcmF0
aW9uQ3VydmU6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ0FjY2Vs
ZXJhdGlvbkN1cnZlOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpvcGVyYXRvcjw8KToKKyAg
ICAgICAgKiBTaGFyZWQvU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUuaDoKKyAgICAgICAgKFdl
YktpdDo6U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU6OmZyYW1lUmF0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpvcGVyYXRvcj09IGNvbnN0KToKKyAg
ICAgICAgKiBTaGFyZWQvbWFjL1Njcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlTWFjLm1tOgorICAg
ICAgICAoV2ViS2l0Ojpmcm9tSU9ISURDdXJ2ZSk6CisgICAgICAgIChXZWJLaXQ6OmZyb21JT0hJ
REN1cnZlQXJyYXlXaXRoQWNjZWxlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6ZnJvbUlPSElE
RGV2aWNlKToKKyAgICAgICAgRmV0Y2ggYW5kIHByb3BhZ2F0ZSB0aGUgZGlzcGF0Y2ggZnJhbWUg
cmF0ZS4gVGhpcyBpc24ndCAqcmVhbGx5KiBhCisgICAgICAgIFNjcm9sbGluZ0FjY2VsZXJhdGlv
bkN1cnZlIHByb3BlcnR5LCBidXQgbmVpdGhlciBpcyBgcmVzb2x1dGlvbmA7CisgICAgICAgIHRo
aXMgaXMganVzdCBjdXJyZW50bHkgdGhlIG9ubHkgcGxhY2Ugd2UgbG9vayB1cCBISUQgcHJvcGVy
dGllcworICAgICAgICBhbmQgcHVzaCB0aGVtIHRvIHRoZSBXZWIgQ29udGVudCBwcm9jZXNzOyBz
b21lIHJlLWFyY2hpdGVjdHVyZSBpcworICAgICAgICB3YXJyYW50ZWQgaGVyZSBpbiB0aGUgZnV0
dXJlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRj
aGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmhhbmRs
ZVdoZWVsRXZlbnQpOgorICAgICAgICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IGZpbmdlcnMtZG93
biBwaGFzZSBlbmRlZCBldmVudCB0aW1lc3RhbXAuCisKKyAgICAgICAgKFdlYktpdDo6TW9tZW50
dW1FdmVudERpc3BhdGNoZXI6OmRpZFN0YXJ0TW9tZW50dW1QaGFzZSk6CisgICAgICAgIEJhY2tk
YXRlIHRoZSBzdGFydCB0aW1lIHNvIHRoYXQgdGhlIGZpcnN0IGV2ZW50IGhhcyB0aGUgYXBwcm9w
cmlhdGUgZGVsdGEuCisgICAgICAgIERpdmlkZSBvdXQgdGhlIGRpc3BhdGNoIGZyYW1lIHJhdGUg
c28gdGhhdCB0aGUgaW5pdGlhbCB2ZWxvY2l0eSBpcworICAgICAgICBhcyBpZiB0aGUgY3VydmUg
d2VyZSBydW5uaW5nIGF0IDYwZnBzIChzaW5jZSB3ZSAqd2lsbCogcnVuIGl0IGF0IDYwZnBzIGFu
ZCBpbnRlcnBvbGF0ZSkuCisKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNo
ZXI6OmRpZEVuZE1vbWVudHVtUGhhc2UpOgorICAgICAgICAoV2ViS2l0OjpNb21lbnR1bUV2ZW50
RGlzcGF0Y2hlcjo6Y29uc3VtZURlbHRhRm9yVGltZSk6CisgICAgICAgIChXZWJLaXQ6Ok1vbWVu
dHVtRXZlbnREaXNwYXRjaGVyOjpkaXNwbGF5V2FzUmVmcmVzaGVkKToKKyAgICAgICAgRmFjdG9y
IHRoZSBjb25zdW1lLWEtZGVsdGEtZnJvbS10aGUtaWRlYWwtY3VydmUgY29kZSBvdXQgZnJvbSBk
aXNwbGF5V2FzUmVmcmVzaGVkCisgICAgICAgIHNvIHdlIGNhbiB1c2UgaXQgaW4gdGhlIHN0YXJ0
IHBoYXNlIHRvby4KKworICAgICAgICAoV2ViS2l0OjpNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6
b2Zmc2V0QXRUaW1lKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6
OmNvbXB1dGVOZXh0RGVsdGEpOgorICAgICAgICBSZW5hbWUgaWRlYWxDdXJ2ZUZyYW1lUmF0ZS0+
aWRlYWxDdXJ2ZUZyYW1lSW50ZXJ2YWwgZm9yIGFjY3VyYWN5LgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmg6CisKIDIwMjEtMTItMDIgIENv
bW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJldmVydGluZyByMjg2NDM3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2Ny
b2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUuY3BwCmluZGV4IDE3MmRlYzQzYzFiN2Y1NWE2OTFhZGJh
ZTk3M2NiZDkwNjk4MDBiNjAuLjFhMjcwZjk0OTNkMDJjNDFhYzNmMzIzYTk2MDUxY2Y1YzQ2ZjVh
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Njcm9sbGluZ0FjY2VsZXJhdGlv
bkN1cnZlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TY3JvbGxpbmdBY2NlbGVyYXRp
b25DdXJ2ZS5jcHAKQEAgLTM0LDggKzM0LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVNj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZShmbG9h
dCBnYWluTGluZWFyLCBmbG9hdCBnYWluUGFyYWJvbGljLCBmbG9hdCBnYWluQ3ViaWMsIGZsb2F0
IGdhaW5RdWFydGljLCBmbG9hdCB0YW5nZW50U3BlZWRMaW5lYXIsIGZsb2F0IHRhbmdlbnRTcGVl
ZFBhcmFib2xpY1Jvb3QsIGZsb2F0IHJlc29sdXRpb24pCi0gICAgOiBtX3BhcmFtZXRlcnMgeyBn
YWluTGluZWFyLCBnYWluUGFyYWJvbGljLCBnYWluQ3ViaWMsIGdhaW5RdWFydGljLCB0YW5nZW50
U3BlZWRMaW5lYXIsIHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QsIHJlc29sdXRpb24gfQorU2Ny
b2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU6OlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlKGZsb2F0
IGdhaW5MaW5lYXIsIGZsb2F0IGdhaW5QYXJhYm9saWMsIGZsb2F0IGdhaW5DdWJpYywgZmxvYXQg
Z2FpblF1YXJ0aWMsIGZsb2F0IHRhbmdlbnRTcGVlZExpbmVhciwgZmxvYXQgdGFuZ2VudFNwZWVk
UGFyYWJvbGljUm9vdCwgZmxvYXQgcmVzb2x1dGlvbiwgZmxvYXQgZnJhbWVSYXRlKQorICAgIDog
bV9wYXJhbWV0ZXJzIHsgZ2FpbkxpbmVhciwgZ2FpblBhcmFib2xpYywgZ2FpbkN1YmljLCBnYWlu
UXVhcnRpYywgdGFuZ2VudFNwZWVkTGluZWFyLCB0YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCBy
ZXNvbHV0aW9uLCBmcmFtZVJhdGUgfQogewogfQogCkBAIC01Myw3ICs1Myw3IEBAIFNjcm9sbGlu
Z0FjY2VsZXJhdGlvbkN1cnZlIFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjppbnRlcnBvbGF0
ZShjb25zdCBTY3JvbGxpCiAgICAgYXV0byB0YW5nZW50U3BlZWRMaW5lYXIgPSBpbnRlcnBvbGF0
ZShmcm9tLm1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRMaW5lYXIsIHRvLm1fcGFyYW1ldGVycy50
YW5nZW50U3BlZWRMaW5lYXIpOwogICAgIGF1dG8gdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCA9
IGludGVycG9sYXRlKGZyb20ubV9wYXJhbWV0ZXJzLnRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3Qs
IHRvLm1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRQYXJhYm9saWNSb290KTsKIAotICAgIHJldHVy
biB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9saWMsIGdhaW5DdWJpYywgZ2FpblF1YXJ0aWMsIHRh
bmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCwgZnJvbS5tX3BhcmFt
ZXRlcnMucmVzb2x1dGlvbiB9OworICAgIHJldHVybiB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9s
aWMsIGdhaW5DdWJpYywgZ2FpblF1YXJ0aWMsIHRhbmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNw
ZWVkUGFyYWJvbGljUm9vdCwgZnJvbS5tX3BhcmFtZXRlcnMucmVzb2x1dGlvbiwgZnJvbS5tX3Bh
cmFtZXRlcnMuZnJhbWVSYXRlIH07CiB9CiAKIHZvaWQgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3Vy
dmU6OmNvbXB1dGVJbnRlcm1lZGlhdGVWYWx1ZXNJZk5lZWRlZCgpCkBAIC0xMjcsNiArMTI3LDcg
QEAgdm9pZCBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6ZW5jb2RlKElQQzo6RW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRQ
YXJhYm9saWNSb290OwogCiAgICAgZW5jb2RlciA8PCBtX3BhcmFtZXRlcnMucmVzb2x1dGlvbjsK
KyAgICBlbmNvZGVyIDw8IG1fcGFyYW1ldGVycy5mcmFtZVJhdGU7CiB9CiAKIHN0ZDo6b3B0aW9u
YWw8U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU+IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZl
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQpAQCAtMTU0LDggKzE1NSwxMSBAQCBzdGQ6
Om9wdGlvbmFsPFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlPiBTY3JvbGxpbmdBY2NlbGVyYXRp
b25DdXJ2ZTo6ZGVjb2RlKElQQwogICAgIGZsb2F0IHJlc29sdXRpb247CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXNvbHV0aW9uKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAg
ICBmbG9hdCBmcmFtZVJhdGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShmcmFtZVJhdGUpKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyBnYWluTGluZWFy
LCBnYWluUGFyYWJvbGljLCBnYWluQ3ViaWMsIGdhaW5RdWFydGljLCB0YW5nZW50U3BlZWRMaW5l
YXIsIHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QsIHJlc29sdXRpb24gfSB9OworICAgIHJldHVy
biB7IHsgZ2FpbkxpbmVhciwgZ2FpblBhcmFib2xpYywgZ2FpbkN1YmljLCBnYWluUXVhcnRpYywg
dGFuZ2VudFNwZWVkTGluZWFyLCB0YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCByZXNvbHV0aW9u
LCBmcmFtZVJhdGUgfSB9OwogfQogCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0m
IHRzLCBjb25zdCBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZSYgY3VydmUpCkBAIC0xNzEsNiAr
MTc1LDcgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgU2Ny
b2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUmIGN1cnZlKQogICAgIHRzLmR1bXBQcm9wZXJ0eSgidGFu
Z2VudFNwZWVkTGluZWFyIiwgY3VydmUubV9wYXJhbWV0ZXJzLnRhbmdlbnRTcGVlZExpbmVhcik7
CiAgICAgdHMuZHVtcFByb3BlcnR5KCJ0YW5nZW50U3BlZWRQYXJhYm9saWNSb290IiwgY3VydmUu
bV9wYXJhbWV0ZXJzLnRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QpOwogICAgIHRzLmR1bXBQcm9w
ZXJ0eSgicmVzb2x1dGlvbiIsIGN1cnZlLm1fcGFyYW1ldGVycy5yZXNvbHV0aW9uKTsKKyAgICB0
cy5kdW1wUHJvcGVydHkoImZyYW1lUmF0ZSIsIGN1cnZlLm1fcGFyYW1ldGVycy5mcmFtZVJhdGUp
OwogCiAgICAgcmV0dXJuIHRzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Njcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlLmgKaW5kZXggMjkyNTY5NmU0MWIxZDYwNTEzZDc1MGVjODYw
ODM1ZjJkZGZmZjFiNS4uMjBhMDVlOGNjYzI3MjdhM2RlMDFjNTUzZDRiYTI2MGI5MzBlNmQ4MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3Vy
dmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2
ZS5oCkBAIC00MSwxMyArNDEsMTQgQEAgY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIAogY2xh
c3MgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUgewogcHVibGljOgotICAgIFNjcm9sbGluZ0Fj
Y2VsZXJhdGlvbkN1cnZlKGZsb2F0IGdhaW5MaW5lYXIsIGZsb2F0IGdhaW5QYXJhYm9saWMsIGZs
b2F0IGdhaW5DdWJpYywgZmxvYXQgZ2FpblF1YXJ0aWMsIGZsb2F0IHRhbmdlbnRTcGVlZExpbmVh
ciwgZmxvYXQgdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCwgZmxvYXQgcmVzb2x1dGlvbik7Cisg
ICAgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUoZmxvYXQgZ2FpbkxpbmVhciwgZmxvYXQgZ2Fp
blBhcmFib2xpYywgZmxvYXQgZ2FpbkN1YmljLCBmbG9hdCBnYWluUXVhcnRpYywgZmxvYXQgdGFu
Z2VudFNwZWVkTGluZWFyLCBmbG9hdCB0YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCBmbG9hdCBy
ZXNvbHV0aW9uLCBmbG9hdCBmcmFtZVJhdGUpOwogCiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8
U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU+IGZyb21OYXRpdmVXaGVlbEV2ZW50KGNvbnN0IE5h
dGl2ZVdlYldoZWVsRXZlbnQmKTsKIAogICAgIHN0YXRpYyBTY3JvbGxpbmdBY2NlbGVyYXRpb25D
dXJ2ZSBpbnRlcnBvbGF0ZShjb25zdCBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZSYgZnJvbSwg
Y29uc3QgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUmIHRvLCBmbG9hdCBhbW91bnQpOwogCiAg
ICAgZmxvYXQgYWNjZWxlcmF0aW9uRmFjdG9yKGZsb2F0KTsKKyAgICBmbG9hdCBmcmFtZVJhdGUo
KSBjb25zdCB7IHJldHVybiBtX3BhcmFtZXRlcnMuZnJhbWVSYXRlOyB9CiAKICAgICB2b2lkIGVu
Y29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxTY3Jv
bGxpbmdBY2NlbGVyYXRpb25DdXJ2ZT4gZGVjb2RlKElQQzo6RGVjb2RlciYpOwpAQCAtNjAsNyAr
NjEsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMuZ2FpblF1YXJ0aWMg
PT0gb3RoZXIubV9wYXJhbWV0ZXJzLmdhaW5RdWFydGljCiAgICAgICAgICAgICAmJiBtX3BhcmFt
ZXRlcnMudGFuZ2VudFNwZWVkTGluZWFyID09IG90aGVyLm1fcGFyYW1ldGVycy50YW5nZW50U3Bl
ZWRMaW5lYXIKICAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRQYXJhYm9s
aWNSb290ID09IG90aGVyLm1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRQYXJhYm9saWNSb290Ci0g
ICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMucmVzb2x1dGlvbiA9PSBvdGhlci5tX3BhcmFtZXRl
cnMucmVzb2x1dGlvbjsKKyAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5yZXNvbHV0aW9uID09
IG90aGVyLm1fcGFyYW1ldGVycy5yZXNvbHV0aW9uCisgICAgICAgICAgICAmJiBtX3BhcmFtZXRl
cnMuZnJhbWVSYXRlID09IG90aGVyLm1fcGFyYW1ldGVycy5mcmFtZVJhdGU7CiAgICAgfQogCiAg
ICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlJiBvdGhl
cikgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KQEAgLTc5LDcgKzgxLDExIEBA
IHByaXZhdGU6CiAgICAgICAgIGZsb2F0IGdhaW5RdWFydGljIHsgMCB9OwogICAgICAgICBmbG9h
dCB0YW5nZW50U3BlZWRMaW5lYXIgeyAwIH07CiAgICAgICAgIGZsb2F0IHRhbmdlbnRTcGVlZFBh
cmFib2xpY1Jvb3QgeyAwIH07CisKKyAgICAgICAgLy8gRklYTUU6IFJlc29sdXRpb24gYW5kIGZy
YW1lIHJhdGUgYXJlIG5vdCB0ZWNobmljYWxseSBwcm9wZXJ0aWVzCisgICAgICAgIC8vIG9mIHRo
ZSBjdXJ2ZSwganVzdCByZXF1aXJlZCB0byB1c2UgaXQ7IHRoZXkgc2hvdWxkIGJlIHBsdW1iZWQg
c2VwYXJhdGVseS4KICAgICAgICAgZmxvYXQgcmVzb2x1dGlvbiB7IDAgfTsKKyAgICAgICAgZmxv
YXQgZnJhbWVSYXRlIHsgMCB9OwogICAgIH0gbV9wYXJhbWV0ZXJzOwogCiAgICAgc3RydWN0IENv
bXB1dGVkSW50ZXJtZWRpYXRlVmFsdWVzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZU1hYy5tbQppbmRleCBkMTBjMmUx
MmUwZWM0ZjY1MTQ2MTdiYzE1ZDQyYWEzZjEzZGEwY2ZmLi5mNmQwZjU2NzZlODY2Mjg2YWUxZGNl
YjEyNzk0YTdiODBlZjgyZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvbWFjL1Njcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlTWFjLm1tCkBAIC0zOSwxMiArMzksMTkg
QEAgc3RhdGljIGZsb2F0IGZyb21GaXhlZFBvaW50KGZsb2F0IHZhbHVlKQogICAgIHJldHVybiB2
YWx1ZSAvIDY1NTM2LjBmOwogfQogCitzdGF0aWMgZmxvYXQgZnJvbUNGTnVtYmVyKENGTnVtYmVy
UmVmIG51bWJlcikKK3sKKyAgICBmbG9hdCB2YWx1ZTsKKyAgICBDRk51bWJlckdldFZhbHVlKG51
bWJlciwga0NGTnVtYmVyRmxvYXRUeXBlLCAmdmFsdWUpOworICAgIHJldHVybiB2YWx1ZTsKK30K
Kwogc3RhdGljIGZsb2F0IHJlYWRGaXhlZFBvaW50UGFyYW1ldGVyKE5TRGljdGlvbmFyeSAqcGFy
YW1ldGVycywgY29uc3QgY2hhciAqa2V5KQogewogICAgIHJldHVybiBmcm9tRml4ZWRQb2ludChb
W3BhcmFtZXRlcnMgb2JqZWN0Rm9yS2V5OkAoa2V5KV0gZmxvYXRWYWx1ZV0pOwogfQogCi1zdGF0
aWMgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUgZnJvbUlPSElEQ3VydmUoTlNEaWN0aW9uYXJ5
ICpwYXJhbWV0ZXJzLCBmbG9hdCByZXNvbHV0aW9uKQorc3RhdGljIFNjcm9sbGluZ0FjY2VsZXJh
dGlvbkN1cnZlIGZyb21JT0hJREN1cnZlKE5TRGljdGlvbmFyeSAqcGFyYW1ldGVycywgZmxvYXQg
cmVzb2x1dGlvbiwgZmxvYXQgZnJhbWVSYXRlKQogewogICAgIGF1dG8gZ2FpbkxpbmVhciA9IHJl
YWRGaXhlZFBvaW50UGFyYW1ldGVyKHBhcmFtZXRlcnMsIGtISURBY2NlbEdhaW5MaW5lYXJLZXkp
OwogICAgIGF1dG8gZ2FpblBhcmFib2xpYyA9IHJlYWRGaXhlZFBvaW50UGFyYW1ldGVyKHBhcmFt
ZXRlcnMsIGtISURBY2NlbEdhaW5QYXJhYm9saWNLZXkpOwpAQCAtNTQsMTcgKzYxLDE3IEBAIHN0
YXRpYyBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZSBmcm9tSU9ISURDdXJ2ZShOU0RpY3Rpb25h
cnkgKnBhcmFtZXRlcnMsIGZsb2F0CiAgICAgYXV0byB0YW5nZW50U3BlZWRMaW5lYXIgPSByZWFk
Rml4ZWRQb2ludFBhcmFtZXRlcihwYXJhbWV0ZXJzLCBrSElEQWNjZWxUYW5nZW50U3BlZWRMaW5l
YXJLZXkpOwogICAgIGF1dG8gdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCA9IHJlYWRGaXhlZFBv
aW50UGFyYW1ldGVyKHBhcmFtZXRlcnMsIGtISURBY2NlbFRhbmdlbnRTcGVlZFBhcmFib2xpY1Jv
b3RLZXkpOwogCi0gICAgcmV0dXJuIHsgZ2FpbkxpbmVhciwgZ2FpblBhcmFib2xpYywgZ2FpbkN1
YmljLCBnYWluUXVhcnRpYywgdGFuZ2VudFNwZWVkTGluZWFyLCB0YW5nZW50U3BlZWRQYXJhYm9s
aWNSb290LCByZXNvbHV0aW9uIH07CisgICAgcmV0dXJuIHsgZ2FpbkxpbmVhciwgZ2FpblBhcmFi
b2xpYywgZ2FpbkN1YmljLCBnYWluUXVhcnRpYywgdGFuZ2VudFNwZWVkTGluZWFyLCB0YW5nZW50
U3BlZWRQYXJhYm9saWNSb290LCByZXNvbHV0aW9uLCBmcmFtZVJhdGUgfTsKIH0KIAotc3RhdGlj
IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlIGZyb21JT0hJREN1cnZlQXJyYXlXaXRoQWNjZWxl
cmF0aW9uKE5TQXJyYXk8TlNEaWN0aW9uYXJ5ICo+ICppb0hJREN1cnZlcywgZmxvYXQgZGVzaXJl
ZEFjY2VsZXJhdGlvbiwgZmxvYXQgcmVzb2x1dGlvbikKK3N0YXRpYyBTY3JvbGxpbmdBY2NlbGVy
YXRpb25DdXJ2ZSBmcm9tSU9ISURDdXJ2ZUFycmF5V2l0aEFjY2VsZXJhdGlvbihOU0FycmF5PE5T
RGljdGlvbmFyeSAqPiAqaW9ISURDdXJ2ZXMsIGZsb2F0IGRlc2lyZWRBY2NlbGVyYXRpb24sIGZs
b2F0IHJlc29sdXRpb24sIGZsb2F0IGZyYW1lUmF0ZSkKIHsKICAgICBfX2Jsb2NrIHNpemVfdCBj
dXJyZW50SW5kZXggPSAwOwogICAgIF9fYmxvY2sgVmVjdG9yPHN0ZDo6cGFpcjxmbG9hdCwgU2Ny
b2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU+PiBjdXJ2ZXM7CiAKICAgICBbaW9ISURDdXJ2ZXMgZW51
bWVyYXRlT2JqZWN0c1VzaW5nQmxvY2s6XihOU0RpY3Rpb25hcnkgKnBhcmFtZXRlcnMsIE5TVUlu
dGVnZXIgaSwgQk9PTCAqKSB7CiAgICAgICAgIGF1dG8gY3VydmVBY2NlbGVyYXRpb24gPSByZWFk
Rml4ZWRQb2ludFBhcmFtZXRlcihwYXJhbWV0ZXJzLCBrSElEQWNjZWxJbmRleEtleSk7Ci0gICAg
ICAgIGF1dG8gY3VydmUgPSBmcm9tSU9ISURDdXJ2ZShwYXJhbWV0ZXJzLCByZXNvbHV0aW9uKTsK
KyAgICAgICAgYXV0byBjdXJ2ZSA9IGZyb21JT0hJREN1cnZlKHBhcmFtZXRlcnMsIHJlc29sdXRp
b24sIGZyYW1lUmF0ZSk7CiAKICAgICAgICAgaWYgKGRlc2lyZWRBY2NlbGVyYXRpb24gPiBjdXJ2
ZUFjY2VsZXJhdGlvbikKICAgICAgICAgICAgIGN1cnJlbnRJbmRleCA9IGk7CkBAIC0xMTYsMTkg
KzEyMywyNiBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2
ZT4gZnJvbUlPSElERGV2aWNlKElPSElERXZlbnRTZW5kZQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogICAgIH0KIAotICAgIGF1dG8gc2Nyb2xsQWNjZWxlcmF0aW9uID0gYWRvcHRDRihk
eW5hbWljX2NmX2Nhc3Q8Q0ZOdW1iZXJSZWY+KElPSElEU2VydmljZUNsaWVudENvcHlQcm9wZXJ0
eShpb0hJRFNlcnZpY2UuZ2V0KCksIHNjcm9sbEFjY2VsZXJhdGlvblR5cGUuZ2V0KCkpKSk7Ci0g
ICAgaWYgKCFzY3JvbGxBY2NlbGVyYXRpb24pIHsKKyAgICBhdXRvIHNjcm9sbEFjY2VsZXJhdGlv
bkNGID0gYWRvcHRDRihkeW5hbWljX2NmX2Nhc3Q8Q0ZOdW1iZXJSZWY+KElPSElEU2VydmljZUNs
aWVudENvcHlQcm9wZXJ0eShpb0hJRFNlcnZpY2UuZ2V0KCksIHNjcm9sbEFjY2VsZXJhdGlvblR5
cGUuZ2V0KCkpKSk7CisgICAgaWYgKCFzY3JvbGxBY2NlbGVyYXRpb25DRikgewogICAgICAgICBS
RUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU6
OmZyb21JT0hJRERldmljZSBmYWlsZWQgdG8gbG9vayB1cCBhY2NlbGVyYXRpb24gdmFsdWUiKTsK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CisgICAgYXV0byBzY3JvbGxBY2Nl
bGVyYXRpb24gPSBmcm9tRml4ZWRQb2ludChmcm9tQ0ZOdW1iZXIoc2Nyb2xsQWNjZWxlcmF0aW9u
Q0YuZ2V0KCkpKTsKIAotICAgIGF1dG8gcmVzb2x1dGlvbiA9IGFkb3B0Q0YoZHluYW1pY19jZl9j
YXN0PENGTnVtYmVyUmVmPihJT0hJRFNlcnZpY2VDbGllbnRDb3B5UHJvcGVydHkoaW9ISURTZXJ2
aWNlLmdldCgpLCBDRlNUUihrSU9ISURTY3JvbGxSZXNvbHV0aW9uS2V5KSkpKTsKLSAgICBpZiAo
IXJlc29sdXRpb24pIHsKKyAgICBhdXRvIHJlc29sdXRpb25DRiA9IGFkb3B0Q0YoZHluYW1pY19j
Zl9jYXN0PENGTnVtYmVyUmVmPihJT0hJRFNlcnZpY2VDbGllbnRDb3B5UHJvcGVydHkoaW9ISURT
ZXJ2aWNlLmdldCgpLCBDRlNUUihrSU9ISURTY3JvbGxSZXNvbHV0aW9uS2V5KSkpKTsKKyAgICBp
ZiAoIXJlc29sdXRpb25DRikgewogICAgICAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25z
LCAiU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU6OmZyb21JT0hJRERldmljZSBmYWlsZWQgdG8g
bG9vayB1cCByZXNvbHV0aW9uIik7CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAg
fQorICAgIGF1dG8gcmVzb2x1dGlvbiA9IGZyb21GaXhlZFBvaW50KFsoTlNOdW1iZXIgKilyZXNv
bHV0aW9uQ0YuZ2V0KCkgZmxvYXRWYWx1ZV0pOworCisgICAgc3RhdGljIENGU3RyaW5nUmVmIGRp
c3BhdGNoRnJhbWVSYXRlS2V5ID0gQ0ZTVFIoIlNjcm9sbE1vbWVudHVtRGlzcGF0Y2hSYXRlIik7
CisgICAgc3RhdGljIGNvbnN0ZXhwciBmbG9hdCBkZWZhdWx0RGlzcGF0Y2hGcmFtZVJhdGUgPSA2
MDsKKyAgICBhdXRvIGZyYW1lUmF0ZUNGID0gYWRvcHRDRihkeW5hbWljX2NmX2Nhc3Q8Q0ZOdW1i
ZXJSZWY+KElPSElEU2VydmljZUNsaWVudENvcHlQcm9wZXJ0eShpb0hJRFNlcnZpY2UuZ2V0KCks
IGRpc3BhdGNoRnJhbWVSYXRlS2V5KSkpOworICAgIGZsb2F0IGZyYW1lUmF0ZSA9IGZyYW1lUmF0
ZUNGID8gZnJvbUNGTnVtYmVyKGZyYW1lUmF0ZUNGLmdldCgpKSA6IGRlZmF1bHREaXNwYXRjaEZy
YW1lUmF0ZTsKIAotICAgIHJldHVybiBmcm9tSU9ISURDdXJ2ZUFycmF5V2l0aEFjY2VsZXJhdGlv
bigoTlNBcnJheSAqKWN1cnZlcy5nZXQoKSwgZnJvbUZpeGVkUG9pbnQoWyhOU051bWJlciAqKXNj
cm9sbEFjY2VsZXJhdGlvbi5nZXQoKSBmbG9hdFZhbHVlXSksIGZyb21GaXhlZFBvaW50KFsoTlNO
dW1iZXIgKilyZXNvbHV0aW9uLmdldCgpIGZsb2F0VmFsdWVdKSk7CisgICAgcmV0dXJuIGZyb21J
T0hJREN1cnZlQXJyYXlXaXRoQWNjZWxlcmF0aW9uKChOU0FycmF5ICopY3VydmVzLmdldCgpLCBz
Y3JvbGxBY2NlbGVyYXRpb24sIHJlc29sdXRpb24sIGZyYW1lUmF0ZSk7CiB9CiAKIHN0ZDo6b3B0
aW9uYWw8U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU+IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1
cnZlOjpmcm9tTmF0aXZlV2hlZWxFdmVudChjb25zdCBOYXRpdmVXZWJXaGVlbEV2ZW50JiBuYXRp
dmVXZWJXaGVlbEV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwCmluZGV4IDdkNjNhYWIyMzBh
NzRjNDQyMTQ1NTM4YjFjMWJlNWZlOGEzZmVmZWMuLmFhMmMzZDE4ZTU1Mjg5YWRlN2U2MzdkZDEy
MmQ0MzY2MTkyNzQwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTM5LDcgKzM5LDgg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBkZWx0YUhp
c3RvcnlNYXhpbXVtQWdlID0gNTAwX21zOwogc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIGRlbHRh
SGlzdG9yeU1heGltdW1JbnRlcnZhbCA9IDE1MF9tczsKLXN0YXRpYyBjb25zdGV4cHIgU2Vjb25k
cyBpZGVhbEN1cnZlRnJhbWVSYXRlID0gMV9zIC8gNjA7CitzdGF0aWMgY29uc3RleHByIGZsb2F0
IGlkZWFsQ3VydmVGcmFtZVJhdGUgPSA2MDsKK3N0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBpZGVh
bEN1cnZlRnJhbWVJbnRlcnZhbCA9IDFfcyAvIGlkZWFsQ3VydmVGcmFtZVJhdGU7CiAKIE1vbWVu
dHVtRXZlbnREaXNwYXRjaGVyOjpNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcihFdmVudERpc3BhdGNo
ZXImIGRpc3BhdGNoZXIpCiAgICAgOiBtX29ic2VydmVySUQoRGlzcGxheUxpbmtPYnNlcnZlcklE
OjpnZW5lcmF0ZSgpKQpAQCAtOTYsNiArOTcsOSBAQCBib29sIE1vbWVudHVtRXZlbnREaXNwYXRj
aGVyOjpoYW5kbGVXaGVlbEV2ZW50KFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJZGVudAog
ICAgICAgICAgICAgbV9sYXN0QWN0aXZlUGhhc2VEZWx0YSA9ICpsYXN0QWN0aXZlUGhhc2VEZWx0
YTsKICAgICB9CiAKKyAgICBpZiAoZXZlbnQucGhhc2UoKSA9PSBXZWJXaGVlbEV2ZW50OjpQaGFz
ZUVuZGVkKQorICAgICAgICBtX2xhc3RFbmRlZEV2ZW50VGltZXN0YW1wID0gZXZlbnQuaW9ISURF
dmVudFRpbWVzdGFtcCgpOworCiAgICAgaWYgKGV2ZW50U2hvdWxkU3RhcnRTeW50aGV0aWNNb21l
bnR1bVBoYXNlKHBhZ2VJZGVudGlmaWVyLCBldmVudCkpCiAgICAgICAgIGRpZFN0YXJ0TW9tZW50
dW1QaGFzZShwYWdlSWRlbnRpZmllciwgZXZlbnQpOwogCkBAIC0xNTksMTEgKzE2MywxMyBAQCB2
b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaFN5bnRoZXRpY01vbWVudHVtRXZl
bnQoV2ViV2hlZWxFdmVudDo6UGhhcwogCiB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpk
aWRTdGFydE1vbWVudHVtUGhhc2UoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlkZW50aWZp
ZXIsIGNvbnN0IFdlYldoZWVsRXZlbnQmIGV2ZW50KQogeworICAgIGF1dG8gbW9tZW50dW1TdGFy
dEludGVydmFsID0gZXZlbnQuaW9ISURFdmVudFRpbWVzdGFtcCgpIC0gbV9sYXN0RW5kZWRFdmVu
dFRpbWVzdGFtcDsKKwogICAgIG1fY3VycmVudEdlc3R1cmUuYWN0aXZlID0gdHJ1ZTsKICAgICBt
X2N1cnJlbnRHZXN0dXJlLnBhZ2VJZGVudGlmaWVyID0gcGFnZUlkZW50aWZpZXI7CiAgICAgbV9j
dXJyZW50R2VzdHVyZS5pbml0aWF0aW5nRXZlbnQgPSBldmVudDsKICAgICBtX2N1cnJlbnRHZXN0
dXJlLmN1cnJlbnRPZmZzZXQgPSB7IH07Ci0gICAgbV9jdXJyZW50R2VzdHVyZS5zdGFydFRpbWUg
PSBXYWxsVGltZTo6bm93KCk7CisgICAgbV9jdXJyZW50R2VzdHVyZS5zdGFydFRpbWUgPSBNb25v
dG9uaWNUaW1lOjpub3coKSAtIG1vbWVudHVtU3RhcnRJbnRlcnZhbDsKICAgICBtX2N1cnJlbnRH
ZXN0dXJlLmFjY2VsZXJhdGlvbkN1cnZlID0gWyZdICgpIC0+IHN0ZDo6b3B0aW9uYWw8U2Nyb2xs
aW5nQWNjZWxlcmF0aW9uQ3VydmU+IHsKICAgICAgICAgYXV0byBjdXJ2ZUl0ZXJhdG9yID0gbV9h
Y2NlbGVyYXRpb25DdXJ2ZXMuZmluZChtX2N1cnJlbnRHZXN0dXJlLnBhZ2VJZGVudGlmaWVyKTsK
ICAgICAgICAgaWYgKGN1cnZlSXRlcmF0b3IgPT0gbV9hY2NlbGVyYXRpb25DdXJ2ZXMuZW5kKCkp
CkBAIC0xNzYsOSArMTgyLDEwIEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRpZFN0
YXJ0TW9tZW50dW1QaGFzZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlCiAgICAgLy8gRklY
TUU6IFRoZSBzeXN0ZW0gZmFsbHMgYmFjayBmcm9tIHRoZSB0YWJsZSB0byBqdXN0IGdlbmVyYXRp
bmcgZGVsdGFzCiAgICAgLy8gZGlyZWN0bHkgd2hlbiB0aGUgZnJhbWUgaW50ZXJ2YWwgaXMgd2l0
aGluIDIwZnBzIG9mIGlkZWFsQ3VydmVGcmFtZVJhdGU7CiAgICAgLy8gd2Ugc2hvdWxkIHBlcmhh
cHMgZG8gdGhlIHNhbWUuCi0gICAgYnVpbGRPZmZzZXRUYWJsZVdpdGhJbml0aWFsRGVsdGEoKmV2
ZW50LnJhd1BsYXRmb3JtRGVsdGEoKSk7CisgICAgZmxvYXQgaWRlYWxDdXJ2ZU11bHRpcGxpZXIg
PSBtX2N1cnJlbnRHZXN0dXJlLmFjY2VsZXJhdGlvbkN1cnZlLT5mcmFtZVJhdGUoKSAvIGlkZWFs
Q3VydmVGcmFtZVJhdGU7CisgICAgYnVpbGRPZmZzZXRUYWJsZVdpdGhJbml0aWFsRGVsdGEoKmV2
ZW50LnJhd1BsYXRmb3JtRGVsdGEoKSAqIGlkZWFsQ3VydmVNdWx0aXBsaWVyKTsKIAotICAgIGRp
c3BhdGNoU3ludGhldGljTW9tZW50dW1FdmVudChXZWJXaGVlbEV2ZW50OjpQaGFzZUJlZ2FuLCB7
IH0pOworICAgIGRpc3BhdGNoU3ludGhldGljTW9tZW50dW1FdmVudChXZWJXaGVlbEV2ZW50OjpQ
aGFzZUJlZ2FuLCBjb25zdW1lRGVsdGFGb3JDdXJyZW50VGltZSgpKTsKIH0KIAogdm9pZCBNb21l
bnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlkRW5kTW9tZW50dW1QaGFzZSgpCkBAIC0xODcsNyArMTk0
LDcgQEAgdm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlkRW5kTW9tZW50dW1QaGFzZSgp
CiAKICAgICBkaXNwYXRjaFN5bnRoZXRpY01vbWVudHVtRXZlbnQoV2ViV2hlZWxFdmVudDo6UGhh
c2VFbmRlZCwgeyB9KTsKIAotICAgIFJFTEVBU0VfTE9HKFNjcm9sbEFuaW1hdGlvbnMsICJNb21l
bnR1bUV2ZW50RGlzcGF0Y2hlciBzYXcgbW9tZW50dW0gZW5kIHBoYXNlIHdpdGggdG90YWwgb2Zm
c2V0ICUuMWYgJS4xZiwgZHVyYXRpb24gJWYgKGV2ZW50IG9mZnNldCB3b3VsZCBoYXZlIGJlZW4g
JS4xZiAlLjFmKSIsIG1fY3VycmVudEdlc3R1cmUuY3VycmVudE9mZnNldC53aWR0aCgpLCBtX2N1
cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQuaGVpZ2h0KCksIChXYWxsVGltZTo6bm93KCkgLSBt
X2N1cnJlbnRHZXN0dXJlLnN0YXJ0VGltZSkuc2Vjb25kcygpLCBtX2N1cnJlbnRHZXN0dXJlLmFj
Y3VtdWxhdGVkRXZlbnRPZmZzZXQud2lkdGgoKSwgbV9jdXJyZW50R2VzdHVyZS5hY2N1bXVsYXRl
ZEV2ZW50T2Zmc2V0LmhlaWdodCgpKTsKKyAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25z
LCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgc2F3IG1vbWVudHVtIGVuZCBwaGFzZSB3aXRoIHRv
dGFsIG9mZnNldCAlLjFmICUuMWYsIGR1cmF0aW9uICVmIChldmVudCBvZmZzZXQgd291bGQgaGF2
ZSBiZWVuICUuMWYgJS4xZikiLCBtX2N1cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQud2lkdGgo
KSwgbV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0LmhlaWdodCgpLCAoTW9ub3RvbmljVGlt
ZTo6bm93KCkgLSBtX2N1cnJlbnRHZXN0dXJlLnN0YXJ0VGltZSkuc2Vjb25kcygpLCBtX2N1cnJl
bnRHZXN0dXJlLmFjY3VtdWxhdGVkRXZlbnRPZmZzZXQud2lkdGgoKSwgbV9jdXJyZW50R2VzdHVy
ZS5hY2N1bXVsYXRlZEV2ZW50T2Zmc2V0LmhlaWdodCgpKTsKIAogICAgIHN0b3BEaXNwbGF5TGlu
aygpOwogCkBAIC0yNTEsMTUgKzI1OCw5IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6
OnBhZ2VTY3JlZW5EaWRDaGFuZ2UoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlECiAgICAg
ICAgIHN0YXJ0RGlzcGxheUxpbmsoKTsKIH0KIAotdm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hl
cjo6ZGlzcGxheVdhc1JlZnJlc2hlZChXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5
SUQsIGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlVcGRhdGUmKQorRmxvYXRTaXplIE1vbWVudHVtRXZl
bnREaXNwYXRjaGVyOjpjb25zdW1lRGVsdGFGb3JDdXJyZW50VGltZSgpCiB7Ci0gICAgaWYgKCFt
X2N1cnJlbnRHZXN0dXJlLmFjdGl2ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGRpc3Bs
YXlJRCAhPSB0aGlzLT5kaXNwbGF5SUQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBh
bmltYXRpb25UaW1lID0gV2FsbFRpbWU6Om5vdygpIC0gbV9jdXJyZW50R2VzdHVyZS5zdGFydFRp
bWU7CisgICAgYXV0byBhbmltYXRpb25UaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2N1
cnJlbnRHZXN0dXJlLnN0YXJ0VGltZTsKICAgICBhdXRvIGRlc2lyZWRPZmZzZXQgPSBvZmZzZXRB
dFRpbWUoYW5pbWF0aW9uVGltZSk7CiAKICNpZiAhVVNFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENI
RVJfUFJFTUFUVVJFX1JPVU5ESU5HKQpAQCAtMjY5LDkgKzI3MCwyMCBAQCB2b2lkIE1vbWVudHVt
RXZlbnREaXNwYXRjaGVyOjpkaXNwbGF5V2FzUmVmcmVzaGVkKFdlYkNvcmU6OlBsYXRmb3JtRGlz
cGxheUlEIGRpcwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBkZWx0YSA9IGRlc2lyZWRPZmZzZXQg
LSBtX2N1cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQ7CiAjZW5kaWYKIAotICAgIGRpc3BhdGNo
U3ludGhldGljTW9tZW50dW1FdmVudChXZWJXaGVlbEV2ZW50OjpQaGFzZUNoYW5nZWQsIC1kZWx0
YSk7Ci0KICAgICBtX2N1cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQgKz0gZGVsdGE7CisKKyAg
ICByZXR1cm4gLWRlbHRhOworfQorCit2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpkaXNw
bGF5V2FzUmVmcmVzaGVkKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgY29u
c3QgV2ViQ29yZTo6RGlzcGxheVVwZGF0ZSYpCit7CisgICAgaWYgKCFtX2N1cnJlbnRHZXN0dXJl
LmFjdGl2ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGRpc3BsYXlJRCAhPSB0aGlzLT5k
aXNwbGF5SUQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZGlzcGF0Y2hTeW50aGV0aWNNb21l
bnR1bUV2ZW50KFdlYldoZWVsRXZlbnQ6OlBoYXNlQ2hhbmdlZCwgY29uc3VtZURlbHRhRm9yQ3Vy
cmVudFRpbWUoKSk7CiB9CiAKIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRpZFJlY2Vp
dmVTY3JvbGxFdmVudFdpdGhJbnRlcnZhbChXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSwgU2Vjb25k
cyBmcmFtZUludGVydmFsKQpAQCAtMzQzLDcgKzM1NSw3IEBAIFdlYkNvcmU6OkZsb2F0U2l6ZSBN
b21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6b2Zmc2V0QXRUaW1lKFNlY29uZHMgdGltZSkKICAgICBp
ZiAoIW1fY3VycmVudEdlc3R1cmUub2Zmc2V0VGFibGUuc2l6ZSgpKQogICAgICAgICByZXR1cm4g
eyB9OwogCi0gICAgZmxvYXQgZnJhY3Rpb25hbEZyYW1lTnVtYmVyID0gdGltZS5zZWNvbmRzKCkg
LyBpZGVhbEN1cnZlRnJhbWVSYXRlLnNlY29uZHMoKTsKKyAgICBmbG9hdCBmcmFjdGlvbmFsRnJh
bWVOdW1iZXIgPSB0aW1lLnNlY29uZHMoKSAvIGlkZWFsQ3VydmVGcmFtZUludGVydmFsLnNlY29u
ZHMoKTsKICAgICB1bnNpZ25lZCBsb25nIGxvd2VyRnJhbWVOdW1iZXIgPSBzdGQ6Om1pbjx1bnNp
Z25lZCBsb25nPihtX2N1cnJlbnRHZXN0dXJlLm9mZnNldFRhYmxlLnNpemUoKSAtIDEsIGZsb29y
KGZyYWN0aW9uYWxGcmFtZU51bWJlcikpOwogICAgIHVuc2lnbmVkIGxvbmcgdXBwZXJGcmFtZU51
bWJlciA9IHN0ZDo6bWluPHVuc2lnbmVkIGxvbmc+KG1fY3VycmVudEdlc3R1cmUub2Zmc2V0VGFi
bGUuc2l6ZSgpIC0gMSwgbG93ZXJGcmFtZU51bWJlciArIDEpOwogICAgIGZsb2F0IGFtb3VudCA9
IGZyYWN0aW9uYWxGcmFtZU51bWJlciAtIGxvd2VyRnJhbWVOdW1iZXI7CkBAIC0zNzksNyArMzkx
LDcgQEAgc3RkOjpwYWlyPFdlYkNvcmU6OkZsb2F0U2l6ZSwgV2ViQ29yZTo6RmxvYXRTaXplPiBN
b21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6Y29tcHUKIHsKICAgICBXZWJDb3JlOjpGbG9hdFNpemUg
dW5hY2NlbGVyYXRlZERlbHRhID0gY3VycmVudFVuYWNjZWxlcmF0ZWREZWx0YTsKIAotICAgIGZs
b2F0IGRlY2F5UmF0ZSA9IG1vbWVudHVtRGVjYXlSYXRlKHVuYWNjZWxlcmF0ZWREZWx0YSwgaWRl
YWxDdXJ2ZUZyYW1lUmF0ZSk7CisgICAgZmxvYXQgZGVjYXlSYXRlID0gbW9tZW50dW1EZWNheVJh
dGUodW5hY2NlbGVyYXRlZERlbHRhLCBpZGVhbEN1cnZlRnJhbWVJbnRlcnZhbCk7CiAgICAgdW5h
Y2NlbGVyYXRlZERlbHRhLnNjYWxlKGRlY2F5UmF0ZSk7CiAKICAgICBhdXRvIHF1YW50aXplZFVu
YWNjZWxlcmF0ZWREZWx0YSA9IHVuYWNjZWxlcmF0ZWREZWx0YTsKQEAgLTQwMyw3ICs0MTUsNyBA
QCBzdGQ6OnBhaXI8V2ViQ29yZTo6RmxvYXRTaXplLCBXZWJDb3JlOjpGbG9hdFNpemU+IE1vbWVu
dHVtRXZlbnREaXNwYXRjaGVyOjpjb21wdQogI2VuZGlmCiAKICAgICAvLyBUaGUgZGVsdGEgcXVl
dWUgb3BlcmF0ZXMgb24gcHJlLWFjY2VsZXJhdGlvbiBkZWx0YXMsIHNvIGluc2VydCB0aGUgbmV3
IGV2ZW50ICpiZWZvcmUqIGFjY2VsZXJhdGluZy4KLSAgICBkaWRSZWNlaXZlU2Nyb2xsRXZlbnRX
aXRoSW50ZXJ2YWwocXVhbnRpemVkVW5hY2NlbGVyYXRlZERlbHRhLCBpZGVhbEN1cnZlRnJhbWVS
YXRlKTsKKyAgICBkaWRSZWNlaXZlU2Nyb2xsRXZlbnRXaXRoSW50ZXJ2YWwocXVhbnRpemVkVW5h
Y2NlbGVyYXRlZERlbHRhLCBpZGVhbEN1cnZlRnJhbWVJbnRlcnZhbCk7CiAKICAgICBhdXRvIGFj
Y2VsZXJhdGVBeGlzID0gWyZdIChIaXN0b3JpY2FsRGVsdGFzJiBkZWx0YXMsIGZsb2F0IHZhbHVl
KSB7CiAgICAgICAgIGZsb2F0IHRvdGFsRGVsdGEgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmgKaW5k
ZXggOWViODg4ZGY1YjNlZjRlODRlOWE0OTc0NWVjYTZjZGNmNmNiZjJhMC4uZGNhZjY5NjYzZmQ5
YjkzMWVmZDFjOTYwMDk3ZTc2YmFlMmFlOTA4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5oCkBAIC04
MCw2ICs4MCw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5p
dGlhbERlbHRhKFdlYkNvcmU6OkZsb2F0U2l6ZSk7CiAKKyAgICAvLyBPbmNlIGNvbnN1bWVkLCB0
aGlzIGRlbHRhICptdXN0KiBiZSBkaXNwYXRjaGVkIGluIGFuIGV2ZW50LgorICAgIEZsb2F0U2l6
ZSBjb25zdW1lRGVsdGFGb3JDdXJyZW50VGltZSgpOworCiAgICAgV2ViQ29yZTo6RmxvYXRTaXpl
IG9mZnNldEF0VGltZShTZWNvbmRzKTsKICAgICBzdGQ6OnBhaXI8V2ViQ29yZTo6RmxvYXRTaXpl
LCBXZWJDb3JlOjpGbG9hdFNpemU+IGNvbXB1dGVOZXh0RGVsdGEoV2ViQ29yZTo6RmxvYXRTaXpl
IGN1cnJlbnRVbmFjY2VsZXJhdGVkRGVsdGEpOwogCkBAIC05Niw2ICs5OSw3IEBAIHByaXZhdGU6
CiAgICAgSGlzdG9yaWNhbERlbHRhcyBtX2RlbHRhSGlzdG9yeVk7CiAKICAgICBzdGQ6Om9wdGlv
bmFsPFdhbGxUaW1lPiBtX2xhc3RTY3JvbGxUaW1lc3RhbXA7CisgICAgV2FsbFRpbWUgbV9sYXN0
RW5kZWRFdmVudFRpbWVzdGFtcDsKICAgICBzdGQ6Om9wdGlvbmFsPFdlYldoZWVsRXZlbnQ+IG1f
bGFzdEluY29taW5nRXZlbnQ7CiAgICAgV2ViQ29yZTo6UmVjdEVkZ2VzPGJvb2w+IG1fbGFzdFJ1
YmJlckJhbmRhYmxlRWRnZXM7CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECkBAIC0xMTAsNyAr
MTE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgc3RkOjpvcHRpb25hbDxXZWJXaGVlbEV2ZW50PiBp
bml0aWF0aW5nRXZlbnQ7CiAKICAgICAgICAgV2ViQ29yZTo6RmxvYXRTaXplIGN1cnJlbnRPZmZz
ZXQ7Ci0gICAgICAgIFdhbGxUaW1lIHN0YXJ0VGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBz
dGFydFRpbWU7CiAKICAgICAgICAgVmVjdG9yPFdlYkNvcmU6OkZsb2F0U2l6ZT4gb2Zmc2V0VGFi
bGU7CiAK
</data>
<flag name="commit-queue"
          id="471087"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445809</attachid>
            <date>2021-12-02 22:05:23 -0800</date>
            <delta_ts>2021-12-02 22:46:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233801-20211202220523.patch</filename>
            <type>text/plain</type>
            <size>22365</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAzYjc2NGFkYTJhMzdiY2Q4
ZTdkMWVmMzY5NzM2MWY1YzAwZWM2YzguLjc0ZTBmZjcyMjI3ODlkZGQ2N2U2YjcxM2U1NjgzMGZl
YmU2ZjgzODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMjEtMTItMDIgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW9tZW50dW1FdmVudERp
c3BhdGNoZXIgY3VydmUgc29tZXRpbWVzIGRvZXNuJ3QgbWF0Y2ggdGhlIHN5c3RlbSBjdXJ2ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODAxCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTg3MDI4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGhyZWUgc21hbGwgY2hhbmdlcyB0byBnZXQgdXMgY2xv
c2VyIHRvIHRoZSBzeXN0ZW0gY3VydmU6CisKKyAgICAgICAgMSkgRmV0Y2ggdGhlIG1vbWVudHVt
IGV2ZW50IGRpc3BhdGNoIGludGVydmFsIGZyb20gdGhlIHN5c3RlbSwgYW5kIHVzZQorICAgICAg
ICBpdCB0byBzY2FsZSB0aGUgbW9tZW50dW0gc3RhcnQgZXZlbnQncyBkZWx0YSAod2hpY2ggd2Ug
dXNlIGFzIG91cgorICAgICAgICBpbml0aWFsIHZlbG9jaXR5KSBpbnRvIHRoZSAiaWRlYWwiIGN1
cnZlJ3MgZnJhbWUgcmF0ZSAod2hpY2ggaXMgYWx3YXlzCisgICAgICAgIDYwZnBzIHJlZ2FyZGxl
c3MpLgorCisgICAgICAgIDIpIEJhY2stZGF0ZSB0aGUgYW5pbWF0aW9uIHN0YXJ0IHRpbWUgdG8g
dGhlIGZpbmdlcnMtZG93biBwaGFzZSBlbmQgZXZlbnQsCisgICAgICAgIHNvIHRoYXQgdGhlIG1v
bWVudHVtIHN0YXJ0IHBoYXNlIGhhcyBhIGRlbHRhLiBUaGlzIHNlZW1zIHRvIG1hdGNoIHdoYXQK
KyAgICAgICAgdGhlIHN5c3RlbSBkb2VzLgorCisgICAgICAgIDMpIFN3aXRjaCB0byBNb25vdG9u
aWNUaW1lIGZvciB0aGUgYW5pbWF0aW9uIHRpbWUsIHNpbmNlIGl0IGRvZXNuJ3QgbmVlZAorICAg
ICAgICB0byBiZSBpbiB0aGUgc2FtZSB0aW1lYmFzZSBhcyBldmVudHMgKHdoaWNoIGFyZSBvZGRs
eSBpbiBXYWxsVGltZSksIGFuZAorICAgICAgICBjZXJ0YWlubHkgc2hvdWxkIGJlIG1vbm90b25p
Yy4KKworICAgICAgICAqIFNoYXJlZC9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpTY3JvbGxpbmdBY2Nl
bGVyYXRpb25DdXJ2ZSk6CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1
cnZlOjppbnRlcnBvbGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlv
bkN1cnZlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdBY2NlbGVy
YXRpb25DdXJ2ZTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6b3BlcmF0b3I8PCk6CisgICAg
ICAgICogU2hhcmVkL1Njcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlLmg6CisgICAgICAgIChXZWJL
aXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpmcmFtZVJhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAg
ICAgICogU2hhcmVkL21hYy9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6ZnJvbUlPSElEQ3VydmUpOgorICAgICAgICAoV2ViS2l0Ojpmcm9tSU9ISURD
dXJ2ZUFycmF5V2l0aEFjY2VsZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OmZyb21JT0hJRERl
dmljZSk6CisgICAgICAgIEZldGNoIGFuZCBwcm9wYWdhdGUgdGhlIGRpc3BhdGNoIGZyYW1lIHJh
dGUuIFRoaXMgaXNuJ3QgKnJlYWxseSogYQorICAgICAgICBTY3JvbGxpbmdBY2NlbGVyYXRpb25D
dXJ2ZSBwcm9wZXJ0eSwgYnV0IG5laXRoZXIgaXMgYHJlc29sdXRpb25gOworICAgICAgICB0aGlz
IGlzIGp1c3QgY3VycmVudGx5IHRoZSBvbmx5IHBsYWNlIHdlIGxvb2sgdXAgSElEIHByb3BlcnRp
ZXMKKyAgICAgICAgYW5kIHB1c2ggdGhlbSB0byB0aGUgV2ViIENvbnRlbnQgcHJvY2Vzczsgc29t
ZSByZS1hcmNoaXRlY3R1cmUgaXMKKyAgICAgICAgd2FycmFudGVkIGhlcmUgaW4gdGhlIGZ1dHVy
ZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpoYW5kbGVX
aGVlbEV2ZW50KToKKyAgICAgICAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBmaW5nZXJzLWRvd24g
cGhhc2UgZW5kZWQgZXZlbnQgdGltZXN0YW1wLgorCisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVt
RXZlbnREaXNwYXRjaGVyOjpkaWRTdGFydE1vbWVudHVtUGhhc2UpOgorICAgICAgICBCYWNrZGF0
ZSB0aGUgc3RhcnQgdGltZSBzbyB0aGF0IHRoZSBmaXJzdCBldmVudCBoYXMgdGhlIGFwcHJvcHJp
YXRlIGRlbHRhLgorICAgICAgICBEaXZpZGUgb3V0IHRoZSBkaXNwYXRjaCBmcmFtZSByYXRlIHNv
IHRoYXQgdGhlIGluaXRpYWwgdmVsb2NpdHkgaXMKKyAgICAgICAgYXMgaWYgdGhlIGN1cnZlIHdl
cmUgcnVubmluZyBhdCA2MGZwcyAoc2luY2Ugd2UgKndpbGwqIHJ1biBpdCBhdCA2MGZwcyBhbmQg
aW50ZXJwb2xhdGUpLgorCisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVtRXZlbnREaXNwYXRjaGVy
OjpkaWRFbmRNb21lbnR1bVBoYXNlKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERp
c3BhdGNoZXI6OmNvbnN1bWVEZWx0YUZvclRpbWUpOgorICAgICAgICAoV2ViS2l0OjpNb21lbnR1
bUV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGxheVdhc1JlZnJlc2hlZCk6CisgICAgICAgIEZhY3RvciB0
aGUgY29uc3VtZS1hLWRlbHRhLWZyb20tdGhlLWlkZWFsLWN1cnZlIGNvZGUgb3V0IGZyb20gZGlz
cGxheVdhc1JlZnJlc2hlZAorICAgICAgICBzbyB3ZSBjYW4gdXNlIGl0IGluIHRoZSBzdGFydCBw
aGFzZSB0b28uCisKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6Om9m
ZnNldEF0VGltZSk6CisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpj
b21wdXRlTmV4dERlbHRhKToKKyAgICAgICAgUmVuYW1lIGlkZWFsQ3VydmVGcmFtZVJhdGUtPmlk
ZWFsQ3VydmVGcmFtZUludGVydmFsIGZvciBhY2N1cmFjeS4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5oOgorCiAyMDIxLTEyLTAyICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnRpbmcgcjI4NjQzNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Nj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Njcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlLmNwcAppbmRleCAxNzJkZWM0M2MxYjdmNTVhNjkxYWRiYWU5
NzNjYmQ5MDY5ODAwYjYwLi4xYTI3MGY5NDkzZDAyYzQxYWMzZjMyM2E5NjA1MWNmNWM0NmY1YTU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TY3JvbGxpbmdBY2NlbGVyYXRpb25D
dXJ2ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2Nyb2xsaW5nQWNjZWxlcmF0aW9u
Q3VydmUuY3BwCkBAIC0zNCw4ICszNCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1TY3Jv
bGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUoZmxvYXQg
Z2FpbkxpbmVhciwgZmxvYXQgZ2FpblBhcmFib2xpYywgZmxvYXQgZ2FpbkN1YmljLCBmbG9hdCBn
YWluUXVhcnRpYywgZmxvYXQgdGFuZ2VudFNwZWVkTGluZWFyLCBmbG9hdCB0YW5nZW50U3BlZWRQ
YXJhYm9saWNSb290LCBmbG9hdCByZXNvbHV0aW9uKQotICAgIDogbV9wYXJhbWV0ZXJzIHsgZ2Fp
bkxpbmVhciwgZ2FpblBhcmFib2xpYywgZ2FpbkN1YmljLCBnYWluUXVhcnRpYywgdGFuZ2VudFNw
ZWVkTGluZWFyLCB0YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCByZXNvbHV0aW9uIH0KK1Njcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZShmbG9hdCBn
YWluTGluZWFyLCBmbG9hdCBnYWluUGFyYWJvbGljLCBmbG9hdCBnYWluQ3ViaWMsIGZsb2F0IGdh
aW5RdWFydGljLCBmbG9hdCB0YW5nZW50U3BlZWRMaW5lYXIsIGZsb2F0IHRhbmdlbnRTcGVlZFBh
cmFib2xpY1Jvb3QsIGZsb2F0IHJlc29sdXRpb24sIGZsb2F0IGZyYW1lUmF0ZSkKKyAgICA6IG1f
cGFyYW1ldGVycyB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9saWMsIGdhaW5DdWJpYywgZ2FpblF1
YXJ0aWMsIHRhbmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCwgcmVz
b2x1dGlvbiwgZnJhbWVSYXRlIH0KIHsKIH0KIApAQCAtNTMsNyArNTMsNyBAQCBTY3JvbGxpbmdB
Y2NlbGVyYXRpb25DdXJ2ZSBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6aW50ZXJwb2xhdGUo
Y29uc3QgU2Nyb2xsaQogICAgIGF1dG8gdGFuZ2VudFNwZWVkTGluZWFyID0gaW50ZXJwb2xhdGUo
ZnJvbS5tX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkTGluZWFyLCB0by5tX3BhcmFtZXRlcnMudGFu
Z2VudFNwZWVkTGluZWFyKTsKICAgICBhdXRvIHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QgPSBp
bnRlcnBvbGF0ZShmcm9tLm1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCB0
by5tX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCk7CiAKLSAgICByZXR1cm4g
eyBnYWluTGluZWFyLCBnYWluUGFyYWJvbGljLCBnYWluQ3ViaWMsIGdhaW5RdWFydGljLCB0YW5n
ZW50U3BlZWRMaW5lYXIsIHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QsIGZyb20ubV9wYXJhbWV0
ZXJzLnJlc29sdXRpb24gfTsKKyAgICByZXR1cm4geyBnYWluTGluZWFyLCBnYWluUGFyYWJvbGlj
LCBnYWluQ3ViaWMsIGdhaW5RdWFydGljLCB0YW5nZW50U3BlZWRMaW5lYXIsIHRhbmdlbnRTcGVl
ZFBhcmFib2xpY1Jvb3QsIGZyb20ubV9wYXJhbWV0ZXJzLnJlc29sdXRpb24sIGZyb20ubV9wYXJh
bWV0ZXJzLmZyYW1lUmF0ZSB9OwogfQogCiB2b2lkIFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZl
Ojpjb21wdXRlSW50ZXJtZWRpYXRlVmFsdWVzSWZOZWVkZWQoKQpAQCAtMTI3LDYgKzEyNyw3IEBA
IHZvaWQgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU6OmVuY29kZShJUEM6OkVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkUGFy
YWJvbGljUm9vdDsKIAogICAgIGVuY29kZXIgPDwgbV9wYXJhbWV0ZXJzLnJlc29sdXRpb247Cisg
ICAgZW5jb2RlciA8PCBtX3BhcmFtZXRlcnMuZnJhbWVSYXRlOwogfQogCiBzdGQ6Om9wdGlvbmFs
PFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlPiBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6
ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikKQEAgLTE1NCw4ICsxNTUsMTEgQEAgc3RkOjpv
cHRpb25hbDxTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZT4gU2Nyb2xsaW5nQWNjZWxlcmF0aW9u
Q3VydmU6OmRlY29kZShJUEMKICAgICBmbG9hdCByZXNvbHV0aW9uOwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzb2x1dGlvbikpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAg
ZmxvYXQgZnJhbWVSYXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZnJhbWVSYXRlKSkKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgZ2FpbkxpbmVhciwg
Z2FpblBhcmFib2xpYywgZ2FpbkN1YmljLCBnYWluUXVhcnRpYywgdGFuZ2VudFNwZWVkTGluZWFy
LCB0YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCByZXNvbHV0aW9uIH0gfTsKKyAgICByZXR1cm4g
eyB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9saWMsIGdhaW5DdWJpYywgZ2FpblF1YXJ0aWMsIHRh
bmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCwgcmVzb2x1dGlvbiwg
ZnJhbWVSYXRlIH0gfTsKIH0KIAogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0
cywgY29uc3QgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUmIGN1cnZlKQpAQCAtMTcxLDYgKzE3
NSw3IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFNjcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlJiBjdXJ2ZSkKICAgICB0cy5kdW1wUHJvcGVydHkoInRhbmdl
bnRTcGVlZExpbmVhciIsIGN1cnZlLm1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRMaW5lYXIpOwog
ICAgIHRzLmR1bXBQcm9wZXJ0eSgidGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCIsIGN1cnZlLm1f
cGFyYW1ldGVycy50YW5nZW50U3BlZWRQYXJhYm9saWNSb290KTsKICAgICB0cy5kdW1wUHJvcGVy
dHkoInJlc29sdXRpb24iLCBjdXJ2ZS5tX3BhcmFtZXRlcnMucmVzb2x1dGlvbik7CisgICAgdHMu
ZHVtcFByb3BlcnR5KCJmcmFtZVJhdGUiLCBjdXJ2ZS5tX3BhcmFtZXRlcnMuZnJhbWVSYXRlKTsK
IAogICAgIHJldHVybiB0czsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Nj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TY3JvbGxp
bmdBY2NlbGVyYXRpb25DdXJ2ZS5oCmluZGV4IDI5MjU2OTZlNDFiMWQ2MDUxM2Q3NTBlYzg2MDgz
NWYyZGRmZmYxYjUuLjIwYTA1ZThjY2MyNzI3YTNkZTAxYzU1M2Q0YmEyNjBiOTMwZTZkODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Njcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZl
LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUu
aApAQCAtNDEsMTMgKzQxLDE0IEBAIGNsYXNzIE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiAKIGNsYXNz
IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlIHsKIHB1YmxpYzoKLSAgICBTY3JvbGxpbmdBY2Nl
bGVyYXRpb25DdXJ2ZShmbG9hdCBnYWluTGluZWFyLCBmbG9hdCBnYWluUGFyYWJvbGljLCBmbG9h
dCBnYWluQ3ViaWMsIGZsb2F0IGdhaW5RdWFydGljLCBmbG9hdCB0YW5nZW50U3BlZWRMaW5lYXIs
IGZsb2F0IHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QsIGZsb2F0IHJlc29sdXRpb24pOworICAg
IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlKGZsb2F0IGdhaW5MaW5lYXIsIGZsb2F0IGdhaW5Q
YXJhYm9saWMsIGZsb2F0IGdhaW5DdWJpYywgZmxvYXQgZ2FpblF1YXJ0aWMsIGZsb2F0IHRhbmdl
bnRTcGVlZExpbmVhciwgZmxvYXQgdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCwgZmxvYXQgcmVz
b2x1dGlvbiwgZmxvYXQgZnJhbWVSYXRlKTsKIAogICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFNj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlPiBmcm9tTmF0aXZlV2hlZWxFdmVudChjb25zdCBOYXRp
dmVXZWJXaGVlbEV2ZW50Jik7CiAKICAgICBzdGF0aWMgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3Vy
dmUgaW50ZXJwb2xhdGUoY29uc3QgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUmIGZyb20sIGNv
bnN0IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlJiB0bywgZmxvYXQgYW1vdW50KTsKIAogICAg
IGZsb2F0IGFjY2VsZXJhdGlvbkZhY3RvcihmbG9hdCk7CisgICAgZmxvYXQgZnJhbWVSYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmZyYW1lUmF0ZTsgfQogCiAgICAgdm9pZCBlbmNv
ZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2Nyb2xs
aW5nQWNjZWxlcmF0aW9uQ3VydmU+IGRlY29kZShJUEM6OkRlY29kZXImKTsKQEAgLTYwLDcgKzYx
LDggQEAgcHVibGljOgogICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLmdhaW5RdWFydGljID09
IG90aGVyLm1fcGFyYW1ldGVycy5nYWluUXVhcnRpYwogICAgICAgICAgICAgJiYgbV9wYXJhbWV0
ZXJzLnRhbmdlbnRTcGVlZExpbmVhciA9PSBvdGhlci5tX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVk
TGluZWFyCiAgICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkUGFyYWJvbGlj
Um9vdCA9PSBvdGhlci5tX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdAotICAg
ICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLnJlc29sdXRpb24gPT0gb3RoZXIubV9wYXJhbWV0ZXJz
LnJlc29sdXRpb247CisgICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMucmVzb2x1dGlvbiA9PSBv
dGhlci5tX3BhcmFtZXRlcnMucmVzb2x1dGlvbgorICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJz
LmZyYW1lUmF0ZSA9PSBvdGhlci5tX3BhcmFtZXRlcnMuZnJhbWVSYXRlOwogICAgIH0KIAogICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZSYgb3RoZXIp
IGNvbnN0IHsgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CkBAIC03OSw3ICs4MSwxMSBAQCBw
cml2YXRlOgogICAgICAgICBmbG9hdCBnYWluUXVhcnRpYyB7IDAgfTsKICAgICAgICAgZmxvYXQg
dGFuZ2VudFNwZWVkTGluZWFyIHsgMCB9OwogICAgICAgICBmbG9hdCB0YW5nZW50U3BlZWRQYXJh
Ym9saWNSb290IHsgMCB9OworCisgICAgICAgIC8vIEZJWE1FOiBSZXNvbHV0aW9uIGFuZCBmcmFt
ZSByYXRlIGFyZSBub3QgdGVjaG5pY2FsbHkgcHJvcGVydGllcworICAgICAgICAvLyBvZiB0aGUg
Y3VydmUsIGp1c3QgcmVxdWlyZWQgdG8gdXNlIGl0OyB0aGV5IHNob3VsZCBiZSBwbHVtYmVkIHNl
cGFyYXRlbHkuCiAgICAgICAgIGZsb2F0IHJlc29sdXRpb24geyAwIH07CisgICAgICAgIGZsb2F0
IGZyYW1lUmF0ZSB7IDAgfTsKICAgICB9IG1fcGFyYW1ldGVyczsKIAogICAgIHN0cnVjdCBDb21w
dXRlZEludGVybWVkaWF0ZVZhbHVlcyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9tYWMvU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmVNYWMubW0KaW5kZXggZDEwYzJlMTJl
MGVjNGY2NTE0NjE3YmMxNWQ0MmFhM2YxM2RhMGNmZi4uZjZkMGY1Njc2ZTg2NjI4NmFlMWRjZWIx
Mjc5NGE3YjgwZWY4MmZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1Nj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZU1hYy5tbQpAQCAtMzksMTIgKzM5LDE5IEBA
IHN0YXRpYyBmbG9hdCBmcm9tRml4ZWRQb2ludChmbG9hdCB2YWx1ZSkKICAgICByZXR1cm4gdmFs
dWUgLyA2NTUzNi4wZjsKIH0KIAorc3RhdGljIGZsb2F0IGZyb21DRk51bWJlcihDRk51bWJlclJl
ZiBudW1iZXIpCit7CisgICAgZmxvYXQgdmFsdWU7CisgICAgQ0ZOdW1iZXJHZXRWYWx1ZShudW1i
ZXIsIGtDRk51bWJlckZsb2F0VHlwZSwgJnZhbHVlKTsKKyAgICByZXR1cm4gdmFsdWU7Cit9CisK
IHN0YXRpYyBmbG9hdCByZWFkRml4ZWRQb2ludFBhcmFtZXRlcihOU0RpY3Rpb25hcnkgKnBhcmFt
ZXRlcnMsIGNvbnN0IGNoYXIgKmtleSkKIHsKICAgICByZXR1cm4gZnJvbUZpeGVkUG9pbnQoW1tw
YXJhbWV0ZXJzIG9iamVjdEZvcktleTpAKGtleSldIGZsb2F0VmFsdWVdKTsKIH0KIAotc3RhdGlj
IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlIGZyb21JT0hJREN1cnZlKE5TRGljdGlvbmFyeSAq
cGFyYW1ldGVycywgZmxvYXQgcmVzb2x1dGlvbikKK3N0YXRpYyBTY3JvbGxpbmdBY2NlbGVyYXRp
b25DdXJ2ZSBmcm9tSU9ISURDdXJ2ZShOU0RpY3Rpb25hcnkgKnBhcmFtZXRlcnMsIGZsb2F0IHJl
c29sdXRpb24sIGZsb2F0IGZyYW1lUmF0ZSkKIHsKICAgICBhdXRvIGdhaW5MaW5lYXIgPSByZWFk
Rml4ZWRQb2ludFBhcmFtZXRlcihwYXJhbWV0ZXJzLCBrSElEQWNjZWxHYWluTGluZWFyS2V5KTsK
ICAgICBhdXRvIGdhaW5QYXJhYm9saWMgPSByZWFkRml4ZWRQb2ludFBhcmFtZXRlcihwYXJhbWV0
ZXJzLCBrSElEQWNjZWxHYWluUGFyYWJvbGljS2V5KTsKQEAgLTU0LDE3ICs2MSwxNyBAQCBzdGF0
aWMgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUgZnJvbUlPSElEQ3VydmUoTlNEaWN0aW9uYXJ5
ICpwYXJhbWV0ZXJzLCBmbG9hdAogICAgIGF1dG8gdGFuZ2VudFNwZWVkTGluZWFyID0gcmVhZEZp
eGVkUG9pbnRQYXJhbWV0ZXIocGFyYW1ldGVycywga0hJREFjY2VsVGFuZ2VudFNwZWVkTGluZWFy
S2V5KTsKICAgICBhdXRvIHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QgPSByZWFkRml4ZWRQb2lu
dFBhcmFtZXRlcihwYXJhbWV0ZXJzLCBrSElEQWNjZWxUYW5nZW50U3BlZWRQYXJhYm9saWNSb290
S2V5KTsKIAotICAgIHJldHVybiB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9saWMsIGdhaW5DdWJp
YywgZ2FpblF1YXJ0aWMsIHRhbmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNwZWVkUGFyYWJvbGlj
Um9vdCwgcmVzb2x1dGlvbiB9OworICAgIHJldHVybiB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9s
aWMsIGdhaW5DdWJpYywgZ2FpblF1YXJ0aWMsIHRhbmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNw
ZWVkUGFyYWJvbGljUm9vdCwgcmVzb2x1dGlvbiwgZnJhbWVSYXRlIH07CiB9CiAKLXN0YXRpYyBT
Y3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZSBmcm9tSU9ISURDdXJ2ZUFycmF5V2l0aEFjY2VsZXJh
dGlvbihOU0FycmF5PE5TRGljdGlvbmFyeSAqPiAqaW9ISURDdXJ2ZXMsIGZsb2F0IGRlc2lyZWRB
Y2NlbGVyYXRpb24sIGZsb2F0IHJlc29sdXRpb24pCitzdGF0aWMgU2Nyb2xsaW5nQWNjZWxlcmF0
aW9uQ3VydmUgZnJvbUlPSElEQ3VydmVBcnJheVdpdGhBY2NlbGVyYXRpb24oTlNBcnJheTxOU0Rp
Y3Rpb25hcnkgKj4gKmlvSElEQ3VydmVzLCBmbG9hdCBkZXNpcmVkQWNjZWxlcmF0aW9uLCBmbG9h
dCByZXNvbHV0aW9uLCBmbG9hdCBmcmFtZVJhdGUpCiB7CiAgICAgX19ibG9jayBzaXplX3QgY3Vy
cmVudEluZGV4ID0gMDsKICAgICBfX2Jsb2NrIFZlY3RvcjxzdGQ6OnBhaXI8ZmxvYXQsIFNjcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlPj4gY3VydmVzOwogCiAgICAgW2lvSElEQ3VydmVzIGVudW1l
cmF0ZU9iamVjdHNVc2luZ0Jsb2NrOl4oTlNEaWN0aW9uYXJ5ICpwYXJhbWV0ZXJzLCBOU1VJbnRl
Z2VyIGksIEJPT0wgKikgewogICAgICAgICBhdXRvIGN1cnZlQWNjZWxlcmF0aW9uID0gcmVhZEZp
eGVkUG9pbnRQYXJhbWV0ZXIocGFyYW1ldGVycywga0hJREFjY2VsSW5kZXhLZXkpOwotICAgICAg
ICBhdXRvIGN1cnZlID0gZnJvbUlPSElEQ3VydmUocGFyYW1ldGVycywgcmVzb2x1dGlvbik7Cisg
ICAgICAgIGF1dG8gY3VydmUgPSBmcm9tSU9ISURDdXJ2ZShwYXJhbWV0ZXJzLCByZXNvbHV0aW9u
LCBmcmFtZVJhdGUpOwogCiAgICAgICAgIGlmIChkZXNpcmVkQWNjZWxlcmF0aW9uID4gY3VydmVB
Y2NlbGVyYXRpb24pCiAgICAgICAgICAgICBjdXJyZW50SW5kZXggPSBpOwpAQCAtMTE2LDE5ICsx
MjMsMjYgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU+
IGZyb21JT0hJRERldmljZShJT0hJREV2ZW50U2VuZGUKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKICAgICB9CiAKLSAgICBhdXRvIHNjcm9sbEFjY2VsZXJhdGlvbiA9IGFkb3B0Q0YoZHlu
YW1pY19jZl9jYXN0PENGTnVtYmVyUmVmPihJT0hJRFNlcnZpY2VDbGllbnRDb3B5UHJvcGVydHko
aW9ISURTZXJ2aWNlLmdldCgpLCBzY3JvbGxBY2NlbGVyYXRpb25UeXBlLmdldCgpKSkpOwotICAg
IGlmICghc2Nyb2xsQWNjZWxlcmF0aW9uKSB7CisgICAgYXV0byBzY3JvbGxBY2NlbGVyYXRpb25D
RiA9IGFkb3B0Q0YoZHluYW1pY19jZl9jYXN0PENGTnVtYmVyUmVmPihJT0hJRFNlcnZpY2VDbGll
bnRDb3B5UHJvcGVydHkoaW9ISURTZXJ2aWNlLmdldCgpLCBzY3JvbGxBY2NlbGVyYXRpb25UeXBl
LmdldCgpKSkpOworICAgIGlmICghc2Nyb2xsQWNjZWxlcmF0aW9uQ0YpIHsKICAgICAgICAgUkVM
RUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywgIlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpm
cm9tSU9ISUREZXZpY2UgZmFpbGVkIHRvIGxvb2sgdXAgYWNjZWxlcmF0aW9uIHZhbHVlIik7CiAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQorICAgIGF1dG8gc2Nyb2xsQWNjZWxl
cmF0aW9uID0gZnJvbUZpeGVkUG9pbnQoZnJvbUNGTnVtYmVyKHNjcm9sbEFjY2VsZXJhdGlvbkNG
LmdldCgpKSk7CiAKLSAgICBhdXRvIHJlc29sdXRpb24gPSBhZG9wdENGKGR5bmFtaWNfY2ZfY2Fz
dDxDRk51bWJlclJlZj4oSU9ISURTZXJ2aWNlQ2xpZW50Q29weVByb3BlcnR5KGlvSElEU2Vydmlj
ZS5nZXQoKSwgQ0ZTVFIoa0lPSElEU2Nyb2xsUmVzb2x1dGlvbktleSkpKSk7Ci0gICAgaWYgKCFy
ZXNvbHV0aW9uKSB7CisgICAgYXV0byByZXNvbHV0aW9uQ0YgPSBhZG9wdENGKGR5bmFtaWNfY2Zf
Y2FzdDxDRk51bWJlclJlZj4oSU9ISURTZXJ2aWNlQ2xpZW50Q29weVByb3BlcnR5KGlvSElEU2Vy
dmljZS5nZXQoKSwgQ0ZTVFIoa0lPSElEU2Nyb2xsUmVzb2x1dGlvbktleSkpKSk7CisgICAgaWYg
KCFyZXNvbHV0aW9uQ0YpIHsKICAgICAgICAgUkVMRUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywg
IlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpmcm9tSU9ISUREZXZpY2UgZmFpbGVkIHRvIGxv
b2sgdXAgcmVzb2x1dGlvbiIpOwogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0K
KyAgICBhdXRvIHJlc29sdXRpb24gPSBmcm9tRml4ZWRQb2ludChbKE5TTnVtYmVyICopcmVzb2x1
dGlvbkNGLmdldCgpIGZsb2F0VmFsdWVdKTsKKworICAgIHN0YXRpYyBDRlN0cmluZ1JlZiBkaXNw
YXRjaEZyYW1lUmF0ZUtleSA9IENGU1RSKCJTY3JvbGxNb21lbnR1bURpc3BhdGNoUmF0ZSIpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgZmxvYXQgZGVmYXVsdERpc3BhdGNoRnJhbWVSYXRlID0gNjA7
CisgICAgYXV0byBmcmFtZVJhdGVDRiA9IGFkb3B0Q0YoZHluYW1pY19jZl9jYXN0PENGTnVtYmVy
UmVmPihJT0hJRFNlcnZpY2VDbGllbnRDb3B5UHJvcGVydHkoaW9ISURTZXJ2aWNlLmdldCgpLCBk
aXNwYXRjaEZyYW1lUmF0ZUtleSkpKTsKKyAgICBmbG9hdCBmcmFtZVJhdGUgPSBmcmFtZVJhdGVD
RiA/IGZyb21DRk51bWJlcihmcmFtZVJhdGVDRi5nZXQoKSkgOiBkZWZhdWx0RGlzcGF0Y2hGcmFt
ZVJhdGU7CiAKLSAgICByZXR1cm4gZnJvbUlPSElEQ3VydmVBcnJheVdpdGhBY2NlbGVyYXRpb24o
KE5TQXJyYXkgKiljdXJ2ZXMuZ2V0KCksIGZyb21GaXhlZFBvaW50KFsoTlNOdW1iZXIgKilzY3Jv
bGxBY2NlbGVyYXRpb24uZ2V0KCkgZmxvYXRWYWx1ZV0pLCBmcm9tRml4ZWRQb2ludChbKE5TTnVt
YmVyICopcmVzb2x1dGlvbi5nZXQoKSBmbG9hdFZhbHVlXSkpOworICAgIHJldHVybiBmcm9tSU9I
SURDdXJ2ZUFycmF5V2l0aEFjY2VsZXJhdGlvbigoTlNBcnJheSAqKWN1cnZlcy5nZXQoKSwgc2Ny
b2xsQWNjZWxlcmF0aW9uLCByZXNvbHV0aW9uLCBmcmFtZVJhdGUpOwogfQogCiBzdGQ6Om9wdGlv
bmFsPFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlPiBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2
ZTo6ZnJvbU5hdGl2ZVdoZWVsRXZlbnQoY29uc3QgTmF0aXZlV2ViV2hlZWxFdmVudCYgbmF0aXZl
V2ViV2hlZWxFdmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcAppbmRleCA3ZDYzYWFiMjMwYTc0
YzQ0MjE0NTUzOGIxYzFiZTVmZThhM2ZlZmVjLi5hYTJjM2QxOGU1NTI4OWFkZTdlNjM3ZGQxMjJk
NDM2NjE5Mjc0MDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwCkBAIC0zOSw3ICszOSw4IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3RleHByIFNlY29uZHMgZGVsdGFIaXN0
b3J5TWF4aW11bUFnZSA9IDUwMF9tczsKIHN0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBkZWx0YUhp
c3RvcnlNYXhpbXVtSW50ZXJ2YWwgPSAxNTBfbXM7Ci1zdGF0aWMgY29uc3RleHByIFNlY29uZHMg
aWRlYWxDdXJ2ZUZyYW1lUmF0ZSA9IDFfcyAvIDYwOworc3RhdGljIGNvbnN0ZXhwciBmbG9hdCBp
ZGVhbEN1cnZlRnJhbWVSYXRlID0gNjA7CitzdGF0aWMgY29uc3RleHByIFNlY29uZHMgaWRlYWxD
dXJ2ZUZyYW1lSW50ZXJ2YWwgPSAxX3MgLyBpZGVhbEN1cnZlRnJhbWVSYXRlOwogCiBNb21lbnR1
bUV2ZW50RGlzcGF0Y2hlcjo6TW9tZW50dW1FdmVudERpc3BhdGNoZXIoRXZlbnREaXNwYXRjaGVy
JiBkaXNwYXRjaGVyKQogICAgIDogbV9vYnNlcnZlcklEKERpc3BsYXlMaW5rT2JzZXJ2ZXJJRDo6
Z2VuZXJhdGUoKSkKQEAgLTk2LDYgKzk3LDkgQEAgYm9vbCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hl
cjo6aGFuZGxlV2hlZWxFdmVudChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSWRlbnQKICAg
ICAgICAgICAgIG1fbGFzdEFjdGl2ZVBoYXNlRGVsdGEgPSAqbGFzdEFjdGl2ZVBoYXNlRGVsdGE7
CiAgICAgfQogCisgICAgaWYgKGV2ZW50LnBoYXNlKCkgPT0gV2ViV2hlZWxFdmVudDo6UGhhc2VF
bmRlZCkKKyAgICAgICAgbV9sYXN0RW5kZWRFdmVudFRpbWVzdGFtcCA9IGV2ZW50LmlvSElERXZl
bnRUaW1lc3RhbXAoKTsKKwogICAgIGlmIChldmVudFNob3VsZFN0YXJ0U3ludGhldGljTW9tZW50
dW1QaGFzZShwYWdlSWRlbnRpZmllciwgZXZlbnQpKQogICAgICAgICBkaWRTdGFydE1vbWVudHVt
UGhhc2UocGFnZUlkZW50aWZpZXIsIGV2ZW50KTsKIApAQCAtMTU5LDExICsxNjMsMTMgQEAgdm9p
ZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hTeW50aGV0aWNNb21lbnR1bUV2ZW50
KFdlYldoZWVsRXZlbnQ6OlBoYXMKIAogdm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlk
U3RhcnRNb21lbnR1bVBoYXNlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJZGVudGlmaWVy
LCBjb25zdCBXZWJXaGVlbEV2ZW50JiBldmVudCkKIHsKKyAgICBhdXRvIG1vbWVudHVtU3RhcnRJ
bnRlcnZhbCA9IGV2ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKSAtIG1fbGFzdEVuZGVkRXZlbnRU
aW1lc3RhbXA7CisKICAgICBtX2N1cnJlbnRHZXN0dXJlLmFjdGl2ZSA9IHRydWU7CiAgICAgbV9j
dXJyZW50R2VzdHVyZS5wYWdlSWRlbnRpZmllciA9IHBhZ2VJZGVudGlmaWVyOwogICAgIG1fY3Vy
cmVudEdlc3R1cmUuaW5pdGlhdGluZ0V2ZW50ID0gZXZlbnQ7CiAgICAgbV9jdXJyZW50R2VzdHVy
ZS5jdXJyZW50T2Zmc2V0ID0geyB9OwotICAgIG1fY3VycmVudEdlc3R1cmUuc3RhcnRUaW1lID0g
V2FsbFRpbWU6Om5vdygpOworICAgIG1fY3VycmVudEdlc3R1cmUuc3RhcnRUaW1lID0gTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtb21lbnR1bVN0YXJ0SW50ZXJ2YWw7CiAgICAgbV9jdXJyZW50R2Vz
dHVyZS5hY2NlbGVyYXRpb25DdXJ2ZSA9IFsmXSAoKSAtPiBzdGQ6Om9wdGlvbmFsPFNjcm9sbGlu
Z0FjY2VsZXJhdGlvbkN1cnZlPiB7CiAgICAgICAgIGF1dG8gY3VydmVJdGVyYXRvciA9IG1fYWNj
ZWxlcmF0aW9uQ3VydmVzLmZpbmQobV9jdXJyZW50R2VzdHVyZS5wYWdlSWRlbnRpZmllcik7CiAg
ICAgICAgIGlmIChjdXJ2ZUl0ZXJhdG9yID09IG1fYWNjZWxlcmF0aW9uQ3VydmVzLmVuZCgpKQpA
QCAtMTc2LDkgKzE4MiwxMCBAQCB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpkaWRTdGFy
dE1vbWVudHVtUGhhc2UoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZQogICAgIC8vIEZJWE1F
OiBUaGUgc3lzdGVtIGZhbGxzIGJhY2sgZnJvbSB0aGUgdGFibGUgdG8ganVzdCBnZW5lcmF0aW5n
IGRlbHRhcwogICAgIC8vIGRpcmVjdGx5IHdoZW4gdGhlIGZyYW1lIGludGVydmFsIGlzIHdpdGhp
biAyMGZwcyBvZiBpZGVhbEN1cnZlRnJhbWVSYXRlOwogICAgIC8vIHdlIHNob3VsZCBwZXJoYXBz
IGRvIHRoZSBzYW1lLgotICAgIGJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERlbHRhKCpldmVu
dC5yYXdQbGF0Zm9ybURlbHRhKCkpOworICAgIGZsb2F0IGlkZWFsQ3VydmVNdWx0aXBsaWVyID0g
bV9jdXJyZW50R2VzdHVyZS5hY2NlbGVyYXRpb25DdXJ2ZS0+ZnJhbWVSYXRlKCkgLyBpZGVhbEN1
cnZlRnJhbWVSYXRlOworICAgIGJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERlbHRhKCpldmVu
dC5yYXdQbGF0Zm9ybURlbHRhKCkgKiBpZGVhbEN1cnZlTXVsdGlwbGllcik7CiAKLSAgICBkaXNw
YXRjaFN5bnRoZXRpY01vbWVudHVtRXZlbnQoV2ViV2hlZWxFdmVudDo6UGhhc2VCZWdhbiwgeyB9
KTsKKyAgICBkaXNwYXRjaFN5bnRoZXRpY01vbWVudHVtRXZlbnQoV2ViV2hlZWxFdmVudDo6UGhh
c2VCZWdhbiwgY29uc3VtZURlbHRhRm9yQ3VycmVudFRpbWUoKSk7CiB9CiAKIHZvaWQgTW9tZW50
dW1FdmVudERpc3BhdGNoZXI6OmRpZEVuZE1vbWVudHVtUGhhc2UoKQpAQCAtMTg3LDcgKzE5NCw3
IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRpZEVuZE1vbWVudHVtUGhhc2UoKQog
CiAgICAgZGlzcGF0Y2hTeW50aGV0aWNNb21lbnR1bUV2ZW50KFdlYldoZWVsRXZlbnQ6OlBoYXNl
RW5kZWQsIHsgfSk7CiAKLSAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50
dW1FdmVudERpc3BhdGNoZXIgc2F3IG1vbWVudHVtIGVuZCBwaGFzZSB3aXRoIHRvdGFsIG9mZnNl
dCAlLjFmICUuMWYsIGR1cmF0aW9uICVmIChldmVudCBvZmZzZXQgd291bGQgaGF2ZSBiZWVuICUu
MWYgJS4xZikiLCBtX2N1cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQud2lkdGgoKSwgbV9jdXJy
ZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0LmhlaWdodCgpLCAoV2FsbFRpbWU6Om5vdygpIC0gbV9j
dXJyZW50R2VzdHVyZS5zdGFydFRpbWUpLnNlY29uZHMoKSwgbV9jdXJyZW50R2VzdHVyZS5hY2N1
bXVsYXRlZEV2ZW50T2Zmc2V0LndpZHRoKCksIG1fY3VycmVudEdlc3R1cmUuYWNjdW11bGF0ZWRF
dmVudE9mZnNldC5oZWlnaHQoKSk7CisgICAgUkVMRUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywg
Ik1vbWVudHVtRXZlbnREaXNwYXRjaGVyIHNhdyBtb21lbnR1bSBlbmQgcGhhc2Ugd2l0aCB0b3Rh
bCBvZmZzZXQgJS4xZiAlLjFmLCBkdXJhdGlvbiAlZiAoZXZlbnQgb2Zmc2V0IHdvdWxkIGhhdmUg
YmVlbiAlLjFmICUuMWYpIiwgbV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0LndpZHRoKCks
IG1fY3VycmVudEdlc3R1cmUuY3VycmVudE9mZnNldC5oZWlnaHQoKSwgKE1vbm90b25pY1RpbWU6
Om5vdygpIC0gbV9jdXJyZW50R2VzdHVyZS5zdGFydFRpbWUpLnNlY29uZHMoKSwgbV9jdXJyZW50
R2VzdHVyZS5hY2N1bXVsYXRlZEV2ZW50T2Zmc2V0LndpZHRoKCksIG1fY3VycmVudEdlc3R1cmUu
YWNjdW11bGF0ZWRFdmVudE9mZnNldC5oZWlnaHQoKSk7CiAKICAgICBzdG9wRGlzcGxheUxpbmso
KTsKIApAQCAtMjUxLDE1ICsyNTgsOSBAQCB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpw
YWdlU2NyZWVuRGlkQ2hhbmdlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRAogICAgICAg
ICBzdGFydERpc3BsYXlMaW5rKCk7CiB9CiAKLXZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6
OmRpc3BsYXlXYXNSZWZyZXNoZWQoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlE
LCBjb25zdCBXZWJDb3JlOjpEaXNwbGF5VXBkYXRlJikKK0Zsb2F0U2l6ZSBNb21lbnR1bUV2ZW50
RGlzcGF0Y2hlcjo6Y29uc3VtZURlbHRhRm9yQ3VycmVudFRpbWUoKQogewotICAgIGlmICghbV9j
dXJyZW50R2VzdHVyZS5hY3RpdmUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChkaXNwbGF5
SUQgIT0gdGhpcy0+ZGlzcGxheUlEKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gYW5p
bWF0aW9uVGltZSA9IFdhbGxUaW1lOjpub3coKSAtIG1fY3VycmVudEdlc3R1cmUuc3RhcnRUaW1l
OworICAgIGF1dG8gYW5pbWF0aW9uVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9jdXJy
ZW50R2VzdHVyZS5zdGFydFRpbWU7CiAgICAgYXV0byBkZXNpcmVkT2Zmc2V0ID0gb2Zmc2V0QXRU
aW1lKGFuaW1hdGlvblRpbWUpOwogCiAjaWYgIVVTRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVS
X1BSRU1BVFVSRV9ST1VORElORykKQEAgLTI2OSw5ICsyNzAsMjAgQEAgdm9pZCBNb21lbnR1bUV2
ZW50RGlzcGF0Y2hlcjo6ZGlzcGxheVdhc1JlZnJlc2hlZChXZWJDb3JlOjpQbGF0Zm9ybURpc3Bs
YXlJRCBkaXMKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgZGVsdGEgPSBkZXNpcmVkT2Zmc2V0IC0g
bV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0OwogI2VuZGlmCiAKLSAgICBkaXNwYXRjaFN5
bnRoZXRpY01vbWVudHVtRXZlbnQoV2ViV2hlZWxFdmVudDo6UGhhc2VDaGFuZ2VkLCAtZGVsdGEp
OwotCiAgICAgbV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0ICs9IGRlbHRhOworCisgICAg
cmV0dXJuIC1kZWx0YTsKK30KKwordm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGxh
eVdhc1JlZnJlc2hlZChXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQsIGNvbnN0
IFdlYkNvcmU6OkRpc3BsYXlVcGRhdGUmKQoreworICAgIGlmICghbV9jdXJyZW50R2VzdHVyZS5h
Y3RpdmUpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChkaXNwbGF5SUQgIT0gdGhpcy0+ZGlz
cGxheUlEKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGRpc3BhdGNoU3ludGhldGljTW9tZW50
dW1FdmVudChXZWJXaGVlbEV2ZW50OjpQaGFzZUNoYW5nZWQsIGNvbnN1bWVEZWx0YUZvckN1cnJl
bnRUaW1lKCkpOwogfQogCiB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpkaWRSZWNlaXZl
U2Nyb2xsRXZlbnRXaXRoSW50ZXJ2YWwoV2ViQ29yZTo6RmxvYXRTaXplIHNpemUsIFNlY29uZHMg
ZnJhbWVJbnRlcnZhbCkKQEAgLTM0Myw3ICszNTUsNyBAQCBXZWJDb3JlOjpGbG9hdFNpemUgTW9t
ZW50dW1FdmVudERpc3BhdGNoZXI6Om9mZnNldEF0VGltZShTZWNvbmRzIHRpbWUpCiAgICAgaWYg
KCFtX2N1cnJlbnRHZXN0dXJlLm9mZnNldFRhYmxlLnNpemUoKSkKICAgICAgICAgcmV0dXJuIHsg
fTsKIAotICAgIGZsb2F0IGZyYWN0aW9uYWxGcmFtZU51bWJlciA9IHRpbWUuc2Vjb25kcygpIC8g
aWRlYWxDdXJ2ZUZyYW1lUmF0ZS5zZWNvbmRzKCk7CisgICAgZmxvYXQgZnJhY3Rpb25hbEZyYW1l
TnVtYmVyID0gdGltZS5zZWNvbmRzKCkgLyBpZGVhbEN1cnZlRnJhbWVJbnRlcnZhbC5zZWNvbmRz
KCk7CiAgICAgdW5zaWduZWQgbG9uZyBsb3dlckZyYW1lTnVtYmVyID0gc3RkOjptaW48dW5zaWdu
ZWQgbG9uZz4obV9jdXJyZW50R2VzdHVyZS5vZmZzZXRUYWJsZS5zaXplKCkgLSAxLCBmbG9vcihm
cmFjdGlvbmFsRnJhbWVOdW1iZXIpKTsKICAgICB1bnNpZ25lZCBsb25nIHVwcGVyRnJhbWVOdW1i
ZXIgPSBzdGQ6Om1pbjx1bnNpZ25lZCBsb25nPihtX2N1cnJlbnRHZXN0dXJlLm9mZnNldFRhYmxl
LnNpemUoKSAtIDEsIGxvd2VyRnJhbWVOdW1iZXIgKyAxKTsKICAgICBmbG9hdCBhbW91bnQgPSBm
cmFjdGlvbmFsRnJhbWVOdW1iZXIgLSBsb3dlckZyYW1lTnVtYmVyOwpAQCAtMzc5LDcgKzM5MSw3
IEBAIHN0ZDo6cGFpcjxXZWJDb3JlOjpGbG9hdFNpemUsIFdlYkNvcmU6OkZsb2F0U2l6ZT4gTW9t
ZW50dW1FdmVudERpc3BhdGNoZXI6OmNvbXB1CiB7CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIHVu
YWNjZWxlcmF0ZWREZWx0YSA9IGN1cnJlbnRVbmFjY2VsZXJhdGVkRGVsdGE7CiAKLSAgICBmbG9h
dCBkZWNheVJhdGUgPSBtb21lbnR1bURlY2F5UmF0ZSh1bmFjY2VsZXJhdGVkRGVsdGEsIGlkZWFs
Q3VydmVGcmFtZVJhdGUpOworICAgIGZsb2F0IGRlY2F5UmF0ZSA9IG1vbWVudHVtRGVjYXlSYXRl
KHVuYWNjZWxlcmF0ZWREZWx0YSwgaWRlYWxDdXJ2ZUZyYW1lSW50ZXJ2YWwpOwogICAgIHVuYWNj
ZWxlcmF0ZWREZWx0YS5zY2FsZShkZWNheVJhdGUpOwogCiAgICAgYXV0byBxdWFudGl6ZWRVbmFj
Y2VsZXJhdGVkRGVsdGEgPSB1bmFjY2VsZXJhdGVkRGVsdGE7CkBAIC00MDMsNyArNDE1LDcgQEAg
c3RkOjpwYWlyPFdlYkNvcmU6OkZsb2F0U2l6ZSwgV2ViQ29yZTo6RmxvYXRTaXplPiBNb21lbnR1
bUV2ZW50RGlzcGF0Y2hlcjo6Y29tcHUKICNlbmRpZgogCiAgICAgLy8gVGhlIGRlbHRhIHF1ZXVl
IG9wZXJhdGVzIG9uIHByZS1hY2NlbGVyYXRpb24gZGVsdGFzLCBzbyBpbnNlcnQgdGhlIG5ldyBl
dmVudCAqYmVmb3JlKiBhY2NlbGVyYXRpbmcuCi0gICAgZGlkUmVjZWl2ZVNjcm9sbEV2ZW50V2l0
aEludGVydmFsKHF1YW50aXplZFVuYWNjZWxlcmF0ZWREZWx0YSwgaWRlYWxDdXJ2ZUZyYW1lUmF0
ZSk7CisgICAgZGlkUmVjZWl2ZVNjcm9sbEV2ZW50V2l0aEludGVydmFsKHF1YW50aXplZFVuYWNj
ZWxlcmF0ZWREZWx0YSwgaWRlYWxDdXJ2ZUZyYW1lSW50ZXJ2YWwpOwogCiAgICAgYXV0byBhY2Nl
bGVyYXRlQXhpcyA9IFsmXSAoSGlzdG9yaWNhbERlbHRhcyYgZGVsdGFzLCBmbG9hdCB2YWx1ZSkg
ewogICAgICAgICBmbG9hdCB0b3RhbERlbHRhID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5oCmluZGV4
IDllYjg4OGRmNWIzZWY0ZTg0ZTlhNDk3NDVlY2E2Y2RjZjZjYmYyYTAuLjE4M2Q1MzI4ZGRiZjg5
ZmI4NDA1YWE2ZjY5ZDBlZTk2Y2M4MmMzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaApAQCAtMzks
NiArMzksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVjdEVkZ2VzLmg+CiAjaW5jbHVkZSA8bWVt
b3J5PgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTgwLDYgKzgxLDkgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgYnVpbGRPZmZzZXRUYWJsZVdp
dGhJbml0aWFsRGVsdGEoV2ViQ29yZTo6RmxvYXRTaXplKTsKIAorICAgIC8vIE9uY2UgY29uc3Vt
ZWQsIHRoaXMgZGVsdGEgKm11c3QqIGJlIGRpc3BhdGNoZWQgaW4gYW4gZXZlbnQuCisgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIGNvbnN1bWVEZWx0YUZvckN1cnJlbnRUaW1lKCk7CisKICAgICBXZWJD
b3JlOjpGbG9hdFNpemUgb2Zmc2V0QXRUaW1lKFNlY29uZHMpOwogICAgIHN0ZDo6cGFpcjxXZWJD
b3JlOjpGbG9hdFNpemUsIFdlYkNvcmU6OkZsb2F0U2l6ZT4gY29tcHV0ZU5leHREZWx0YShXZWJD
b3JlOjpGbG9hdFNpemUgY3VycmVudFVuYWNjZWxlcmF0ZWREZWx0YSk7CiAKQEAgLTk2LDYgKzEw
MCw3IEBAIHByaXZhdGU6CiAgICAgSGlzdG9yaWNhbERlbHRhcyBtX2RlbHRhSGlzdG9yeVk7CiAK
ICAgICBzdGQ6Om9wdGlvbmFsPFdhbGxUaW1lPiBtX2xhc3RTY3JvbGxUaW1lc3RhbXA7CisgICAg
V2FsbFRpbWUgbV9sYXN0RW5kZWRFdmVudFRpbWVzdGFtcDsKICAgICBzdGQ6Om9wdGlvbmFsPFdl
YldoZWVsRXZlbnQ+IG1fbGFzdEluY29taW5nRXZlbnQ7CiAgICAgV2ViQ29yZTo6UmVjdEVkZ2Vz
PGJvb2w+IG1fbGFzdFJ1YmJlckJhbmRhYmxlRWRnZXM7CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECkBAIC0xMTAsNyArMTE1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgc3RkOjpvcHRpb25hbDxX
ZWJXaGVlbEV2ZW50PiBpbml0aWF0aW5nRXZlbnQ7CiAKICAgICAgICAgV2ViQ29yZTo6RmxvYXRT
aXplIGN1cnJlbnRPZmZzZXQ7Ci0gICAgICAgIFdhbGxUaW1lIHN0YXJ0VGltZTsKKyAgICAgICAg
TW9ub3RvbmljVGltZSBzdGFydFRpbWU7CiAKICAgICAgICAgVmVjdG9yPFdlYkNvcmU6OkZsb2F0
U2l6ZT4gb2Zmc2V0VGFibGU7CiAK
</data>
<flag name="commit-queue"
          id="471088"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445811</attachid>
            <date>2021-12-02 22:38:09 -0800</date>
            <delta_ts>2021-12-02 23:25:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233801-20211202223808.patch</filename>
            <type>text/plain</type>
            <size>22374</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAzYjc2NGFkYTJhMzdiY2Q4
ZTdkMWVmMzY5NzM2MWY1YzAwZWM2YzguLjc0ZTBmZjcyMjI3ODlkZGQ2N2U2YjcxM2U1NjgzMGZl
YmU2ZjgzODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMjEtMTItMDIgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW9tZW50dW1FdmVudERp
c3BhdGNoZXIgY3VydmUgc29tZXRpbWVzIGRvZXNuJ3QgbWF0Y2ggdGhlIHN5c3RlbSBjdXJ2ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzODAxCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTg3MDI4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGhyZWUgc21hbGwgY2hhbmdlcyB0byBnZXQgdXMgY2xv
c2VyIHRvIHRoZSBzeXN0ZW0gY3VydmU6CisKKyAgICAgICAgMSkgRmV0Y2ggdGhlIG1vbWVudHVt
IGV2ZW50IGRpc3BhdGNoIGludGVydmFsIGZyb20gdGhlIHN5c3RlbSwgYW5kIHVzZQorICAgICAg
ICBpdCB0byBzY2FsZSB0aGUgbW9tZW50dW0gc3RhcnQgZXZlbnQncyBkZWx0YSAod2hpY2ggd2Ug
dXNlIGFzIG91cgorICAgICAgICBpbml0aWFsIHZlbG9jaXR5KSBpbnRvIHRoZSAiaWRlYWwiIGN1
cnZlJ3MgZnJhbWUgcmF0ZSAod2hpY2ggaXMgYWx3YXlzCisgICAgICAgIDYwZnBzIHJlZ2FyZGxl
c3MpLgorCisgICAgICAgIDIpIEJhY2stZGF0ZSB0aGUgYW5pbWF0aW9uIHN0YXJ0IHRpbWUgdG8g
dGhlIGZpbmdlcnMtZG93biBwaGFzZSBlbmQgZXZlbnQsCisgICAgICAgIHNvIHRoYXQgdGhlIG1v
bWVudHVtIHN0YXJ0IHBoYXNlIGhhcyBhIGRlbHRhLiBUaGlzIHNlZW1zIHRvIG1hdGNoIHdoYXQK
KyAgICAgICAgdGhlIHN5c3RlbSBkb2VzLgorCisgICAgICAgIDMpIFN3aXRjaCB0byBNb25vdG9u
aWNUaW1lIGZvciB0aGUgYW5pbWF0aW9uIHRpbWUsIHNpbmNlIGl0IGRvZXNuJ3QgbmVlZAorICAg
ICAgICB0byBiZSBpbiB0aGUgc2FtZSB0aW1lYmFzZSBhcyBldmVudHMgKHdoaWNoIGFyZSBvZGRs
eSBpbiBXYWxsVGltZSksIGFuZAorICAgICAgICBjZXJ0YWlubHkgc2hvdWxkIGJlIG1vbm90b25p
Yy4KKworICAgICAgICAqIFNoYXJlZC9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpTY3JvbGxpbmdBY2Nl
bGVyYXRpb25DdXJ2ZSk6CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1
cnZlOjppbnRlcnBvbGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlv
bkN1cnZlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdBY2NlbGVy
YXRpb25DdXJ2ZTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6b3BlcmF0b3I8PCk6CisgICAg
ICAgICogU2hhcmVkL1Njcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlLmg6CisgICAgICAgIChXZWJL
aXQ6OlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpmcmFtZVJhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAg
ICAgICogU2hhcmVkL21hYy9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6ZnJvbUlPSElEQ3VydmUpOgorICAgICAgICAoV2ViS2l0Ojpmcm9tSU9ISURD
dXJ2ZUFycmF5V2l0aEFjY2VsZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OmZyb21JT0hJRERl
dmljZSk6CisgICAgICAgIEZldGNoIGFuZCBwcm9wYWdhdGUgdGhlIGRpc3BhdGNoIGZyYW1lIHJh
dGUuIFRoaXMgaXNuJ3QgKnJlYWxseSogYQorICAgICAgICBTY3JvbGxpbmdBY2NlbGVyYXRpb25D
dXJ2ZSBwcm9wZXJ0eSwgYnV0IG5laXRoZXIgaXMgYHJlc29sdXRpb25gOworICAgICAgICB0aGlz
IGlzIGp1c3QgY3VycmVudGx5IHRoZSBvbmx5IHBsYWNlIHdlIGxvb2sgdXAgSElEIHByb3BlcnRp
ZXMKKyAgICAgICAgYW5kIHB1c2ggdGhlbSB0byB0aGUgV2ViIENvbnRlbnQgcHJvY2Vzczsgc29t
ZSByZS1hcmNoaXRlY3R1cmUgaXMKKyAgICAgICAgd2FycmFudGVkIGhlcmUgaW4gdGhlIGZ1dHVy
ZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpoYW5kbGVX
aGVlbEV2ZW50KToKKyAgICAgICAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBmaW5nZXJzLWRvd24g
cGhhc2UgZW5kZWQgZXZlbnQgdGltZXN0YW1wLgorCisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVt
RXZlbnREaXNwYXRjaGVyOjpkaWRTdGFydE1vbWVudHVtUGhhc2UpOgorICAgICAgICBCYWNrZGF0
ZSB0aGUgc3RhcnQgdGltZSBzbyB0aGF0IHRoZSBmaXJzdCBldmVudCBoYXMgdGhlIGFwcHJvcHJp
YXRlIGRlbHRhLgorICAgICAgICBEaXZpZGUgb3V0IHRoZSBkaXNwYXRjaCBmcmFtZSByYXRlIHNv
IHRoYXQgdGhlIGluaXRpYWwgdmVsb2NpdHkgaXMKKyAgICAgICAgYXMgaWYgdGhlIGN1cnZlIHdl
cmUgcnVubmluZyBhdCA2MGZwcyAoc2luY2Ugd2UgKndpbGwqIHJ1biBpdCBhdCA2MGZwcyBhbmQg
aW50ZXJwb2xhdGUpLgorCisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVtRXZlbnREaXNwYXRjaGVy
OjpkaWRFbmRNb21lbnR1bVBoYXNlKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERp
c3BhdGNoZXI6OmNvbnN1bWVEZWx0YUZvclRpbWUpOgorICAgICAgICAoV2ViS2l0OjpNb21lbnR1
bUV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGxheVdhc1JlZnJlc2hlZCk6CisgICAgICAgIEZhY3RvciB0
aGUgY29uc3VtZS1hLWRlbHRhLWZyb20tdGhlLWlkZWFsLWN1cnZlIGNvZGUgb3V0IGZyb20gZGlz
cGxheVdhc1JlZnJlc2hlZAorICAgICAgICBzbyB3ZSBjYW4gdXNlIGl0IGluIHRoZSBzdGFydCBw
aGFzZSB0b28uCisKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6Om9m
ZnNldEF0VGltZSk6CisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpj
b21wdXRlTmV4dERlbHRhKToKKyAgICAgICAgUmVuYW1lIGlkZWFsQ3VydmVGcmFtZVJhdGUtPmlk
ZWFsQ3VydmVGcmFtZUludGVydmFsIGZvciBhY2N1cmFjeS4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5oOgorCiAyMDIxLTEyLTAyICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnRpbmcgcjI4NjQzNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Nj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Njcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlLmNwcAppbmRleCAxNzJkZWM0M2MxYjdmNTVhNjkxYWRiYWU5
NzNjYmQ5MDY5ODAwYjYwLi4xYTI3MGY5NDkzZDAyYzQxYWMzZjMyM2E5NjA1MWNmNWM0NmY1YTU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TY3JvbGxpbmdBY2NlbGVyYXRpb25D
dXJ2ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2Nyb2xsaW5nQWNjZWxlcmF0aW9u
Q3VydmUuY3BwCkBAIC0zNCw4ICszNCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1TY3Jv
bGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUoZmxvYXQg
Z2FpbkxpbmVhciwgZmxvYXQgZ2FpblBhcmFib2xpYywgZmxvYXQgZ2FpbkN1YmljLCBmbG9hdCBn
YWluUXVhcnRpYywgZmxvYXQgdGFuZ2VudFNwZWVkTGluZWFyLCBmbG9hdCB0YW5nZW50U3BlZWRQ
YXJhYm9saWNSb290LCBmbG9hdCByZXNvbHV0aW9uKQotICAgIDogbV9wYXJhbWV0ZXJzIHsgZ2Fp
bkxpbmVhciwgZ2FpblBhcmFib2xpYywgZ2FpbkN1YmljLCBnYWluUXVhcnRpYywgdGFuZ2VudFNw
ZWVkTGluZWFyLCB0YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCByZXNvbHV0aW9uIH0KK1Njcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZShmbG9hdCBn
YWluTGluZWFyLCBmbG9hdCBnYWluUGFyYWJvbGljLCBmbG9hdCBnYWluQ3ViaWMsIGZsb2F0IGdh
aW5RdWFydGljLCBmbG9hdCB0YW5nZW50U3BlZWRMaW5lYXIsIGZsb2F0IHRhbmdlbnRTcGVlZFBh
cmFib2xpY1Jvb3QsIGZsb2F0IHJlc29sdXRpb24sIGZsb2F0IGZyYW1lUmF0ZSkKKyAgICA6IG1f
cGFyYW1ldGVycyB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9saWMsIGdhaW5DdWJpYywgZ2FpblF1
YXJ0aWMsIHRhbmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCwgcmVz
b2x1dGlvbiwgZnJhbWVSYXRlIH0KIHsKIH0KIApAQCAtNTMsNyArNTMsNyBAQCBTY3JvbGxpbmdB
Y2NlbGVyYXRpb25DdXJ2ZSBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6aW50ZXJwb2xhdGUo
Y29uc3QgU2Nyb2xsaQogICAgIGF1dG8gdGFuZ2VudFNwZWVkTGluZWFyID0gaW50ZXJwb2xhdGUo
ZnJvbS5tX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkTGluZWFyLCB0by5tX3BhcmFtZXRlcnMudGFu
Z2VudFNwZWVkTGluZWFyKTsKICAgICBhdXRvIHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QgPSBp
bnRlcnBvbGF0ZShmcm9tLm1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCB0
by5tX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCk7CiAKLSAgICByZXR1cm4g
eyBnYWluTGluZWFyLCBnYWluUGFyYWJvbGljLCBnYWluQ3ViaWMsIGdhaW5RdWFydGljLCB0YW5n
ZW50U3BlZWRMaW5lYXIsIHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QsIGZyb20ubV9wYXJhbWV0
ZXJzLnJlc29sdXRpb24gfTsKKyAgICByZXR1cm4geyBnYWluTGluZWFyLCBnYWluUGFyYWJvbGlj
LCBnYWluQ3ViaWMsIGdhaW5RdWFydGljLCB0YW5nZW50U3BlZWRMaW5lYXIsIHRhbmdlbnRTcGVl
ZFBhcmFib2xpY1Jvb3QsIGZyb20ubV9wYXJhbWV0ZXJzLnJlc29sdXRpb24sIGZyb20ubV9wYXJh
bWV0ZXJzLmZyYW1lUmF0ZSB9OwogfQogCiB2b2lkIFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZl
Ojpjb21wdXRlSW50ZXJtZWRpYXRlVmFsdWVzSWZOZWVkZWQoKQpAQCAtMTI3LDYgKzEyNyw3IEBA
IHZvaWQgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU6OmVuY29kZShJUEM6OkVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkUGFy
YWJvbGljUm9vdDsKIAogICAgIGVuY29kZXIgPDwgbV9wYXJhbWV0ZXJzLnJlc29sdXRpb247Cisg
ICAgZW5jb2RlciA8PCBtX3BhcmFtZXRlcnMuZnJhbWVSYXRlOwogfQogCiBzdGQ6Om9wdGlvbmFs
PFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlPiBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZTo6
ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikKQEAgLTE1NCw4ICsxNTUsMTEgQEAgc3RkOjpv
cHRpb25hbDxTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZT4gU2Nyb2xsaW5nQWNjZWxlcmF0aW9u
Q3VydmU6OmRlY29kZShJUEMKICAgICBmbG9hdCByZXNvbHV0aW9uOwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzb2x1dGlvbikpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAg
ZmxvYXQgZnJhbWVSYXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZnJhbWVSYXRlKSkKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgZ2FpbkxpbmVhciwg
Z2FpblBhcmFib2xpYywgZ2FpbkN1YmljLCBnYWluUXVhcnRpYywgdGFuZ2VudFNwZWVkTGluZWFy
LCB0YW5nZW50U3BlZWRQYXJhYm9saWNSb290LCByZXNvbHV0aW9uIH0gfTsKKyAgICByZXR1cm4g
eyB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9saWMsIGdhaW5DdWJpYywgZ2FpblF1YXJ0aWMsIHRh
bmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCwgcmVzb2x1dGlvbiwg
ZnJhbWVSYXRlIH0gfTsKIH0KIAogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0
cywgY29uc3QgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUmIGN1cnZlKQpAQCAtMTcxLDYgKzE3
NSw3IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFNjcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlJiBjdXJ2ZSkKICAgICB0cy5kdW1wUHJvcGVydHkoInRhbmdl
bnRTcGVlZExpbmVhciIsIGN1cnZlLm1fcGFyYW1ldGVycy50YW5nZW50U3BlZWRMaW5lYXIpOwog
ICAgIHRzLmR1bXBQcm9wZXJ0eSgidGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCIsIGN1cnZlLm1f
cGFyYW1ldGVycy50YW5nZW50U3BlZWRQYXJhYm9saWNSb290KTsKICAgICB0cy5kdW1wUHJvcGVy
dHkoInJlc29sdXRpb24iLCBjdXJ2ZS5tX3BhcmFtZXRlcnMucmVzb2x1dGlvbik7CisgICAgdHMu
ZHVtcFByb3BlcnR5KCJmcmFtZVJhdGUiLCBjdXJ2ZS5tX3BhcmFtZXRlcnMuZnJhbWVSYXRlKTsK
IAogICAgIHJldHVybiB0czsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Nj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TY3JvbGxp
bmdBY2NlbGVyYXRpb25DdXJ2ZS5oCmluZGV4IDI5MjU2OTZlNDFiMWQ2MDUxM2Q3NTBlYzg2MDgz
NWYyZGRmZmYxYjUuLjIwYTA1ZThjY2MyNzI3YTNkZTAxYzU1M2Q0YmEyNjBiOTMwZTZkODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Njcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZl
LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUu
aApAQCAtNDEsMTMgKzQxLDE0IEBAIGNsYXNzIE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiAKIGNsYXNz
IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlIHsKIHB1YmxpYzoKLSAgICBTY3JvbGxpbmdBY2Nl
bGVyYXRpb25DdXJ2ZShmbG9hdCBnYWluTGluZWFyLCBmbG9hdCBnYWluUGFyYWJvbGljLCBmbG9h
dCBnYWluQ3ViaWMsIGZsb2F0IGdhaW5RdWFydGljLCBmbG9hdCB0YW5nZW50U3BlZWRMaW5lYXIs
IGZsb2F0IHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QsIGZsb2F0IHJlc29sdXRpb24pOworICAg
IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlKGZsb2F0IGdhaW5MaW5lYXIsIGZsb2F0IGdhaW5Q
YXJhYm9saWMsIGZsb2F0IGdhaW5DdWJpYywgZmxvYXQgZ2FpblF1YXJ0aWMsIGZsb2F0IHRhbmdl
bnRTcGVlZExpbmVhciwgZmxvYXQgdGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdCwgZmxvYXQgcmVz
b2x1dGlvbiwgZmxvYXQgZnJhbWVSYXRlKTsKIAogICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFNj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlPiBmcm9tTmF0aXZlV2hlZWxFdmVudChjb25zdCBOYXRp
dmVXZWJXaGVlbEV2ZW50Jik7CiAKICAgICBzdGF0aWMgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3Vy
dmUgaW50ZXJwb2xhdGUoY29uc3QgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUmIGZyb20sIGNv
bnN0IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlJiB0bywgZmxvYXQgYW1vdW50KTsKIAogICAg
IGZsb2F0IGFjY2VsZXJhdGlvbkZhY3RvcihmbG9hdCk7CisgICAgZmxvYXQgZnJhbWVSYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLmZyYW1lUmF0ZTsgfQogCiAgICAgdm9pZCBlbmNv
ZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2Nyb2xs
aW5nQWNjZWxlcmF0aW9uQ3VydmU+IGRlY29kZShJUEM6OkRlY29kZXImKTsKQEAgLTYwLDcgKzYx
LDggQEAgcHVibGljOgogICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLmdhaW5RdWFydGljID09
IG90aGVyLm1fcGFyYW1ldGVycy5nYWluUXVhcnRpYwogICAgICAgICAgICAgJiYgbV9wYXJhbWV0
ZXJzLnRhbmdlbnRTcGVlZExpbmVhciA9PSBvdGhlci5tX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVk
TGluZWFyCiAgICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkUGFyYWJvbGlj
Um9vdCA9PSBvdGhlci5tX3BhcmFtZXRlcnMudGFuZ2VudFNwZWVkUGFyYWJvbGljUm9vdAotICAg
ICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLnJlc29sdXRpb24gPT0gb3RoZXIubV9wYXJhbWV0ZXJz
LnJlc29sdXRpb247CisgICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMucmVzb2x1dGlvbiA9PSBv
dGhlci5tX3BhcmFtZXRlcnMucmVzb2x1dGlvbgorICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJz
LmZyYW1lUmF0ZSA9PSBvdGhlci5tX3BhcmFtZXRlcnMuZnJhbWVSYXRlOwogICAgIH0KIAogICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZSYgb3RoZXIp
IGNvbnN0IHsgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CkBAIC03OSw3ICs4MSwxMSBAQCBw
cml2YXRlOgogICAgICAgICBmbG9hdCBnYWluUXVhcnRpYyB7IDAgfTsKICAgICAgICAgZmxvYXQg
dGFuZ2VudFNwZWVkTGluZWFyIHsgMCB9OwogICAgICAgICBmbG9hdCB0YW5nZW50U3BlZWRQYXJh
Ym9saWNSb290IHsgMCB9OworCisgICAgICAgIC8vIEZJWE1FOiBSZXNvbHV0aW9uIGFuZCBmcmFt
ZSByYXRlIGFyZSBub3QgdGVjaG5pY2FsbHkgcHJvcGVydGllcworICAgICAgICAvLyBvZiB0aGUg
Y3VydmUsIGp1c3QgcmVxdWlyZWQgdG8gdXNlIGl0OyB0aGV5IHNob3VsZCBiZSBwbHVtYmVkIHNl
cGFyYXRlbHkuCiAgICAgICAgIGZsb2F0IHJlc29sdXRpb24geyAwIH07CisgICAgICAgIGZsb2F0
IGZyYW1lUmF0ZSB7IDAgfTsKICAgICB9IG1fcGFyYW1ldGVyczsKIAogICAgIHN0cnVjdCBDb21w
dXRlZEludGVybWVkaWF0ZVZhbHVlcyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9tYWMvU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmVNYWMubW0KaW5kZXggZDEwYzJlMTJl
MGVjNGY2NTE0NjE3YmMxNWQ0MmFhM2YxM2RhMGNmZi4uZjZkMGY1Njc2ZTg2NjI4NmFlMWRjZWIx
Mjc5NGE3YjgwZWY4MmZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1Nj
cm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9TY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZU1hYy5tbQpAQCAtMzksMTIgKzM5LDE5IEBA
IHN0YXRpYyBmbG9hdCBmcm9tRml4ZWRQb2ludChmbG9hdCB2YWx1ZSkKICAgICByZXR1cm4gdmFs
dWUgLyA2NTUzNi4wZjsKIH0KIAorc3RhdGljIGZsb2F0IGZyb21DRk51bWJlcihDRk51bWJlclJl
ZiBudW1iZXIpCit7CisgICAgZmxvYXQgdmFsdWU7CisgICAgQ0ZOdW1iZXJHZXRWYWx1ZShudW1i
ZXIsIGtDRk51bWJlckZsb2F0VHlwZSwgJnZhbHVlKTsKKyAgICByZXR1cm4gdmFsdWU7Cit9CisK
IHN0YXRpYyBmbG9hdCByZWFkRml4ZWRQb2ludFBhcmFtZXRlcihOU0RpY3Rpb25hcnkgKnBhcmFt
ZXRlcnMsIGNvbnN0IGNoYXIgKmtleSkKIHsKICAgICByZXR1cm4gZnJvbUZpeGVkUG9pbnQoW1tw
YXJhbWV0ZXJzIG9iamVjdEZvcktleTpAKGtleSldIGZsb2F0VmFsdWVdKTsKIH0KIAotc3RhdGlj
IFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlIGZyb21JT0hJREN1cnZlKE5TRGljdGlvbmFyeSAq
cGFyYW1ldGVycywgZmxvYXQgcmVzb2x1dGlvbikKK3N0YXRpYyBTY3JvbGxpbmdBY2NlbGVyYXRp
b25DdXJ2ZSBmcm9tSU9ISURDdXJ2ZShOU0RpY3Rpb25hcnkgKnBhcmFtZXRlcnMsIGZsb2F0IHJl
c29sdXRpb24sIGZsb2F0IGZyYW1lUmF0ZSkKIHsKICAgICBhdXRvIGdhaW5MaW5lYXIgPSByZWFk
Rml4ZWRQb2ludFBhcmFtZXRlcihwYXJhbWV0ZXJzLCBrSElEQWNjZWxHYWluTGluZWFyS2V5KTsK
ICAgICBhdXRvIGdhaW5QYXJhYm9saWMgPSByZWFkRml4ZWRQb2ludFBhcmFtZXRlcihwYXJhbWV0
ZXJzLCBrSElEQWNjZWxHYWluUGFyYWJvbGljS2V5KTsKQEAgLTU0LDE3ICs2MSwxNyBAQCBzdGF0
aWMgU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUgZnJvbUlPSElEQ3VydmUoTlNEaWN0aW9uYXJ5
ICpwYXJhbWV0ZXJzLCBmbG9hdAogICAgIGF1dG8gdGFuZ2VudFNwZWVkTGluZWFyID0gcmVhZEZp
eGVkUG9pbnRQYXJhbWV0ZXIocGFyYW1ldGVycywga0hJREFjY2VsVGFuZ2VudFNwZWVkTGluZWFy
S2V5KTsKICAgICBhdXRvIHRhbmdlbnRTcGVlZFBhcmFib2xpY1Jvb3QgPSByZWFkRml4ZWRQb2lu
dFBhcmFtZXRlcihwYXJhbWV0ZXJzLCBrSElEQWNjZWxUYW5nZW50U3BlZWRQYXJhYm9saWNSb290
S2V5KTsKIAotICAgIHJldHVybiB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9saWMsIGdhaW5DdWJp
YywgZ2FpblF1YXJ0aWMsIHRhbmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNwZWVkUGFyYWJvbGlj
Um9vdCwgcmVzb2x1dGlvbiB9OworICAgIHJldHVybiB7IGdhaW5MaW5lYXIsIGdhaW5QYXJhYm9s
aWMsIGdhaW5DdWJpYywgZ2FpblF1YXJ0aWMsIHRhbmdlbnRTcGVlZExpbmVhciwgdGFuZ2VudFNw
ZWVkUGFyYWJvbGljUm9vdCwgcmVzb2x1dGlvbiwgZnJhbWVSYXRlIH07CiB9CiAKLXN0YXRpYyBT
Y3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZSBmcm9tSU9ISURDdXJ2ZUFycmF5V2l0aEFjY2VsZXJh
dGlvbihOU0FycmF5PE5TRGljdGlvbmFyeSAqPiAqaW9ISURDdXJ2ZXMsIGZsb2F0IGRlc2lyZWRB
Y2NlbGVyYXRpb24sIGZsb2F0IHJlc29sdXRpb24pCitzdGF0aWMgU2Nyb2xsaW5nQWNjZWxlcmF0
aW9uQ3VydmUgZnJvbUlPSElEQ3VydmVBcnJheVdpdGhBY2NlbGVyYXRpb24oTlNBcnJheTxOU0Rp
Y3Rpb25hcnkgKj4gKmlvSElEQ3VydmVzLCBmbG9hdCBkZXNpcmVkQWNjZWxlcmF0aW9uLCBmbG9h
dCByZXNvbHV0aW9uLCBmbG9hdCBmcmFtZVJhdGUpCiB7CiAgICAgX19ibG9jayBzaXplX3QgY3Vy
cmVudEluZGV4ID0gMDsKICAgICBfX2Jsb2NrIFZlY3RvcjxzdGQ6OnBhaXI8ZmxvYXQsIFNjcm9s
bGluZ0FjY2VsZXJhdGlvbkN1cnZlPj4gY3VydmVzOwogCiAgICAgW2lvSElEQ3VydmVzIGVudW1l
cmF0ZU9iamVjdHNVc2luZ0Jsb2NrOl4oTlNEaWN0aW9uYXJ5ICpwYXJhbWV0ZXJzLCBOU1VJbnRl
Z2VyIGksIEJPT0wgKikgewogICAgICAgICBhdXRvIGN1cnZlQWNjZWxlcmF0aW9uID0gcmVhZEZp
eGVkUG9pbnRQYXJhbWV0ZXIocGFyYW1ldGVycywga0hJREFjY2VsSW5kZXhLZXkpOwotICAgICAg
ICBhdXRvIGN1cnZlID0gZnJvbUlPSElEQ3VydmUocGFyYW1ldGVycywgcmVzb2x1dGlvbik7Cisg
ICAgICAgIGF1dG8gY3VydmUgPSBmcm9tSU9ISURDdXJ2ZShwYXJhbWV0ZXJzLCByZXNvbHV0aW9u
LCBmcmFtZVJhdGUpOwogCiAgICAgICAgIGlmIChkZXNpcmVkQWNjZWxlcmF0aW9uID4gY3VydmVB
Y2NlbGVyYXRpb24pCiAgICAgICAgICAgICBjdXJyZW50SW5kZXggPSBpOwpAQCAtMTE2LDE5ICsx
MjMsMjYgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmU+
IGZyb21JT0hJRERldmljZShJT0hJREV2ZW50U2VuZGUKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKICAgICB9CiAKLSAgICBhdXRvIHNjcm9sbEFjY2VsZXJhdGlvbiA9IGFkb3B0Q0YoZHlu
YW1pY19jZl9jYXN0PENGTnVtYmVyUmVmPihJT0hJRFNlcnZpY2VDbGllbnRDb3B5UHJvcGVydHko
aW9ISURTZXJ2aWNlLmdldCgpLCBzY3JvbGxBY2NlbGVyYXRpb25UeXBlLmdldCgpKSkpOwotICAg
IGlmICghc2Nyb2xsQWNjZWxlcmF0aW9uKSB7CisgICAgYXV0byBzY3JvbGxBY2NlbGVyYXRpb25D
RiA9IGFkb3B0Q0YoZHluYW1pY19jZl9jYXN0PENGTnVtYmVyUmVmPihJT0hJRFNlcnZpY2VDbGll
bnRDb3B5UHJvcGVydHkoaW9ISURTZXJ2aWNlLmdldCgpLCBzY3JvbGxBY2NlbGVyYXRpb25UeXBl
LmdldCgpKSkpOworICAgIGlmICghc2Nyb2xsQWNjZWxlcmF0aW9uQ0YpIHsKICAgICAgICAgUkVM
RUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywgIlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpm
cm9tSU9ISUREZXZpY2UgZmFpbGVkIHRvIGxvb2sgdXAgYWNjZWxlcmF0aW9uIHZhbHVlIik7CiAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQorICAgIGF1dG8gc2Nyb2xsQWNjZWxl
cmF0aW9uID0gZnJvbUZpeGVkUG9pbnQoZnJvbUNGTnVtYmVyKHNjcm9sbEFjY2VsZXJhdGlvbkNG
LmdldCgpKSk7CiAKLSAgICBhdXRvIHJlc29sdXRpb24gPSBhZG9wdENGKGR5bmFtaWNfY2ZfY2Fz
dDxDRk51bWJlclJlZj4oSU9ISURTZXJ2aWNlQ2xpZW50Q29weVByb3BlcnR5KGlvSElEU2Vydmlj
ZS5nZXQoKSwgQ0ZTVFIoa0lPSElEU2Nyb2xsUmVzb2x1dGlvbktleSkpKSk7Ci0gICAgaWYgKCFy
ZXNvbHV0aW9uKSB7CisgICAgYXV0byByZXNvbHV0aW9uQ0YgPSBhZG9wdENGKGR5bmFtaWNfY2Zf
Y2FzdDxDRk51bWJlclJlZj4oSU9ISURTZXJ2aWNlQ2xpZW50Q29weVByb3BlcnR5KGlvSElEU2Vy
dmljZS5nZXQoKSwgQ0ZTVFIoa0lPSElEU2Nyb2xsUmVzb2x1dGlvbktleSkpKSk7CisgICAgaWYg
KCFyZXNvbHV0aW9uQ0YpIHsKICAgICAgICAgUkVMRUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywg
IlNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlOjpmcm9tSU9ISUREZXZpY2UgZmFpbGVkIHRvIGxv
b2sgdXAgcmVzb2x1dGlvbiIpOwogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0K
KyAgICBhdXRvIHJlc29sdXRpb24gPSBmcm9tRml4ZWRQb2ludChbKE5TTnVtYmVyICopcmVzb2x1
dGlvbkNGLmdldCgpIGZsb2F0VmFsdWVdKTsKKworICAgIHN0YXRpYyBDRlN0cmluZ1JlZiBkaXNw
YXRjaEZyYW1lUmF0ZUtleSA9IENGU1RSKCJTY3JvbGxNb21lbnR1bURpc3BhdGNoUmF0ZSIpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgZmxvYXQgZGVmYXVsdERpc3BhdGNoRnJhbWVSYXRlID0gNjA7
CisgICAgYXV0byBmcmFtZVJhdGVDRiA9IGFkb3B0Q0YoZHluYW1pY19jZl9jYXN0PENGTnVtYmVy
UmVmPihJT0hJRFNlcnZpY2VDbGllbnRDb3B5UHJvcGVydHkoaW9ISURTZXJ2aWNlLmdldCgpLCBk
aXNwYXRjaEZyYW1lUmF0ZUtleSkpKTsKKyAgICBmbG9hdCBmcmFtZVJhdGUgPSBmcmFtZVJhdGVD
RiA/IGZyb21DRk51bWJlcihmcmFtZVJhdGVDRi5nZXQoKSkgOiBkZWZhdWx0RGlzcGF0Y2hGcmFt
ZVJhdGU7CiAKLSAgICByZXR1cm4gZnJvbUlPSElEQ3VydmVBcnJheVdpdGhBY2NlbGVyYXRpb24o
KE5TQXJyYXkgKiljdXJ2ZXMuZ2V0KCksIGZyb21GaXhlZFBvaW50KFsoTlNOdW1iZXIgKilzY3Jv
bGxBY2NlbGVyYXRpb24uZ2V0KCkgZmxvYXRWYWx1ZV0pLCBmcm9tRml4ZWRQb2ludChbKE5TTnVt
YmVyICopcmVzb2x1dGlvbi5nZXQoKSBmbG9hdFZhbHVlXSkpOworICAgIHJldHVybiBmcm9tSU9I
SURDdXJ2ZUFycmF5V2l0aEFjY2VsZXJhdGlvbigoTlNBcnJheSAqKWN1cnZlcy5nZXQoKSwgc2Ny
b2xsQWNjZWxlcmF0aW9uLCByZXNvbHV0aW9uLCBmcmFtZVJhdGUpOwogfQogCiBzdGQ6Om9wdGlv
bmFsPFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlPiBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2
ZTo6ZnJvbU5hdGl2ZVdoZWVsRXZlbnQoY29uc3QgTmF0aXZlV2ViV2hlZWxFdmVudCYgbmF0aXZl
V2ViV2hlZWxFdmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcAppbmRleCA3ZDYzYWFiMjMwYTc0
YzQ0MjE0NTUzOGIxYzFiZTVmZThhM2ZlZmVjLi42ODc5MTc0YWEwOTRhNWNiY2E2OTA3NTliYjEx
NmM3OGQ1ZjI4NTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwCkBAIC0zOSw3ICszOSw4IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3RleHByIFNlY29uZHMgZGVsdGFIaXN0
b3J5TWF4aW11bUFnZSA9IDUwMF9tczsKIHN0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBkZWx0YUhp
c3RvcnlNYXhpbXVtSW50ZXJ2YWwgPSAxNTBfbXM7Ci1zdGF0aWMgY29uc3RleHByIFNlY29uZHMg
aWRlYWxDdXJ2ZUZyYW1lUmF0ZSA9IDFfcyAvIDYwOworc3RhdGljIGNvbnN0ZXhwciBmbG9hdCBp
ZGVhbEN1cnZlRnJhbWVSYXRlID0gNjA7CitzdGF0aWMgY29uc3RleHByIFNlY29uZHMgaWRlYWxD
dXJ2ZUZyYW1lSW50ZXJ2YWwgPSAxX3MgLyBpZGVhbEN1cnZlRnJhbWVSYXRlOwogCiBNb21lbnR1
bUV2ZW50RGlzcGF0Y2hlcjo6TW9tZW50dW1FdmVudERpc3BhdGNoZXIoRXZlbnREaXNwYXRjaGVy
JiBkaXNwYXRjaGVyKQogICAgIDogbV9vYnNlcnZlcklEKERpc3BsYXlMaW5rT2JzZXJ2ZXJJRDo6
Z2VuZXJhdGUoKSkKQEAgLTk2LDYgKzk3LDkgQEAgYm9vbCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hl
cjo6aGFuZGxlV2hlZWxFdmVudChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSWRlbnQKICAg
ICAgICAgICAgIG1fbGFzdEFjdGl2ZVBoYXNlRGVsdGEgPSAqbGFzdEFjdGl2ZVBoYXNlRGVsdGE7
CiAgICAgfQogCisgICAgaWYgKGV2ZW50LnBoYXNlKCkgPT0gV2ViV2hlZWxFdmVudDo6UGhhc2VF
bmRlZCkKKyAgICAgICAgbV9sYXN0RW5kZWRFdmVudFRpbWVzdGFtcCA9IGV2ZW50LmlvSElERXZl
bnRUaW1lc3RhbXAoKTsKKwogICAgIGlmIChldmVudFNob3VsZFN0YXJ0U3ludGhldGljTW9tZW50
dW1QaGFzZShwYWdlSWRlbnRpZmllciwgZXZlbnQpKQogICAgICAgICBkaWRTdGFydE1vbWVudHVt
UGhhc2UocGFnZUlkZW50aWZpZXIsIGV2ZW50KTsKIApAQCAtMTU5LDExICsxNjMsMTMgQEAgdm9p
ZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hTeW50aGV0aWNNb21lbnR1bUV2ZW50
KFdlYldoZWVsRXZlbnQ6OlBoYXMKIAogdm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlk
U3RhcnRNb21lbnR1bVBoYXNlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJZGVudGlmaWVy
LCBjb25zdCBXZWJXaGVlbEV2ZW50JiBldmVudCkKIHsKKyAgICBhdXRvIG1vbWVudHVtU3RhcnRJ
bnRlcnZhbCA9IGV2ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKSAtIG1fbGFzdEVuZGVkRXZlbnRU
aW1lc3RhbXA7CisKICAgICBtX2N1cnJlbnRHZXN0dXJlLmFjdGl2ZSA9IHRydWU7CiAgICAgbV9j
dXJyZW50R2VzdHVyZS5wYWdlSWRlbnRpZmllciA9IHBhZ2VJZGVudGlmaWVyOwogICAgIG1fY3Vy
cmVudEdlc3R1cmUuaW5pdGlhdGluZ0V2ZW50ID0gZXZlbnQ7CiAgICAgbV9jdXJyZW50R2VzdHVy
ZS5jdXJyZW50T2Zmc2V0ID0geyB9OwotICAgIG1fY3VycmVudEdlc3R1cmUuc3RhcnRUaW1lID0g
V2FsbFRpbWU6Om5vdygpOworICAgIG1fY3VycmVudEdlc3R1cmUuc3RhcnRUaW1lID0gTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtb21lbnR1bVN0YXJ0SW50ZXJ2YWw7CiAgICAgbV9jdXJyZW50R2Vz
dHVyZS5hY2NlbGVyYXRpb25DdXJ2ZSA9IFsmXSAoKSAtPiBzdGQ6Om9wdGlvbmFsPFNjcm9sbGlu
Z0FjY2VsZXJhdGlvbkN1cnZlPiB7CiAgICAgICAgIGF1dG8gY3VydmVJdGVyYXRvciA9IG1fYWNj
ZWxlcmF0aW9uQ3VydmVzLmZpbmQobV9jdXJyZW50R2VzdHVyZS5wYWdlSWRlbnRpZmllcik7CiAg
ICAgICAgIGlmIChjdXJ2ZUl0ZXJhdG9yID09IG1fYWNjZWxlcmF0aW9uQ3VydmVzLmVuZCgpKQpA
QCAtMTc2LDkgKzE4MiwxMCBAQCB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpkaWRTdGFy
dE1vbWVudHVtUGhhc2UoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZQogICAgIC8vIEZJWE1F
OiBUaGUgc3lzdGVtIGZhbGxzIGJhY2sgZnJvbSB0aGUgdGFibGUgdG8ganVzdCBnZW5lcmF0aW5n
IGRlbHRhcwogICAgIC8vIGRpcmVjdGx5IHdoZW4gdGhlIGZyYW1lIGludGVydmFsIGlzIHdpdGhp
biAyMGZwcyBvZiBpZGVhbEN1cnZlRnJhbWVSYXRlOwogICAgIC8vIHdlIHNob3VsZCBwZXJoYXBz
IGRvIHRoZSBzYW1lLgotICAgIGJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERlbHRhKCpldmVu
dC5yYXdQbGF0Zm9ybURlbHRhKCkpOworICAgIGZsb2F0IGlkZWFsQ3VydmVNdWx0aXBsaWVyID0g
bV9jdXJyZW50R2VzdHVyZS5hY2NlbGVyYXRpb25DdXJ2ZS0+ZnJhbWVSYXRlKCkgLyBpZGVhbEN1
cnZlRnJhbWVSYXRlOworICAgIGJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERlbHRhKCpldmVu
dC5yYXdQbGF0Zm9ybURlbHRhKCkgKiBpZGVhbEN1cnZlTXVsdGlwbGllcik7CiAKLSAgICBkaXNw
YXRjaFN5bnRoZXRpY01vbWVudHVtRXZlbnQoV2ViV2hlZWxFdmVudDo6UGhhc2VCZWdhbiwgeyB9
KTsKKyAgICBkaXNwYXRjaFN5bnRoZXRpY01vbWVudHVtRXZlbnQoV2ViV2hlZWxFdmVudDo6UGhh
c2VCZWdhbiwgY29uc3VtZURlbHRhRm9yQ3VycmVudFRpbWUoKSk7CiB9CiAKIHZvaWQgTW9tZW50
dW1FdmVudERpc3BhdGNoZXI6OmRpZEVuZE1vbWVudHVtUGhhc2UoKQpAQCAtMTg3LDcgKzE5NCw3
IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRpZEVuZE1vbWVudHVtUGhhc2UoKQog
CiAgICAgZGlzcGF0Y2hTeW50aGV0aWNNb21lbnR1bUV2ZW50KFdlYldoZWVsRXZlbnQ6OlBoYXNl
RW5kZWQsIHsgfSk7CiAKLSAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50
dW1FdmVudERpc3BhdGNoZXIgc2F3IG1vbWVudHVtIGVuZCBwaGFzZSB3aXRoIHRvdGFsIG9mZnNl
dCAlLjFmICUuMWYsIGR1cmF0aW9uICVmIChldmVudCBvZmZzZXQgd291bGQgaGF2ZSBiZWVuICUu
MWYgJS4xZikiLCBtX2N1cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQud2lkdGgoKSwgbV9jdXJy
ZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0LmhlaWdodCgpLCAoV2FsbFRpbWU6Om5vdygpIC0gbV9j
dXJyZW50R2VzdHVyZS5zdGFydFRpbWUpLnNlY29uZHMoKSwgbV9jdXJyZW50R2VzdHVyZS5hY2N1
bXVsYXRlZEV2ZW50T2Zmc2V0LndpZHRoKCksIG1fY3VycmVudEdlc3R1cmUuYWNjdW11bGF0ZWRF
dmVudE9mZnNldC5oZWlnaHQoKSk7CisgICAgUkVMRUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywg
Ik1vbWVudHVtRXZlbnREaXNwYXRjaGVyIHNhdyBtb21lbnR1bSBlbmQgcGhhc2Ugd2l0aCB0b3Rh
bCBvZmZzZXQgJS4xZiAlLjFmLCBkdXJhdGlvbiAlZiAoZXZlbnQgb2Zmc2V0IHdvdWxkIGhhdmUg
YmVlbiAlLjFmICUuMWYpIiwgbV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0LndpZHRoKCks
IG1fY3VycmVudEdlc3R1cmUuY3VycmVudE9mZnNldC5oZWlnaHQoKSwgKE1vbm90b25pY1RpbWU6
Om5vdygpIC0gbV9jdXJyZW50R2VzdHVyZS5zdGFydFRpbWUpLnNlY29uZHMoKSwgbV9jdXJyZW50
R2VzdHVyZS5hY2N1bXVsYXRlZEV2ZW50T2Zmc2V0LndpZHRoKCksIG1fY3VycmVudEdlc3R1cmUu
YWNjdW11bGF0ZWRFdmVudE9mZnNldC5oZWlnaHQoKSk7CiAKICAgICBzdG9wRGlzcGxheUxpbmso
KTsKIApAQCAtMjUxLDE1ICsyNTgsOSBAQCB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpw
YWdlU2NyZWVuRGlkQ2hhbmdlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRAogICAgICAg
ICBzdGFydERpc3BsYXlMaW5rKCk7CiB9CiAKLXZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6
OmRpc3BsYXlXYXNSZWZyZXNoZWQoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlE
LCBjb25zdCBXZWJDb3JlOjpEaXNwbGF5VXBkYXRlJikKK1dlYkNvcmU6OkZsb2F0U2l6ZSBNb21l
bnR1bUV2ZW50RGlzcGF0Y2hlcjo6Y29uc3VtZURlbHRhRm9yQ3VycmVudFRpbWUoKQogewotICAg
IGlmICghbV9jdXJyZW50R2VzdHVyZS5hY3RpdmUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlm
IChkaXNwbGF5SUQgIT0gdGhpcy0+ZGlzcGxheUlEKCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGF1dG8gYW5pbWF0aW9uVGltZSA9IFdhbGxUaW1lOjpub3coKSAtIG1fY3VycmVudEdlc3R1cmUu
c3RhcnRUaW1lOworICAgIGF1dG8gYW5pbWF0aW9uVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygp
IC0gbV9jdXJyZW50R2VzdHVyZS5zdGFydFRpbWU7CiAgICAgYXV0byBkZXNpcmVkT2Zmc2V0ID0g
b2Zmc2V0QXRUaW1lKGFuaW1hdGlvblRpbWUpOwogCiAjaWYgIVVTRShNT01FTlRVTV9FVkVOVF9E
SVNQQVRDSEVSX1BSRU1BVFVSRV9ST1VORElORykKQEAgLTI2OSw5ICsyNzAsMjAgQEAgdm9pZCBN
b21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGxheVdhc1JlZnJlc2hlZChXZWJDb3JlOjpQbGF0
Zm9ybURpc3BsYXlJRCBkaXMKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgZGVsdGEgPSBkZXNpcmVk
T2Zmc2V0IC0gbV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0OwogI2VuZGlmCiAKLSAgICBk
aXNwYXRjaFN5bnRoZXRpY01vbWVudHVtRXZlbnQoV2ViV2hlZWxFdmVudDo6UGhhc2VDaGFuZ2Vk
LCAtZGVsdGEpOwotCiAgICAgbV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0ICs9IGRlbHRh
OworCisgICAgcmV0dXJuIC1kZWx0YTsKK30KKwordm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hl
cjo6ZGlzcGxheVdhc1JlZnJlc2hlZChXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5
SUQsIGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlVcGRhdGUmKQoreworICAgIGlmICghbV9jdXJyZW50
R2VzdHVyZS5hY3RpdmUpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChkaXNwbGF5SUQgIT0g
dGhpcy0+ZGlzcGxheUlEKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGRpc3BhdGNoU3ludGhl
dGljTW9tZW50dW1FdmVudChXZWJXaGVlbEV2ZW50OjpQaGFzZUNoYW5nZWQsIGNvbnN1bWVEZWx0
YUZvckN1cnJlbnRUaW1lKCkpOwogfQogCiB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpk
aWRSZWNlaXZlU2Nyb2xsRXZlbnRXaXRoSW50ZXJ2YWwoV2ViQ29yZTo6RmxvYXRTaXplIHNpemUs
IFNlY29uZHMgZnJhbWVJbnRlcnZhbCkKQEAgLTM0Myw3ICszNTUsNyBAQCBXZWJDb3JlOjpGbG9h
dFNpemUgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6Om9mZnNldEF0VGltZShTZWNvbmRzIHRpbWUp
CiAgICAgaWYgKCFtX2N1cnJlbnRHZXN0dXJlLm9mZnNldFRhYmxlLnNpemUoKSkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAotICAgIGZsb2F0IGZyYWN0aW9uYWxGcmFtZU51bWJlciA9IHRpbWUuc2Vj
b25kcygpIC8gaWRlYWxDdXJ2ZUZyYW1lUmF0ZS5zZWNvbmRzKCk7CisgICAgZmxvYXQgZnJhY3Rp
b25hbEZyYW1lTnVtYmVyID0gdGltZS5zZWNvbmRzKCkgLyBpZGVhbEN1cnZlRnJhbWVJbnRlcnZh
bC5zZWNvbmRzKCk7CiAgICAgdW5zaWduZWQgbG9uZyBsb3dlckZyYW1lTnVtYmVyID0gc3RkOjpt
aW48dW5zaWduZWQgbG9uZz4obV9jdXJyZW50R2VzdHVyZS5vZmZzZXRUYWJsZS5zaXplKCkgLSAx
LCBmbG9vcihmcmFjdGlvbmFsRnJhbWVOdW1iZXIpKTsKICAgICB1bnNpZ25lZCBsb25nIHVwcGVy
RnJhbWVOdW1iZXIgPSBzdGQ6Om1pbjx1bnNpZ25lZCBsb25nPihtX2N1cnJlbnRHZXN0dXJlLm9m
ZnNldFRhYmxlLnNpemUoKSAtIDEsIGxvd2VyRnJhbWVOdW1iZXIgKyAxKTsKICAgICBmbG9hdCBh
bW91bnQgPSBmcmFjdGlvbmFsRnJhbWVOdW1iZXIgLSBsb3dlckZyYW1lTnVtYmVyOwpAQCAtMzc5
LDcgKzM5MSw3IEBAIHN0ZDo6cGFpcjxXZWJDb3JlOjpGbG9hdFNpemUsIFdlYkNvcmU6OkZsb2F0
U2l6ZT4gTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmNvbXB1CiB7CiAgICAgV2ViQ29yZTo6Rmxv
YXRTaXplIHVuYWNjZWxlcmF0ZWREZWx0YSA9IGN1cnJlbnRVbmFjY2VsZXJhdGVkRGVsdGE7CiAK
LSAgICBmbG9hdCBkZWNheVJhdGUgPSBtb21lbnR1bURlY2F5UmF0ZSh1bmFjY2VsZXJhdGVkRGVs
dGEsIGlkZWFsQ3VydmVGcmFtZVJhdGUpOworICAgIGZsb2F0IGRlY2F5UmF0ZSA9IG1vbWVudHVt
RGVjYXlSYXRlKHVuYWNjZWxlcmF0ZWREZWx0YSwgaWRlYWxDdXJ2ZUZyYW1lSW50ZXJ2YWwpOwog
ICAgIHVuYWNjZWxlcmF0ZWREZWx0YS5zY2FsZShkZWNheVJhdGUpOwogCiAgICAgYXV0byBxdWFu
dGl6ZWRVbmFjY2VsZXJhdGVkRGVsdGEgPSB1bmFjY2VsZXJhdGVkRGVsdGE7CkBAIC00MDMsNyAr
NDE1LDcgQEAgc3RkOjpwYWlyPFdlYkNvcmU6OkZsb2F0U2l6ZSwgV2ViQ29yZTo6RmxvYXRTaXpl
PiBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6Y29tcHUKICNlbmRpZgogCiAgICAgLy8gVGhlIGRl
bHRhIHF1ZXVlIG9wZXJhdGVzIG9uIHByZS1hY2NlbGVyYXRpb24gZGVsdGFzLCBzbyBpbnNlcnQg
dGhlIG5ldyBldmVudCAqYmVmb3JlKiBhY2NlbGVyYXRpbmcuCi0gICAgZGlkUmVjZWl2ZVNjcm9s
bEV2ZW50V2l0aEludGVydmFsKHF1YW50aXplZFVuYWNjZWxlcmF0ZWREZWx0YSwgaWRlYWxDdXJ2
ZUZyYW1lUmF0ZSk7CisgICAgZGlkUmVjZWl2ZVNjcm9sbEV2ZW50V2l0aEludGVydmFsKHF1YW50
aXplZFVuYWNjZWxlcmF0ZWREZWx0YSwgaWRlYWxDdXJ2ZUZyYW1lSW50ZXJ2YWwpOwogCiAgICAg
YXV0byBhY2NlbGVyYXRlQXhpcyA9IFsmXSAoSGlzdG9yaWNhbERlbHRhcyYgZGVsdGFzLCBmbG9h
dCB2YWx1ZSkgewogICAgICAgICBmbG9hdCB0b3RhbERlbHRhID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hl
ci5oCmluZGV4IDllYjg4OGRmNWIzZWY0ZTg0ZTlhNDk3NDVlY2E2Y2RjZjZjYmYyYTAuLjE4M2Q1
MzI4ZGRiZjg5ZmI4NDA1YWE2ZjY5ZDBlZTk2Y2M4MmMzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIu
aApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVjdEVkZ2VzLmg+CiAjaW5j
bHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Nb25v
dG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTgwLDYgKzgxLDkgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgYnVpbGRPZmZz
ZXRUYWJsZVdpdGhJbml0aWFsRGVsdGEoV2ViQ29yZTo6RmxvYXRTaXplKTsKIAorICAgIC8vIE9u
Y2UgY29uc3VtZWQsIHRoaXMgZGVsdGEgKm11c3QqIGJlIGRpc3BhdGNoZWQgaW4gYW4gZXZlbnQu
CisgICAgV2ViQ29yZTo6RmxvYXRTaXplIGNvbnN1bWVEZWx0YUZvckN1cnJlbnRUaW1lKCk7CisK
ICAgICBXZWJDb3JlOjpGbG9hdFNpemUgb2Zmc2V0QXRUaW1lKFNlY29uZHMpOwogICAgIHN0ZDo6
cGFpcjxXZWJDb3JlOjpGbG9hdFNpemUsIFdlYkNvcmU6OkZsb2F0U2l6ZT4gY29tcHV0ZU5leHRE
ZWx0YShXZWJDb3JlOjpGbG9hdFNpemUgY3VycmVudFVuYWNjZWxlcmF0ZWREZWx0YSk7CiAKQEAg
LTk2LDYgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgSGlzdG9yaWNhbERlbHRhcyBtX2RlbHRhSGlz
dG9yeVk7CiAKICAgICBzdGQ6Om9wdGlvbmFsPFdhbGxUaW1lPiBtX2xhc3RTY3JvbGxUaW1lc3Rh
bXA7CisgICAgV2FsbFRpbWUgbV9sYXN0RW5kZWRFdmVudFRpbWVzdGFtcDsKICAgICBzdGQ6Om9w
dGlvbmFsPFdlYldoZWVsRXZlbnQ+IG1fbGFzdEluY29taW5nRXZlbnQ7CiAgICAgV2ViQ29yZTo6
UmVjdEVkZ2VzPGJvb2w+IG1fbGFzdFJ1YmJlckJhbmRhYmxlRWRnZXM7CiAjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECkBAIC0xMTAsNyArMTE1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgc3RkOjpv
cHRpb25hbDxXZWJXaGVlbEV2ZW50PiBpbml0aWF0aW5nRXZlbnQ7CiAKICAgICAgICAgV2ViQ29y
ZTo6RmxvYXRTaXplIGN1cnJlbnRPZmZzZXQ7Ci0gICAgICAgIFdhbGxUaW1lIHN0YXJ0VGltZTsK
KyAgICAgICAgTW9ub3RvbmljVGltZSBzdGFydFRpbWU7CiAKICAgICAgICAgVmVjdG9yPFdlYkNv
cmU6OkZsb2F0U2l6ZT4gb2Zmc2V0VGFibGU7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>