<?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>229431</bug_id>
          
          <creation_ts>2021-08-23 15:55:32 -0700</creation_ts>
          <short_desc>Add support for new pseudo-selectors for media from CSS Selectors Level 4.</short_desc>
          <delta_ts>2022-02-10 16:13:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1786598</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-08-23 15:55:32 -0700</bug_when>
    <thetext>Add support for new pseudo-selectors for media from CSS Selectors Level 4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786601</commentid>
    <comment_count>1</comment_count>
      <attachid>436245</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-08-23 16:01:27 -0700</bug_when>
    <thetext>Created attachment 436245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786604</commentid>
    <comment_count>2</comment_count>
      <attachid>436245</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-08-23 16:30:57 -0700</bug_when>
    <thetext>Comment on attachment 436245
Patch

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:3874
&gt; +    return !paused() &amp;&amp; m_networkState == NETWORK_LOADING &amp;&amp; m_readyState &lt;= HAVE_CURRENT_DATA &amp;&amp; m_sentStalledEvent;

Don&apos;t you need to call `invalidateStyle()` when m_sentStalledEvent changes in `progressEventTimerFired()`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786620</commentid>
    <comment_count>3</comment_count>
      <attachid>436252</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-08-23 17:07:22 -0700</bug_when>
    <thetext>Created attachment 436252
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786623</commentid>
    <comment_count>4</comment_count>
      <attachid>436253</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-08-23 17:11:13 -0700</bug_when>
    <thetext>Created attachment 436253
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786841</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-24 11:30:08 -0700</bug_when>
    <thetext>Committed r281503 (240876@main): &lt;https://commits.webkit.org/240876@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436253.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786846</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-24 11:32:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/82301750&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436245</attachid>
            <date>2021-08-23 16:01:27 -0700</date>
            <delta_ts>2022-02-10 16:13:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229431-20210823160126.patch</filename>
            <type>text/plain</type>
            <size>32087</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2VkY2FmNjhjMGFhZWU0
ZmU5N2Y3MzUwZDZmYzQzYjAzNDI3ZjlhYy4uMDAyYjdlZGZiM2FlOWU3MGFkMTMyMjk5N2U2N2Ix
NjBkODIwMzVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA4LTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBu
ZXcgcHNldWRvLWNsYXNzZXMgZm9yIG1lZGlhIGZyb20gQ1NTIFNlbGVjdG9ycyBMZXZlbCA0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDMxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IG1l
ZGlhL21lZGlhLWNzcy1tdXRlZC5odG1sCisgICAgICAgICAgICAgICBtZWRpYS9tZWRpYS1jc3Mt
cGxheWluZy1wYXVzZWQuaHRtbAorICAgICAgICAgICAgICAgbWVkaWEvbWVkaWEtY3NzLXZvbHVt
ZS1sb2NrZWQuaHRtbAorICAgICAgICAgICAgICAgKFRlc3RzIGZvciBidWZmZXJpbmcgYW5kIHN0
YWxsZWQgc3RhdGVzIGFyZSBmb3J0aGNvbWluZywgd2FpdGluZyBvbgorICAgICAgICAgICAgICAg
YSBub24tZmxha2V5IG1lY2hhbmlzbSBmb3IgaW5kdWNpbmcgbmV0d29yayBzdGFsbHMpCisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgbmV3IHBzZXVkby1jbGFzc2VzIGZy
b20gQ1NTIFNlbGVjdG9ycyBMZXZlbCA0OgorICAgICAgICAtIDpwbGF5aW5nLCA6cGF1c2VkLCA6
c2Vla2luZworICAgICAgICAtIDpidWZmZXJpbmcsIDpzdGFsbGVkCisgICAgICAgIC0gOm11dGVk
LCA6dm9sdW1lLWxvY2tlZAorCisgICAgICAgIEVuc3VyZSBDU1Mgc3R5bGVzIGFyZSBpbnZhbGlk
YXRlZCB3aGVuIHBsYXliYWNrIHN0YXRlIGNoYW5nZXMgYnkgZW5jYXBzdWxhdGluZworICAgICAg
ICBtb2RpZmljYXRpb25zIHRvIEhUTUxNZWRpYUVsZW1lbnQ6Om1fcGF1c2VkIGludG8gYSBzZXRQ
YXVzZWQoKSBmdW5jdGlvbi4KKworICAgICAgICBBZGQgbWV0aG9kcyB0byBxdWVyeSBmb3Igdm9s
dW1lTG9ja2VkKCkgb24gSFRNTE1lZGlhRWxlbWVudCwgYXMgd2VsbCBhcyBhIHdheQorICAgICAg
ICB0byBvdmVycmlkZSB0aGUgdmFsdWUgdGhyb3VnaCBJbnRlcm5hbHMuCisKKyAgICAgICAgSW52
YWxpZGF0ZSBzdHlsZXMgd2hlbiB0aGUgIm11dGVkIiBhdHRyaWJ1dGUgY2hhbmdlcyBzdGF0ZS4K
KworICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWxlY3Rvcjo6c2VsZWN0b3JUZXh0IGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3Iu
aDoKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUgY29uc3QpOgorICAgICAgICAqIGNzcy9TZWxlY3Rv
ckNoZWNrZXJUZXN0RnVuY3Rpb25zLmg6CisgICAgICAgIChXZWJDb3JlOjptYXRjaGVzUGxheWlu
Z1BzZXVkb0NsYXNzKToKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFz
cyk6CisgICAgICAgIChXZWJDb3JlOjptYXRjaGVzU2Vla2luZ1BzZXVkb0NsYXNzKToKKyAgICAg
ICAgKFdlYkNvcmU6Om1hdGNoZXNCdWZmZXJpbmdQc2V1ZG9DbGFzcyk6CisgICAgICAgIChXZWJD
b3JlOjptYXRjaGVzU3RhbGxlZFBzZXVkb0NsYXNzKToKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNo
ZXNNdXRlZFBzZXVkb0NsYXNzKToKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNoZXNWb2x1bWVMb2Nr
ZWRQc2V1ZG9DbGFzcyk6CisgICAgICAgICogY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21w
YXRpYmlsaXR5RWxlbWVudE1hcC5pbjoKKyAgICAgICAgKiBjc3NqaXQvU2VsZWN0b3JDb21waWxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpKU0NfREVGSU5FX0pJ
VF9PUEVSQVRJT04pOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6YWRkUHNl
dWRvQ2xhc3NUeXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZGVmYXVsdFZvbHVtZUxvY2tlZCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnByZXBhcmVGb3JMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnNldE5ldHdvcmtTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjpzZXRSZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OnNldFBhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwbGF5
SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGF1c2VJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRNdXRlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRWb2x1bWVMb2NrZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YnVmZmVyaW5nIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YWxsZWQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJUaW1lQ2hhbmdlZCk6CisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50Ojp2b2x1bWVMb2NrZWQgY29uc3QpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0TWVkaWFFbGVtZW50Vm9s
dW1lTG9ja2VkKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMS0wOC0yMyAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggaW5jbHVkZSBndWFyZHMgaW4gUGxhdGZvcm1TY3Jl
ZW5NYWMubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGEyMmIwZmZmYTFjNDFi
Y2JlYTczNTFkNDcxZDAzM2VlODIzYjIwYjcuLjQwZTk4ZjVkNjM0MmIxNzc1YzVlMWFjOWQ1YjFi
MGFlMzJhZTAzMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAtNTA3LDYgKzUw
NywyNyBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dChjb25zdCBTdHJpbmcmIHJp
Z2h0U2lkZSkgY29uc3QKICAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
RnV0dXJlOgogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6ZnV0dXJlIik7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9D
bGFzc1BsYXlpbmc6CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIjpwbGF5aW5nIik7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQ
c2V1ZG9DbGFzc1BhdXNlZDoKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiOnBhdXNl
ZCIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3NTZWVraW5nOgorICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6
c2Vla2luZyIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2xhc3NCdWZmZXJpbmc6CisgICAgICAgICAgICAgICAgYnVpbGRlci5h
cHBlbmQoIjpidWZmZXJpbmciKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzU3RhbGxlZDoKKyAgICAgICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZCgiOnN0YWxsZWQiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzTXV0ZWQ6CisgICAgICAgICAgICAg
ICAgYnVpbGRlci5hcHBlbmQoIjptdXRlZCIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NWb2x1bWVMb2NrZWQ6CisgICAg
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIjp2b2x1bWUtbG9ja2VkIik7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzSGFzOgogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6aGFzKCIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCA1NTMxOTQ3MjhkZTM3OGRmZGZkYjM0NWUxZTA0MWY1
MDhmMDRmYTE5Li43NDVmMWM3ODhhZGI3YjBiNDdiYjFlYTM1ZTQzZTg2M2M2OTFjYzdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTY2LDYgKzE2NiwxMyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgICAgICAgICAgUHNldWRvQ2xhc3NGdXR1cmUs
CiAgICAgICAgICAgICBQc2V1ZG9DbGFzc1Bhc3QsCisgICAgICAgICAgICBQc2V1ZG9DbGFzc1Bs
YXlpbmcsCisgICAgICAgICAgICBQc2V1ZG9DbGFzc1BhdXNlZCwKKyAgICAgICAgICAgIFBzZXVk
b0NsYXNzU2Vla2luZywKKyAgICAgICAgICAgIFBzZXVkb0NsYXNzQnVmZmVyaW5nLAorICAgICAg
ICAgICAgUHNldWRvQ2xhc3NTdGFsbGVkLAorICAgICAgICAgICAgUHNldWRvQ2xhc3NNdXRlZCwK
KyAgICAgICAgICAgIFBzZXVkb0NsYXNzVm9sdW1lTG9ja2VkLAogI2VuZGlmCiAjaWYgRU5BQkxF
KENTU19TRUxFQ1RPUlNfTEVWRUw0KQogICAgICAgICAgICAgUHNldWRvQ2xhc3NEaXIsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGU1NTYxOGViNWYyMDI5NDE3MmE1
MTU1MGRjMGVhOWQ0MTI0NjQ1NDEuLmIwODJmYmY0NDk1Yzg4NzZjZjYxMGY3YTc2MTNkZWI3NzJi
NGM3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0xMDYzLDYg
KzEwNjMsMjAgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29udGV4
dCYgY2hlY2tpbmdDb250ZXh0LCBjb25zdCBMb2NhbENvbnQKICAgICAgICAgICAgIHJldHVybiBt
YXRjaGVzRnV0dXJlQ3VlUHNldWRvQ2xhc3MoZWxlbWVudCk7CiAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzUGFzdDoKICAgICAgICAgICAgIHJldHVybiBtYXRjaGVzUGFzdEN1
ZVBzZXVkb0NsYXNzKGVsZW1lbnQpOworICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9D
bGFzc1BsYXlpbmc6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1BsYXlpbmdQc2V1ZG9DbGFz
cyhlbGVtZW50KTsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NQYXVzZWQ6
CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1BhdXNlZFBzZXVkb0NsYXNzKGVsZW1lbnQpOwor
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1NlZWtpbmc6CisgICAgICAgICAg
ICByZXR1cm4gbWF0Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NCdWZmZXJpbmc6CisgICAgICAgICAgICByZXR1cm4g
bWF0Y2hlc0J1ZmZlcmluZ1BzZXVkb0NsYXNzKGVsZW1lbnQpOworICAgICAgICBjYXNlIENTU1Nl
bGVjdG9yOjpQc2V1ZG9DbGFzc1N0YWxsZWQ6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1N0
YWxsZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NNdXRlZDoKKyAgICAgICAgICAgIHJldHVybiBtYXRjaGVzTXV0ZWRQc2V1ZG9DbGFz
cyhlbGVtZW50KTsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NWb2x1bWVM
b2NrZWQ6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1ZvbHVtZUxvY2tlZFBzZXVkb0NsYXNz
KGVsZW1lbnQpOwogI2VuZGlmCiAKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xh
c3NTY29wZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXJU
ZXN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1
bmN0aW9ucy5oCmluZGV4IGQ0NDVkNGIzYWZjYjViNjk5NTVkMDNhYTZjYjMyMTk1ZmYyOWMyOGMu
LjA4NDAxMjhkNzQ3MDEwNDRlZDVjMzc2OGJmNWQ4NTk4OGI4M2VmMTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaApAQCAtNDQyLDYg
KzQ0Miw0MCBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1Bhc3RDdWVQc2V1ZG9DbGFzcyhj
b25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIHJldHVybiBpczxXZWJWVFRFbGVtZW50PihlbGVt
ZW50KSAmJiBkb3duY2FzdDxXZWJWVFRFbGVtZW50PihlbGVtZW50KS5pc1Bhc3ROb2RlKCk7CiB9
CiAKK0FMV0FZU19JTkxJTkUgYm9vbCBtYXRjaGVzUGxheWluZ1BzZXVkb0NsYXNzKGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1l
bnQpICYmICFkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5wYXVzZWQoKTsKK30K
KworQUxXQVlTX0lOTElORSBib29sIG1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50
KSAmJiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5wYXVzZWQoKTsKK30KKwor
QUxXQVlTX0lOTElORSBib29sIG1hdGNoZXNTZWVraW5nUHNldWRvQ2xhc3MoY29uc3QgRWxlbWVu
dCYgZWxlbWVudCkKK3sKKyAgICByZXR1cm4gaXM8SFRNTE1lZGlhRWxlbWVudD4oZWxlbWVudCkg
JiYgZG93bmNhc3Q8SFRNTE1lZGlhRWxlbWVudD4oZWxlbWVudCkuc2Vla2luZygpOworfQorCitB
TFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc0J1ZmZlcmluZ1BzZXVkb0NsYXNzKGNvbnN0IEVsZW1l
bnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQp
ICYmIGRvd25jYXN0PEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQpLmJ1ZmZlcmluZygpOworfQor
CitBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1N0YWxsZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50
KSAmJiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5zdGFsbGVkKCk7Cit9CisK
K0FMV0FZU19JTkxJTkUgYm9vbCBtYXRjaGVzTXV0ZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50
JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KSAm
JiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5tdXRlZCgpOworfQorCitBTFdB
WVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1ZvbHVtZUxvY2tlZFBzZXVkb0NsYXNzKGNvbnN0IEVsZW1l
bnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQp
ICYmIGRvd25jYXN0PEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQpLnZvbHVtZUxvY2tlZCgpOwor
fQogI2VuZGlmCiAKIEFMV0FZU19JTkxJTkUgYm9vbCBpc0ZyYW1lRm9jdXNlZChjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNl
dWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuaW4KaW5kZXgg
OTJhMmM1ZjQzYTJkOGE3ODI0MzBmZDdhOTc5Y2I3ODk4ODE0ZDYzNy4uM2RlOWJmNjAzYzgzNTQ1
OWVlMzg5NjBhYmE4YjhjYWZiNmQ5MjA1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVt
ZW50TWFwLmluCkBAIC05Myw1ICs5MywxMiBAQCBwaWN0dXJlLWluLXBpY3R1cmUKICNpZiBFTkFC
TEUoVklERU8pCiBmdXR1cmUKIHBhc3QKK3BsYXlpbmcKK3BhdXNlZAorc2Vla2luZworYnVmZmVy
aW5nCitzdGFsbGVkCittdXRlZAordm9sdW1lLWxvY2tlZAogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAppbmRleCBkOWEyYWY5N2JmYzk1ZjAyOWYy
N2E1ZWIwNmMyYjZjNmI0ZmRlNjYzLi45Nzk4MDQ2ZGU3YTExYzc3OGYwODY5MTVjMzJhNGM3NzM0
YjNmYWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBA
IC0xMTEsNiArMTExLDEzIEBAIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhP
VVRfV1RGX0lOVEVSTkFMKG9wZXJhdGlvbk1hdGNoZXNQaWN0dXJlSW5QCiAjaWYgRU5BQkxFKFZJ
REVPKQogc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZfSU5URVJO
QUwob3BlcmF0aW9uTWF0Y2hlc0Z1dHVyZUN1ZVBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxl
bWVudCYpKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lO
VEVSTkFMKG9wZXJhdGlvbk1hdGNoZXNQYXN0Q3VlUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZf
SU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1BsYXlpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0
IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dU
Rl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzUGF1c2VkUHNldWRvQ2xhc3MsIGJvb2wsIChjb25z
dCBFbGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9X
VEZfSU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNv
bnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VU
X1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzQnVmZmVyaW5nUHNldWRvQ2xhc3MsIGJvb2ws
IChjb25zdCBFbGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lU
SE9VVF9XVEZfSU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1N0YWxsZWRQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9X
SVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzTXV0ZWRQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9X
SVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9ja2VkUHNldWRvQ2xh
c3MsIGJvb2wsIChjb25zdCBFbGVtZW50JikpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEFUVEFDSE1F
TlRfRUxFTUVOVCkKIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RG
X0lOVEVSTkFMKG9wZXJhdGlvbkhhc0F0dGFjaG1lbnQsIGJvb2wsIChjb25zdCBFbGVtZW50Jikp
OwpAQCAtNzQxLDYgKzc0OCw0MSBAQCBKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9u
TWF0Y2hlc1Bhc3RDdWVQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0IEVsZW1lbgogewogICAgIHJl
dHVybiBtYXRjaGVzUGFzdEN1ZVBzZXVkb0NsYXNzKGVsZW1lbnQpOwogfQorCitKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWF0Y2hlc1BsYXlpbmdQc2V1ZG9DbGFzcywgYm9vbCwg
KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzUGxheWluZ1Bz
ZXVkb0NsYXNzKGVsZW1lbnQpOworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0
aW9uTWF0Y2hlc1BhdXNlZFBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkpCit7CisgICAgcmV0dXJuIG1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30K
KworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk1hdGNoZXNTZWVraW5nUHNldWRv
Q2xhc3MsIGJvb2wsIChjb25zdCBFbGVtZW50JiBlbGVtZW50KSkKK3sKKyAgICByZXR1cm4gbWF0
Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30KKworSlNDX0RFRklORV9KSVRfT1BF
UkFUSU9OKG9wZXJhdGlvbk1hdGNoZXNCdWZmZXJpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0
IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzQnVmZmVyaW5nUHNldWRv
Q2xhc3MoZWxlbWVudCk7Cit9CisKK0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25N
YXRjaGVzU3RhbGxlZFBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVudCYgZWxlbWVudCkp
Cit7CisgICAgcmV0dXJuIG1hdGNoZXNTdGFsbGVkUHNldWRvQ2xhc3MoZWxlbWVudCk7Cit9CisK
K0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25NYXRjaGVzTXV0ZWRQc2V1ZG9DbGFz
cywgYm9vbCwgKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVz
TXV0ZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30KKworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9O
KG9wZXJhdGlvbk1hdGNoZXNWb2x1bWVMb2NrZWRQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzVm9sdW1lTG9ja2VkUHNldWRv
Q2xhc3MoZWxlbWVudCk7Cit9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1F
TlQpCkBAIC04NjcsNiArOTA5LDI3IEBAIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBz
ZXVkb0NsYXNzVHlwZShjb25zdCBDU1NTZWxlY3RvciYgc2VsZWN0b3IsIFNlbGVjCiAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NQYXN0OgogICAgICAgICBmcmFnbWVudC51bm9wdGlt
aXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVuY3Rpb25QdHI8SlNDOjpPcGVyYXRpb25Q
dHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNQYXN0Q3VlUHNldWRvQ2xhc3MpKTsKICAgICAgICAgcmV0
dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzUGxheWluZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQ
c2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFn
PihvcGVyYXRpb25NYXRjaGVzUGxheWluZ1BzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBG
dW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzc1BhdXNlZDoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9D
bGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVy
YXRpb25NYXRjaGVzUGF1c2VkUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9u
VHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzU2Vla2luZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2Vz
LmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25N
YXRjaGVzU2Vla2luZ1BzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6
OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFz
c0J1ZmZlcmluZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFw
cGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRj
aGVzQnVmZmVyaW5nUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6
U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
U3RhbGxlZDoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVu
ZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVz
U3RhbGxlZFBzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBs
ZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc011dGVk
OgorICAgICAgICBmcmFnbWVudC51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6
RnVuY3Rpb25QdHI8SlNDOjpPcGVyYXRpb25QdHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNNdXRlZFBz
ZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9y
Q2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1ZvbHVtZUxvY2tlZDoK
KyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1
bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9j
a2VkUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2Vs
ZWN0b3JDaGVja2VyOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjc5MTlmYjQ1YjZl
YWQzMzhkY2JhNzFmMzViYjRlYmVhZWFlMGE2Mi4uMjJlYTI0MTI0ZDZhMzg5OWU5NzIyNzM2YWNh
YmU3YzE1MDcwM2YwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC0zOTIsNiArMzkyLDE1IEBAIHN0YXRpYyBib29sIG1lZGlhU2Vzc2lvbk1heUJlQ29uZnVz
ZWRXaXRoTWFpbkNvbnRlbnQoY29uc3QgTWVkaWFFbGVtZW50U2Vzc2lvbkluCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGRlZmF1bHRWb2x1bWVMb2NrZWQoKQoreworI2lmIFBM
QVRGT1JNKElPUykKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCit9CisKIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBh
cnNlcikKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgQWN0aXZl
RE9NT2JqZWN0KGRvY3VtZW50KQpAQCAtNDM5LDYgKzQ0OCw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6
OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQm
IGRvY3VtCiAgICAgLCBtX3Byb2Nlc3NpbmdQcmVmZXJlbmNlQ2hhbmdlKGZhbHNlKQogICAgICwg
bV9zaG91bGRBdWRpb1BsYXliYWNrUmVxdWlyZVVzZXJHZXN0dXJlKGRvY3VtZW50LnRvcERvY3Vt
ZW50KCkuYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoKSAmJiAhcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlRm9yTWVkaWEoKSkKICAgICAsIG1fc2hvdWxkVmlkZW9QbGF5YmFja1JlcXVpcmVV
c2VyR2VzdHVyZShkb2N1bWVudC50b3BEb2N1bWVudCgpLnZpZGVvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKCkgJiYgIXByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpCisgICAgLCBt
X3ZvbHVtZUxvY2tlZChkZWZhdWx0Vm9sdW1lTG9ja2VkKCkpCiAjaWYgRU5BQkxFKFdJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkKICAgICAsIG1fcmVtb3RlKFJlbW90ZVBsYXliYWNrOjpjcmVhdGUo
KnRoaXMpKQogI2VuZGlmCkBAIC03NTAsNiArNzYwLDEwIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0
cmluCiAgICAgfQogICAgIGVsc2UKICAgICAgICAgSFRNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KG5hbWUsIHZhbHVlKTsKKworICAgIC8vIENoYW5naW5nIHRoZSAibXV0ZWQiIGF0dHJpYnVlIGNv
dWxkIGFmZmVjdCAiOm11dGVkIgorICAgIGlmIChuYW1lID09IG11dGVkQXR0cikKKyAgICAgICAg
aW52YWxpZGF0ZVN0eWxlKCk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZmluaXNoUGFy
c2luZ0NoaWxkcmVuKCkKQEAgLTExNzcsNyArMTE5MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cHJlcGFyZUZvckxvYWQoKQogICAgICAgICBtX3JlYWR5U3RhdGVNYXhpbXVtID0gSEFWRV9O
T1RISU5HOwogCiAgICAgICAgIC8vIDYuNiAtIElmIHRoZSBwYXVzZWQgYXR0cmlidXRlIGlzIGZh
bHNlLCB0aGVuIHNldCBpdCB0byB0cnVlLgotICAgICAgICBtX3BhdXNlZCA9IHRydWU7CisgICAg
ICAgIHNldFBhdXNlZCh0cnVlKTsKIAogICAgICAgICAvLyA2LjcgLSBJZiBzZWVraW5nIGlzIHRy
dWUsIHNldCBpdCB0byBmYWxzZS4KICAgICAgICAgY2xlYXJTZWVraW5nKCk7CkBAIC0yMjQzLDYg
KzIyNTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE5ldHdvcmtTdGF0ZShNZWRpYVBs
YXllcjo6TmV0d29ya1N0YXRlIHN0YXRlKQogICAgIGlmIChzdGF0ZSA9PSBNZWRpYVBsYXllcjo6
TmV0d29ya1N0YXRlOjpFbXB0eSkgewogICAgICAgICAvLyBKdXN0IHVwZGF0ZSB0aGUgY2FjaGVk
IHN0YXRlIGFuZCBsZWF2ZSwgd2UgY2FuJ3QgZG8gYW55dGhpbmcuCiAgICAgICAgIG1fbmV0d29y
a1N0YXRlID0gTkVUV09SS19FTVBUWTsKKyAgICAgICAgaW52YWxpZGF0ZVN0eWxlKCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIyNzEsNiArMjI4Niw4IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6c2V0TmV0d29ya1N0YXRlKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgc3RhdGUp
CiAgICAgICAgICAgICBjaGFuZ2VOZXR3b3JrU3RhdGVGcm9tTG9hZGluZ1RvSWRsZSgpOwogICAg
ICAgICBtX2NvbXBsZXRlbHlMb2FkZWQgPSB0cnVlOwogICAgIH0KKworICAgIGludmFsaWRhdGVT
dHlsZSgpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNoYW5nZU5ldHdvcmtTdGF0ZUZy
b21Mb2FkaW5nVG9JZGxlKCkKQEAgLTI0ODksNyArMjUwNiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICAg
ICAgICAgIC8vIE5vdGlmeSBhYm91dCBwbGF5aW5nIGZvciB0aGUgZWxlbWVudC4KICAgICAgICAg
ICAgIGF1dG8gY2FuVHJhbnNpdGlvbiA9IGNhblRyYW5zaXRpb25Gcm9tQXV0b3BsYXlUb1BsYXko
KTsKICAgICAgICAgICAgIGlmIChjYW5UcmFuc2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbV9w
YXVzZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBzZXRQYXVzZWQoZmFsc2UpOwogICAgICAg
ICAgICAgICAgIHNldFNob3dQb3N0ZXJGbGFnKGZhbHNlKTsKICAgICAgICAgICAgICAgICBpbnZh
bGlkYXRlQ2FjaGVkVGltZSgpOwogICAgICAgICAgICAgICAgIHNldEF1dG9wbGF5RXZlbnRQbGF5
YmFja1N0YXRlKEF1dG9wbGF5RXZlbnRQbGF5YmFja1N0YXRlOjpTdGFydGVkV2l0aG91dFVzZXJH
ZXN0dXJlKTsKQEAgLTI1MTcsNiArMjUzNCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0
UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICB1cGRhdGVQbGF5
U3RhdGUoKTsKICAgICB1cGRhdGVNZWRpYUNvbnRyb2xsZXIoKTsKICAgICB1cGRhdGVBY3RpdmVU
ZXh0VHJhY2tDdWVzKGN1cnJlbnRNZWRpYVRpbWUoKSk7CisKKyAgICBpbnZhbGlkYXRlU3R5bGUo
KTsKIH0KIAogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQpAQCAtMzMzOCw2ICsz
MzU3LDE0IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2VkKCkgY29uc3QKICAgICByZXR1
cm4gbV9wYXVzZWQ7CiB9CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0UGF1c2VkKGJvb2wg
cGF1c2VkKQoreworICAgIGlmIChtX3BhdXNlZCA9PSBwYXVzZWQpCisgICAgICAgIHJldHVybjsK
KyAgICBtX3BhdXNlZCA9IHBhdXNlZDsKKyAgICBpbnZhbGlkYXRlU3R5bGUoKTsKK30KKwogZG91
YmxlIEhUTUxNZWRpYUVsZW1lbnQ6OmRlZmF1bHRQbGF5YmFja1JhdGUoKSBjb25zdAogewogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCkBAIC0zNTc0LDcgKzM2MDEsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCgpCiAgICAgICAgIG1fbWVkaWFDb250cm9sbGVyLT5icmlu
Z0VsZW1lbnRVcFRvU3BlZWQoKnRoaXMpOwogCiAgICAgaWYgKG1fcGF1c2VkKSB7Ci0gICAgICAg
IG1fcGF1c2VkID0gZmFsc2U7CisgICAgICAgIHNldFBhdXNlZChmYWxzZSk7CiAgICAgICAgIHNl
dFNob3dQb3N0ZXJGbGFnKGZhbHNlKTsKICAgICAgICAgaW52YWxpZGF0ZUNhY2hlZFRpbWUoKTsK
IApAQCAtMzY2NSw3ICszNjkyLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwYXVzZUludGVy
bmFsKCkKICAgICBzZXRBdXRvcGxheUV2ZW50UGxheWJhY2tTdGF0ZShBdXRvcGxheUV2ZW50UGxh
eWJhY2tTdGF0ZTo6Tm9uZSk7CiAKICAgICBpZiAoIW1fcGF1c2VkICYmICFtX3BhdXNlZEludGVy
bmFsKSB7Ci0gICAgICAgIG1fcGF1c2VkID0gdHJ1ZTsKKyAgICAgICAgc2V0UGF1c2VkKHRydWUp
OwogICAgICAgICBzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChmYWxzZSk7CiAgICAgICAgIHNjaGVk
dWxlRXZlbnQoZXZlbnROYW1lcygpLnBhdXNlRXZlbnQpOwogICAgICAgICBzY2hlZHVsZVJlamVj
dFBlbmRpbmdQbGF5UHJvbWlzZXMoRE9NRXhjZXB0aW9uOjpjcmVhdGUoQWJvcnRFcnJvcikpOwpA
QCAtMzgwMiwxMSArMzgyOSw1MSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE11dGVkKGJv
b2wgbXV0ZWQpCiAjZW5kaWYKICAgICAgICAgbWVkaWFTZXNzaW9uKCkuY2FuUHJvZHVjZUF1ZGlv
Q2hhbmdlZCgpOwogICAgICAgICB1cGRhdGVTbGVlcERpc2FibGluZygpOworCisgICAgICAgIGlu
dmFsaWRhdGVTdHlsZSgpOwogICAgIH0KIAogICAgIHNjaGVkdWxlUGxheWJhY2tDb250cm9sc01h
bmFnZXJVcGRhdGUoKTsKIH0KIAordm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRWb2x1bWVMb2Nr
ZWQoYm9vbCBsb2NrZWQpCit7CisgICAgaWYgKG1fdm9sdW1lTG9ja2VkID09IGxvY2tlZCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV92b2x1bWVMb2NrZWQgPSBsb2NrZWQ7CisgICAgaW52YWxp
ZGF0ZVN0eWxlKCk7Cit9CisKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6YnVmZmVyaW5nKCkgY29u
c3QKK3sKKyAgICAvLyBDU1MgU2VsZWN0b3JzIExldmVsIDQ7IEVkaXRvcidzIERyYWZ0LCAyIEp1
bHkgMjAyMQorICAgIC8vIDxodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvc2VsZWN0b3JzLz4KKyAg
ICAvLyAxMS4yLiBNZWRpYSBMb2FkaW5nIFN0YXRlOiB0aGUgOmJ1ZmZlcmluZyBhbmQgOnN0YWxs
ZWQgcHNldWRvLWNsYXNzZXMKKyAgICAvLworICAgIC8vIFRoZSA6YnVmZmVyaW5nIHBzZXVkby1j
bGFzcyByZXByZXNlbnRzIGFuIGVsZW1lbnQgdGhhdCBpcyBjYXBhYmxlIG9mIGJlaW5nIOKAnHBs
YXllZOKAnSBvciDigJxwYXVzZWTigJ0sCisgICAgLy8gd2hlbiB0aGF0IGVsZW1lbnQgY2Fubm90
IGNvbnRpbnVlIHBsYXlpbmcgYmVjYXVzZSBpdCBpcyBhY3RpdmVseSBhdHRlbXB0aW5nIHRvIG9i
dGFpbiBtZWRpYSBkYXRhCisgICAgLy8gYnV0IGhhcyBub3QgeWV0IG9idGFpbmVkIGVub3VnaCBk
YXRhIHRvIHJlc3VtZSBwbGF5YmFjay4gKE5vdGUgdGhhdCB0aGUgZWxlbWVudCBpcyBzdGlsbCBj
b25zaWRlcmVkCisgICAgLy8gdG8gYmUg4oCccGxheWluZ+KAnSB3aGVuIGl0IGlzIOKAnGJ1ZmZl
cmluZ+KAnS4gV2hlbmV2ZXIgOmJ1ZmZlcmluZyBtYXRjaGVzIGFuIGVsZW1lbnQsIDpwbGF5aW5n
IGFsc28KKyAgICAvLyBtYXRjaGVzIHRoZSBlbGVtZW50LikKKyAgICByZXR1cm4gIXBhdXNlZCgp
ICYmIG1fbmV0d29ya1N0YXRlID09IE5FVFdPUktfTE9BRElORyAmJiBtX3JlYWR5U3RhdGUgPD0g
SEFWRV9DVVJSRU5UX0RBVEE7Cit9CisKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6c3RhbGxlZCgp
IGNvbnN0Cit7CisgICAgLy8gQ1NTIFNlbGVjdG9ycyBMZXZlbCA0OyBFZGl0b3IncyBEcmFmdCwg
MiBKdWx5IDIwMjEKKyAgICAvLyA8aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3NlbGVjdG9ycy8+
CisgICAgLy8gMTEuMi4gTWVkaWEgTG9hZGluZyBTdGF0ZTogdGhlIDpidWZmZXJpbmcgYW5kIDpz
dGFsbGVkIHBzZXVkby1jbGFzc2VzCisgICAgLy8KKyAgICAvLyBUaGUgOnN0YWxsZWQgcHNldWRv
LWNsYXNzIHJlcHJlc2VudHMgYW4gZWxlbWVudCB3aGVuIHRoYXQgZWxlbWVudCBjYW5ub3QgY29u
dGludWUgcGxheWluZyBiZWNhdXNlCisgICAgLy8gaXQgaXMgYWN0aXZlbHkgYXR0ZW1wdGluZyB0
byBvYnRhaW4gbWVkaWEgZGF0YSBidXQgaXQgaGFzIGZhaWxlZCB0byByZWNlaXZlIGFueSBkYXRh
IGZvciBzb21lCisgICAgLy8gYW1vdW50IG9mIHRpbWUuIEZvciB0aGUgYXVkaW8gYW5kIHZpZGVv
IGVsZW1lbnRzIG9mIEhUTUwsIHRoaXMgYW1vdW50IG9mIHRpbWUgaXMgdGhlIG1lZGlhIGVsZW1l
bnQKKyAgICAvLyBzdGFsbCB0aW1lb3V0LiBbSFRNTF0gKE5vdGUgdGhhdCwgbGlrZSB3aXRoIHRo
ZSA6YnVmZmVyaW5nIHBzZXVkby1jbGFzcywgdGhlIGVsZW1lbnQgaXMgc3RpbGwKKyAgICAvLyBj
b25zaWRlcmVkIHRvIGJlIOKAnHBsYXlpbmfigJ0gd2hlbiBpdCBpcyDigJxzdGFsbGVk4oCdLiBX
aGVuZXZlciA6c3RhbGxlZCBtYXRjaGVzIGFuIGVsZW1lbnQsIDpwbGF5aW5nCisgICAgLy8gYWxz
byBtYXRjaGVzIHRoZSBlbGVtZW50LikKKyAgICByZXR1cm4gIXBhdXNlZCgpICYmIG1fbmV0d29y
a1N0YXRlID09IE5FVFdPUktfTE9BRElORyAmJiBtX3JlYWR5U3RhdGUgPD0gSEFWRV9DVVJSRU5U
X0RBVEEgJiYgbV9zZW50U3RhbGxlZEV2ZW50OworfQorCiAjaWYgVVNFKEFVRElPX1NFU1NJT04p
ICYmIFBMQVRGT1JNKE1BQykKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6aGFyZHdhcmVNdXRlZFN0
YXRlRGlkQ2hhbmdlKGNvbnN0IEF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbikKIHsKQEAgLTQ4NDksNyAr
NDkxNiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJUaW1lQ2hhbmdlZCgp
CiAgICAgICAgICAgICAvLyBoYXMgc3RpbGwgZW5kZWQgcGxheWJhY2sgYW5kIHBhdXNlZCBpcyBm
YWxzZSwKICAgICAgICAgICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXIgJiYgIW1fcGF1c2VkKSB7
CiAgICAgICAgICAgICAgICAgLy8gY2hhbmdlcyBwYXVzZWQgdG8gdHJ1ZSBhbmQgZmlyZXMgYSBz
aW1wbGUgZXZlbnQgbmFtZWQgcGF1c2UgYXQgdGhlIG1lZGlhIGVsZW1lbnQuCi0gICAgICAgICAg
ICAgICAgbV9wYXVzZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHNldFBhdXNlZCh0cnVlKTsK
ICAgICAgICAgICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5wYXVzZUV2ZW50KTsK
ICAgICAgICAgICAgICAgICBtZWRpYVNlc3Npb24oKS5jbGllbnRXaWxsUGF1c2VQbGF5YmFjaygp
OwogICAgICAgICAgICAgfQpAQCAtNDg4Myw3ICs0OTUwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjptZWRpYVBsYXllclRpbWVDaGFuZ2VkKCkKICAgICAgICAgICAgICAgICBzY2hlZHVsZUV2
ZW50KGV2ZW50TmFtZXMoKS5lbmRlZEV2ZW50KTsKICAgICAgICAgICAgICAgICBpZiAoIXdhc1Nl
ZWtpbmcpCiAgICAgICAgICAgICAgICAgICAgIGFkZEJlaGF2aW9yUmVzdHJpY3Rpb25zT25FbmRJ
Zk5lY2Vzc2FyeSgpOwotICAgICAgICAgICAgICAgIG1fcGF1c2VkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICBzZXRQYXVzZWQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgc2V0UGxheWluZyhmYWxz
ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAppbmRleCAxMTc2ZTY3NGY2ZjI1OWIxYTI5ZTU4MWVkY2U1YThlODZkNzIw
ZmNmLi5hYTZjMGY3MmMxYmUwZjMzNDNkODRkMmE2NzY2NzQ0ZGNlMTBlMWJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMjM1LDYgKzIzNSw3IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCBkb3VibGUgZ2V0U3RhcnREYXRlKCkgY29uc3Q7CiAgICAgV0VC
Q09SRV9FWFBPUlQgZG91YmxlIGR1cmF0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCBwYXVzZWQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIHNldFBhdXNl
ZChib29sKTsKICAgICBkb3VibGUgZGVmYXVsdFBsYXliYWNrUmF0ZSgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0RGVmYXVsdFBsYXliYWNrUmF0ZShkb3VibGUpIG92ZXJyaWRlOwogICAg
IFdFQkNPUkVfRVhQT1JUIGRvdWJsZSBwbGF5YmFja1JhdGUoKSBjb25zdCBvdmVycmlkZTsKQEAg
LTMxOCw2ICszMTksMTEgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgbXV0ZWQo
KSBjb25zdCBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE11dGVkKGJvb2wp
IG92ZXJyaWRlOwogCisgICAgYm9vbCB2b2x1bWVMb2NrZWQoKSBjb25zdCB7IHJldHVybiBtX3Zv
bHVtZUxvY2tlZDsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Vm9sdW1lTG9ja2VkKGJv
b2wpOworICAgIGJvb2wgYnVmZmVyaW5nKCkgY29uc3Q7CisgICAgYm9vbCBzdGFsbGVkKCkgY29u
c3Q7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHRvZ2dsZVBsYXlTdGF0ZSgpOwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgYmVnaW5TY3J1YmJpbmcoKSBvdmVycmlkZTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGVuZFNjcnViYmluZygpIG92ZXJyaWRlOwpAQCAtMTEwOCw2ICsxMTE0LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fcHJvY2Vzc2luZ1ByZWZlcmVuY2VDaGFuZ2UgOiAxOwog
ICAgIGJvb2wgbV9zaG91bGRBdWRpb1BsYXliYWNrUmVxdWlyZVVzZXJHZXN0dXJlIDogMTsKICAg
ICBib29sIG1fc2hvdWxkVmlkZW9QbGF5YmFja1JlcXVpcmVVc2VyR2VzdHVyZSA6IDE7CisgICAg
Ym9vbCBtX3ZvbHVtZUxvY2tlZCA6IDE7CiAKICAgICBBdXRvcGxheUV2ZW50UGxheWJhY2tTdGF0
ZSBtX2F1dG9wbGF5RXZlbnRQbGF5YmFja1N0YXRlIHsgQXV0b3BsYXlFdmVudFBsYXliYWNrU3Rh
dGU6Ok5vbmUgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDM2MTI0
YzhjMTEwNjZmYTUyNzIzMDU5Yjc1NTY5MGE3ZDk2ZDdmOTAuLjQxZTQ1Mzg3YzBlNmVhZTc0NTU4
MmVmY2NkNTg0Y2RkMDdjMTI5NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
QEAgLTQ1NjEsNiArNDU2MSwxMSBAQCBzaXplX3QgSW50ZXJuYWxzOjptZWRpYUVsZW1lbnRDb3Vu
dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEhUTUxNZWRpYUVsZW1lbnQ6OmFsbE1lZGlhRWxlbWVu
dHMoKS5zaXplKCk7CiB9CisKK3ZvaWQgSW50ZXJuYWxzOjpzZXRNZWRpYUVsZW1lbnRWb2x1bWVM
b2NrZWQoSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCwgYm9vbCB2b2x1bWVMb2NrZWQpCit7Cisg
ICAgZWxlbWVudC5zZXRWb2x1bWVMb2NrZWQodm9sdW1lTG9ja2VkKTsKK30KICNlbmRpZgogCiAj
aWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCmluZGV4IGVlOTQyZDc4ZWQyODZjN2I2ZGRlZTJhZGVjNjIyZTI5NDIxNzc5YWUuLjI4
NTU2MGJlZDExMWQ3Y2I1ZDU3Y2UxNDVjMjg5ZTE3NzZlMThjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaApAQCAtOTgxLDYgKzk4MSw4IEBAIHB1YmxpYzoKICAgICBNZWRpYVNlc3Np
b25TdGF0ZSBtZWRpYVNlc3Npb25TdGF0ZShIVE1MTWVkaWFFbGVtZW50Jik7CiAKICAgICBzaXpl
X3QgbWVkaWFFbGVtZW50Q291bnQoKSBjb25zdDsKKworICAgIHZvaWQgc2V0TWVkaWFFbGVtZW50
Vm9sdW1lTG9ja2VkKEhUTUxNZWRpYUVsZW1lbnQmLCBib29sKTsKICNlbmRpZgogCiAgICAgdm9p
ZCBzZXRDYXB0dXJlRXh0cmFOZXR3b3JrTG9hZE1ldHJpY3NFbmFibGVkKGJvb2wpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGE0MWQ5MTQ3NzBhOTlkMzNjNjZhOTNjMTcx
NGY5YTU2ODQ0ZDJjOGUuLjQzODU0MTFlOGRmZTdjNWUwYzg3OTExNDYyYjBhMzk1ZGE0ZDY3MWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTk1Nyw2ICs5NTcsNyBAQCBl
bnVtIEF1dG9wbGF5UG9saWN5IHsKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIE1lZGlhVXNhZ2VT
dGF0ZSBtZWRpYVVzYWdlU3RhdGUoSFRNTE1lZGlhRWxlbWVudCBlbGVtZW50KTsKICAgICBbQ29u
ZGl0aW9uYWw9VklERU9dIGJvb2xlYW4gZWxlbWVudFNob3VsZERpc3BsYXlQb3N0ZXJJbWFnZShI
VE1MVmlkZW9FbGVtZW50IGVsZW1lbnQpOwogICAgIFtDb25kaXRpb25hbD1WSURFT10gcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbWVkaWFFbGVtZW50Q291bnQ7CisgICAgW0NvbmRp
dGlvbmFsPVZJREVPXSB1bmRlZmluZWQgc2V0TWVkaWFFbGVtZW50Vm9sdW1lTG9ja2VkKEhUTUxN
ZWRpYUVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiB2b2x1bWVMb2NrZWQpOwogCiAgICAgRE9NU3Ry
aW5nIG9uZ29pbmdMb2Fkc0Rlc2NyaXB0aW9ucygpOwogICAgIHVuZGVmaW5lZCBzZXRDYXB0dXJl
RXh0cmFOZXR3b3JrTG9hZE1ldHJpY3NFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGEw
MDY1ODIzMzJjNmYwMjY5MDkwZGQ0OGE3NzQ1ZGIxYjcxZjhjMzMuLjE3NDU4NjY3NWE1ZTZiMmYw
NTc0MmQwNjJiYTU0NTUyYTc1MmQ5NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wOC0y
MyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgbmV3IHBzZXVkby1zZWxlY3RvcnMgZm9yIG1lZGlhIGZyb20gQ1NTIFNlbGVjdG9ycyBM
ZXZlbCA0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI5NDMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBtZWRpYS9tZWRpYS1jc3MtbXV0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBt
ZWRpYS9tZWRpYS1jc3MtbXV0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbWVkaWEt
Y3NzLXBsYXlpbmctcGF1c2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEv
bWVkaWEtY3NzLXBsYXlpbmctcGF1c2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21l
ZGlhLWNzcy12b2x1bWUtbG9ja2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVk
aWEvbWVkaWEtY3NzLXZvbHVtZS1sb2NrZWQuaHRtbDogQWRkZWQuCisKIDIwMjEtMDgtMDUgIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogaHR0
cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC5odG1sIGlzIGEgZmxha3kgdGltZW91dCBvbiBC
aWcgU3VyIHdrMSBSZWxlYXNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1j
c3MtbXV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLW11dGVk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTVmY2RmNDViYmFmZmU0ZDhlNDQ0OGE0NWZmODQ1
NjhkZmMzMzBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3Nz
LW11dGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1JVTih2aWRlby5zcmMgPSBm
aW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKK0VWRU5UKGNhbnBsYXkpCitF
WFBFQ1RFRCAodmlkZW8ubXV0ZWQgPT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJ2aWRlbzptdXRlZCIpID09ICdudWxsJykgT0sKK0VYUEVDVEVEIChkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOm11dGVkKSIpID09ICdbb2JqZWN0IEhUTUxW
aWRlb0VsZW1lbnRdJykgT0sKK1JVTih2aWRlby5tdXRlZCA9IHRydWUpCitFWFBFQ1RFRCAoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bXV0ZWQiKSA9PSAnW29iamVjdCBIVE1MVmlkZW9F
bGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90
KDptdXRlZCkiKSA9PSAnbnVsbCcpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtbXV0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21l
ZGlhLWNzcy1tdXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzNmExMzg3MjY1YTk1ZTZlYjU4OTlmZjE0
OGQ4MDEwYzkwOTY3N2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1jc3MtbXV0ZWQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IWRvY3R5cGUgSFRNTD4KKzxodG1s
PgorPGhlYWQ+CisgICAgPHRpdGxlPm1lZGlhLWNzcy1tdXRlZDwvdGl0bGU+CisgICAgPHNjcmlw
dCBzcmM9InZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJtZWRpYS1m
aWxlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgYXN5bmMgZXZlbnQgPT4geworICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7
CisgICAgICAgIHJ1bigndmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVu
dC90ZXN0IiknKTsKKyAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ2NhbnBsYXknKTsKKyAg
ICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby5tdXRlZCcsIGZhbHNlKTsKKyAgICAgICAgdGVzdEV4
cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzptdXRlZCIpJywgbnVsbCk7Cisg
ICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDpt
dXRlZCkiKScsIHZpZGVvKTsKKyAgICAgICAgcnVuKCd2aWRlby5tdXRlZCA9IHRydWUnKTsKKyAg
ICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzptdXRlZCIp
JywgdmlkZW8pOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
InZpZGVvOm5vdCg6bXV0ZWQpIiknLCBudWxsKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0p
OworICAgIDwvc2NyaXB0PgorPGhlYWQ+Cis8Ym9keT4KKyAgICA8dmlkZW8+PC92aWRlbz4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1w
bGF5aW5nLXBhdXNlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3Mt
cGxheWluZy1wYXVzZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwYjZlMTA2MThkYWZiNzk3
ODZkZjRiZWVlZDY1N2NiZDkyNDFjYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tZWRpYS1jc3MtcGxheWluZy1wYXVzZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYg
QEAKKworUlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVz
dCIpKQorRVZFTlQoY2FucGxheSkKK0VYUEVDVEVEICh2aWRlby5wYXVzZWQgPT0gJ3RydWUnKSBP
SworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOnBsYXlpbmciKSA9PSAn
bnVsbCcpIE9LCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDpw
bGF5aW5nKSIpID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpwYXVzZWQiKSA9PSAnW29iamVjdCBIVE1MVmlk
ZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86
bm90KDpwYXVzZWQpIikgPT0gJ251bGwnKSBPSworUlVOKHZpZGVvLnBsYXkoKSkKK0VWRU5UKHBs
YXlpbmcpCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86cGxheWluZyIp
ID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBsYXlpbmcpIikgPT0gJ251bGwnKSBPSworRVhQRUNU
RUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOnBhdXNlZCIpID09ICdudWxsJykgT0sK
K0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBhdXNlZCkiKSA9
PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtcGxheWluZy1wYXVzZWQuaHRtbCBiL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1wbGF5aW5nLXBhdXNlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFhZTk4YmM3MzJkZTk3OGY3ZTI2MGY2YzljMmE4YWUwYzNlYTMyNzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtcGxheWluZy1wYXVzZWQuaHRtbApAQCAt
MCwwICsxLDMwIEBACis8IWRvY3R5cGUgSFRNTD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxl
Pm1lZGlhLWNzcy1wbGF5aW5nLXBhdXNlZDwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9InZpZGVv
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJtZWRpYS1maWxlLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
YXN5bmMgZXZlbnQgPT4geworICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisgICAgICAgIHJ1
bigndmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IiknKTsK
KyAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ2NhbnBsYXknKTsKKyAgICAgICAgdGVzdEV4
cGVjdGVkKCd2aWRlby5wYXVzZWQnLCB0cnVlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpwbGF5aW5nIiknLCBudWxsKTsKKyAgICAgICAgdGVz
dEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBsYXlpbmcpIikn
LCB2aWRlbyk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigi
dmlkZW86cGF1c2VkIiknLCB2aWRlbyk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigidmlkZW86bm90KDpwYXVzZWQpIiknLCBudWxsKTsKKyAgICAgICAgcnVu
KCd2aWRlby5wbGF5KCknKTsKKyAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ3BsYXlpbmcn
KTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpw
bGF5aW5nIiknLCB2aWRlbyk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigidmlkZW86bm90KDpwbGF5aW5nKSIpJywgbnVsbCk7CisgICAgICAgIHRlc3RFeHBl
Y3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86cGF1c2VkIiknLCBudWxsKTsKKyAg
ICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBh
dXNlZCkiKScsIHZpZGVvKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0pOworICAgIDwvc2Ny
aXB0PgorPGhlYWQ+Cis8Ym9keT4KKyAgICA8dmlkZW8gbG9vcD48L3ZpZGVvPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1s
b2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1s
b2NrZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzZWI1OGQ0YWE0YmJhZmIyY2U3ZjQxMjUz
NmVlNjJiZTg0ZTE4OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1jc3Mtdm9sdW1lLWxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitSVU4o
dmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IikpCitFVkVO
VChjYW5wbGF5KQorUlVOKGludGVybmFscy5zZXRNZWRpYUVsZW1lbnRWb2x1bWVMb2NrZWQodmlk
ZW8sIGZhbHNlKSkKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzp2b2x1
bWUtbG9ja2VkIikgPT0gJ251bGwnKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoInZpZGVvOm5vdCg6dm9sdW1lLWxvY2tlZCkiKSA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVt
ZW50XScpIE9LCitSVU4oaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZCh2aWRl
bywgdHJ1ZSkpCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86dm9sdW1l
LWxvY2tlZCIpID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnZvbHVtZS1sb2NrZWQpIikgPT0gJ251
bGwnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtY3NzLXZvbHVtZS1sb2NrZWQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy12
b2x1bWUtbG9ja2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGEyNWRjMzRkZjFkYjFlMjY0MjRjYjAxZGJl
N2ViN2VlYzIyZTY3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWNzcy12b2x1bWUtbG9ja2VkLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFkb2N0eXBlIEhUTUw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5tZWRpYS1jc3MtbXV0ZWQ8L3RpdGxlPgorICAg
IDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
bWVkaWEtZmlsZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGFzeW5jIGV2ZW50ID0+IHsKKyAgICAgICAgZmluZE1lZGlhRWxl
bWVudCgpOworICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwg
ImNvbnRlbnQvdGVzdCIpJyk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IodmlkZW8sICdjYW5wbGF5
Jyk7CisgICAgICAgIHJ1bignaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZCh2
aWRlbywgZmFsc2UpJyk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigidmlkZW86dm9sdW1lLWxvY2tlZCIpJywgbnVsbCk7CisgICAgICAgIHRlc3RFeHBlY3Rl
ZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDp2b2x1bWUtbG9ja2VkKSIpJywg
dmlkZW8pOworICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRWb2x1bWVMb2Nr
ZWQodmlkZW8sIHRydWUpJyk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigidmlkZW86dm9sdW1lLWxvY2tlZCIpJywgdmlkZW8pOworICAgICAgICB0ZXN0RXhw
ZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOm5vdCg6dm9sdW1lLWxvY2tlZCki
KScsIG51bGwpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSk7CisgICAgPC9zY3JpcHQ+Cis8
aGVhZD4KKzxib2R5PgorICAgIDx2aWRlbz48L3ZpZGVvPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="459240"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436252</attachid>
            <date>2021-08-23 17:07:22 -0700</date>
            <delta_ts>2021-08-23 17:25:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-229431-20210823170721.patch</filename>
            <type>text/plain</type>
            <size>32860</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2VkY2FmNjhjMGFhZWU0
ZmU5N2Y3MzUwZDZmYzQzYjAzNDI3ZjlhYy4uMGEwN2QxMjRiZmQyNWQ0ODljN2Y4OTIyNmFkZDFk
OTE5NDk0NzcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA4LTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBu
ZXcgcHNldWRvLWNsYXNzZXMgZm9yIG1lZGlhIGZyb20gQ1NTIFNlbGVjdG9ycyBMZXZlbCA0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDMxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFRlc3RzOiBtZWRp
YS9tZWRpYS1jc3MtbXV0ZWQuaHRtbAorICAgICAgICAgICAgICAgbWVkaWEvbWVkaWEtY3NzLXBs
YXlpbmctcGF1c2VkLmh0bWwKKyAgICAgICAgICAgICAgIG1lZGlhL21lZGlhLWNzcy12b2x1bWUt
bG9ja2VkLmh0bWwKKyAgICAgICAgICAgICAgIChUZXN0cyBmb3IgYnVmZmVyaW5nIGFuZCBzdGFs
bGVkIHN0YXRlcyBhcmUgZm9ydGhjb21pbmcsIHdhaXRpbmcgb24KKyAgICAgICAgICAgICAgIGEg
bm9uLWZsYWtleSBtZWNoYW5pc20gZm9yIGluZHVjaW5nIG5ldHdvcmsgc3RhbGxzKQorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciB0aGUgZm9sbG93aW5nIG5ldyBwc2V1ZG8tY2xhc3NlcyBmcm9t
IENTUyBTZWxlY3RvcnMgTGV2ZWwgNDoKKyAgICAgICAgLSA6cGxheWluZywgOnBhdXNlZCwgOnNl
ZWtpbmcKKyAgICAgICAgLSA6YnVmZmVyaW5nLCA6c3RhbGxlZAorICAgICAgICAtIDptdXRlZCwg
OnZvbHVtZS1sb2NrZWQKKworICAgICAgICBFbnN1cmUgQ1NTIHN0eWxlcyBhcmUgaW52YWxpZGF0
ZWQgd2hlbiBwbGF5YmFjayBzdGF0ZSBjaGFuZ2VzIGJ5IGVuY2Fwc3VsYXRpbmcKKyAgICAgICAg
bW9kaWZpY2F0aW9ucyB0byBIVE1MTWVkaWFFbGVtZW50OjptX3BhdXNlZCBpbnRvIGEgc2V0UGF1
c2VkKCkgZnVuY3Rpb24uCisKKyAgICAgICAgQWRkIG1ldGhvZHMgdG8gcXVlcnkgZm9yIHZvbHVt
ZUxvY2tlZCgpIG9uIEhUTUxNZWRpYUVsZW1lbnQsIGFzIHdlbGwgYXMgYSB3YXkKKyAgICAgICAg
dG8gb3ZlcnJpZGUgdGhlIHZhbHVlIHRocm91Z2ggSW50ZXJuYWxzLgorCisgICAgICAgIEludmFs
aWRhdGUgc3R5bGVzIHdoZW4gdGhlICJtdXRlZCIgYXR0cmlidXRlIGNoYW5nZXMgc3RhdGUuCisK
KyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2Vs
ZWN0b3I6OnNlbGVjdG9yVGV4dCBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6
CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lIGNvbnN0KToKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JD
aGVja2VyVGVzdEZ1bmN0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6bWF0Y2hlc1BsYXlpbmdQ
c2V1ZG9DbGFzcyk6CisgICAgICAgIChXZWJDb3JlOjptYXRjaGVzUGF1c2VkUHNldWRvQ2xhc3Mp
OgorICAgICAgICAoV2ViQ29yZTo6bWF0Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcyk6CisgICAgICAg
IChXZWJDb3JlOjptYXRjaGVzQnVmZmVyaW5nUHNldWRvQ2xhc3MpOgorICAgICAgICAoV2ViQ29y
ZTo6bWF0Y2hlc1N0YWxsZWRQc2V1ZG9DbGFzcyk6CisgICAgICAgIChXZWJDb3JlOjptYXRjaGVz
TXV0ZWRQc2V1ZG9DbGFzcyk6CisgICAgICAgIChXZWJDb3JlOjptYXRjaGVzVm9sdW1lTG9ja2Vk
UHNldWRvQ2xhc3MpOgorICAgICAgICAqIGNzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0
aWJpbGl0eUVsZW1lbnRNYXAuaW46CisgICAgICAgICogY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6SlNDX0RFRklORV9KSVRf
T1BFUkFUSU9OKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmFkZFBzZXVk
b0NsYXNzVHlwZSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmRlZmF1bHRWb2x1bWVMb2NrZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpwcmVwYXJlRm9yTG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjpzZXROZXR3b3JrU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6c2V0UmVhZHlTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpzZXRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUlu
dGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0TXV0ZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0Vm9sdW1lTG9ja2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJ1ZmZlcmluZyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzdGFsbGVkIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyVGltZUNoYW5nZWQpOgorICAgICAg
ICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6dm9sdW1lTG9ja2VkIGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNldE1lZGlhRWxlbWVudFZvbHVt
ZUxvY2tlZCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjEtMDgtMjMgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgRml4IGluY2x1ZGUgZ3VhcmRzIGluIFBsYXRmb3JtU2NyZWVu
TWFjLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBhMjJiMGZmZmExYzQxYmNi
ZWE3MzUxZDQ3MWQwMzNlZTgyM2IyMGI3Li40MGU5OGY1ZDYzNDJiMTc3NWM1ZTFhYzlkNWIxYjBh
ZTMyYWUwMzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTUwNyw2ICs1MDcs
MjcgQEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiByaWdo
dFNpZGUpIGNvbnN0CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0Z1
dHVyZToKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiOmZ1dHVyZSIpOwogICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xh
c3NQbGF5aW5nOgorICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6cGxheWluZyIpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NQYXVzZWQ6CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIjpwYXVzZWQi
KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzU2Vla2luZzoKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiOnNl
ZWtpbmciKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzQnVmZmVyaW5nOgorICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCI6YnVmZmVyaW5nIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1N0YWxsZWQ6CisgICAgICAgICAgICAgICAgYnVp
bGRlci5hcHBlbmQoIjpzdGFsbGVkIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc011dGVkOgorICAgICAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kKCI6bXV0ZWQiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVm9sdW1lTG9ja2VkOgorICAgICAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6dm9sdW1lLWxvY2tlZCIpOworICAgICAgICAgICAg
ICAgIGJyZWFrOwogI2VuZGlmCiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9D
bGFzc0hhczoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiOmhhcygiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmgKaW5kZXggNTUzMTk0NzI4ZGUzNzhkZmRmZGIzNDVlMWUwNDFmNTA4
ZjA0ZmExOS4uNzQ1ZjFjNzg4YWRiN2IwYjQ3YmIxZWEzNWU0M2U4NjNjNjkxY2M3ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTE2Niw2ICsxNjYsMTMgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogI2lmIEVOQUJMRShWSURFTykKICAgICAgICAgICAgIFBzZXVkb0NsYXNzRnV0dXJlLAog
ICAgICAgICAgICAgUHNldWRvQ2xhc3NQYXN0LAorICAgICAgICAgICAgUHNldWRvQ2xhc3NQbGF5
aW5nLAorICAgICAgICAgICAgUHNldWRvQ2xhc3NQYXVzZWQsCisgICAgICAgICAgICBQc2V1ZG9D
bGFzc1NlZWtpbmcsCisgICAgICAgICAgICBQc2V1ZG9DbGFzc0J1ZmZlcmluZywKKyAgICAgICAg
ICAgIFBzZXVkb0NsYXNzU3RhbGxlZCwKKyAgICAgICAgICAgIFBzZXVkb0NsYXNzTXV0ZWQsCisg
ICAgICAgICAgICBQc2V1ZG9DbGFzc1ZvbHVtZUxvY2tlZCwKICNlbmRpZgogI2lmIEVOQUJMRShD
U1NfU0VMRUNUT1JTX0xFVkVMNCkKICAgICAgICAgICAgIFBzZXVkb0NsYXNzRGlyLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCBlNTU2MThlYjVmMjAyOTQxNzJhNTE1
NTBkYzBlYTlkNDEyNDY0NTQxLi5iMDgyZmJmNDQ5NWM4ODc2Y2Y2MTBmN2E3NjEzZGViNzcyYjRj
NzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtMTA2Myw2ICsx
MDYzLDIwIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShDaGVja2luZ0NvbnRleHQm
IGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250CiAgICAgICAgICAgICByZXR1cm4gbWF0
Y2hlc0Z1dHVyZUN1ZVBzZXVkb0NsYXNzKGVsZW1lbnQpOwogICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc1Bhc3Q6CiAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1Bhc3RDdWVQ
c2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xh
c3NQbGF5aW5nOgorICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNQbGF5aW5nUHNldWRvQ2xhc3Mo
ZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzUGF1c2VkOgor
ICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAg
ICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NTZWVraW5nOgorICAgICAgICAgICAg
cmV0dXJuIG1hdGNoZXNTZWVraW5nUHNldWRvQ2xhc3MoZWxlbWVudCk7CisgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQnVmZmVyaW5nOgorICAgICAgICAgICAgcmV0dXJuIG1h
dGNoZXNCdWZmZXJpbmdQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NTdGFsbGVkOgorICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNTdGFs
bGVkUHNldWRvQ2xhc3MoZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzTXV0ZWQ6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc011dGVkUHNldWRvQ2xhc3Mo
ZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVm9sdW1lTG9j
a2VkOgorICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNWb2x1bWVMb2NrZWRQc2V1ZG9DbGFzcyhl
bGVtZW50KTsKICNlbmRpZgogCiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
U2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVz
dEZ1bmN0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5j
dGlvbnMuaAppbmRleCBkNDQ1ZDRiM2FmY2I1YjY5OTU1ZDAzYWE2Y2IzMjE5NWZmMjljMjhjLi45
YzdkMTQ3NmY4M2Y2MmRjZmY1YTA4NDFiYzg3NjhmOTRmZWI5OGVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKQEAgLTQ3LDYgKzQ3
LDcgQEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVPKQorI2luY2x1ZGUgIkhUTUxNZWRpYUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJXZWJWVFRFbGVtZW50LmgiCiAjZW5kaWYKIApAQCAtNDQyLDYg
KzQ0Myw0MCBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1Bhc3RDdWVQc2V1ZG9DbGFzcyhj
b25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIHJldHVybiBpczxXZWJWVFRFbGVtZW50PihlbGVt
ZW50KSAmJiBkb3duY2FzdDxXZWJWVFRFbGVtZW50PihlbGVtZW50KS5pc1Bhc3ROb2RlKCk7CiB9
CiAKK0FMV0FZU19JTkxJTkUgYm9vbCBtYXRjaGVzUGxheWluZ1BzZXVkb0NsYXNzKGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1l
bnQpICYmICFkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5wYXVzZWQoKTsKK30K
KworQUxXQVlTX0lOTElORSBib29sIG1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50
KSAmJiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5wYXVzZWQoKTsKK30KKwor
QUxXQVlTX0lOTElORSBib29sIG1hdGNoZXNTZWVraW5nUHNldWRvQ2xhc3MoY29uc3QgRWxlbWVu
dCYgZWxlbWVudCkKK3sKKyAgICByZXR1cm4gaXM8SFRNTE1lZGlhRWxlbWVudD4oZWxlbWVudCkg
JiYgZG93bmNhc3Q8SFRNTE1lZGlhRWxlbWVudD4oZWxlbWVudCkuc2Vla2luZygpOworfQorCitB
TFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc0J1ZmZlcmluZ1BzZXVkb0NsYXNzKGNvbnN0IEVsZW1l
bnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQp
ICYmIGRvd25jYXN0PEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQpLmJ1ZmZlcmluZygpOworfQor
CitBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1N0YWxsZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50
KSAmJiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5zdGFsbGVkKCk7Cit9CisK
K0FMV0FZU19JTkxJTkUgYm9vbCBtYXRjaGVzTXV0ZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50
JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KSAm
JiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5tdXRlZCgpOworfQorCitBTFdB
WVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1ZvbHVtZUxvY2tlZFBzZXVkb0NsYXNzKGNvbnN0IEVsZW1l
bnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQp
ICYmIGRvd25jYXN0PEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQpLnZvbHVtZUxvY2tlZCgpOwor
fQogI2VuZGlmCiAKIEFMV0FZU19JTkxJTkUgYm9vbCBpc0ZyYW1lRm9jdXNlZChjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNl
dWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuaW4KaW5kZXgg
OTJhMmM1ZjQzYTJkOGE3ODI0MzBmZDdhOTc5Y2I3ODk4ODE0ZDYzNy4uM2RlOWJmNjAzYzgzNTQ1
OWVlMzg5NjBhYmE4YjhjYWZiNmQ5MjA1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVt
ZW50TWFwLmluCkBAIC05Myw1ICs5MywxMiBAQCBwaWN0dXJlLWluLXBpY3R1cmUKICNpZiBFTkFC
TEUoVklERU8pCiBmdXR1cmUKIHBhc3QKK3BsYXlpbmcKK3BhdXNlZAorc2Vla2luZworYnVmZmVy
aW5nCitzdGFsbGVkCittdXRlZAordm9sdW1lLWxvY2tlZAogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAppbmRleCBkOWEyYWY5N2JmYzk1ZjAyOWYy
N2E1ZWIwNmMyYjZjNmI0ZmRlNjYzLi45Nzk4MDQ2ZGU3YTExYzc3OGYwODY5MTVjMzJhNGM3NzM0
YjNmYWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBA
IC0xMTEsNiArMTExLDEzIEBAIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhP
VVRfV1RGX0lOVEVSTkFMKG9wZXJhdGlvbk1hdGNoZXNQaWN0dXJlSW5QCiAjaWYgRU5BQkxFKFZJ
REVPKQogc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZfSU5URVJO
QUwob3BlcmF0aW9uTWF0Y2hlc0Z1dHVyZUN1ZVBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxl
bWVudCYpKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lO
VEVSTkFMKG9wZXJhdGlvbk1hdGNoZXNQYXN0Q3VlUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZf
SU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1BsYXlpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0
IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dU
Rl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzUGF1c2VkUHNldWRvQ2xhc3MsIGJvb2wsIChjb25z
dCBFbGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9X
VEZfSU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNv
bnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VU
X1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzQnVmZmVyaW5nUHNldWRvQ2xhc3MsIGJvb2ws
IChjb25zdCBFbGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lU
SE9VVF9XVEZfSU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1N0YWxsZWRQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9X
SVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzTXV0ZWRQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9X
SVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9ja2VkUHNldWRvQ2xh
c3MsIGJvb2wsIChjb25zdCBFbGVtZW50JikpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEFUVEFDSE1F
TlRfRUxFTUVOVCkKIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RG
X0lOVEVSTkFMKG9wZXJhdGlvbkhhc0F0dGFjaG1lbnQsIGJvb2wsIChjb25zdCBFbGVtZW50Jikp
OwpAQCAtNzQxLDYgKzc0OCw0MSBAQCBKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9u
TWF0Y2hlc1Bhc3RDdWVQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0IEVsZW1lbgogewogICAgIHJl
dHVybiBtYXRjaGVzUGFzdEN1ZVBzZXVkb0NsYXNzKGVsZW1lbnQpOwogfQorCitKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWF0Y2hlc1BsYXlpbmdQc2V1ZG9DbGFzcywgYm9vbCwg
KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzUGxheWluZ1Bz
ZXVkb0NsYXNzKGVsZW1lbnQpOworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0
aW9uTWF0Y2hlc1BhdXNlZFBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkpCit7CisgICAgcmV0dXJuIG1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30K
KworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk1hdGNoZXNTZWVraW5nUHNldWRv
Q2xhc3MsIGJvb2wsIChjb25zdCBFbGVtZW50JiBlbGVtZW50KSkKK3sKKyAgICByZXR1cm4gbWF0
Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30KKworSlNDX0RFRklORV9KSVRfT1BF
UkFUSU9OKG9wZXJhdGlvbk1hdGNoZXNCdWZmZXJpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0
IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzQnVmZmVyaW5nUHNldWRv
Q2xhc3MoZWxlbWVudCk7Cit9CisKK0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25N
YXRjaGVzU3RhbGxlZFBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVudCYgZWxlbWVudCkp
Cit7CisgICAgcmV0dXJuIG1hdGNoZXNTdGFsbGVkUHNldWRvQ2xhc3MoZWxlbWVudCk7Cit9CisK
K0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25NYXRjaGVzTXV0ZWRQc2V1ZG9DbGFz
cywgYm9vbCwgKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVz
TXV0ZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30KKworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9O
KG9wZXJhdGlvbk1hdGNoZXNWb2x1bWVMb2NrZWRQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzVm9sdW1lTG9ja2VkUHNldWRv
Q2xhc3MoZWxlbWVudCk7Cit9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1F
TlQpCkBAIC04NjcsNiArOTA5LDI3IEBAIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBz
ZXVkb0NsYXNzVHlwZShjb25zdCBDU1NTZWxlY3RvciYgc2VsZWN0b3IsIFNlbGVjCiAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NQYXN0OgogICAgICAgICBmcmFnbWVudC51bm9wdGlt
aXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVuY3Rpb25QdHI8SlNDOjpPcGVyYXRpb25Q
dHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNQYXN0Q3VlUHNldWRvQ2xhc3MpKTsKICAgICAgICAgcmV0
dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzUGxheWluZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQ
c2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFn
PihvcGVyYXRpb25NYXRjaGVzUGxheWluZ1BzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBG
dW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzc1BhdXNlZDoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9D
bGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVy
YXRpb25NYXRjaGVzUGF1c2VkUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9u
VHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzU2Vla2luZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2Vz
LmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25N
YXRjaGVzU2Vla2luZ1BzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6
OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFz
c0J1ZmZlcmluZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFw
cGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRj
aGVzQnVmZmVyaW5nUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6
U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
U3RhbGxlZDoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVu
ZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVz
U3RhbGxlZFBzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBs
ZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc011dGVk
OgorICAgICAgICBmcmFnbWVudC51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6
RnVuY3Rpb25QdHI8SlNDOjpPcGVyYXRpb25QdHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNNdXRlZFBz
ZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9y
Q2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1ZvbHVtZUxvY2tlZDoK
KyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1
bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9j
a2VkUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2Vs
ZWN0b3JDaGVja2VyOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjc5MTlmYjQ1YjZl
YWQzMzhkY2JhNzFmMzViYjRlYmVhZWFlMGE2Mi4uMmVhNGVkNDcxZGZlNzk3MmUxYjQwZDYzNDg5
NmI1ZmYxMzgyYzZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC0zOTIsNiArMzkyLDE1IEBAIHN0YXRpYyBib29sIG1lZGlhU2Vzc2lvbk1heUJlQ29uZnVz
ZWRXaXRoTWFpbkNvbnRlbnQoY29uc3QgTWVkaWFFbGVtZW50U2Vzc2lvbkluCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGRlZmF1bHRWb2x1bWVMb2NrZWQoKQoreworI2lmIFBM
QVRGT1JNKElPUykKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCit9CisKIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBh
cnNlcikKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgQWN0aXZl
RE9NT2JqZWN0KGRvY3VtZW50KQpAQCAtNDM5LDYgKzQ0OCw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6
OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQm
IGRvY3VtCiAgICAgLCBtX3Byb2Nlc3NpbmdQcmVmZXJlbmNlQ2hhbmdlKGZhbHNlKQogICAgICwg
bV9zaG91bGRBdWRpb1BsYXliYWNrUmVxdWlyZVVzZXJHZXN0dXJlKGRvY3VtZW50LnRvcERvY3Vt
ZW50KCkuYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoKSAmJiAhcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlRm9yTWVkaWEoKSkKICAgICAsIG1fc2hvdWxkVmlkZW9QbGF5YmFja1JlcXVpcmVV
c2VyR2VzdHVyZShkb2N1bWVudC50b3BEb2N1bWVudCgpLnZpZGVvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKCkgJiYgIXByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpCisgICAgLCBt
X3ZvbHVtZUxvY2tlZChkZWZhdWx0Vm9sdW1lTG9ja2VkKCkpCiAjaWYgRU5BQkxFKFdJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkKICAgICAsIG1fcmVtb3RlKFJlbW90ZVBsYXliYWNrOjpjcmVhdGUo
KnRoaXMpKQogI2VuZGlmCkBAIC03NTAsNiArNzYwLDEwIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0
cmluCiAgICAgfQogICAgIGVsc2UKICAgICAgICAgSFRNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KG5hbWUsIHZhbHVlKTsKKworICAgIC8vIENoYW5naW5nIHRoZSAibXV0ZWQiIGF0dHJpYnVlIGNv
dWxkIGFmZmVjdCAiOm11dGVkIgorICAgIGlmIChuYW1lID09IG11dGVkQXR0cikKKyAgICAgICAg
aW52YWxpZGF0ZVN0eWxlKCk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZmluaXNoUGFy
c2luZ0NoaWxkcmVuKCkKQEAgLTExNzcsNyArMTE5MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cHJlcGFyZUZvckxvYWQoKQogICAgICAgICBtX3JlYWR5U3RhdGVNYXhpbXVtID0gSEFWRV9O
T1RISU5HOwogCiAgICAgICAgIC8vIDYuNiAtIElmIHRoZSBwYXVzZWQgYXR0cmlidXRlIGlzIGZh
bHNlLCB0aGVuIHNldCBpdCB0byB0cnVlLgotICAgICAgICBtX3BhdXNlZCA9IHRydWU7CisgICAg
ICAgIHNldFBhdXNlZCh0cnVlKTsKIAogICAgICAgICAvLyA2LjcgLSBJZiBzZWVraW5nIGlzIHRy
dWUsIHNldCBpdCB0byBmYWxzZS4KICAgICAgICAgY2xlYXJTZWVraW5nKCk7CkBAIC0yMjQzLDYg
KzIyNTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE5ldHdvcmtTdGF0ZShNZWRpYVBs
YXllcjo6TmV0d29ya1N0YXRlIHN0YXRlKQogICAgIGlmIChzdGF0ZSA9PSBNZWRpYVBsYXllcjo6
TmV0d29ya1N0YXRlOjpFbXB0eSkgewogICAgICAgICAvLyBKdXN0IHVwZGF0ZSB0aGUgY2FjaGVk
IHN0YXRlIGFuZCBsZWF2ZSwgd2UgY2FuJ3QgZG8gYW55dGhpbmcuCiAgICAgICAgIG1fbmV0d29y
a1N0YXRlID0gTkVUV09SS19FTVBUWTsKKyAgICAgICAgaW52YWxpZGF0ZVN0eWxlKCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIyNzEsNiArMjI4Niw4IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6c2V0TmV0d29ya1N0YXRlKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgc3RhdGUp
CiAgICAgICAgICAgICBjaGFuZ2VOZXR3b3JrU3RhdGVGcm9tTG9hZGluZ1RvSWRsZSgpOwogICAg
ICAgICBtX2NvbXBsZXRlbHlMb2FkZWQgPSB0cnVlOwogICAgIH0KKworICAgIGludmFsaWRhdGVT
dHlsZSgpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNoYW5nZU5ldHdvcmtTdGF0ZUZy
b21Mb2FkaW5nVG9JZGxlKCkKQEAgLTI0ODksNyArMjUwNiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICAg
ICAgICAgIC8vIE5vdGlmeSBhYm91dCBwbGF5aW5nIGZvciB0aGUgZWxlbWVudC4KICAgICAgICAg
ICAgIGF1dG8gY2FuVHJhbnNpdGlvbiA9IGNhblRyYW5zaXRpb25Gcm9tQXV0b3BsYXlUb1BsYXko
KTsKICAgICAgICAgICAgIGlmIChjYW5UcmFuc2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbV9w
YXVzZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBzZXRQYXVzZWQoZmFsc2UpOwogICAgICAg
ICAgICAgICAgIHNldFNob3dQb3N0ZXJGbGFnKGZhbHNlKTsKICAgICAgICAgICAgICAgICBpbnZh
bGlkYXRlQ2FjaGVkVGltZSgpOwogICAgICAgICAgICAgICAgIHNldEF1dG9wbGF5RXZlbnRQbGF5
YmFja1N0YXRlKEF1dG9wbGF5RXZlbnRQbGF5YmFja1N0YXRlOjpTdGFydGVkV2l0aG91dFVzZXJH
ZXN0dXJlKTsKQEAgLTI1MTcsNiArMjUzNCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0
UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICB1cGRhdGVQbGF5
U3RhdGUoKTsKICAgICB1cGRhdGVNZWRpYUNvbnRyb2xsZXIoKTsKICAgICB1cGRhdGVBY3RpdmVU
ZXh0VHJhY2tDdWVzKGN1cnJlbnRNZWRpYVRpbWUoKSk7CisKKyAgICBpbnZhbGlkYXRlU3R5bGUo
KTsKIH0KIAogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQpAQCAtMjg1NywxMSAr
Mjg3NiwxNSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1lckZpcmVk
KCkKICAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICAgICBzY2hlZHVsZUV2ZW50KGV2
ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50KTsKICAgICAgICAgICAgIG1fcHJldmlvdXNQcm9ncmVz
c1RpbWUgPSB0aW1lOwotICAgICAgICAgICAgbV9zZW50U3RhbGxlZEV2ZW50ID0gZmFsc2U7Cisg
ICAgICAgICAgICBpZiAobV9zZW50U3RhbGxlZEV2ZW50KSB7CisgICAgICAgICAgICAgICAgbV9z
ZW50U3RhbGxlZEV2ZW50ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgaW52YWxpZGF0ZVN0eWxl
cygpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgdXBkYXRlUmVuZGVyZXIoKTsKICAgICAg
ICAgfSBlbHNlIGlmICh0aW1lZGVsdGEgPiAzX3MgJiYgIW1fc2VudFN0YWxsZWRFdmVudCkgewog
ICAgICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkuc3RhbGxlZEV2ZW50KTsKICAg
ICAgICAgICAgIG1fc2VudFN0YWxsZWRFdmVudCA9IHRydWU7CisgICAgICAgICAgICBpbnZhbGlk
YXRlU3R5bGVzKCk7CiAgICAgICAgICAgICBzZXRTaG91bGREZWxheUxvYWRFdmVudChmYWxzZSk7
CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTMzMzgsNiArMzM2MSwxNCBAQCBib29sIEhUTUxNZWRp
YUVsZW1lbnQ6OnBhdXNlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGF1c2VkOwogfQogCit2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnNldFBhdXNlZChib29sIHBhdXNlZCkKK3sKKyAgICBpZiAobV9w
YXVzZWQgPT0gcGF1c2VkKQorICAgICAgICByZXR1cm47CisgICAgbV9wYXVzZWQgPSBwYXVzZWQ7
CisgICAgaW52YWxpZGF0ZVN0eWxlKCk7Cit9CisKIGRvdWJsZSBIVE1MTWVkaWFFbGVtZW50Ojpk
ZWZhdWx0UGxheWJhY2tSYXRlKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpA
QCAtMzU3NCw3ICszNjA1LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwo
KQogICAgICAgICBtX21lZGlhQ29udHJvbGxlci0+YnJpbmdFbGVtZW50VXBUb1NwZWVkKCp0aGlz
KTsKIAogICAgIGlmIChtX3BhdXNlZCkgewotICAgICAgICBtX3BhdXNlZCA9IGZhbHNlOworICAg
ICAgICBzZXRQYXVzZWQoZmFsc2UpOwogICAgICAgICBzZXRTaG93UG9zdGVyRmxhZyhmYWxzZSk7
CiAgICAgICAgIGludmFsaWRhdGVDYWNoZWRUaW1lKCk7CiAKQEAgLTM2NjUsNyArMzY5Niw3IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2VJbnRlcm5hbCgpCiAgICAgc2V0QXV0b3BsYXlF
dmVudFBsYXliYWNrU3RhdGUoQXV0b3BsYXlFdmVudFBsYXliYWNrU3RhdGU6Ok5vbmUpOwogCiAg
ICAgaWYgKCFtX3BhdXNlZCAmJiAhbV9wYXVzZWRJbnRlcm5hbCkgewotICAgICAgICBtX3BhdXNl
ZCA9IHRydWU7CisgICAgICAgIHNldFBhdXNlZCh0cnVlKTsKICAgICAgICAgc2NoZWR1bGVUaW1l
dXBkYXRlRXZlbnQoZmFsc2UpOwogICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5w
YXVzZUV2ZW50KTsKICAgICAgICAgc2NoZWR1bGVSZWplY3RQZW5kaW5nUGxheVByb21pc2VzKERP
TUV4Y2VwdGlvbjo6Y3JlYXRlKEFib3J0RXJyb3IpKTsKQEAgLTM4MDIsMTEgKzM4MzMsNTEgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRNdXRlZChib29sIG11dGVkKQogI2VuZGlmCiAgICAg
ICAgIG1lZGlhU2Vzc2lvbigpLmNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsKICAgICAgICAgdXBk
YXRlU2xlZXBEaXNhYmxpbmcoKTsKKworICAgICAgICBpbnZhbGlkYXRlU3R5bGUoKTsKICAgICB9
CiAKICAgICBzY2hlZHVsZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRlKCk7CiB9CiAKK3Zv
aWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0Vm9sdW1lTG9ja2VkKGJvb2wgbG9ja2VkKQoreworICAg
IGlmIChtX3ZvbHVtZUxvY2tlZCA9PSBsb2NrZWQpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
dm9sdW1lTG9ja2VkID0gbG9ja2VkOworICAgIGludmFsaWRhdGVTdHlsZSgpOworfQorCitib29s
IEhUTUxNZWRpYUVsZW1lbnQ6OmJ1ZmZlcmluZygpIGNvbnN0Cit7CisgICAgLy8gQ1NTIFNlbGVj
dG9ycyBMZXZlbCA0OyBFZGl0b3IncyBEcmFmdCwgMiBKdWx5IDIwMjEKKyAgICAvLyA8aHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL3NlbGVjdG9ycy8+CisgICAgLy8gMTEuMi4gTWVkaWEgTG9hZGlu
ZyBTdGF0ZTogdGhlIDpidWZmZXJpbmcgYW5kIDpzdGFsbGVkIHBzZXVkby1jbGFzc2VzCisgICAg
Ly8KKyAgICAvLyBUaGUgOmJ1ZmZlcmluZyBwc2V1ZG8tY2xhc3MgcmVwcmVzZW50cyBhbiBlbGVt
ZW50IHRoYXQgaXMgY2FwYWJsZSBvZiBiZWluZyDigJxwbGF5ZWTigJ0gb3Ig4oCccGF1c2Vk4oCd
LAorICAgIC8vIHdoZW4gdGhhdCBlbGVtZW50IGNhbm5vdCBjb250aW51ZSBwbGF5aW5nIGJlY2F1
c2UgaXQgaXMgYWN0aXZlbHkgYXR0ZW1wdGluZyB0byBvYnRhaW4gbWVkaWEgZGF0YQorICAgIC8v
IGJ1dCBoYXMgbm90IHlldCBvYnRhaW5lZCBlbm91Z2ggZGF0YSB0byByZXN1bWUgcGxheWJhY2su
IChOb3RlIHRoYXQgdGhlIGVsZW1lbnQgaXMgc3RpbGwgY29uc2lkZXJlZAorICAgIC8vIHRvIGJl
IOKAnHBsYXlpbmfigJ0gd2hlbiBpdCBpcyDigJxidWZmZXJpbmfigJ0uIFdoZW5ldmVyIDpidWZm
ZXJpbmcgbWF0Y2hlcyBhbiBlbGVtZW50LCA6cGxheWluZyBhbHNvCisgICAgLy8gbWF0Y2hlcyB0
aGUgZWxlbWVudC4pCisgICAgcmV0dXJuICFwYXVzZWQoKSAmJiBtX25ldHdvcmtTdGF0ZSA9PSBO
RVRXT1JLX0xPQURJTkcgJiYgbV9yZWFkeVN0YXRlIDw9IEhBVkVfQ1VSUkVOVF9EQVRBOworfQor
Citib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnN0YWxsZWQoKSBjb25zdAoreworICAgIC8vIENTUyBT
ZWxlY3RvcnMgTGV2ZWwgNDsgRWRpdG9yJ3MgRHJhZnQsIDIgSnVseSAyMDIxCisgICAgLy8gPGh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9zZWxlY3RvcnMvPgorICAgIC8vIDExLjIuIE1lZGlhIExv
YWRpbmcgU3RhdGU6IHRoZSA6YnVmZmVyaW5nIGFuZCA6c3RhbGxlZCBwc2V1ZG8tY2xhc3Nlcwor
ICAgIC8vCisgICAgLy8gVGhlIDpzdGFsbGVkIHBzZXVkby1jbGFzcyByZXByZXNlbnRzIGFuIGVs
ZW1lbnQgd2hlbiB0aGF0IGVsZW1lbnQgY2Fubm90IGNvbnRpbnVlIHBsYXlpbmcgYmVjYXVzZQor
ICAgIC8vIGl0IGlzIGFjdGl2ZWx5IGF0dGVtcHRpbmcgdG8gb2J0YWluIG1lZGlhIGRhdGEgYnV0
IGl0IGhhcyBmYWlsZWQgdG8gcmVjZWl2ZSBhbnkgZGF0YSBmb3Igc29tZQorICAgIC8vIGFtb3Vu
dCBvZiB0aW1lLiBGb3IgdGhlIGF1ZGlvIGFuZCB2aWRlbyBlbGVtZW50cyBvZiBIVE1MLCB0aGlz
IGFtb3VudCBvZiB0aW1lIGlzIHRoZSBtZWRpYSBlbGVtZW50CisgICAgLy8gc3RhbGwgdGltZW91
dC4gW0hUTUxdIChOb3RlIHRoYXQsIGxpa2Ugd2l0aCB0aGUgOmJ1ZmZlcmluZyBwc2V1ZG8tY2xh
c3MsIHRoZSBlbGVtZW50IGlzIHN0aWxsCisgICAgLy8gY29uc2lkZXJlZCB0byBiZSDigJxwbGF5
aW5n4oCdIHdoZW4gaXQgaXMg4oCcc3RhbGxlZOKAnS4gV2hlbmV2ZXIgOnN0YWxsZWQgbWF0Y2hl
cyBhbiBlbGVtZW50LCA6cGxheWluZworICAgIC8vIGFsc28gbWF0Y2hlcyB0aGUgZWxlbWVudC4p
CisgICAgcmV0dXJuICFwYXVzZWQoKSAmJiBtX25ldHdvcmtTdGF0ZSA9PSBORVRXT1JLX0xPQURJ
TkcgJiYgbV9yZWFkeVN0YXRlIDw9IEhBVkVfQ1VSUkVOVF9EQVRBICYmIG1fc2VudFN0YWxsZWRF
dmVudDsKK30KKwogI2lmIFVTRShBVURJT19TRVNTSU9OKSAmJiBQTEFURk9STShNQUMpCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OmhhcmR3YXJlTXV0ZWRTdGF0ZURpZENoYW5nZShjb25zdCBBdWRp
b1Nlc3Npb24mIHNlc3Npb24pCiB7CkBAIC00ODQ5LDcgKzQ5MjAsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6Om1lZGlhUGxheWVyVGltZUNoYW5nZWQoKQogICAgICAgICAgICAgLy8gaGFzIHN0
aWxsIGVuZGVkIHBsYXliYWNrIGFuZCBwYXVzZWQgaXMgZmFsc2UsCiAgICAgICAgICAgICBpZiAo
IW1fbWVkaWFDb250cm9sbGVyICYmICFtX3BhdXNlZCkgewogICAgICAgICAgICAgICAgIC8vIGNo
YW5nZXMgcGF1c2VkIHRvIHRydWUgYW5kIGZpcmVzIGEgc2ltcGxlIGV2ZW50IG5hbWVkIHBhdXNl
IGF0IHRoZSBtZWRpYSBlbGVtZW50LgotICAgICAgICAgICAgICAgIG1fcGF1c2VkID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICBzZXRQYXVzZWQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgc2NoZWR1
bGVFdmVudChldmVudE5hbWVzKCkucGF1c2VFdmVudCk7CiAgICAgICAgICAgICAgICAgbWVkaWFT
ZXNzaW9uKCkuY2xpZW50V2lsbFBhdXNlUGxheWJhY2soKTsKICAgICAgICAgICAgIH0KQEAgLTQ4
ODMsNyArNDk1NCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJUaW1lQ2hh
bmdlZCgpCiAgICAgICAgICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkuZW5kZWRF
dmVudCk7CiAgICAgICAgICAgICAgICAgaWYgKCF3YXNTZWVraW5nKQogICAgICAgICAgICAgICAg
ICAgICBhZGRCZWhhdmlvclJlc3RyaWN0aW9uc09uRW5kSWZOZWNlc3NhcnkoKTsKLSAgICAgICAg
ICAgICAgICBtX3BhdXNlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgc2V0UGF1c2VkKHRydWUp
OwogICAgICAgICAgICAgICAgIHNldFBsYXlpbmcoZmFsc2UpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9IGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMTE3
NmU2NzRmNmYyNTliMWEyOWU1ODFlZGNlNWE4ZTg2ZDcyMGZjZi4uYWE2YzBmNzJjMWJlMGYzMzQz
ZDg0ZDJhNjc2Njc0NGRjZTEwZTFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTIzNSw2ICsyMzUsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgZG91
YmxlIGdldFN0YXJ0RGF0ZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGRvdWJsZSBkdXJh
dGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcGF1c2VkKCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRQYXVzZWQoYm9vbCk7CiAgICAgZG91YmxlIGRl
ZmF1bHRQbGF5YmFja1JhdGUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldERlZmF1bHRQ
bGF5YmFja1JhdGUoZG91YmxlKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCBkb3VibGUg
cGxheWJhY2tSYXRlKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC0zMTgsNiArMzE5LDExIEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIG11dGVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNdXRlZChib29sKSBvdmVycmlkZTsKIAorICAgIGJvb2wg
dm9sdW1lTG9ja2VkKCkgY29uc3QgeyByZXR1cm4gbV92b2x1bWVMb2NrZWQ7IH0KKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldFZvbHVtZUxvY2tlZChib29sKTsKKyAgICBib29sIGJ1ZmZlcmlu
ZygpIGNvbnN0OworICAgIGJvb2wgc3RhbGxlZCgpIGNvbnN0OworCiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCB0b2dnbGVQbGF5U3RhdGUoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGJlZ2lu
U2NydWJiaW5nKCkgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbmRTY3J1YmJp
bmcoKSBvdmVycmlkZTsKQEAgLTExMDgsNiArMTExNCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X3Byb2Nlc3NpbmdQcmVmZXJlbmNlQ2hhbmdlIDogMTsKICAgICBib29sIG1fc2hvdWxkQXVkaW9Q
bGF5YmFja1JlcXVpcmVVc2VyR2VzdHVyZSA6IDE7CiAgICAgYm9vbCBtX3Nob3VsZFZpZGVvUGxh
eWJhY2tSZXF1aXJlVXNlckdlc3R1cmUgOiAxOworICAgIGJvb2wgbV92b2x1bWVMb2NrZWQgOiAx
OwogCiAgICAgQXV0b3BsYXlFdmVudFBsYXliYWNrU3RhdGUgbV9hdXRvcGxheUV2ZW50UGxheWJh
Y2tTdGF0ZSB7IEF1dG9wbGF5RXZlbnRQbGF5YmFja1N0YXRlOjpOb25lIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAzNjEyNGM4YzExMDY2ZmE1MjcyMzA1OWI3NTU2
OTBhN2Q5NmQ3ZjkwLi40MWU0NTM4N2MwZTZlYWU3NDU1ODJlZmNjZDU4NGNkZDA3YzEyOTZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00NTYxLDYgKzQ1NjEsMTEgQEAg
c2l6ZV90IEludGVybmFsczo6bWVkaWFFbGVtZW50Q291bnQoKSBjb25zdAogewogICAgIHJldHVy
biBIVE1MTWVkaWFFbGVtZW50OjphbGxNZWRpYUVsZW1lbnRzKCkuc2l6ZSgpOwogfQorCit2b2lk
IEludGVybmFsczo6c2V0TWVkaWFFbGVtZW50Vm9sdW1lTG9ja2VkKEhUTUxNZWRpYUVsZW1lbnQm
IGVsZW1lbnQsIGJvb2wgdm9sdW1lTG9ja2VkKQoreworICAgIGVsZW1lbnQuc2V0Vm9sdW1lTG9j
a2VkKHZvbHVtZUxvY2tlZCk7Cit9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBlZTk0MmQ3OGVk
Mjg2YzdiNmRkZWUyYWRlYzYyMmUyOTQyMTc3OWFlLi4yODU1NjBiZWQxMTFkN2NiNWQ1N2NlMTQ1
YzI4OWUxNzc2ZTE4Y2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTk4MSw2
ICs5ODEsOCBAQCBwdWJsaWM6CiAgICAgTWVkaWFTZXNzaW9uU3RhdGUgbWVkaWFTZXNzaW9uU3Rh
dGUoSFRNTE1lZGlhRWxlbWVudCYpOwogCiAgICAgc2l6ZV90IG1lZGlhRWxlbWVudENvdW50KCkg
Y29uc3Q7CisKKyAgICB2b2lkIHNldE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZChIVE1MTWVkaWFF
bGVtZW50JiwgYm9vbCk7CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0Q2FwdHVyZUV4dHJhTmV0d29y
a0xvYWRNZXRyaWNzRW5hYmxlZChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bAppbmRleCBhNDFkOTE0NzcwYTk5ZDMzYzY2YTkzYzE3MTRmOWE1Njg0NGQyYzhlLi40Mzg1NDEx
ZThkZmU3YzVlMGM4NzkxMTQ2MmIwYTM5NWRhNGQ2NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCkBAIC05NTcsNiArOTU3LDcgQEAgZW51bSBBdXRvcGxheVBvbGljeSB7CiAg
ICAgW0NvbmRpdGlvbmFsPVZJREVPXSBNZWRpYVVzYWdlU3RhdGUgbWVkaWFVc2FnZVN0YXRlKEhU
TUxNZWRpYUVsZW1lbnQgZWxlbWVudCk7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPXSBib29sZWFu
IGVsZW1lbnRTaG91bGREaXNwbGF5UG9zdGVySW1hZ2UoSFRNTFZpZGVvRWxlbWVudCBlbGVtZW50
KTsKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIG1lZGlhRWxlbWVudENvdW50OworICAgIFtDb25kaXRpb25hbD1WSURFT10gdW5kZWZpbmVk
IHNldE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZChIVE1MTWVkaWFFbGVtZW50IGVsZW1lbnQsIGJv
b2xlYW4gdm9sdW1lTG9ja2VkKTsKIAogICAgIERPTVN0cmluZyBvbmdvaW5nTG9hZHNEZXNjcmlw
dGlvbnMoKTsKICAgICB1bmRlZmluZWQgc2V0Q2FwdHVyZUV4dHJhTmV0d29ya0xvYWRNZXRyaWNz
RW5hYmxlZChib29sZWFuIHZhbHVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMDA2NTgyMzMyYzZmMDI2OTA5MGRkNDhh
Nzc0NWRiMWI3MWY4YzMzLi5lOWI1YjY0YTQ5Nzg2OGY2ZTNkMGI4YWY4ZTNhMTBmOGEzNmU2ZmVh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDgtMjMgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG5ldyBwc2V1ZG8tc2VsZWN0
b3JzIGZvciBtZWRpYSBmcm9tIENTUyBTZWxlY3RvcnMgTGV2ZWwgNC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTQzMQorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAqIG1lZGlhL21lZGlhLWNzcy1tdXRlZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21lZGlhLWNzcy1tdXRlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jc3MtcGxheWluZy1wYXVzZWQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jc3MtcGxheWluZy1wYXVzZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1sb2NrZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jc3Mtdm9sdW1lLWxvY2tl
ZC5odG1sOiBBZGRlZC4KKwogMjAyMS0wOC0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBodHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2
ZW50Lmh0bWwgaXMgYSBmbGFreSB0aW1lb3V0IG9uIEJpZyBTdXIgd2sxIFJlbGVhc2UKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1tdXRlZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtbXV0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc1NWZjZGY0NWJiYWZmZTRkOGU0NDQ4YTQ1ZmY4NDU2OGRmYzMzMGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtbXV0ZWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTEgQEAKKworUlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNv
bnRlbnQvdGVzdCIpKQorRVZFTlQoY2FucGxheSkKK0VYUEVDVEVEICh2aWRlby5tdXRlZCA9PSAn
ZmFsc2UnKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOm11dGVk
IikgPT0gJ251bGwnKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVv
Om5vdCg6bXV0ZWQpIikgPT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBPSworUlVOKHZp
ZGVvLm11dGVkID0gdHJ1ZSkKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRl
bzptdXRlZCIpID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOm11dGVkKSIpID09ICdudWxsJykgT0sK
K0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1t
dXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLW11dGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTM2YTEzODcyNjVhOTVlNmViNTg5OWZmMTQ4ZDgwMTBjOTA5Njc3ZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1tdXRlZC5odG1sCkBAIC0wLDAg
KzEsMjUgQEAKKzwhZG9jdHlwZSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+bWVk
aWEtY3NzLW11dGVkPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0idmlkZW8tdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Im1lZGlhLWZpbGUuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBhc3luYyBldmVudCA9
PiB7CisgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKyAgICAgICAgcnVuKCd2aWRlby5zcmMg
PSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKScpOworICAgICAgICBhd2Fp
dCB3YWl0Rm9yKHZpZGVvLCAnY2FucGxheScpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVv
Lm11dGVkJywgZmFsc2UpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoInZpZGVvOm11dGVkIiknLCBudWxsKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOm11dGVkKSIpJywgdmlkZW8pOworICAgICAg
ICBydW4oJ3ZpZGVvLm11dGVkID0gdHJ1ZScpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOm11dGVkIiknLCB2aWRlbyk7CisgICAgICAgIHRlc3RF
eHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDptdXRlZCkiKScsIG51
bGwpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSk7CisgICAgPC9zY3JpcHQ+Cis8aGVhZD4K
Kzxib2R5PgorICAgIDx2aWRlbz48L3ZpZGVvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLXBsYXlpbmctcGF1c2VkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1wbGF5aW5nLXBhdXNlZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDBiNmUxMDYxOGRhZmI3OTc4NmRmNGJlZWVkNjU3Y2JkOTI0MWNjMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1wbGF5aW5nLXBh
dXNlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitSVU4odmlkZW8uc3JjID0gZmlu
ZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IikpCitFVkVOVChjYW5wbGF5KQorRVhQ
RUNURUQgKHZpZGVvLnBhdXNlZCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigidmlkZW86cGxheWluZyIpID09ICdudWxsJykgT0sKK0VYUEVDVEVEIChkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBsYXlpbmcpIikgPT0gJ1tvYmplY3QgSFRN
TFZpZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZp
ZGVvOnBhdXNlZCIpID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVE
IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBhdXNlZCkiKSA9PSAnbnVsbCcp
IE9LCitSVU4odmlkZW8ucGxheSgpKQorRVZFTlQocGxheWluZykKK0VYUEVDVEVEIChkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpwbGF5aW5nIikgPT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxl
bWVudF0nKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOm5vdCg6
cGxheWluZykiKSA9PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigidmlkZW86cGF1c2VkIikgPT0gJ251bGwnKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoInZpZGVvOm5vdCg6cGF1c2VkKSIpID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1l
bnRdJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21l
ZGlhLWNzcy1wbGF5aW5nLXBhdXNlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3Nz
LXBsYXlpbmctcGF1c2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWFlOThiYzczMmRlOTc4ZjdlMjYwZjZj
OWMyYThhZTBjM2VhMzI3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21l
ZGlhLWNzcy1wbGF5aW5nLXBhdXNlZC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhZG9jdHlwZSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+bWVkaWEtY3NzLXBsYXlpbmctcGF1c2Vk
PC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0idmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Im1lZGlhLWZpbGUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBhc3luYyBldmVudCA9PiB7CisgICAgICAg
IGZpbmRNZWRpYUVsZW1lbnQoKTsKKyAgICAgICAgcnVuKCd2aWRlby5zcmMgPSBmaW5kTWVkaWFG
aWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKScpOworICAgICAgICBhd2FpdCB3YWl0Rm9yKHZp
ZGVvLCAnY2FucGxheScpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIHRy
dWUpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVv
OnBsYXlpbmciKScsIG51bGwpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoInZpZGVvOm5vdCg6cGxheWluZykiKScsIHZpZGVvKTsKKyAgICAgICAgdGVzdEV4
cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpwYXVzZWQiKScsIHZpZGVvKTsK
KyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3Qo
OnBhdXNlZCkiKScsIG51bGwpOworICAgICAgICBydW4oJ3ZpZGVvLnBsYXkoKScpOworICAgICAg
ICBhd2FpdCB3YWl0Rm9yKHZpZGVvLCAncGxheWluZycpOworICAgICAgICB0ZXN0RXhwZWN0ZWQo
J2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOnBsYXlpbmciKScsIHZpZGVvKTsKKyAgICAg
ICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBsYXlp
bmcpIiknLCBudWxsKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCJ2aWRlbzpwYXVzZWQiKScsIG51bGwpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOm5vdCg6cGF1c2VkKSIpJywgdmlkZW8pOworICAgICAg
ICBlbmRUZXN0KCk7CisgICAgfSk7CisgICAgPC9zY3JpcHQ+Cis8aGVhZD4KKzxib2R5PgorICAg
IDx2aWRlbyBsb29wPjwvdmlkZW8+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1jc3Mtdm9sdW1lLWxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1jc3Mtdm9sdW1lLWxvY2tlZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTNlYjU4ZDRhYTRiYmFmYjJjZTdmNDEyNTM2ZWU2MmJlODRlMTg5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy12b2x1bWUtbG9ja2VkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1JVTih2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxl
KCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKK0VWRU5UKGNhbnBsYXkpCitSVU4oaW50ZXJuYWxz
LnNldE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZCh2aWRlbywgZmFsc2UpKQorRVhQRUNURUQgKGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOnZvbHVtZS1sb2NrZWQiKSA9PSAnbnVsbCcpIE9L
CitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDp2b2x1bWUtbG9j
a2VkKSIpID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK1JVTihpbnRlcm5hbHMu
c2V0TWVkaWFFbGVtZW50Vm9sdW1lTG9ja2VkKHZpZGVvLCB0cnVlKSkKK0VYUEVDVEVEIChkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzp2b2x1bWUtbG9ja2VkIikgPT0gJ1tvYmplY3QgSFRN
TFZpZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZp
ZGVvOm5vdCg6dm9sdW1lLWxvY2tlZCkiKSA9PSAnbnVsbCcpIE9LCitFTkQgT0YgVEVTVAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3Mtdm9sdW1lLWxvY2tlZC5odG1s
IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1sb2NrZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44YTI1ZGMzNGRmMWRiMWUyNjQyNGNiMDFkYmU3ZWI3ZWVjMjJlNjdlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1sb2NrZWQuaHRtbApA
QCAtMCwwICsxLDI1IEBACis8IWRvY3R5cGUgSFRNTD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRp
dGxlPm1lZGlhLWNzcy1tdXRlZDwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9InZpZGVvLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJtZWRpYS1maWxlLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMg
ZXZlbnQgPT4geworICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisgICAgICAgIHJ1bigndmlk
ZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IiknKTsKKyAgICAg
ICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ2NhbnBsYXknKTsKKyAgICAgICAgcnVuKCdpbnRlcm5h
bHMuc2V0TWVkaWFFbGVtZW50Vm9sdW1lTG9ja2VkKHZpZGVvLCBmYWxzZSknKTsKKyAgICAgICAg
dGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzp2b2x1bWUtbG9ja2Vk
IiknLCBudWxsKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCJ2aWRlbzpub3QoOnZvbHVtZS1sb2NrZWQpIiknLCB2aWRlbyk7CisgICAgICAgIHJ1bignaW50
ZXJuYWxzLnNldE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZCh2aWRlbywgdHJ1ZSknKTsKKyAgICAg
ICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzp2b2x1bWUtbG9j
a2VkIiknLCB2aWRlbyk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigidmlkZW86bm90KDp2b2x1bWUtbG9ja2VkKSIpJywgbnVsbCk7CisgICAgICAgIGVuZFRl
c3QoKTsKKyAgICB9KTsKKyAgICA8L3NjcmlwdD4KKzxoZWFkPgorPGJvZHk+CisgICAgPHZpZGVv
PjwvdmlkZW8+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="459247"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436253</attachid>
            <date>2021-08-23 17:11:13 -0700</date>
            <delta_ts>2021-08-24 11:30:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-229431-20210823171112.patch</filename>
            <type>text/plain</type>
            <size>32858</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2VkY2FmNjhjMGFhZWU0
ZmU5N2Y3MzUwZDZmYzQzYjAzNDI3ZjlhYy4uMGEwN2QxMjRiZmQyNWQ0ODljN2Y4OTIyNmFkZDFk
OTE5NDk0NzcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA4LTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBu
ZXcgcHNldWRvLWNsYXNzZXMgZm9yIG1lZGlhIGZyb20gQ1NTIFNlbGVjdG9ycyBMZXZlbCA0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDMxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFRlc3RzOiBtZWRp
YS9tZWRpYS1jc3MtbXV0ZWQuaHRtbAorICAgICAgICAgICAgICAgbWVkaWEvbWVkaWEtY3NzLXBs
YXlpbmctcGF1c2VkLmh0bWwKKyAgICAgICAgICAgICAgIG1lZGlhL21lZGlhLWNzcy12b2x1bWUt
bG9ja2VkLmh0bWwKKyAgICAgICAgICAgICAgIChUZXN0cyBmb3IgYnVmZmVyaW5nIGFuZCBzdGFs
bGVkIHN0YXRlcyBhcmUgZm9ydGhjb21pbmcsIHdhaXRpbmcgb24KKyAgICAgICAgICAgICAgIGEg
bm9uLWZsYWtleSBtZWNoYW5pc20gZm9yIGluZHVjaW5nIG5ldHdvcmsgc3RhbGxzKQorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciB0aGUgZm9sbG93aW5nIG5ldyBwc2V1ZG8tY2xhc3NlcyBmcm9t
IENTUyBTZWxlY3RvcnMgTGV2ZWwgNDoKKyAgICAgICAgLSA6cGxheWluZywgOnBhdXNlZCwgOnNl
ZWtpbmcKKyAgICAgICAgLSA6YnVmZmVyaW5nLCA6c3RhbGxlZAorICAgICAgICAtIDptdXRlZCwg
OnZvbHVtZS1sb2NrZWQKKworICAgICAgICBFbnN1cmUgQ1NTIHN0eWxlcyBhcmUgaW52YWxpZGF0
ZWQgd2hlbiBwbGF5YmFjayBzdGF0ZSBjaGFuZ2VzIGJ5IGVuY2Fwc3VsYXRpbmcKKyAgICAgICAg
bW9kaWZpY2F0aW9ucyB0byBIVE1MTWVkaWFFbGVtZW50OjptX3BhdXNlZCBpbnRvIGEgc2V0UGF1
c2VkKCkgZnVuY3Rpb24uCisKKyAgICAgICAgQWRkIG1ldGhvZHMgdG8gcXVlcnkgZm9yIHZvbHVt
ZUxvY2tlZCgpIG9uIEhUTUxNZWRpYUVsZW1lbnQsIGFzIHdlbGwgYXMgYSB3YXkKKyAgICAgICAg
dG8gb3ZlcnJpZGUgdGhlIHZhbHVlIHRocm91Z2ggSW50ZXJuYWxzLgorCisgICAgICAgIEludmFs
aWRhdGUgc3R5bGVzIHdoZW4gdGhlICJtdXRlZCIgYXR0cmlidXRlIGNoYW5nZXMgc3RhdGUuCisK
KyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2Vs
ZWN0b3I6OnNlbGVjdG9yVGV4dCBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6
CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lIGNvbnN0KToKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JD
aGVja2VyVGVzdEZ1bmN0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6bWF0Y2hlc1BsYXlpbmdQ
c2V1ZG9DbGFzcyk6CisgICAgICAgIChXZWJDb3JlOjptYXRjaGVzUGF1c2VkUHNldWRvQ2xhc3Mp
OgorICAgICAgICAoV2ViQ29yZTo6bWF0Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcyk6CisgICAgICAg
IChXZWJDb3JlOjptYXRjaGVzQnVmZmVyaW5nUHNldWRvQ2xhc3MpOgorICAgICAgICAoV2ViQ29y
ZTo6bWF0Y2hlc1N0YWxsZWRQc2V1ZG9DbGFzcyk6CisgICAgICAgIChXZWJDb3JlOjptYXRjaGVz
TXV0ZWRQc2V1ZG9DbGFzcyk6CisgICAgICAgIChXZWJDb3JlOjptYXRjaGVzVm9sdW1lTG9ja2Vk
UHNldWRvQ2xhc3MpOgorICAgICAgICAqIGNzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0
aWJpbGl0eUVsZW1lbnRNYXAuaW46CisgICAgICAgICogY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6SlNDX0RFRklORV9KSVRf
T1BFUkFUSU9OKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmFkZFBzZXVk
b0NsYXNzVHlwZSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmRlZmF1bHRWb2x1bWVMb2NrZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpwcmVwYXJlRm9yTG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjpzZXROZXR3b3JrU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6c2V0UmVhZHlTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpzZXRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUlu
dGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0TXV0ZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0Vm9sdW1lTG9ja2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJ1ZmZlcmluZyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzdGFsbGVkIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyVGltZUNoYW5nZWQpOgorICAgICAg
ICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6dm9sdW1lTG9ja2VkIGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNldE1lZGlhRWxlbWVudFZvbHVt
ZUxvY2tlZCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjEtMDgtMjMgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgRml4IGluY2x1ZGUgZ3VhcmRzIGluIFBsYXRmb3JtU2NyZWVu
TWFjLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBhMjJiMGZmZmExYzQxYmNi
ZWE3MzUxZDQ3MWQwMzNlZTgyM2IyMGI3Li40MGU5OGY1ZDYzNDJiMTc3NWM1ZTFhYzlkNWIxYjBh
ZTMyYWUwMzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTUwNyw2ICs1MDcs
MjcgQEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiByaWdo
dFNpZGUpIGNvbnN0CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0Z1
dHVyZToKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiOmZ1dHVyZSIpOwogICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xh
c3NQbGF5aW5nOgorICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6cGxheWluZyIpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NQYXVzZWQ6CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIjpwYXVzZWQi
KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzU2Vla2luZzoKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiOnNl
ZWtpbmciKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzQnVmZmVyaW5nOgorICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCI6YnVmZmVyaW5nIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1N0YWxsZWQ6CisgICAgICAgICAgICAgICAgYnVp
bGRlci5hcHBlbmQoIjpzdGFsbGVkIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc011dGVkOgorICAgICAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kKCI6bXV0ZWQiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVm9sdW1lTG9ja2VkOgorICAgICAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6dm9sdW1lLWxvY2tlZCIpOworICAgICAgICAgICAg
ICAgIGJyZWFrOwogI2VuZGlmCiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9D
bGFzc0hhczoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiOmhhcygiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmgKaW5kZXggNTUzMTk0NzI4ZGUzNzhkZmRmZGIzNDVlMWUwNDFmNTA4
ZjA0ZmExOS4uNzQ1ZjFjNzg4YWRiN2IwYjQ3YmIxZWEzNWU0M2U4NjNjNjkxY2M3ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTE2Niw2ICsxNjYsMTMgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogI2lmIEVOQUJMRShWSURFTykKICAgICAgICAgICAgIFBzZXVkb0NsYXNzRnV0dXJlLAog
ICAgICAgICAgICAgUHNldWRvQ2xhc3NQYXN0LAorICAgICAgICAgICAgUHNldWRvQ2xhc3NQbGF5
aW5nLAorICAgICAgICAgICAgUHNldWRvQ2xhc3NQYXVzZWQsCisgICAgICAgICAgICBQc2V1ZG9D
bGFzc1NlZWtpbmcsCisgICAgICAgICAgICBQc2V1ZG9DbGFzc0J1ZmZlcmluZywKKyAgICAgICAg
ICAgIFBzZXVkb0NsYXNzU3RhbGxlZCwKKyAgICAgICAgICAgIFBzZXVkb0NsYXNzTXV0ZWQsCisg
ICAgICAgICAgICBQc2V1ZG9DbGFzc1ZvbHVtZUxvY2tlZCwKICNlbmRpZgogI2lmIEVOQUJMRShD
U1NfU0VMRUNUT1JTX0xFVkVMNCkKICAgICAgICAgICAgIFBzZXVkb0NsYXNzRGlyLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCBlNTU2MThlYjVmMjAyOTQxNzJhNTE1
NTBkYzBlYTlkNDEyNDY0NTQxLi5iMDgyZmJmNDQ5NWM4ODc2Y2Y2MTBmN2E3NjEzZGViNzcyYjRj
NzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtMTA2Myw2ICsx
MDYzLDIwIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShDaGVja2luZ0NvbnRleHQm
IGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250CiAgICAgICAgICAgICByZXR1cm4gbWF0
Y2hlc0Z1dHVyZUN1ZVBzZXVkb0NsYXNzKGVsZW1lbnQpOwogICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc1Bhc3Q6CiAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1Bhc3RDdWVQ
c2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xh
c3NQbGF5aW5nOgorICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNQbGF5aW5nUHNldWRvQ2xhc3Mo
ZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzUGF1c2VkOgor
ICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAg
ICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NTZWVraW5nOgorICAgICAgICAgICAg
cmV0dXJuIG1hdGNoZXNTZWVraW5nUHNldWRvQ2xhc3MoZWxlbWVudCk7CisgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQnVmZmVyaW5nOgorICAgICAgICAgICAgcmV0dXJuIG1h
dGNoZXNCdWZmZXJpbmdQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NTdGFsbGVkOgorICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNTdGFs
bGVkUHNldWRvQ2xhc3MoZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzTXV0ZWQ6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc011dGVkUHNldWRvQ2xhc3Mo
ZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVm9sdW1lTG9j
a2VkOgorICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNWb2x1bWVMb2NrZWRQc2V1ZG9DbGFzcyhl
bGVtZW50KTsKICNlbmRpZgogCiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
U2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVz
dEZ1bmN0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5j
dGlvbnMuaAppbmRleCBkNDQ1ZDRiM2FmY2I1YjY5OTU1ZDAzYWE2Y2IzMjE5NWZmMjljMjhjLi45
YzdkMTQ3NmY4M2Y2MmRjZmY1YTA4NDFiYzg3NjhmOTRmZWI5OGVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKQEAgLTQ3LDYgKzQ3
LDcgQEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVPKQorI2luY2x1ZGUgIkhUTUxNZWRpYUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJXZWJWVFRFbGVtZW50LmgiCiAjZW5kaWYKIApAQCAtNDQyLDYg
KzQ0Myw0MCBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1Bhc3RDdWVQc2V1ZG9DbGFzcyhj
b25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIHJldHVybiBpczxXZWJWVFRFbGVtZW50PihlbGVt
ZW50KSAmJiBkb3duY2FzdDxXZWJWVFRFbGVtZW50PihlbGVtZW50KS5pc1Bhc3ROb2RlKCk7CiB9
CiAKK0FMV0FZU19JTkxJTkUgYm9vbCBtYXRjaGVzUGxheWluZ1BzZXVkb0NsYXNzKGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1l
bnQpICYmICFkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5wYXVzZWQoKTsKK30K
KworQUxXQVlTX0lOTElORSBib29sIG1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50
KSAmJiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5wYXVzZWQoKTsKK30KKwor
QUxXQVlTX0lOTElORSBib29sIG1hdGNoZXNTZWVraW5nUHNldWRvQ2xhc3MoY29uc3QgRWxlbWVu
dCYgZWxlbWVudCkKK3sKKyAgICByZXR1cm4gaXM8SFRNTE1lZGlhRWxlbWVudD4oZWxlbWVudCkg
JiYgZG93bmNhc3Q8SFRNTE1lZGlhRWxlbWVudD4oZWxlbWVudCkuc2Vla2luZygpOworfQorCitB
TFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc0J1ZmZlcmluZ1BzZXVkb0NsYXNzKGNvbnN0IEVsZW1l
bnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQp
ICYmIGRvd25jYXN0PEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQpLmJ1ZmZlcmluZygpOworfQor
CitBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1N0YWxsZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50
KSAmJiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5zdGFsbGVkKCk7Cit9CisK
K0FMV0FZU19JTkxJTkUgYm9vbCBtYXRjaGVzTXV0ZWRQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50
JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KSAm
JiBkb3duY2FzdDxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KS5tdXRlZCgpOworfQorCitBTFdB
WVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1ZvbHVtZUxvY2tlZFBzZXVkb0NsYXNzKGNvbnN0IEVsZW1l
bnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQp
ICYmIGRvd25jYXN0PEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQpLnZvbHVtZUxvY2tlZCgpOwor
fQogI2VuZGlmCiAKIEFMV0FZU19JTkxJTkUgYm9vbCBpc0ZyYW1lRm9jdXNlZChjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNl
dWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuaW4KaW5kZXgg
OTJhMmM1ZjQzYTJkOGE3ODI0MzBmZDdhOTc5Y2I3ODk4ODE0ZDYzNy4uM2RlOWJmNjAzYzgzNTQ1
OWVlMzg5NjBhYmE4YjhjYWZiNmQ5MjA1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVt
ZW50TWFwLmluCkBAIC05Myw1ICs5MywxMiBAQCBwaWN0dXJlLWluLXBpY3R1cmUKICNpZiBFTkFC
TEUoVklERU8pCiBmdXR1cmUKIHBhc3QKK3BsYXlpbmcKK3BhdXNlZAorc2Vla2luZworYnVmZmVy
aW5nCitzdGFsbGVkCittdXRlZAordm9sdW1lLWxvY2tlZAogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAppbmRleCBkOWEyYWY5N2JmYzk1ZjAyOWYy
N2E1ZWIwNmMyYjZjNmI0ZmRlNjYzLi45Nzk4MDQ2ZGU3YTExYzc3OGYwODY5MTVjMzJhNGM3NzM0
YjNmYWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBA
IC0xMTEsNiArMTExLDEzIEBAIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhP
VVRfV1RGX0lOVEVSTkFMKG9wZXJhdGlvbk1hdGNoZXNQaWN0dXJlSW5QCiAjaWYgRU5BQkxFKFZJ
REVPKQogc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZfSU5URVJO
QUwob3BlcmF0aW9uTWF0Y2hlc0Z1dHVyZUN1ZVBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxl
bWVudCYpKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lO
VEVSTkFMKG9wZXJhdGlvbk1hdGNoZXNQYXN0Q3VlUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZf
SU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1BsYXlpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0
IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dU
Rl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzUGF1c2VkUHNldWRvQ2xhc3MsIGJvb2wsIChjb25z
dCBFbGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9X
VEZfSU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNv
bnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VU
X1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzQnVmZmVyaW5nUHNldWRvQ2xhc3MsIGJvb2ws
IChjb25zdCBFbGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lU
SE9VVF9XVEZfSU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc1N0YWxsZWRQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9X
SVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzTXV0ZWRQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9X
SVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9ja2VkUHNldWRvQ2xh
c3MsIGJvb2wsIChjb25zdCBFbGVtZW50JikpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEFUVEFDSE1F
TlRfRUxFTUVOVCkKIHN0YXRpYyBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RG
X0lOVEVSTkFMKG9wZXJhdGlvbkhhc0F0dGFjaG1lbnQsIGJvb2wsIChjb25zdCBFbGVtZW50Jikp
OwpAQCAtNzQxLDYgKzc0OCw0MSBAQCBKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9u
TWF0Y2hlc1Bhc3RDdWVQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0IEVsZW1lbgogewogICAgIHJl
dHVybiBtYXRjaGVzUGFzdEN1ZVBzZXVkb0NsYXNzKGVsZW1lbnQpOwogfQorCitKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWF0Y2hlc1BsYXlpbmdQc2V1ZG9DbGFzcywgYm9vbCwg
KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzUGxheWluZ1Bz
ZXVkb0NsYXNzKGVsZW1lbnQpOworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0
aW9uTWF0Y2hlc1BhdXNlZFBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkpCit7CisgICAgcmV0dXJuIG1hdGNoZXNQYXVzZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30K
KworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk1hdGNoZXNTZWVraW5nUHNldWRv
Q2xhc3MsIGJvb2wsIChjb25zdCBFbGVtZW50JiBlbGVtZW50KSkKK3sKKyAgICByZXR1cm4gbWF0
Y2hlc1NlZWtpbmdQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30KKworSlNDX0RFRklORV9KSVRfT1BF
UkFUSU9OKG9wZXJhdGlvbk1hdGNoZXNCdWZmZXJpbmdQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0
IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzQnVmZmVyaW5nUHNldWRv
Q2xhc3MoZWxlbWVudCk7Cit9CisKK0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25N
YXRjaGVzU3RhbGxlZFBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVudCYgZWxlbWVudCkp
Cit7CisgICAgcmV0dXJuIG1hdGNoZXNTdGFsbGVkUHNldWRvQ2xhc3MoZWxlbWVudCk7Cit9CisK
K0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25NYXRjaGVzTXV0ZWRQc2V1ZG9DbGFz
cywgYm9vbCwgKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVz
TXV0ZWRQc2V1ZG9DbGFzcyhlbGVtZW50KTsKK30KKworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9O
KG9wZXJhdGlvbk1hdGNoZXNWb2x1bWVMb2NrZWRQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpKQoreworICAgIHJldHVybiBtYXRjaGVzVm9sdW1lTG9ja2VkUHNldWRv
Q2xhc3MoZWxlbWVudCk7Cit9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1F
TlQpCkBAIC04NjcsNiArOTA5LDI3IEBAIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBz
ZXVkb0NsYXNzVHlwZShjb25zdCBDU1NTZWxlY3RvciYgc2VsZWN0b3IsIFNlbGVjCiAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NQYXN0OgogICAgICAgICBmcmFnbWVudC51bm9wdGlt
aXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVuY3Rpb25QdHI8SlNDOjpPcGVyYXRpb25Q
dHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNQYXN0Q3VlUHNldWRvQ2xhc3MpKTsKICAgICAgICAgcmV0
dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzUGxheWluZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQ
c2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFn
PihvcGVyYXRpb25NYXRjaGVzUGxheWluZ1BzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBG
dW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzc1BhdXNlZDoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9D
bGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVy
YXRpb25NYXRjaGVzUGF1c2VkUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9u
VHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzU2Vla2luZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2Vz
LmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25N
YXRjaGVzU2Vla2luZ1BzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6
OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFz
c0J1ZmZlcmluZzoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFw
cGVuZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRj
aGVzQnVmZmVyaW5nUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6
U2ltcGxlU2VsZWN0b3JDaGVja2VyOworICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
U3RhbGxlZDoKKyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVu
ZChKU0M6OkZ1bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVz
U3RhbGxlZFBzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBs
ZVNlbGVjdG9yQ2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc011dGVk
OgorICAgICAgICBmcmFnbWVudC51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6
RnVuY3Rpb25QdHI8SlNDOjpPcGVyYXRpb25QdHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNNdXRlZFBz
ZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9y
Q2hlY2tlcjsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1ZvbHVtZUxvY2tlZDoK
KyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1
bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9j
a2VkUHNldWRvQ2xhc3MpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2Vs
ZWN0b3JDaGVja2VyOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjc5MTlmYjQ1YjZl
YWQzMzhkY2JhNzFmMzViYjRlYmVhZWFlMGE2Mi4uY2I5ZGU3MTRkODA5OWEyMWJhMWZjYjVkNGIx
MDNjMGU1ZGYzNTJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC0zOTIsNiArMzkyLDE1IEBAIHN0YXRpYyBib29sIG1lZGlhU2Vzc2lvbk1heUJlQ29uZnVz
ZWRXaXRoTWFpbkNvbnRlbnQoY29uc3QgTWVkaWFFbGVtZW50U2Vzc2lvbkluCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGRlZmF1bHRWb2x1bWVMb2NrZWQoKQoreworI2lmIFBM
QVRGT1JNKElPUykKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCit9CisKIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBh
cnNlcikKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgQWN0aXZl
RE9NT2JqZWN0KGRvY3VtZW50KQpAQCAtNDM5LDYgKzQ0OCw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6
OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQm
IGRvY3VtCiAgICAgLCBtX3Byb2Nlc3NpbmdQcmVmZXJlbmNlQ2hhbmdlKGZhbHNlKQogICAgICwg
bV9zaG91bGRBdWRpb1BsYXliYWNrUmVxdWlyZVVzZXJHZXN0dXJlKGRvY3VtZW50LnRvcERvY3Vt
ZW50KCkuYXVkaW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoKSAmJiAhcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlRm9yTWVkaWEoKSkKICAgICAsIG1fc2hvdWxkVmlkZW9QbGF5YmFja1JlcXVpcmVV
c2VyR2VzdHVyZShkb2N1bWVudC50b3BEb2N1bWVudCgpLnZpZGVvUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKCkgJiYgIXByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpCisgICAgLCBt
X3ZvbHVtZUxvY2tlZChkZWZhdWx0Vm9sdW1lTG9ja2VkKCkpCiAjaWYgRU5BQkxFKFdJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkKICAgICAsIG1fcmVtb3RlKFJlbW90ZVBsYXliYWNrOjpjcmVhdGUo
KnRoaXMpKQogI2VuZGlmCkBAIC03NTAsNiArNzYwLDEwIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0
cmluCiAgICAgfQogICAgIGVsc2UKICAgICAgICAgSFRNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KG5hbWUsIHZhbHVlKTsKKworICAgIC8vIENoYW5naW5nIHRoZSAibXV0ZWQiIGF0dHJpYnVlIGNv
dWxkIGFmZmVjdCAiOm11dGVkIgorICAgIGlmIChuYW1lID09IG11dGVkQXR0cikKKyAgICAgICAg
aW52YWxpZGF0ZVN0eWxlKCk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZmluaXNoUGFy
c2luZ0NoaWxkcmVuKCkKQEAgLTExNzcsNyArMTE5MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cHJlcGFyZUZvckxvYWQoKQogICAgICAgICBtX3JlYWR5U3RhdGVNYXhpbXVtID0gSEFWRV9O
T1RISU5HOwogCiAgICAgICAgIC8vIDYuNiAtIElmIHRoZSBwYXVzZWQgYXR0cmlidXRlIGlzIGZh
bHNlLCB0aGVuIHNldCBpdCB0byB0cnVlLgotICAgICAgICBtX3BhdXNlZCA9IHRydWU7CisgICAg
ICAgIHNldFBhdXNlZCh0cnVlKTsKIAogICAgICAgICAvLyA2LjcgLSBJZiBzZWVraW5nIGlzIHRy
dWUsIHNldCBpdCB0byBmYWxzZS4KICAgICAgICAgY2xlYXJTZWVraW5nKCk7CkBAIC0yMjQzLDYg
KzIyNTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE5ldHdvcmtTdGF0ZShNZWRpYVBs
YXllcjo6TmV0d29ya1N0YXRlIHN0YXRlKQogICAgIGlmIChzdGF0ZSA9PSBNZWRpYVBsYXllcjo6
TmV0d29ya1N0YXRlOjpFbXB0eSkgewogICAgICAgICAvLyBKdXN0IHVwZGF0ZSB0aGUgY2FjaGVk
IHN0YXRlIGFuZCBsZWF2ZSwgd2UgY2FuJ3QgZG8gYW55dGhpbmcuCiAgICAgICAgIG1fbmV0d29y
a1N0YXRlID0gTkVUV09SS19FTVBUWTsKKyAgICAgICAgaW52YWxpZGF0ZVN0eWxlKCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIyNzEsNiArMjI4Niw4IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6c2V0TmV0d29ya1N0YXRlKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgc3RhdGUp
CiAgICAgICAgICAgICBjaGFuZ2VOZXR3b3JrU3RhdGVGcm9tTG9hZGluZ1RvSWRsZSgpOwogICAg
ICAgICBtX2NvbXBsZXRlbHlMb2FkZWQgPSB0cnVlOwogICAgIH0KKworICAgIGludmFsaWRhdGVT
dHlsZSgpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNoYW5nZU5ldHdvcmtTdGF0ZUZy
b21Mb2FkaW5nVG9JZGxlKCkKQEAgLTI0ODksNyArMjUwNiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICAg
ICAgICAgIC8vIE5vdGlmeSBhYm91dCBwbGF5aW5nIGZvciB0aGUgZWxlbWVudC4KICAgICAgICAg
ICAgIGF1dG8gY2FuVHJhbnNpdGlvbiA9IGNhblRyYW5zaXRpb25Gcm9tQXV0b3BsYXlUb1BsYXko
KTsKICAgICAgICAgICAgIGlmIChjYW5UcmFuc2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbV9w
YXVzZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBzZXRQYXVzZWQoZmFsc2UpOwogICAgICAg
ICAgICAgICAgIHNldFNob3dQb3N0ZXJGbGFnKGZhbHNlKTsKICAgICAgICAgICAgICAgICBpbnZh
bGlkYXRlQ2FjaGVkVGltZSgpOwogICAgICAgICAgICAgICAgIHNldEF1dG9wbGF5RXZlbnRQbGF5
YmFja1N0YXRlKEF1dG9wbGF5RXZlbnRQbGF5YmFja1N0YXRlOjpTdGFydGVkV2l0aG91dFVzZXJH
ZXN0dXJlKTsKQEAgLTI1MTcsNiArMjUzNCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0
UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICB1cGRhdGVQbGF5
U3RhdGUoKTsKICAgICB1cGRhdGVNZWRpYUNvbnRyb2xsZXIoKTsKICAgICB1cGRhdGVBY3RpdmVU
ZXh0VHJhY2tDdWVzKGN1cnJlbnRNZWRpYVRpbWUoKSk7CisKKyAgICBpbnZhbGlkYXRlU3R5bGUo
KTsKIH0KIAogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQpAQCAtMjg1NywxMSAr
Mjg3NiwxNSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1lckZpcmVk
KCkKICAgICAgICAgaWYgKHByb2dyZXNzKSB7CiAgICAgICAgICAgICBzY2hlZHVsZUV2ZW50KGV2
ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50KTsKICAgICAgICAgICAgIG1fcHJldmlvdXNQcm9ncmVz
c1RpbWUgPSB0aW1lOwotICAgICAgICAgICAgbV9zZW50U3RhbGxlZEV2ZW50ID0gZmFsc2U7Cisg
ICAgICAgICAgICBpZiAobV9zZW50U3RhbGxlZEV2ZW50KSB7CisgICAgICAgICAgICAgICAgbV9z
ZW50U3RhbGxlZEV2ZW50ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgaW52YWxpZGF0ZVN0eWxl
KCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICB1cGRhdGVSZW5kZXJlcigpOwogICAgICAg
ICB9IGVsc2UgaWYgKHRpbWVkZWx0YSA+IDNfcyAmJiAhbV9zZW50U3RhbGxlZEV2ZW50KSB7CiAg
ICAgICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5zdGFsbGVkRXZlbnQpOwogICAg
ICAgICAgICAgbV9zZW50U3RhbGxlZEV2ZW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIGludmFsaWRh
dGVTdHlsZSgpOwogICAgICAgICAgICAgc2V0U2hvdWxkRGVsYXlMb2FkRXZlbnQoZmFsc2UpOwog
ICAgICAgICB9CiAgICAgfSk7CkBAIC0zMzM4LDYgKzMzNjEsMTQgQEAgYm9vbCBIVE1MTWVkaWFF
bGVtZW50OjpwYXVzZWQoKSBjb25zdAogICAgIHJldHVybiBtX3BhdXNlZDsKIH0KIAordm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpzZXRQYXVzZWQoYm9vbCBwYXVzZWQpCit7CisgICAgaWYgKG1fcGF1
c2VkID09IHBhdXNlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fcGF1c2VkID0gcGF1c2VkOwor
ICAgIGludmFsaWRhdGVTdHlsZSgpOworfQorCiBkb3VibGUgSFRNTE1lZGlhRWxlbWVudDo6ZGVm
YXVsdFBsYXliYWNrUmF0ZSgpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAg
LTM1NzQsNyArMzYwNSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVybmFsKCkK
ICAgICAgICAgbV9tZWRpYUNvbnRyb2xsZXItPmJyaW5nRWxlbWVudFVwVG9TcGVlZCgqdGhpcyk7
CiAKICAgICBpZiAobV9wYXVzZWQpIHsKLSAgICAgICAgbV9wYXVzZWQgPSBmYWxzZTsKKyAgICAg
ICAgc2V0UGF1c2VkKGZhbHNlKTsKICAgICAgICAgc2V0U2hvd1Bvc3RlckZsYWcoZmFsc2UpOwog
ICAgICAgICBpbnZhbGlkYXRlQ2FjaGVkVGltZSgpOwogCkBAIC0zNjY1LDcgKzM2OTYsNyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJuYWwoKQogICAgIHNldEF1dG9wbGF5RXZl
bnRQbGF5YmFja1N0YXRlKEF1dG9wbGF5RXZlbnRQbGF5YmFja1N0YXRlOjpOb25lKTsKIAogICAg
IGlmICghbV9wYXVzZWQgJiYgIW1fcGF1c2VkSW50ZXJuYWwpIHsKLSAgICAgICAgbV9wYXVzZWQg
PSB0cnVlOworICAgICAgICBzZXRQYXVzZWQodHJ1ZSk7CiAgICAgICAgIHNjaGVkdWxlVGltZXVw
ZGF0ZUV2ZW50KGZhbHNlKTsKICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkucGF1
c2VFdmVudCk7CiAgICAgICAgIHNjaGVkdWxlUmVqZWN0UGVuZGluZ1BsYXlQcm9taXNlcyhET01F
eGNlcHRpb246OmNyZWF0ZShBYm9ydEVycm9yKSk7CkBAIC0zODAyLDExICszODMzLDUxIEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0TXV0ZWQoYm9vbCBtdXRlZCkKICNlbmRpZgogICAgICAg
ICBtZWRpYVNlc3Npb24oKS5jYW5Qcm9kdWNlQXVkaW9DaGFuZ2VkKCk7CiAgICAgICAgIHVwZGF0
ZVNsZWVwRGlzYWJsaW5nKCk7CisKKyAgICAgICAgaW52YWxpZGF0ZVN0eWxlKCk7CiAgICAgfQog
CiAgICAgc2NoZWR1bGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlclVwZGF0ZSgpOwogfQogCit2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnNldFZvbHVtZUxvY2tlZChib29sIGxvY2tlZCkKK3sKKyAgICBp
ZiAobV92b2x1bWVMb2NrZWQgPT0gbG9ja2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3Zv
bHVtZUxvY2tlZCA9IGxvY2tlZDsKKyAgICBpbnZhbGlkYXRlU3R5bGUoKTsKK30KKworYm9vbCBI
VE1MTWVkaWFFbGVtZW50OjpidWZmZXJpbmcoKSBjb25zdAoreworICAgIC8vIENTUyBTZWxlY3Rv
cnMgTGV2ZWwgNDsgRWRpdG9yJ3MgRHJhZnQsIDIgSnVseSAyMDIxCisgICAgLy8gPGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9zZWxlY3RvcnMvPgorICAgIC8vIDExLjIuIE1lZGlhIExvYWRpbmcg
U3RhdGU6IHRoZSA6YnVmZmVyaW5nIGFuZCA6c3RhbGxlZCBwc2V1ZG8tY2xhc3NlcworICAgIC8v
CisgICAgLy8gVGhlIDpidWZmZXJpbmcgcHNldWRvLWNsYXNzIHJlcHJlc2VudHMgYW4gZWxlbWVu
dCB0aGF0IGlzIGNhcGFibGUgb2YgYmVpbmcg4oCccGxheWVk4oCdIG9yIOKAnHBhdXNlZOKAnSwK
KyAgICAvLyB3aGVuIHRoYXQgZWxlbWVudCBjYW5ub3QgY29udGludWUgcGxheWluZyBiZWNhdXNl
IGl0IGlzIGFjdGl2ZWx5IGF0dGVtcHRpbmcgdG8gb2J0YWluIG1lZGlhIGRhdGEKKyAgICAvLyBi
dXQgaGFzIG5vdCB5ZXQgb2J0YWluZWQgZW5vdWdoIGRhdGEgdG8gcmVzdW1lIHBsYXliYWNrLiAo
Tm90ZSB0aGF0IHRoZSBlbGVtZW50IGlzIHN0aWxsIGNvbnNpZGVyZWQKKyAgICAvLyB0byBiZSDi
gJxwbGF5aW5n4oCdIHdoZW4gaXQgaXMg4oCcYnVmZmVyaW5n4oCdLiBXaGVuZXZlciA6YnVmZmVy
aW5nIG1hdGNoZXMgYW4gZWxlbWVudCwgOnBsYXlpbmcgYWxzbworICAgIC8vIG1hdGNoZXMgdGhl
IGVsZW1lbnQuKQorICAgIHJldHVybiAhcGF1c2VkKCkgJiYgbV9uZXR3b3JrU3RhdGUgPT0gTkVU
V09SS19MT0FESU5HICYmIG1fcmVhZHlTdGF0ZSA8PSBIQVZFX0NVUlJFTlRfREFUQTsKK30KKwor
Ym9vbCBIVE1MTWVkaWFFbGVtZW50OjpzdGFsbGVkKCkgY29uc3QKK3sKKyAgICAvLyBDU1MgU2Vs
ZWN0b3JzIExldmVsIDQ7IEVkaXRvcidzIERyYWZ0LCAyIEp1bHkgMjAyMQorICAgIC8vIDxodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvc2VsZWN0b3JzLz4KKyAgICAvLyAxMS4yLiBNZWRpYSBMb2Fk
aW5nIFN0YXRlOiB0aGUgOmJ1ZmZlcmluZyBhbmQgOnN0YWxsZWQgcHNldWRvLWNsYXNzZXMKKyAg
ICAvLworICAgIC8vIFRoZSA6c3RhbGxlZCBwc2V1ZG8tY2xhc3MgcmVwcmVzZW50cyBhbiBlbGVt
ZW50IHdoZW4gdGhhdCBlbGVtZW50IGNhbm5vdCBjb250aW51ZSBwbGF5aW5nIGJlY2F1c2UKKyAg
ICAvLyBpdCBpcyBhY3RpdmVseSBhdHRlbXB0aW5nIHRvIG9idGFpbiBtZWRpYSBkYXRhIGJ1dCBp
dCBoYXMgZmFpbGVkIHRvIHJlY2VpdmUgYW55IGRhdGEgZm9yIHNvbWUKKyAgICAvLyBhbW91bnQg
b2YgdGltZS4gRm9yIHRoZSBhdWRpbyBhbmQgdmlkZW8gZWxlbWVudHMgb2YgSFRNTCwgdGhpcyBh
bW91bnQgb2YgdGltZSBpcyB0aGUgbWVkaWEgZWxlbWVudAorICAgIC8vIHN0YWxsIHRpbWVvdXQu
IFtIVE1MXSAoTm90ZSB0aGF0LCBsaWtlIHdpdGggdGhlIDpidWZmZXJpbmcgcHNldWRvLWNsYXNz
LCB0aGUgZWxlbWVudCBpcyBzdGlsbAorICAgIC8vIGNvbnNpZGVyZWQgdG8gYmUg4oCccGxheWlu
Z+KAnSB3aGVuIGl0IGlzIOKAnHN0YWxsZWTigJ0uIFdoZW5ldmVyIDpzdGFsbGVkIG1hdGNoZXMg
YW4gZWxlbWVudCwgOnBsYXlpbmcKKyAgICAvLyBhbHNvIG1hdGNoZXMgdGhlIGVsZW1lbnQuKQor
ICAgIHJldHVybiAhcGF1c2VkKCkgJiYgbV9uZXR3b3JrU3RhdGUgPT0gTkVUV09SS19MT0FESU5H
ICYmIG1fcmVhZHlTdGF0ZSA8PSBIQVZFX0NVUlJFTlRfREFUQSAmJiBtX3NlbnRTdGFsbGVkRXZl
bnQ7Cit9CisKICNpZiBVU0UoQVVESU9fU0VTU0lPTikgJiYgUExBVEZPUk0oTUFDKQogdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpoYXJkd2FyZU11dGVkU3RhdGVEaWRDaGFuZ2UoY29uc3QgQXVkaW9T
ZXNzaW9uJiBzZXNzaW9uKQogewpAQCAtNDg0OSw3ICs0OTIwLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjptZWRpYVBsYXllclRpbWVDaGFuZ2VkKCkKICAgICAgICAgICAgIC8vIGhhcyBzdGls
bCBlbmRlZCBwbGF5YmFjayBhbmQgcGF1c2VkIGlzIGZhbHNlLAogICAgICAgICAgICAgaWYgKCFt
X21lZGlhQ29udHJvbGxlciAmJiAhbV9wYXVzZWQpIHsKICAgICAgICAgICAgICAgICAvLyBjaGFu
Z2VzIHBhdXNlZCB0byB0cnVlIGFuZCBmaXJlcyBhIHNpbXBsZSBldmVudCBuYW1lZCBwYXVzZSBh
dCB0aGUgbWVkaWEgZWxlbWVudC4KLSAgICAgICAgICAgICAgICBtX3BhdXNlZCA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgc2V0UGF1c2VkKHRydWUpOwogICAgICAgICAgICAgICAgIHNjaGVkdWxl
RXZlbnQoZXZlbnROYW1lcygpLnBhdXNlRXZlbnQpOwogICAgICAgICAgICAgICAgIG1lZGlhU2Vz
c2lvbigpLmNsaWVudFdpbGxQYXVzZVBsYXliYWNrKCk7CiAgICAgICAgICAgICB9CkBAIC00ODgz
LDcgKzQ5NTQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyVGltZUNoYW5n
ZWQoKQogICAgICAgICAgICAgICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLmVuZGVkRXZl
bnQpOwogICAgICAgICAgICAgICAgIGlmICghd2FzU2Vla2luZykKICAgICAgICAgICAgICAgICAg
ICAgYWRkQmVoYXZpb3JSZXN0cmljdGlvbnNPbkVuZElmTmVjZXNzYXJ5KCk7Ci0gICAgICAgICAg
ICAgICAgbV9wYXVzZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHNldFBhdXNlZCh0cnVlKTsK
ICAgICAgICAgICAgICAgICBzZXRQbGF5aW5nKGZhbHNlKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDExNzZl
Njc0ZjZmMjU5YjFhMjllNTgxZWRjZTVhOGU4NmQ3MjBmY2YuLmFhNmMwZjcyYzFiZTBmMzM0M2Q4
NGQyYTY3NjY3NDRkY2UxMGUxYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCkBAIC0yMzUsNiArMjM1LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGRvdWJs
ZSBnZXRTdGFydERhdGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBkb3VibGUgZHVyYXRp
b24oKSBjb25zdCBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIHBhdXNlZCgpIGNv
bnN0IG92ZXJyaWRlOworICAgIHZvaWQgc2V0UGF1c2VkKGJvb2wpOwogICAgIGRvdWJsZSBkZWZh
dWx0UGxheWJhY2tSYXRlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXREZWZhdWx0UGxh
eWJhY2tSYXRlKGRvdWJsZSkgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgZG91YmxlIHBs
YXliYWNrUmF0ZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtMzE4LDYgKzMxOSwxMSBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBtdXRlZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0TXV0ZWQoYm9vbCkgb3ZlcnJpZGU7CiAKKyAgICBib29sIHZv
bHVtZUxvY2tlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdm9sdW1lTG9ja2VkOyB9CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRWb2x1bWVMb2NrZWQoYm9vbCk7CisgICAgYm9vbCBidWZmZXJpbmco
KSBjb25zdDsKKyAgICBib29sIHN0YWxsZWQoKSBjb25zdDsKKwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgdG9nZ2xlUGxheVN0YXRlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBiZWdpblNj
cnViYmluZygpIG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZW5kU2NydWJiaW5n
KCkgb3ZlcnJpZGU7CkBAIC0xMTA4LDYgKzExMTQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9w
cm9jZXNzaW5nUHJlZmVyZW5jZUNoYW5nZSA6IDE7CiAgICAgYm9vbCBtX3Nob3VsZEF1ZGlvUGxh
eWJhY2tSZXF1aXJlVXNlckdlc3R1cmUgOiAxOwogICAgIGJvb2wgbV9zaG91bGRWaWRlb1BsYXli
YWNrUmVxdWlyZVVzZXJHZXN0dXJlIDogMTsKKyAgICBib29sIG1fdm9sdW1lTG9ja2VkIDogMTsK
IAogICAgIEF1dG9wbGF5RXZlbnRQbGF5YmFja1N0YXRlIG1fYXV0b3BsYXlFdmVudFBsYXliYWNr
U3RhdGUgeyBBdXRvcGxheUV2ZW50UGxheWJhY2tTdGF0ZTo6Tm9uZSB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggMzYxMjRjOGMxMTA2NmZhNTI3MjMwNTliNzU1Njkw
YTdkOTZkN2Y5MC4uNDFlNDUzODdjMGU2ZWFlNzQ1NTgyZWZjY2Q1ODRjZGQwN2MxMjk2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNDU2MSw2ICs0NTYxLDExIEBAIHNp
emVfdCBJbnRlcm5hbHM6Om1lZGlhRWxlbWVudENvdW50KCkgY29uc3QKIHsKICAgICByZXR1cm4g
SFRNTE1lZGlhRWxlbWVudDo6YWxsTWVkaWFFbGVtZW50cygpLnNpemUoKTsKIH0KKwordm9pZCBJ
bnRlcm5hbHM6OnNldE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZChIVE1MTWVkaWFFbGVtZW50JiBl
bGVtZW50LCBib29sIHZvbHVtZUxvY2tlZCkKK3sKKyAgICBlbGVtZW50LnNldFZvbHVtZUxvY2tl
ZCh2b2x1bWVMb2NrZWQpOworfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZWU5NDJkNzhlZDI4
NmM3YjZkZGVlMmFkZWM2MjJlMjk0MjE3NzlhZS4uMjg1NTYwYmVkMTExZDdjYjVkNTdjZTE0NWMy
ODllMTc3NmUxOGNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC05ODEsNiAr
OTgxLDggQEAgcHVibGljOgogICAgIE1lZGlhU2Vzc2lvblN0YXRlIG1lZGlhU2Vzc2lvblN0YXRl
KEhUTUxNZWRpYUVsZW1lbnQmKTsKIAogICAgIHNpemVfdCBtZWRpYUVsZW1lbnRDb3VudCgpIGNv
bnN0OworCisgICAgdm9pZCBzZXRNZWRpYUVsZW1lbnRWb2x1bWVMb2NrZWQoSFRNTE1lZGlhRWxl
bWVudCYsIGJvb2wpOwogI2VuZGlmCiAKICAgICB2b2lkIHNldENhcHR1cmVFeHRyYU5ldHdvcmtM
b2FkTWV0cmljc0VuYWJsZWQoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
aW5kZXggYTQxZDkxNDc3MGE5OWQzM2M2NmE5M2MxNzE0ZjlhNTY4NDRkMmM4ZS4uNDM4NTQxMWU4
ZGZlN2M1ZTBjODc5MTE0NjJiMGEzOTVkYTRkNjcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbApAQCAtOTU3LDYgKzk1Nyw3IEBAIGVudW0gQXV0b3BsYXlQb2xpY3kgewogICAg
IFtDb25kaXRpb25hbD1WSURFT10gTWVkaWFVc2FnZVN0YXRlIG1lZGlhVXNhZ2VTdGF0ZShIVE1M
TWVkaWFFbGVtZW50IGVsZW1lbnQpOwogICAgIFtDb25kaXRpb25hbD1WSURFT10gYm9vbGVhbiBl
bGVtZW50U2hvdWxkRGlzcGxheVBvc3RlckltYWdlKEhUTUxWaWRlb0VsZW1lbnQgZWxlbWVudCk7
CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBtZWRpYUVsZW1lbnRDb3VudDsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9dIHVuZGVmaW5lZCBz
ZXRNZWRpYUVsZW1lbnRWb2x1bWVMb2NrZWQoSFRNTE1lZGlhRWxlbWVudCBlbGVtZW50LCBib29s
ZWFuIHZvbHVtZUxvY2tlZCk7CiAKICAgICBET01TdHJpbmcgb25nb2luZ0xvYWRzRGVzY3JpcHRp
b25zKCk7CiAgICAgdW5kZWZpbmVkIHNldENhcHR1cmVFeHRyYU5ldHdvcmtMb2FkTWV0cmljc0Vu
YWJsZWQoYm9vbGVhbiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTAwNjU4MjMzMmM2ZjAyNjkwOTBkZDQ4YTc3
NDVkYjFiNzFmOGMzMy4uZTliNWI2NGE0OTc4NjhmNmUzZDBiOGFmOGUzYTEwZjhhMzZlNmZlYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA4LTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBuZXcgcHNldWRvLXNlbGVjdG9y
cyBmb3IgbWVkaWEgZnJvbSBDU1MgU2VsZWN0b3JzIExldmVsIDQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk0MzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jc3MtbXV0ZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jc3MtbXV0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogbWVkaWEvbWVkaWEtY3NzLXBsYXlpbmctcGF1c2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbWVkaWEtY3NzLXBsYXlpbmctcGF1c2VkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21lZGlhLWNzcy12b2x1bWUtbG9ja2VkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1sb2NrZWQu
aHRtbDogQWRkZWQuCisKIDIwMjEtMDgtMDUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVu
dC5odG1sIGlzIGEgZmxha3kgdGltZW91dCBvbiBCaWcgU3VyIHdrMSBSZWxlYXNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtbXV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLW11dGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
NTVmY2RmNDViYmFmZmU0ZDhlNDQ0OGE0NWZmODQ1NjhkZmMzMzBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLW11dGVkLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDExIEBACisKK1JVTih2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250
ZW50L3Rlc3QiKSkKK0VWRU5UKGNhbnBsYXkpCitFWFBFQ1RFRCAodmlkZW8ubXV0ZWQgPT0gJ2Zh
bHNlJykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzptdXRlZCIp
ID09ICdudWxsJykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpu
b3QoOm11dGVkKSIpID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK1JVTih2aWRl
by5tdXRlZCA9IHRydWUpCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86
bXV0ZWQiKSA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDptdXRlZCkiKSA9PSAnbnVsbCcpIE9LCitF
TkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtbXV0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1tdXRlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkzNmExMzg3MjY1YTk1ZTZlYjU4OTlmZjE0OGQ4MDEwYzkwOTY3N2QKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtbXV0ZWQuaHRtbApAQCAtMCwwICsx
LDI1IEBACis8IWRvY3R5cGUgSFRNTD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPm1lZGlh
LWNzcy1tdXRlZDwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9InZpZGVvLXRlc3QuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSJtZWRpYS1maWxlLmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZXZlbnQgPT4g
eworICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisgICAgICAgIHJ1bigndmlkZW8uc3JjID0g
ZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IiknKTsKKyAgICAgICAgYXdhaXQg
d2FpdEZvcih2aWRlbywgJ2NhbnBsYXknKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby5t
dXRlZCcsIGZhbHNlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCJ2aWRlbzptdXRlZCIpJywgbnVsbCk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1l
bnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDptdXRlZCkiKScsIHZpZGVvKTsKKyAgICAgICAg
cnVuKCd2aWRlby5tdXRlZCA9IHRydWUnKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzptdXRlZCIpJywgdmlkZW8pOworICAgICAgICB0ZXN0RXhw
ZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOm5vdCg6bXV0ZWQpIiknLCBudWxs
KTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0pOworICAgIDwvc2NyaXB0PgorPGhlYWQ+Cis8
Ym9keT4KKyAgICA8dmlkZW8+PC92aWRlbz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1wbGF5aW5nLXBhdXNlZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtcGxheWluZy1wYXVzZWQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAwYjZlMTA2MThkYWZiNzk3ODZkZjRiZWVlZDY1N2NiZDkyNDFjYzEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3MtcGxheWluZy1wYXVz
ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKKworUlVOKHZpZGVvLnNyYyA9IGZpbmRN
ZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpKQorRVZFTlQoY2FucGxheSkKK0VYUEVD
VEVEICh2aWRlby5wYXVzZWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoInZpZGVvOnBsYXlpbmciKSA9PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZG9jdW1l
bnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDpwbGF5aW5nKSIpID09ICdbb2JqZWN0IEhUTUxW
aWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRl
bzpwYXVzZWQiKSA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAo
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDpwYXVzZWQpIikgPT0gJ251bGwnKSBP
SworUlVOKHZpZGVvLnBsYXkoKSkKK0VWRU5UKHBsYXlpbmcpCitFWFBFQ1RFRCAoZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigidmlkZW86cGxheWluZyIpID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1l
bnRdJykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBs
YXlpbmcpIikgPT0gJ251bGwnKSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
InZpZGVvOnBhdXNlZCIpID09ICdudWxsJykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJ2aWRlbzpub3QoOnBhdXNlZCkiKSA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50
XScpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1jc3MtcGxheWluZy1wYXVzZWQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy1w
bGF5aW5nLXBhdXNlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZTk4YmM3MzJkZTk3OGY3ZTI2MGY2Yzlj
MmE4YWUwYzNlYTMyNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1jc3MtcGxheWluZy1wYXVzZWQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IWRvY3R5cGUgSFRN
TD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPm1lZGlhLWNzcy1wbGF5aW5nLXBhdXNlZDwv
dGl0bGU+CisgICAgPHNjcmlwdCBzcmM9InZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSJtZWRpYS1maWxlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZXZlbnQgPT4geworICAgICAgICBm
aW5kTWVkaWFFbGVtZW50KCk7CisgICAgICAgIHJ1bigndmlkZW8uc3JjID0gZmluZE1lZGlhRmls
ZSgidmlkZW8iLCAiY29udGVudC90ZXN0IiknKTsKKyAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRl
bywgJ2NhbnBsYXknKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby5wYXVzZWQnLCB0cnVl
KTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpw
bGF5aW5nIiknLCBudWxsKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJ2aWRlbzpub3QoOnBsYXlpbmcpIiknLCB2aWRlbyk7CisgICAgICAgIHRlc3RFeHBl
Y3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86cGF1c2VkIiknLCB2aWRlbyk7Cisg
ICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDpw
YXVzZWQpIiknLCBudWxsKTsKKyAgICAgICAgcnVuKCd2aWRlby5wbGF5KCknKTsKKyAgICAgICAg
YXdhaXQgd2FpdEZvcih2aWRlbywgJ3BsYXlpbmcnKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpwbGF5aW5nIiknLCB2aWRlbyk7CisgICAgICAg
IHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86bm90KDpwbGF5aW5n
KSIpJywgbnVsbCk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigidmlkZW86cGF1c2VkIiknLCBudWxsKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzpub3QoOnBhdXNlZCkiKScsIHZpZGVvKTsKKyAgICAgICAg
ZW5kVGVzdCgpOworICAgIH0pOworICAgIDwvc2NyaXB0PgorPGhlYWQ+Cis8Ym9keT4KKyAgICA8
dmlkZW8gbG9vcD48L3ZpZGVvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1sb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1sb2NrZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzZWI1OGQ0YWE0YmJhZmIyY2U3ZjQxMjUzNmVlNjJiZTg0ZTE4OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jc3Mtdm9sdW1lLWxvY2tlZC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitSVU4odmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgi
dmlkZW8iLCAiY29udGVudC90ZXN0IikpCitFVkVOVChjYW5wbGF5KQorUlVOKGludGVybmFscy5z
ZXRNZWRpYUVsZW1lbnRWb2x1bWVMb2NrZWQodmlkZW8sIGZhbHNlKSkKK0VYUEVDVEVEIChkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzp2b2x1bWUtbG9ja2VkIikgPT0gJ251bGwnKSBPSwor
RVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOm5vdCg6dm9sdW1lLWxvY2tl
ZCkiKSA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitSVU4oaW50ZXJuYWxzLnNl
dE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZCh2aWRlbywgdHJ1ZSkpCitFWFBFQ1RFRCAoZG9jdW1l
bnQucXVlcnlTZWxlY3RvcigidmlkZW86dm9sdW1lLWxvY2tlZCIpID09ICdbb2JqZWN0IEhUTUxW
aWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRl
bzpub3QoOnZvbHVtZS1sb2NrZWQpIikgPT0gJ251bGwnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY3NzLXZvbHVtZS1sb2NrZWQuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy12b2x1bWUtbG9ja2VkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGEyNWRjMzRkZjFkYjFlMjY0MjRjYjAxZGJlN2ViN2VlYzIyZTY3ZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNzcy12b2x1bWUtbG9ja2VkLmh0bWwKQEAg
LTAsMCArMSwyNSBAQAorPCFkb2N0eXBlIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRs
ZT5tZWRpYS1jc3MtbXV0ZWQ8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0ibWVkaWEtZmlsZS5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGFzeW5jIGV2
ZW50ID0+IHsKKyAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworICAgICAgICBydW4oJ3ZpZGVv
LnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7CisgICAgICAg
IGF3YWl0IHdhaXRGb3IodmlkZW8sICdjYW5wbGF5Jyk7CisgICAgICAgIHJ1bignaW50ZXJuYWxz
LnNldE1lZGlhRWxlbWVudFZvbHVtZUxvY2tlZCh2aWRlbywgZmFsc2UpJyk7CisgICAgICAgIHRl
c3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86dm9sdW1lLWxvY2tlZCIp
JywgbnVsbCk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigi
dmlkZW86bm90KDp2b2x1bWUtbG9ja2VkKSIpJywgdmlkZW8pOworICAgICAgICBydW4oJ2ludGVy
bmFscy5zZXRNZWRpYUVsZW1lbnRWb2x1bWVMb2NrZWQodmlkZW8sIHRydWUpJyk7CisgICAgICAg
IHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86dm9sdW1lLWxvY2tl
ZCIpJywgdmlkZW8pOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoInZpZGVvOm5vdCg6dm9sdW1lLWxvY2tlZCkiKScsIG51bGwpOworICAgICAgICBlbmRUZXN0
KCk7CisgICAgfSk7CisgICAgPC9zY3JpcHQ+Cis8aGVhZD4KKzxib2R5PgorICAgIDx2aWRlbz48
L3ZpZGVvPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>