<?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>231271</bug_id>
          
          <creation_ts>2021-10-05 17:23:53 -0700</creation_ts>
          <short_desc>Allow smooth scroll animations to run on the scrolling thread</short_desc>
          <delta_ts>2021-10-10 21:33:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>231402</dup_id>
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=204936</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>188043</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cathiechen</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>jonlee</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1800885</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-05 17:23:53 -0700</bug_when>
    <thetext>Allow smooth scroll animations to run on the scrolling thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800894</commentid>
    <comment_count>1</comment_count>
      <attachid>440310</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-05 17:29:39 -0700</bug_when>
    <thetext>Created attachment 440310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800926</commentid>
    <comment_count>2</comment_count>
      <attachid>440323</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-05 19:27:32 -0700</bug_when>
    <thetext>Created attachment 440323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800932</commentid>
    <comment_count>3</comment_count>
      <attachid>440326</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-05 20:20:22 -0700</bug_when>
    <thetext>Created attachment 440326
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800939</commentid>
    <comment_count>4</comment_count>
      <attachid>440327</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-05 21:11:00 -0700</bug_when>
    <thetext>Created attachment 440327
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802475</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-10 13:10:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/84078712&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802519</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-10 21:33:44 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 231402 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440310</attachid>
            <date>2021-10-05 17:29:39 -0700</date>
            <delta_ts>2021-10-05 17:56:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231271-20211005172938.patch</filename>
            <type>text/plain</type>
            <size>34425</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI3MzdiMjY3NzRlMTMy
MWU1NWZhMTI3OGU0NDVjMTA0MjJlNDkxZS4uZTI0NGM4YTI5MjA0ZmYwNGE3YzY3MDZkYzQ4OWRl
YWIwMTk0MTA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTEwLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHNtb290
aCBzY3JvbGwgYW5pbWF0aW9ucyB0byBydW4gb24gdGhlIHNjcm9sbGluZyB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTI3MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVj
dHVyZSBzbyB0aGF0IHdlIGNhbiBoYXZlIGFuIGFuaW1hdGVkIHNjcm9sbCBydW4gb24gdGhlIHNj
cm9sbGluZyB0aHJlYWQsIG9yCisgICAgICAgIHVsdGltYXRlbHkgaW4gdGhlIFVJIHByb2Nlc3Mg
b24gaU9TLgorICAgICAgICAKKyAgICAgICAgUmVxdWVzdGVkU2Nyb2xsRGF0YSBnZXRzIGEgZmll
bGQgdG8gc2VlIGlmIHRoZSBzY3JvbGwgaXMgYW5pbWF0ZWQgb3Igbm90LgorICAgICAgICAKKyAg
ICAgICAgQWRkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bv
c2l0aW9uKCkgd2hpY2ggaXMgYW5hbG9nb3VzIHRvCisgICAgICAgIHJlcXVlc3RTY3JvbGxQb3Np
dGlvblVwZGF0ZSgpLCB3aGljaCBpcyBvdmVycmlkZGVuIGJ5IEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IgdG8gdHVybiB0aGF0CisgICAgICAgIGludG8gYSByZXF1ZXN0ZWRTY3JvbGxQb3NpdGlv
blVwZGF0ZSBvbiBhIHNjcm9sbGluZyB0cmVlIG5vZGUuCisKKyAgICAgICAgVGhlIHNjcm9sbHMg
YXJlIGN1cnJlbnRseSB0cmlnZ2VyZWQgZnJvbQorICAgICAgICBTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZSo6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbigpIHZpYSB0aGUgJ2FuaW1hdGVkJyBh
cmd1bWVudCB0bworICAgICAgICBzY3JvbGxUbygpLCBidXQgdGhhdCdzIGFjdHVhbGx5IHdyb25n
OyB3ZSBydW4gdGhpcyBjb2RlIG9uIHRoZSBtYWluIHRocmVhZCwgc28gdGhpcyBzdGlsbAorICAg
ICAgICB0cmlnZ2VycyBtYWluIHRocmVhZCBhbmltYXRpb25zLiBBIGZ1dHVyZSBwYXRjaCB3aWxs
IGZpeCB0aGF0LgorCisgICAgICAgIFRoaXMgZG9lcyBub3QgeWV0IGhvb2sgdXAgYW5pbWF0ZWQg
c2Nyb2xscyBmb3IgaU9TLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9u
KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RBbmltYXRlZFNj
cm9sbFRvUG9zaXRpb24pOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RT
Y3JvbGxQb3NpdGlvblVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvcjo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6ZHVtcFByb3BlcnRpZXMgY29uc3QpOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVxdWVzdGVkU2Nyb2xsRGF0YTo6b3BlcmF0b3I9PSBjb25zdCk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNjcm9sbFRv
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5o
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnN0
YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0
aW9uKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVEZWxlZ2F0ZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRv
UG9zaXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJs
ZUFyZWE6OnNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnJl
cXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
U2Nyb2xsYWJsZUFyZWE6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmg6CisKIDIwMjEtMTAtMDUg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBtX2F1
dG9TaHJpbmtUb0ZpdEVuYWJsZWQgZnJvbSBSdWxlU2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY4NWRmM2YwYWUz
YjlmMGM2M2FhN2M5MTNlODI2MjcyZmE1ZmEzZTMuLjhkZjY2NjE1MzE3Nzc0MmQ5ZGM0NDcyZDdm
ZjA0YmVlYjEwNjFhOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTAtMDUgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgc21v
b3RoIHNjcm9sbCBhbmltYXRpb25zIHRvIHJ1biBvbiB0aGUgc2Nyb2xsaW5nIHRocmVhZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMjcxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwOgor
ICAgICAgICAoQXJndW1lbnRDb2RlcjxSZXF1ZXN0ZWRTY3JvbGxEYXRhPjo6ZW5jb2RlKToKKyAg
ICAgICAgKEFyZ3VtZW50Q29kZXI8UmVxdWVzdGVkU2Nyb2xsRGF0YT46OmRlY29kZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZVJlbW90ZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlSU9TOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVSZW1vdGVNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlUmVtb3RlTWFjLmg6CisKIDIw
MjEtMTAtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
U1BJIHRvIGxhdW5jaCBhIHNlcnZpY2Ugc2VydmljZSB3b3JrZXIgaW4gYSBXS1dlYlZpZXcgYW5k
IGV4cG9zZSBzZXJ2aWNlIHdvcmtlciB0byBpbmplY3RlZCBidW5kbGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAppbmRleCAxODc3ZGNmMTE2ZmFiMzY4MWQ2YmNkNjk5OTc0NTAwYTRhMWQ5NmQw
Li43OTA0ZjI5YWMxZjAwYTQ0ZWMxNGQ0ZjMyNTI4ZGJiODdjMTc5NzMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCkBAIC0yNjg3LDYgKzI2ODcsMjAgQEAgYm9vbCBGcmFtZVZpZXc6OnJl
cXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24s
IFNjcm8KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRnJhbWVWaWV3OjpyZXF1ZXN0QW5p
bWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXN0aW5hdGlvblBv
c2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3sKKyAgICBMT0dfV0lUSF9TVFJFQU0o
U2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZyYW1lVmlldzo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Q
b3NpdGlvbiAiIDw8IGRlc3RpbmF0aW9uUG9zaXRpb24pOworCisjaWYgRU5BQkxFKEFTWU5DX1ND
Uk9MTElORykKKyAgICBpZiAoYXV0byBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9s
bGluZ0Nvb3JkaW5hdG9yKCkpCisgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+
cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbigqdGhpcywgZGVzdGluYXRpb25Qb3NpdGlv
biwgY2xhbXBpbmcpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocG9zaXRpb24pOworI2VuZGlm
CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIEhvc3RXaW5kb3cqIEZyYW1lVmlldzo6aG9zdFdp
bmRvdygpIGNvbnN0CiB7CiAgICAgYXV0byogcGFnZSA9IGZyYW1lKCkucGFnZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmgKaW5kZXggZDlkNDhhZjVmN2QxNDk3N2YzYTUwZGU1NjU5OTNlZGUzZDUy
YTMxOC4uNjMxODVkMTE1OWE2MWM4YTM2MDBmOWVhOThjYmNhNmQ1OTc5ZGNiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCkBAIC0yNDYsNyArMjQ2LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNj
cm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVlZGVkKCk7CiAgICAgdm9pZCB1cGRh
dGVMYXllclBvc2l0aW9uc0FmdGVyU2Nyb2xsaW5nKCkgZmluYWw7CiAgICAgdm9pZCB1cGRhdGVD
b21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5nKCkgZmluYWw7CisKICAgICBib29sIHJlcXVl
c3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUg
PSBTY3JvbGxUeXBlOjpVc2VyLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkKSBmaW5hbDsKKyAgICBib29sIHJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oY29u
c3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkKSBmaW5hbDsKKwogICAgIGJvb2wgaXNVc2VyU2Nyb2xsSW5Qcm9ncmVzcygpIGNvbnN0IGZp
bmFsOwogICAgIGJvb2wgaXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0IGZpbmFsOwogICAg
IFdFQkNPUkVfRVhQT1JUIFNjcm9sbFBvc2l0aW9uIG1pbmltdW1TY3JvbGxQb3NpdGlvbigpIGNv
bnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBjZGRmMzRiYjZjMDkwZTQwN2Fm
YzI3M2JlMzQ2ZWFjOWY0OWY5NjE1Li5hYmM4MGFiMDAwOWFiZDI0ZGM4YmUzMTUzZjk0OGUxNDcw
ZjAzZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjM5LDcgKzIzOSw3IEBAIHZvaWQg
QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdlKEZy
YW1lVmlldyYgZnJhbWVWaWV3CiAgICAgbm9kZS0+c2V0SG9yaXpvbnRhbFNjcm9sbGJhckxheWVy
KGZyYW1lVmlldy5sYXllckZvckhvcml6b250YWxTY3JvbGxiYXIoKSk7CiB9CiAKLWJvb2wgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKFNjcm9s
bGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwgY29uc3QgSW50UG9pbnQmIHNjcm9sbFBvc2l0aW9u
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQorYm9vbCBB
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoU2Ny
b2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhLCBjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xs
UG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcp
CiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBBU1NFUlQobV9wYWdlKTsKQEAg
LTI3Myw3ICsyNzMsMzYgQEAgYm9vbCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0
U2Nyb2xsUG9zaXRpb25VcGRhdGUoU2Nyb2xsYWJsZUFyZWEmIHNjcm8KICAgICBpZiAoIXN0YXRl
Tm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc3RhdGVOb2RlLT5zZXRSZXF1ZXN0
ZWRTY3JvbGxEYXRhKHsgc2Nyb2xsUG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nIH0pOwor
ICAgIHN0YXRlTm9kZS0+c2V0UmVxdWVzdGVkU2Nyb2xsRGF0YSh7IHNjcm9sbFBvc2l0aW9uLCBz
Y3JvbGxUeXBlLCBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGw6Ok5vIH0pOworICAgIC8vIEZJWE1F
OiBUaGlzIHNob3VsZCBzY2hlZHVsZSBhIHJlbmRlcmluZyB1cGRhdGUKKyAgICBjb21taXRUcmVl
U3RhdGVJZk5lZWRlZCgpOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oU2Nyb2xsYWJs
ZUFyZWEmIHNjcm9sbGFibGVBcmVhLCBjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzdGluYXRpb25Q
b3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit7CisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKKyAgICBBU1NFUlQobV9wYWdlKTsKKyAgICBhdXRvIHNjcm9sbGluZ05vZGVJRCA9
IHNjcm9sbGFibGVBcmVhLnNjcm9sbGluZ05vZGVJRCgpOworICAgIGlmICghc2Nyb2xsaW5nTm9k
ZUlEKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvKiBmcmFtZVZpZXcgPSBmcmFt
ZVZpZXdGb3JTY3JvbGxpbmdOb2RlKHNjcm9sbGluZ05vZGVJRCk7CisgICAgaWYgKCFmcmFtZVZp
ZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghY29vcmRpbmF0ZXNTY3JvbGxp
bmdGb3JGcmFtZVZpZXcoKmZyYW1lVmlldykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHNldFNjcm9sbGluZ05vZGVTY3JvbGxhYmxlQXJlYUdlb21ldHJ5KHNjcm9sbGluZ05vZGVJRCwg
c2Nyb2xsYWJsZUFyZWEpOworCisgICAgYXV0byogc3RhdGVOb2RlID0gZG93bmNhc3Q8U2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlPihtX3Njcm9sbGluZ1N0YXRlVHJlZS0+c3RhdGVOb2RlRm9y
SUQoc2Nyb2xsaW5nTm9kZUlEKSk7CisgICAgaWYgKCFzdGF0ZU5vZGUpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIC8vIEFuaW1hdGVkIHNjcm9sbHMgYXJlIGFsd2F5cyBwcm9ncmFtbWF0
aWMuCisgICAgc3RhdGVOb2RlLT5zZXRSZXF1ZXN0ZWRTY3JvbGxEYXRhKHsgZGVzdGluYXRpb25Q
b3NpdGlvbiwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBjbGFtcGluZywgQW5pbWF0ZWRTY3Jv
bGw6OlllcyB9KTsKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgc2NoZWR1bGUgYSByZW5kZXJp
bmcgdXBkYXRlCiAgICAgY29tbWl0VHJlZVN0YXRlSWZOZWVkZWQoKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCBiMmU0ZWUxNzZiZWM2YjUwN2QzYjljY2YyMmVj
YTBiN2VkOGZmYWIzLi44MjUwNjFkYmQwOWZiZWM3MDQyMzAyOGI1MmE2NmJjNTg3N2NlOGU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3Jv
bGxpbmdDb29yZGluYXRvci5oCkBAIC0xMDAsNyArMTAwLDggQEAgcHJpdmF0ZToKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGZyYW1lVmlld1Zpc3VhbFZpZXdwb3J0Q2hhbmdlZChGcmFtZVZpZXcm
KSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZyYW1lVmlld0V2ZW50VHJhY2tp
bmdSZWdpb25zQ2hhbmdlZChGcmFtZVZpZXcmKSBvdmVycmlkZTsKIAotICAgIFdFQkNPUkVfRVhQ
T1JUIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKFNjcm9sbGFibGVBcmVhJiwgY29u
c3QgSW50UG9pbnQmLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZykgb3ZlcnJpZGU7CisgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoU2Nyb2xsYWJs
ZUFyZWEmLCBjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5n
KSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIHJlcXVlc3RBbmltYXRlZFNjcm9sbFRv
UG9zaXRpb24oU2Nyb2xsYWJsZUFyZWEmLCBjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENs
YW1waW5nKSBmaW5hbDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlTY3JvbGxpbmdU
cmVlTGF5ZXJQb3NpdGlvbnMoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggODNkOWRlMTNlMzI2
ODMyZmMwMWJmMTNhMWUyODEyZWM0ZGUzOTcxZi4uOTEwNmEzMjdmMWU1ODY2N2NkYjg2NDE0YmFk
MTJmYzUyM2FmMGE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xMTIsNyArMTEyLDEwIEBAIHB1YmxpYzoKIAog
ICAgIC8vIFRoZXNlIHZpcnR1YWwgZnVuY3Rpb25zIGFyZSBjdXJyZW50bHkgdW5pcXVlIHRvIHRo
ZSB0aHJlYWRlZCBzY3JvbGxpbmcgYXJjaGl0ZWN0dXJlLiAKICAgICB2aXJ0dWFsIHZvaWQgY29t
bWl0VHJlZVN0YXRlSWZOZWVkZWQoKSB7IH0KLSAgICB2aXJ0dWFsIGJvb2wgcmVxdWVzdFNjcm9s
bFBvc2l0aW9uVXBkYXRlKFNjcm9sbGFibGVBcmVhJiwgY29uc3QgSW50UG9pbnQmLCBTY3JvbGxU
eXBlID0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENs
YW1waW5nOjpDbGFtcGVkKSB7IHJldHVybiBmYWxzZTsgfQorCisgICAgdmlydHVhbCBib29sIHJl
cXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShTY3JvbGxhYmxlQXJlYSYsIGNvbnN0IFNjcm9sbFBv
c2l0aW9uJiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xh
bXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2
aXJ0dWFsIGJvb2wgcmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihTY3JvbGxhYmxlQXJl
YSYsIGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcpIHsgcmV0dXJuIGZhbHNl
OyB9CisKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxpbmdOb2RlSUQsIHN0ZDo6b3B0aW9uYWw8V2hl
ZWxTY3JvbGxHZXN0dXJlU3RhdGU+KSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCB3aGVlbEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYsIHN0ZDo6b3B0aW9uYWw8V2hlZWxTY3JvbGxHZXN0dXJlU3RhdGU+KSB7IH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggODg2NjMzMGY5MjVjNjUzNmRjNDhlZmJmMTczNmU1
OTAxYTAwYzQyOC4uMTI5NmU5MzJjYzk3YmQ0YzYzNTgyNTk2NGZjOTkyOWQ3YTM5MTcyMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0yOTcsNiArMjk3LDkgQEAgdm9pZCBTY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGU6OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBTY3Jv
bGxpbmdTdGF0ZVQKICAgICBpZiAobV9yZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nID09IFNj
cm9sbENsYW1waW5nOjpVbmNsYW1wZWQpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgicmVxdWVz
dGVkIHNjcm9sbCBwb3NpdGlvbiBjbGFtcGluZyIsIG1fcmVxdWVzdGVkU2Nyb2xsRGF0YS5jbGFt
cGluZyk7CiAKKyAgICBpZiAobV9yZXF1ZXN0ZWRTY3JvbGxEYXRhLmFuaW1hdGVkID09IEFuaW1h
dGVkU2Nyb2xsOjpZZXMpCisgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgicmVxdWVzdGVkIHNjcm9s
bCBwb3NpdGlvbiBpcyBhbmltYXRlZCIsIHRydWUpOworCiAgICAgaWYgKG1fc2Nyb2xsT3JpZ2lu
ICE9IEludFBvaW50KCkpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgic2Nyb2xsIG9yaWdpbiIs
IG1fc2Nyb2xsT3JpZ2luKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAppbmRleCA4YmNmOTFkYWQ5
MWNmYWVmY2FiMTA3NGFkNmY3OGEwMTUxMmY4OTE5Li5mMmJmYWE0MzA1ZTFjNzA4M2RiZjExMWEx
ZGE5MGQwNzc4OGMyYTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaApAQCAtNDIsMTIgKzQyLDE0
IEBAIHN0cnVjdCBSZXF1ZXN0ZWRTY3JvbGxEYXRhIHsKICAgICBGbG9hdFBvaW50IHNjcm9sbFBv
c2l0aW9uOwogICAgIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSB7IFNjcm9sbFR5cGU6OlVzZXIgfTsK
ICAgICBTY3JvbGxDbGFtcGluZyBjbGFtcGluZyB7IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkIH07
CisgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgeyBBbmltYXRlZFNjcm9sbDo6Tm8gfTsKICAg
ICAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVxdWVzdGVkU2Nyb2xsRGF0YSYgb3RoZXIp
IGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gc2Nyb2xsUG9zaXRpb24gPT0gb3RoZXIuc2Ny
b2xsUG9zaXRpb24KICAgICAgICAgICAgICYmIHNjcm9sbFR5cGUgPT0gb3RoZXIuc2Nyb2xsVHlw
ZQotICAgICAgICAgICAgJiYgY2xhbXBpbmcgPT0gb3RoZXIuY2xhbXBpbmc7CisgICAgICAgICAg
ICAmJiBjbGFtcGluZyA9PSBvdGhlci5jbGFtcGluZworICAgICAgICAgICAgJiYgYW5pbWF0ZWQg
PT0gb3RoZXIuYW5pbWF0ZWQ7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCmlu
ZGV4IDk4YTMzNzkwNWU0OTVjZTQ0MmMzOTE3NTZmZWYxZmYzNzQyYWM1ZmMuLjAzZGQ0NTQ0OTYy
NWYyZDQxMThiNGVjNzgwZDA2NGQzNTJhMDVjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAK
QEAgLTI0MCwxMSArMjQwLDE2IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNj
cm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIFNjcm9sbENsYW1waW5nCiAgICAgc2Nyb2xs
VG8oY3VycmVudFNjcm9sbFBvc2l0aW9uKCkgKyBkZWx0YSwgU2Nyb2xsVHlwZTo6VXNlciwgY2xh
bXApOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzY3JvbGxUbyhjb25z
dCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZyBjbGFtcCkKK3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNjcm9sbFRvKGNv
bnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENs
YW1waW5nIGNsYW1wLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsKICAgICBpZiAocG9zaXRp
b24gPT0gbV9jdXJyZW50U2Nyb2xsUG9zaXRpb24pCiAgICAgICAgIHJldHVybjsKIAorICAgIGlm
IChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKSB7CisgICAgICAgIGlmIChzdGFydEFu
aW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihwb3NpdGlvbikpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgc2Nyb2xsaW5nVHJlZSgpLnNldElzSGFuZGxpbmdQcm9ncmFtbWF0aWNTY3Jv
bGwoc2Nyb2xsVHlwZSA9PSBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMpOwogCiAgICAgaWYgKHNj
cm9sbFR5cGUgPT0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgK
aW5kZXggOWMxYmE2YjJmMTAzZDRjNDQ1NTkyNTBjNTc2NjBhMTEzYjE0NWVmMC4uNGM0MWVjYWJj
ZjYyZWJhOGJlYmU2MWQ1NDI0MTU0MzkxMWZkNmUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCkBA
IC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNjcm9sbFNuYXBJblByb2dyZXNz
KGJvb2wpOwogCiAgICAgLy8gVGhlc2UgYXJlIGltcGVyYXRpdmU7IHRoZXkgYWRqdXN0IHRoZSBz
Y3JvbGxpbmcgbGF5ZXJzLgotICAgIHZvaWQgc2Nyb2xsVG8oY29uc3QgRmxvYXRQb2ludCYsIFNj
cm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpVc2VyLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkKTsKKyAgICB2b2lkIHNjcm9sbFRvKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3Jv
bGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9sbDo6Tm8pOwogICAgIHZv
aWQgc2Nyb2xsQnkoY29uc3QgRmxvYXRTaXplJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFt
cGluZzo6Q2xhbXBlZCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFNjcm9sbEFuaW1hdGlvbnMo
KSB7IH07CkBAIC0xMjMsNiArMTIzLDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB3
aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYpIHsgfQogICAgIAogICAg
IHZpcnR1YWwgRmxvYXRQb2ludCBhZGp1c3RlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9p
bnQmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSBjb25zdDsKKyAg
ICAKKyAgICB2aXJ0dWFsIGJvb2wgc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQ
b2ludCkgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBjdXJyZW50U2Nyb2xs
UG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24g
PSBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOjpTeW5jKTsKICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlVmlld3BvcnRGb3JDdXJyZW50U2Nyb2xsUG9zaXRpb24oc3RkOjpvcHRpb25hbDxGbG9h
dFJlY3Q+ID0geyB9KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUuaAppbmRl
eCA1NTE4YjRjYzRjOWEzMDk3YTY1NmRhNTE4MDEzNWQzOTNmNGU5MGIxLi4zZGFmNTc4NTlmZTBm
ODAwODE5ZTdjMGMyMWIyYmQ3OWM5ODBhYTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZS5oCkBAIC0zOCw2ICszOCw4IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlJiBzY3JvbGxpbmdOb2RlKCkgeyByZXR1cm4gbV9zY3JvbGxpbmdOb2RlOyB9
CiAgICAgY29uc3QgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ05vZGUoKSBj
b25zdCB7IHJldHVybiBtX3Njcm9sbGluZ05vZGU7IH0KKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wg
c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgPSAwOwogCiBwcm90ZWN0
ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSgpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKaW5kZXggYzBl
ODI3YzRiZmFlNDI2YzIxNGNhN2Q2YTYzNzBiOGM1YmQyODYyZi4uMWRiZjkwYjY3NjQ3YjY3YmI5
ZmRmMWEwYzI5YWU0YzY1NWRjYjFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5oCkBAIC02Niw2ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCB3aWxsQmVE
ZXN0cm95ZWQoKSBmaW5hbDsKICAgICB2b2lkIHdpbGxEb1Byb2dyYW1tYXRpY1Njcm9sbChjb25z
dCBGbG9hdFBvaW50JikgZmluYWw7CiAKKyAgICBib29sIHN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bv
c2l0aW9uKEZsb2F0UG9pbnQpIGZpbmFsOworCiAgICAgRmxvYXRQb2ludCBhZGp1c3RlZFNjcm9s
bFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxDbGFtcGluZykgY29uc3QgZmluYWw7
CiAKICAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoU2Nyb2xsVHlwZSwgU2Ny
b2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDNjMTRiY2JlNzFiMTZiYzRlMGRhMmI5YWIxNmI5
NWRhMmUxOTY4MWEuLjAzMmVjMzAzN2IwZWU1OTJjYzEyMDE5NTI1NzAxZDI5ODFjOGM0YjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCkBAIC0xMDcsNyAr
MTA3LDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRT
dGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW4KICAgICAvLyBVcGRhdGUgdGhlIHNjcm9s
bCBwb3NpdGlvbiBhZnRlciBjaGlsZCBub2RlcyBoYXZlIGJlZW4gdXBkYXRlZCwgYmVjYXVzZSB0
aGV5IG5lZWQgdG8gaGF2ZSB1cGRhdGVkIHRoZWlyIGNvbnN0cmFpbnRzIGJlZm9yZSBhbnkgc2Ny
b2xsaW5nIGhhcHBlbnMuCiAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJv
cGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRp
b24pKSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3RlZFNjcm9sbERhdGEgPSBzY3JvbGxp
bmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpOwotICAgICAgICBzY3JvbGxUbyhyZXF1
ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9s
bFR5cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUbyhy
ZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNj
cm9sbFR5cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcsIHJlcXVlc3RlZFNjcm9sbERh
dGEuYW5pbWF0ZWQpOwogICAgIH0KIAogICAgIGlmIChpc1Jvb3ROb2RlKCkKQEAgLTEzMiw2ICsx
MzIsMTEgQEAgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQoY28KICAgICByZXR1cm4gV2hlZWxFdmVudEhh
bmRsaW5nUmVzdWx0OjpyZXN1bHQoaGFuZGxlZCk7CiB9CiAKK2Jvb2wgU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQ
b2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQoreworICAgIHJldHVybiBtX2RlbGVnYXRlLnN0YXJ0
QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGRlc3RpbmF0aW9uUG9zaXRpb24pOworfQorCiB2b2lk
IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OndpbGxEb1Byb2dyYW1tYXRpY1Nj
cm9sbChjb25zdCBGbG9hdFBvaW50JiB0YXJnZXRTY3JvbGxQb3NpdGlvbikKIHsKICAgICBtX2Rl
bGVnYXRlLndpbGxEb1Byb2dyYW1tYXRpY1Njcm9sbCh0YXJnZXRTY3JvbGxQb3NpdGlvbik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaAppbmRleCA2Y2Zk
NWZlNWY3MzRhMGU1M2QwOWEyMzE2ZDc1MTk0OTQxYTAxNzY0Li43YmZjZGU3N2I2ZTQ2YmFhYWMw
NWU5MGVjOTE3YTgzMDFlYjczM2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlTWFjLmgKQEAgLTQ1LDEyICs0NSwxNCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92
ZXJyaWRlOwogICAgIHZvaWQgY29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGlu
Z1N0YXRlTm9kZSYpIG92ZXJyaWRlOwogICAgIAotICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3Jv
bGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcpIGNvbnN0IG92ZXJy
aWRlOworICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBv
aW50JiwgU2Nyb2xsQ2xhbXBpbmcpIGNvbnN0IGZpbmFsOworCisgICAgYm9vbCBzdGFydEFuaW1h
dGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50IGRlc3RpbmF0aW9uUG9zaXRpb24pIGZpbmFs
OwogCiAgICAgdm9pZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNj
cm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pIGZpbmFsOwogICAgIHZvaWQgd2lsbERvUHJvZ3Jh
bW1hdGljU2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmKSBmaW5hbDsKIAotICAgIHZvaWQgcmVwb3Np
dGlvblNjcm9sbGluZ0xheWVycygpIG92ZXJyaWRlOworICAgIHZvaWQgcmVwb3NpdGlvblNjcm9s
bGluZ0xheWVycygpIGZpbmFsOwogICAgIHZvaWQgcmVwb3NpdGlvblJlbGF0ZWRMYXllcnMoKSBv
dmVycmlkZTsKIAogICAgIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIEV2ZW50VGFyZ2V0aW5nKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KaW5kZXggNmQy
YjAyODdjYTlkZmMzMDgxNmZiYWI2NGVlMDJjNDkzOWIyZGJmYi4uZWQyYTMyZTBlMjdkYjQyMWIz
OTUzZGYxZjViMzExYTQyOTViMTU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVNYWMubW0KQEAgLTY5LDcgKzY5LDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3Qg
U2Nyb2wKIAogICAgIGlmIChvdmVyZmxvd1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Ny
b2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24pKSB7CiAg
ICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3RlZFNjcm9sbERhdGEgPSBvdmVyZmxvd1N0YXRlTm9k
ZS5yZXF1ZXN0ZWRTY3JvbGxEYXRhKCk7Ci0gICAgICAgIHNjcm9sbFRvKHJlcXVlc3RlZFNjcm9s
bERhdGEuc2Nyb2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsVHlwZSwgcmVx
dWVzdGVkU2Nyb2xsRGF0YS5jbGFtcGluZyk7CisgICAgICAgIHNjcm9sbFRvKHJlcXVlc3RlZFNj
cm9sbERhdGEuc2Nyb2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsVHlwZSwg
cmVxdWVzdGVkU2Nyb2xsRGF0YS5jbGFtcGluZywgcmVxdWVzdGVkU2Nyb2xsRGF0YS5hbmltYXRl
ZCk7CiAgICAgfQogfQogCkBAIC04Niw2ICs4NiwxMSBAQCBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1
bHQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6aGFuZGxlV2hlZWxFdmVu
dAogICAgIHJldHVybiBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQ6OnJlc3VsdChtX2RlbGVnYXRl
LmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCkpOwogfQogCitib29sIFNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZs
b2F0UG9pbnQgZGVzdGluYXRpb25Qb3NpdGlvbikKK3sKKyAgICByZXR1cm4gbV9kZWxlZ2F0ZS5z
dGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uKTsKK30KKwog
dm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjp3aWxsRG9Qcm9ncmFt
bWF0aWNTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgdGFyZ2V0U2Nyb2xsUG9zaXRpb24pCiB7CiAg
ICAgbV9kZWxlZ2F0ZS53aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwodGFyZ2V0U2Nyb2xsUG9zaXRp
b24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLmgKaW5k
ZXggYThiNzM5NWQ3NTJiMWYxMDJjY2YzODM3OGNlZjFlZjk4YTk0NmEyOC4uMTRlYjM0M2U4ODA0
OWQ3OWM1NDU5OGQzZTFlYTZiMzY1Y2Y4Nzc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oCkBAIC01MSw3ICs1MSw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIG5vZGVXaWxsQmVEZXN0cm95ZWQoKTsKIAogICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKLSAgICAKKworICAgIGJvb2wgc3RhcnRBbmltYXRl
ZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgZmluYWw7CisKICAgICB2b2lkIHdpbGxEb1By
b2dyYW1tYXRpY1Njcm9sbChjb25zdCBGbG9hdFBvaW50Jik7CiAgICAgdm9pZCBjdXJyZW50U2Ny
b2xsUG9zaXRpb25DaGFuZ2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVNYWMubW0KaW5kZXggMDg4ZDM4MDUyODhiYTg4N2FmMjZmMzc3ZTI3MzljNDE2
OGIwOTY2MS4uYmRiNjAxOTE4ODMxMzJkZWViNDA5MjcxZDVhMWQzMmEyNTk2NzM0MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KQEAgLTExMyw2
ICsxMTMsMTQgQEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpo
YW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWwKICAgICByZXR1cm4gbV9zY3JvbGxD
b250cm9sbGVyLmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CiB9CiAKK2Jvb2wgU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9z
aXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQoreworICAgIGF1dG8gY3VycmVu
dE9mZnNldCA9IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oY3VycmVu
dFNjcm9sbFBvc2l0aW9uKCksIHNjcm9sbE9yaWdpbigpKTsKKyAgICBhdXRvIGRlc3RpbmF0aW9u
T2Zmc2V0ID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihkZXN0aW5h
dGlvblBvc2l0aW9uLCBzY3JvbGxPcmlnaW4oKSk7CisgICAgCisgICAgcmV0dXJuIG1fc2Nyb2xs
Q29udHJvbGxlci5zdGFydEFuaW1hdGVkU2Nyb2xsVG9EZXN0aW5hdGlvbihjdXJyZW50T2Zmc2V0
LCBkZXN0aW5hdGlvbk9mZnNldCk7Cit9CisKIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZU1hYzo6d2lsbERvUHJvZ3JhbW1hdGljU2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQm
IHRhcmdldFBvc2l0aW9uKQogewogICAgIGlmIChzY3JvbGxQb3NpdGlvbklzTm90UnViYmVyYmFu
ZGluZ0VkZ2UodGFyZ2V0UG9zaXRpb24pKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlw
ZXMuaAppbmRleCA3ZGM3ZTRiNDg3MjZhYzBmZGNiOThkNWI0YjYwNzZkMmUzMDU4MWVhLi5lNjJi
MDI0N2FmOGVhOTZmNDBjNDRiZWYxN2Y2MjM1YTYwYWNlMmYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFR5cGVzLmgKQEAgLTMwNyw2ICszMDcsMTQgQEAgc3RydWN0IFNjcm9sbFBvc2l0
aW9uQ2hhbmdlT3B0aW9ucyB7CiAKIG5hbWVzcGFjZSBXVEYgewogCit0ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFuaW1hdGVkU2Nyb2xsPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6QW5pbWF0ZWRTY3JvbGwsCisgICAgICAg
IFdlYkNvcmU6OkFuaW1hdGVkU2Nyb2xsOjpObywKKyAgICAgICAgV2ViQ29yZTo6QW5pbWF0ZWRT
Y3JvbGw6OlllcworICAgID47Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdl
YkNvcmU6OlNjcm9sbGJhck1vZGU+IHsKICAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAog
ICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGM1ZjZlN2ZmM2JlZWZiMzRhMzAwNTRiMGVmNDkxZjJl
ZWY5ZWQ5NjEuLjI2YzJlZjlmZTc1ZWVhZjhkODhjNjc1MGRjZWM1NGQ0OGVmNDk3YjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTE0MCw5ICsxNDAs
MTMgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9Qb3NpdGlvbldpdGhvdXRBbmltYXRp
b24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24KICAgICBzY3JvbGxBbmltYXRvcigpLnNjcm9s
bFRvUG9zaXRpb25XaXRob3V0QW5pbWF0aW9uKHBvc2l0aW9uLCBjbGFtcGluZyk7CiB9CiAKLXZv
aWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZykKK3ZvaWQgU2Nyb2xsYWJsZUFyZWE6
OnNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9u
LCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xs
aW5nLCBzdHJlYW0gPDwgIlNjcm9sbGFibGVBcmVhICIgPDwgdGhpcyA8PCAiIHNjcm9sbFRvUG9z
aXRpb25XaXRoQW5pbWF0aW9uICIgPDwgcG9zaXRpb24pOworCisgICAgaWYgKHJlcXVlc3RBbmlt
YXRlZFNjcm9sbFRvUG9zaXRpb24ocm91bmRlZEludFBvaW50KHBvc2l0aW9uKSwgY2xhbXBpbmcp
KQorICAgICAgICByZXR1cm47CisKICAgICBzY3JvbGxBbmltYXRvcigpLnNjcm9sbFRvUG9zaXRp
b25XaXRoQW5pbWF0aW9uKHBvc2l0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmgKaW5kZXggNDEzYmJhMGI1NTkyOTBiN2Q0ZDM2NWZmYzY1YzkwODBhNjk3
MWQ5Yi4uZDE3ODY4NzgyYWI3Y2ZkOGRjN2VmMWM3MDRmYjI3OWVlNGNlMGNkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC04Niw2ICs4Niw3IEBAIHB1Ymxp
YzoKICAgICAvLyByZXR1cm5zIHRydWUsIHRoZSBzY3JvbGxhYmxlIGFyZWEgd29uJ3QgYWN0dWFs
bHkgdXBkYXRlIHRoZSBzY3JvbGwgcG9zaXRpb24gYW5kIGluc3RlYWQKICAgICAvLyBleHBlY3Qg
aXQgdG8gaGFwcGVuIHNvbWV0aW1lIGluIHRoZSBmdXR1cmUuCiAgICAgdmlydHVhbCBib29sIHJl
cXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5
cGUgPSBTY3JvbGxUeXBlOjpVc2VyLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpD
bGFtcGVkKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCByZXF1ZXN0QW5pbWF0
ZWRTY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcg
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIFdFQkNP
UkVfRVhQT1JUIHZpcnR1YWwgYm9vbCBoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0
IFBsYXRmb3JtV2hlZWxFdmVudCYsIHN0ZDo6b3B0aW9uYWw8V2hlZWxTY3JvbGxHZXN0dXJlU3Rh
dGU+KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
U2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
U2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGU1YTllMjVmZTgwZjA2YjU0NmRlMjM4MDhjZmEwOTZi
YTEyYzU4YjUuLjc1NDllMjhiNjIxMmQ1ZDMxOTM1ZjQxYjMxYTNlOGEwYmEyZTI0MjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxl
QXJlYS5jcHAKQEAgLTI1NCw2ICsyNTQsMTcgQEAgYm9vbCBSZW5kZXJMYXllclNjcm9sbGFibGVB
cmVhOjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24KICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6cmVx
dWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzdGlu
YXRpb25Qb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit7CisjaWYgRU5BQkxFKEFT
WU5DX1NDUk9MTElORykKKyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwg
bV9sYXllciA8PCAiIHJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24gIiA8PCBkZXN0aW5h
dGlvblBvc2l0aW9uKTsKKworICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IG1f
bGF5ZXIucGFnZSgpLnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCisgICAgICAgIHJldHVybiBzY3Jv
bGxpbmdDb29yZGluYXRvci0+cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbigqdGhpcywg
ZGVzdGluYXRpb25Qb3NpdGlvbiwgY2xhbXBpbmcpOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNl
OworfQorCiBTY3JvbGxPZmZzZXQgUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9P
ZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQsIGNvbnN0IFNjcm9sbFBvc2l0
aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoY3VycmVudFNjcm9sbEJlaGF2
aW9yU3RhdHVzKCkgPT0gU2Nyb2xsQmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0aW9u
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xs
YWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFi
bGVBcmVhLmgKaW5kZXggY2M4MTk4ZGNlM2U2ZDQwYWY5OTkwMWYxODAwNmE2NDdjYmFmMzQwZS4u
NjZiMzQyMDBhNjFkZDY4YWQ3NGQ4MzE0OWI1MzdkNTQ4MjcxOWZmOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oCkBAIC0y
MDAsNiArMjAwLDcgQEAgcHVibGljOgogICAgIEludFNpemUgcmVhY2hhYmxlVG90YWxDb250ZW50
c1NpemUoKSBjb25zdCBmaW5hbDsKIAogICAgIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBk
YXRlKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlVzZXIs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIGJv
b2wgcmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYs
IFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOwogCiAgICAg
Ym9vbCBjb250YWluc0RpcnR5T3ZlcmxheVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBtX2Nv
bnRhaW5zRGlydHlPdmVybGF5U2Nyb2xsYmFyczsgfQogICAgIHZvaWQgc2V0Q29udGFpbnNEaXJ0
eU92ZXJsYXlTY3JvbGxiYXJzKGJvb2wgZGlydHlTY3JvbGxiYXJzKSB7IG1fY29udGFpbnNEaXJ0
eU92ZXJsYXlTY3JvbGxiYXJzID0gZGlydHlTY3JvbGxiYXJzOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAKaW5kZXggN2NkMmNhMmE2
MjE2ODdkYzQxOGNiYTAwNTk3YzM3MzVlOWM1NmIzMC4uYzNmMmZkODQxZmJjZWEzOGI0M2U4MTI1
Mjg3ZTc1M2M4NWM3YmU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvclRyYW5zYWN0aW9uLmNwcApAQCAtNTA3LDYgKzUwNyw3IEBAIHZvaWQgQXJndW1lbnRD
b2RlcjxSZXF1ZXN0ZWRTY3JvbGxEYXRhPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0
IFJlcXVlc3RlCiAgICAgZW5jb2RlciA8PCBzY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uOwogICAg
IGVuY29kZXIgPDwgc2Nyb2xsRGF0YS5zY3JvbGxUeXBlOwogICAgIGVuY29kZXIgPDwgc2Nyb2xs
RGF0YS5jbGFtcGluZzsKKyAgICBlbmNvZGVyIDw8IHNjcm9sbERhdGEuYW5pbWF0ZWQ7CiB9CiAK
IGJvb2wgQXJndW1lbnRDb2RlcjxSZXF1ZXN0ZWRTY3JvbGxEYXRhPjo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIsIFJlcXVlc3RlZFNjcm9sbERhdGEmIHNjcm9sbERhdGEpCkBAIC01MjAsNiArNTIx
LDkgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlcXVlc3RlZFNjcm9sbERhdGE+OjpkZWNvZGUoRGVj
b2RlciYgZGVjb2RlciwgUmVxdWVzdGVkU2Nyb2wKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNj
cm9sbERhdGEuY2xhbXBpbmcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHNjcm9sbERhdGEuYW5pbWF0ZWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
UmVtb3RlSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lv
cy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCmluZGV4IDBhNTdh
ZmEyYzA2Y2QwODYxZTAwYjgyZGVmZDE4OWFkZTJkNTVmMTAuLjAwZTE0ZjQ4ZjcxN2FkNGNjZTVh
ZGFlYjVlOWUzZmRiNWUxMmU4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90
ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW0KQEAgLTk2LDcgKzk2
LDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjpjb21t
aXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2MKICAgICAvLyBVcGRhdGUgdGhlIHNjcm9sbCBw
b3NpdGlvbiBhZnRlciBjaGlsZCBub2RlcyBoYXZlIGJlZW4gdXBkYXRlZCwgYmVjYXVzZSB0aGV5
IG5lZWQgdG8gaGF2ZSB1cGRhdGVkIHRoZWlyIGNvbnN0cmFpbnRzIGJlZm9yZSBhbnkgc2Nyb2xs
aW5nIGhhcHBlbnMuCiAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVy
dHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24p
KSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3RlZFNjcm9sbERhdGEgPSBzY3JvbGxpbmdT
dGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpOwotICAgICAgICBzY3JvbGxUbyhyZXF1ZXN0
ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFR5
cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUbyhyZXF1
ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9s
bFR5cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcsIHJlcXVlc3RlZFNjcm9sbERhdGEu
YW5pbWF0ZWQpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCmluZGV4IDhhOWZmNjc1ZGNlODU5
ZTg3MTQyZDViMzc4ODY2ODZiNjVkMDMwZmMuLmM5MmNlMDVlMmFlYTJkMTU5MTYyMzYyNGQ1Zjdk
ZWU1ZWVmODQ3NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KQEAgLTI5MCw3ICsyOTAsNyBAQCB2b2lkIFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OmNvbW1pdFN0YXRlQWZ0ZXJDaGls
ZHJlbihjb25zdCBTY3JvbAogCiAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2Vk
UHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9z
aXRpb24pKSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3RlZFNjcm9sbERhdGEgPSBzY3Jv
bGxpbmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpOwotICAgICAgICBzY3JvbGxpbmdO
b2RlKCkuc2Nyb2xsVG8ocmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVz
dGVkU2Nyb2xsRGF0YS5zY3JvbGxUeXBlLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nKTsK
KyAgICAgICAgc2Nyb2xsaW5nTm9kZSgpLnNjcm9sbFRvKHJlcXVlc3RlZFNjcm9sbERhdGEuc2Ny
b2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsVHlwZSwgcmVxdWVzdGVkU2Ny
b2xsRGF0YS5jbGFtcGluZywgcmVxdWVzdGVkU2Nyb2xsRGF0YS5hbmltYXRlZCk7CiAgICAgICAg
IHNjcm9sbGluZ1RyZWUoKS5zZXROZWVkc0FwcGx5TGF5ZXJQb3NpdGlvbnNBZnRlckNvbW1pdCgp
OwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlTWFjLmgKaW5kZXggYTYzNDk0YTE4ZDYzZjBlYTAwNDli
NmIzYzg4OGQ3OTJkODVkZTY2ZC4uOGQ3NmFkMTA4ZTRiZjhmZjUxYzY3ODFiZDkxYjJlZjRlOGU0
MDMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlTWFjLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlUmVtb3RlTWFjLmgKQEAgLTQzLDkgKzQzLDkgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlTWFjKFdlYkNv
cmU6OlNjcm9sbGluZ1RyZWUmLCBXZWJDb3JlOjpTY3JvbGxpbmdOb2RlVHlwZSwgV2ViQ29yZTo6
U2Nyb2xsaW5nTm9kZUlEKTsKIAotICAgIHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihj
b25zdCBXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsKLSAgICBXZWJDb3Jl
OjpXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJDb3Jl
OjpQbGF0Zm9ybVdoZWVsRXZlbnQmLCBXZWJDb3JlOjpFdmVudFRhcmdldGluZykgb3ZlcnJpZGU7
Ci0gICAgdm9pZCByZXBvc2l0aW9uUmVsYXRlZExheWVycygpIG92ZXJyaWRlOworICAgIHZvaWQg
Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU5v
ZGUmKSBmaW5hbDsKKyAgICBXZWJDb3JlOjpXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgaGFuZGxl
V2hlZWxFdmVudChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQmLCBXZWJDb3JlOjpF
dmVudFRhcmdldGluZykgZmluYWw7CisgICAgdm9pZCByZXBvc2l0aW9uUmVsYXRlZExheWVycygp
IGZpbmFsOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjcm9sbGVyUGFpck1hYz4gbV9zY3JvbGxl
clBhaXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlUmVtb3RlTWFjLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVSZW1vdGVNYWMuaAppbmRleCA1NGQ0ZThlMWE0ZGMwNjY1
YTJjZTMyYzY2NDcwNDBiMTRjMDNlZGEyLi5iNzQxOTQ4MjdmMThlOGIwODk4MjU4OTk5NzdkMjRm
N2IxZjViYTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVSZW1vdGVNYWMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Njcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVSZW1vdGVNYWMuaApAQCAtNDMsOSArNDMsOSBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVS
ZW1vdGVNYWMoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZSYsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJ
RCk7CiAKLSAgICB2b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgV2ViQ29yZTo6
U2Nyb2xsaW5nU3RhdGVOb2RlJikgb3ZlcnJpZGU7Ci0gICAgV2ViQ29yZTo6V2hlZWxFdmVudEhh
bmRsaW5nUmVzdWx0IGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1XaGVl
bEV2ZW50JiwgV2ViQ29yZTo6RXZlbnRUYXJnZXRpbmcpIG92ZXJyaWRlOwotICAgIHZvaWQgcmVw
b3NpdGlvblJlbGF0ZWRMYXllcnMoKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbW1pdFN0YXRlQmVm
b3JlQ2hpbGRyZW4oY29uc3QgV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlJikgZmluYWw7Cisg
ICAgV2ViQ29yZTo6V2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IGhhbmRsZVdoZWVsRXZlbnQoY29u
c3QgV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50JiwgV2ViQ29yZTo6RXZlbnRUYXJnZXRpbmcp
IGZpbmFsOworICAgIHZvaWQgcmVwb3NpdGlvblJlbGF0ZWRMYXllcnMoKSBmaW5hbDsKIAogICAg
IHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxlclBhaXJNYWM+IG1fc2Nyb2xsZXJQYWlyOwogfTsK
</data>
<flag name="review"
          id="464186"
          type_id="1"
          status="+"
          setter="thorton"
    />
    <flag name="commit-queue"
          id="464195"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440323</attachid>
            <date>2021-10-05 19:27:32 -0700</date>
            <delta_ts>2021-10-05 20:21:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231271-20211005192731.patch</filename>
            <type>text/plain</type>
            <size>35558</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI3MzdiMjY3NzRlMTMy
MWU1NWZhMTI3OGU0NDVjMTA0MjJlNDkxZS4uMTU0NzBiMThjODg5NTk2ZmY4MDczMjMwYmI3M2Fk
ZDM4Njc4NjczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTEwLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHNtb290
aCBzY3JvbGwgYW5pbWF0aW9ucyB0byBydW4gb24gdGhlIHNjcm9sbGluZyB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTI3MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJl
IHNvIHRoYXQgd2UgY2FuIGhhdmUgYW4gYW5pbWF0ZWQgc2Nyb2xsIHJ1biBvbiB0aGUgc2Nyb2xs
aW5nIHRocmVhZCwgb3IKKyAgICAgICAgdWx0aW1hdGVseSBpbiB0aGUgVUkgcHJvY2VzcyBvbiBp
T1MuCisgICAgICAgIAorICAgICAgICBSZXF1ZXN0ZWRTY3JvbGxEYXRhIGdldHMgYSBmaWVsZCB0
byBzZWUgaWYgdGhlIHNjcm9sbCBpcyBhbmltYXRlZCBvciBub3QuCisgICAgICAgIAorICAgICAg
ICBBZGQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24oKSB3aGljaCBpcyBhbmFsb2dvdXMgdG8KKyAgICAgICAgcmVxdWVzdFNjcm9sbFBvc2l0aW9u
VXBkYXRlKCksIHdoaWNoIGlzIG92ZXJyaWRkZW4gYnkgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ciB0byB0dXJuIHRoYXQKKyAgICAgICAgaW50byBhIHJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uVXBk
YXRlIG9uIGEgc2Nyb2xsaW5nIHRyZWUgbm9kZS4KKworICAgICAgICBUaGUgc2Nyb2xscyBhcmUg
Y3VycmVudGx5IHRyaWdnZXJlZCBmcm9tCisgICAgICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlKjo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKCkgdmlhIHRoZSAnYW5pbWF0ZWQnIGFyZ3Vt
ZW50IHRvCisgICAgICAgIHNjcm9sbFRvKCksIGJ1dCB0aGF0J3MgYWN0dWFsbHkgd3Jvbmc7IHdl
IHJ1biB0aGlzIGNvZGUgb24gdGhlIG1haW4gdGhyZWFkLCBzbyB0aGlzIHN0aWxsCisgICAgICAg
IHRyaWdnZXJzIG1haW4gdGhyZWFkIGFuaW1hdGlvbnMuIEEgZnV0dXJlIHBhdGNoIHdpbGwgZml4
IHRoYXQuCisKKyAgICAgICAgVGhpcyBkb2VzIG5vdCB5ZXQgaG9vayB1cCBhbmltYXRlZCBzY3Jv
bGxzIGZvciBpT1MuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xs
VG9Qb3NpdGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9s
bFBvc2l0aW9uVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9y
OjpyZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyBjb25zdCk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXF1ZXN0ZWRTY3JvbGxEYXRhOjpvcGVyYXRvcj09IGNvbnN0KToKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsVG8pOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpj
b21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24p
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3Np
dGlvbik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJl
YTo6c2Nyb2xsVG9Qb3NpdGlvbldpdGhBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6cmVxdWVz
dEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJTY3Jv
bGxhYmxlQXJlYTo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaDoKKwogMjAyMS0xMC0wNSAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIG1fYXV0b1No
cmlua1RvRml0RW5hYmxlZCBmcm9tIFJ1bGVTZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjg1ZGYzZjBhZTNiOWYw
YzYzYWE3YzkxM2U4MjYyNzJmYTVmYTNlMy4uYTI2ODQ0YmRlNTgwYWVhOTU0Y2RjNmJhYjhiZjg1
OTI2NmEwZWRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMC0wNSAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBzbW9vdGgg
c2Nyb2xsIGFuaW1hdGlvbnMgdG8gcnVuIG9uIHRoZSBzY3JvbGxpbmcgdGhyZWFkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEyNzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAg
KEFyZ3VtZW50Q29kZXI8UmVxdWVzdGVkU2Nyb2xsRGF0YT46OmVuY29kZSk6CisgICAgICAgIChB
cmd1bWVudENvZGVyPFJlcXVlc3RlZFNjcm9sbERhdGE+OjpkZWNvZGUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVSZW1vdGVJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVSZW1vdGVJT1M6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbik6CisgICAgICAgICog
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZUlPUzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
UmVtb3RlTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMvU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oOgorCiAyMDIxLTEwLTA0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFNQSSB0byBs
YXVuY2ggYSBzZXJ2aWNlIHNlcnZpY2Ugd29ya2VyIGluIGEgV0tXZWJWaWV3IGFuZCBleHBvc2Ug
c2VydmljZSB3b3JrZXIgdG8gaW5qZWN0ZWQgYnVuZGxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggMTg3N2RjZjExNmZhYjM2ODFkNmJjZDY5OTk3NDUwMGE0YTFkOTZkMC4uNzkwNGYy
OWFjMWYwMGE0NGVjMTRkNGYzMjUyOGRiYjg3YzE3OTczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcApAQCAtMjY4Nyw2ICsyNjg3LDIwIEBAIGJvb2wgRnJhbWVWaWV3OjpyZXF1ZXN0U2Ny
b2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBTY3JvCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEZyYW1lVmlldzo6cmVxdWVzdEFuaW1hdGVkU2Ny
b2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzdGluYXRpb25Qb3NpdGlvbiwg
U2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit7CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGlu
Zywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24g
IiA8PCBkZXN0aW5hdGlvblBvc2l0aW9uKTsKKworI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcp
CisgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29y
ZGluYXRvcigpKQorICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnJlcXVlc3RB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24oKnRoaXMsIGRlc3RpbmF0aW9uUG9zaXRpb24sIGNsYW1w
aW5nKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvc2l0aW9uKTsKKyNlbmRpZgorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCiBIb3N0V2luZG93KiBGcmFtZVZpZXc6Omhvc3RXaW5kb3coKSBj
b25zdAogewogICAgIGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5oCmluZGV4IGQ5ZDQ4YWY1ZjdkMTQ5NzdmM2E1MGRlNTY1OTkzZWRlM2Q1MmEzMTguLjYz
MTg1ZDExNTlhNjFjOGEzNjAwZjllYTk4Y2JjYTZkNTk3OWRjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaApAQCAtMjQ2LDcgKzI0NiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY3JvbGxUb0Zv
Y3VzZWRFbGVtZW50SW1tZWRpYXRlbHlJZk5lZWRlZCgpOwogICAgIHZvaWQgdXBkYXRlTGF5ZXJQ
b3NpdGlvbnNBZnRlclNjcm9sbGluZygpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlQ29tcG9zaXRp
bmdMYXllcnNBZnRlclNjcm9sbGluZygpIGZpbmFsOworCiAgICAgYm9vbCByZXF1ZXN0U2Nyb2xs
UG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlID0gU2Nyb2xs
VHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgZmlu
YWw7CisgICAgYm9vbCByZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGNvbnN0IFNjcm9s
bFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgZmlu
YWw7CisKICAgICBib29sIGlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKSBjb25zdCBmaW5hbDsKICAg
ICBib29sIGlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdCBmaW5hbDsKICAgICBXRUJDT1JF
X0VYUE9SVCBTY3JvbGxQb3NpdGlvbiBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdCBmaW5h
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggY2RkZjM0YmI2YzA5MGU0MDdhZmMyNzNiZTM0
NmVhYzlmNDlmOTYxNS4uYWJjODBhYjAwMDlhYmQyNGRjOGJlMzE1M2Y5NDhlMTQ3MGYwM2Q0MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTIzOSw3ICsyMzksNyBAQCB2b2lkIEFzeW5jU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1lVmlld1Jvb3RMYXllckRpZENoYW5nZShGcmFtZVZpZXcm
IGZyYW1lVmlldwogICAgIG5vZGUtPnNldEhvcml6b250YWxTY3JvbGxiYXJMYXllcihmcmFtZVZp
ZXcubGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyKCkpOwogfQogCi1ib29sIEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShTY3JvbGxhYmxlQXJl
YSYgc2Nyb2xsYWJsZUFyZWEsIGNvbnN0IEludFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgU2Nyb2xs
VHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK2Jvb2wgQXN5bmNTY3Jv
bGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKFNjcm9sbGFibGVB
cmVhJiBzY3JvbGxhYmxlQXJlYSwgY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9u
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogewogICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKG1fcGFnZSk7CkBAIC0yNzMsNyAr
MjczLDM2IEBAIGJvb2wgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9sbFBv
c2l0aW9uVXBkYXRlKFNjcm9sbGFibGVBcmVhJiBzY3JvCiAgICAgaWYgKCFzdGF0ZU5vZGUpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHN0YXRlTm9kZS0+c2V0UmVxdWVzdGVkU2Nyb2xs
RGF0YSh7IHNjcm9sbFBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZyB9KTsKKyAgICBzdGF0
ZU5vZGUtPnNldFJlcXVlc3RlZFNjcm9sbERhdGEoeyBzY3JvbGxQb3NpdGlvbiwgc2Nyb2xsVHlw
ZSwgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsOjpObyB9KTsKKyAgICAvLyBGSVhNRTogVGhpcyBz
aG91bGQgc2NoZWR1bGUgYSByZW5kZXJpbmcgdXBkYXRlCisgICAgY29tbWl0VHJlZVN0YXRlSWZO
ZWVkZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBBc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpyZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKFNjcm9sbGFibGVBcmVhJiBz
Y3JvbGxhYmxlQXJlYSwgY29uc3QgU2Nyb2xsUG9zaXRpb24mIGRlc3RpbmF0aW9uUG9zaXRpb24s
IFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisgICAgQVNTRVJUKG1fcGFnZSk7CisgICAgYXV0byBzY3JvbGxpbmdOb2RlSUQgPSBzY3JvbGxh
YmxlQXJlYS5zY3JvbGxpbmdOb2RlSUQoKTsKKyAgICBpZiAoIXNjcm9sbGluZ05vZGVJRCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogZnJhbWVWaWV3ID0gZnJhbWVWaWV3Rm9y
U2Nyb2xsaW5nTm9kZShzY3JvbGxpbmdOb2RlSUQpOworICAgIGlmICghZnJhbWVWaWV3KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJh
bWVWaWV3KCpmcmFtZVZpZXcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBzZXRTY3Jv
bGxpbmdOb2RlU2Nyb2xsYWJsZUFyZWFHZW9tZXRyeShzY3JvbGxpbmdOb2RlSUQsIHNjcm9sbGFi
bGVBcmVhKTsKKworICAgIGF1dG8qIHN0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZT4obV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKHNjcm9s
bGluZ05vZGVJRCkpOworICAgIGlmICghc3RhdGVOb2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAvLyBBbmltYXRlZCBzY3JvbGxzIGFyZSBhbHdheXMgcHJvZ3JhbW1hdGljLgorICAg
IHN0YXRlTm9kZS0+c2V0UmVxdWVzdGVkU2Nyb2xsRGF0YSh7IGRlc3RpbmF0aW9uUG9zaXRpb24s
IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsOjpZZXMg
fSk7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHNjaGVkdWxlIGEgcmVuZGVyaW5nIHVwZGF0
ZQogICAgIGNvbW1pdFRyZWVTdGF0ZUlmTmVlZGVkKCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmgKaW5kZXggYjJlNGVlMTc2YmVjNmI1MDdkM2I5Y2NmMjJlY2EwYjdlZDhm
ZmFiMy4uODI1MDYxZGJkMDlmYmVjNzA0MjMwMjhiNTJhNjZiYzU4NzdjZThlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaApAQCAtMTAwLDcgKzEwMCw4IEBAIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBmcmFtZVZpZXdWaXN1YWxWaWV3cG9ydENoYW5nZWQoRnJhbWVWaWV3Jikgb3ZlcnJp
ZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmcmFtZVZpZXdFdmVudFRyYWNraW5nUmVnaW9u
c0NoYW5nZWQoRnJhbWVWaWV3Jikgb3ZlcnJpZGU7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBib29s
IHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShTY3JvbGxhYmxlQXJlYSYsIGNvbnN0IEludFBv
aW50JiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcpIG92ZXJyaWRlOworICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKFNjcm9sbGFibGVBcmVhJiwg
Y29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZykgZmluYWw7
CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCByZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9u
KFNjcm9sbGFibGVBcmVhJiwgY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZykg
ZmluYWw7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5U2Nyb2xsaW5nVHJlZUxheWVy
UG9zaXRpb25zKCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDgzZDlkZTEzZTMyNjgzMmZjMDFi
ZjEzYTFlMjgxMmVjNGRlMzk3MWYuLjkxMDZhMzI3ZjFlNTg2NjdjZGI4NjQxNGJhZDEyZmM1MjNh
ZjBhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaApAQCAtMTEyLDcgKzExMiwxMCBAQCBwdWJsaWM6CiAKICAgICAvLyBU
aGVzZSB2aXJ0dWFsIGZ1bmN0aW9ucyBhcmUgY3VycmVudGx5IHVuaXF1ZSB0byB0aGUgdGhyZWFk
ZWQgc2Nyb2xsaW5nIGFyY2hpdGVjdHVyZS4gCiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdFRyZWVT
dGF0ZUlmTmVlZGVkKCkgeyB9Ci0gICAgdmlydHVhbCBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlv
blVwZGF0ZShTY3JvbGxhYmxlQXJlYSYsIGNvbnN0IEludFBvaW50JiwgU2Nyb2xsVHlwZSA9IFNj
cm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIHZpcnR1YWwgYm9vbCByZXF1ZXN0U2Ny
b2xsUG9zaXRpb25VcGRhdGUoU2Nyb2xsYWJsZUFyZWEmLCBjb25zdCBTY3JvbGxQb3NpdGlvbiYs
IFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nID0g
U2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBi
b29sIHJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oU2Nyb2xsYWJsZUFyZWEmLCBjb25z
dCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nKSB7IHJldHVybiBmYWxzZTsgfQorCiAg
ICAgdmlydHVhbCBib29sIGhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW50JiwgU2Nyb2xsaW5nTm9kZUlELCBzdGQ6Om9wdGlvbmFsPFdoZWVsU2Nyb2xs
R2VzdHVyZVN0YXRlPikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgd2hlZWxF
dmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVhZChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBz
dGQ6Om9wdGlvbmFsPFdoZWVsU2Nyb2xsR2VzdHVyZVN0YXRlPikgeyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUuY3BwCmluZGV4IDg4NjYzMzBmOTI1YzY1MzZkYzQ4ZWZiZjE3MzZlNTkwMWEwMGM0
MjguLjEyOTZlOTMyY2M5N2JkNGM2MzU4MjU5NjRmYzk5MjlkN2EzOTE3MjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlLmNwcApAQCAtMjk3LDYgKzI5Nyw5IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywgU2Nyb2xsaW5nU3Rh
dGVUCiAgICAgaWYgKG1fcmVxdWVzdGVkU2Nyb2xsRGF0YS5jbGFtcGluZyA9PSBTY3JvbGxDbGFt
cGluZzo6VW5jbGFtcGVkKQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoInJlcXVlc3RlZCBzY3Jv
bGwgcG9zaXRpb24gY2xhbXBpbmciLCBtX3JlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcpOwog
CisgICAgaWYgKG1fcmVxdWVzdGVkU2Nyb2xsRGF0YS5hbmltYXRlZCA9PSBBbmltYXRlZFNjcm9s
bDo6WWVzKQorICAgICAgICB0cy5kdW1wUHJvcGVydHkoInJlcXVlc3RlZCBzY3JvbGwgcG9zaXRp
b24gaXMgYW5pbWF0ZWQiLCB0cnVlKTsKKwogICAgIGlmIChtX3Njcm9sbE9yaWdpbiAhPSBJbnRQ
b2ludCgpKQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoInNjcm9sbCBvcmlnaW4iLCBtX3Njcm9s
bE9yaWdpbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKaW5kZXggOGJjZjkxZGFkOTFjZmFlZmNh
YjEwNzRhZDZmNzhhMDE1MTJmODkxOS4uZjJiZmFhNDMwNWUxYzcwODNkYmYxMTFhMWRhOTBkMDc3
ODhjMmExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKQEAgLTQyLDEyICs0MiwxNCBAQCBzdHJ1
Y3QgUmVxdWVzdGVkU2Nyb2xsRGF0YSB7CiAgICAgRmxvYXRQb2ludCBzY3JvbGxQb3NpdGlvbjsK
ICAgICBTY3JvbGxUeXBlIHNjcm9sbFR5cGUgeyBTY3JvbGxUeXBlOjpVc2VyIH07CiAgICAgU2Ny
b2xsQ2xhbXBpbmcgY2xhbXBpbmcgeyBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCB9OworICAgIEFu
aW1hdGVkU2Nyb2xsIGFuaW1hdGVkIHsgQW5pbWF0ZWRTY3JvbGw6Ok5vIH07CiAgICAgCiAgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFJlcXVlc3RlZFNjcm9sbERhdGEmIG90aGVyKSBjb25zdAog
ICAgIHsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uID09IG90aGVyLnNjcm9sbFBvc2l0
aW9uCiAgICAgICAgICAgICAmJiBzY3JvbGxUeXBlID09IG90aGVyLnNjcm9sbFR5cGUKLSAgICAg
ICAgICAgICYmIGNsYW1waW5nID09IG90aGVyLmNsYW1waW5nOworICAgICAgICAgICAgJiYgY2xh
bXBpbmcgPT0gb3RoZXIuY2xhbXBpbmcKKyAgICAgICAgICAgICYmIGFuaW1hdGVkID09IG90aGVy
LmFuaW1hdGVkOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCA5OGEz
Mzc5MDVlNDk1Y2U0NDJjMzkxNzU2ZmVmMWZmMzc0MmFjNWZjLi4wM2RkNDU0NDk2MjVmMmQ0MTE4
YjRlYzc4MGQwNjRkMzUyYTA1YzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0yNDAs
MTEgKzI0MCwxNiBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzY3JvbGxCeShj
b25zdCBGbG9hdFNpemUmIGRlbHRhLCBTY3JvbGxDbGFtcGluZwogICAgIHNjcm9sbFRvKGN1cnJl
bnRTY3JvbGxQb3NpdGlvbigpICsgZGVsdGEsIFNjcm9sbFR5cGU6OlVzZXIsIGNsYW1wKTsKIH0K
IAotdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsVG8oY29uc3QgRmxvYXRQ
b2ludCYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgY2xh
bXApCit2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzY3JvbGxUbyhjb25zdCBGbG9h
dFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBj
bGFtcCwgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgaWYgKHBvc2l0aW9uID09IG1f
Y3VycmVudFNjcm9sbFBvc2l0aW9uKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoYW5pbWF0
ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcykgeworICAgICAgICBpZiAoc3RhcnRBbmltYXRlZFNj
cm9sbFRvUG9zaXRpb24ocG9zaXRpb24pKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIHNjcm9sbGluZ1RyZWUoKS5zZXRJc0hhbmRsaW5nUHJvZ3JhbW1hdGljU2Nyb2xsKHNjcm9s
bFR5cGUgPT0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKTsKIAogICAgIGlmIChzY3JvbGxUeXBl
ID09IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDlj
MWJhNmIyZjEwM2Q0YzQ0NTU5MjUwYzU3NjYwYTExM2IxNDVlZjAuLjRjNDFlY2FiY2Y2MmViYThi
ZWJlNjFkNTQyNDE1NDM5MTFmZDZlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApAQCAtNzUsNyAr
NzUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTY3JvbGxTbmFwSW5Qcm9ncmVzcyhib29sKTsK
IAogICAgIC8vIFRoZXNlIGFyZSBpbXBlcmF0aXZlOyB0aGV5IGFkanVzdCB0aGUgc2Nyb2xsaW5n
IGxheWVycy4KLSAgICB2b2lkIHNjcm9sbFRvKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxUeXBl
ID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCk7CisgICAgdm9pZCBzY3JvbGxUbyhjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsVHlwZSA9
IFNjcm9sbFR5cGU6OlVzZXIsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKICAgICB2b2lkIHNjcm9s
bEJ5KGNvbnN0IEZsb2F0U2l6ZSYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNs
YW1wZWQpOwogCiAgICAgdmlydHVhbCB2b2lkIHN0b3BTY3JvbGxBbmltYXRpb25zKCkgeyB9OwpA
QCAtMTIzLDYgKzEyMyw4IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERvUHJv
Z3JhbW1hdGljU2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmKSB7IH0KICAgICAKICAgICB2aXJ0dWFs
IEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Ny
b2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgY29uc3Q7CisgICAgCisgICAg
dmlydHVhbCBib29sIHN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQpIHsg
cmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChTY3JvbGxUeXBlLCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uID0gU2Nyb2xs
aW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U3luYyk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVZp
ZXdwb3J0Rm9yQ3VycmVudFNjcm9sbFBvc2l0aW9uKHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiA9
IHsgfSkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlLmgKaW5kZXggNTUxOGI0
Y2M0YzlhMzA5N2E2NTZkYTUxODAxMzVkMzkzZjRlOTBiMS4uM2RhZjU3ODU5ZmUwZjgwMDgxOWU3
YzBjMjFiMmJkNzljOTgwYWE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUu
aApAQCAtMzgsNiArMzgsOCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZSYgc2Nyb2xsaW5nTm9kZSgpIHsgcmV0dXJuIG1fc2Nyb2xsaW5nTm9kZTsgfQogICAgIGNv
bnN0IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiBzY3JvbGxpbmdOb2RlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zY3JvbGxpbmdOb2RlOyB9CisgICAgCisgICAgdmlydHVhbCBib29sIHN0YXJ0QW5p
bWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQpID0gMDsKIAogcHJvdGVjdGVkOgogICAg
IFdFQkNPUkVfRVhQT1JUIFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4IGMwZTgyN2M0YmZh
ZTQyNmMyMTRjYTdkNmE2MzcwYjhjNWJkMjg2MmYuLjFkYmY5MGI2NzY0N2I2N2JiOWZkZjFhMGMy
OWFlNGM2NTVkY2IxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWMuaApAQCAtNjYsNiArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgd2lsbEJlRGVzdHJveWVk
KCkgZmluYWw7CiAgICAgdm9pZCB3aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwoY29uc3QgRmxvYXRQ
b2ludCYpIGZpbmFsOwogCisgICAgYm9vbCBzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihG
bG9hdFBvaW50KSBmaW5hbDsKKwogICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlv
bihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcpIGNvbnN0IGZpbmFsOwogCiAgICAg
dm9pZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xh
eWVyUG9zaXRpb25BY3Rpb24pIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbQppbmRleCAzYzE0YmNiZTcxYjE2YmM0ZTBkYTJiOWFiMTZiOTVkYTJlMTk2
ODFhLi4wMzJlYzMwMzdiMGVlNTkyY2MxMjAxOTUyNTcwMWQyOTgxYzhjNGI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtMTA3LDcgKzEwNyw3IEBA
IHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRl
ckNoaWxkcmVuKGNvbnN0IFNjcm9sbGluCiAgICAgLy8gVXBkYXRlIHRoZSBzY3JvbGwgcG9zaXRp
b24gYWZ0ZXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIHVwZGF0ZWQsIGJlY2F1c2UgdGhleSBuZWVk
IHRvIGhhdmUgdXBkYXRlZCB0aGVpciBjb25zdHJhaW50cyBiZWZvcmUgYW55IHNjcm9sbGluZyBo
YXBwZW5zLgogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNj
cm9sbGluZ1N0YXRlTm9kZTo6UHJvcGVydHk6OlJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKSkgewog
ICAgICAgICBjb25zdCBhdXRvJiByZXF1ZXN0ZWRTY3JvbGxEYXRhID0gc2Nyb2xsaW5nU3RhdGVO
b2RlLnJlcXVlc3RlZFNjcm9sbERhdGEoKTsKLSAgICAgICAgc2Nyb2xsVG8ocmVxdWVzdGVkU2Ny
b2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxUeXBlLCBy
ZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG8ocmVxdWVzdGVk
U2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxUeXBl
LCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmFuaW1h
dGVkKTsKICAgICB9CiAKICAgICBpZiAoaXNSb290Tm9kZSgpCkBAIC0xMzIsNiArMTMyLDExIEBA
IFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvCiAgICAgcmV0dXJuIFdoZWVsRXZlbnRIYW5kbGluZ1Jl
c3VsdDo6cmVzdWx0KGhhbmRsZWQpOwogfQogCitib29sIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWM6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQgZGVz
dGluYXRpb25Qb3NpdGlvbikKK3sKKyAgICByZXR1cm4gbV9kZWxlZ2F0ZS5zdGFydEFuaW1hdGVk
U2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uKTsKK30KKwogdm9pZCBTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjp3aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwoY29u
c3QgRmxvYXRQb2ludCYgdGFyZ2V0U2Nyb2xsUG9zaXRpb24pCiB7CiAgICAgbV9kZWxlZ2F0ZS53
aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwodGFyZ2V0U2Nyb2xsUG9zaXRpb24pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKaW5kZXggNmNmZDVmZTVmNzM0
YTBlNTNkMDlhMjMxNmQ3NTE5NDk0MWEwMTc2NC4uN2JmY2RlNzdiNmU0NmJhYWFjMDVlOTBlYzkx
N2E4MzAxZWI3MzNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZU1hYy5oCkBAIC00NSwxMiArNDUsMTQgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgY29tbWl0
U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsK
ICAgICB2b2lkIGNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5v
ZGUmKSBvdmVycmlkZTsKICAgICAKLSAgICBGbG9hdFBvaW50IGFkanVzdGVkU2Nyb2xsUG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbENsYW1waW5nKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBGbG9hdFBvaW50IGFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIFNj
cm9sbENsYW1waW5nKSBjb25zdCBmaW5hbDsKKworICAgIGJvb2wgc3RhcnRBbmltYXRlZFNjcm9s
bFRvUG9zaXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKSBmaW5hbDsKIAogICAg
IHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlLCBTY3JvbGxpbmdM
YXllclBvc2l0aW9uQWN0aW9uKSBmaW5hbDsKICAgICB2b2lkIHdpbGxEb1Byb2dyYW1tYXRpY1Nj
cm9sbChjb25zdCBGbG9hdFBvaW50JikgZmluYWw7CiAKLSAgICB2b2lkIHJlcG9zaXRpb25TY3Jv
bGxpbmdMYXllcnMoKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcG9zaXRpb25TY3JvbGxpbmdMYXll
cnMoKSBmaW5hbDsKICAgICB2b2lkIHJlcG9zaXRpb25SZWxhdGVkTGF5ZXJzKCkgb3ZlcnJpZGU7
CiAKICAgICBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmLCBFdmVudFRhcmdldGluZykgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDZkMmIwMjg3Y2E5
ZGZjMzA4MTZmYmFiNjRlZTAyYzQ5MzliMmRiZmIuLmVkMmEzMmUwZTI3ZGI0MjFiMzk1M2RmMWY1
YjMxMWE0Mjk1YjE1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxp
bmdOb2RlTWFjLm1tCkBAIC02OSw3ICs2OSw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sCiAK
ICAgICBpZiAob3ZlcmZsb3dTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0
YXRlTm9kZTo6UHJvcGVydHk6OlJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKSkgewogICAgICAgICBj
b25zdCBhdXRvJiByZXF1ZXN0ZWRTY3JvbGxEYXRhID0gb3ZlcmZsb3dTdGF0ZU5vZGUucmVxdWVz
dGVkU2Nyb2xsRGF0YSgpOwotICAgICAgICBzY3JvbGxUbyhyZXF1ZXN0ZWRTY3JvbGxEYXRhLnNj
cm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFR5cGUsIHJlcXVlc3RlZFNj
cm9sbERhdGEuY2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUbyhyZXF1ZXN0ZWRTY3JvbGxEYXRh
LnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFR5cGUsIHJlcXVlc3Rl
ZFNjcm9sbERhdGEuY2xhbXBpbmcsIHJlcXVlc3RlZFNjcm9sbERhdGEuYW5pbWF0ZWQpOwogICAg
IH0KIH0KIApAQCAtODYsNiArODYsMTEgQEAgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQKICAgICBy
ZXR1cm4gV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0OjpyZXN1bHQobV9kZWxlZ2F0ZS5oYW5kbGVX
aGVlbEV2ZW50KHdoZWVsRXZlbnQpKTsKIH0KIAorYm9vbCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlTWFjOjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50
IGRlc3RpbmF0aW9uUG9zaXRpb24pCit7CisgICAgcmV0dXJuIG1fZGVsZWdhdGUuc3RhcnRBbmlt
YXRlZFNjcm9sbFRvUG9zaXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7Cit9CisKIHZvaWQgU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6d2lsbERvUHJvZ3JhbW1hdGljU2Ny
b2xsKGNvbnN0IEZsb2F0UG9pbnQmIHRhcmdldFNjcm9sbFBvc2l0aW9uKQogewogICAgIG1fZGVs
ZWdhdGUud2lsbERvUHJvZ3JhbW1hdGljU2Nyb2xsKHRhcmdldFNjcm9sbFBvc2l0aW9uKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oCmluZGV4IGE4Yjcz
OTVkNzUyYjFmMTAyY2NmMzgzNzhjZWYxZWY5OGE5NDZhMjguLjE0ZWIzNDNlODgwNDlkNzljNTQ1
OThkM2UxZWE2YjM2NWNmODc3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVNYWMuaApAQCAtNTEsNyArNTEsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBub2Rl
V2lsbEJlRGVzdHJveWVkKCk7CiAKICAgICBib29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50Jik7Ci0gICAgCisKKyAgICBib29sIHN0YXJ0QW5pbWF0ZWRTY3JvbGxU
b1Bvc2l0aW9uKEZsb2F0UG9pbnQpIGZpbmFsOworCiAgICAgdm9pZCB3aWxsRG9Qcm9ncmFtbWF0
aWNTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYpOwogICAgIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0
aW9uQ2hhbmdlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlTWFjLm1tCmluZGV4IDA4OGQzODA1Mjg4YmE4ODdhZjI2ZjM3N2UyNzM5YzQxNjhiMDk2NjEu
LmJkYjYwMTkxODgzMTMyZGVlYjQwOTI3MWQ1YTFkMzJhMjU5NjczNDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCkBAIC0xMTMsNiArMTEzLDE0
IEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6aGFuZGxlV2hl
ZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsCiAgICAgcmV0dXJuIG1fc2Nyb2xsQ29udHJvbGxl
ci5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwogfQogCitib29sIFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZs
b2F0UG9pbnQgZGVzdGluYXRpb25Qb3NpdGlvbikKK3sKKyAgICBhdXRvIGN1cnJlbnRPZmZzZXQg
PSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKGN1cnJlbnRTY3JvbGxQ
b3NpdGlvbigpLCBzY3JvbGxPcmlnaW4oKSk7CisgICAgYXV0byBkZXN0aW5hdGlvbk9mZnNldCA9
IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oZGVzdGluYXRpb25Qb3Np
dGlvbiwgc2Nyb2xsT3JpZ2luKCkpOworICAgIAorICAgIHJldHVybiBtX3Njcm9sbENvbnRyb2xs
ZXIuc3RhcnRBbmltYXRlZFNjcm9sbFRvRGVzdGluYXRpb24oY3VycmVudE9mZnNldCwgZGVzdGlu
YXRpb25PZmZzZXQpOworfQorCiB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVNYWM6OndpbGxEb1Byb2dyYW1tYXRpY1Njcm9sbChjb25zdCBGbG9hdFBvaW50JiB0YXJnZXRQ
b3NpdGlvbikKIHsKICAgICBpZiAoc2Nyb2xsUG9zaXRpb25Jc05vdFJ1YmJlcmJhbmRpbmdFZGdl
KHRhcmdldFBvc2l0aW9uKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5k
ZXggN2RjN2U0YjQ4NzI2YWMwZmRjYjk4ZDViNGI2MDc2ZDJlMzA1ODFlYS4uZTYyYjAyNDdhZjhl
YTk2ZjQwYzQ0YmVmMTdmNjIzNWE2MGFjZTJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxUeXBlcy5oCkBAIC0zMDcsNiArMzA3LDE0IEBAIHN0cnVjdCBTY3JvbGxQb3NpdGlvbkNoYW5n
ZU9wdGlvbnMgewogCiBuYW1lc3BhY2UgV1RGIHsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxXZWJDb3JlOjpBbmltYXRlZFNjcm9sbD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1W
YWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkFuaW1hdGVkU2Nyb2xsLAorICAgICAgICBXZWJDb3Jl
OjpBbmltYXRlZFNjcm9sbDo6Tm8sCisgICAgICAgIFdlYkNvcmU6OkFuaW1hdGVkU2Nyb2xsOjpZ
ZXMKKyAgICA+OworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpT
Y3JvbGxiYXJNb2RlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAg
V2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcAppbmRleCBjNWY2ZTdmZjNiZWVmYjM0YTMwMDU0YjBlZjQ5MWYyZWVmOWVkOTYx
Li4yNmMyZWY5ZmU3NWVlYWY4ZDg4YzY3NTBkY2VjNTRkNDhlZjQ5N2I1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC0xNDAsOSArMTQwLDEzIEBAIHZv
aWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvUG9zaXRpb25XaXRob3V0QW5pbWF0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmIHBvc2l0aW9uCiAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zY3JvbGxUb1Bvc2l0
aW9uV2l0aG91dEFuaW1hdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcpOwogfQogCi12b2lkIFNjcm9s
bGFibGVBcmVhOjpzY3JvbGxUb1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50
JiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcpCit2b2lkIFNjcm9sbGFibGVBcmVhOjpzY3JvbGxU
b1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3Ry
ZWFtIDw8ICJTY3JvbGxhYmxlQXJlYSAiIDw8IHRoaXMgPDwgIiBzY3JvbGxUb1Bvc2l0aW9uV2l0
aEFuaW1hdGlvbiAiIDw8IHBvc2l0aW9uKTsKKworICAgIGlmIChyZXF1ZXN0QW5pbWF0ZWRTY3Jv
bGxUb1Bvc2l0aW9uKHJvdW5kZWRJbnRQb2ludChwb3NpdGlvbiksIGNsYW1waW5nKSkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zY3JvbGxUb1Bvc2l0aW9uV2l0aEFu
aW1hdGlvbihwb3NpdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5oCmluZGV4IDQxM2JiYTBiNTU5MjkwYjdkNGQzNjVmZmM2NWM5MDgwYTY5NzFkOWIuLmQx
Nzg2ODc4MmFiN2NmZDhkYzdlZjFjNzA0ZmIyNzllZTRjZTBjZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtODYsNiArODYsNyBAQCBwdWJsaWM6CiAgICAg
Ly8gcmV0dXJucyB0cnVlLCB0aGUgc2Nyb2xsYWJsZSBhcmVhIHdvbid0IGFjdHVhbGx5IHVwZGF0
ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIGFuZCBpbnN0ZWFkCiAgICAgLy8gZXhwZWN0IGl0IHRvIGhh
cHBlbiBzb21ldGltZSBpbiB0aGUgZnV0dXJlLgogICAgIHZpcnR1YWwgYm9vbCByZXF1ZXN0U2Ny
b2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlID0gU2Ny
b2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkg
eyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgcmVxdWVzdEFuaW1hdGVkU2Nyb2xs
VG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBXRUJDT1JFX0VYUE9S
VCB2aXJ0dWFsIGJvb2wgaGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmLCBzdGQ6Om9wdGlvbmFsPFdoZWVsU2Nyb2xsR2VzdHVyZVN0YXRlPik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFi
bGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFi
bGVBcmVhLmNwcAppbmRleCBlNWE5ZTI1ZmU4MGYwNmI1NDZkZTIzODA4Y2ZhMDk2YmExMmM1OGI1
Li43NTQ5ZTI4YjYyMTJkNWQzMTkzNWY0MWIzMWEzZThhMGJhMmUyNDI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3Bw
CkBAIC0yNTQsNiArMjU0LDE3IEBAIGJvb2wgUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6cmVx
dWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNvbnN0IFNjcm9sbFBvc2l0aW9uCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCitib29sIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnJlcXVlc3RBbmlt
YXRlZFNjcm9sbFRvUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIGRlc3RpbmF0aW9uUG9z
aXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworI2lmIEVOQUJMRShBU1lOQ19TQ1JP
TExJTkcpCisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8IG1fbGF5ZXIg
PDwgIiByZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uICIgPDwgZGVzdGluYXRpb25Qb3Np
dGlvbik7CisKKyAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBtX2xheWVyLnBh
Z2UoKS5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29v
cmRpbmF0b3ItPnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oKnRoaXMsIGRlc3RpbmF0
aW9uUG9zaXRpb24sIGNsYW1waW5nKTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsKK30KKwog
U2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvT2Zmc2V0KGNv
bnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5n
ZU9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1
cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFuaW1hdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVh
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5o
CmluZGV4IGNjODE5OGRjZTNlNmQ0MGFmOTk5MDFmMTgwMDZhNjQ3Y2JhZjM0MGUuLjY2YjM0MjAw
YTYxZGQ2OGFkNzRkODMxNDliNTM3ZDU0ODI3MTlmZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaApAQCAtMjAwLDYgKzIw
MCw3IEBAIHB1YmxpYzoKICAgICBJbnRTaXplIHJlYWNoYWJsZVRvdGFsQ29udGVudHNTaXplKCkg
Y29uc3QgZmluYWw7CiAKICAgICBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25z
dCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpVc2VyLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKKyAgICBib29sIHJlcXVl
c3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxD
bGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKIAogICAgIGJvb2wgY29u
dGFpbnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4gbV9jb250YWluc0Rp
cnR5T3ZlcmxheVNjcm9sbGJhcnM7IH0KICAgICB2b2lkIHNldENvbnRhaW5zRGlydHlPdmVybGF5
U2Nyb2xsYmFycyhib29sIGRpcnR5U2Nyb2xsYmFycykgeyBtX2NvbnRhaW5zRGlydHlPdmVybGF5
U2Nyb2xsYmFycyA9IGRpcnR5U2Nyb2xsYmFyczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNh
Y3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCmluZGV4IDdjZDJjYTJhNjIxNjg3ZGM0
MThjYmEwMDU5N2MzNzM1ZTljNTZiMzAuLmMzZjJmZDg0MWZiY2VhMzhiNDNlODEyNTI4N2U3NTNj
ODVjN2JlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JU
cmFuc2FjdGlvbi5jcHAKQEAgLTUwNyw2ICs1MDcsNyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8UmVx
dWVzdGVkU2Nyb2xsRGF0YT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXF1ZXN0
ZQogICAgIGVuY29kZXIgPDwgc2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbjsKICAgICBlbmNvZGVy
IDw8IHNjcm9sbERhdGEuc2Nyb2xsVHlwZTsKICAgICBlbmNvZGVyIDw8IHNjcm9sbERhdGEuY2xh
bXBpbmc7CisgICAgZW5jb2RlciA8PCBzY3JvbGxEYXRhLmFuaW1hdGVkOwogfQogCiBib29sIEFy
Z3VtZW50Q29kZXI8UmVxdWVzdGVkU2Nyb2xsRGF0YT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBSZXF1ZXN0ZWRTY3JvbGxEYXRhJiBzY3JvbGxEYXRhKQpAQCAtNTIwLDYgKzUyMSw5IEBAIGJv
b2wgQXJndW1lbnRDb2RlcjxSZXF1ZXN0ZWRTY3JvbGxEYXRhPjo6ZGVjb2RlKERlY29kZXImIGRl
Y29kZXIsIFJlcXVlc3RlZFNjcm9sCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzY3JvbGxEYXRh
LmNsYW1waW5nKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShzY3JvbGxEYXRhLmFuaW1hdGVkKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlP
Uy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbQppbmRleCAwYTU3YWZhMmMwNmNk
MDg2MWUwMGI4MmRlZmQxODlhZGUyZDU1ZjEwLi4wMGUxNGY0OGY3MTdhZDRjY2U1YWRhZWI1ZTll
M2ZkYjVlMTJlODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVM
YXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCkBAIC05Niw3ICs5Niw3IEBAIHZv
aWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUzo6Y29tbWl0U3RhdGVB
ZnRlckNoaWxkcmVuKGNvbnN0IFNjCiAgICAgLy8gVXBkYXRlIHRoZSBzY3JvbGwgcG9zaXRpb24g
YWZ0ZXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIHVwZGF0ZWQsIGJlY2F1c2UgdGhleSBuZWVkIHRv
IGhhdmUgdXBkYXRlZCB0aGVpciBjb25zdHJhaW50cyBiZWZvcmUgYW55IHNjcm9sbGluZyBoYXBw
ZW5zLgogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9s
bGluZ1N0YXRlTm9kZTo6UHJvcGVydHk6OlJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKSkgewogICAg
ICAgICBjb25zdCBhdXRvJiByZXF1ZXN0ZWRTY3JvbGxEYXRhID0gc2Nyb2xsaW5nU3RhdGVOb2Rl
LnJlcXVlc3RlZFNjcm9sbERhdGEoKTsKLSAgICAgICAgc2Nyb2xsVG8ocmVxdWVzdGVkU2Nyb2xs
RGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxUeXBlLCByZXF1
ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG8ocmVxdWVzdGVkU2Ny
b2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxUeXBlLCBy
ZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmFuaW1hdGVk
KTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLmgKaW5kZXggZTAyNDkyNjgwMmRiY2Q4ODA4NDVkZjNh
YzdiM2Y5YTQ2YWNiZWM1Mi4uNThkODAyZDQ2NmY2Yjk0OTRjMWY0NDE1NmQ1ZGI5ODEwOGI5OWFj
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lv
cy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlSU9TLmgKQEAgLTc5LDYgKzc5LDggQEAgcHVibGljOgogICAgIFVJU2Nyb2xs
VmlldyAqc2Nyb2xsVmlldygpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIGJvb2wgc3RhcnRBbmlt
YXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgZmluYWw7CisKICAgICBSZXRhaW5QdHI8
Q0FMYXllcj4gbV9zY3JvbGxMYXllcjsKICAgICBSZXRhaW5QdHI8Q0FMYXllcj4gbV9zY3JvbGxl
ZENvbnRlbnRzTGF5ZXI7CiAgICAgUmV0YWluUHRyPFdLU2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdE
ZWxlZ2F0ZT4gbV9zY3JvbGxWaWV3RGVsZWdhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUv
aW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KaW5kZXggOGE5ZmY2
NzVkY2U4NTllODcxNDJkNWIzNzg4NjY4NmI2NWQwMzBmYy4uMGViMjg0OTg3ZjNhNGQ3YjM5YjFh
NTdlODQxYTM3MDA1NDQ3ZDQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQpAQCAtMjkwLDExICsyOTAsMTcg
QEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpjb21taXRTdGF0
ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2wKIAogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUu
aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6UHJvcGVydHk6OlJlcXVlc3Rl
ZFNjcm9sbFBvc2l0aW9uKSkgewogICAgICAgICBjb25zdCBhdXRvJiByZXF1ZXN0ZWRTY3JvbGxE
YXRhID0gc2Nyb2xsaW5nU3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9sbERhdGEoKTsKLSAgICAgICAg
c2Nyb2xsaW5nTm9kZSgpLnNjcm9sbFRvKHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsUG9zaXRp
b24sIHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsVHlwZSwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5j
bGFtcGluZyk7CisgICAgICAgIHNjcm9sbGluZ05vZGUoKS5zY3JvbGxUbyhyZXF1ZXN0ZWRTY3Jv
bGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFR5cGUsIHJl
cXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcsIHJlcXVlc3RlZFNjcm9sbERhdGEuYW5pbWF0ZWQp
OwogICAgICAgICBzY3JvbGxpbmdUcmVlKCkuc2V0TmVlZHNBcHBseUxheWVyUG9zaXRpb25zQWZ0
ZXJDb21taXQoKTsKICAgICB9CiB9CiAKK2Jvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZUlPUzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkKK3sK
KyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCisgICAgcmV0dXJuIGZhbHNlOworfQorCiAj
aWYgSEFWRShVSVNDUk9MTFZJRVdfQVNZTkNIUk9OT1VTX1NDUk9MTF9FVkVOVF9IQU5ETElORykK
IHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6aGFuZGxlQXN5bmNo
cm9ub3VzQ2FuY2VsYWJsZVNjcm9sbEV2ZW50KFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlldywgVUlT
Y3JvbGxFdmVudCAqc2Nyb2xsRXZlbnQsIHZvaWQgKF5jb21wbGV0aW9uKShCT09MIGhhbmRsZWQp
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlTWFjLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVSZW1vdGVNYWMuaAppbmRleCBhNjM0OTRhMThkNjNmMGVhMDA0OWI2YjNjODg4
ZDc5MmQ4NWRlNjZkLi44ZDc2YWQxMDhlNGJmOGZmNTFjNjc4MWJkOTFiMmVmNGU4ZTQwMzMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVSZW1vdGVNYWMuaApAQCAtNDMsOSArNDMsOSBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZSYsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVUeXBlLCBXZWJDb3JlOjpTY3JvbGxp
bmdOb2RlSUQpOwogCi0gICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFdl
YkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJyaWRlOwotICAgIFdlYkNvcmU6OldoZWVs
RXZlbnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdlYkNvcmU6OlBsYXRm
b3JtV2hlZWxFdmVudCYsIFdlYkNvcmU6OkV2ZW50VGFyZ2V0aW5nKSBvdmVycmlkZTsKLSAgICB2
b2lkIHJlcG9zaXRpb25SZWxhdGVkTGF5ZXJzKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21taXRT
dGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZSYpIGZp
bmFsOworICAgIFdlYkNvcmU6OldoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVXaGVlbEV2
ZW50KGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudCYsIFdlYkNvcmU6OkV2ZW50VGFy
Z2V0aW5nKSBmaW5hbDsKKyAgICB2b2lkIHJlcG9zaXRpb25SZWxhdGVkTGF5ZXJzKCkgZmluYWw7
CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsZXJQYWlyTWFjPiBtX3Njcm9sbGVyUGFpcjsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUv
bWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVSZW1vdGVNYWMuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oCmluZGV4IDU0ZDRlOGUxYTRkYzA2NjVhMmNlMzJj
NjY0NzA0MGIxNGMwM2VkYTIuLmI3NDE5NDgyN2YxOGU4YjA4OTgyNTg5OTk3N2QyNGY3YjFmNWJh
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9t
YWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMvU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oCkBAIC00Myw5ICs0Myw5IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1h
YyhXZWJDb3JlOjpTY3JvbGxpbmdUcmVlJiwgV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlEKTsKIAot
ICAgIHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBXZWJDb3JlOjpTY3JvbGxp
bmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsKLSAgICBXZWJDb3JlOjpXaGVlbEV2ZW50SGFuZGxpbmdS
ZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQm
LCBXZWJDb3JlOjpFdmVudFRhcmdldGluZykgb3ZlcnJpZGU7Ci0gICAgdm9pZCByZXBvc2l0aW9u
UmVsYXRlZExheWVycygpIG92ZXJyaWRlOworICAgIHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGls
ZHJlbihjb25zdCBXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU5vZGUmKSBmaW5hbDsKKyAgICBXZWJD
b3JlOjpXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJD
b3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQmLCBXZWJDb3JlOjpFdmVudFRhcmdldGluZykgZmluYWw7
CisgICAgdm9pZCByZXBvc2l0aW9uUmVsYXRlZExheWVycygpIGZpbmFsOwogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFNjcm9sbGVyUGFpck1hYz4gbV9zY3JvbGxlclBhaXI7CiB9Owo=
</data>
<flag name="commit-queue"
          id="464203"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440326</attachid>
            <date>2021-10-05 20:20:22 -0700</date>
            <delta_ts>2021-10-05 21:11:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231271-20211005202021.patch</filename>
            <type>text/plain</type>
            <size>42100</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI3MzdiMjY3NzRlMTMy
MWU1NWZhMTI3OGU0NDVjMTA0MjJlNDkxZS4uOTgzNGQwZDY2YzIzZTUzYzgwODE1NmU4ZWQ0NzVi
OTMyZGNlZTAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDIxLTEwLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHNtb290
aCBzY3JvbGwgYW5pbWF0aW9ucyB0byBydW4gb24gdGhlIHNjcm9sbGluZyB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTI3MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJl
IHNvIHRoYXQgd2UgY2FuIGhhdmUgYW4gYW5pbWF0ZWQgc2Nyb2xsIHJ1biBvbiB0aGUgc2Nyb2xs
aW5nIHRocmVhZCwgb3IKKyAgICAgICAgdWx0aW1hdGVseSBpbiB0aGUgVUkgcHJvY2VzcyBvbiBp
T1MuCisgICAgICAgIAorICAgICAgICBSZXF1ZXN0ZWRTY3JvbGxEYXRhIGdldHMgYSBmaWVsZCB0
byBzZWUgaWYgdGhlIHNjcm9sbCBpcyBhbmltYXRlZCBvciBub3QuCisgICAgICAgIAorICAgICAg
ICBBZGQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24oKSB3aGljaCBpcyBhbmFsb2dvdXMgdG8KKyAgICAgICAgcmVxdWVzdFNjcm9sbFBvc2l0aW9u
VXBkYXRlKCksIHdoaWNoIGlzIG92ZXJyaWRkZW4gYnkgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ciB0byB0dXJuIHRoYXQKKyAgICAgICAgaW50byBhIHJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uVXBk
YXRlIG9uIGEgc2Nyb2xsaW5nIHRyZWUgbm9kZS4KKworICAgICAgICBUaGUgc2Nyb2xscyBhcmUg
Y3VycmVudGx5IHRyaWdnZXJlZCBmcm9tCisgICAgICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlKjo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKCkgdmlhIHRoZSAnYW5pbWF0ZWQnIGFyZ3Vt
ZW50IHRvCisgICAgICAgIHNjcm9sbFRvKCksIGJ1dCB0aGF0J3MgYWN0dWFsbHkgd3Jvbmc7IHdl
IHJ1biB0aGlzIGNvZGUgb24gdGhlIG1haW4gdGhyZWFkLCBzbyB0aGlzIHN0aWxsCisgICAgICAg
IHRyaWdnZXJzIG1haW4gdGhyZWFkIGFuaW1hdGlvbnMuIEEgZnV0dXJlIHBhdGNoIHdpbGwgZml4
IHRoYXQuCisKKyAgICAgICAgVGhpcyBkb2VzIG5vdCB5ZXQgaG9vayB1cCBhbmltYXRlZCBzY3Jv
bGxzIGZvciBpT1MuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xs
VG9Qb3NpdGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9s
bFBvc2l0aW9uVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9y
OjpyZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyBjb25zdCk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXF1ZXN0ZWRTY3JvbGxEYXRhOjpvcGVyYXRvcj09IGNvbnN0KToKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsVG8pOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpj
b21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24p
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3Np
dGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYTo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24pOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU5pY29zaWEuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9uaWNvc2lh
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhOjpzdGFy
dEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmlj
b3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5oOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZU5pY29zaWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVEZWxlZ2F0ZU5pY29zaWE6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVOaWNvc2lhLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9Qb3NpdGlvbldpdGhBbmltYXRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxl
QXJlYTo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaDoKKwogMjAy
MS0xMC0wNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIG1fYXV0b1Nocmlua1RvRml0RW5hYmxlZCBmcm9tIFJ1bGVTZXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjg1
ZGYzZjBhZTNiOWYwYzYzYWE3YzkxM2U4MjYyNzJmYTVmYTNlMy4uODg3N2MyZjM5MGY2Y2I5Mzhj
ZDliMTE5YjQyYzYwY2MyYjdmNjM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0x
MC0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBB
bGxvdyBzbW9vdGggc2Nyb2xsIGFuaW1hdGlvbnMgdG8gcnVuIG9uIHRoZSBzY3JvbGxpbmcgdGhy
ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEy
NzEKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogU2hhcmVk
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNw
cDoKKyAgICAgICAgKEFyZ3VtZW50Q29kZXI8UmVxdWVzdGVkU2Nyb2xsRGF0YT46OmVuY29kZSk6
CisgICAgICAgIChBcmd1bWVudENvZGVyPFJlcXVlc3RlZFNjcm9sbERhdGE+OjpkZWNvZGUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbik6
CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAg
ICAgIChXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OmNvbW1p
dFN0YXRlQWZ0ZXJDaGlsZHJlbik6CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1M6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlUmVtb3RlTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oOgor
CiAyMDIxLTEwLTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIFNQSSB0byBsYXVuY2ggYSBzZXJ2aWNlIHNlcnZpY2Ugd29ya2VyIGluIGEgV0tXZWJWaWV3
IGFuZCBleHBvc2Ugc2VydmljZSB3b3JrZXIgdG8gaW5qZWN0ZWQgYnVuZGxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKaW5kZXggMTg3N2RjZjExNmZhYjM2ODFkNmJjZDY5OTk3NDUwMGE0YTFk
OTZkMC4uNzkwNGYyOWFjMWYwMGE0NGVjMTRkNGYzMjUyOGRiYjg3YzE3OTczMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjY4Nyw2ICsyNjg3LDIwIEBAIGJvb2wgRnJhbWVWaWV3
OjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0
aW9uLCBTY3JvCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEZyYW1lVmlldzo6cmVxdWVz
dEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzdGluYXRp
b25Qb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit7CisgICAgTE9HX1dJVEhfU1RS
RUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6OnJlcXVlc3RBbmltYXRlZFNjcm9s
bFRvUG9zaXRpb24gIiA8PCBkZXN0aW5hdGlvblBvc2l0aW9uKTsKKworI2lmIEVOQUJMRShBU1lO
Q19TQ1JPTExJTkcpCisgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5z
Y3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRpbmF0
b3ItPnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oKnRoaXMsIGRlc3RpbmF0aW9uUG9z
aXRpb24sIGNsYW1waW5nKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBvc2l0aW9uKTsKKyNl
bmRpZgorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBIb3N0V2luZG93KiBGcmFtZVZpZXc6Omhv
c3RXaW5kb3coKSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGQ5ZDQ4YWY1ZjdkMTQ5NzdmM2E1MGRlNTY1OTkzZWRl
M2Q1MmEzMTguLjYzMTg1ZDExNTlhNjFjOGEzNjAwZjllYTk4Y2JjYTZkNTk3OWRjYmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMjQ2LDcgKzI0NiwxMCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzY3JvbGxUb0ZvY3VzZWRFbGVtZW50SW1tZWRpYXRlbHlJZk5lZWRlZCgpOwogICAgIHZvaWQg
dXBkYXRlTGF5ZXJQb3NpdGlvbnNBZnRlclNjcm9sbGluZygpIGZpbmFsOwogICAgIHZvaWQgdXBk
YXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbGluZygpIGZpbmFsOworCiAgICAgYm9vbCBy
ZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxU
eXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgZmluYWw7CisgICAgYm9vbCByZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9u
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCkgZmluYWw7CisKICAgICBib29sIGlzVXNlclNjcm9sbEluUHJvZ3Jlc3MoKSBjb25z
dCBmaW5hbDsKICAgICBib29sIGlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdCBmaW5hbDsK
ICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxQb3NpdGlvbiBtaW5pbXVtU2Nyb2xsUG9zaXRpb24o
KSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggY2RkZjM0YmI2YzA5MGU0
MDdhZmMyNzNiZTM0NmVhYzlmNDlmOTYxNS4uYWJjODBhYjAwMDlhYmQyNGRjOGJlMzE1M2Y5NDhl
MTQ3MGYwM2Q0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTIzOSw3ICsyMzksNyBAQCB2
b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1lVmlld1Jvb3RMYXllckRpZENoYW5n
ZShGcmFtZVZpZXcmIGZyYW1lVmlldwogICAgIG5vZGUtPnNldEhvcml6b250YWxTY3JvbGxiYXJM
YXllcihmcmFtZVZpZXcubGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyKCkpOwogfQogCi1ib29s
IEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShT
Y3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEsIGNvbnN0IEludFBvaW50JiBzY3JvbGxQb3Np
dGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK2Jv
b2wgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRl
KFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwgY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNj
cm9sbFBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1w
aW5nKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKG1fcGFnZSk7
CkBAIC0yNzMsNyArMjczLDM2IEBAIGJvb2wgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVx
dWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKFNjcm9sbGFibGVBcmVhJiBzY3JvCiAgICAgaWYgKCFz
dGF0ZU5vZGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHN0YXRlTm9kZS0+c2V0UmVx
dWVzdGVkU2Nyb2xsRGF0YSh7IHNjcm9sbFBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZyB9
KTsKKyAgICBzdGF0ZU5vZGUtPnNldFJlcXVlc3RlZFNjcm9sbERhdGEoeyBzY3JvbGxQb3NpdGlv
biwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcsIEFuaW1hdGVkU2Nyb2xsOjpObyB9KTsKKyAgICAvLyBG
SVhNRTogVGhpcyBzaG91bGQgc2NoZWR1bGUgYSByZW5kZXJpbmcgdXBkYXRlCisgICAgY29tbWl0
VHJlZVN0YXRlSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBBc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKFNjcm9s
bGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwgY29uc3QgU2Nyb2xsUG9zaXRpb24mIGRlc3RpbmF0
aW9uUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CisgICAgQVNTRVJUKG1fcGFnZSk7CisgICAgYXV0byBzY3JvbGxpbmdOb2Rl
SUQgPSBzY3JvbGxhYmxlQXJlYS5zY3JvbGxpbmdOb2RlSUQoKTsKKyAgICBpZiAoIXNjcm9sbGlu
Z05vZGVJRCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogZnJhbWVWaWV3ID0g
ZnJhbWVWaWV3Rm9yU2Nyb2xsaW5nTm9kZShzY3JvbGxpbmdOb2RlSUQpOworICAgIGlmICghZnJh
bWVWaWV3KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWNvb3JkaW5hdGVzU2Ny
b2xsaW5nRm9yRnJhbWVWaWV3KCpmcmFtZVZpZXcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBzZXRTY3JvbGxpbmdOb2RlU2Nyb2xsYWJsZUFyZWFHZW9tZXRyeShzY3JvbGxpbmdOb2Rl
SUQsIHNjcm9sbGFibGVBcmVhKTsKKworICAgIGF1dG8qIHN0YXRlTm9kZSA9IGRvd25jYXN0PFNj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZT4obV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9k
ZUZvcklEKHNjcm9sbGluZ05vZGVJRCkpOworICAgIGlmICghc3RhdGVOb2RlKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAvLyBBbmltYXRlZCBzY3JvbGxzIGFyZSBhbHdheXMgcHJvZ3Jh
bW1hdGljLgorICAgIHN0YXRlTm9kZS0+c2V0UmVxdWVzdGVkU2Nyb2xsRGF0YSh7IGRlc3RpbmF0
aW9uUG9zaXRpb24sIFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgY2xhbXBpbmcsIEFuaW1hdGVk
U2Nyb2xsOjpZZXMgfSk7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHNjaGVkdWxlIGEgcmVu
ZGVyaW5nIHVwZGF0ZQogICAgIGNvbW1pdFRyZWVTdGF0ZUlmTmVlZGVkKCk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggYjJlNGVlMTc2YmVjNmI1MDdkM2I5Y2Nm
MjJlY2EwYjdlZDhmZmFiMy4uODI1MDYxZGJkMDlmYmVjNzA0MjMwMjhiNTJhNjZiYzU4NzdjZThl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxp
bmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTAwLDcgKzEwMCw4IEBAIHByaXZhdGU6CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBmcmFtZVZpZXdWaXN1YWxWaWV3cG9ydENoYW5nZWQoRnJhbWVW
aWV3Jikgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmcmFtZVZpZXdFdmVudFRy
YWNraW5nUmVnaW9uc0NoYW5nZWQoRnJhbWVWaWV3Jikgb3ZlcnJpZGU7CiAKLSAgICBXRUJDT1JF
X0VYUE9SVCBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShTY3JvbGxhYmxlQXJlYSYs
IGNvbnN0IEludFBvaW50JiwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcpIG92ZXJyaWRlOwor
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKFNjcm9s
bGFibGVBcmVhJiwgY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFt
cGluZykgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCByZXF1ZXN0QW5pbWF0ZWRTY3Jv
bGxUb1Bvc2l0aW9uKFNjcm9sbGFibGVBcmVhJiwgY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3Jv
bGxDbGFtcGluZykgZmluYWw7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5U2Nyb2xs
aW5nVHJlZUxheWVyUG9zaXRpb25zKCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDgzZDlkZTEz
ZTMyNjgzMmZjMDFiZjEzYTFlMjgxMmVjNGRlMzk3MWYuLjkxMDZhMzI3ZjFlNTg2NjdjZGI4NjQx
NGJhZDEyZmM1MjNhZjBhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTEyLDcgKzExMiwxMCBAQCBwdWJsaWM6
CiAKICAgICAvLyBUaGVzZSB2aXJ0dWFsIGZ1bmN0aW9ucyBhcmUgY3VycmVudGx5IHVuaXF1ZSB0
byB0aGUgdGhyZWFkZWQgc2Nyb2xsaW5nIGFyY2hpdGVjdHVyZS4gCiAgICAgdmlydHVhbCB2b2lk
IGNvbW1pdFRyZWVTdGF0ZUlmTmVlZGVkKCkgeyB9Ci0gICAgdmlydHVhbCBib29sIHJlcXVlc3RT
Y3JvbGxQb3NpdGlvblVwZGF0ZShTY3JvbGxhYmxlQXJlYSYsIGNvbnN0IEludFBvaW50JiwgU2Ny
b2xsVHlwZSA9IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCkgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIHZpcnR1YWwgYm9v
bCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoU2Nyb2xsYWJsZUFyZWEmLCBjb25zdCBTY3Jv
bGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9s
bENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgdmlydHVhbCBib29sIHJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oU2Nyb2xsYWJs
ZUFyZWEmLCBjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nKSB7IHJldHVybiBm
YWxzZTsgfQorCiAgICAgdmlydHVhbCBib29sIGhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmco
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgU2Nyb2xsaW5nTm9kZUlELCBzdGQ6Om9wdGlvbmFs
PFdoZWVsU2Nyb2xsR2VzdHVyZVN0YXRlPikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFs
IHZvaWQgd2hlZWxFdmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVhZChjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmLCBzdGQ6Om9wdGlvbmFsPFdoZWVsU2Nyb2xsR2VzdHVyZVN0YXRlPikgeyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IDg4NjYzMzBmOTI1YzY1MzZkYzQ4ZWZiZjE3
MzZlNTkwMWEwMGM0MjguLjEyOTZlOTMyY2M5N2JkNGM2MzU4MjU5NjRmYzk5MjlkN2EzOTE3MjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcApAQCAtMjk3LDYgKzI5Nyw5IEBAIHZvaWQgU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywg
U2Nyb2xsaW5nU3RhdGVUCiAgICAgaWYgKG1fcmVxdWVzdGVkU2Nyb2xsRGF0YS5jbGFtcGluZyA9
PSBTY3JvbGxDbGFtcGluZzo6VW5jbGFtcGVkKQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoInJl
cXVlc3RlZCBzY3JvbGwgcG9zaXRpb24gY2xhbXBpbmciLCBtX3JlcXVlc3RlZFNjcm9sbERhdGEu
Y2xhbXBpbmcpOwogCisgICAgaWYgKG1fcmVxdWVzdGVkU2Nyb2xsRGF0YS5hbmltYXRlZCA9PSBB
bmltYXRlZFNjcm9sbDo6WWVzKQorICAgICAgICB0cy5kdW1wUHJvcGVydHkoInJlcXVlc3RlZCBz
Y3JvbGwgcG9zaXRpb24gaXMgYW5pbWF0ZWQiLCB0cnVlKTsKKwogICAgIGlmIChtX3Njcm9sbE9y
aWdpbiAhPSBJbnRQb2ludCgpKQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoInNjcm9sbCBvcmln
aW4iLCBtX3Njcm9sbE9yaWdpbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKaW5kZXggOGJjZjkx
ZGFkOTFjZmFlZmNhYjEwNzRhZDZmNzhhMDE1MTJmODkxOS4uZjJiZmFhNDMwNWUxYzcwODNkYmYx
MTFhMWRhOTBkMDc3ODhjMmExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKQEAgLTQyLDEyICs0
MiwxNCBAQCBzdHJ1Y3QgUmVxdWVzdGVkU2Nyb2xsRGF0YSB7CiAgICAgRmxvYXRQb2ludCBzY3Jv
bGxQb3NpdGlvbjsKICAgICBTY3JvbGxUeXBlIHNjcm9sbFR5cGUgeyBTY3JvbGxUeXBlOjpVc2Vy
IH07CiAgICAgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcgeyBTY3JvbGxDbGFtcGluZzo6Q2xhbXBl
ZCB9OworICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkIHsgQW5pbWF0ZWRTY3JvbGw6Ok5vIH07
CiAgICAgCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlcXVlc3RlZFNjcm9sbERhdGEmIG90
aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uID09IG90aGVy
LnNjcm9sbFBvc2l0aW9uCiAgICAgICAgICAgICAmJiBzY3JvbGxUeXBlID09IG90aGVyLnNjcm9s
bFR5cGUKLSAgICAgICAgICAgICYmIGNsYW1waW5nID09IG90aGVyLmNsYW1waW5nOworICAgICAg
ICAgICAgJiYgY2xhbXBpbmcgPT0gb3RoZXIuY2xhbXBpbmcKKyAgICAgICAgICAgICYmIGFuaW1h
dGVkID09IG90aGVyLmFuaW1hdGVkOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNw
cAppbmRleCA5OGEzMzc5MDVlNDk1Y2U0NDJjMzkxNzU2ZmVmMWZmMzc0MmFjNWZjLi4wM2RkNDU0
NDk2MjVmMmQ0MTE4YjRlYzc4MGQwNjRkMzUyYTA1YzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUu
Y3BwCkBAIC0yNDAsMTEgKzI0MCwxNiBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
OjpzY3JvbGxCeShjb25zdCBGbG9hdFNpemUmIGRlbHRhLCBTY3JvbGxDbGFtcGluZwogICAgIHNj
cm9sbFRvKGN1cnJlbnRTY3JvbGxQb3NpdGlvbigpICsgZGVsdGEsIFNjcm9sbFR5cGU6OlVzZXIs
IGNsYW1wKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsVG8o
Y29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXApCit2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzY3JvbGxU
byhjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcCwgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQpCiB7CiAgICAgaWYgKHBv
c2l0aW9uID09IG1fY3VycmVudFNjcm9sbFBvc2l0aW9uKQogICAgICAgICByZXR1cm47CiAKKyAg
ICBpZiAoYW5pbWF0ZWQgPT0gQW5pbWF0ZWRTY3JvbGw6OlllcykgeworICAgICAgICBpZiAoc3Rh
cnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24ocG9zaXRpb24pKQorICAgICAgICAgICAgcmV0dXJu
OworICAgIH0KKwogICAgIHNjcm9sbGluZ1RyZWUoKS5zZXRJc0hhbmRsaW5nUHJvZ3JhbW1hdGlj
U2Nyb2xsKHNjcm9sbFR5cGUgPT0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKTsKIAogICAgIGlm
IChzY3JvbGxUeXBlID09IFNjcm9sbFR5cGU6OlByb2dyYW1tYXRpYykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZS5oCmluZGV4IDljMWJhNmIyZjEwM2Q0YzQ0NTU5MjUwYzU3NjYwYTExM2IxNDVlZjAuLjRjNDFl
Y2FiY2Y2MmViYThiZWJlNjFkNTQyNDE1NDM5MTFmZDZlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUu
aApAQCAtNzUsNyArNzUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTY3JvbGxTbmFwSW5Qcm9n
cmVzcyhib29sKTsKIAogICAgIC8vIFRoZXNlIGFyZSBpbXBlcmF0aXZlOyB0aGV5IGFkanVzdCB0
aGUgc2Nyb2xsaW5nIGxheWVycy4KLSAgICB2b2lkIHNjcm9sbFRvKGNvbnN0IEZsb2F0UG9pbnQm
LCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCk7CisgICAgdm9pZCBzY3JvbGxUbyhjb25zdCBGbG9hdFBvaW50Jiwg
U2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlVzZXIsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQsIEFuaW1hdGVkU2Nyb2xsID0gQW5pbWF0ZWRTY3JvbGw6Ok5vKTsKICAg
ICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQpOwogCiAgICAgdmlydHVhbCB2b2lkIHN0b3BTY3JvbGxBbmltYXRp
b25zKCkgeyB9OwpAQCAtMTIzLDYgKzEyMyw4IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgd2lsbERvUHJvZ3JhbW1hdGljU2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmKSB7IH0KICAgICAK
ICAgICB2aXJ0dWFsIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9h
dFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgY29uc3Q7
CisgICAgCisgICAgdmlydHVhbCBib29sIHN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZs
b2F0UG9pbnQpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgY3VycmVudFNj
cm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBlLCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0
aW9uID0gU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U3luYyk7CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVZpZXdwb3J0Rm9yQ3VycmVudFNjcm9sbFBvc2l0aW9uKHN0ZDo6b3B0aW9uYWw8
RmxvYXRSZWN0PiA9IHsgfSkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlLmgK
aW5kZXggNTUxOGI0Y2M0YzlhMzA5N2E2NTZkYTUxODAxMzVkMzkzZjRlOTBiMS4uM2RhZjU3ODU5
ZmUwZjgwMDgxOWU3YzBjMjFiMmJkNzljOTgwYWE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGUuaApAQCAtMzgsNiArMzgsOCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZSYgc2Nyb2xsaW5nTm9kZSgpIHsgcmV0dXJuIG1fc2Nyb2xsaW5nTm9k
ZTsgfQogICAgIGNvbnN0IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiBzY3JvbGxpbmdOb2Rl
KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdOb2RlOyB9CisgICAgCisgICAgdmlydHVhbCBi
b29sIHN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQpID0gMDsKIAogcHJv
dGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4
IGMwZTgyN2M0YmZhZTQyNmMyMTRjYTdkNmE2MzcwYjhjNWJkMjg2MmYuLjFkYmY5MGI2NzY0N2I2
N2JiOWZkZjFhMGMyOWFlNGM2NTVkY2IxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVNYWMuaApAQCAtNjYsNiArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgd2ls
bEJlRGVzdHJveWVkKCkgZmluYWw7CiAgICAgdm9pZCB3aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwo
Y29uc3QgRmxvYXRQb2ludCYpIGZpbmFsOwogCisgICAgYm9vbCBzdGFydEFuaW1hdGVkU2Nyb2xs
VG9Qb3NpdGlvbihGbG9hdFBvaW50KSBmaW5hbDsKKwogICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRT
Y3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcpIGNvbnN0IGZp
bmFsOwogCiAgICAgdm9pZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUs
IFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQppbmRleCAzYzE0YmNiZTcxYjE2YmM0ZTBkYTJiOWFi
MTZiOTVkYTJlMTk2ODFhLi4wMzJlYzMwMzdiMGVlNTkyY2MxMjAxOTUyNTcwMWQyOTgxYzhjNGI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtMTA3
LDcgKzEwNyw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y29t
bWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGluCiAgICAgLy8gVXBkYXRlIHRoZSBz
Y3JvbGwgcG9zaXRpb24gYWZ0ZXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIHVwZGF0ZWQsIGJlY2F1
c2UgdGhleSBuZWVkIHRvIGhhdmUgdXBkYXRlZCB0aGVpciBjb25zdHJhaW50cyBiZWZvcmUgYW55
IHNjcm9sbGluZyBoYXBwZW5zLgogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdl
ZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6UHJvcGVydHk6OlJlcXVlc3RlZFNjcm9sbFBv
c2l0aW9uKSkgewogICAgICAgICBjb25zdCBhdXRvJiByZXF1ZXN0ZWRTY3JvbGxEYXRhID0gc2Ny
b2xsaW5nU3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9sbERhdGEoKTsKLSAgICAgICAgc2Nyb2xsVG8o
cmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5z
Y3JvbGxUeXBlLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xs
VG8ocmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0
YS5zY3JvbGxUeXBlLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nLCByZXF1ZXN0ZWRTY3Jv
bGxEYXRhLmFuaW1hdGVkKTsKICAgICB9CiAKICAgICBpZiAoaXNSb290Tm9kZSgpCkBAIC0xMzIs
NiArMTMyLDExIEBAIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvCiAgICAgcmV0dXJuIFdoZWVsRXZl
bnRIYW5kbGluZ1Jlc3VsdDo6cmVzdWx0KGhhbmRsZWQpOwogfQogCitib29sIFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZs
b2F0UG9pbnQgZGVzdGluYXRpb25Qb3NpdGlvbikKK3sKKyAgICByZXR1cm4gbV9kZWxlZ2F0ZS5z
dGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uKTsKK30KKwog
dm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjp3aWxsRG9Qcm9ncmFtbWF0
aWNTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgdGFyZ2V0U2Nyb2xsUG9zaXRpb24pCiB7CiAgICAg
bV9kZWxlZ2F0ZS53aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwodGFyZ2V0U2Nyb2xsUG9zaXRpb24p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKaW5kZXgg
NmNmZDVmZTVmNzM0YTBlNTNkMDlhMjMxNmQ3NTE5NDk0MWEwMTc2NC4uN2JmY2RlNzdiNmU0NmJh
YWFjMDVlOTBlYzkxN2E4MzAxZWI3MzNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZU1hYy5oCkBAIC00NSwxMiArNDUsMTQgQEAgcHJvdGVjdGVkOgogICAg
IHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUm
KSBvdmVycmlkZTsKICAgICB2b2lkIGNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3Jv
bGxpbmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsKICAgICAKLSAgICBGbG9hdFBvaW50IGFkanVzdGVk
U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbENsYW1waW5nKSBjb25zdCBv
dmVycmlkZTsKKyAgICBGbG9hdFBvaW50IGFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxv
YXRQb2ludCYsIFNjcm9sbENsYW1waW5nKSBjb25zdCBmaW5hbDsKKworICAgIGJvb2wgc3RhcnRB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKSBm
aW5hbDsKIAogICAgIHZvaWQgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZChTY3JvbGxUeXBl
LCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uKSBmaW5hbDsKICAgICB2b2lkIHdpbGxEb1By
b2dyYW1tYXRpY1Njcm9sbChjb25zdCBGbG9hdFBvaW50JikgZmluYWw7CiAKLSAgICB2b2lkIHJl
cG9zaXRpb25TY3JvbGxpbmdMYXllcnMoKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcG9zaXRpb25T
Y3JvbGxpbmdMYXllcnMoKSBmaW5hbDsKICAgICB2b2lkIHJlcG9zaXRpb25SZWxhdGVkTGF5ZXJz
KCkgb3ZlcnJpZGU7CiAKICAgICBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgaGFuZGxlV2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBFdmVudFRhcmdldGluZykgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4
IDZkMmIwMjg3Y2E5ZGZjMzA4MTZmYmFiNjRlZTAyYzQ5MzliMmRiZmIuLmVkMmEzMmUwZTI3ZGI0
MjFiMzk1M2RmMWY1YjMxMWE0Mjk1YjE1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCkBAIC02OSw3ICs2OSw3IEBAIHZvaWQgU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNv
bnN0IFNjcm9sCiAKICAgICBpZiAob3ZlcmZsb3dTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5
KFNjcm9sbGluZ1N0YXRlTm9kZTo6UHJvcGVydHk6OlJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKSkg
ewogICAgICAgICBjb25zdCBhdXRvJiByZXF1ZXN0ZWRTY3JvbGxEYXRhID0gb3ZlcmZsb3dTdGF0
ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpOwotICAgICAgICBzY3JvbGxUbyhyZXF1ZXN0ZWRT
Y3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFR5cGUs
IHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUbyhyZXF1ZXN0
ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFR5
cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcsIHJlcXVlc3RlZFNjcm9sbERhdGEuYW5p
bWF0ZWQpOwogICAgIH0KIH0KIApAQCAtODYsNiArODYsMTEgQEAgV2hlZWxFdmVudEhhbmRsaW5n
UmVzdWx0IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OmhhbmRsZVdoZWVs
RXZlbnQKICAgICByZXR1cm4gV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0OjpyZXN1bHQobV9kZWxl
Z2F0ZS5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKTsKIH0KIAorYm9vbCBTY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlv
bihGbG9hdFBvaW50IGRlc3RpbmF0aW9uUG9zaXRpb24pCit7CisgICAgcmV0dXJuIG1fZGVsZWdh
dGUuc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7Cit9
CisKIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6d2lsbERvUHJv
Z3JhbW1hdGljU2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmIHRhcmdldFNjcm9sbFBvc2l0aW9uKQog
ewogICAgIG1fZGVsZWdhdGUud2lsbERvUHJvZ3JhbW1hdGljU2Nyb2xsKHRhcmdldFNjcm9sbFBv
c2l0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5o
CmluZGV4IGE4YjczOTVkNzUyYjFmMTAyY2NmMzgzNzhjZWYxZWY5OGE5NDZhMjguLjE0ZWIzNDNl
ODgwNDlkNzljNTQ1OThkM2UxZWE2YjM2NWNmODc3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
TWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMuaApAQCAtNTEsNyArNTEsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBub2RlV2lsbEJlRGVzdHJveWVkKCk7CiAKICAgICBib29sIGhhbmRsZVdoZWVsRXZl
bnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7Ci0gICAgCisKKyAgICBib29sIHN0YXJ0QW5p
bWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQpIGZpbmFsOworCiAgICAgdm9pZCB3aWxs
RG9Qcm9ncmFtbWF0aWNTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYpOwogICAgIHZvaWQgY3VycmVu
dFNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlTWFjLm1tCmluZGV4IDA4OGQzODA1Mjg4YmE4ODdhZjI2ZjM3N2UyNzM5
YzQxNjhiMDk2NjEuLmJkYjYwMTkxODgzMTMyZGVlYjQwOTI3MWQ1YTFkMzJhMjU5NjczNDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCkBAIC0x
MTMsNiArMTEzLDE0IEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1h
Yzo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsCiAgICAgcmV0dXJuIG1fc2Ny
b2xsQ29udHJvbGxlci5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwogfQogCitib29sIFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxU
b1Bvc2l0aW9uKEZsb2F0UG9pbnQgZGVzdGluYXRpb25Qb3NpdGlvbikKK3sKKyAgICBhdXRvIGN1
cnJlbnRPZmZzZXQgPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKGN1
cnJlbnRTY3JvbGxQb3NpdGlvbigpLCBzY3JvbGxPcmlnaW4oKSk7CisgICAgYXV0byBkZXN0aW5h
dGlvbk9mZnNldCA9IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oZGVz
dGluYXRpb25Qb3NpdGlvbiwgc2Nyb2xsT3JpZ2luKCkpOworICAgIAorICAgIHJldHVybiBtX3Nj
cm9sbENvbnRyb2xsZXIuc3RhcnRBbmltYXRlZFNjcm9sbFRvRGVzdGluYXRpb24oY3VycmVudE9m
ZnNldCwgZGVzdGluYXRpb25PZmZzZXQpOworfQorCiB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGVNYWM6OndpbGxEb1Byb2dyYW1tYXRpY1Njcm9sbChjb25zdCBGbG9hdFBv
aW50JiB0YXJnZXRQb3NpdGlvbikKIHsKICAgICBpZiAoc2Nyb2xsUG9zaXRpb25Jc05vdFJ1YmJl
cmJhbmRpbmdFZGdlKHRhcmdldFBvc2l0aW9uKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
Tmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcAppbmRleCAwMzI1NjA1MWU2YWJj
NDk0OTk2N2Y4NmZjZWYzNjU5NGNmMmFiMjE2Li42YzU1NmM3Y2RkNTk5NDJjNTVjYTM4NTAzMjRl
ZjEzMDhlZmQ3NjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9u
aWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVOaWNvc2lhLmNwcApAQCAtMTA1LDYgKzEwNSwxMSBAQCBXaGVlbEV2ZW50SGFu
ZGxpbmdSZXN1bHQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWE6OmhhbmRs
ZVdoZWVsRXZlbgogICAgIHJldHVybiBtX2RlbGVnYXRlLmhhbmRsZVdoZWVsRXZlbnQod2hlZWxF
dmVudCwgZXZlbnRUYXJnZXRpbmcpOwogfQogCitib29sIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVOaWNvc2lhOjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50
IGRlc3RpbmF0aW9uUG9zaXRpb24pCit7CisgICAgcmV0dXJuIG1fZGVsZWdhdGUuc3RhcnRBbmlt
YXRlZFNjcm9sbFRvUG9zaXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7Cit9CisKIHZvaWQgU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWE6OnN0b3BTY3JvbGxBbmltYXRpb25z
KCkKIHsKICAgICBtX2RlbGVnYXRlLnN0b3BTY3JvbGxBbmltYXRpb25zKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVOaWNvc2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9u
aWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmgKaW5kZXggOTYw
OGQ1NjBmYTYyMmZkYWQyYzVmNmM1NDEyYjI5YjY5YmU0OGQzZi4uNDE5YjgzOGM3NzBmOWFmMTBl
MDRiNGM1ODQyOGVhZjczMzViZmEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuaApAQCAtNTUsNiArNTUsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5v
ZGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBT
Y3JvbGxpbmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsKIAorICAgIGJvb2wgc3RhcnRBbmltYXRlZFNj
cm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgb3ZlcnJpZGU7CiAKICAgICBXaGVlbEV2ZW50SGFu
ZGxpbmdSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBF
dmVudFRhcmdldGluZykgb3ZlcnJpZGU7CiAgICAgRmxvYXRQb2ludCBhZGp1c3RlZFNjcm9sbFBv
c2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxDbGFtcGluZykgY29uc3Qgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZU5pY29zaWEuY3BwCmluZGV4IGYyYWUwMzNkMGQ2YjUwZmQ1OTk3YzFlYjhlODI0OWNmYzU0MDA3
YjguLmVlZGU2ZjQxZDQ4MjJjOGY4YWM4MjQxMzg4OTIxOTYzY2ExMTgyMGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU5pY29zaWEu
Y3BwCkBAIC04OCw2ICs4OCwxMSBAQCBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU5pY29zaWE6OmhhbmRsZVdoZWVsRQogICAgIHJldHVy
biBtX2RlbGVnYXRlLmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCwgZXZlbnRUYXJnZXRpbmcp
OwogfQogCitib29sIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhOjpz
dGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50IGRlc3RpbmF0aW9uUG9zaXRp
b24pCit7CisgICAgcmV0dXJuIG1fZGVsZWdhdGUuc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24oZGVzdGluYXRpb25Qb3NpdGlvbik7Cit9CisKIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZU5pY29zaWE6OnN0b3BTY3JvbGxBbmltYXRpb25zKCkKIHsKICAgICBtX2Rl
bGVnYXRlLnN0b3BTY3JvbGxBbmltYXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05v
ZGVOaWNvc2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmgKaW5kZXggMTY2OTcyNTkzOWE4
OTBlZjBkYjYwNzc4NDAyNjg0NTkyYzc1MGZmMC4uNTUyYzRjYTU3MjA3ZWUyZTkwMjZkNzQwZDRh
Mzk3MzhkMjBiN2FmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZU5pY29zaWEuaApAQCAtNDksNiArNDksNyBAQCBwcml2YXRlOgogICAg
IEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Ny
b2xsQ2xhbXBpbmcpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgcmVwb3NpdGlvblNjcm9sbGlu
Z0xheWVycygpIG92ZXJyaWRlOwogICAgIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVX
aGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIEV2ZW50VGFyZ2V0aW5nKSBvdmVy
cmlkZTsKKyAgICBib29sIHN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQp
IG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcFNjcm9sbEFuaW1hdGlvbnMoKSBvdmVycmlkZTsKIAog
ICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVOaWNvc2lhIG1fZGVsZWdhdGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVOaWNvc2lhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZU5pY29zaWEuY3BwCmluZGV4IDlkMzhiOGJhODllNTY5YjFmZDJhMDcyOWExMzA2MDEwMTU2YTU2
MWQuLjdhNWZmNjlkMjEzNTBjNjhlNjRlOTkxYWM5Mjc4Y2FhMzRhZWU2NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZU5pY29zaWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU5pY29zaWEu
Y3BwCkBAIC0xODIsNiArMTgyLDE0IEBAIFNjcm9sbEV4dGVudHMgU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZU5pY29zaWE6OnNjcm9sbEV4dGVudHMoKSBjb25zdAogICAgIH07CiB9
CiAKK2Jvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU5pY29zaWE6OnN0YXJ0
QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQgZGVzdGluYXRpb25Qb3NpdGlvbikK
K3sKKyAgICBhdXRvIGN1cnJlbnRPZmZzZXQgPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0
RnJvbVBvc2l0aW9uKGN1cnJlbnRTY3JvbGxQb3NpdGlvbigpLCBzY3JvbGxPcmlnaW4oKSk7Cisg
ICAgYXV0byBkZXN0aW5hdGlvbk9mZnNldCA9IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRG
cm9tUG9zaXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbiwgc2Nyb2xsT3JpZ2luKCkpOworICAgIAor
ICAgIHJldHVybiBtX3Njcm9sbENvbnRyb2xsZXIuc3RhcnRBbmltYXRlZFNjcm9sbFRvRGVzdGlu
YXRpb24oY3VycmVudE9mZnNldCwgZGVzdGluYXRpb25PZmZzZXQpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSAmJiBVU0Uo
TklDT1NJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29z
aWEvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU5pY29zaWEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU5pY29zaWEuaAppbmRleCAyZTRhYWIxYmU4YmE3ZWZjYzQyZjZhMWFmNWVkOWUwMjUx
ZDRkMzMzLi41MjNlN2E4ZTk2OThhMzc5ZDk5OTQ4ZGNhYzliNWFkYjVhOGU1MTcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVOaWNvc2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTmljb3Np
YS5oCkBAIC03OCw2ICs3OCw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIHNjcm9sbEFuaW1hdGlv
bkVuYWJsZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Njcm9sbEFuaW1hdG9yRW5hYmxlZDsg
fQogCisgICAgLy8gU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZQorICAgIGJvb2wg
c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgZmluYWw7CisKICAgICBT
Y3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlciBtX3Njcm9sbENvbnRyb2xsZXI7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFJ1bkxvb3A6OlRpbWVyPFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVOaWNvc2lhPj4gbV9hbmltYXRpb25UaW1lcjsKICAgICBTY3JvbGxCZWhhdmlvclN0YXR1cyBt
X3Njcm9sbEJlaGF2aW9yU3RhdHVzIHsgU2Nyb2xsQmVoYXZpb3JTdGF0dXM6Ok5vdEluQW5pbWF0
aW9uIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCA3ZGM3ZTRiNDg3
MjZhYzBmZGNiOThkNWI0YjYwNzZkMmUzMDU4MWVhLi5lNjJiMDI0N2FmOGVhOTZmNDBjNDRiZWYx
N2Y2MjM1YTYwYWNlMmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAg
LTMwNyw2ICszMDcsMTQgQEAgc3RydWN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyB7CiAK
IG5hbWVzcGFjZSBXVEYgewogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6
OkFuaW1hdGVkU2Nyb2xsPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAg
ICAgV2ViQ29yZTo6QW5pbWF0ZWRTY3JvbGwsCisgICAgICAgIFdlYkNvcmU6OkFuaW1hdGVkU2Ny
b2xsOjpObywKKyAgICAgICAgV2ViQ29yZTo6QW5pbWF0ZWRTY3JvbGw6OlllcworICAgID47Cit9
OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbGJhck1vZGU+
IHsKICAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBXZWJDb3JlOjpTY3Jv
bGxiYXJNb2RlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmlu
ZGV4IGM1ZjZlN2ZmM2JlZWZiMzRhMzAwNTRiMGVmNDkxZjJlZWY5ZWQ5NjEuLjI2YzJlZjlmZTc1
ZWVhZjhkODhjNjc1MGRjZWM1NGQ0OGVmNDk3YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTE0MCw5ICsxNDAsMTMgQEAgdm9pZCBTY3JvbGxhYmxl
QXJlYTo6c2Nyb2xsVG9Qb3NpdGlvbldpdGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYg
cG9zaXRpb24KICAgICBzY3JvbGxBbmltYXRvcigpLnNjcm9sbFRvUG9zaXRpb25XaXRob3V0QW5p
bWF0aW9uKHBvc2l0aW9uLCBjbGFtcGluZyk7CiB9CiAKLXZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNj
cm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBT
Y3JvbGxDbGFtcGluZykKK3ZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvUG9zaXRpb25XaXRo
QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyBjbGFt
cGluZykKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9s
bGFibGVBcmVhICIgPDwgdGhpcyA8PCAiIHNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uICIg
PDwgcG9zaXRpb24pOworCisgICAgaWYgKHJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24o
cm91bmRlZEludFBvaW50KHBvc2l0aW9uKSwgY2xhbXBpbmcpKQorICAgICAgICByZXR1cm47CisK
ICAgICBzY3JvbGxBbmltYXRvcigpLnNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKHBvc2l0
aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXgg
NDEzYmJhMGI1NTkyOTBiN2Q0ZDM2NWZmYzY1YzkwODBhNjk3MWQ5Yi4uZDE3ODY4NzgyYWI3Y2Zk
OGRjN2VmMWM3MDRmYjI3OWVlNGNlMGNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5oCkBAIC04Niw2ICs4Niw3IEBAIHB1YmxpYzoKICAgICAvLyByZXR1cm5zIHRy
dWUsIHRoZSBzY3JvbGxhYmxlIGFyZWEgd29uJ3QgYWN0dWFsbHkgdXBkYXRlIHRoZSBzY3JvbGwg
cG9zaXRpb24gYW5kIGluc3RlYWQKICAgICAvLyBleHBlY3QgaXQgdG8gaGFwcGVuIHNvbWV0aW1l
IGluIHRoZSBmdXR1cmUuCiAgICAgdmlydHVhbCBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVw
ZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpVc2Vy
LCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSB7IHJldHVybiBmYWxz
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCByZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCkgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9v
bCBoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYs
IHN0ZDo6b3B0aW9uYWw8V2hlZWxTY3JvbGxHZXN0dXJlU3RhdGU+KTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwCmlu
ZGV4IGU1YTllMjVmZTgwZjA2YjU0NmRlMjM4MDhjZmEwOTZiYTEyYzU4YjUuLjc1NDllMjhiNjIx
MmQ1ZDMxOTM1ZjQxYjMxYTNlOGEwYmEyZTI0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTI1NCw2ICsy
NTQsMTcgQEAgYm9vbCBSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhOjpyZXF1ZXN0U2Nyb2xsUG9z
aXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24KICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
K2Jvb2wgUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Q
b3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzdGluYXRpb25Qb3NpdGlvbiwgU2Nyb2xs
Q2xhbXBpbmcgY2xhbXBpbmcpCit7CisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKKyAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgbV9sYXllciA8PCAiIHJlcXVlc3RB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24gIiA8PCBkZXN0aW5hdGlvblBvc2l0aW9uKTsKKworICAg
IGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IG1fbGF5ZXIucGFnZSgpLnNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKCkpCisgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+cmVx
dWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbigqdGhpcywgZGVzdGluYXRpb25Qb3NpdGlvbiwg
Y2xhbXBpbmcpOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBTY3JvbGxPZmZzZXQg
UmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9PZmZzZXQoY29uc3QgU2Nyb2xsT2Zm
c2V0JiBzY3JvbGxPZmZzZXQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0
aW9ucykKIHsKICAgICBpZiAoY3VycmVudFNjcm9sbEJlaGF2aW9yU3RhdHVzKCkgPT0gU2Nyb2xs
QmVoYXZpb3JTdGF0dXM6OkluTm9uTmF0aXZlQW5pbWF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmgKaW5kZXggY2M4MTk4
ZGNlM2U2ZDQwYWY5OTkwMWYxODAwNmE2NDdjYmFmMzQwZS4uNjZiMzQyMDBhNjFkZDY4YWQ3NGQ4
MzE0OWI1MzdkNTQ4MjcxOWZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oCkBAIC0yMDAsNiArMjAwLDcgQEAgcHVibGlj
OgogICAgIEludFNpemUgcmVhY2hhYmxlVG90YWxDb250ZW50c1NpemUoKSBjb25zdCBmaW5hbDsK
IAogICAgIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlVzZXIsIFNjcm9sbENsYW1waW5nID0gU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOworICAgIGJvb2wgcmVxdWVzdEFuaW1hdGVkU2Ny
b2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1waW5nID0gU2Ny
b2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOwogCiAgICAgYm9vbCBjb250YWluc0RpcnR5T3Zl
cmxheVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBtX2NvbnRhaW5zRGlydHlPdmVybGF5U2Ny
b2xsYmFyczsgfQogICAgIHZvaWQgc2V0Q29udGFpbnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzKGJv
b2wgZGlydHlTY3JvbGxiYXJzKSB7IG1fY29udGFpbnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzID0g
ZGlydHlTY3JvbGxiYXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1v
dGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3JUcmFuc2FjdGlvbi5jcHAKaW5kZXggN2NkMmNhMmE2MjE2ODdkYzQxOGNiYTAwNTk3YzM3
MzVlOWM1NmIzMC4uYzNmMmZkODQxZmJjZWEzOGI0M2U4MTI1Mjg3ZTc1M2M4NWM3YmU0YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNw
cApAQCAtNTA3LDYgKzUwNyw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxSZXF1ZXN0ZWRTY3JvbGxE
YXRhPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlcXVlc3RlCiAgICAgZW5jb2Rl
ciA8PCBzY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uOwogICAgIGVuY29kZXIgPDwgc2Nyb2xsRGF0
YS5zY3JvbGxUeXBlOwogICAgIGVuY29kZXIgPDwgc2Nyb2xsRGF0YS5jbGFtcGluZzsKKyAgICBl
bmNvZGVyIDw8IHNjcm9sbERhdGEuYW5pbWF0ZWQ7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxS
ZXF1ZXN0ZWRTY3JvbGxEYXRhPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJlcXVlc3RlZFNj
cm9sbERhdGEmIHNjcm9sbERhdGEpCkBAIC01MjAsNiArNTIxLDkgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPFJlcXVlc3RlZFNjcm9sbERhdGE+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmVxdWVz
dGVkU2Nyb2wKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNjcm9sbERhdGEuY2xhbXBpbmcpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNjcm9sbERh
dGEuYW5pbWF0ZWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCmluZGV4IDBhNTdhZmEyYzA2Y2QwODYxZTAwYjgyZGVm
ZDE4OWFkZTJkNTVmMTAuLjAwZTE0ZjQ4ZjcxN2FkNGNjZTVhZGFlYjVlOWUzZmRiNWUxMmU4MjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3Mv
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVSZW1vdGVJT1MubW0KQEAgLTk2LDcgKzk2LDcgQEAgdm9pZCBTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4o
Y29uc3QgU2MKICAgICAvLyBVcGRhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbiBhZnRlciBjaGlsZCBu
b2RlcyBoYXZlIGJlZW4gdXBkYXRlZCwgYmVjYXVzZSB0aGV5IG5lZWQgdG8gaGF2ZSB1cGRhdGVk
IHRoZWlyIGNvbnN0cmFpbnRzIGJlZm9yZSBhbnkgc2Nyb2xsaW5nIGhhcHBlbnMuCiAgICAgaWYg
KHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2Rl
OjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24pKSB7CiAgICAgICAgIGNvbnN0IGF1
dG8mIHJlcXVlc3RlZFNjcm9sbERhdGEgPSBzY3JvbGxpbmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Ny
b2xsRGF0YSgpOwotICAgICAgICBzY3JvbGxUbyhyZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFBv
c2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFR5cGUsIHJlcXVlc3RlZFNjcm9sbERh
dGEuY2xhbXBpbmcpOworICAgICAgICBzY3JvbGxUbyhyZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9s
bFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFR5cGUsIHJlcXVlc3RlZFNjcm9s
bERhdGEuY2xhbXBpbmcsIHJlcXVlc3RlZFNjcm9sbERhdGEuYW5pbWF0ZWQpOwogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lv
cy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVJT1MuaAppbmRleCBlMDI0OTI2ODAyZGJjZDg4MDg0NWRmM2FjN2IzZjlhNDZhY2Jl
YzUyLi41OGQ4MDJkNDY2ZjZiOTQ5NGMxZjQ0MTU2ZDVkYjk4MTA4Yjk5YWNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJ
T1MuaApAQCAtNzksNiArNzksOCBAQCBwdWJsaWM6CiAgICAgVUlTY3JvbGxWaWV3ICpzY3JvbGxW
aWV3KCkgY29uc3Q7CiAKIHByaXZhdGU6CisgICAgYm9vbCBzdGFydEFuaW1hdGVkU2Nyb2xsVG9Q
b3NpdGlvbihGbG9hdFBvaW50KSBmaW5hbDsKKwogICAgIFJldGFpblB0cjxDQUxheWVyPiBtX3Nj
cm9sbExheWVyOwogICAgIFJldGFpblB0cjxDQUxheWVyPiBtX3Njcm9sbGVkQ29udGVudHNMYXll
cjsKICAgICBSZXRhaW5QdHI8V0tTY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RlbGVnYXRlPiBtX3Nj
cm9sbFZpZXdEZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jl
bW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQppbmRleCA4YTlmZjY3NWRjZTg1OWU4NzE0
MmQ1YjM3ODg2Njg2YjY1ZDAzMGZjLi4wZWIyODQ5ODdmM2E0ZDdiMzliMWE1N2U4NDFhMzcwMDU0
NDdkNDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRy
ZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tCkBAIC0yOTAsMTEgKzI5MCwxNyBAQCB2b2lkIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJl
bihjb25zdCBTY3JvbAogCiAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJv
cGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRp
b24pKSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3RlZFNjcm9sbERhdGEgPSBzY3JvbGxp
bmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpOwotICAgICAgICBzY3JvbGxpbmdOb2Rl
KCkuc2Nyb2xsVG8ocmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVk
U2Nyb2xsRGF0YS5zY3JvbGxUeXBlLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nKTsKKyAg
ICAgICAgc2Nyb2xsaW5nTm9kZSgpLnNjcm9sbFRvKHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xs
UG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsVHlwZSwgcmVxdWVzdGVkU2Nyb2xs
RGF0YS5jbGFtcGluZywgcmVxdWVzdGVkU2Nyb2xsRGF0YS5hbmltYXRlZCk7CiAgICAgICAgIHNj
cm9sbGluZ1RyZWUoKS5zZXROZWVkc0FwcGx5TGF5ZXJQb3NpdGlvbnNBZnRlckNvbW1pdCgpOwog
ICAgIH0KIH0KIAorYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpz
dGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50KQoreworICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQgdGhpcy4KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKICNpZiBIQVZFKFVJU0NS
T0xMVklFV19BU1lOQ0hST05PVVNfU0NST0xMX0VWRU5UX0hBTkRMSU5HKQogdm9pZCBTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpoYW5kbGVBc3luY2hyb25vdXNDYW5jZWxh
YmxlU2Nyb2xsRXZlbnQoVUlTY3JvbGxWaWV3ICpzY3JvbGxWaWV3LCBVSVNjcm9sbEV2ZW50ICpz
Y3JvbGxFdmVudCwgdm9pZCAoXmNvbXBsZXRpb24pKEJPT0wgaGFuZGxlZCkpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJl
bW90ZU1hYy5oCmluZGV4IGE2MzQ5NGExOGQ2M2YwZWEwMDQ5YjZiM2M4ODhkNzkyZDg1ZGU2NmQu
LjhkNzZhZDEwOGU0YmY4ZmY1MWM2NzgxYmQ5MWIyZWY0ZThlNDAzMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMvU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90
ZU1hYy5oCkBAIC00Myw5ICs0Myw5IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZU1hYyhXZWJDb3JlOjpTY3JvbGxpbmdUcmVlJiwg
V2ViQ29yZTo6U2Nyb2xsaW5nTm9kZVR5cGUsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCk7CiAK
LSAgICB2b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgV2ViQ29yZTo6U2Nyb2xs
aW5nU3RhdGVOb2RlJikgb3ZlcnJpZGU7Ci0gICAgV2ViQ29yZTo6V2hlZWxFdmVudEhhbmRsaW5n
UmVzdWx0IGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50
JiwgV2ViQ29yZTo6RXZlbnRUYXJnZXRpbmcpIG92ZXJyaWRlOwotICAgIHZvaWQgcmVwb3NpdGlv
blJlbGF0ZWRMYXllcnMoKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hp
bGRyZW4oY29uc3QgV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlJikgZmluYWw7CisgICAgV2Vi
Q29yZTo6V2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50JiwgV2ViQ29yZTo6RXZlbnRUYXJnZXRpbmcpIGZpbmFs
OworICAgIHZvaWQgcmVwb3NpdGlvblJlbGF0ZWRMYXllcnMoKSBmaW5hbDsKIAogICAgIHN0ZDo6
dW5pcXVlX3B0cjxTY3JvbGxlclBhaXJNYWM+IG1fc2Nyb2xsZXJQYWlyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMvU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlUmVtb3RlTWFjLmgKaW5kZXggNTRkNGU4ZTFhNGRjMDY2NWEyY2UzMmM2NjQ3MDQwYjE0YzAz
ZWRhMi4uYjc0MTk0ODI3ZjE4ZThiMDg5ODI1ODk5OTc3ZDI0ZjdiMWY1YmEyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlUmVtb3RlTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxp
bmdOb2RlUmVtb3RlTWFjLmgKQEAgLTQzLDkgKzQzLDkgQEAgcHVibGljOgogcHJpdmF0ZToKICAg
ICBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlUmVtb3RlTWFjKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWUmLCBXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQpOwogCi0gICAgdm9pZCBjb21t
aXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZSYp
IG92ZXJyaWRlOwotICAgIFdlYkNvcmU6OldoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVX
aGVlbEV2ZW50KGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudCYsIFdlYkNvcmU6OkV2
ZW50VGFyZ2V0aW5nKSBvdmVycmlkZTsKLSAgICB2b2lkIHJlcG9zaXRpb25SZWxhdGVkTGF5ZXJz
KCkgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFdl
YkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZSYpIGZpbmFsOworICAgIFdlYkNvcmU6OldoZWVsRXZl
bnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdlYkNvcmU6OlBsYXRmb3Jt
V2hlZWxFdmVudCYsIFdlYkNvcmU6OkV2ZW50VGFyZ2V0aW5nKSBmaW5hbDsKKyAgICB2b2lkIHJl
cG9zaXRpb25SZWxhdGVkTGF5ZXJzKCkgZmluYWw7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Ny
b2xsZXJQYWlyTWFjPiBtX3Njcm9sbGVyUGFpcjsKIH07Cg==
</data>
<flag name="commit-queue"
          id="464208"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440327</attachid>
            <date>2021-10-05 21:11:00 -0700</date>
            <delta_ts>2021-10-05 22:25:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231271-20211005211059.patch</filename>
            <type>text/plain</type>
            <size>41954</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI3MzdiMjY3NzRlMTMy
MWU1NWZhMTI3OGU0NDVjMTA0MjJlNDkxZS4uOTgzNGQwZDY2YzIzZTUzYzgwODE1NmU4ZWQ0NzVi
OTMyZGNlZTAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDIxLTEwLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHNtb290
aCBzY3JvbGwgYW5pbWF0aW9ucyB0byBydW4gb24gdGhlIHNjcm9sbGluZyB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTI3MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJl
IHNvIHRoYXQgd2UgY2FuIGhhdmUgYW4gYW5pbWF0ZWQgc2Nyb2xsIHJ1biBvbiB0aGUgc2Nyb2xs
aW5nIHRocmVhZCwgb3IKKyAgICAgICAgdWx0aW1hdGVseSBpbiB0aGUgVUkgcHJvY2VzcyBvbiBp
T1MuCisgICAgICAgIAorICAgICAgICBSZXF1ZXN0ZWRTY3JvbGxEYXRhIGdldHMgYSBmaWVsZCB0
byBzZWUgaWYgdGhlIHNjcm9sbCBpcyBhbmltYXRlZCBvciBub3QuCisgICAgICAgIAorICAgICAg
ICBBZGQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24oKSB3aGljaCBpcyBhbmFsb2dvdXMgdG8KKyAgICAgICAgcmVxdWVzdFNjcm9sbFBvc2l0aW9u
VXBkYXRlKCksIHdoaWNoIGlzIG92ZXJyaWRkZW4gYnkgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ciB0byB0dXJuIHRoYXQKKyAgICAgICAgaW50byBhIHJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uVXBk
YXRlIG9uIGEgc2Nyb2xsaW5nIHRyZWUgbm9kZS4KKworICAgICAgICBUaGUgc2Nyb2xscyBhcmUg
Y3VycmVudGx5IHRyaWdnZXJlZCBmcm9tCisgICAgICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlKjo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKCkgdmlhIHRoZSAnYW5pbWF0ZWQnIGFyZ3Vt
ZW50IHRvCisgICAgICAgIHNjcm9sbFRvKCksIGJ1dCB0aGF0J3MgYWN0dWFsbHkgd3Jvbmc7IHdl
IHJ1biB0aGlzIGNvZGUgb24gdGhlIG1haW4gdGhyZWFkLCBzbyB0aGlzIHN0aWxsCisgICAgICAg
IHRyaWdnZXJzIG1haW4gdGhyZWFkIGFuaW1hdGlvbnMuIEEgZnV0dXJlIHBhdGNoIHdpbGwgZml4
IHRoYXQuCisKKyAgICAgICAgVGhpcyBkb2VzIG5vdCB5ZXQgaG9vayB1cCBhbmltYXRlZCBzY3Jv
bGxzIGZvciBpT1MuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xs
VG9Qb3NpdGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9s
bFBvc2l0aW9uVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9y
OjpyZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyBjb25zdCk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXF1ZXN0ZWRTY3JvbGxEYXRhOjpvcGVyYXRvcj09IGNvbnN0KToKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsVG8pOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpj
b21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24p
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3Np
dGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYTo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24pOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU5pY29zaWEuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9uaWNvc2lh
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhOjpzdGFy
dEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmlj
b3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5oOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZU5pY29zaWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVEZWxlZ2F0ZU5pY29zaWE6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGVOaWNvc2lhLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9Qb3NpdGlvbldpdGhBbmltYXRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxl
QXJlYTo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6cmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaDoKKwogMjAy
MS0xMC0wNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIG1fYXV0b1Nocmlua1RvRml0RW5hYmxlZCBmcm9tIFJ1bGVTZXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjg1
ZGYzZjBhZTNiOWYwYzYzYWE3YzkxM2U4MjYyNzJmYTVmYTNlMy4uODg3N2MyZjM5MGY2Y2I5Mzhj
ZDliMTE5YjQyYzYwY2MyYjdmNjM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0x
MC0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBB
bGxvdyBzbW9vdGggc2Nyb2xsIGFuaW1hdGlvbnMgdG8gcnVuIG9uIHRoZSBzY3JvbGxpbmcgdGhy
ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEy
NzEKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogU2hhcmVk
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNw
cDoKKyAgICAgICAgKEFyZ3VtZW50Q29kZXI8UmVxdWVzdGVkU2Nyb2xsRGF0YT46OmVuY29kZSk6
CisgICAgICAgIChBcmd1bWVudENvZGVyPFJlcXVlc3RlZFNjcm9sbERhdGE+OjpkZWNvZGUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbik6
CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW06CisgICAg
ICAgIChXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6OmNvbW1p
dFN0YXRlQWZ0ZXJDaGlsZHJlbik6CisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVJT1M6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlUmVtb3RlTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oOgor
CiAyMDIxLTEwLTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIFNQSSB0byBsYXVuY2ggYSBzZXJ2aWNlIHNlcnZpY2Ugd29ya2VyIGluIGEgV0tXZWJWaWV3
IGFuZCBleHBvc2Ugc2VydmljZSB3b3JrZXIgdG8gaW5qZWN0ZWQgYnVuZGxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKaW5kZXggMTg3N2RjZjExNmZhYjM2ODFkNmJjZDY5OTk3NDUwMGE0YTFk
OTZkMC4uNzg5OWNkZDM5NzdhZmVhNGEyZTU3MDQ5NTk3YmI0NTM2YmYwOTI1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjY4Nyw2ICsyNjg3LDIwIEBAIGJvb2wgRnJhbWVWaWV3
OjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0
aW9uLCBTY3JvCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEZyYW1lVmlldzo6cmVxdWVz
dEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzdGluYXRp
b25Qb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit7CisgICAgTE9HX1dJVEhfU1RS
RUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6OnJlcXVlc3RBbmltYXRlZFNjcm9s
bFRvUG9zaXRpb24gIiA8PCBkZXN0aW5hdGlvblBvc2l0aW9uKTsKKworI2lmIEVOQUJMRShBU1lO
Q19TQ1JPTExJTkcpCisgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5z
Y3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRpbmF0
b3ItPnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oKnRoaXMsIGRlc3RpbmF0aW9uUG9z
aXRpb24sIGNsYW1waW5nKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uUG9z
aXRpb24pOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIEhvc3RXaW5kb3cqIEZy
YW1lVmlldzo6aG9zdFdpbmRvdygpIGNvbnN0CiB7CiAgICAgYXV0byogcGFnZSA9IGZyYW1lKCku
cGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggZDlkNDhhZjVmN2QxNDk3N2YzYTUw
ZGU1NjU5OTNlZGUzZDUyYTMxOC4uNjMxODVkMTE1OWE2MWM4YTM2MDBmOWVhOThjYmNhNmQ1OTc5
ZGNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0yNDYsNyArMjQ2LDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNjcm9sbFRvRm9jdXNlZEVsZW1lbnRJbW1lZGlhdGVseUlmTmVlZGVkKCk7
CiAgICAgdm9pZCB1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyU2Nyb2xsaW5nKCkgZmluYWw7CiAg
ICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5nKCkgZmluYWw7CisK
ICAgICBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlv
biYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpVc2VyLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9s
bENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKKyAgICBib29sIHJlcXVlc3RBbmltYXRlZFNjcm9s
bFRvUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9s
bENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKKwogICAgIGJvb2wgaXNVc2VyU2Nyb2xsSW5Qcm9n
cmVzcygpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNv
bnN0IGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbFBvc2l0aW9uIG1pbmltdW1TY3Jv
bGxQb3NpdGlvbigpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBjZGRm
MzRiYjZjMDkwZTQwN2FmYzI3M2JlMzQ2ZWFjOWY0OWY5NjE1Li5hYmM4MGFiMDAwOWFiZDI0ZGM4
YmUzMTUzZjk0OGUxNDcwZjAzZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjM5LDcg
KzIzOSw3IEBAIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3Um9vdExh
eWVyRGlkQ2hhbmdlKEZyYW1lVmlldyYgZnJhbWVWaWV3CiAgICAgbm9kZS0+c2V0SG9yaXpvbnRh
bFNjcm9sbGJhckxheWVyKGZyYW1lVmlldy5sYXllckZvckhvcml6b250YWxTY3JvbGxiYXIoKSk7
CiB9CiAKLWJvb2wgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVxdWVzdFNjcm9sbFBvc2l0
aW9uVXBkYXRlKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwgY29uc3QgSW50UG9pbnQm
IHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNs
YW1waW5nKQorYm9vbCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0U2Nyb2xsUG9z
aXRpb25VcGRhdGUoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhLCBjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSwgU2Nyb2xsQ2xh
bXBpbmcgY2xhbXBpbmcpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBBU1NF
UlQobV9wYWdlKTsKQEAgLTI3Myw3ICsyNzMsMzYgQEAgYm9vbCBBc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoU2Nyb2xsYWJsZUFyZWEmIHNjcm8K
ICAgICBpZiAoIXN0YXRlTm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc3RhdGVO
b2RlLT5zZXRSZXF1ZXN0ZWRTY3JvbGxEYXRhKHsgc2Nyb2xsUG9zaXRpb24sIHNjcm9sbFR5cGUs
IGNsYW1waW5nIH0pOworICAgIHN0YXRlTm9kZS0+c2V0UmVxdWVzdGVkU2Nyb2xsRGF0YSh7IHNj
cm9sbFBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZywgQW5pbWF0ZWRTY3JvbGw6Ok5vIH0p
OworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBzY2hlZHVsZSBhIHJlbmRlcmluZyB1cGRhdGUK
KyAgICBjb21taXRUcmVlU3RhdGVJZk5lZWRlZCgpOworICAgIHJldHVybiB0cnVlOworfQorCiti
b29sIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9z
aXRpb24oU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhLCBjb25zdCBTY3JvbGxQb3NpdGlv
biYgZGVzdGluYXRpb25Qb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCit7CisgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBBU1NFUlQobV9wYWdlKTsKKyAgICBhdXRvIHNj
cm9sbGluZ05vZGVJRCA9IHNjcm9sbGFibGVBcmVhLnNjcm9sbGluZ05vZGVJRCgpOworICAgIGlm
ICghc2Nyb2xsaW5nTm9kZUlEKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvKiBm
cmFtZVZpZXcgPSBmcmFtZVZpZXdGb3JTY3JvbGxpbmdOb2RlKHNjcm9sbGluZ05vZGVJRCk7Cisg
ICAgaWYgKCFmcmFtZVZpZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghY29v
cmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFtZVZpZXcoKmZyYW1lVmlldykpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIHNldFNjcm9sbGluZ05vZGVTY3JvbGxhYmxlQXJlYUdlb21ldHJ5KHNj
cm9sbGluZ05vZGVJRCwgc2Nyb2xsYWJsZUFyZWEpOworCisgICAgYXV0byogc3RhdGVOb2RlID0g
ZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlPihtX3Njcm9sbGluZ1N0YXRlVHJl
ZS0+c3RhdGVOb2RlRm9ySUQoc2Nyb2xsaW5nTm9kZUlEKSk7CisgICAgaWYgKCFzdGF0ZU5vZGUp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIEFuaW1hdGVkIHNjcm9sbHMgYXJlIGFs
d2F5cyBwcm9ncmFtbWF0aWMuCisgICAgc3RhdGVOb2RlLT5zZXRSZXF1ZXN0ZWRTY3JvbGxEYXRh
KHsgZGVzdGluYXRpb25Qb3NpdGlvbiwgU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBjbGFtcGlu
ZywgQW5pbWF0ZWRTY3JvbGw6OlllcyB9KTsKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgc2No
ZWR1bGUgYSByZW5kZXJpbmcgdXBkYXRlCiAgICAgY29tbWl0VHJlZVN0YXRlSWZOZWVkZWQoKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCBiMmU0ZWUxNzZiZWM2
YjUwN2QzYjljY2YyMmVjYTBiN2VkOGZmYWIzLi44MjUwNjFkYmQwOWZiZWM3MDQyMzAyOGI1MmE2
NmJjNTg3N2NlOGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xMDAsNyArMTAwLDggQEAgcHJp
dmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZyYW1lVmlld1Zpc3VhbFZpZXdwb3J0Q2hh
bmdlZChGcmFtZVZpZXcmKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZyYW1l
Vmlld0V2ZW50VHJhY2tpbmdSZWdpb25zQ2hhbmdlZChGcmFtZVZpZXcmKSBvdmVycmlkZTsKIAot
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKFNjcm9s
bGFibGVBcmVhJiwgY29uc3QgSW50UG9pbnQmLCBTY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZykg
b3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25V
cGRhdGUoU2Nyb2xsYWJsZUFyZWEmLCBjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUs
IFNjcm9sbENsYW1waW5nKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIHJlcXVlc3RB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24oU2Nyb2xsYWJsZUFyZWEmLCBjb25zdCBTY3JvbGxQb3Np
dGlvbiYsIFNjcm9sbENsYW1waW5nKSBmaW5hbDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
YXBwbHlTY3JvbGxpbmdUcmVlTGF5ZXJQb3NpdGlvbnMoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5k
ZXggODNkOWRlMTNlMzI2ODMyZmMwMWJmMTNhMWUyODEyZWM0ZGUzOTcxZi4uOTEwNmEzMjdmMWU1
ODY2N2NkYjg2NDE0YmFkMTJmYzUyM2FmMGE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xMTIsNyArMTEyLDEw
IEBAIHB1YmxpYzoKIAogICAgIC8vIFRoZXNlIHZpcnR1YWwgZnVuY3Rpb25zIGFyZSBjdXJyZW50
bHkgdW5pcXVlIHRvIHRoZSB0aHJlYWRlZCBzY3JvbGxpbmcgYXJjaGl0ZWN0dXJlLiAKICAgICB2
aXJ0dWFsIHZvaWQgY29tbWl0VHJlZVN0YXRlSWZOZWVkZWQoKSB7IH0KLSAgICB2aXJ0dWFsIGJv
b2wgcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKFNjcm9sbGFibGVBcmVhJiwgY29uc3QgSW50
UG9pbnQmLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljLCBTY3JvbGxDbGFt
cGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSB7IHJldHVybiBmYWxzZTsgfQorCisgICAg
dmlydHVhbCBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShTY3JvbGxhYmxlQXJlYSYs
IGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsVHlwZSA9IFNjcm9sbFR5cGU6OlByb2dyYW1t
YXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgeyByZXR1cm4g
ZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgcmVxdWVzdEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlv
bihTY3JvbGxhYmxlQXJlYSYsIGNvbnN0IFNjcm9sbFBvc2l0aW9uJiwgU2Nyb2xsQ2xhbXBpbmcp
IHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlV2hlZWxFdmVudEZv
clNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxpbmdOb2RlSUQsIHN0
ZDo6b3B0aW9uYWw8V2hlZWxTY3JvbGxHZXN0dXJlU3RhdGU+KSB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCB3aGVlbEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKGNvbnN0
IFBsYXRmb3JtV2hlZWxFdmVudCYsIHN0ZDo6b3B0aW9uYWw8V2hlZWxTY3JvbGxHZXN0dXJlU3Rh
dGU+KSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggODg2NjMzMGY5MjVjNjUz
NmRjNDhlZmJmMTczNmU1OTAxYTAwYzQyOC4uMTI5NmU5MzJjYzk3YmQ0YzYzNTgyNTk2NGZjOTky
OWQ3YTM5MTcyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0yOTcsNiArMjk3LDkg
QEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OmR1bXBQcm9wZXJ0aWVzKFRleHRT
dHJlYW0mIHRzLCBTY3JvbGxpbmdTdGF0ZVQKICAgICBpZiAobV9yZXF1ZXN0ZWRTY3JvbGxEYXRh
LmNsYW1waW5nID09IFNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQpCiAgICAgICAgIHRzLmR1bXBQ
cm9wZXJ0eSgicmVxdWVzdGVkIHNjcm9sbCBwb3NpdGlvbiBjbGFtcGluZyIsIG1fcmVxdWVzdGVk
U2Nyb2xsRGF0YS5jbGFtcGluZyk7CiAKKyAgICBpZiAobV9yZXF1ZXN0ZWRTY3JvbGxEYXRhLmFu
aW1hdGVkID09IEFuaW1hdGVkU2Nyb2xsOjpZZXMpCisgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgi
cmVxdWVzdGVkIHNjcm9sbCBwb3NpdGlvbiBpcyBhbmltYXRlZCIsIHRydWUpOworCiAgICAgaWYg
KG1fc2Nyb2xsT3JpZ2luICE9IEludFBvaW50KCkpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgi
c2Nyb2xsIG9yaWdpbiIsIG1fc2Nyb2xsT3JpZ2luKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaApp
bmRleCA4YmNmOTFkYWQ5MWNmYWVmY2FiMTA3NGFkNmY3OGEwMTUxMmY4OTE5Li5mMmJmYWE0MzA1
ZTFjNzA4M2RiZjExMWExZGE5MGQwNzc4OGMyYTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaApA
QCAtNDIsMTIgKzQyLDE0IEBAIHN0cnVjdCBSZXF1ZXN0ZWRTY3JvbGxEYXRhIHsKICAgICBGbG9h
dFBvaW50IHNjcm9sbFBvc2l0aW9uOwogICAgIFNjcm9sbFR5cGUgc2Nyb2xsVHlwZSB7IFNjcm9s
bFR5cGU6OlVzZXIgfTsKICAgICBTY3JvbGxDbGFtcGluZyBjbGFtcGluZyB7IFNjcm9sbENsYW1w
aW5nOjpDbGFtcGVkIH07CisgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgeyBBbmltYXRlZFNj
cm9sbDo6Tm8gfTsKICAgICAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVxdWVzdGVkU2Ny
b2xsRGF0YSYgb3RoZXIpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gc2Nyb2xsUG9zaXRp
b24gPT0gb3RoZXIuc2Nyb2xsUG9zaXRpb24KICAgICAgICAgICAgICYmIHNjcm9sbFR5cGUgPT0g
b3RoZXIuc2Nyb2xsVHlwZQotICAgICAgICAgICAgJiYgY2xhbXBpbmcgPT0gb3RoZXIuY2xhbXBp
bmc7CisgICAgICAgICAgICAmJiBjbGFtcGluZyA9PSBvdGhlci5jbGFtcGluZworICAgICAgICAg
ICAgJiYgYW5pbWF0ZWQgPT0gb3RoZXIuYW5pbWF0ZWQ7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGUuY3BwCmluZGV4IDk4YTMzNzkwNWU0OTVjZTQ0MmMzOTE3NTZmZWYxZmYzNzQyYWM1
ZmMuLjAzZGQ0NTQ0OTYyNWYyZDQxMThiNGVjNzgwZDA2NGQzNTJhMDVjNjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5jcHAKQEAgLTI0MCwxMSArMjQwLDE2IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGU6OnNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIFNjcm9sbENsYW1w
aW5nCiAgICAgc2Nyb2xsVG8oY3VycmVudFNjcm9sbFBvc2l0aW9uKCkgKyBkZWx0YSwgU2Nyb2xs
VHlwZTo6VXNlciwgY2xhbXApOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
OjpzY3JvbGxUbyhjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxU
eXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcCkKK3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGU6OnNjcm9sbFRvKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBTY3JvbGxUeXBlIHNjcm9s
bFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1wLCBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCkKIHsK
ICAgICBpZiAocG9zaXRpb24gPT0gbV9jdXJyZW50U2Nyb2xsUG9zaXRpb24pCiAgICAgICAgIHJl
dHVybjsKIAorICAgIGlmIChhbmltYXRlZCA9PSBBbmltYXRlZFNjcm9sbDo6WWVzKSB7CisgICAg
ICAgIGlmIChzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihwb3NpdGlvbikpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgc2Nyb2xsaW5nVHJlZSgpLnNldElzSGFuZGxpbmdQ
cm9ncmFtbWF0aWNTY3JvbGwoc2Nyb2xsVHlwZSA9PSBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMp
OwogCiAgICAgaWYgKHNjcm9sbFR5cGUgPT0gU2Nyb2xsVHlwZTo6UHJvZ3JhbW1hdGljKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmgKaW5kZXggOWMxYmE2YjJmMTAzZDRjNDQ1NTkyNTBjNTc2NjBhMTEzYjE0
NWVmMC4uNGM0MWVjYWJjZjYyZWJhOGJlYmU2MWQ1NDI0MTU0MzkxMWZkNmUzOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNjcm9s
bFNuYXBJblByb2dyZXNzKGJvb2wpOwogCiAgICAgLy8gVGhlc2UgYXJlIGltcGVyYXRpdmU7IHRo
ZXkgYWRqdXN0IHRoZSBzY3JvbGxpbmcgbGF5ZXJzLgotICAgIHZvaWQgc2Nyb2xsVG8oY29uc3Qg
RmxvYXRQb2ludCYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpVc2VyLCBTY3JvbGxDbGFtcGlu
ZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKKyAgICB2b2lkIHNjcm9sbFRvKGNvbnN0IEZs
b2F0UG9pbnQmLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcg
PSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgQW5pbWF0ZWRTY3JvbGwgPSBBbmltYXRlZFNjcm9s
bDo6Tm8pOwogICAgIHZvaWQgc2Nyb2xsQnkoY29uc3QgRmxvYXRTaXplJiwgU2Nyb2xsQ2xhbXBp
bmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFNj
cm9sbEFuaW1hdGlvbnMoKSB7IH07CkBAIC0xMjMsNiArMTIzLDggQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCB3aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYp
IHsgfQogICAgIAogICAgIHZpcnR1YWwgRmxvYXRQb2ludCBhZGp1c3RlZFNjcm9sbFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkKSBjb25zdDsKKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgc3RhcnRBbmltYXRlZFNjcm9sbFRv
UG9zaXRpb24oRmxvYXRQb2ludCkgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgdm9p
ZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVy
UG9zaXRpb25BY3Rpb24gPSBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOjpTeW5jKTsKICAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlVmlld3BvcnRGb3JDdXJyZW50U2Nyb2xsUG9zaXRpb24oc3Rk
OjpvcHRpb25hbDxGbG9hdFJlY3Q+ID0geyB9KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
RGVsZWdhdGUuaAppbmRleCA1NTE4YjRjYzRjOWEzMDk3YTY1NmRhNTE4MDEzNWQzOTNmNGU5MGIx
Li4zZGFmNTc4NTlmZTBmODAwODE5ZTdjMGMyMWIyYmQ3OWM5ODBhYTRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURl
bGVnYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZS5oCkBAIC0zOCw2ICszOCw4IEBAIHB1YmxpYzoKIAogICAg
IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiBzY3JvbGxpbmdOb2RlKCkgeyByZXR1cm4gbV9z
Y3JvbGxpbmdOb2RlOyB9CiAgICAgY29uc3QgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUmIHNj
cm9sbGluZ05vZGUoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGluZ05vZGU7IH0KKyAgICAKKyAg
ICB2aXJ0dWFsIGJvb2wgc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkg
PSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsaW5nVHJlZSYgc2Ny
b2xsaW5nVHJlZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjLmgKaW5kZXggYzBlODI3YzRiZmFlNDI2YzIxNGNhN2Q2YTYzNzBiOGM1YmQyODYyZi4uMWRi
ZjkwYjY3NjQ3YjY3YmI5ZmRmMWEwYzI5YWU0YzY1NWRjYjFlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oCkBAIC02Niw2ICs2Niw4IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBmaW5hbDsKICAgICB2b2lkIHdpbGxEb1Byb2dyYW1t
YXRpY1Njcm9sbChjb25zdCBGbG9hdFBvaW50JikgZmluYWw7CiAKKyAgICBib29sIHN0YXJ0QW5p
bWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQpIGZpbmFsOworCiAgICAgRmxvYXRQb2lu
dCBhZGp1c3RlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxDbGFtcGlu
ZykgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIGN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQo
U2Nyb2xsVHlwZSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbikgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDNjMTRiY2JlNzFiMTZi
YzRlMGRhMmI5YWIxNmI5NWRhMmUxOTY4MWEuLjAzMmVjMzAzN2IwZWU1OTJjYzEyMDE5NTI1NzAx
ZDI5ODFjOGM0YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFj
Lm1tCkBAIC0xMDcsNyArMTA3LDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjOjpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW4KICAgICAvLyBV
cGRhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbiBhZnRlciBjaGlsZCBub2RlcyBoYXZlIGJlZW4gdXBk
YXRlZCwgYmVjYXVzZSB0aGV5IG5lZWQgdG8gaGF2ZSB1cGRhdGVkIHRoZWlyIGNvbnN0cmFpbnRz
IGJlZm9yZSBhbnkgc2Nyb2xsaW5nIGhhcHBlbnMuCiAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9k
ZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVz
dGVkU2Nyb2xsUG9zaXRpb24pKSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3RlZFNjcm9s
bERhdGEgPSBzY3JvbGxpbmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsRGF0YSgpOwotICAgICAg
ICBzY3JvbGxUbyhyZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRT
Y3JvbGxEYXRhLnNjcm9sbFR5cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcpOworICAg
ICAgICBzY3JvbGxUbyhyZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0
ZWRTY3JvbGxEYXRhLnNjcm9sbFR5cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcsIHJl
cXVlc3RlZFNjcm9sbERhdGEuYW5pbWF0ZWQpOwogICAgIH0KIAogICAgIGlmIChpc1Jvb3ROb2Rl
KCkKQEAgLTEzMiw2ICsxMzIsMTEgQEAgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IFNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQoY28KICAgICByZXR1
cm4gV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0OjpyZXN1bHQoaGFuZGxlZCk7CiB9CiAKK2Jvb2wg
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRv
UG9zaXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQoreworICAgIHJldHVybiBt
X2RlbGVnYXRlLnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGRlc3RpbmF0aW9uUG9zaXRp
b24pOworfQorCiB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OndpbGxE
b1Byb2dyYW1tYXRpY1Njcm9sbChjb25zdCBGbG9hdFBvaW50JiB0YXJnZXRTY3JvbGxQb3NpdGlv
bikKIHsKICAgICBtX2RlbGVnYXRlLndpbGxEb1Byb2dyYW1tYXRpY1Njcm9sbCh0YXJnZXRTY3Jv
bGxQb3NpdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVN
YWMuaAppbmRleCA2Y2ZkNWZlNWY3MzRhMGU1M2QwOWEyMzE2ZDc1MTk0OTQxYTAxNzY0Li43YmZj
ZGU3N2I2ZTQ2YmFhYWMwNWU5MGVjOTE3YTgzMDFlYjczM2FlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKQEAgLTQ1LDEyICs0NSwxNCBAQCBwcm90
ZWN0ZWQ6CiAgICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGlu
Z1N0YXRlTm9kZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tbWl0U3RhdGVBZnRlckNoaWxkcmVu
KGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJyaWRlOwogICAgIAotICAgIEZsb2F0UG9p
bnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBp
bmcpIGNvbnN0IG92ZXJyaWRlOworICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRTY3JvbGxQb3NpdGlv
bihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcpIGNvbnN0IGZpbmFsOworCisgICAg
Ym9vbCBzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50IGRlc3RpbmF0aW9u
UG9zaXRpb24pIGZpbmFsOwogCiAgICAgdm9pZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pIGZpbmFsOwogICAgIHZv
aWQgd2lsbERvUHJvZ3JhbW1hdGljU2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmKSBmaW5hbDsKIAot
ICAgIHZvaWQgcmVwb3NpdGlvblNjcm9sbGluZ0xheWVycygpIG92ZXJyaWRlOworICAgIHZvaWQg
cmVwb3NpdGlvblNjcm9sbGluZ0xheWVycygpIGZpbmFsOwogICAgIHZvaWQgcmVwb3NpdGlvblJl
bGF0ZWRMYXllcnMoKSBvdmVycmlkZTsKIAogICAgIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBo
YW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIEV2ZW50VGFyZ2V0aW5n
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVN
YWMubW0KaW5kZXggNmQyYjAyODdjYTlkZmMzMDgxNmZiYWI2NGVlMDJjNDkzOWIyZGJmYi4uZWQy
YTMyZTBlMjdkYjQyMWIzOTUzZGYxZjViMzExYTQyOTViMTU0YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGlu
Z05vZGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KQEAgLTY5LDcgKzY5LDcgQEAgdm9p
ZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRTdGF0ZUFmdGVy
Q2hpbGRyZW4oY29uc3QgU2Nyb2wKIAogICAgIGlmIChvdmVyZmxvd1N0YXRlTm9kZS5oYXNDaGFu
Z2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpQcm9wZXJ0eTo6UmVxdWVzdGVkU2Nyb2xs
UG9zaXRpb24pKSB7CiAgICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3RlZFNjcm9sbERhdGEgPSBv
dmVyZmxvd1N0YXRlTm9kZS5yZXF1ZXN0ZWRTY3JvbGxEYXRhKCk7Ci0gICAgICAgIHNjcm9sbFRv
KHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbERhdGEu
c2Nyb2xsVHlwZSwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5jbGFtcGluZyk7CisgICAgICAgIHNjcm9s
bFRvKHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbERh
dGEuc2Nyb2xsVHlwZSwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5jbGFtcGluZywgcmVxdWVzdGVkU2Ny
b2xsRGF0YS5hbmltYXRlZCk7CiAgICAgfQogfQogCkBAIC04Niw2ICs4NiwxMSBAQCBXaGVlbEV2
ZW50SGFuZGxpbmdSZXN1bHQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6
aGFuZGxlV2hlZWxFdmVudAogICAgIHJldHVybiBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQ6OnJl
c3VsdChtX2RlbGVnYXRlLmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCkpOwogfQogCitib29s
IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OnN0YXJ0QW5pbWF0ZWRTY3Jv
bGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQgZGVzdGluYXRpb25Qb3NpdGlvbikKK3sKKyAgICByZXR1
cm4gbV9kZWxlZ2F0ZS5zdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBv
c2l0aW9uKTsKK30KKwogdm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFj
Ojp3aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgdGFyZ2V0U2Nyb2xs
UG9zaXRpb24pCiB7CiAgICAgbV9kZWxlZ2F0ZS53aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwodGFy
Z2V0U2Nyb2xsUG9zaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURl
bGVnYXRlTWFjLmgKaW5kZXggYThiNzM5NWQ3NTJiMWYxMDJjY2YzODM3OGNlZjFlZjk4YTk0NmEy
OC4uMTRlYjM0M2U4ODA0OWQ3OWM1NDU5OGQzZTFlYTZiMzY1Y2Y4Nzc5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5oCkBAIC01MSw3ICs1MSw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIG5vZGVXaWxsQmVEZXN0cm95ZWQoKTsKIAogICAgIGJvb2wgaGFu
ZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKLSAgICAKKworICAgIGJv
b2wgc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgZmluYWw7CisKICAg
ICB2b2lkIHdpbGxEb1Byb2dyYW1tYXRpY1Njcm9sbChjb25zdCBGbG9hdFBvaW50Jik7CiAgICAg
dm9pZCBjdXJyZW50U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURl
bGVnYXRlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KaW5kZXggMDg4ZDM4MDUyODhiYTg4N2Fm
MjZmMzc3ZTI3MzljNDE2OGIwOTY2MS4uYmRiNjAxOTE4ODMxMzJkZWViNDA5MjcxZDVhMWQzMmEy
NTk2NzM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVN
YWMubW0KQEAgLTExMyw2ICsxMTMsMTQgQEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWwKICAgICBy
ZXR1cm4gbV9zY3JvbGxDb250cm9sbGVyLmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CiB9
CiAKK2Jvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6c3RhcnRBbmlt
YXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQorewor
ICAgIGF1dG8gY3VycmVudE9mZnNldCA9IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9t
UG9zaXRpb24oY3VycmVudFNjcm9sbFBvc2l0aW9uKCksIHNjcm9sbE9yaWdpbigpKTsKKyAgICBh
dXRvIGRlc3RpbmF0aW9uT2Zmc2V0ID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbE9mZnNldEZyb21Q
b3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uLCBzY3JvbGxPcmlnaW4oKSk7CisgICAgCisgICAg
cmV0dXJuIG1fc2Nyb2xsQ29udHJvbGxlci5zdGFydEFuaW1hdGVkU2Nyb2xsVG9EZXN0aW5hdGlv
bihjdXJyZW50T2Zmc2V0LCBkZXN0aW5hdGlvbk9mZnNldCk7Cit9CisKIHZvaWQgU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6d2lsbERvUHJvZ3JhbW1hdGljU2Nyb2xsKGNv
bnN0IEZsb2F0UG9pbnQmIHRhcmdldFBvc2l0aW9uKQogewogICAgIGlmIChzY3JvbGxQb3NpdGlv
bklzTm90UnViYmVyYmFuZGluZ0VkZ2UodGFyZ2V0UG9zaXRpb24pKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVOaWNvc2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25p
Y29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwCmluZGV4IDAz
MjU2MDUxZTZhYmM0OTQ5OTY3Zjg2ZmNlZjM2NTk0Y2YyYWIyMTYuLjZjNTU2YzdjZGQ1OTk0MmM1
NWNhMzg1MDMyNGVmMTMwOGVmZDc2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwCkBAIC0xMDUsNiArMTA1LDExIEBAIFdo
ZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmlj
b3NpYTo6aGFuZGxlV2hlZWxFdmVuCiAgICAgcmV0dXJuIG1fZGVsZWdhdGUuaGFuZGxlV2hlZWxF
dmVudCh3aGVlbEV2ZW50LCBldmVudFRhcmdldGluZyk7CiB9CiAKK2Jvb2wgU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWE6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9u
KEZsb2F0UG9pbnQgZGVzdGluYXRpb25Qb3NpdGlvbikKK3sKKyAgICByZXR1cm4gbV9kZWxlZ2F0
ZS5zdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uKTsKK30K
Kwogdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYTo6c3RvcFNjcm9s
bEFuaW1hdGlvbnMoKQogewogICAgIG1fZGVsZWdhdGUuc3RvcFNjcm9sbEFuaW1hdGlvbnMoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEu
aAppbmRleCA5NjA4ZDU2MGZhNjIyZmRhZDJjNWY2YzU0MTJiMjliNjliZTQ4ZDNmLi40MTliODM4
Yzc3MGY5YWYxMGUwNGI0YzU4NDI4ZWFmNzMzNWJmYTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVOaWNvc2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYS5oCkBAIC01NSw2ICs1NSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9s
bGluZ1N0YXRlTm9kZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tbWl0U3RhdGVBZnRlckNoaWxk
cmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJyaWRlOwogCisgICAgYm9vbCBzdGFy
dEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50KSBvdmVycmlkZTsKIAogICAgIFdo
ZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYsIEV2ZW50VGFyZ2V0aW5nKSBvdmVycmlkZTsKICAgICBGbG9hdFBvaW50IGFkanVz
dGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbENsYW1waW5nKSBjb25z
dCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25p
Y29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlTmljb3NpYS5jcHAKaW5kZXggZjJhZTAzM2QwZDZiNTBmZDU5OTdjMWViOGU4
MjQ5Y2ZjNTQwMDdiOC4uZWVkZTZmNDFkNDgyMmM4ZjhhYzgyNDEzODg5MjE5NjNjYTExODIwZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlTmljb3NpYS5jcHAKQEAgLTg4LDYgKzg4LDExIEBAIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3Vs
dCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYTo6aGFuZGxlV2hlZWxF
CiAgICAgcmV0dXJuIG1fZGVsZWdhdGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50LCBldmVu
dFRhcmdldGluZyk7CiB9CiAKK2Jvb2wgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZU5pY29zaWE6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQgZGVzdGlu
YXRpb25Qb3NpdGlvbikKK3sKKyAgICByZXR1cm4gbV9kZWxlZ2F0ZS5zdGFydEFuaW1hdGVkU2Ny
b2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uKTsKK30KKwogdm9pZCBTY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYTo6c3RvcFNjcm9sbEFuaW1hdGlvbnMoKQog
ewogICAgIG1fZGVsZWdhdGUuc3RvcFNjcm9sbEFuaW1hdGlvbnMoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZU5pY29zaWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25p
Y29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU5pY29zaWEuaAppbmRleCAx
NjY5NzI1OTM5YTg5MGVmMGRiNjA3Nzg0MDI2ODQ1OTJjNzUwZmYwLi41NTJjNGNhNTcyMDdlZTJl
OTAyNmQ3NDBkNGEzOTczOGQyMGI3YWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNv
c2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5oCkBAIC00OSw2ICs0OSw3IEBAIHBy
aXZhdGU6CiAgICAgRmxvYXRQb2ludCBhZGp1c3RlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0
UG9pbnQmLCBTY3JvbGxDbGFtcGluZykgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXBvc2l0
aW9uU2Nyb2xsaW5nTGF5ZXJzKCkgb3ZlcnJpZGU7CiAgICAgV2hlZWxFdmVudEhhbmRsaW5nUmVz
dWx0IGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgRXZlbnRUYXJn
ZXRpbmcpIG92ZXJyaWRlOworICAgIGJvb2wgc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24o
RmxvYXRQb2ludCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdG9wU2Nyb2xsQW5pbWF0aW9ucygpIG92
ZXJyaWRlOwogCiAgICAgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU5pY29zaWEg
bV9kZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25p
Y29zaWEvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU5pY29zaWEuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTmljb3NpYS5jcHAKaW5kZXggOWQzOGI4YmE4OWU1NjliMWZkMmEwNzI5YTEz
MDYwMTAxNTZhNTYxZC4uN2E1ZmY2OWQyMTM1MGM2OGU2NGU5OTFhYzkyNzhjYWEzNGFlZTY0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTmljb3NpYS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlTmljb3NpYS5jcHAKQEAgLTE4Miw2ICsxODIsMTQgQEAgU2Nyb2xsRXh0ZW50cyBTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTmljb3NpYTo6c2Nyb2xsRXh0ZW50cygpIGNvbnN0
CiAgICAgfTsKIH0KIAorYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTmlj
b3NpYTo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlv
blBvc2l0aW9uKQoreworICAgIGF1dG8gY3VycmVudE9mZnNldCA9IFNjcm9sbGFibGVBcmVhOjpz
Y3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oY3VycmVudFNjcm9sbFBvc2l0aW9uKCksIHNjcm9sbE9y
aWdpbigpKTsKKyAgICBhdXRvIGRlc3RpbmF0aW9uT2Zmc2V0ID0gU2Nyb2xsYWJsZUFyZWE6OnNj
cm9sbE9mZnNldEZyb21Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uLCBzY3JvbGxPcmlnaW4o
KSk7CisgICAgCisgICAgcmV0dXJuIG1fc2Nyb2xsQ29udHJvbGxlci5zdGFydEFuaW1hdGVkU2Ny
b2xsVG9EZXN0aW5hdGlvbihjdXJyZW50T2Zmc2V0LCBkZXN0aW5hdGlvbk9mZnNldCk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJ
TkcpICYmIFVTRShOSUNPU0lBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTmljb3NpYS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlTmljb3NpYS5oCmluZGV4IDJlNGFhYjFiZThiYTdlZmNjNDJmNmEx
YWY1ZWQ5ZTAyNTFkNGQzMzMuLjRiMDU5Zjk4MTM5Y2ZiOGNlNzcyYjFjNmJiMDJjZWVhN2I5YjVj
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU5pY29zaWEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVOaWNvc2lhLmgKQEAgLTUxLDYgKzUxLDkgQEAgcHVibGljOgogICAgIFdoZWVsRXZlbnRI
YW5kbGluZ1Jlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYs
IEV2ZW50VGFyZ2V0aW5nKTsKICAgICB2b2lkIHN0b3BTY3JvbGxBbmltYXRpb25zKCk7CiAKKyAg
ICAvLyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlCisgICAgYm9vbCBzdGFydEFu
aW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50KSBmaW5hbDsKKwogcHJpdmF0ZToKICAg
ICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFR5cGVzLmgKaW5kZXggN2RjN2U0YjQ4NzI2YWMwZmRjYjk4ZDViNGI2MDc2ZDJlMzA1ODFlYS4u
ZTYyYjAyNDdhZjhlYTk2ZjQwYzQ0YmVmMTdmNjIzNWE2MGFjZTJmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC0zMDcsNiArMzA3LDE0IEBAIHN0cnVjdCBTY3JvbGxQ
b3NpdGlvbkNoYW5nZU9wdGlvbnMgewogCiBuYW1lc3BhY2UgV1RGIHsKIAordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpBbmltYXRlZFNjcm9sbD4geworICAgIHVzaW5nIHZh
bHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkFuaW1hdGVkU2Nyb2xsLAorICAg
ICAgICBXZWJDb3JlOjpBbmltYXRlZFNjcm9sbDo6Tm8sCisgICAgICAgIFdlYkNvcmU6OkFuaW1h
dGVkU2Nyb2xsOjpZZXMKKyAgICA+OworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpTY3JvbGxiYXJNb2RlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVl
czwKICAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGFibGVBcmVhLmNwcAppbmRleCBjNWY2ZTdmZjNiZWVmYjM0YTMwMDU0YjBlZjQ5
MWYyZWVmOWVkOTYxLi4yNmMyZWY5ZmU3NWVlYWY4ZDg4YzY3NTBkY2VjNTRkNDhlZjQ5N2I1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC0xNDAsOSAr
MTQwLDEzIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvUG9zaXRpb25XaXRob3V0QW5p
bWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uCiAgICAgc2Nyb2xsQW5pbWF0b3IoKS5z
Y3JvbGxUb1Bvc2l0aW9uV2l0aG91dEFuaW1hdGlvbihwb3NpdGlvbiwgY2xhbXBpbmcpOwogfQog
Ci12b2lkIFNjcm9sbGFibGVBcmVhOjpzY3JvbGxUb1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihjb25z
dCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBpbmcpCit2b2lkIFNjcm9sbGFibGVB
cmVhOjpzY3JvbGxUb1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50JiBwb3Np
dGlvbiwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNj
cm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxhYmxlQXJlYSAiIDw8IHRoaXMgPDwgIiBzY3JvbGxU
b1Bvc2l0aW9uV2l0aEFuaW1hdGlvbiAiIDw8IHBvc2l0aW9uKTsKKworICAgIGlmIChyZXF1ZXN0
QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKHJvdW5kZWRJbnRQb2ludChwb3NpdGlvbiksIGNsYW1w
aW5nKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zY3JvbGxUb1Bv
c2l0aW9uV2l0aEFuaW1hdGlvbihwb3NpdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDQxM2JiYTBiNTU5MjkwYjdkNGQzNjVmZmM2NWM5MDgw
YTY5NzFkOWIuLmQxNzg2ODc4MmFiN2NmZDhkYzdlZjFjNzA0ZmIyNzllZTRjZTBjZDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtODYsNiArODYsNyBAQCBw
dWJsaWM6CiAgICAgLy8gcmV0dXJucyB0cnVlLCB0aGUgc2Nyb2xsYWJsZSBhcmVhIHdvbid0IGFj
dHVhbGx5IHVwZGF0ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIGFuZCBpbnN0ZWFkCiAgICAgLy8gZXhw
ZWN0IGl0IHRvIGhhcHBlbiBzb21ldGltZSBpbiB0aGUgZnV0dXJlLgogICAgIHZpcnR1YWwgYm9v
bCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3Jv
bGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgcmVxdWVzdEFu
aW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbENsYW1w
aW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBX
RUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJvb2wgaGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBzdGQ6Om9wdGlvbmFsPFdoZWVsU2Nyb2xsR2VzdHVy
ZVN0YXRlPik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllclNjcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllclNjcm9sbGFibGVBcmVhLmNwcAppbmRleCBlNWE5ZTI1ZmU4MGYwNmI1NDZkZTIzODA4Y2Zh
MDk2YmExMmM1OGI1Li43NTQ5ZTI4YjYyMTJkNWQzMTkzNWY0MWIzMWEzZThhMGJhMmUyNDI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxl
QXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xs
YWJsZUFyZWEuY3BwCkBAIC0yNTQsNiArMjU0LDE3IEBAIGJvb2wgUmVuZGVyTGF5ZXJTY3JvbGxh
YmxlQXJlYTo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNvbnN0IFNjcm9sbFBvc2l0aW9u
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6
OnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIGRl
c3RpbmF0aW9uUG9zaXRpb24sIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQoreworI2lmIEVOQUJM
RShBU1lOQ19TQ1JPTExJTkcpCisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFt
IDw8IG1fbGF5ZXIgPDwgIiByZXF1ZXN0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uICIgPDwgZGVz
dGluYXRpb25Qb3NpdGlvbik7CisKKyAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3Ig
PSBtX2xheWVyLnBhZ2UoKS5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICByZXR1cm4g
c2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oKnRo
aXMsIGRlc3RpbmF0aW9uUG9zaXRpb24sIGNsYW1waW5nKTsKKyNlbmRpZgorICAgIHJldHVybiBm
YWxzZTsKK30KKwogU2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnNjcm9s
bFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBjb25zdCBTY3JvbGxQ
b3NpdGlvbkNoYW5nZU9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKGN1cnJlbnRTY3JvbGxC
ZWhhdmlvclN0YXR1cygpID09IFNjcm9sbEJlaGF2aW9yU3RhdHVzOjpJbk5vbk5hdGl2ZUFuaW1h
dGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNj
cm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3Jv
bGxhYmxlQXJlYS5oCmluZGV4IGNjODE5OGRjZTNlNmQ0MGFmOTk5MDFmMTgwMDZhNjQ3Y2JhZjM0
MGUuLjY2YjM0MjAwYTYxZGQ2OGFkNzRkODMxNDliNTM3ZDU0ODI3MTlmZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaApA
QCAtMjAwLDYgKzIwMCw3IEBAIHB1YmxpYzoKICAgICBJbnRTaXplIHJlYWNoYWJsZVRvdGFsQ29u
dGVudHNTaXplKCkgY29uc3QgZmluYWw7CiAKICAgICBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlv
blVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpV
c2VyLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKKyAg
ICBib29sIHJlcXVlc3RBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRp
b24mLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSBmaW5hbDsKIAog
ICAgIGJvb2wgY29udGFpbnNEaXJ0eU92ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4g
bV9jb250YWluc0RpcnR5T3ZlcmxheVNjcm9sbGJhcnM7IH0KICAgICB2b2lkIHNldENvbnRhaW5z
RGlydHlPdmVybGF5U2Nyb2xsYmFycyhib29sIGRpcnR5U2Nyb2xsYmFycykgeyBtX2NvbnRhaW5z
RGlydHlPdmVybGF5U2Nyb2xsYmFycyA9IGRpcnR5U2Nyb2xsYmFyczsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCmluZGV4IDdjZDJj
YTJhNjIxNjg3ZGM0MThjYmEwMDU5N2MzNzM1ZTljNTZiMzAuLmMzZjJmZDg0MWZiY2VhMzhiNDNl
ODEyNTI4N2U3NTNjODVjN2JlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Jl
bW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5n
Q29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAKQEAgLTUwNyw2ICs1MDcsNyBAQCB2b2lkIEFyZ3Vt
ZW50Q29kZXI8UmVxdWVzdGVkU2Nyb2xsRGF0YT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBSZXF1ZXN0ZQogICAgIGVuY29kZXIgPDwgc2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbjsK
ICAgICBlbmNvZGVyIDw8IHNjcm9sbERhdGEuc2Nyb2xsVHlwZTsKICAgICBlbmNvZGVyIDw8IHNj
cm9sbERhdGEuY2xhbXBpbmc7CisgICAgZW5jb2RlciA8PCBzY3JvbGxEYXRhLmFuaW1hdGVkOwog
fQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVxdWVzdGVkU2Nyb2xsRGF0YT46OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyLCBSZXF1ZXN0ZWRTY3JvbGxEYXRhJiBzY3JvbGxEYXRhKQpAQCAtNTIwLDYg
KzUyMSw5IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXF1ZXN0ZWRTY3JvbGxEYXRhPjo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIsIFJlcXVlc3RlZFNjcm9sCiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShzY3JvbGxEYXRhLmNsYW1waW5nKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShzY3JvbGxEYXRhLmFuaW1hdGVkKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZVJlbW90ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbQppbmRleCAw
YTU3YWZhMmMwNmNkMDg2MWUwMGI4MmRlZmQxODlhZGUyZDU1ZjEwLi4wMGUxNGY0OGY3MTdhZDRj
Y2U1YWRhZWI1ZTllM2ZkYjVlMTJlODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVS
ZW1vdGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCkBAIC05Niw3
ICs5Niw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUzo6
Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjCiAgICAgLy8gVXBkYXRlIHRoZSBzY3Jv
bGwgcG9zaXRpb24gYWZ0ZXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIHVwZGF0ZWQsIGJlY2F1c2Ug
dGhleSBuZWVkIHRvIGhhdmUgdXBkYXRlZCB0aGVpciBjb25zdHJhaW50cyBiZWZvcmUgYW55IHNj
cm9sbGluZyBoYXBwZW5zLgogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFBy
b3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6UHJvcGVydHk6OlJlcXVlc3RlZFNjcm9sbFBvc2l0
aW9uKSkgewogICAgICAgICBjb25zdCBhdXRvJiByZXF1ZXN0ZWRTY3JvbGxEYXRhID0gc2Nyb2xs
aW5nU3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9sbERhdGEoKTsKLSAgICAgICAgc2Nyb2xsVG8ocmVx
dWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3Jv
bGxUeXBlLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nKTsKKyAgICAgICAgc2Nyb2xsVG8o
cmVxdWVzdGVkU2Nyb2xsRGF0YS5zY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsRGF0YS5z
Y3JvbGxUeXBlLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLmNsYW1waW5nLCByZXF1ZXN0ZWRTY3JvbGxE
YXRhLmFuaW1hdGVkKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZUlPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLmgKaW5kZXggZTAyNDkyNjgwMmRi
Y2Q4ODA4NDVkZjNhYzdiM2Y5YTQ2YWNiZWM1Mi4uNThkODAyZDQ2NmY2Yjk0OTRjMWY0NDE1NmQ1
ZGI5ODEwOGI5OWFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3Rl
TGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLmgKQEAgLTc5LDYgKzc5LDggQEAgcHVibGljOgog
ICAgIFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlldygpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIGJv
b2wgc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgZmluYWw7CisKICAg
ICBSZXRhaW5QdHI8Q0FMYXllcj4gbV9zY3JvbGxMYXllcjsKICAgICBSZXRhaW5QdHI8Q0FMYXll
cj4gbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXI7CiAgICAgUmV0YWluUHRyPFdLU2Nyb2xsaW5nTm9k
ZVNjcm9sbFZpZXdEZWxlZ2F0ZT4gbV9zY3JvbGxWaWV3RGVsZWdhdGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0K
aW5kZXggOGE5ZmY2NzVkY2U4NTllODcxNDJkNWIzNzg4NjY4NmI2NWQwMzBmYy4uMGViMjg0OTg3
ZjNhNGQ3YjM5YjFhNTdlODQxYTM3MDA1NDQ3ZDQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbQpAQCAtMjkw
LDExICsyOTAsMTcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9T
Ojpjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3QgU2Nyb2wKIAogICAgIGlmIChzY3JvbGxp
bmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6UHJvcGVy
dHk6OlJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKSkgewogICAgICAgICBjb25zdCBhdXRvJiByZXF1
ZXN0ZWRTY3JvbGxEYXRhID0gc2Nyb2xsaW5nU3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9sbERhdGEo
KTsKLSAgICAgICAgc2Nyb2xsaW5nTm9kZSgpLnNjcm9sbFRvKHJlcXVlc3RlZFNjcm9sbERhdGEu
c2Nyb2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbERhdGEuc2Nyb2xsVHlwZSwgcmVxdWVzdGVk
U2Nyb2xsRGF0YS5jbGFtcGluZyk7CisgICAgICAgIHNjcm9sbGluZ05vZGUoKS5zY3JvbGxUbyhy
ZXF1ZXN0ZWRTY3JvbGxEYXRhLnNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRTY3JvbGxEYXRhLnNj
cm9sbFR5cGUsIHJlcXVlc3RlZFNjcm9sbERhdGEuY2xhbXBpbmcsIHJlcXVlc3RlZFNjcm9sbERh
dGEuYW5pbWF0ZWQpOwogICAgICAgICBzY3JvbGxpbmdUcmVlKCkuc2V0TmVlZHNBcHBseUxheWVy
UG9zaXRpb25zQWZ0ZXJDb21taXQoKTsKICAgICB9CiB9CiAKK2Jvb2wgU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxv
YXRQb2ludCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCisgICAgcmV0dXJuIGZh
bHNlOworfQorCiAjaWYgSEFWRShVSVNDUk9MTFZJRVdfQVNZTkNIUk9OT1VTX1NDUk9MTF9FVkVO
VF9IQU5ETElORykKIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUzo6
aGFuZGxlQXN5bmNocm9ub3VzQ2FuY2VsYWJsZVNjcm9sbEV2ZW50KFVJU2Nyb2xsVmlldyAqc2Ny
b2xsVmlldywgVUlTY3JvbGxFdmVudCAqc2Nyb2xsRXZlbnQsIHZvaWQgKF5jb21wbGV0aW9uKShC
T09MIGhhbmRsZWQpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlTWFj
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuaAppbmRleCBhNjM0OTRhMThkNjNmMGVh
MDA0OWI2YjNjODg4ZDc5MmQ4NWRlNjZkLi44ZDc2YWQxMDhlNGJmOGZmNTFjNjc4MWJkOTFiMmVm
NGU4ZTQwMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuaApAQCAtNDMsOSArNDMsOSBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMo
V2ViQ29yZTo6U2Nyb2xsaW5nVHJlZSYsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVUeXBlLCBXZWJD
b3JlOjpTY3JvbGxpbmdOb2RlSUQpOwogCi0gICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxk
cmVuKGNvbnN0IFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJyaWRlOwotICAgIFdl
YkNvcmU6OldoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdl
YkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudCYsIFdlYkNvcmU6OkV2ZW50VGFyZ2V0aW5nKSBvdmVy
cmlkZTsKLSAgICB2b2lkIHJlcG9zaXRpb25SZWxhdGVkTGF5ZXJzKCkgb3ZlcnJpZGU7CisgICAg
dm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFdlYkNvcmU6OlNjcm9sbGluZ1N0
YXRlTm9kZSYpIGZpbmFsOworICAgIFdlYkNvcmU6OldoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBo
YW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudCYsIFdlYkNv
cmU6OkV2ZW50VGFyZ2V0aW5nKSBmaW5hbDsKKyAgICB2b2lkIHJlcG9zaXRpb25SZWxhdGVkTGF5
ZXJzKCkgZmluYWw7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsZXJQYWlyTWFjPiBtX3Nj
cm9sbGVyUGFpcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVSZW1vdGVN
YWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMvU2Nyb2xs
aW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oCmluZGV4IDU0ZDRlOGUxYTRk
YzA2NjVhMmNlMzJjNjY0NzA0MGIxNGMwM2VkYTIuLmI3NDE5NDgyN2YxOGU4YjA4OTgyNTg5OTk3
N2QyNGY3YjFmNWJhMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZUxheWVyVHJlZS9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMvU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5oCkBAIC00Myw5ICs0Myw5
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZVJlbW90ZU1hYyhXZWJDb3JlOjpTY3JvbGxpbmdUcmVlJiwgV2ViQ29yZTo6U2Nyb2xsaW5n
Tm9kZUlEKTsKIAotICAgIHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBXZWJD
b3JlOjpTY3JvbGxpbmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsKLSAgICBXZWJDb3JlOjpXaGVlbEV2
ZW50SGFuZGxpbmdSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJDb3JlOjpQbGF0Zm9y
bVdoZWVsRXZlbnQmLCBXZWJDb3JlOjpFdmVudFRhcmdldGluZykgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCByZXBvc2l0aW9uUmVsYXRlZExheWVycygpIG92ZXJyaWRlOworICAgIHZvaWQgY29tbWl0U3Rh
dGVCZWZvcmVDaGlsZHJlbihjb25zdCBXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU5vZGUmKSBmaW5h
bDsKKyAgICBXZWJDb3JlOjpXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgaGFuZGxlV2hlZWxFdmVu
dChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQmLCBXZWJDb3JlOjpFdmVudFRhcmdl
dGluZykgZmluYWw7CisgICAgdm9pZCByZXBvc2l0aW9uUmVsYXRlZExheWVycygpIGZpbmFsOwog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjcm9sbGVyUGFpck1hYz4gbV9zY3JvbGxlclBhaXI7CiB9
Owo=
</data>
<flag name="commit-queue"
          id="464214"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>