<?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>235533</bug_id>
          
          <creation_ts>2022-01-24 12:11:42 -0800</creation_ts>
          <short_desc>[WebAuthn] We should pass extensions to ASC if possible</short_desc>
          <delta_ts>2022-01-26 16:04:35 -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>WebKit Misc.</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="pascoe@apple.com">pascoe</reporter>
          <assigned_to name="pascoe@apple.com">pascoe</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1833423</commentid>
    <comment_count>0</comment_count>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2022-01-24 12:11:42 -0800</bug_when>
    <thetext>Google.com relies on the googleLegacyAppidSupport extensions, however this information doesn&apos;t currently get passed to ASC. This patch starts to pass it if the associated classes are available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833424</commentid>
    <comment_count>1</comment_count>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2022-01-24 12:11:59 -0800</bug_when>
    <thetext>rdar://87169406</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833429</commentid>
    <comment_count>2</comment_count>
      <attachid>449842</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2022-01-24 12:22:08 -0800</bug_when>
    <thetext>Created attachment 449842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833437</commentid>
    <comment_count>3</comment_count>
      <attachid>449844</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2022-01-24 12:33:26 -0800</bug_when>
    <thetext>Created attachment 449844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833452</commentid>
    <comment_count>4</comment_count>
      <attachid>449848</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2022-01-24 13:37:05 -0800</bug_when>
    <thetext>Created attachment 449848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833508</commentid>
    <comment_count>5</comment_count>
      <attachid>449865</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2022-01-24 14:57:35 -0800</bug_when>
    <thetext>Created attachment 449865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833539</commentid>
    <comment_count>6</comment_count>
      <attachid>449875</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2022-01-24 15:47:34 -0800</bug_when>
    <thetext>Created attachment 449875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834310</commentid>
    <comment_count>7</comment_count>
      <attachid>449875</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-01-26 15:10:56 -0800</bug_when>
    <thetext>Comment on attachment 449875
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834340</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-26 16:04:31 -0800</bug_when>
    <thetext>Committed r288652 (246460@main): &lt;https://commits.webkit.org/246460@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449875.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449842</attachid>
            <date>2022-01-24 12:22:08 -0800</date>
            <delta_ts>2022-01-24 12:33:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235533-20220124122208.patch</filename>
            <type>text/plain</type>
            <size>32496</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmU1ZWQwMmMzNDMwMGMw
OWIyOWYwNDViZjVhYTg2OWI4YzVmMThjYS4uNDNmYTYzNzQ1OTdjZTNiOTdhMzYzM2I5MjRhY2Y2
NjViNTJmNTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAxLTI0ICBKIFBh
c2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFdlIHNob3Vs
ZCBwYXNzIGV4dGVuc2lvbnMgdG8gQVNDIGlmIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU1MzMKKyAgICAgICAgcmRhcjovLzg3MTY5
NDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2Vu
ZXJhdGVkIGZpbGUgY2hhbmdlLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisKIDIwMjItMDEtMjQgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFw
cGxlLmNvbT4KIAogICAgICAgICBTaW1wbGlmeSBhY2Nlc3NlcyB0byBTeXN0ZW1WZXJzaW9uLnBs
aXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGY2NDFmYTgzMDZjOWVjYTJmM2QzY2YzODA4NzZjYmJiZTdhMDE3NzAu
LjhmMWYxODk3YzM5ZjVhNDViYjhkOTk1NTdiNjUyYmY0ODMzMThjZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzUgQEAKKzIwMjItMDEtMjQgIEogUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgor
CisgICAgICAgIFtXZWJBdXRobl0gV2Ugc2hvdWxkIHBhc3MgZXh0ZW5zaW9ucyB0byBBU0MgaWYg
cG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNTUzMworICAgICAgICByZGFyOi8vODcxNjk0MDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHN0YXJ0cyBwYXNzaW5nIFdlYkF1
dGhuIGV4dGVuc2lvbnMgdG8gQVNDIGlmIHBvc3NpYmxlLAorICAgICAgICBpbiBvcmRlciB0byBz
dXBwb3J0IHRoZSBnb29nbGVMZWdhY3lBcHBpZFN1cHBvcnQgZXh0ZW5zaW9uLCB3aGljaAorICAg
ICAgICBpcyByZXF1aXJlZCB0byByZWdpc3RlciBzZWN1cml0eSBrZXlzIG9uIGdvb2dsZS5jb20u
IEl0IGFsc28gc3RhcnRzCisgICAgICAgIHBhc3NpbmcgdGhlIGF0dGVzdGF0aW9uUHJlZmVyZW5j
ZSBvcHRpb24sIHdoaWNoIHdhcyBub3QgYmVpbmcgcGFzc2VkIGJlZm9yZS4KKworICAgICAgICBU
ZXN0czogVGVzdFdlYktpdEFQSS5XZWJBdXRoZW50aWNhdGlvblBhbmVsLlB1YmxpY0tleUNyZWRl
bnRpYWxSZXF1ZXN0T3B0aW9uc0FTQworICAgICAgICBhbmQgVGVzdFdlYktpdEFQSS5XZWJBdXRo
ZW50aWNhdGlvblBhbmVsLlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnNBU0MKKwor
ICAgICAgICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQ
SS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRpb25FeHRl
bnNpb25zQ2xpZW50SW5wdXRzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAgICAoYXV0aGVudGljYXRpb25FeHRlbnNp
b25zQ2xpZW50SW5wdXRzKToKKyAgICAgICAgKCtbX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBj
b250ZXh0Rm9ySGFzaDpvcHRpb25zOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEZvclRlc3RpbmcuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0
TGluay5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRo
ZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5t
bToKKyAgICAgICAgKFdlYktpdDo6dG9OU1N0cmluZyk6CisgICAgICAgIChXZWJLaXQ6OnRvQVND
RXh0ZW5zaW9ucyk6CisgICAgICAgIChXZWJLaXQ6OmNvbmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVl
c3RDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6Y29uZmlndXJhdGlvbkFzc2VydGlvblJlcXVl
c3RDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMS0yNCAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1
ZXNhZGFAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5IGFjY2Vzc2VzIHRvIFN5c3RlbVZl
cnNpb24ucGxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKaW5kZXggNTgxODRhMzRmYzBkMWU0YjI4MWEyZjdhNmE1Nzc0ZWI0NmNmZjQ4Yi4u
ZDA0MzA2MWRiNDZhYTE5NDVhNGVjYWE3ZTg5NDUzNzgxNDhkMGM4OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTI5NDMsNiArMjk0
Myw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1NlbGVj
dG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMuaWRs
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9TZXR0aW5ncy5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1NldHRpbmdz
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1NoYWRvd1Jl
YWxtR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMuaWRsCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9TdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9TdHlsZUJ1aWxkZXJHZW5lcmF0ZWQu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9TdHlsZVBy
b3BlcnR5U2hvcnRoYW5kRnVuY3Rpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9zcGkvQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaCBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJ
LmgKaW5kZXggNTgwZmNkY2UzYzYxNWEyMWEwYjRjYzI3OTRhYTNmZTQzNWNmZWU1OC4uZDIyYWIy
Y2I3ZGE1MzVjYjVhNDI1MDAxYjgzMzdmNWFmNTg0MjZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNQSS5oCkBAIC0xMzMsNiArMTMzLDE3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIEFTQ1NlY3VyaXR5S2V5UHVibGljS2V5Q3JlZGVudGlhbEtpbmQpIHsKIAogQGVuZAogCitA
Y2xhc3MgQVNDV2ViQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzOworCitAaW50
ZXJmYWNlIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyA6IE5TT2Jq
ZWN0IDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5nPgorCistIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhBcHBJRDooTlNTdHJpbmcgKiBfTnVsbGFibGUpYXBwSUQgaXNHb29nbGVMZWdhY3lBcHBJRFN1
cHBvcnQ6KEJPT0wpaXNHb29nbGVMZWdhY3lBcHBJRFN1cHBvcnQgTlNfREVTSUdOQVRFRF9JTklU
SUFMSVpFUjsKKworQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5KSBOU1N0cmlu
ZyAqYXBwSUQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBpc0dvb2dsZUxlZ2FjeUFwcElE
U3VwcG9ydDsKKworQGVuZAorCiBAY2xhc3MgQVNDUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0
b3I7CiAKIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBBU0NQdWJsaWNLZXlDcmVkZW50aWFs
S2luZCkgewpAQCAtMTUyLDYgKzE2Myw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBB
U0NQdWJsaWNLZXlDcmVkZW50aWFsS2luZCkgewogLy8gSWYgY2xpZW50RGF0YUhhc2ggaXMgbnVs
bCwgdGhlbiBnZXRzIGdlbmVyYXRlZCBmcm9tIGNoYWxsZW5nZSBhbmQgcmVseWluZ1BhcnR5SWRl
bnRpZmllci4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNEYXRhICpj
bGllbnREYXRhSGFzaDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgcmVhZG9ubHks
IGNvcHkpIE5TU3RyaW5nICp1c2VyVmVyaWZpY2F0aW9uUHJlZmVyZW5jZTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgQVNDV2ViQXV0aGVudGljYXRpb25FeHRlbnNpb25z
Q2xpZW50SW5wdXRzICpleHRlbnNpb25zOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFi
bGUsIHJlYWRvbmx5LCBjb3B5KSBOU0FycmF5PEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlw
dG9yICo+ICphbGxvd2VkQ3JlZGVudGlhbHM7CiAKQEAgLTE3OCw2ICsxOTAsOCBAQCB0eXBlZGVm
IE5TX09QVElPTlMoTlNVSW50ZWdlciwgQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlcykgewogQHBy
b3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICp1c2VyRGlzcGxheU5hbWU7CiBAcHJv
cGVydHkgKG5vbmF0b21pYywgY29weSkgTlNBcnJheTxOU051bWJlciAqPiAqc3VwcG9ydGVkQWxn
b3JpdGhtSWRlbnRpZmllcnM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkp
IE5TU3RyaW5nICp1c2VyVmVyaWZpY2F0aW9uUHJlZmVyZW5jZTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKmF0dGVzdGF0aW9uUHJlZmVyZW5jZTsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgQVNDV2ViQXV0aGVudGljYXRpb25F
eHRlbnNpb25zQ2xpZW50SW5wdXRzICpleHRlbnNpb25zOwogCiBAcHJvcGVydHkgKG5vbmF0b21p
YykgQk9PTCBzaG91bGRSZXF1aXJlUmVzaWRlbnRLZXk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSkgTlNBcnJheTxBU0NQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvciAqPiAqZXhjbHVk
ZWRDcmVkZW50aWFsczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGll
bnRJbnB1dHMuaAppbmRleCAxNjUwOTZiZmEwNTY4NjdjZGQwNTVjN2JhODJjZDdjNzU3ZDY4YmIw
Li5mN2E5MTY2YzE5ZjBiNjA3YzkyZjUwZGRiOWY5MzYzMjM5MjUyZmYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRpb25FeHRlbnNp
b25zQ2xpZW50SW5wdXRzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cy5oCkBAIC0zNSw2ICszNSw3
IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKQogQGludGVyZmFj
ZSBfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgOiBOU09iamVjdAogCiBA
cHJvcGVydHkgKG51bGxhYmxlLCBub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICphcHBpZDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGdvb2dsZUxlZ2FjeUFwcGlkU3VwcG9ydDsKIAogQGVu
ZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vi
QXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGJiNmE4ZGVmM2RjZTQ0MjQ5MjYw
MjMzNmZlM2QyY2I4YTEyYmEwMzQuLjZiNDRmNjkwYmEyZDk0OTFiMmRmZDQ4Njc1NDVmM2VjMWMx
OGQ5NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0zMSw2ICszMSw3IEBACiAj
aW1wb3J0ICJMb2NhbFNlcnZpY2UuaCIKICNpbXBvcnQgIldLRXJyb3IuaCIKICNpbXBvcnQgIldl
YkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaCIKKyNpbXBvcnQgIldlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvclByb3h5LmgiCiAjaW1wb3J0ICJfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnND
bGllbnRJbnB1dHMuaCIKICNpbXBvcnQgIl9XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVu
dE91dHB1dHNJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLQXV0aGVudGljYXRvckFzc2VydGlvblJl
c3BvbnNlSW50ZXJuYWwuaCIKQEAgLTUyNSw3ICs1MjYsNyBAQCBzdGF0aWMgV2ViQ29yZTo6QXV0
aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIGF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9u
c0NsaQogewogICAgIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0
cyByZXN1bHQ7CiAgICAgcmVzdWx0LmFwcGlkID0gZXh0ZW5zaW9ucy5hcHBpZDsKLSAgICByZXN1
bHQuZ29vZ2xlTGVnYWN5QXBwaWRTdXBwb3J0ID0gZmFsc2U7CisgICAgcmVzdWx0Lmdvb2dsZUxl
Z2FjeUFwcGlkU3VwcG9ydCA9IGV4dGVuc2lvbnMuZ29vZ2xlTGVnYWN5QXBwaWRTdXBwb3J0Owog
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTYyMCw2ICs2MjEsMTggQEAgc3RhdGljIFJldGFp
blB0cjxfV0tBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZT4gd2tBdXRoZW50aWNhdG9y
QXR0ZXN0YXRpb24KICAgICByZXR1cm4gcmVzdWx0OwogfQogCisrIChBU0NDcmVkZW50aWFsUmVx
dWVzdENvbnRleHQgKiljb250ZXh0Rm9ySGFzaDooTlNEYXRhICopaGFzaCBvcHRpb25zOihzdGQ6
OnZhcmlhbnQ8V2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucywgV2Vi
Q29yZTo6UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zPilvcHRpb25zCit7CisgICAg
V2ViS2l0OjpXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhIHJlcXVlc3REYXRhOworI2lmIEhB
VkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKKyAgICByZXF1ZXN0RGF0YS5oYXNoID0gdmVjdG9yRnJv
bU5TRGF0YShoYXNoKTsKKyAgICByZXF1ZXN0RGF0YS5vcHRpb25zID0gb3B0aW9uczsKKyAgICBy
ZXR1cm4gV2ViS2l0OjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6Y29udGV4dEZv
clJlcXVlc3QoV1RGTW92ZShyZXF1ZXN0RGF0YSkpLmF1dG9yZWxlYXNlKCk7CisjZWxzZQorICAg
IHJldHVybiBOVUxMOworI2VuZGlmIC8vIEhBVkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKK30KKwog
I2lmIEVOQUJMRShXRUJfQVVUSE4pCiBzdGF0aWMgUmV0YWluUHRyPF9XS0F1dGhlbnRpY2F0b3JB
c3NlcnRpb25SZXNwb25zZT4gd2tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UoY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSYgZGF0YSwgTlNEYXRhICpjbGllbnRE
YXRhSlNPTiwgV2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQgYXR0YWNobWVudCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsRm9yVGVzdGluZy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxGb3JUZXN0aW5nLmgKaW5kZXggYzFiM2Rm
MGU0MThjNjgwYjQ2MjNkNzhiM2Q3MzkxNDI5MmQ3NGJlZi4uMDYzYWYxMGFkZGJiNGIxZDU0MDg1
NjA2ZmJlZDQwYzZhZDZkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxGb3JUZXN0aW5nLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxG
b3JUZXN0aW5nLmgKQEAgLTMyLDEyICszMiwzOSBAQCBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlh
bENyZWF0aW9uT3B0aW9uczsKIHN0cnVjdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnM7CiB9CiAKK25hbWVzcGFjZSBXZWJLaXQgeworc3RydWN0IFdlYkF1dGhlbnRpY2F0aW9uUmVx
dWVzdERhdGE7Cit9CisKK0BpbnRlcmZhY2UgQVNDV2ViQXV0aGVudGljYXRpb25FeHRlbnNpb25z
Q2xpZW50SW5wdXRzIDogTlNPYmplY3QgPE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+CistIChp
bnN0YW5jZXR5cGUpaW5pdFdpdGhBcHBJRDooTlNTdHJpbmcgKiBfTnVsbGFibGUpYXBwSUQgaXNH
b29nbGVMZWdhY3lBcHBJRFN1cHBvcnQ6KEJPT0wpaXNHb29nbGVMZWdhY3lBcHBJRFN1cHBvcnQg
TlNfREVTSUdOQVRFRF9JTklUSUFMSVpFUjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJs
ZSwgY29weSkgTlNTdHJpbmcgKmFwcElEOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNH
b29nbGVMZWdhY3lBcHBJRFN1cHBvcnQ7CitAZW5kCisKK0BpbnRlcmZhY2UgQVNDUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKmF0dGVzdGF0aW9u
UHJlZmVyZW5jZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgQVNDV2Vi
QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzICpleHRlbnNpb25zOworQGVuZAor
CitAaW50ZXJmYWNlIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zIDogTlNP
YmplY3QgPE5TU2VjdXJlQ29kaW5nPgorQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCBj
b3B5KSBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgKmV4dGVuc2lv
bnM7CisKK0BlbmQKKworQGludGVyZmFjZSBBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQgOiBO
U09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUs
IGNvcHkpIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgKnNlY3VyaXR5S2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJs
ZSwgY29weSkgQVNDUHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlvbk9wdGlvbnMgKnNlY3VyaXR5
S2V5Q3JlZGVudGlhbEFzc2VydGlvbk9wdGlvbnM7CitAZW5kCisKIFdLX0NMQVNTX0FWQUlMQUJM
RShtYWNvcygxMi4wKSwgaW9zKDE1LjApKQogQGludGVyZmFjZSBfV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsIChXS1Rlc3RpbmcpCiAKICsgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnMpY29udmVydFRvQ29yZUNyZWF0aW9uT3B0aW9uc1dpdGhPcHRpb25zOihfV0tQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zICopb3B0aW9ucyBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOwogKyAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVu
dGlhbFJlcXVlc3RPcHRpb25zKWNvbnZlcnRUb0NvcmVSZXF1ZXN0T3B0aW9uc1dpdGhPcHRpb25z
OihfV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgKilvcHRpb25zIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAKKysgKEFTQ0NyZWRlbnRpYWxSZXF1
ZXN0Q29udGV4dCAqKWNvbnRleHRGb3JIYXNoOihOU0RhdGEgKiloYXNoIG9wdGlvbnM6KHN0ZDo6
dmFyaWFudDxXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLCBXZWJD
b3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnM+KW9wdGlvbnM7CisKICsgKE5T
QXJyYXk8TlNEaWN0aW9uYXJ5ICo+ICopZ2V0QWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlh
bHNXaXRoQWNjZXNzR3JvdXA6KE5TU3RyaW5nICopYWNjZXNzR3JvdXAgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKIAogLy8gRm9yIGRldGFpbHMgb2YgY29uZmlndXJh
dGlvbiwgcmVmZXIgdG8gTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2Ev
QXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVT
b2Z0TGluay5oCmluZGV4IGIzYTc5YzA3YWJhMmNiYWZlZWZlZmM2YzY3Y2FlMTM2ZjcyMjI1MTku
LjdiNjk4NzhjYzExYmI0OGYyM2M0NjdlZDQxMzg4MDVhMzRlNmFmNjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0
aW9uU2VydmljZXNDb3JlU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5r
LmgKQEAgLTQwLDYgKzQwLDcgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBB
U0NBdXRob3JpemF0aW9uUHJlc2VudGF0aW9uQ29udGV4dCk7CiBTT0ZUX0xJTktfQ0xBU1NfRk9S
X0hFQURFUihXZWJLaXQsIEFTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXIpOwogU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBBU0NBdXRob3JpemF0aW9uUmVtb3RlUHJlc2VudGVyKTsK
IFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDQ3JlZGVudGlhbFJlcXVlc3RD
b250ZXh0KTsKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDV2ViQXV0aGVu
dGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVB
REVSKFdlYktpdCwgQVNDUGxhdGZvcm1QdWJsaWNLZXlDcmVkZW50aWFsQXNzZXJ0aW9uKTsKIFNP
RlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDUGxhdGZvcm1QdWJsaWNLZXlDcmVk
ZW50aWFsTG9naW5DaG9pY2UpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBB
U0NQbGF0Zm9ybVB1YmxpY0tleUNyZWRlbnRpYWxSZWdpc3RyYXRpb24pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGlj
YXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsu
bW0KaW5kZXggYTIzYWM1M2E3YmMxOWEyZTI1MjVlZDM2OTIwZDBkZGMzNGYzMjg2ZC4uMGJiNmZk
ZmQ0MmYzMzVmMzkzNGNiYWYwODVmNTY0NWU5MjE3M2IwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2
aWNlc0NvcmVTb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1tCkBA
IC00MCw2ICs0MCw3IEBAIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0aGVu
dGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ0F1dGhvcml6YXRpb25QCiBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NBdXRob3Jp
emF0aW9uUHJlc2VudGVyKTsKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0
aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ0F1dGhvcml6YXRpb25SZW1vdGVQcmVzZW50ZXIp
OwogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZSwgQVNDQ3JlZGVudGlhbFJlcXVlc3RDb250ZXh0KTsKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX09QVElPTkFMKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFT
Q1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyk7CiBTT0ZUX0xJTktfQ0xB
U1NfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NQbGF0
Zm9ybVB1YmxpY0tleUNyZWRlbnRpYWxBc3NlcnRpb24pOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9T
T1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDUGxhdGZvcm1QdWJs
aWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2UpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0Uo
V2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDUGxhdGZvcm1QdWJsaWNLZXlD
cmVkZW50aWFsUmVnaXN0cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2Ev
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubW0KaW5kZXggZWQzMmM4YjQzYjEzZmRh
N2U4ODQwNzY0YmZmM2U4MWQ3Nzk0NTMwYS4uYzVjMzk0YWQ3ZWVmMDU3NDlkMzVlNDRiYjI5MTU5
NzNjMDVmZGY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yUHJveHkubW0KQEAgLTY5LDYgKzY5LDIwIEBAIHN0YXRpYyBpbmxp
bmUgUmV0YWluUHRyPE5TU3RyaW5nPiB0b05TU3RyaW5nKFVzZXJWZXJpZmljYXRpb25SZXF1aXJl
bWVudCB1c2VyVmVyCiAgICAgcmV0dXJuIEAicHJlZmVycmVkIjsKIH0KIAorc3RhdGljIGlubGlu
ZSBSZXRhaW5QdHI8TlNTdHJpbmc+IHRvTlNTdHJpbmcoQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJl
ZmVyZW5jZSBhdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlKQoreworICAgIHN3aXRjaCAo
YXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZSkgeworICAgIGNhc2UgQXR0ZXN0YXRpb25D
b252ZXlhbmNlUHJlZmVyZW5jZTo6RGlyZWN0OgorICAgICAgICByZXR1cm4gQCJkaXJlY3QiOwor
ICAgIGNhc2UgQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZTo6SW5kaXJlY3Q6CisgICAg
ICAgIHJldHVybiBAImluZGlyZWN0IjsKKyAgICBjYXNlIEF0dGVzdGF0aW9uQ29udmV5YW5jZVBy
ZWZlcmVuY2U6Ok5vbmU6CisgICAgICAgIHJldHVybiBAIm5vbmUiOworICAgIH0KKworICAgIHJl
dHVybiBAIm5vbmUiOworfQorCiBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbkNvZGUgdG9FeGNlcHRp
b25Db2RlKE5TSW50ZWdlciBuc0Vycm9yQ29kZSkKIHsKICAgICBFeGNlcHRpb25Db2RlIGV4Y2Vw
dGlvbkNvZGUgPSAoRXhjZXB0aW9uQ29kZSluc0Vycm9yQ29kZTsKQEAgLTE1MCw2ICsxNjQsMTQg
QEAgc3RhdGljIGlubGluZSBSZXRhaW5QdHI8QVNDUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0
b3I+IHRvQVNDRGVzY3JpcHRvcihQdWJsaWMKICAgICByZXR1cm4gYWRvcHROUyhbYWxsb2NBU0NQ
dWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvckluc3RhbmNlKCkgaW5pdFdpdGhDcmVkZW50aWFs
SUQ6V2ViQ29yZTo6dG9OU0RhdGEoZGVzY3JpcHRvci5pZCkuZ2V0KCkgdHJhbnNwb3J0czp0cmFu
c3BvcnRzLmdldCgpXSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgUmV0YWluUHRyPEFTQ1dlYkF1dGhl
bnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cz4gdG9BU0NFeHRlbnNpb25zKGNvbnN0IEF1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyYgZXh0ZW5zaW9ucykKK3sKKyAgICBp
ZiAoW2FsbG9jQVNDV2ViQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzSW5zdGFu
Y2UoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluaXRXaXRoQXBwSUQ6aXNHb29nbGVM
ZWdhY3lBcHBJRFN1cHBvcnQ6KV0pCisgICAgICAgIHJldHVybiBhZG9wdE5TKFthbGxvY0FTQ1dl
YkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0c0luc3RhbmNlKCkgaW5pdFdpdGhB
cHBJRDpleHRlbnNpb25zLmFwcGlkIGlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0OmV4dGVuc2lv
bnMuZ29vZ2xlTGVnYWN5QXBwaWRTdXBwb3J0XSk7CisKKyAgICByZXR1cm4gbmlsOworfQorCiBz
dGF0aWMgUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJlUmVn
aXN0cmF0aW9uUmVxdWVzdENvbnRleHQoY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9u
T3B0aW9ucyYgb3B0aW9ucywgVmVjdG9yPHVpbnQ4X3Q+IGhhc2gpCiB7CiAgICAgQVNDQ3JlZGVu
dGlhbFJlcXVlc3RUeXBlcyByZXF1ZXN0VHlwZXMgPSBBU0NDcmVkZW50aWFsUmVxdWVzdFR5cGVQ
bGF0Zm9ybVB1YmxpY0tleVJlZ2lzdHJhdGlvbiB8IEFTQ0NyZWRlbnRpYWxSZXF1ZXN0VHlwZVNl
Y3VyaXR5S2V5UHVibGljS2V5UmVnaXN0cmF0aW9uOwpAQCAtMTg0LDYgKzIwNiw3IEBAIHN0YXRp
YyBSZXRhaW5QdHI8QVNDQ3JlZGVudGlhbFJlcXVlc3RDb250ZXh0PiBjb25maWd1cmVSZWdpc3Ry
YXRpb25SZXF1ZXN0Q29udGV4CiAgICAgW2NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgc2V0VXNl
ckRpc3BsYXlOYW1lOm9wdGlvbnMudXNlci5kaXNwbGF5TmFtZV07CiAgICAgW2NyZWRlbnRpYWxD
cmVhdGlvbk9wdGlvbnMgc2V0VXNlclZlcmlmaWNhdGlvblByZWZlcmVuY2U6dXNlclZlcmlmaWNh
dGlvbi5nZXQoKV07CiAgICAgW2NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgc2V0U2hvdWxkUmVx
dWlyZVJlc2lkZW50S2V5OnNob3VsZFJlcXVpcmVSZXNpZGVudEtleV07CisgICAgW2NyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnMgc2V0QXR0ZXN0YXRpb25QcmVmZXJlbmNlOnRvTlNTdHJpbmcob3B0
aW9ucy5hdHRlc3RhdGlvbikuZ2V0KCldOwogCiAgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5
PE5TTnVtYmVyICo+PiBzdXBwb3J0ZWRBbGdvcml0aG1JZGVudGlmaWVycyA9IGFkb3B0TlMoW1tO
U011dGFibGVBcnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpvcHRpb25zLnB1YktleUNyZWRQ
YXJhbXMuc2l6ZSgpXSk7CiAgICAgZm9yIChQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRp
b25zOjpQYXJhbWV0ZXJzIGFsZ29yaXRobVBhcmFtZXRlciA6IG9wdGlvbnMucHViS2V5Q3JlZFBh
cmFtcykKQEAgLTIwNyw2ICsyMzAsOSBAQCBzdGF0aWMgUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxS
ZXF1ZXN0Q29udGV4dD4gY29uZmlndXJlUmVnaXN0cmF0aW9uUmVxdWVzdENvbnRleAogICAgIGlm
IChyZXF1ZXN0VHlwZXMgJiBBU0NDcmVkZW50aWFsUmVxdWVzdFR5cGVTZWN1cml0eUtleVB1Ymxp
Y0tleVJlZ2lzdHJhdGlvbikKICAgICAgICAgW3JlcXVlc3RDb250ZXh0IHNldFNlY3VyaXR5S2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczpjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmdldCgp
XTsKIAorICAgIGlmIChvcHRpb25zLmV4dGVuc2lvbnMgJiYgW2NyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRFeHRlbnNpb25zOildKQorICAg
ICAgICBbY3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBzZXRFeHRlbnNpb25zOnRvQVNDRXh0ZW5z
aW9ucygqb3B0aW9ucy5leHRlbnNpb25zKS5nZXQoKV07CisKICAgICByZXR1cm4gcmVxdWVzdENv
bnRleHQ7CiB9CiAKQEAgLTI0NCw2ICsyNzAsOCBAQCBzdGF0aWMgUmV0YWluUHRyPEFTQ0NyZWRl
bnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJhdGlvbkFzc2VydGlvblJlcXVlc3RDb250ZQog
ICAgICAgICAgICAgYXV0byBjaGFsbGVuZ2UgPSBXZWJDb3JlOjp0b05TRGF0YShvcHRpb25zLmNo
YWxsZW5nZSk7CiAgICAgICAgICAgICBbYXNzZXJ0aW9uT3B0aW9ucyBpbml0V2l0aEtpbmQ6QVND
UHVibGljS2V5Q3JlZGVudGlhbEtpbmRQbGF0Zm9ybSByZWx5aW5nUGFydHlJZGVudGlmaWVyOm9w
dGlvbnMucnBJZCBjaGFsbGVuZ2U6Y2hhbGxlbmdlLmdldCgpIHVzZXJWZXJpZmljYXRpb25QcmVm
ZXJlbmNlOnVzZXJWZXJpZmljYXRpb24uZ2V0KCkgYWxsb3dlZENyZWRlbnRpYWxzOmFsbG93ZWRD
cmVkZW50aWFscy5nZXQoKV07CiAgICAgICAgIH0KKyAgICAgICAgaWYgKG9wdGlvbnMuZXh0ZW5z
aW9ucyAmJiBbYXNzZXJ0aW9uT3B0aW9ucyByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNl
dEV4dGVuc2lvbnM6KV0pCisgICAgICAgICAgICBbYXNzZXJ0aW9uT3B0aW9ucyBzZXRFeHRlbnNp
b25zOnRvQVNDRXh0ZW5zaW9ucygqb3B0aW9ucy5leHRlbnNpb25zKS5nZXQoKV07CiAKICAgICAg
ICAgW3JlcXVlc3RDb250ZXh0IHNldFBsYXRmb3JtS2V5Q3JlZGVudGlhbEFzc2VydGlvbk9wdGlv
bnM6YXNzZXJ0aW9uT3B0aW9ucy5nZXQoKV07CiAgICAgfQpAQCAtMjU3LDYgKzI4NSw5IEBAIHN0
YXRpYyBSZXRhaW5QdHI8QVNDQ3JlZGVudGlhbFJlcXVlc3RDb250ZXh0PiBjb25maWd1cmF0aW9u
QXNzZXJ0aW9uUmVxdWVzdENvbnRlCiAgICAgICAgICAgICBhdXRvIGNoYWxsZW5nZSA9IFdlYkNv
cmU6OnRvTlNEYXRhKG9wdGlvbnMuY2hhbGxlbmdlKTsKICAgICAgICAgICAgIFthc3NlcnRpb25P
cHRpb25zIGluaXRXaXRoS2luZDpBU0NQdWJsaWNLZXlDcmVkZW50aWFsS2luZFNlY3VyaXR5S2V5
IHJlbHlpbmdQYXJ0eUlkZW50aWZpZXI6b3B0aW9ucy5ycElkIGNoYWxsZW5nZTpjaGFsbGVuZ2Uu
Z2V0KCkgdXNlclZlcmlmaWNhdGlvblByZWZlcmVuY2U6dXNlclZlcmlmaWNhdGlvbi5nZXQoKSBh
bGxvd2VkQ3JlZGVudGlhbHM6YWxsb3dlZENyZWRlbnRpYWxzLmdldCgpXTsKICAgICAgICAgfQor
ICAgICAgICBpZiAob3B0aW9ucy5leHRlbnNpb25zICYmIFthc3NlcnRpb25PcHRpb25zIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0RXh0ZW5zaW9uczopXSkKKyAgICAgICAgICAgIFth
c3NlcnRpb25PcHRpb25zIHNldEV4dGVuc2lvbnM6dG9BU0NFeHRlbnNpb25zKCpvcHRpb25zLmV4
dGVuc2lvbnMpLmdldCgpXTsKKwogICAgICAgICBbcmVxdWVzdENvbnRleHQgc2V0U2VjdXJpdHlL
ZXlDcmVkZW50aWFsQXNzZXJ0aW9uT3B0aW9uczphc3NlcnRpb25PcHRpb25zLmdldCgpXTsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94
eS5oCmluZGV4IDFhNDM3ZGEyZGVjZDBkZTlkNDk0YjA5ZDhhYTM2YTcxNzUyNmE5YTAuLjU4ZjAx
OTZmYjE2N2E5MTZhMmYxMDllNzRkNzdjNmY4NjhjODc2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGlu
YXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaApAQCAtNjAsNiArNjAsMTAgQEAg
cHVibGljOgogICAgIGV4cGxpY2l0IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5KFdl
YlBhZ2VQcm94eSYpOwogICAgIH5XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eSgpOwog
CisjaWYgSEFWRShVTklGSUVEX0FTQ19BVVRIX1VJKQorICAgIHN0YXRpYyBSZXRhaW5QdHI8QVND
Q3JlZGVudGlhbFJlcXVlc3RDb250ZXh0PiBjb250ZXh0Rm9yUmVxdWVzdChXZWJBdXRoZW50aWNh
dGlvblJlcXVlc3REYXRhJiYpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdXNpbmcgUmVxdWVz
dENvbXBsZXRpb25IYW5kbGVyID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3Jl
OjpBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhJiwgV2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGFj
aG1lbnQsIGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEmKT47CiAgICAgdXNpbmcgUXVlcnlD
b21wbGV0aW9uSGFuZGxlciA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+OwpAQCAtNzcs
MTAgKzgxLDkgQEAgcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkmIG1fd2ViUGFnZVByb3h5Owog
CiAjaWYgSEFWRShVTklGSUVEX0FTQ19BVVRIX1VJKQotICAgIFJldGFpblB0cjxBU0NDcmVkZW50
aWFsUmVxdWVzdENvbnRleHQ+IGNvbnRleHRGb3JSZXF1ZXN0KFdlYkF1dGhlbnRpY2F0aW9uUmVx
dWVzdERhdGEmJik7CiAgICAgdm9pZCBwZXJmb3JtUmVxdWVzdChSZXRhaW5QdHI8QVNDQ3JlZGVu
dGlhbFJlcXVlc3RDb250ZXh0PiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpOwogICAgIFJl
dGFpblB0cjxBU0NBdXRob3JpemF0aW9uUmVtb3RlUHJlc2VudGVyPiBtX3ByZXNlbnRlcjsKLSNl
bmRpZgorI2VuZGlmIC8vIEhBVkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggODA2ZGM3MGY1MzY4M2E3Mjk1N2Y3ZjQ3NGMyNDhmY2JkN2E2MDkzMi4u
NGFlNDdmMDI3NDViOTA0Yzk3YzE0MDliNjA2ZTJhNzQ3M2Y4Y2IyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTcxLDcgKzExNzEs
NiBAQAogCQk1N0RDRURCMDIxNEM2MDQyMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5zcG9y
dFNlcnZpY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU3RENFRDhBMjE0ODUzMTMwMDE2Qjg0NyAvKiBBdXRoZW50aWNhdG9yVHJhbnNwb3J0U2Vydmlj
ZS5oICovOyB9OwogCQk1N0RDRURCMTIxNEM2MDQ4MDAxNkI4NDcgLyogQXV0aGVudGljYXRvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VEOEIy
MTQ4NUJENzAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0b3IuaCAqLzsgfTsKIAkJNTdEQ0VEQjIyMTRD
NjA0QzAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFREE2MjE0OUY5REEwMDE2
Qjg0NyAvKiBXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmggKi87IH07Ci0JCTU3RENFREIz
MjE0QzYwNTMwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2MDgyOTUyMDJC
RDhCQTAwMTE2Njc4IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmggKi87IH07
CiAJCTU3RENFREMzMjE0RjExNEMwMDE2Qjg0NyAvKiBNb2NrTG9jYWxTZXJ2aWNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRURDMTIxNEYxMTRD
MDAxNkI4NDcgLyogTW9ja0xvY2FsU2VydmljZS5oICovOyB9OwogCQk1N0RDRURDNzIxNEYxODMw
MDAxNkI4NDcgLyogTW9ja0xvY2FsQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VEQzUyMTRGMTgzMDAwMTZCODQ3IC8qIE1vY2tM
b2NhbENvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNTdEQ0VEQ0IyMTRGNEU0MjAwMTZCODQ3IC8qIE1v
Y2tBdXRoZW50aWNhdG9yTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTdEQ0VEQzkyMTRGNEU0MjAwMTZCODQ3IC8qIE1vY2tBdXRoZW50aWNh
dG9yTWFuYWdlci5oICovOyB9OwpAQCAtMTE3OSw3ICsxMTc4LDYgQEAKIAkJNTdFQkUyNkEyMzQ2
NzZDNTAwOEQ4QUY5IC8qIEFQSVdlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RUJFMjY4MjM0Njc2QzUwMDhEOEFG
OSAvKiBBUElXZWJBdXRoZW50aWNhdGlvblBhbmVsLmggKi87IH07CiAJCTU3RUZDNzdFMjU1MEVC
ODYwMEY5NDc3RCAvKiBjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuLnNiIGluIENvcHlGaWxlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VGQzc3RDI1NTBFQjg1MDBGOTQ3
N0QgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi5zYiAqLzsgfTsKIAkJNTdGQUJCMEYyNTgx
N0NGMDAwNTlEQzk1IC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZBQkIwRTI1ODE3Q0YwMDA1
OURDOTUgLyogQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaCAqLzsgfTsKLQkJNTdGQUJC
MTIyNTgxODI3QzAwNTlEQzk1IC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkFCQjEw
MjU4MTgyN0MwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLmgg
Ki87IH07CiAJCTU3RkFCQjEzMjU4MTgyN0MwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTdGQUJCMTEyNTgxODI3QzAwNTlEQzk1IC8qIEF1dGhlbnRpY2F0aW9uU2Vydmlj
ZXNDb3JlU29mdExpbmsubW0gKi87IH07CiAJCTU3RkQzMTgwMjJCMzUxNTgwMDhEMEU4QiAvKiBO
YXZpZ2F0aW9uU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRDMxNzgyMkIzNTE0OTAwOEQwRThCIC8qIE5hdmln
YXRpb25TT0F1dGhvcml6YXRpb25TZXNzaW9uLmggKi87IH07CiAJCTU3RkQzMTgxMjJCMzUxNUIw
MDhEMEU4QiAvKiBQb3BVcFNPQXV0aG9yaXphdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkQzMTcwMjJCMzUxNDgwMDhEMEU4QiAv
KiBQb3BVcFNPQXV0aG9yaXphdGlvblNlc3Npb24uaCAqLzsgfTsKQEAgLTQ1NTcsNiArNDU1NSw4
IEBACiAJCTUyRDVBMUIyMUM1NzQ5RjIwMERFMzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTJENUExQjMxQzU3NDlGMjAwREUz
NEEzIC8qIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTJENUExQjQxQzU3NDlGMjAwREUzNEEzIC8qIFZpZGVvRnVsbHNj
cmVlbk1hbmFnZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
MkU2QzNDNDI3OThDOUE3MDA1NUNFNTIgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaDsg
cGF0aCA9IFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MkU2QzNDNjI3OTlF
MEJCMDA1NUNFNTIgLyogQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLmg7IHBhdGggPSBV
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0Nv
cmVTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MkYwNjBERDE2NTQz
MTc1MDBGMzI4MUIgLyogTmV0d29ya0NvbnRlbnRSdWxlTGlzdE1hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya0NvbnRlbnRSdWxlTGlzdE1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0L05ldHdvcmtD
b250ZW50UnVsZUxpc3RNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTMxNTg3NkIyMDc2QjcxMzAwNEJGOUYzIC8qIE5ldHdv
cmtBY3Rpdml0eVRyYWNrZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IE5ldHdvcmtBY3Rpdml0eVRyYWNrZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTMyMTU5NEYxREJBRTZENzAwNTRBQTNDIC8qIE5ldHdvcmtEYXRhVGFz
a0NvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtEYXRhVGFz
a0NvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02ODEwLDYgKzY4MTAsOCBA
QAogCQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0MiAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTJFNkMzQzYyNzk5RTBCQjAwNTVDRTUy
IC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaCAqLywKKwkJCQk1MkU2QzND
NDI3OThDOUE3MDA1NUNFNTIgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaCAq
LywKIAkJCQk1QzE1N0EwQTI3MTdDOUYxMDBFRDUyODAgLyogd2VicHVzaGQgKi8sCiAJCQkJQjM5
NkVBNTUxMkUwRUQyRDAwRjRGRUI3IC8qIGNvbmZpZy5oICovLAogCQkJCTJEN0RFQkUwMjEyNjlE
NUYwMEI5RjczQyAvKiBTb3VyY2VzLnR4dCAqLywKQEAgLTcxMDcsOCArNzEwOSw2IEBACiAJCQkJ
MTE4NTAyNjAyNjczQjBEQTAwQTY0MjVFIC8qIFhSICovLAogCQkJCUUzQkNFODc3MjY3MjUyMTIw
MDExRDhEQiAvKiBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuY3BwICovLAogCQkJCUUzQkNFODc4
MjY3MjUyMTIwMDExRDhEQiAvKiBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuaCAqLywKLQkJCQk3
QjUwRTk3RjI3NzFGNkNFMDAzREFBQzQgLyogSVBDVGVzdGVyLmNwcCAqLywKLQkJCQk3QjUwRTk4
MDI3NzFGNkNGMDAzREFBQzQgLyogSVBDVGVzdGVyLmggKi8sCiAJCQkJQTdENzkyRDUxNzY3Q0I2
RTAwODgxQ0JFIC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmNwcCAqLywKIAkJCQlBN0Q3OTJENDE3NjdD
QjA5MDA4ODFDQkUgLyogQWN0aXZpdHlBc3NlcnRpb24uaCAqLywKIAkJCQlCQzMyOUQ5QTE2QUND
RTk5MDAzMTZERTIgLyogQVBJV2ViQXJjaGl2ZS5oICovLApAQCAtNzE1OCw2ICs3MTU4LDggQEAK
IAkJCQlCQ0NGNkIyMzEyQzkzRTdBMDA4RjlDMzUgLyogSW1hZ2VPcHRpb25zLmggKi8sCiAJCQkJ
OTk5QjdFRDgyNTUwRTRBODAwRjQ1MEE0IC8qIEluc3BlY3RvckV4dGVuc2lvblR5cGVzLmNwcCAq
LywKIAkJCQk5OUJFM0IxNjI1NDMzQjk0MDBDNjU1MUMgLyogSW5zcGVjdG9yRXh0ZW5zaW9uVHlw
ZXMuaCAqLywKKwkJCQk3QjUwRTk3RjI3NzFGNkNFMDAzREFBQzQgLyogSVBDVGVzdGVyLmNwcCAq
LywKKwkJCQk3QjUwRTk4MDI3NzFGNkNGMDAzREFBQzQgLyogSVBDVGVzdGVyLmggKi8sCiAJCQkJ
MUE5MkRDMTIxMkY4QkFCOTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuY3BwICovLAogCQkJ
CTFBOTJEQzEwMTJGOEJBNDYwMDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmggKi8sCiAJCQkJ
MkQxMDg3NUUxRDJDNTczRTAwQjg1RjgyIC8qIExvYWRQYXJhbWV0ZXJzLmNwcCAqLywKQEAgLTEy
NTk4LDYgKzEyNjAwLDcgQEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTdCRERBMzE5Mjc0
N0MwNDAwMDM4NjU5RSAvKiAobnVsbCkgaW4gSGVhZGVycyAqLywKIAkJCQkzN0E1RTAxNDE4QkJG
OTNGMDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaCBpbiBIZWFkZXJzICovLAog
CQkJCTM3OUE4NzM2MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0lu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDkzMTZBMzI1REM3REM0MDBBQTY2REUgLyog
X1dLQXBwSGlnaGxpZ2h0LmggaW4gSGVhZGVycyAqLywKQEAgLTEyODM5LDcgKzEyODQyLDYgQEAK
IAkJCQk1MTJGNTg5OTEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25EZWNpc2lvbkxp
c3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MThFOEVGOTE2QjIwOTFDMDBFOTE0MjkgLyog
QXV0aGVudGljYXRpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNThBMzEyQTg4
M0FEMDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTU3RkFCQjEyMjU4MTgyN0MwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0ZBQkIwRjI1ODE3Q0YwMDA1
OURDOTUgLyogQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTU3RENFREIxMjE0QzYwNDgwMDE2Qjg0NyAvKiBBdXRoZW50aWNhdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1N0RDRURBRjIxNEM2MDNCMDAxNkI4NDcgLyogQXV0aGVudGljYXRvck1hbmFn
ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMTI5ODAsNyArMTI5ODIsNiBAQAogCQkJCUM1QkNFNURG
MUM1MDc2NkEwMENERTNGQSAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkQ0RDJDODExREY2MEJGMzAwMkVCMTBDIC8qIEludGVyYWN0aW9u
SW5mb3JtYXRpb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMzFGNjBBNDI1Q0M3REI5
MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmggaW4gSGVhZGVycyAqLywKLQkJCQk3QkREQTMxOTI3
NDdDMDQwMDAzODY1OUUgLyogKG51bGwpIGluIEhlYWRlcnMgKi8sCiAJCQkJOUI0NzkwOEYyNTMx
NTFDQzAwRUMxMUFCIC8qIEpTSVBDQmluZGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzE2NjNF
NUIyNEFFQUEyRjAwQzZBM0IyIC8qIExhdW5jaFNlcnZpY2VzRGF0YWJhc2VYUENDb25zdGFudHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTA5Mzc4MTRGQjEyOEMwMDExMzhEOSAvKiBMYXllckhv
c3RpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLywKQEAgLTEzMzU0LDcgKzEzMzU1LDYgQEAKIAkJ
CQk1N0M2MjQ0QjIzNDY3OUE0MDAzODNGRTcgLyogV2ViQXV0aGVudGljYXRpb25GbGFncy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTc3RkY3ODUyMzQ2RUNBQTAwNEVERkI5IC8qIFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RENFREIyMjE0QzYwNEMw
MDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmggaW4gSGVhZGVycyAqLywK
LQkJCQk1N0RDRURCMzIxNEM2MDUzMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RENFRDcxMjE0MkVFNkMwMDE2Qjg0NyAv
KiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1NzQyQTMwRDI1MzU4RUZEMDBCN0JBMTQgLyogV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJFQkJDMDI1MzZBNjBBMDAwNTUyQjMg
LyogV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhi
YTZmM2U4ZjZhNDEwMjIyNTYxN2I5YWMzYjNhMDhlMzQyOWM1NGQuLjEyNmNiODkyMGFkNjkxYTVj
OWIyYzRjYmIyZjBjYjEyMTkwMmQ1N2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMi0wMS0yNCAgSiBQYXNjb2Ug
IDxqX3Bhc2NvZUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhuXSBXZSBzaG91bGQgcGFz
cyBleHRlbnNpb25zIHRvIEFTQyBpZiBwb3NzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NTMzCisgICAgICAgIHJkYXI6Ly84NzE2OTQwNgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0
cyBmb3IgYXR0ZXN0YXRpb25QcmVmZXJlbmNlIGFuZCBleHRlbnNpb25zIHByb3BlcnRpZXMKKyAg
ICAgICAgaW4gY29udmVyc2lvbiB0byBBU0NQdWJsaWNLZXlDcmVkZW50aWFsQXNzZXJ0aW9uT3B0
aW9ucyBhbmQKKyAgICAgICAgQVNDUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIy
LTAxLTI0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXVthMTF5XSBUZXN0IGFjY2Vzc2liaWxpdHkvdXJsLXRlc3QuaHRtbCBmYWlscyB3
aXRoIEFUU1BJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggMzM3NjZl
MDlmZDVmOTdkYjRmMzU2MWQzOTRmNGY4ZjcyZjIwODhkOS4uOGY2YWE5MmFhZmZiMTVhZmQ2NWRi
MmFhMjQzODczZDU4OTlmM2RhNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5t
bQpAQCAtMTc4Nyw2ICsxNzg3LDYwIEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgUHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uc01heGltdW0yKQogICAgIEVYUEVDVF9FUShy
ZXN1bHQuYXR0ZXN0YXRpb24sIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6OkluZGly
ZWN0KTsKIH0KIAorI2lmIEhBVkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKK1RFU1QoV2ViQXV0aGVu
dGljYXRpb25QYW5lbCwgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uc0FTQykKK3sK
KyAgICB1aW50OF90IGlkZW50aWZpZXJbXSA9IHsgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCB9Owor
ICAgIE5TRGF0YSAqbnNJZGVudGlmaWVyID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzOmlkZW50aWZp
ZXIgbGVuZ3RoOnNpemVvZihpZGVudGlmaWVyKV07CisgICAgYXV0byBwYXJhbWV0ZXJzID0gYWRv
cHROUyhbW19XS1B1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzIGFsbG9jXSBpbml0V2l0aEFs
Z29yaXRobTpALTddKTsKKworICAgIGF1dG8gcnAgPSBhZG9wdE5TKFtbX1dLUHVibGljS2V5Q3Jl
ZGVudGlhbFJlbHlpbmdQYXJ0eUVudGl0eSBhbGxvY10gaW5pdFdpdGhOYW1lOkAiZXhhbXBsZS5j
b20iXSk7CisgICAgYXV0byB1c2VyID0gYWRvcHROUyhbW19XS1B1YmxpY0tleUNyZWRlbnRpYWxV
c2VyRW50aXR5IGFsbG9jXSBpbml0V2l0aE5hbWU6QCJqYXBwbGVzZWVkQGV4YW1wbGUuY29tIiBp
ZGVudGlmaWVyOm5zSWRlbnRpZmllciBkaXNwbGF5TmFtZTpAIkogQXBwbGVzZWVkIl0pOworICAg
IE5TQXJyYXk8X1dLUHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnMgKj4gKnB1YmxpY0tleUNy
ZWRlbnRpYWxQYXJhbWF0ZXJzID0gQFsgcGFyYW1ldGVycy5nZXQoKSBdOworCisgICAgYXV0byBv
cHRpb25zID0gYWRvcHROUyhbW19XS1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMg
YWxsb2NdIGluaXRXaXRoUmVseWluZ1BhcnR5OnJwLmdldCgpIHVzZXI6dXNlci5nZXQoKSBwdWJs
aWNLZXlDcmVkZW50aWFsUGFyYW1hdGVyczpwdWJsaWNLZXlDcmVkZW50aWFsUGFyYW1hdGVyc10p
OworICAgIFtvcHRpb25zIHNldEF0dGVzdGF0aW9uOl9XS0F0dGVzdGF0aW9uQ29udmV5YW5jZVBy
ZWZlcmVuY2VJbmRpcmVjdF07CisKKyAgICBhdXRvIGV4dGVuc2lvbnMgPSBhZG9wdE5TKFtbX1dL
QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIGFsbG9jXSBpbml0XSk7CisgICAg
W2V4dGVuc2lvbnMgc2V0QXBwaWQ6QCJodHRwcy8vd3d3LmV4YW1wbGUuY29tL2ZpZG8iXTsKKyAg
ICBbZXh0ZW5zaW9ucyBzZXRHb29nbGVMZWdhY3lBcHBpZFN1cHBvcnQ6dHJ1ZV07CisgICAgW29w
dGlvbnMgc2V0RXh0ZW5zaW9uczpleHRlbnNpb25zLmdldCgpXTsKKworICAgIGF1dG8gcmVzdWx0
ID0gW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgY29udmVydFRvQ29yZUNyZWF0aW9uT3B0aW9u
c1dpdGhPcHRpb25zOm9wdGlvbnMuZ2V0KCldOworCisgICAgdWludDhfdCBoYXNoW10gPSB7IDB4
MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIs
IDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4
MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEs
IDB4MDIsIDB4MDMsIDB4MDQgfTsKKyAgICBOU0RhdGEgKm5zSGFzaCA9IFtOU0RhdGEgZGF0YVdp
dGhCeXRlczpoYXNoIGxlbmd0aDpzaXplb2YoaGFzaCldOworICAgIGF1dG8gY29udGV4dCA9IFtf
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIGNvbnRleHRGb3JIYXNoOm5zSGFzaCBvcHRpb25zOnJl
c3VsdF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoY29udGV4dC5zZWN1cml0eUtleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnMuYXR0ZXN0YXRpb25QcmVmZXJlbmNlLCAiaW5kaXJlY3QiKTsKKyAg
ICBpZiAoY29udGV4dC5zZWN1cml0eUtleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuZXh0ZW5z
aW9ucykgeworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoY29udGV4dC5zZWN1cml0eUtleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMuZXh0ZW5zaW9ucy5hcHBJRCwgImh0dHBzLy93d3cuZXhhbXBs
ZS5jb20vZmlkbyIpOworICAgICAgICBFWFBFQ1RfVFJVRShjb250ZXh0LnNlY3VyaXR5S2V5Q3Jl
ZGVudGlhbENyZWF0aW9uT3B0aW9ucy5leHRlbnNpb25zLmlzR29vZ2xlTGVnYWN5QXBwSURTdXBw
b3J0KTsKKyAgICB9Cit9CisKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgUHVibGljS2V5
Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zQVNDKQoreworICAgIGF1dG8gb3B0aW9ucyA9IGFkb3B0
TlMoW1tfV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgYWxsb2NdIGluaXRdKTsK
KyAgICBhdXRvIGV4dGVuc2lvbnMgPSBhZG9wdE5TKFtbX1dLQXV0aGVudGljYXRpb25FeHRlbnNp
b25zQ2xpZW50SW5wdXRzIGFsbG9jXSBpbml0XSk7CisgICAgW2V4dGVuc2lvbnMgc2V0QXBwaWQ6
QCJodHRwcy8vd3d3LmV4YW1wbGUuY29tL2ZpZG8iXTsKKyAgICBbZXh0ZW5zaW9ucyBzZXRHb29n
bGVMZWdhY3lBcHBpZFN1cHBvcnQ6dHJ1ZV07CisgICAgW29wdGlvbnMgc2V0RXh0ZW5zaW9uczpl
eHRlbnNpb25zLmdldCgpXTsKKworICAgIGF1dG8gcmVzdWx0ID0gW19XS1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWwgY29udmVydFRvQ29yZVJlcXVlc3RPcHRpb25zV2l0aE9wdGlvbnM6b3B0aW9ucy5n
ZXQoKV07CisKKyAgICB1aW50OF90IGhhc2hbXSA9IHsgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwg
MHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgw
MiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywg
MHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCB9Owor
ICAgIE5TRGF0YSAqbnNIYXNoID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzOmhhc2ggbGVuZ3RoOnNp
emVvZihoYXNoKV07CisgICAgYXV0byBjb250ZXh0ID0gW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFu
ZWwgY29udGV4dEZvckhhc2g6bnNIYXNoIG9wdGlvbnM6cmVzdWx0XTsKKworICAgIGlmIChjb250
ZXh0LnNlY3VyaXR5S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5leHRlbnNpb25zKSB7Cisg
ICAgICAgIEVYUEVDVF9XS19TVFJFUShjb250ZXh0LnNlY3VyaXR5S2V5Q3JlZGVudGlhbENyZWF0
aW9uT3B0aW9ucy5leHRlbnNpb25zLmFwcElELCAiaHR0cHMvL3d3dy5leGFtcGxlLmNvbS9maWRv
Iik7CisgICAgICAgIEVYUEVDVF9UUlVFKGNvbnRleHQuc2VjdXJpdHlLZXlDcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zLmV4dGVuc2lvbnMuaXNHb29nbGVMZWdhY3lBcHBJRFN1cHBvcnQpOworICAg
IH0KK30KKyNlbmRpZiAvLyBIQVZFKFVOSUZJRURfQVNDX0FVVEhfVUkpCisKKwogVEVTVChXZWJB
dXRoZW50aWNhdGlvblBhbmVsLCBNYWtlQ3JlZGVudGlhbFNQSVRpbWVvdXQpCiB7CiAgICAgcmVz
ZXQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449844</attachid>
            <date>2022-01-24 12:33:26 -0800</date>
            <delta_ts>2022-01-24 14:02:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235533-20220124123325.patch</filename>
            <type>text/plain</type>
            <size>30899</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY2NDFmYTgzMDZjOWVjYTJm
M2QzY2YzODA4NzZjYmJiZTdhMDE3NzAuLjhmMWYxODk3YzM5ZjVhNDViYjhkOTk1NTdiNjUyYmY0
ODMzMThjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDEtMjQgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gV2Ugc2hvdWxkIHBh
c3MgZXh0ZW5zaW9ucyB0byBBU0MgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTUzMworICAgICAgICByZGFyOi8vODcxNjk0MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIHN0YXJ0cyBwYXNzaW5nIFdlYkF1dGhuIGV4dGVuc2lvbnMgdG8gQVNDIGlmIHBvc3NpYmxl
LAorICAgICAgICBpbiBvcmRlciB0byBzdXBwb3J0IHRoZSBnb29nbGVMZWdhY3lBcHBpZFN1cHBv
cnQgZXh0ZW5zaW9uLCB3aGljaAorICAgICAgICBpcyByZXF1aXJlZCB0byByZWdpc3RlciBzZWN1
cml0eSBrZXlzIG9uIGdvb2dsZS5jb20uIEl0IGFsc28gc3RhcnRzCisgICAgICAgIHBhc3Npbmcg
dGhlIGF0dGVzdGF0aW9uUHJlZmVyZW5jZSBvcHRpb24sIHdoaWNoIHdhcyBub3QgYmVpbmcgcGFz
c2VkIGJlZm9yZS4KKworICAgICAgICBUZXN0czogVGVzdFdlYktpdEFQSS5XZWJBdXRoZW50aWNh
dGlvblBhbmVsLlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9uc0FTQworICAgICAgICBh
bmQgVGVzdFdlYktpdEFQSS5XZWJBdXRoZW50aWNhdGlvblBhbmVsLlB1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnNBU0MKKworICAgICAgICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9BdXRo
ZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAg
ICAoYXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzKToKKyAgICAgICAgKCtbX1dL
V2ViQXV0aGVudGljYXRpb25QYW5lbCBjb250ZXh0Rm9ySGFzaDpvcHRpb25zOl0pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEZvclRlc3Rp
bmcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVu
dGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6dG9OU1N0cmluZyk6
CisgICAgICAgIChXZWJLaXQ6OnRvQVNDRXh0ZW5zaW9ucyk6CisgICAgICAgIChXZWJLaXQ6OmNv
bmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVlc3RDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6Y29u
ZmlndXJhdGlvbkFzc2VydGlvblJlcXVlc3RDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaDoKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMS0yNCAg
RGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBs
aWZ5IGFjY2Vzc2VzIHRvIFN5c3RlbVZlcnNpb24ucGxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJLmgg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2Vz
Q29yZVNQSS5oCmluZGV4IDU4MGZjZGNlM2M2MTVhMjFhMGI0Y2MyNzk0YWEzZmU0MzVjZmVlNTgu
LmQyMmFiMmNiN2RhNTM1Y2I1YTQyNTAwMWI4MzM3ZjVhZjU4NDI2ZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0aGVudGljYXRp
b25TZXJ2aWNlc0NvcmVTUEkuaApAQCAtMTMzLDYgKzEzMywxNyBAQCB0eXBlZGVmIE5TX0VOVU0o
TlNJbnRlZ2VyLCBBU0NTZWN1cml0eUtleVB1YmxpY0tleUNyZWRlbnRpYWxLaW5kKSB7CiAKIEBl
bmQKIAorQGNsYXNzIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0czsK
KworQGludGVyZmFjZSBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMg
OiBOU09iamVjdCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4KKworLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoQXBwSUQ6KE5TU3RyaW5nICogX051bGxhYmxlKWFwcElEIGlzR29vZ2xlTGVnYWN5
QXBwSURTdXBwb3J0OihCT09MKWlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0IE5TX0RFU0lHTkFU
RURfSU5JVElBTElaRVI7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkg
TlNTdHJpbmcgKmFwcElEOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNHb29nbGVMZWdh
Y3lBcHBJRFN1cHBvcnQ7CisKK0BlbmQKKwogQGNsYXNzIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxE
ZXNjcmlwdG9yOwogCiB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgQVNDUHVibGljS2V5Q3Jl
ZGVudGlhbEtpbmQpIHsKQEAgLTE1Miw2ICsxNjMsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50
ZWdlciwgQVNDUHVibGljS2V5Q3JlZGVudGlhbEtpbmQpIHsKIC8vIElmIGNsaWVudERhdGFIYXNo
IGlzIG51bGwsIHRoZW4gZ2V0cyBnZW5lcmF0ZWQgZnJvbSBjaGFsbGVuZ2UgYW5kIHJlbHlpbmdQ
YXJ0eUlkZW50aWZpZXIuCiBAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5T
RGF0YSAqY2xpZW50RGF0YUhhc2g7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIHJl
YWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqdXNlclZlcmlmaWNhdGlvblByZWZlcmVuY2U7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0
ZW5zaW9uc0NsaWVudElucHV0cyAqZXh0ZW5zaW9uczsKIAogQHByb3BlcnR5IChub25hdG9taWMs
IG51bGxhYmxlLCByZWFkb25seSwgY29weSkgTlNBcnJheTxBU0NQdWJsaWNLZXlDcmVkZW50aWFs
RGVzY3JpcHRvciAqPiAqYWxsb3dlZENyZWRlbnRpYWxzOwogCkBAIC0xNzgsNiArMTkwLDggQEAg
dHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0VHlwZXMp
IHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqdXNlckRpc3BsYXlOYW1l
OwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8TlNOdW1iZXIgKj4gKnN1cHBv
cnRlZEFsZ29yaXRobUlkZW50aWZpZXJzOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxl
LCBjb3B5KSBOU1N0cmluZyAqdXNlclZlcmlmaWNhdGlvblByZWZlcmVuY2U7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICphdHRlc3RhdGlvblByZWZlcmVu
Y2U7CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIEFTQ1dlYkF1dGhlbnRp
Y2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyAqZXh0ZW5zaW9uczsKIAogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgc2hvdWxkUmVxdWlyZVJlc2lkZW50S2V5OwogQHByb3BlcnR5IChub25h
dG9taWMsIGNvcHkpIE5TQXJyYXk8QVNDUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IgKj4g
KmV4Y2x1ZGVkQ3JlZGVudGlhbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRpb25FeHRlbnNp
b25zQ2xpZW50SW5wdXRzLmgKaW5kZXggMTY1MDk2YmZhMDU2ODY3Y2RkMDU1YzdiYTgyY2Q3Yzc1
N2Q2OGJiMC4uZjdhOTE2NmMxOWYwYjYwN2M5MmY1MGRkYjlmOTM2MzIzOTI1MmZmMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0aW9u
RXh0ZW5zaW9uc0NsaWVudElucHV0cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMuaApAQCAtMzUs
NiArMzUsNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSkKIEBp
bnRlcmZhY2UgX1dLQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIDogTlNPYmpl
Y3QKIAogQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYXBw
aWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBnb29nbGVMZWdhY3lBcHBpZFN1cHBvcnQ7
CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCBiYjZhOGRlZjNkY2U0
NDI0OTI2MDIzMzZmZTNkMmNiOGExMmJhMDM0Li42YjQ0ZjY5MGJhMmQ5NDkxYjJkZmQ0ODY3NTQ1
ZjNlYzFjMThkOTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQpAQCAtMzEsNiArMzEs
NyBAQAogI2ltcG9ydCAiTG9jYWxTZXJ2aWNlLmgiCiAjaW1wb3J0ICJXS0Vycm9yLmgiCiAjaW1w
b3J0ICJXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmgiCisjaW1wb3J0ICJXZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oIgogI2ltcG9ydCAiX1dLQXV0aGVudGljYXRpb25FeHRl
bnNpb25zQ2xpZW50SW5wdXRzLmgiCiAjaW1wb3J0ICJfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNDbGllbnRPdXRwdXRzSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0F1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZUludGVybmFsLmgiCkBAIC01MjUsNyArNTI2LDcgQEAgc3RhdGljIFdlYkNv
cmU6OkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyBhdXRoZW50aWNhdGlvbkV4
dGVuc2lvbnNDbGkKIHsKICAgICBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGll
bnRJbnB1dHMgcmVzdWx0OwogICAgIHJlc3VsdC5hcHBpZCA9IGV4dGVuc2lvbnMuYXBwaWQ7Ci0g
ICAgcmVzdWx0Lmdvb2dsZUxlZ2FjeUFwcGlkU3VwcG9ydCA9IGZhbHNlOworICAgIHJlc3VsdC5n
b29nbGVMZWdhY3lBcHBpZFN1cHBvcnQgPSBleHRlbnNpb25zLmdvb2dsZUxlZ2FjeUFwcGlkU3Vw
cG9ydDsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC02MjAsNiArNjIxLDE4IEBAIHN0YXRp
YyBSZXRhaW5QdHI8X1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2U+IHdrQXV0aGVu
dGljYXRvckF0dGVzdGF0aW9uCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorKyAoQVNDQ3JlZGVu
dGlhbFJlcXVlc3RDb250ZXh0ICopY29udGV4dEZvckhhc2g6KE5TRGF0YSAqKWhhc2ggb3B0aW9u
czooc3RkOjp2YXJpYW50PFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnMsIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucz4pb3B0aW9ucwor
eworICAgIFdlYktpdDo6V2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YTsK
KyNpZiBIQVZFKFVOSUZJRURfQVNDX0FVVEhfVUkpCisgICAgcmVxdWVzdERhdGEuaGFzaCA9IHZl
Y3RvckZyb21OU0RhdGEoaGFzaCk7CisgICAgcmVxdWVzdERhdGEub3B0aW9ucyA9IG9wdGlvbnM7
CisgICAgcmV0dXJuIFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6OmNv
bnRleHRGb3JSZXF1ZXN0KFdURk1vdmUocmVxdWVzdERhdGEpKS5hdXRvcmVsZWFzZSgpOworI2Vs
c2UKKyAgICByZXR1cm4gTlVMTDsKKyNlbmRpZiAvLyBIQVZFKFVOSUZJRURfQVNDX0FVVEhfVUkp
Cit9CisKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogc3RhdGljIFJldGFpblB0cjxfV0tBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+IHdrQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEmIGRhdGEsIE5TRGF0YSAq
Y2xpZW50RGF0YUpTT04sIFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50IGF0dGFjaG1l
bnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
V2ViQXV0aGVudGljYXRpb25QYW5lbEZvclRlc3RpbmcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRm9yVGVzdGluZy5oCmluZGV4
IGMxYjNkZjBlNDE4YzY4MGI0NjIzZDc4YjNkNzM5MTQyOTJkNzRiZWYuLjA2M2FmMTBhZGRiYjRi
MWQ1NDA4NTYwNmZiZWQ0MGM2YWQ2ZDRhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRm9yVGVzdGluZy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsRm9yVGVzdGluZy5oCkBAIC0zMiwxMiArMzIsMzkgQEAgc3RydWN0IFB1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM7CiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVl
c3RPcHRpb25zOwogfQogCituYW1lc3BhY2UgV2ViS2l0IHsKK3N0cnVjdCBXZWJBdXRoZW50aWNh
dGlvblJlcXVlc3REYXRhOworfQorCitAaW50ZXJmYWNlIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0
ZW5zaW9uc0NsaWVudElucHV0cyA6IE5TT2JqZWN0IDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5n
PgorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQXBwSUQ6KE5TU3RyaW5nICogX051bGxhYmxlKWFw
cElEIGlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0OihCT09MKWlzR29vZ2xlTGVnYWN5QXBwSURT
dXBwb3J0IE5TX0RFU0lHTkFURURfSU5JVElBTElaRVI7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
bnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICphcHBJRDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIGlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0OworQGVuZAorCitAaW50ZXJmYWNlIEFTQ1B1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rp
bmc+CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICphdHRl
c3RhdGlvblByZWZlcmVuY2U7CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkp
IEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyAqZXh0ZW5zaW9uczsK
K0BlbmQKKworQGludGVyZmFjZSBBU0NQdWJsaWNLZXlDcmVkZW50aWFsQXNzZXJ0aW9uT3B0aW9u
cyA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxs
YWJsZSwgY29weSkgQVNDV2ViQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzICpl
eHRlbnNpb25zOworCitAZW5kCisKK0BpbnRlcmZhY2UgQVNDQ3JlZGVudGlhbFJlcXVlc3RDb250
ZXh0IDogTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPgorQHByb3BlcnR5IChub25hdG9taWMsIG51
bGxhYmxlLCBjb3B5KSBBU0NQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zICpzZWN1
cml0eUtleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
bnVsbGFibGUsIGNvcHkpIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zICpz
ZWN1cml0eUtleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zOworQGVuZAorCiBXS19DTEFTU19B
VkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSkKIEBpbnRlcmZhY2UgX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbCAoV0tUZXN0aW5nKQogCiArIChXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zKWNvbnZlcnRUb0NvcmVDcmVhdGlvbk9wdGlvbnNXaXRoT3B0aW9u
czooX1dLUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyAqKW9wdGlvbnMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKICsgKFdlYkNvcmU6OlB1YmxpY0tl
eUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyljb252ZXJ0VG9Db3JlUmVxdWVzdE9wdGlvbnNXaXRo
T3B0aW9uczooX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zICopb3B0aW9ucyBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOwogCisrIChBU0NDcmVkZW50
aWFsUmVxdWVzdENvbnRleHQgKiljb250ZXh0Rm9ySGFzaDooTlNEYXRhICopaGFzaCBvcHRpb25z
OihzdGQ6OnZhcmlhbnQ8V2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cywgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zPilvcHRpb25zOwor
CiArIChOU0FycmF5PE5TRGljdGlvbmFyeSAqPiAqKWdldEFsbExvY2FsQXV0aGVudGljYXRvckNy
ZWRlbnRpYWxzV2l0aEFjY2Vzc0dyb3VwOihOU1N0cmluZyAqKWFjY2Vzc0dyb3VwIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAKIC8vIEZvciBkZXRhaWxzIG9mIGNv
bmZpZ3VyYXRpb24sIHJlZmVyIHRvIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24u
aC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vydmlj
ZXNDb3JlU29mdExpbmsuaAppbmRleCBiM2E3OWMwN2FiYTJjYmFmZWVmZWZjNmM2N2NhZTEzNmY3
MjIyNTE5Li43YjY5ODc4Y2MxMWJiNDhmMjNjNDY3ZWQ0MTM4ODA1YTM0ZTZhZjYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRo
ZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVT
b2Z0TGluay5oCkBAIC00MCw2ICs0MCw3IEBAIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdl
YktpdCwgQVNDQXV0aG9yaXphdGlvblByZXNlbnRhdGlvbkNvbnRleHQpOwogU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyKTsKIFNPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDQXV0aG9yaXphdGlvblJlbW90ZVByZXNl
bnRlcik7CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ0NyZWRlbnRpYWxS
ZXF1ZXN0Q29udGV4dCk7CitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1dl
YkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyk7CiBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihXZWJLaXQsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlv
bik7CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1BsYXRmb3JtUHVibGlj
S2V5Q3JlZGVudGlhbExvZ2luQ2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdl
YktpdCwgQVNDUGxhdGZvcm1QdWJsaWNLZXlDcmVkZW50aWFsUmVnaXN0cmF0aW9uKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1
dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNv
ZnRMaW5rLm1tCmluZGV4IGEyM2FjNTNhN2JjMTlhMmUyNTI1ZWQzNjkyMGQwZGRjMzRmMzI4NmQu
LjBiYjZmZGZkNDJmMzM1ZjM5MzRjYmFmMDg1ZjU2NDVlOTIxNzNiMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0
aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGlu
ay5tbQpAQCAtNDAsNiArNDAsNyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJLaXQs
IEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uUAogU09GVF9MSU5L
X0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVND
QXV0aG9yaXphdGlvblByZXNlbnRlcik7CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJL
aXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uUmVtb3RlUHJl
c2VudGVyKTsKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0aGVudGljYXRp
b25TZXJ2aWNlc0NvcmUsIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dCk7CitTT0ZUX0xJTktf
Q0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTChXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlLCBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMpOwogU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwg
QVNDUGxhdGZvcm1QdWJsaWNLZXlDcmVkZW50aWFsQXNzZXJ0aW9uKTsKIFNPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ1BsYXRm
b3JtUHVibGljS2V5Q3JlZGVudGlhbExvZ2luQ2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ1BsYXRmb3JtUHVi
bGljS2V5Q3JlZGVudGlhbFJlZ2lzdHJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L0NvY29hL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1tCmluZGV4IGVkMzJjOGI0
M2IxM2ZkYTdlODg0MDc2NGJmZjNlODFkNzc5NDUzMGEuLmM1YzM5NGFkN2VlZjA1NzQ5ZDM1ZTQ0
YmIyOTE1OTczYzA1ZmRmODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1tCkBAIC02OSw2ICs2OSwyMCBAQCBzdGF0
aWMgaW5saW5lIFJldGFpblB0cjxOU1N0cmluZz4gdG9OU1N0cmluZyhVc2VyVmVyaWZpY2F0aW9u
UmVxdWlyZW1lbnQgdXNlclZlcgogICAgIHJldHVybiBAInByZWZlcnJlZCI7CiB9CiAKK3N0YXRp
YyBpbmxpbmUgUmV0YWluUHRyPE5TU3RyaW5nPiB0b05TU3RyaW5nKEF0dGVzdGF0aW9uQ29udmV5
YW5jZVByZWZlcmVuY2UgYXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZSkKK3sKKyAgICBz
d2l0Y2ggKGF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UpIHsKKyAgICBjYXNlIEF0dGVz
dGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6OkRpcmVjdDoKKyAgICAgICAgcmV0dXJuIEAiZGly
ZWN0IjsKKyAgICBjYXNlIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6OkluZGlyZWN0
OgorICAgICAgICByZXR1cm4gQCJpbmRpcmVjdCI7CisgICAgY2FzZSBBdHRlc3RhdGlvbkNvbnZl
eWFuY2VQcmVmZXJlbmNlOjpOb25lOgorICAgICAgICByZXR1cm4gQCJub25lIjsKKyAgICB9CisK
KyAgICByZXR1cm4gQCJub25lIjsKK30KKwogc3RhdGljIGlubGluZSBFeGNlcHRpb25Db2RlIHRv
RXhjZXB0aW9uQ29kZShOU0ludGVnZXIgbnNFcnJvckNvZGUpCiB7CiAgICAgRXhjZXB0aW9uQ29k
ZSBleGNlcHRpb25Db2RlID0gKEV4Y2VwdGlvbkNvZGUpbnNFcnJvckNvZGU7CkBAIC0xNTAsNiAr
MTY0LDE0IEBAIHN0YXRpYyBpbmxpbmUgUmV0YWluUHRyPEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxE
ZXNjcmlwdG9yPiB0b0FTQ0Rlc2NyaXB0b3IoUHVibGljCiAgICAgcmV0dXJuIGFkb3B0TlMoW2Fs
bG9jQVNDUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3JJbnN0YW5jZSgpIGluaXRXaXRoQ3Jl
ZGVudGlhbElEOldlYkNvcmU6OnRvTlNEYXRhKGRlc2NyaXB0b3IuaWQpLmdldCgpIHRyYW5zcG9y
dHM6dHJhbnNwb3J0cy5nZXQoKV0pOwogfQogCitzdGF0aWMgaW5saW5lIFJldGFpblB0cjxBU0NX
ZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHM+IHRvQVNDRXh0ZW5zaW9ucyhj
b25zdCBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMmIGV4dGVuc2lvbnMpCit7
CisgICAgaWYgKFthbGxvY0FTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0
c0luc3RhbmNlKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihpbml0V2l0aEFwcElEOmlz
R29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0OildKQorICAgICAgICByZXR1cm4gYWRvcHROUyhbYWxs
b2NBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHNJbnN0YW5jZSgpIGlu
aXRXaXRoQXBwSUQ6ZXh0ZW5zaW9ucy5hcHBpZCBpc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydDpl
eHRlbnNpb25zLmdvb2dsZUxlZ2FjeUFwcGlkU3VwcG9ydF0pOworCisgICAgcmV0dXJuIG5pbDsK
K30KKwogc3RhdGljIFJldGFpblB0cjxBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQ+IGNvbmZp
Z3VyZVJlZ2lzdHJhdGlvblJlcXVlc3RDb250ZXh0KGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxD
cmVhdGlvbk9wdGlvbnMmIG9wdGlvbnMsIFZlY3Rvcjx1aW50OF90PiBoYXNoKQogewogICAgIEFT
Q0NyZWRlbnRpYWxSZXF1ZXN0VHlwZXMgcmVxdWVzdFR5cGVzID0gQVNDQ3JlZGVudGlhbFJlcXVl
c3RUeXBlUGxhdGZvcm1QdWJsaWNLZXlSZWdpc3RyYXRpb24gfCBBU0NDcmVkZW50aWFsUmVxdWVz
dFR5cGVTZWN1cml0eUtleVB1YmxpY0tleVJlZ2lzdHJhdGlvbjsKQEAgLTE4NCw2ICsyMDYsNyBA
QCBzdGF0aWMgUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJl
UmVnaXN0cmF0aW9uUmVxdWVzdENvbnRleAogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25z
IHNldFVzZXJEaXNwbGF5TmFtZTpvcHRpb25zLnVzZXIuZGlzcGxheU5hbWVdOwogICAgIFtjcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldFVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOnVzZXJW
ZXJpZmljYXRpb24uZ2V0KCldOwogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldFNo
b3VsZFJlcXVpcmVSZXNpZGVudEtleTpzaG91bGRSZXF1aXJlUmVzaWRlbnRLZXldOworICAgIFtj
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldEF0dGVzdGF0aW9uUHJlZmVyZW5jZTp0b05TU3Ry
aW5nKG9wdGlvbnMuYXR0ZXN0YXRpb24pLmdldCgpXTsKIAogICAgIFJldGFpblB0cjxOU011dGFi
bGVBcnJheTxOU051bWJlciAqPj4gc3VwcG9ydGVkQWxnb3JpdGhtSWRlbnRpZmllcnMgPSBhZG9w
dE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6b3B0aW9ucy5wdWJL
ZXlDcmVkUGFyYW1zLnNpemUoKV0pOwogICAgIGZvciAoUHVibGljS2V5Q3JlZGVudGlhbENyZWF0
aW9uT3B0aW9uczo6UGFyYW1ldGVycyBhbGdvcml0aG1QYXJhbWV0ZXIgOiBvcHRpb25zLnB1Yktl
eUNyZWRQYXJhbXMpCkBAIC0yMDcsNiArMjMwLDkgQEAgc3RhdGljIFJldGFpblB0cjxBU0NDcmVk
ZW50aWFsUmVxdWVzdENvbnRleHQ+IGNvbmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVlc3RDb250ZXgK
ICAgICBpZiAocmVxdWVzdFR5cGVzICYgQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlU2VjdXJpdHlL
ZXlQdWJsaWNLZXlSZWdpc3RyYXRpb24pCiAgICAgICAgIFtyZXF1ZXN0Q29udGV4dCBzZXRTZWN1
cml0eUtleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6Y3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cy5nZXQoKV07CiAKKyAgICBpZiAob3B0aW9ucy5leHRlbnNpb25zICYmIFtjcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0RXh0ZW5zaW9uczop
XSkKKyAgICAgICAgW2NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgc2V0RXh0ZW5zaW9uczp0b0FT
Q0V4dGVuc2lvbnMoKm9wdGlvbnMuZXh0ZW5zaW9ucykuZ2V0KCldOworCiAgICAgcmV0dXJuIHJl
cXVlc3RDb250ZXh0OwogfQogCkBAIC0yNDQsNiArMjcwLDggQEAgc3RhdGljIFJldGFpblB0cjxB
U0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQ+IGNvbmZpZ3VyYXRpb25Bc3NlcnRpb25SZXF1ZXN0
Q29udGUKICAgICAgICAgICAgIGF1dG8gY2hhbGxlbmdlID0gV2ViQ29yZTo6dG9OU0RhdGEob3B0
aW9ucy5jaGFsbGVuZ2UpOwogICAgICAgICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgaW5pdFdpdGhL
aW5kOkFTQ1B1YmxpY0tleUNyZWRlbnRpYWxLaW5kUGxhdGZvcm0gcmVseWluZ1BhcnR5SWRlbnRp
ZmllcjpvcHRpb25zLnJwSWQgY2hhbGxlbmdlOmNoYWxsZW5nZS5nZXQoKSB1c2VyVmVyaWZpY2F0
aW9uUHJlZmVyZW5jZTp1c2VyVmVyaWZpY2F0aW9uLmdldCgpIGFsbG93ZWRDcmVkZW50aWFsczph
bGxvd2VkQ3JlZGVudGlhbHMuZ2V0KCldOwogICAgICAgICB9CisgICAgICAgIGlmIChvcHRpb25z
LmV4dGVuc2lvbnMgJiYgW2Fzc2VydGlvbk9wdGlvbnMgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihzZXRFeHRlbnNpb25zOildKQorICAgICAgICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgc2V0
RXh0ZW5zaW9uczp0b0FTQ0V4dGVuc2lvbnMoKm9wdGlvbnMuZXh0ZW5zaW9ucykuZ2V0KCldOwog
CiAgICAgICAgIFtyZXF1ZXN0Q29udGV4dCBzZXRQbGF0Zm9ybUtleUNyZWRlbnRpYWxBc3NlcnRp
b25PcHRpb25zOmFzc2VydGlvbk9wdGlvbnMuZ2V0KCldOwogICAgIH0KQEAgLTI1Nyw2ICsyODUs
OSBAQCBzdGF0aWMgUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmln
dXJhdGlvbkFzc2VydGlvblJlcXVlc3RDb250ZQogICAgICAgICAgICAgYXV0byBjaGFsbGVuZ2Ug
PSBXZWJDb3JlOjp0b05TRGF0YShvcHRpb25zLmNoYWxsZW5nZSk7CiAgICAgICAgICAgICBbYXNz
ZXJ0aW9uT3B0aW9ucyBpbml0V2l0aEtpbmQ6QVNDUHVibGljS2V5Q3JlZGVudGlhbEtpbmRTZWN1
cml0eUtleSByZWx5aW5nUGFydHlJZGVudGlmaWVyOm9wdGlvbnMucnBJZCBjaGFsbGVuZ2U6Y2hh
bGxlbmdlLmdldCgpIHVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOnVzZXJWZXJpZmljYXRpb24u
Z2V0KCkgYWxsb3dlZENyZWRlbnRpYWxzOmFsbG93ZWRDcmVkZW50aWFscy5nZXQoKV07CiAgICAg
ICAgIH0KKyAgICAgICAgaWYgKG9wdGlvbnMuZXh0ZW5zaW9ucyAmJiBbYXNzZXJ0aW9uT3B0aW9u
cyByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEV4dGVuc2lvbnM6KV0pCisgICAgICAg
ICAgICBbYXNzZXJ0aW9uT3B0aW9ucyBzZXRFeHRlbnNpb25zOnRvQVNDRXh0ZW5zaW9ucygqb3B0
aW9ucy5leHRlbnNpb25zKS5nZXQoKV07CisKICAgICAgICAgW3JlcXVlc3RDb250ZXh0IHNldFNl
Y3VyaXR5S2V5Q3JlZGVudGlhbEFzc2VydGlvbk9wdGlvbnM6YXNzZXJ0aW9uT3B0aW9ucy5nZXQo
KV07CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yUHJveHkuaAppbmRleCAxYTQzN2RhMmRlY2QwZGU5ZDQ5NGIwOWQ4YWEzNmE3MTc1MjZhOWEw
Li41OGYwMTk2ZmIxNjdhOTE2YTJmMTA5ZTc0ZDc3YzZmODY4Yzg3NjQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmgKQEAgLTYwLDYgKzYw
LDEwIEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQ
cm94eShXZWJQYWdlUHJveHkmKTsKICAgICB+V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHkoKTsKIAorI2lmIEhBVkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKKyAgICBzdGF0aWMgUmV0YWlu
UHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29udGV4dEZvclJlcXVlc3QoV2ViQXV0
aGVudGljYXRpb25SZXF1ZXN0RGF0YSYmKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHVzaW5n
IFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSYsIFdlYkNvcmU6OkF1dGhlbnRpY2F0
b3JBdHRhY2htZW50LCBjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+OwogICAgIHVzaW5n
IFF1ZXJ5Q29tcGxldGlvbkhhbmRsZXIgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPjsK
QEAgLTc3LDEwICs4MSw5IEBAIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2VQ
cm94eTsKIAogI2lmIEhBVkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKLSAgICBSZXRhaW5QdHI8QVND
Q3JlZGVudGlhbFJlcXVlc3RDb250ZXh0PiBjb250ZXh0Rm9yUmVxdWVzdChXZWJBdXRoZW50aWNh
dGlvblJlcXVlc3REYXRhJiYpOwogICAgIHZvaWQgcGVyZm9ybVJlcXVlc3QoUmV0YWluUHRyPEFT
Q0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4sIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsK
ICAgICBSZXRhaW5QdHI8QVNDQXV0aG9yaXphdGlvblJlbW90ZVByZXNlbnRlcj4gbV9wcmVzZW50
ZXI7Ci0jZW5kaWYKKyNlbmRpZiAvLyBIQVZFKFVOSUZJRURfQVNDX0FVVEhfVUkpCiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDgwNmRjNzBmNTM2ODNhNzI5NTdmN2Y0NzRjMjQ4ZmNiZDdh
NjA5MzIuLjRhZTQ3ZjAyNzQ1YjkwNGM5N2MxNDA5YjYwNmUyYTc0NzNmOGNiMmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE3MSw3
ICsxMTcxLDYgQEAKIAkJNTdEQ0VEQjAyMTRDNjA0MjAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0b3JU
cmFuc3BvcnRTZXJ2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1N0RDRUQ4QTIxNDg1MzEzMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5zcG9y
dFNlcnZpY2UuaCAqLzsgfTsKIAkJNTdEQ0VEQjEyMTRDNjA0ODAwMTZCODQ3IC8qIEF1dGhlbnRp
Y2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
RENFRDhCMjE0ODVCRDcwMDE2Qjg0NyAvKiBBdXRoZW50aWNhdG9yLmggKi87IH07CiAJCTU3RENF
REIyMjE0QzYwNEMwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRURBNjIxNDlG
OURBMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oICovOyB9OwotCQk1
N0RDRURCMzIxNEM2MDUzMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjA4
Mjk1MjAyQkQ4QkEwMDExNjY3OCAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5o
ICovOyB9OwogCQk1N0RDRURDMzIxNEYxMTRDMDAxNkI4NDcgLyogTW9ja0xvY2FsU2VydmljZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VEQzEy
MTRGMTE0QzAwMTZCODQ3IC8qIE1vY2tMb2NhbFNlcnZpY2UuaCAqLzsgfTsKIAkJNTdEQ0VEQzcy
MTRGMTgzMDAwMTZCODQ3IC8qIE1vY2tMb2NhbENvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFREM1MjE0RjE4MzAwMDE2Qjg0NyAv
KiBNb2NrTG9jYWxDb25uZWN0aW9uLmggKi87IH07CiAJCTU3RENFRENCMjE0RjRFNDIwMDE2Qjg0
NyAvKiBNb2NrQXV0aGVudGljYXRvck1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFREM5MjE0RjRFNDIwMDE2Qjg0NyAvKiBNb2NrQXV0
aGVudGljYXRvck1hbmFnZXIuaCAqLzsgfTsKQEAgLTExNzksNyArMTE3OCw2IEBACiAJCTU3RUJF
MjZBMjM0Njc2QzUwMDhEOEFGOSAvKiBBUElXZWJBdXRoZW50aWNhdGlvblBhbmVsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VCRTI2ODIzNDY3NkM1
MDA4RDhBRjkgLyogQVBJV2ViQXV0aGVudGljYXRpb25QYW5lbC5oICovOyB9OwogCQk1N0VGQzc3
RTI1NTBFQjg2MDBGOTQ3N0QgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi5zYiBpbiBDb3B5
RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFRkM3N0QyNTUwRUI4
NTAwRjk0NzdEIC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4uc2IgKi87IH07CiAJCTU3RkFC
QjBGMjU4MTdDRjAwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGQUJCMEUyNTgx
N0NGMDAwNTlEQzk1IC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJLmggKi87IH07Ci0J
CTU3RkFCQjEyMjU4MTgyN0MwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNv
ZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
N0ZBQkIxMDI1ODE4MjdDMDA1OURDOTUgLyogQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0
TGluay5oICovOyB9OwogCQk1N0ZBQkIxMzI1ODE4MjdDMDA1OURDOTUgLyogQXV0aGVudGljYXRp
b25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3RkFCQjExMjU4MTgyN0MwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlv
blNlcnZpY2VzQ29yZVNvZnRMaW5rLm1tICovOyB9OwogCQk1N0ZEMzE4MDIyQjM1MTU4MDA4RDBF
OEIgLyogTmF2aWdhdGlvblNPQXV0aG9yaXphdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkQzMTc4MjJCMzUxNDkwMDhEMEU4QiAv
KiBOYXZpZ2F0aW9uU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oICovOyB9OwogCQk1N0ZEMzE4MTIy
QjM1MTVCMDA4RDBFOEIgLyogUG9wVXBTT0F1dGhvcml6YXRpb25TZXNzaW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZEMzE3MDIyQjM1MTQ4MDA4
RDBFOEIgLyogUG9wVXBTT0F1dGhvcml6YXRpb25TZXNzaW9uLmggKi87IH07CkBAIC00NTU3LDYg
KzQ1NTUsOCBAQAogCQk1MkQ1QTFCMjFDNTc0OUYyMDBERTM0QTMgLyogVmlkZW9GdWxsc2NyZWVu
TWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyRDVBMUIzMUM1NzQ5
RjIwMERFMzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1lc3NhZ2VzLmluICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyRDVBMUI0MUM1NzQ5RjIwMERFMzRBMyAvKiBWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTJFNkMzQzQyNzk4QzlBNzAwNTVDRTUyIC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGlu
YXRvclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5Lmg7IHBhdGggPSBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTJFNkMz
QzYyNzk5RTBCQjAwNTVDRTUyIC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oOyBw
YXRoID0gVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTJGMDYw
REQxNjU0MzE3NTAwRjMyODFCIC8qIE5ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtDb250ZW50UnVsZUxpc3RN
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdC9O
ZXR3b3JrQ29udGVudFJ1bGVMaXN0TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUzMTU4NzZCMjA3NkI3MTMwMDRCRjlGMyAv
KiBOZXR3b3JrQWN0aXZpdHlUcmFja2VyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrQWN0aXZpdHlUcmFja2VyQ29jb2EubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzMjE1OTRGMURCQUU2RDcwMDU0QUEzQyAvKiBOZXR3b3Jr
RGF0YVRhc2tDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3Jr
RGF0YVRhc2tDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjgxMCw2ICs2
ODEwLDggQEAKIAkJMDg2N0Q2OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdDIgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTUyRTZDM0M2Mjc5OUUwQkIw
MDU1Q0U1MiAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLmggKi8sCisJCQkJ
NTJFNkMzQzQyNzk4QzlBNzAwNTVDRTUyIC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5LmggKi8sCiAJCQkJNUMxNTdBMEEyNzE3QzlGMTAwRUQ1MjgwIC8qIHdlYnB1c2hkICovLAog
CQkJCUIzOTZFQTU1MTJFMEVEMkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLywKIAkJCQkyRDdERUJF
MDIxMjY5RDVGMDBCOUY3M0MgLyogU291cmNlcy50eHQgKi8sCkBAIC03MTA3LDggKzcxMDksNiBA
QAogCQkJCTExODUwMjYwMjY3M0IwREEwMEE2NDI1RSAvKiBYUiAqLywKIAkJCQlFM0JDRTg3NzI2
NzI1MjEyMDAxMUQ4REIgLyogQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmNwcCAqLywKIAkJCQlF
M0JDRTg3ODI2NzI1MjEyMDAxMUQ4REIgLyogQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmggKi8s
Ci0JCQkJN0I1MEU5N0YyNzcxRjZDRTAwM0RBQUM0IC8qIElQQ1Rlc3Rlci5jcHAgKi8sCi0JCQkJ
N0I1MEU5ODAyNzcxRjZDRjAwM0RBQUM0IC8qIElQQ1Rlc3Rlci5oICovLAogCQkJCUE3RDc5MkQ1
MTc2N0NCNkUwMDg4MUNCRSAvKiBBY3Rpdml0eUFzc2VydGlvbi5jcHAgKi8sCiAJCQkJQTdENzky
RDQxNzY3Q0IwOTAwODgxQ0JFIC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmggKi8sCiAJCQkJQkMzMjlE
OUExNkFDQ0U5OTAwMzE2REUyIC8qIEFQSVdlYkFyY2hpdmUuaCAqLywKQEAgLTcxNTgsNiArNzE1
OCw4IEBACiAJCQkJQkNDRjZCMjMxMkM5M0U3QTAwOEY5QzM1IC8qIEltYWdlT3B0aW9ucy5oICov
LAogCQkJCTk5OUI3RUQ4MjU1MEU0QTgwMEY0NTBBNCAvKiBJbnNwZWN0b3JFeHRlbnNpb25UeXBl
cy5jcHAgKi8sCiAJCQkJOTlCRTNCMTYyNTQzM0I5NDAwQzY1NTFDIC8qIEluc3BlY3RvckV4dGVu
c2lvblR5cGVzLmggKi8sCisJCQkJN0I1MEU5N0YyNzcxRjZDRTAwM0RBQUM0IC8qIElQQ1Rlc3Rl
ci5jcHAgKi8sCisJCQkJN0I1MEU5ODAyNzcxRjZDRjAwM0RBQUM0IC8qIElQQ1Rlc3Rlci5oICov
LAogCQkJCTFBOTJEQzEyMTJGOEJBQjkwMDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmNwcCAq
LywKIAkJCQkxQTkyREMxMDEyRjhCQTQ2MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dC5oICov
LAogCQkJCTJEMTA4NzVFMUQyQzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFyYW1ldGVycy5jcHAgKi8s
CkBAIC0xMjU5OCw2ICsxMjYwMCw3IEBACiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsK
IAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQk3QkRE
QTMxOTI3NDdDMDQwMDAzODY1OUUgLyogKG51bGwpIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdBNUUw
MTQxOEJCRjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVu
dEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ5MzE2QTMyNURDN0RDNDAwQUE2
NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjgzOSw3ICsxMjg0
Miw2IEBACiAJCQkJNTEyRjU4OTkxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uRGVj
aXNpb25MaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThFRjkxNkIyMDkxQzAwRTkx
NDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4
QTMxMkE4ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLywKLQkJCQk1N0ZBQkIxMjI1ODE4MjdDMDA1OURDOTUgLyogQXV0aGVudGljYXRp
b25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdGQUJCMEYyNTgx
N0NGMDAwNTlEQzk1IC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1N0RDRURCMTIxNEM2MDQ4MDAxNkI4NDcgLyogQXV0aGVudGljYXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTdEQ0VEQUYyMTRDNjAzQjAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0
b3JNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTEyOTgwLDcgKzEyOTgyLDYgQEAKIAkJCQlD
NUJDRTVERjFDNTA3NjZBMDBDREUzRkEgLyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJENEQyQzgxMURGNjBCRjMwMDJFQjEwQyAvKiBJbnRl
cmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTMxRjYwQTQy
NUNDN0RCOTAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0JE
REEzMTkyNzQ3QzA0MDAwMzg2NTlFIC8qIChudWxsKSBpbiBIZWFkZXJzICovLAogCQkJCTlCNDc5
MDhGMjUzMTUxQ0MwMEVDMTFBQiAvKiBKU0lQQ0JpbmRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUMxNjYzRTVCMjRBRUFBMkYwMEM2QTNCMiAvKiBMYXVuY2hTZXJ2aWNlc0RhdGFiYXNlWFBDQ29u
c3RhbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0UwOTM3ODE0RkIxMjhDMDAxMTM4RDkgLyog
TGF5ZXJIb3N0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzM1NCw3ICsxMzM1NSw2
IEBACiAJCQkJNTdDNjI0NEIyMzQ2NzlBNDAwMzgzRkU3IC8qIFdlYkF1dGhlbnRpY2F0aW9uRmxh
Z3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3N0ZGNzg1MjM0NkVDQUEwMDRFREZCOSAvKiBXZWJB
dXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRURCMjIx
NEM2MDRDMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJNTdEQ0VEQjMyMTRDNjA1MzAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ3MTIxNDJFRTZDMDAx
NkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTc0MkEzMEQyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcyRUJCQzAyNTM2QTYwQTAw
MDU1MkIzIC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA3Yjk3MTlkYTRhYzM5Nzg5NzMzZWU3YTgzMmEzMzFmYzVlZTE0YTA3Li41YWE0NmE2Mzdh
ZmZiM2Y0MzQ3Y2M3ZmNhMDdhZDE0YTE2MWViNjMzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjItMDEtMjQgIEog
UGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gV2Ugc2hv
dWxkIHBhc3MgZXh0ZW5zaW9ucyB0byBBU0MgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTUzMworICAgICAgICByZGFyOi8vODcx
Njk0MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgdGVzdHMgZm9yIGF0dGVzdGF0aW9uUHJlZmVyZW5jZSBhbmQgZXh0ZW5zaW9ucyBwcm9wZXJ0
aWVzCisgICAgICAgIGluIGNvbnZlcnNpb24gdG8gQVNDUHVibGljS2V5Q3JlZGVudGlhbEFzc2Vy
dGlvbk9wdGlvbnMgYW5kCisgICAgICAgIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAyMi0wMS0yNCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIEZpeGVkVmVjdG9yOjpjbGVhcigpLCBjb250YWlucygpLCBmaW5kKCksIGFuZCBmaW5kTWF0
Y2hpbmcoKS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCAzMzc2NmUw
OWZkNWY5N2RiNGYzNTYxZDM5NGY0ZjhmNzJmMjA4OGQ5Li44ZjZhYTkyYWFmZmIxNWFmZDY1ZGIy
YWEyNDM4NzNkNTg5OWYzZGE3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1t
CkBAIC0xNzg3LDYgKzE3ODcsNjAgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBQdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zTWF4aW11bTIpCiAgICAgRVhQRUNUX0VRKHJl
c3VsdC5hdHRlc3RhdGlvbiwgQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZTo6SW5kaXJl
Y3QpOwogfQogCisjaWYgSEFWRShVTklGSUVEX0FTQ19BVVRIX1VJKQorVEVTVChXZWJBdXRoZW50
aWNhdGlvblBhbmVsLCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zQVNDKQorewor
ICAgIHVpbnQ4X3QgaWRlbnRpZmllcltdID0geyAweDAxLCAweDAyLCAweDAzLCAweDA0IH07Cisg
ICAgTlNEYXRhICpuc0lkZW50aWZpZXIgPSBbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6aWRlbnRpZmll
ciBsZW5ndGg6c2l6ZW9mKGlkZW50aWZpZXIpXTsKKyAgICBhdXRvIHBhcmFtZXRlcnMgPSBhZG9w
dE5TKFtbX1dLUHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRoQWxn
b3JpdGhtOkAtN10pOworCisgICAgYXV0byBycCA9IGFkb3B0TlMoW1tfV0tQdWJsaWNLZXlDcmVk
ZW50aWFsUmVseWluZ1BhcnR5RW50aXR5IGFsbG9jXSBpbml0V2l0aE5hbWU6QCJleGFtcGxlLmNv
bSJdKTsKKyAgICBhdXRvIHVzZXIgPSBhZG9wdE5TKFtbX1dLUHVibGljS2V5Q3JlZGVudGlhbFVz
ZXJFbnRpdHkgYWxsb2NdIGluaXRXaXRoTmFtZTpAImphcHBsZXNlZWRAZXhhbXBsZS5jb20iIGlk
ZW50aWZpZXI6bnNJZGVudGlmaWVyIGRpc3BsYXlOYW1lOkAiSiBBcHBsZXNlZWQiXSk7CisgICAg
TlNBcnJheTxfV0tQdWJsaWNLZXlDcmVkZW50aWFsUGFyYW1ldGVycyAqPiAqcHVibGljS2V5Q3Jl
ZGVudGlhbFBhcmFtYXRlcnMgPSBAWyBwYXJhbWV0ZXJzLmdldCgpIF07CisKKyAgICBhdXRvIG9w
dGlvbnMgPSBhZG9wdE5TKFtbX1dLUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBh
bGxvY10gaW5pdFdpdGhSZWx5aW5nUGFydHk6cnAuZ2V0KCkgdXNlcjp1c2VyLmdldCgpIHB1Ymxp
Y0tleUNyZWRlbnRpYWxQYXJhbWF0ZXJzOnB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWF0ZXJzXSk7
CisgICAgW29wdGlvbnMgc2V0QXR0ZXN0YXRpb246X1dLQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJl
ZmVyZW5jZUluZGlyZWN0XTsKKworICAgIGF1dG8gZXh0ZW5zaW9ucyA9IGFkb3B0TlMoW1tfV0tB
dXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgYWxsb2NdIGluaXRdKTsKKyAgICBb
ZXh0ZW5zaW9ucyBzZXRBcHBpZDpAImh0dHBzLy93d3cuZXhhbXBsZS5jb20vZmlkbyJdOworICAg
IFtleHRlbnNpb25zIHNldEdvb2dsZUxlZ2FjeUFwcGlkU3VwcG9ydDp0cnVlXTsKKyAgICBbb3B0
aW9ucyBzZXRFeHRlbnNpb25zOmV4dGVuc2lvbnMuZ2V0KCldOworCisgICAgYXV0byByZXN1bHQg
PSBbX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBjb252ZXJ0VG9Db3JlQ3JlYXRpb25PcHRpb25z
V2l0aE9wdGlvbnM6b3B0aW9ucy5nZXQoKV07CisKKyAgICB1aW50OF90IGhhc2hbXSA9IHsgMHgw
MSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwg
MHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgw
NCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwg
MHgwMiwgMHgwMywgMHgwNCB9OworICAgIE5TRGF0YSAqbnNIYXNoID0gW05TRGF0YSBkYXRhV2l0
aEJ5dGVzOmhhc2ggbGVuZ3RoOnNpemVvZihoYXNoKV07CisgICAgYXV0byBjb250ZXh0ID0gW19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgY29udGV4dEZvckhhc2g6bnNIYXNoIG9wdGlvbnM6cmVz
dWx0XTsKKworICAgIEVYUEVDVF9XS19TVFJFUShjb250ZXh0LnNlY3VyaXR5S2V5Q3JlZGVudGlh
bENyZWF0aW9uT3B0aW9ucy5hdHRlc3RhdGlvblByZWZlcmVuY2UsICJpbmRpcmVjdCIpOworICAg
IGlmIChjb250ZXh0LnNlY3VyaXR5S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5leHRlbnNp
b25zKSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShjb250ZXh0LnNlY3VyaXR5S2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9ucy5leHRlbnNpb25zLmFwcElELCAiaHR0cHMvL3d3dy5leGFtcGxl
LmNvbS9maWRvIik7CisgICAgICAgIEVYUEVDVF9UUlVFKGNvbnRleHQuc2VjdXJpdHlLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zLmV4dGVuc2lvbnMuaXNHb29nbGVMZWdhY3lBcHBJRFN1cHBv
cnQpOworICAgIH0KK30KKworVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBQdWJsaWNLZXlD
cmVkZW50aWFsUmVxdWVzdE9wdGlvbnNBU0MpCit7CisgICAgYXV0byBvcHRpb25zID0gYWRvcHRO
UyhbW19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyBhbGxvY10gaW5pdF0pOwor
ICAgIGF1dG8gZXh0ZW5zaW9ucyA9IGFkb3B0TlMoW1tfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNDbGllbnRJbnB1dHMgYWxsb2NdIGluaXRdKTsKKyAgICBbZXh0ZW5zaW9ucyBzZXRBcHBpZDpA
Imh0dHBzLy93d3cuZXhhbXBsZS5jb20vZmlkbyJdOworICAgIFtleHRlbnNpb25zIHNldEdvb2ds
ZUxlZ2FjeUFwcGlkU3VwcG9ydDp0cnVlXTsKKyAgICBbb3B0aW9ucyBzZXRFeHRlbnNpb25zOmV4
dGVuc2lvbnMuZ2V0KCldOworCisgICAgYXV0byByZXN1bHQgPSBbX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbCBjb252ZXJ0VG9Db3JlUmVxdWVzdE9wdGlvbnNXaXRoT3B0aW9uczpvcHRpb25zLmdl
dCgpXTsKKworICAgIHVpbnQ4X3QgaGFzaFtdID0geyAweDAxLCAweDAyLCAweDAzLCAweDA0LCAw
eDAxLCAweDAyLCAweDAzLCAweDA0LCAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDAxLCAweDAy
LCAweDAzLCAweDA0LCAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDAxLCAweDAyLCAweDAzLCAw
eDA0LCAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDAxLCAweDAyLCAweDAzLCAweDA0IH07Cisg
ICAgTlNEYXRhICpuc0hhc2ggPSBbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6aGFzaCBsZW5ndGg6c2l6
ZW9mKGhhc2gpXTsKKyAgICBhdXRvIGNvbnRleHQgPSBbX1dLV2ViQXV0aGVudGljYXRpb25QYW5l
bCBjb250ZXh0Rm9ySGFzaDpuc0hhc2ggb3B0aW9uczpyZXN1bHRdOworCisgICAgaWYgKGNvbnRl
eHQuc2VjdXJpdHlLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmV4dGVuc2lvbnMpIHsKKyAg
ICAgICAgRVhQRUNUX1dLX1NUUkVRKGNvbnRleHQuc2VjdXJpdHlLZXlDcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zLmV4dGVuc2lvbnMuYXBwSUQsICJodHRwcy8vd3d3LmV4YW1wbGUuY29tL2ZpZG8i
KTsKKyAgICAgICAgRVhQRUNUX1RSVUUoY29udGV4dC5zZWN1cml0eUtleUNyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnMuZXh0ZW5zaW9ucy5pc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydCk7CisgICAg
fQorfQorI2VuZGlmIC8vIEhBVkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKKworCiBURVNUKFdlYkF1
dGhlbnRpY2F0aW9uUGFuZWwsIE1ha2VDcmVkZW50aWFsU1BJVGltZW91dCkKIHsKICAgICByZXNl
dCgpOwo=
</data>
<flag name="commit-queue"
          id="476077"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449848</attachid>
            <date>2022-01-24 13:37:05 -0800</date>
            <delta_ts>2022-01-24 15:19:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235533-20220124133704.patch</filename>
            <type>text/plain</type>
            <size>30938</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY2NDFmYTgzMDZjOWVjYTJm
M2QzY2YzODA4NzZjYmJiZTdhMDE3NzAuLjhmMWYxODk3YzM5ZjVhNDViYjhkOTk1NTdiNjUyYmY0
ODMzMThjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDEtMjQgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gV2Ugc2hvdWxkIHBh
c3MgZXh0ZW5zaW9ucyB0byBBU0MgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTUzMworICAgICAgICByZGFyOi8vODcxNjk0MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIHN0YXJ0cyBwYXNzaW5nIFdlYkF1dGhuIGV4dGVuc2lvbnMgdG8gQVNDIGlmIHBvc3NpYmxl
LAorICAgICAgICBpbiBvcmRlciB0byBzdXBwb3J0IHRoZSBnb29nbGVMZWdhY3lBcHBpZFN1cHBv
cnQgZXh0ZW5zaW9uLCB3aGljaAorICAgICAgICBpcyByZXF1aXJlZCB0byByZWdpc3RlciBzZWN1
cml0eSBrZXlzIG9uIGdvb2dsZS5jb20uIEl0IGFsc28gc3RhcnRzCisgICAgICAgIHBhc3Npbmcg
dGhlIGF0dGVzdGF0aW9uUHJlZmVyZW5jZSBvcHRpb24sIHdoaWNoIHdhcyBub3QgYmVpbmcgcGFz
c2VkIGJlZm9yZS4KKworICAgICAgICBUZXN0czogVGVzdFdlYktpdEFQSS5XZWJBdXRoZW50aWNh
dGlvblBhbmVsLlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9uc0FTQworICAgICAgICBh
bmQgVGVzdFdlYktpdEFQSS5XZWJBdXRoZW50aWNhdGlvblBhbmVsLlB1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnNBU0MKKworICAgICAgICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9BdXRo
ZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAg
ICAoYXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzKToKKyAgICAgICAgKCtbX1dL
V2ViQXV0aGVudGljYXRpb25QYW5lbCBjb250ZXh0Rm9ySGFzaDpvcHRpb25zOl0pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEZvclRlc3Rp
bmcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVu
dGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6dG9OU1N0cmluZyk6
CisgICAgICAgIChXZWJLaXQ6OnRvQVNDRXh0ZW5zaW9ucyk6CisgICAgICAgIChXZWJLaXQ6OmNv
bmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVlc3RDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6Y29u
ZmlndXJhdGlvbkFzc2VydGlvblJlcXVlc3RDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaDoKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMS0yNCAg
RGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBs
aWZ5IGFjY2Vzc2VzIHRvIFN5c3RlbVZlcnNpb24ucGxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJLmgg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2Vz
Q29yZVNQSS5oCmluZGV4IDU4MGZjZGNlM2M2MTVhMjFhMGI0Y2MyNzk0YWEzZmU0MzVjZmVlNTgu
LmQyMmFiMmNiN2RhNTM1Y2I1YTQyNTAwMWI4MzM3ZjVhZjU4NDI2ZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0aGVudGljYXRp
b25TZXJ2aWNlc0NvcmVTUEkuaApAQCAtMTMzLDYgKzEzMywxNyBAQCB0eXBlZGVmIE5TX0VOVU0o
TlNJbnRlZ2VyLCBBU0NTZWN1cml0eUtleVB1YmxpY0tleUNyZWRlbnRpYWxLaW5kKSB7CiAKIEBl
bmQKIAorQGNsYXNzIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0czsK
KworQGludGVyZmFjZSBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMg
OiBOU09iamVjdCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4KKworLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoQXBwSUQ6KE5TU3RyaW5nICogX051bGxhYmxlKWFwcElEIGlzR29vZ2xlTGVnYWN5
QXBwSURTdXBwb3J0OihCT09MKWlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0IE5TX0RFU0lHTkFU
RURfSU5JVElBTElaRVI7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkg
TlNTdHJpbmcgKmFwcElEOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgaXNHb29nbGVMZWdh
Y3lBcHBJRFN1cHBvcnQ7CisKK0BlbmQKKwogQGNsYXNzIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxE
ZXNjcmlwdG9yOwogCiB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgQVNDUHVibGljS2V5Q3Jl
ZGVudGlhbEtpbmQpIHsKQEAgLTE1Miw2ICsxNjMsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50
ZWdlciwgQVNDUHVibGljS2V5Q3JlZGVudGlhbEtpbmQpIHsKIC8vIElmIGNsaWVudERhdGFIYXNo
IGlzIG51bGwsIHRoZW4gZ2V0cyBnZW5lcmF0ZWQgZnJvbSBjaGFsbGVuZ2UgYW5kIHJlbHlpbmdQ
YXJ0eUlkZW50aWZpZXIuCiBAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5T
RGF0YSAqY2xpZW50RGF0YUhhc2g7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIHJl
YWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqdXNlclZlcmlmaWNhdGlvblByZWZlcmVuY2U7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0
ZW5zaW9uc0NsaWVudElucHV0cyAqZXh0ZW5zaW9uczsKIAogQHByb3BlcnR5IChub25hdG9taWMs
IG51bGxhYmxlLCByZWFkb25seSwgY29weSkgTlNBcnJheTxBU0NQdWJsaWNLZXlDcmVkZW50aWFs
RGVzY3JpcHRvciAqPiAqYWxsb3dlZENyZWRlbnRpYWxzOwogCkBAIC0xNzgsNiArMTkwLDggQEAg
dHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0VHlwZXMp
IHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqdXNlckRpc3BsYXlOYW1l
OwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8TlNOdW1iZXIgKj4gKnN1cHBv
cnRlZEFsZ29yaXRobUlkZW50aWZpZXJzOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxl
LCBjb3B5KSBOU1N0cmluZyAqdXNlclZlcmlmaWNhdGlvblByZWZlcmVuY2U7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICphdHRlc3RhdGlvblByZWZlcmVu
Y2U7CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIEFTQ1dlYkF1dGhlbnRp
Y2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyAqZXh0ZW5zaW9uczsKIAogQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgc2hvdWxkUmVxdWlyZVJlc2lkZW50S2V5OwogQHByb3BlcnR5IChub25h
dG9taWMsIGNvcHkpIE5TQXJyYXk8QVNDUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IgKj4g
KmV4Y2x1ZGVkQ3JlZGVudGlhbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRpb25FeHRlbnNp
b25zQ2xpZW50SW5wdXRzLmgKaW5kZXggMTY1MDk2YmZhMDU2ODY3Y2RkMDU1YzdiYTgyY2Q3Yzc1
N2Q2OGJiMC4uZjdhOTE2NmMxOWYwYjYwN2M5MmY1MGRkYjlmOTM2MzIzOTI1MmZmMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0aW9u
RXh0ZW5zaW9uc0NsaWVudElucHV0cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMuaApAQCAtMzUs
NiArMzUsNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSkKIEBp
bnRlcmZhY2UgX1dLQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIDogTlNPYmpl
Y3QKIAogQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYXBw
aWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBnb29nbGVMZWdhY3lBcHBpZFN1cHBvcnQ7
CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCBiYjZhOGRlZjNkY2U0
NDI0OTI2MDIzMzZmZTNkMmNiOGExMmJhMDM0Li43NGY1MzJmMDcyNzQxN2Y2NDAwMmE1MDczMzg4
ZDA4NDc0YzgzNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQpAQCAtMzEsNiArMzEs
NyBAQAogI2ltcG9ydCAiTG9jYWxTZXJ2aWNlLmgiCiAjaW1wb3J0ICJXS0Vycm9yLmgiCiAjaW1w
b3J0ICJXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmgiCisjaW1wb3J0ICJXZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oIgogI2ltcG9ydCAiX1dLQXV0aGVudGljYXRpb25FeHRl
bnNpb25zQ2xpZW50SW5wdXRzLmgiCiAjaW1wb3J0ICJfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNDbGllbnRPdXRwdXRzSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0F1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZUludGVybmFsLmgiCkBAIC01MjUsNyArNTI2LDcgQEAgc3RhdGljIFdlYkNv
cmU6OkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyBhdXRoZW50aWNhdGlvbkV4
dGVuc2lvbnNDbGkKIHsKICAgICBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGll
bnRJbnB1dHMgcmVzdWx0OwogICAgIHJlc3VsdC5hcHBpZCA9IGV4dGVuc2lvbnMuYXBwaWQ7Ci0g
ICAgcmVzdWx0Lmdvb2dsZUxlZ2FjeUFwcGlkU3VwcG9ydCA9IGZhbHNlOworICAgIHJlc3VsdC5n
b29nbGVMZWdhY3lBcHBpZFN1cHBvcnQgPSBleHRlbnNpb25zLmdvb2dsZUxlZ2FjeUFwcGlkU3Vw
cG9ydDsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC02MjAsNiArNjIxLDE4IEBAIHN0YXRp
YyBSZXRhaW5QdHI8X1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2U+IHdrQXV0aGVu
dGljYXRvckF0dGVzdGF0aW9uCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorKyAoQVNDQ3JlZGVu
dGlhbFJlcXVlc3RDb250ZXh0ICopY29udGV4dEZvckhhc2g6KE5TRGF0YSAqKWhhc2ggb3B0aW9u
czooc3RkOjp2YXJpYW50PFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnMsIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucz4pb3B0aW9ucwor
eworI2lmIEhBVkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKKyAgICBXZWJLaXQ6OldlYkF1dGhlbnRp
Y2F0aW9uUmVxdWVzdERhdGEgcmVxdWVzdERhdGE7CisgICAgcmVxdWVzdERhdGEuaGFzaCA9IHZl
Y3RvckZyb21OU0RhdGEoaGFzaCk7CisgICAgcmVxdWVzdERhdGEub3B0aW9ucyA9IG9wdGlvbnM7
CisgICAgcmV0dXJuIFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6OmNv
bnRleHRGb3JSZXF1ZXN0KFdURk1vdmUocmVxdWVzdERhdGEpKS5hdXRvcmVsZWFzZSgpOworI2Vs
c2UKKyAgICByZXR1cm4gTlVMTDsKKyNlbmRpZiAvLyBIQVZFKFVOSUZJRURfQVNDX0FVVEhfVUkp
Cit9CisKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogc3RhdGljIFJldGFpblB0cjxfV0tBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+IHdrQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEmIGRhdGEsIE5TRGF0YSAq
Y2xpZW50RGF0YUpTT04sIFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50IGF0dGFjaG1l
bnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
V2ViQXV0aGVudGljYXRpb25QYW5lbEZvclRlc3RpbmcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRm9yVGVzdGluZy5oCmluZGV4
IGMxYjNkZjBlNDE4YzY4MGI0NjIzZDc4YjNkNzM5MTQyOTJkNzRiZWYuLjQ1YTliNTNjZmU2MWY1
MTU2YmFmN2Y1Zjk3NTNhZDRjMzAxNzY5YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRm9yVGVzdGluZy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsRm9yVGVzdGluZy5oCkBAIC0zMiwxMiArMzIsNDEgQEAgc3RydWN0IFB1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM7CiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVl
c3RPcHRpb25zOwogfQogCituYW1lc3BhY2UgV2ViS2l0IHsKK3N0cnVjdCBXZWJBdXRoZW50aWNh
dGlvblJlcXVlc3REYXRhOworfQorCitAaW50ZXJmYWNlIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0
ZW5zaW9uc0NsaWVudElucHV0cyA6IE5TT2JqZWN0IDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5n
PgorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQXBwSUQ6KE5TU3RyaW5nICogX051bGxhYmxlKWFw
cElEIGlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0OihCT09MKWlzR29vZ2xlTGVnYWN5QXBwSURT
dXBwb3J0IE5TX0RFU0lHTkFURURfSU5JVElBTElaRVI7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
bnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICphcHBJRDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIGlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0OworQGVuZAorCitAaW50ZXJmYWNlIEFTQ1B1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rp
bmc+CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICphdHRl
c3RhdGlvblByZWZlcmVuY2U7CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkp
IEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyAqZXh0ZW5zaW9uczsK
K0BlbmQKKworQGludGVyZmFjZSBBU0NQdWJsaWNLZXlDcmVkZW50aWFsQXNzZXJ0aW9uT3B0aW9u
cyA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxs
YWJsZSwgY29weSkgQVNDV2ViQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzICpl
eHRlbnNpb25zOworCitAZW5kCisKK0BpbnRlcmZhY2UgQVNDQ3JlZGVudGlhbFJlcXVlc3RDb250
ZXh0IDogTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPgorQHByb3BlcnR5IChub25hdG9taWMsIG51
bGxhYmxlLCBjb3B5KSBBU0NQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zICpzZWN1
cml0eUtleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
bnVsbGFibGUsIGNvcHkpIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zICpz
ZWN1cml0eUtleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zOworQGVuZAorCitAY2xhc3MgQVND
Q3JlZGVudGlhbFJlcXVlc3RDb250ZXh0OworCiBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTIu
MCksIGlvcygxNS4wKSkKIEBpbnRlcmZhY2UgX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCAoV0tU
ZXN0aW5nKQogCiArIChXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25z
KWNvbnZlcnRUb0NvcmVDcmVhdGlvbk9wdGlvbnNXaXRoT3B0aW9uczooX1dLUHVibGljS2V5Q3Jl
ZGVudGlhbENyZWF0aW9uT3B0aW9ucyAqKW9wdGlvbnMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygx
Mi4wKSwgaW9zKDE1LjApKTsKICsgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0
T3B0aW9ucyljb252ZXJ0VG9Db3JlUmVxdWVzdE9wdGlvbnNXaXRoT3B0aW9uczooX1dLUHVibGlj
S2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zICopb3B0aW9ucyBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEyLjApLCBpb3MoMTUuMCkpOwogCisrIChBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQg
Kiljb250ZXh0Rm9ySGFzaDooTlNEYXRhICopaGFzaCBvcHRpb25zOihzdGQ6OnZhcmlhbnQ8V2Vi
Q29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucywgV2ViQ29yZTo6UHVibGlj
S2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zPilvcHRpb25zOworCiArIChOU0FycmF5PE5TRGlj
dGlvbmFyeSAqPiAqKWdldEFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzV2l0aEFjY2Vz
c0dyb3VwOihOU1N0cmluZyAqKWFjY2Vzc0dyb3VwIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIu
MCksIGlvcygxNS4wKSk7CiAKIC8vIEZvciBkZXRhaWxzIG9mIGNvbmZpZ3VyYXRpb24sIHJlZmVy
IHRvIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0
aW9uU2VydmljZXNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaApp
bmRleCBiM2E3OWMwN2FiYTJjYmFmZWVmZWZjNmM2N2NhZTEzNmY3MjIyNTE5Li43YjY5ODc4Y2Mx
MWJiNDhmMjNjNDY3ZWQ0MTM4ODA1YTM0ZTZhZjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2Vz
Q29yZVNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oCkBAIC00MCw2
ICs0MCw3IEBAIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDQXV0aG9yaXph
dGlvblByZXNlbnRhdGlvbkNvbnRleHQpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2Vi
S2l0LCBBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVB
REVSKFdlYktpdCwgQVNDQXV0aG9yaXphdGlvblJlbW90ZVByZXNlbnRlcik7CiBTT0ZUX0xJTktf
Q0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dCk7CitT
T0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0
ZW5zaW9uc0NsaWVudElucHV0cyk7CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQs
IEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlvbik7CiBTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbExvZ2lu
Q2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDUGxhdGZvcm1Q
dWJsaWNLZXlDcmVkZW50aWFsUmVnaXN0cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vydmlj
ZXNDb3JlU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1tCmluZGV4IGEy
M2FjNTNhN2JjMTlhMmUyNTI1ZWQzNjkyMGQwZGRjMzRmMzI4NmQuLjBiYjZmZGZkNDJmMzM1ZjM5
MzRjYmFmMDg1ZjU2NDVlOTIxNzNiMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29m
dExpbmsubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
Q29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbQpAQCAtNDAsNiArNDAs
NyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uUAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0Uo
V2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDQXV0aG9yaXphdGlvblByZXNl
bnRlcik7CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9u
U2VydmljZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uUmVtb3RlUHJlc2VudGVyKTsKIFNPRlRfTElO
S19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFT
Q0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dCk7CitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9P
UFRJT05BTChXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NXZWJBdXRoZW50
aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VS
Q0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDUGxhdGZvcm1QdWJsaWNL
ZXlDcmVkZW50aWFsQXNzZXJ0aW9uKTsKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktp
dCwgQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVu
dGlhbExvZ2luQ2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0
aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbFJl
Z2lzdHJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRp
Y2F0b3JDb29yZGluYXRvclByb3h5Lm1tCmluZGV4IGVkMzJjOGI0M2IxM2ZkYTdlODg0MDc2NGJm
ZjNlODFkNzc5NDUzMGEuLmM1YzM5NGFkN2VlZjA1NzQ5ZDM1ZTQ0YmIyOTE1OTczYzA1ZmRmODgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0Nv
Y29hL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0b3JDb29y
ZGluYXRvclByb3h5Lm1tCkBAIC02OSw2ICs2OSwyMCBAQCBzdGF0aWMgaW5saW5lIFJldGFpblB0
cjxOU1N0cmluZz4gdG9OU1N0cmluZyhVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQgdXNlclZl
cgogICAgIHJldHVybiBAInByZWZlcnJlZCI7CiB9CiAKK3N0YXRpYyBpbmxpbmUgUmV0YWluUHRy
PE5TU3RyaW5nPiB0b05TU3RyaW5nKEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UgYXR0
ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZSkKK3sKKyAgICBzd2l0Y2ggKGF0dGVzdGF0aW9u
Q29udmV5YW5jZVByZWZlcmVuY2UpIHsKKyAgICBjYXNlIEF0dGVzdGF0aW9uQ29udmV5YW5jZVBy
ZWZlcmVuY2U6OkRpcmVjdDoKKyAgICAgICAgcmV0dXJuIEAiZGlyZWN0IjsKKyAgICBjYXNlIEF0
dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6OkluZGlyZWN0OgorICAgICAgICByZXR1cm4g
QCJpbmRpcmVjdCI7CisgICAgY2FzZSBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlOjpO
b25lOgorICAgICAgICByZXR1cm4gQCJub25lIjsKKyAgICB9CisKKyAgICByZXR1cm4gQCJub25l
IjsKK30KKwogc3RhdGljIGlubGluZSBFeGNlcHRpb25Db2RlIHRvRXhjZXB0aW9uQ29kZShOU0lu
dGVnZXIgbnNFcnJvckNvZGUpCiB7CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb25Db2RlID0g
KEV4Y2VwdGlvbkNvZGUpbnNFcnJvckNvZGU7CkBAIC0xNTAsNiArMTY0LDE0IEBAIHN0YXRpYyBp
bmxpbmUgUmV0YWluUHRyPEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiB0b0FTQ0Rl
c2NyaXB0b3IoUHVibGljCiAgICAgcmV0dXJuIGFkb3B0TlMoW2FsbG9jQVNDUHVibGljS2V5Q3Jl
ZGVudGlhbERlc2NyaXB0b3JJbnN0YW5jZSgpIGluaXRXaXRoQ3JlZGVudGlhbElEOldlYkNvcmU6
OnRvTlNEYXRhKGRlc2NyaXB0b3IuaWQpLmdldCgpIHRyYW5zcG9ydHM6dHJhbnNwb3J0cy5nZXQo
KV0pOwogfQogCitzdGF0aWMgaW5saW5lIFJldGFpblB0cjxBU0NXZWJBdXRoZW50aWNhdGlvbkV4
dGVuc2lvbnNDbGllbnRJbnB1dHM+IHRvQVNDRXh0ZW5zaW9ucyhjb25zdCBBdXRoZW50aWNhdGlv
bkV4dGVuc2lvbnNDbGllbnRJbnB1dHMmIGV4dGVuc2lvbnMpCit7CisgICAgaWYgKFthbGxvY0FT
Q1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0c0luc3RhbmNlKCkgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihpbml0V2l0aEFwcElEOmlzR29vZ2xlTGVnYWN5QXBwSURT
dXBwb3J0OildKQorICAgICAgICByZXR1cm4gYWRvcHROUyhbYWxsb2NBU0NXZWJBdXRoZW50aWNh
dGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHNJbnN0YW5jZSgpIGluaXRXaXRoQXBwSUQ6ZXh0ZW5z
aW9ucy5hcHBpZCBpc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydDpleHRlbnNpb25zLmdvb2dsZUxl
Z2FjeUFwcGlkU3VwcG9ydF0pOworCisgICAgcmV0dXJuIG5pbDsKK30KKwogc3RhdGljIFJldGFp
blB0cjxBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQ+IGNvbmZpZ3VyZVJlZ2lzdHJhdGlvblJl
cXVlc3RDb250ZXh0KGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmIG9w
dGlvbnMsIFZlY3Rvcjx1aW50OF90PiBoYXNoKQogewogICAgIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0
VHlwZXMgcmVxdWVzdFR5cGVzID0gQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlUGxhdGZvcm1QdWJs
aWNLZXlSZWdpc3RyYXRpb24gfCBBU0NDcmVkZW50aWFsUmVxdWVzdFR5cGVTZWN1cml0eUtleVB1
YmxpY0tleVJlZ2lzdHJhdGlvbjsKQEAgLTE4NCw2ICsyMDYsNyBAQCBzdGF0aWMgUmV0YWluUHRy
PEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJlUmVnaXN0cmF0aW9uUmVxdWVz
dENvbnRleAogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldFVzZXJEaXNwbGF5TmFt
ZTpvcHRpb25zLnVzZXIuZGlzcGxheU5hbWVdOwogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRp
b25zIHNldFVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOnVzZXJWZXJpZmljYXRpb24uZ2V0KCld
OwogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldFNob3VsZFJlcXVpcmVSZXNpZGVu
dEtleTpzaG91bGRSZXF1aXJlUmVzaWRlbnRLZXldOworICAgIFtjcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zIHNldEF0dGVzdGF0aW9uUHJlZmVyZW5jZTp0b05TU3RyaW5nKG9wdGlvbnMuYXR0ZXN0
YXRpb24pLmdldCgpXTsKIAogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheTxOU051bWJlciAq
Pj4gc3VwcG9ydGVkQWxnb3JpdGhtSWRlbnRpZmllcnMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJy
YXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6b3B0aW9ucy5wdWJLZXlDcmVkUGFyYW1zLnNpemUo
KV0pOwogICAgIGZvciAoUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6UGFyYW1l
dGVycyBhbGdvcml0aG1QYXJhbWV0ZXIgOiBvcHRpb25zLnB1YktleUNyZWRQYXJhbXMpCkBAIC0y
MDcsNiArMjMwLDkgQEAgc3RhdGljIFJldGFpblB0cjxBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRl
eHQ+IGNvbmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVlc3RDb250ZXgKICAgICBpZiAocmVxdWVzdFR5
cGVzICYgQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlU2VjdXJpdHlLZXlQdWJsaWNLZXlSZWdpc3Ry
YXRpb24pCiAgICAgICAgIFtyZXF1ZXN0Q29udGV4dCBzZXRTZWN1cml0eUtleUNyZWRlbnRpYWxD
cmVhdGlvbk9wdGlvbnM6Y3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5nZXQoKV07CiAKKyAgICBp
ZiAob3B0aW9ucy5leHRlbnNpb25zICYmIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0RXh0ZW5zaW9uczopXSkKKyAgICAgICAgW2NyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMgc2V0RXh0ZW5zaW9uczp0b0FTQ0V4dGVuc2lvbnMoKm9wdGlv
bnMuZXh0ZW5zaW9ucykuZ2V0KCldOworCiAgICAgcmV0dXJuIHJlcXVlc3RDb250ZXh0OwogfQog
CkBAIC0yNDQsNiArMjcwLDggQEAgc3RhdGljIFJldGFpblB0cjxBU0NDcmVkZW50aWFsUmVxdWVz
dENvbnRleHQ+IGNvbmZpZ3VyYXRpb25Bc3NlcnRpb25SZXF1ZXN0Q29udGUKICAgICAgICAgICAg
IGF1dG8gY2hhbGxlbmdlID0gV2ViQ29yZTo6dG9OU0RhdGEob3B0aW9ucy5jaGFsbGVuZ2UpOwog
ICAgICAgICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgaW5pdFdpdGhLaW5kOkFTQ1B1YmxpY0tleUNy
ZWRlbnRpYWxLaW5kUGxhdGZvcm0gcmVseWluZ1BhcnR5SWRlbnRpZmllcjpvcHRpb25zLnJwSWQg
Y2hhbGxlbmdlOmNoYWxsZW5nZS5nZXQoKSB1c2VyVmVyaWZpY2F0aW9uUHJlZmVyZW5jZTp1c2Vy
VmVyaWZpY2F0aW9uLmdldCgpIGFsbG93ZWRDcmVkZW50aWFsczphbGxvd2VkQ3JlZGVudGlhbHMu
Z2V0KCldOwogICAgICAgICB9CisgICAgICAgIGlmIChvcHRpb25zLmV4dGVuc2lvbnMgJiYgW2Fz
c2VydGlvbk9wdGlvbnMgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRFeHRlbnNpb25z
OildKQorICAgICAgICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgc2V0RXh0ZW5zaW9uczp0b0FTQ0V4
dGVuc2lvbnMoKm9wdGlvbnMuZXh0ZW5zaW9ucykuZ2V0KCldOwogCiAgICAgICAgIFtyZXF1ZXN0
Q29udGV4dCBzZXRQbGF0Zm9ybUtleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zOmFzc2VydGlv
bk9wdGlvbnMuZ2V0KCldOwogICAgIH0KQEAgLTI1Nyw2ICsyODUsOSBAQCBzdGF0aWMgUmV0YWlu
UHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJhdGlvbkFzc2VydGlvblJl
cXVlc3RDb250ZQogICAgICAgICAgICAgYXV0byBjaGFsbGVuZ2UgPSBXZWJDb3JlOjp0b05TRGF0
YShvcHRpb25zLmNoYWxsZW5nZSk7CiAgICAgICAgICAgICBbYXNzZXJ0aW9uT3B0aW9ucyBpbml0
V2l0aEtpbmQ6QVNDUHVibGljS2V5Q3JlZGVudGlhbEtpbmRTZWN1cml0eUtleSByZWx5aW5nUGFy
dHlJZGVudGlmaWVyOm9wdGlvbnMucnBJZCBjaGFsbGVuZ2U6Y2hhbGxlbmdlLmdldCgpIHVzZXJW
ZXJpZmljYXRpb25QcmVmZXJlbmNlOnVzZXJWZXJpZmljYXRpb24uZ2V0KCkgYWxsb3dlZENyZWRl
bnRpYWxzOmFsbG93ZWRDcmVkZW50aWFscy5nZXQoKV07CiAgICAgICAgIH0KKyAgICAgICAgaWYg
KG9wdGlvbnMuZXh0ZW5zaW9ucyAmJiBbYXNzZXJ0aW9uT3B0aW9ucyByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHNldEV4dGVuc2lvbnM6KV0pCisgICAgICAgICAgICBbYXNzZXJ0aW9uT3B0
aW9ucyBzZXRFeHRlbnNpb25zOnRvQVNDRXh0ZW5zaW9ucygqb3B0aW9ucy5leHRlbnNpb25zKS5n
ZXQoKV07CisKICAgICAgICAgW3JlcXVlc3RDb250ZXh0IHNldFNlY3VyaXR5S2V5Q3JlZGVudGlh
bEFzc2VydGlvbk9wdGlvbnM6YXNzZXJ0aW9uT3B0aW9ucy5nZXQoKV07CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
QXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaAppbmRleCAx
YTQzN2RhMmRlY2QwZGU5ZDQ5NGIwOWQ4YWEzNmE3MTc1MjZhOWEwLi41OGYwMTk2ZmIxNjdhOTE2
YTJmMTA5ZTc0ZDc3YzZmODY4Yzg3NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvclByb3h5LmgKQEAgLTYwLDYgKzYwLDEwIEBAIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eShXZWJQYWdlUHJveHkm
KTsKICAgICB+V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkoKTsKIAorI2lmIEhBVkUo
VU5JRklFRF9BU0NfQVVUSF9VSSkKKyAgICBzdGF0aWMgUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxS
ZXF1ZXN0Q29udGV4dD4gY29udGV4dEZvclJlcXVlc3QoV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0
RGF0YSYmKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHVzaW5nIFJlcXVlc3RDb21wbGV0aW9u
SGFuZGxlciA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6QXV0aGVudGlj
YXRvclJlc3BvbnNlRGF0YSYsIFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50LCBjb25z
dCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhJik+OwogICAgIHVzaW5nIFF1ZXJ5Q29tcGxldGlvbkhh
bmRsZXIgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPjsKQEAgLTc3LDEwICs4MSw5IEBA
IHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2VQcm94eTsKIAogI2lmIEhBVkUo
VU5JRklFRF9BU0NfQVVUSF9VSSkKLSAgICBSZXRhaW5QdHI8QVNDQ3JlZGVudGlhbFJlcXVlc3RD
b250ZXh0PiBjb250ZXh0Rm9yUmVxdWVzdChXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhJiYp
OwogICAgIHZvaWQgcGVyZm9ybVJlcXVlc3QoUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0
Q29udGV4dD4sIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKICAgICBSZXRhaW5QdHI8QVND
QXV0aG9yaXphdGlvblJlbW90ZVByZXNlbnRlcj4gbV9wcmVzZW50ZXI7Ci0jZW5kaWYKKyNlbmRp
ZiAvLyBIQVZFKFVOSUZJRURfQVNDX0FVVEhfVUkpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDgwNmRjNzBmNTM2ODNhNzI5NTdmN2Y0NzRjMjQ4ZmNiZDdhNjA5MzIuLjRhZTQ3ZjAyNzQ1
YjkwNGM5N2MxNDA5YjYwNmUyYTc0NzNmOGNiMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE3MSw3ICsxMTcxLDYgQEAKIAkJNTdE
Q0VEQjAyMTRDNjA0MjAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0b3JUcmFuc3BvcnRTZXJ2aWNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRUQ4QTIx
NDg1MzEzMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5zcG9ydFNlcnZpY2UuaCAqLzsgfTsK
IAkJNTdEQ0VEQjEyMTRDNjA0ODAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDhCMjE0ODVCRDcwMDE2
Qjg0NyAvKiBBdXRoZW50aWNhdG9yLmggKi87IH07CiAJCTU3RENFREIyMjE0QzYwNEMwMDE2Qjg0
NyAvKiBXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRURBNjIxNDlGOURBMDAxNkI4NDcgLyogV2Vi
QXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oICovOyB9OwotCQk1N0RDRURCMzIxNEM2MDUzMDAx
NkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjA4Mjk1MjAyQkQ4QkEwMDExNjY3
OCAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oICovOyB9OwogCQk1N0RDRURD
MzIxNEYxMTRDMDAxNkI4NDcgLyogTW9ja0xvY2FsU2VydmljZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VEQzEyMTRGMTE0QzAwMTZCODQ3IC8q
IE1vY2tMb2NhbFNlcnZpY2UuaCAqLzsgfTsKIAkJNTdEQ0VEQzcyMTRGMTgzMDAwMTZCODQ3IC8q
IE1vY2tMb2NhbENvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU3RENFREM1MjE0RjE4MzAwMDE2Qjg0NyAvKiBNb2NrTG9jYWxDb25uZWN0
aW9uLmggKi87IH07CiAJCTU3RENFRENCMjE0RjRFNDIwMDE2Qjg0NyAvKiBNb2NrQXV0aGVudGlj
YXRvck1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3RENFREM5MjE0RjRFNDIwMDE2Qjg0NyAvKiBNb2NrQXV0aGVudGljYXRvck1hbmFnZXIu
aCAqLzsgfTsKQEAgLTExNzksNyArMTE3OCw2IEBACiAJCTU3RUJFMjZBMjM0Njc2QzUwMDhEOEFG
OSAvKiBBUElXZWJBdXRoZW50aWNhdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VCRTI2ODIzNDY3NkM1MDA4RDhBRjkgLyogQVBJV2Vi
QXV0aGVudGljYXRpb25QYW5lbC5oICovOyB9OwogCQk1N0VGQzc3RTI1NTBFQjg2MDBGOTQ3N0Qg
LyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFRkM3N0QyNTUwRUI4NTAwRjk0NzdEIC8qIGNvbS5h
cHBsZS5XZWJLaXQuV2ViQXV0aG4uc2IgKi87IH07CiAJCTU3RkFCQjBGMjU4MTdDRjAwMDU5REM5
NSAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGQUJCMEUyNTgxN0NGMDAwNTlEQzk1IC8qIEF1
dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJLmggKi87IH07Ci0JCTU3RkFCQjEyMjU4MTgyN0Mw
MDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZBQkIxMDI1ODE4MjdDMDA1
OURDOTUgLyogQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oICovOyB9OwogCQk1
N0ZBQkIxMzI1ODE4MjdDMDA1OURDOTUgLyogQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
RkFCQjExMjU4MTgyN0MwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRM
aW5rLm1tICovOyB9OwogCQk1N0ZEMzE4MDIyQjM1MTU4MDA4RDBFOEIgLyogTmF2aWdhdGlvblNP
QXV0aG9yaXphdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU3RkQzMTc4MjJCMzUxNDkwMDhEMEU4QiAvKiBOYXZpZ2F0aW9uU09BdXRo
b3JpemF0aW9uU2Vzc2lvbi5oICovOyB9OwogCQk1N0ZEMzE4MTIyQjM1MTVCMDA4RDBFOEIgLyog
UG9wVXBTT0F1dGhvcml6YXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZEMzE3MDIyQjM1MTQ4MDA4RDBFOEIgLyogUG9wVXBTT0F1
dGhvcml6YXRpb25TZXNzaW9uLmggKi87IH07CkBAIC00NTU3LDYgKzQ1NTUsOCBAQAogCQk1MkQ1
QTFCMjFDNTc0OUYyMDBERTM0QTMgLyogVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyRDVBMUIzMUM1NzQ5RjIwMERFMzRBMyAvKiBWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUyRDVBMUI0MUM1NzQ5RjIwMERFMzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTJFNkMzQzQyNzk4
QzlBNzAwNTVDRTUyIC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lmg7IHBhdGggPSBVSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTJFNkMzQzYyNzk5RTBCQjAwNTVDRTUy
IC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
QXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oOyBwYXRoID0gVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTJGMDYwREQxNjU0MzE3NTAwRjMyODFC
IC8qIE5ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5hZ2VyTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdC9OZXR3b3JrQ29udGVudFJ1bGVM
aXN0TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07CiAJCTUzMTU4NzZCMjA3NkI3MTMwMDRCRjlGMyAvKiBOZXR3b3JrQWN0aXZpdHlU
cmFja2VyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBO
ZXR3b3JrQWN0aXZpdHlUcmFja2VyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUzMjE1OTRGMURCQUU2RDcwMDU0QUEzQyAvKiBOZXR3b3JrRGF0YVRhc2tDb2NvYS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrRGF0YVRhc2tDb2NvYS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjgxMCw2ICs2ODEwLDggQEAKIAkJMDg2N0Q2
OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdDIgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTUyRTZDM0M2Mjc5OUUwQkIwMDU1Q0U1MiAvKiBBdXRoZW50
aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLmggKi8sCisJCQkJNTJFNkMzQzQyNzk4QzlBNzAw
NTVDRTUyIC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmggKi8sCiAJCQkJNUMx
NTdBMEEyNzE3QzlGMTAwRUQ1MjgwIC8qIHdlYnB1c2hkICovLAogCQkJCUIzOTZFQTU1MTJFMEVE
MkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLywKIAkJCQkyRDdERUJFMDIxMjY5RDVGMDBCOUY3M0Mg
LyogU291cmNlcy50eHQgKi8sCkBAIC03MTA3LDggKzcxMDksNiBAQAogCQkJCTExODUwMjYwMjY3
M0IwREEwMEE2NDI1RSAvKiBYUiAqLywKIAkJCQlFM0JDRTg3NzI2NzI1MjEyMDAxMUQ4REIgLyog
QWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmNwcCAqLywKIAkJCQlFM0JDRTg3ODI2NzI1MjEyMDAx
MUQ4REIgLyogQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmggKi8sCi0JCQkJN0I1MEU5N0YyNzcx
RjZDRTAwM0RBQUM0IC8qIElQQ1Rlc3Rlci5jcHAgKi8sCi0JCQkJN0I1MEU5ODAyNzcxRjZDRjAw
M0RBQUM0IC8qIElQQ1Rlc3Rlci5oICovLAogCQkJCUE3RDc5MkQ1MTc2N0NCNkUwMDg4MUNCRSAv
KiBBY3Rpdml0eUFzc2VydGlvbi5jcHAgKi8sCiAJCQkJQTdENzkyRDQxNzY3Q0IwOTAwODgxQ0JF
IC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmggKi8sCiAJCQkJQkMzMjlEOUExNkFDQ0U5OTAwMzE2REUy
IC8qIEFQSVdlYkFyY2hpdmUuaCAqLywKQEAgLTcxNTgsNiArNzE1OCw4IEBACiAJCQkJQkNDRjZC
MjMxMkM5M0U3QTAwOEY5QzM1IC8qIEltYWdlT3B0aW9ucy5oICovLAogCQkJCTk5OUI3RUQ4MjU1
MEU0QTgwMEY0NTBBNCAvKiBJbnNwZWN0b3JFeHRlbnNpb25UeXBlcy5jcHAgKi8sCiAJCQkJOTlC
RTNCMTYyNTQzM0I5NDAwQzY1NTFDIC8qIEluc3BlY3RvckV4dGVuc2lvblR5cGVzLmggKi8sCisJ
CQkJN0I1MEU5N0YyNzcxRjZDRTAwM0RBQUM0IC8qIElQQ1Rlc3Rlci5jcHAgKi8sCisJCQkJN0I1
MEU5ODAyNzcxRjZDRjAwM0RBQUM0IC8qIElQQ1Rlc3Rlci5oICovLAogCQkJCTFBOTJEQzEyMTJG
OEJBQjkwMDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmNwcCAqLywKIAkJCQkxQTkyREMxMDEy
RjhCQTQ2MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dC5oICovLAogCQkJCTJEMTA4NzVFMUQy
QzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFyYW1ldGVycy5jcHAgKi8sCkBAIC0xMjU5OCw2ICsxMjYw
MCw3IEBACiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFz
ayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQk3QkREQTMxOTI3NDdDMDQwMDAzODY1
OUUgLyogKG51bGwpIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdBNUUwMTQxOEJCRjkzRjAwMEEwODFF
IC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlBODcz
NjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDQ5MzE2QTMyNURDN0RDNDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hs
aWdodC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjgzOSw3ICsxMjg0Miw2IEBACiAJCQkJNTEyRjU4
OTkxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE4RThFRjkxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4QTMxMkE4ODNBRDAwNjI5NTMw
IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1
N0ZBQkIxMjI1ODE4MjdDMDA1OURDOTUgLyogQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0
TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdGQUJCMEYyNTgxN0NGMDAwNTlEQzk1IC8qIEF1
dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRURC
MTIxNEM2MDQ4MDAxNkI4NDcgLyogQXV0aGVudGljYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTdEQ0VEQUYyMTRDNjAzQjAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0b3JNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTEyOTgwLDcgKzEyOTgyLDYgQEAKIAkJCQlDNUJDRTVERjFDNTA3NjZBMDBD
REUzRkEgLyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTJENEQyQzgxMURGNjBCRjMwMDJFQjEwQyAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9u
UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTMxRjYwQTQyNUNDN0RCOTAwQUYxNEY0IC8q
IElQQ1NlbWFwaG9yZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0JEREEzMTkyNzQ3QzA0MDAwMzg2
NTlFIC8qIChudWxsKSBpbiBIZWFkZXJzICovLAogCQkJCTlCNDc5MDhGMjUzMTUxQ0MwMEVDMTFB
QiAvKiBKU0lQQ0JpbmRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUMxNjYzRTVCMjRBRUFBMkYw
MEM2QTNCMiAvKiBMYXVuY2hTZXJ2aWNlc0RhdGFiYXNlWFBDQ29uc3RhbnRzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0UwOTM3ODE0RkIxMjhDMDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzM1NCw3ICsxMzM1NSw2IEBACiAJCQkJNTdDNjI0NEIy
MzQ2NzlBNDAwMzgzRkU3IC8qIFdlYkF1dGhlbnRpY2F0aW9uRmxhZ3MuaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3N0ZGNzg1MjM0NkVDQUEwMDRFREZCOSAvKiBXZWJBdXRoZW50aWNhdGlvblBhbmVs
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRURCMjIxNEM2MDRDMDAxNkI4NDcgLyog
V2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTdEQ0VE
QjMyMTRDNjA1MzAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ3MTIxNDJFRTZDMDAxNkI4NDcgLyogV2ViQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc0
MkEzMEQyNTM1OEVGRDAwQjdCQTE0IC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTcyRUJCQzAyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhu
Q29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3Yjk3MTlkYTRhYzM5
Nzg5NzMzZWU3YTgzMmEzMzFmYzVlZTE0YTA3Li41YWE0NmE2MzdhZmZiM2Y0MzQ3Y2M3ZmNhMDdh
ZDE0YTE2MWViNjMzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjItMDEtMjQgIEogUGFzY29lICA8al9wYXNjb2VA
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gV2Ugc2hvdWxkIHBhc3MgZXh0ZW5zaW9u
cyB0byBBU0MgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNTUzMworICAgICAgICByZGFyOi8vODcxNjk0MDYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIGF0dGVz
dGF0aW9uUHJlZmVyZW5jZSBhbmQgZXh0ZW5zaW9ucyBwcm9wZXJ0aWVzCisgICAgICAgIGluIGNv
bnZlcnNpb24gdG8gQVNDUHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlvbk9wdGlvbnMgYW5kCisg
ICAgICAgIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFu
ZWwubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMi0wMS0yNCAgTWFy
ayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIEZpeGVkVmVjdG9yOjpj
bGVhcigpLCBjb250YWlucygpLCBmaW5kKCksIGFuZCBmaW5kTWF0Y2hpbmcoKS4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dL
V2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCAzMzc2NmUwOWZkNWY5N2RiNGYzNTYxZDM5
NGY0ZjhmNzJmMjA4OGQ5Li44ZjZhYTkyYWFmZmIxNWFmZDY1ZGIyYWEyNDM4NzNkNTg5OWYzZGE3
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xNzg3LDYgKzE3ODcs
NjAgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBQdWJsaWNLZXlDcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zTWF4aW11bTIpCiAgICAgRVhQRUNUX0VRKHJlc3VsdC5hdHRlc3RhdGlvbiwg
QXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZTo6SW5kaXJlY3QpOwogfQogCisjaWYgSEFW
RShVTklGSUVEX0FTQ19BVVRIX1VJKQorVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBQdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zQVNDKQoreworICAgIHVpbnQ4X3QgaWRlbnRp
ZmllcltdID0geyAweDAxLCAweDAyLCAweDAzLCAweDA0IH07CisgICAgTlNEYXRhICpuc0lkZW50
aWZpZXIgPSBbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6aWRlbnRpZmllciBsZW5ndGg6c2l6ZW9mKGlk
ZW50aWZpZXIpXTsKKyAgICBhdXRvIHBhcmFtZXRlcnMgPSBhZG9wdE5TKFtbX1dLUHVibGljS2V5
Q3JlZGVudGlhbFBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRoQWxnb3JpdGhtOkAtN10pOworCisg
ICAgYXV0byBycCA9IGFkb3B0TlMoW1tfV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVseWluZ1BhcnR5
RW50aXR5IGFsbG9jXSBpbml0V2l0aE5hbWU6QCJleGFtcGxlLmNvbSJdKTsKKyAgICBhdXRvIHVz
ZXIgPSBhZG9wdE5TKFtbX1dLUHVibGljS2V5Q3JlZGVudGlhbFVzZXJFbnRpdHkgYWxsb2NdIGlu
aXRXaXRoTmFtZTpAImphcHBsZXNlZWRAZXhhbXBsZS5jb20iIGlkZW50aWZpZXI6bnNJZGVudGlm
aWVyIGRpc3BsYXlOYW1lOkAiSiBBcHBsZXNlZWQiXSk7CisgICAgTlNBcnJheTxfV0tQdWJsaWNL
ZXlDcmVkZW50aWFsUGFyYW1ldGVycyAqPiAqcHVibGljS2V5Q3JlZGVudGlhbFBhcmFtYXRlcnMg
PSBAWyBwYXJhbWV0ZXJzLmdldCgpIF07CisKKyAgICBhdXRvIG9wdGlvbnMgPSBhZG9wdE5TKFtb
X1dLUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBhbGxvY10gaW5pdFdpdGhSZWx5
aW5nUGFydHk6cnAuZ2V0KCkgdXNlcjp1c2VyLmdldCgpIHB1YmxpY0tleUNyZWRlbnRpYWxQYXJh
bWF0ZXJzOnB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWF0ZXJzXSk7CisgICAgW29wdGlvbnMgc2V0
QXR0ZXN0YXRpb246X1dLQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZUluZGlyZWN0XTsK
KworICAgIGF1dG8gZXh0ZW5zaW9ucyA9IGFkb3B0TlMoW1tfV0tBdXRoZW50aWNhdGlvbkV4dGVu
c2lvbnNDbGllbnRJbnB1dHMgYWxsb2NdIGluaXRdKTsKKyAgICBbZXh0ZW5zaW9ucyBzZXRBcHBp
ZDpAImh0dHBzLy93d3cuZXhhbXBsZS5jb20vZmlkbyJdOworICAgIFtleHRlbnNpb25zIHNldEdv
b2dsZUxlZ2FjeUFwcGlkU3VwcG9ydDp0cnVlXTsKKyAgICBbb3B0aW9ucyBzZXRFeHRlbnNpb25z
OmV4dGVuc2lvbnMuZ2V0KCldOworCisgICAgYXV0byByZXN1bHQgPSBbX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbCBjb252ZXJ0VG9Db3JlQ3JlYXRpb25PcHRpb25zV2l0aE9wdGlvbnM6b3B0aW9u
cy5nZXQoKV07CisKKyAgICB1aW50OF90IGhhc2hbXSA9IHsgMHgwMSwgMHgwMiwgMHgwMywgMHgw
NCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwg
MHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgw
MywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCB9
OworICAgIE5TRGF0YSAqbnNIYXNoID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzOmhhc2ggbGVuZ3Ro
OnNpemVvZihoYXNoKV07CisgICAgYXV0byBjb250ZXh0ID0gW19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwgY29udGV4dEZvckhhc2g6bnNIYXNoIG9wdGlvbnM6cmVzdWx0XTsKKworICAgIEVYUEVD
VF9XS19TVFJFUShjb250ZXh0LnNlY3VyaXR5S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5h
dHRlc3RhdGlvblByZWZlcmVuY2UsICJpbmRpcmVjdCIpOworICAgIGlmIChjb250ZXh0LnNlY3Vy
aXR5S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5leHRlbnNpb25zKSB7CisgICAgICAgIEVY
UEVDVF9XS19TVFJFUShjb250ZXh0LnNlY3VyaXR5S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cy5leHRlbnNpb25zLmFwcElELCAiaHR0cHMvL3d3dy5leGFtcGxlLmNvbS9maWRvIik7CisgICAg
ICAgIEVYUEVDVF9UUlVFKGNvbnRleHQuc2VjdXJpdHlLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRp
b25zLmV4dGVuc2lvbnMuaXNHb29nbGVMZWdhY3lBcHBJRFN1cHBvcnQpOworICAgIH0KK30KKwor
VEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnNBU0MpCit7CisgICAgYXV0byBvcHRpb25zID0gYWRvcHROUyhbW19XS1B1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gZXh0ZW5zaW9u
cyA9IGFkb3B0TlMoW1tfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgYWxs
b2NdIGluaXRdKTsKKyAgICBbZXh0ZW5zaW9ucyBzZXRBcHBpZDpAImh0dHBzLy93d3cuZXhhbXBs
ZS5jb20vZmlkbyJdOworICAgIFtleHRlbnNpb25zIHNldEdvb2dsZUxlZ2FjeUFwcGlkU3VwcG9y
dDp0cnVlXTsKKyAgICBbb3B0aW9ucyBzZXRFeHRlbnNpb25zOmV4dGVuc2lvbnMuZ2V0KCldOwor
CisgICAgYXV0byByZXN1bHQgPSBbX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBjb252ZXJ0VG9D
b3JlUmVxdWVzdE9wdGlvbnNXaXRoT3B0aW9uczpvcHRpb25zLmdldCgpXTsKKworICAgIHVpbnQ4
X3QgaGFzaFtdID0geyAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDAxLCAweDAyLCAweDAzLCAw
eDA0LCAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDAx
LCAweDAyLCAweDAzLCAweDA0LCAweDAxLCAweDAyLCAweDAzLCAweDA0LCAweDAxLCAweDAyLCAw
eDAzLCAweDA0LCAweDAxLCAweDAyLCAweDAzLCAweDA0IH07CisgICAgTlNEYXRhICpuc0hhc2gg
PSBbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6aGFzaCBsZW5ndGg6c2l6ZW9mKGhhc2gpXTsKKyAgICBh
dXRvIGNvbnRleHQgPSBbX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBjb250ZXh0Rm9ySGFzaDpu
c0hhc2ggb3B0aW9uczpyZXN1bHRdOworCisgICAgaWYgKGNvbnRleHQuc2VjdXJpdHlLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zLmV4dGVuc2lvbnMpIHsKKyAgICAgICAgRVhQRUNUX1dLX1NU
UkVRKGNvbnRleHQuc2VjdXJpdHlLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmV4dGVuc2lv
bnMuYXBwSUQsICJodHRwcy8vd3d3LmV4YW1wbGUuY29tL2ZpZG8iKTsKKyAgICAgICAgRVhQRUNU
X1RSVUUoY29udGV4dC5zZWN1cml0eUtleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuZXh0ZW5z
aW9ucy5pc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydCk7CisgICAgfQorfQorI2VuZGlmIC8vIEhB
VkUoVU5JRklFRF9BU0NfQVVUSF9VSSkKKworCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWws
IE1ha2VDcmVkZW50aWFsU1BJVGltZW91dCkKIHsKICAgICByZXNldCgpOwo=
</data>
<flag name="commit-queue"
          id="476090"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449865</attachid>
            <date>2022-01-24 14:57:35 -0800</date>
            <delta_ts>2022-01-24 15:47:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235533-20220124145734.patch</filename>
            <type>text/plain</type>
            <size>21681</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY2NDFmYTgzMDZjOWVjYTJm
M2QzY2YzODA4NzZjYmJiZTdhMDE3NzAuLjY1MmFhMGNiOTg5NmRjN2NjMDViYzZlNTNmOGI3OTYw
ZTZkZTU0MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDEtMjQgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gV2Ugc2hvdWxkIHBh
c3MgZXh0ZW5zaW9ucyB0byBBU0MgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTUzMworICAgICAgICByZGFyOi8vODcxNjk0MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIHN0YXJ0cyBwYXNzaW5nIFdlYkF1dGhuIGV4dGVuc2lvbnMgdG8gQVNDIGlmIHBvc3NpYmxl
LAorICAgICAgICBpbiBvcmRlciB0byBzdXBwb3J0IHRoZSBnb29nbGVMZWdhY3lBcHBpZFN1cHBv
cnQgZXh0ZW5zaW9uLCB3aGljaAorICAgICAgICBpcyByZXF1aXJlZCB0byByZWdpc3RlciBzZWN1
cml0eSBrZXlzIG9uIGdvb2dsZS5jb20uIEl0IGFsc28gc3RhcnRzCisgICAgICAgIHBhc3Npbmcg
dGhlIGF0dGVzdGF0aW9uUHJlZmVyZW5jZSBvcHRpb24sIHdoaWNoIHdhcyBub3QgYmVpbmcgcGFz
c2VkIGJlZm9yZS4KKworICAgICAgICBUZXN0ZWQgbWFudWFsbHkuIFByZXZpb3VzIHZlcnNpb24g
b2YgcGF0Y2ggY29udGFpbmVkCisgICAgICAgIFRlc3RXZWJLaXRBUEkuV2ViQXV0aGVudGljYXRp
b25QYW5lbC5QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnNBU0MKKyAgICAgICAgYW5k
IFRlc3RXZWJLaXRBUEkuV2ViQXV0aGVudGljYXRpb25QYW5lbC5QdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zQVNDLAorICAgICAgICBidXQgd2VyZSByZW1vdmVkIGR1ZSB0byBkaWZm
aWN1bHR5IHNvZnRsaW5raW5nIGZyb20gdGVzdHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkv
Q29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5t
bToKKyAgICAgICAgKGF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU29mdExpbmsuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OnRvTlNTdHJpbmcpOgorICAgICAgICAo
V2ViS2l0Ojp0b0FTQ0V4dGVuc2lvbnMpOgorICAgICAgICAoV2ViS2l0Ojpjb25maWd1cmVSZWdp
c3RyYXRpb25SZXF1ZXN0Q29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OmNvbmZpZ3VyYXRpb25B
c3NlcnRpb25SZXF1ZXN0Q29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjItMDEtMjQgIERhdmlkIFF1ZXNh
ZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1wbGlmeSBhY2Nlc3Nl
cyB0byBTeXN0ZW1WZXJzaW9uLnBsaXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaApp
bmRleCA1ODBmY2RjZTNjNjE1YTIxYTBiNGNjMjc5NGFhM2ZlNDM1Y2ZlZTU4Li5kMjJhYjJjYjdk
YTUzNWNiNWE0MjUwMDFiODMzN2Y1YWY1ODQyNmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlU1BJLmgKQEAgLTEzMyw2ICsxMzMsMTcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwg
QVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsS2luZCkgewogCiBAZW5kCiAKK0BjbGFz
cyBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHM7CisKK0BpbnRlcmZh
Y2UgQVNDV2ViQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIDogTlNPYmplY3Qg
PE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+CisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aEFw
cElEOihOU1N0cmluZyAqIF9OdWxsYWJsZSlhcHBJRCBpc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9y
dDooQk9PTClpc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydCBOU19ERVNJR05BVEVEX0lOSVRJQUxJ
WkVSOworCitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICph
cHBJRDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGlzR29vZ2xlTGVnYWN5QXBwSURTdXBw
b3J0OworCitAZW5kCisKIEBjbGFzcyBBU0NQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcjsK
IAogdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxLaW5k
KSB7CkBAIC0xNTIsNiArMTYzLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIEFTQ1B1
YmxpY0tleUNyZWRlbnRpYWxLaW5kKSB7CiAvLyBJZiBjbGllbnREYXRhSGFzaCBpcyBudWxsLCB0
aGVuIGdldHMgZ2VuZXJhdGVkIGZyb20gY2hhbGxlbmdlIGFuZCByZWx5aW5nUGFydHlJZGVudGlm
aWVyLgogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5KSBOU0RhdGEgKmNsaWVu
dERhdGFIYXNoOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCByZWFkb25seSwgY29w
eSkgTlNTdHJpbmcgKnVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOworQHByb3BlcnR5IChub25h
dG9taWMsIG51bGxhYmxlLCBjb3B5KSBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGll
bnRJbnB1dHMgKmV4dGVuc2lvbnM7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwg
cmVhZG9ubHksIGNvcHkpIE5TQXJyYXk8QVNDUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3Ig
Kj4gKmFsbG93ZWRDcmVkZW50aWFsczsKIApAQCAtMTc4LDYgKzE5MCw4IEBAIHR5cGVkZWYgTlNf
T1BUSU9OUyhOU1VJbnRlZ2VyLCBBU0NDcmVkZW50aWFsUmVxdWVzdFR5cGVzKSB7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnVzZXJEaXNwbGF5TmFtZTsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PE5TTnVtYmVyICo+ICpzdXBwb3J0ZWRBbGdvcml0
aG1JZGVudGlmaWVyczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNT
dHJpbmcgKnVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOworQHByb3BlcnR5IChub25hdG9taWMs
IG51bGxhYmxlLCBjb3B5KSBOU1N0cmluZyAqYXR0ZXN0YXRpb25QcmVmZXJlbmNlOworQHByb3Bl
cnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5KSBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVu
c2lvbnNDbGllbnRJbnB1dHMgKmV4dGVuc2lvbnM7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIHNob3VsZFJlcXVpcmVSZXNpZGVudEtleTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5
KSBOU0FycmF5PEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yICo+ICpleGNsdWRlZENy
ZWRlbnRpYWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cy5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElu
cHV0cy5oCmluZGV4IDE2NTA5NmJmYTA1Njg2N2NkZDA1NWM3YmE4MmNkN2M3NTdkNjhiYjAuLmY3
YTkxNjZjMTlmMGI2MDdjOTJmNTBkZGI5ZjkzNjMyMzkyNTJmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnND
bGllbnRJbnB1dHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzLmgKQEAgLTM1LDYgKzM1LDcgQEAg
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpCiBAaW50ZXJmYWNlIF9X
S0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyA6IE5TT2JqZWN0CiAKIEBwcm9w
ZXJ0eSAobnVsbGFibGUsIG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmFwcGlkOworQHByb3Bl
cnR5IChub25hdG9taWMpIEJPT0wgZ29vZ2xlTGVnYWN5QXBwaWRTdXBwb3J0OwogCiBAZW5kCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggYmI2YThkZWYzZGNlNDQyNDkyNjAyMzM2
ZmUzZDJjYjhhMTJiYTAzNC4uZDk2ZmRjMmY2ZmEwZjMwZTcwYjFkM2RiMjEyNWYwMGQ5YTMyOTAx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1
dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTUyNSw3ICs1MjUsNyBAQCBzdGF0
aWMgV2ViQ29yZTo6QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIGF1dGhlbnRp
Y2F0aW9uRXh0ZW5zaW9uc0NsaQogewogICAgIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uRXh0ZW5z
aW9uc0NsaWVudElucHV0cyByZXN1bHQ7CiAgICAgcmVzdWx0LmFwcGlkID0gZXh0ZW5zaW9ucy5h
cHBpZDsKLSAgICByZXN1bHQuZ29vZ2xlTGVnYWN5QXBwaWRTdXBwb3J0ID0gZmFsc2U7CisgICAg
cmVzdWx0Lmdvb2dsZUxlZ2FjeUFwcGlkU3VwcG9ydCA9IGV4dGVuc2lvbnMuZ29vZ2xlTGVnYWN5
QXBwaWRTdXBwb3J0OwogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9u
U2VydmljZXNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaAppbmRl
eCBiM2E3OWMwN2FiYTJjYmFmZWVmZWZjNmM2N2NhZTEzNmY3MjIyNTE5Li43YjY5ODc4Y2MxMWJi
NDhmMjNjNDY3ZWQ0MTM4ODA1YTM0ZTZhZjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29y
ZVNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oCkBAIC00MCw2ICs0
MCw3IEBAIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDQXV0aG9yaXphdGlv
blByZXNlbnRhdGlvbkNvbnRleHQpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0
LCBBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVS
KFdlYktpdCwgQVNDQXV0aG9yaXphdGlvblJlbW90ZVByZXNlbnRlcik7CiBTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dCk7CitTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5z
aW9uc0NsaWVudElucHV0cyk7CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFT
Q1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlvbik7CiBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihXZWJLaXQsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbExvZ2luQ2hv
aWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDUGxhdGZvcm1QdWJs
aWNLZXlDcmVkZW50aWFsUmVnaXN0cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1tCmluZGV4IGEyM2Fj
NTNhN2JjMTlhMmUyNTI1ZWQzNjkyMGQwZGRjMzRmMzI4NmQuLjBiYjZmZGZkNDJmMzM1ZjM5MzRj
YmFmMDg1ZjU2NDVlOTIxNzNiMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExp
bmsubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29j
b2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbQpAQCAtNDAsNiArNDAsNyBA
QCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2Vydmlj
ZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uUAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2Vi
S2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDQXV0aG9yaXphdGlvblByZXNlbnRl
cik7CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uUmVtb3RlUHJlc2VudGVyKTsKIFNPRlRfTElOS19D
TEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ0Ny
ZWRlbnRpYWxSZXF1ZXN0Q29udGV4dCk7CitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJ
T05BTChXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NXZWJBdXRoZW50aWNh
dGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0Uo
V2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDUGxhdGZvcm1QdWJsaWNLZXlD
cmVkZW50aWFsQXNzZXJ0aW9uKTsKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwg
QXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlh
bExvZ2luQ2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0aGVu
dGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbFJlZ2lz
dHJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvclByb3h5Lm1tCmluZGV4IGVkMzJjOGI0M2IxM2ZkYTdlODg0MDc2NGJmZjNl
ODFkNzc5NDUzMGEuLmM1YzM5NGFkN2VlZjA1NzQ5ZDM1ZTQ0YmIyOTE1OTczYzA1ZmRmODggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29h
L1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0b3JDb29yZGlu
YXRvclByb3h5Lm1tCkBAIC02OSw2ICs2OSwyMCBAQCBzdGF0aWMgaW5saW5lIFJldGFpblB0cjxO
U1N0cmluZz4gdG9OU1N0cmluZyhVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQgdXNlclZlcgog
ICAgIHJldHVybiBAInByZWZlcnJlZCI7CiB9CiAKK3N0YXRpYyBpbmxpbmUgUmV0YWluUHRyPE5T
U3RyaW5nPiB0b05TU3RyaW5nKEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UgYXR0ZXN0
YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZSkKK3sKKyAgICBzd2l0Y2ggKGF0dGVzdGF0aW9uQ29u
dmV5YW5jZVByZWZlcmVuY2UpIHsKKyAgICBjYXNlIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZl
cmVuY2U6OkRpcmVjdDoKKyAgICAgICAgcmV0dXJuIEAiZGlyZWN0IjsKKyAgICBjYXNlIEF0dGVz
dGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6OkluZGlyZWN0OgorICAgICAgICByZXR1cm4gQCJp
bmRpcmVjdCI7CisgICAgY2FzZSBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlOjpOb25l
OgorICAgICAgICByZXR1cm4gQCJub25lIjsKKyAgICB9CisKKyAgICByZXR1cm4gQCJub25lIjsK
K30KKwogc3RhdGljIGlubGluZSBFeGNlcHRpb25Db2RlIHRvRXhjZXB0aW9uQ29kZShOU0ludGVn
ZXIgbnNFcnJvckNvZGUpCiB7CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb25Db2RlID0gKEV4
Y2VwdGlvbkNvZGUpbnNFcnJvckNvZGU7CkBAIC0xNTAsNiArMTY0LDE0IEBAIHN0YXRpYyBpbmxp
bmUgUmV0YWluUHRyPEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiB0b0FTQ0Rlc2Ny
aXB0b3IoUHVibGljCiAgICAgcmV0dXJuIGFkb3B0TlMoW2FsbG9jQVNDUHVibGljS2V5Q3JlZGVu
dGlhbERlc2NyaXB0b3JJbnN0YW5jZSgpIGluaXRXaXRoQ3JlZGVudGlhbElEOldlYkNvcmU6OnRv
TlNEYXRhKGRlc2NyaXB0b3IuaWQpLmdldCgpIHRyYW5zcG9ydHM6dHJhbnNwb3J0cy5nZXQoKV0p
OwogfQogCitzdGF0aWMgaW5saW5lIFJldGFpblB0cjxBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVu
c2lvbnNDbGllbnRJbnB1dHM+IHRvQVNDRXh0ZW5zaW9ucyhjb25zdCBBdXRoZW50aWNhdGlvbkV4
dGVuc2lvbnNDbGllbnRJbnB1dHMmIGV4dGVuc2lvbnMpCit7CisgICAgaWYgKFthbGxvY0FTQ1dl
YkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0c0luc3RhbmNlKCkgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3Rvcihpbml0V2l0aEFwcElEOmlzR29vZ2xlTGVnYWN5QXBwSURTdXBw
b3J0OildKQorICAgICAgICByZXR1cm4gYWRvcHROUyhbYWxsb2NBU0NXZWJBdXRoZW50aWNhdGlv
bkV4dGVuc2lvbnNDbGllbnRJbnB1dHNJbnN0YW5jZSgpIGluaXRXaXRoQXBwSUQ6ZXh0ZW5zaW9u
cy5hcHBpZCBpc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydDpleHRlbnNpb25zLmdvb2dsZUxlZ2Fj
eUFwcGlkU3VwcG9ydF0pOworCisgICAgcmV0dXJuIG5pbDsKK30KKwogc3RhdGljIFJldGFpblB0
cjxBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQ+IGNvbmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVl
c3RDb250ZXh0KGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmIG9wdGlv
bnMsIFZlY3Rvcjx1aW50OF90PiBoYXNoKQogewogICAgIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0VHlw
ZXMgcmVxdWVzdFR5cGVzID0gQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlUGxhdGZvcm1QdWJsaWNL
ZXlSZWdpc3RyYXRpb24gfCBBU0NDcmVkZW50aWFsUmVxdWVzdFR5cGVTZWN1cml0eUtleVB1Ymxp
Y0tleVJlZ2lzdHJhdGlvbjsKQEAgLTE4NCw2ICsyMDYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPEFT
Q0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJlUmVnaXN0cmF0aW9uUmVxdWVzdENv
bnRleAogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldFVzZXJEaXNwbGF5TmFtZTpv
cHRpb25zLnVzZXIuZGlzcGxheU5hbWVdOwogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25z
IHNldFVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOnVzZXJWZXJpZmljYXRpb24uZ2V0KCldOwog
ICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldFNob3VsZFJlcXVpcmVSZXNpZGVudEtl
eTpzaG91bGRSZXF1aXJlUmVzaWRlbnRLZXldOworICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRp
b25zIHNldEF0dGVzdGF0aW9uUHJlZmVyZW5jZTp0b05TU3RyaW5nKG9wdGlvbnMuYXR0ZXN0YXRp
b24pLmdldCgpXTsKIAogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheTxOU051bWJlciAqPj4g
c3VwcG9ydGVkQWxnb3JpdGhtSWRlbnRpZmllcnMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkg
YWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6b3B0aW9ucy5wdWJLZXlDcmVkUGFyYW1zLnNpemUoKV0p
OwogICAgIGZvciAoUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6UGFyYW1ldGVy
cyBhbGdvcml0aG1QYXJhbWV0ZXIgOiBvcHRpb25zLnB1YktleUNyZWRQYXJhbXMpCkBAIC0yMDcs
NiArMjMwLDkgQEAgc3RhdGljIFJldGFpblB0cjxBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQ+
IGNvbmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVlc3RDb250ZXgKICAgICBpZiAocmVxdWVzdFR5cGVz
ICYgQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlU2VjdXJpdHlLZXlQdWJsaWNLZXlSZWdpc3RyYXRp
b24pCiAgICAgICAgIFtyZXF1ZXN0Q29udGV4dCBzZXRTZWN1cml0eUtleUNyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnM6Y3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5nZXQoKV07CiAKKyAgICBpZiAo
b3B0aW9ucy5leHRlbnNpb25zICYmIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0RXh0ZW5zaW9uczopXSkKKyAgICAgICAgW2NyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnMgc2V0RXh0ZW5zaW9uczp0b0FTQ0V4dGVuc2lvbnMoKm9wdGlvbnMu
ZXh0ZW5zaW9ucykuZ2V0KCldOworCiAgICAgcmV0dXJuIHJlcXVlc3RDb250ZXh0OwogfQogCkBA
IC0yNDQsNiArMjcwLDggQEAgc3RhdGljIFJldGFpblB0cjxBU0NDcmVkZW50aWFsUmVxdWVzdENv
bnRleHQ+IGNvbmZpZ3VyYXRpb25Bc3NlcnRpb25SZXF1ZXN0Q29udGUKICAgICAgICAgICAgIGF1
dG8gY2hhbGxlbmdlID0gV2ViQ29yZTo6dG9OU0RhdGEob3B0aW9ucy5jaGFsbGVuZ2UpOwogICAg
ICAgICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgaW5pdFdpdGhLaW5kOkFTQ1B1YmxpY0tleUNyZWRl
bnRpYWxLaW5kUGxhdGZvcm0gcmVseWluZ1BhcnR5SWRlbnRpZmllcjpvcHRpb25zLnJwSWQgY2hh
bGxlbmdlOmNoYWxsZW5nZS5nZXQoKSB1c2VyVmVyaWZpY2F0aW9uUHJlZmVyZW5jZTp1c2VyVmVy
aWZpY2F0aW9uLmdldCgpIGFsbG93ZWRDcmVkZW50aWFsczphbGxvd2VkQ3JlZGVudGlhbHMuZ2V0
KCldOwogICAgICAgICB9CisgICAgICAgIGlmIChvcHRpb25zLmV4dGVuc2lvbnMgJiYgW2Fzc2Vy
dGlvbk9wdGlvbnMgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRFeHRlbnNpb25zOild
KQorICAgICAgICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgc2V0RXh0ZW5zaW9uczp0b0FTQ0V4dGVu
c2lvbnMoKm9wdGlvbnMuZXh0ZW5zaW9ucykuZ2V0KCldOwogCiAgICAgICAgIFtyZXF1ZXN0Q29u
dGV4dCBzZXRQbGF0Zm9ybUtleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zOmFzc2VydGlvbk9w
dGlvbnMuZ2V0KCldOwogICAgIH0KQEAgLTI1Nyw2ICsyODUsOSBAQCBzdGF0aWMgUmV0YWluUHRy
PEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJhdGlvbkFzc2VydGlvblJlcXVl
c3RDb250ZQogICAgICAgICAgICAgYXV0byBjaGFsbGVuZ2UgPSBXZWJDb3JlOjp0b05TRGF0YShv
cHRpb25zLmNoYWxsZW5nZSk7CiAgICAgICAgICAgICBbYXNzZXJ0aW9uT3B0aW9ucyBpbml0V2l0
aEtpbmQ6QVNDUHVibGljS2V5Q3JlZGVudGlhbEtpbmRTZWN1cml0eUtleSByZWx5aW5nUGFydHlJ
ZGVudGlmaWVyOm9wdGlvbnMucnBJZCBjaGFsbGVuZ2U6Y2hhbGxlbmdlLmdldCgpIHVzZXJWZXJp
ZmljYXRpb25QcmVmZXJlbmNlOnVzZXJWZXJpZmljYXRpb24uZ2V0KCkgYWxsb3dlZENyZWRlbnRp
YWxzOmFsbG93ZWRDcmVkZW50aWFscy5nZXQoKV07CiAgICAgICAgIH0KKyAgICAgICAgaWYgKG9w
dGlvbnMuZXh0ZW5zaW9ucyAmJiBbYXNzZXJ0aW9uT3B0aW9ucyByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKHNldEV4dGVuc2lvbnM6KV0pCisgICAgICAgICAgICBbYXNzZXJ0aW9uT3B0aW9u
cyBzZXRFeHRlbnNpb25zOnRvQVNDRXh0ZW5zaW9ucygqb3B0aW9ucy5leHRlbnNpb25zKS5nZXQo
KV07CisKICAgICAgICAgW3JlcXVlc3RDb250ZXh0IHNldFNlY3VyaXR5S2V5Q3JlZGVudGlhbEFz
c2VydGlvbk9wdGlvbnM6YXNzZXJ0aW9uT3B0aW9ucy5nZXQoKV07CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaAppbmRleCAxYTQz
N2RhMmRlY2QwZGU5ZDQ5NGIwOWQ4YWEzNmE3MTc1MjZhOWEwLi44Njk3MWRhN2M4NjA4YTg3YjBi
ZGZlOGEzNjg0OTkxMTk4YzYzNDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRp
Y2F0b3JDb29yZGluYXRvclByb3h5LmgKQEAgLTgwLDcgKzgwLDcgQEAgcHJpdmF0ZToKICAgICBS
ZXRhaW5QdHI8QVNDQ3JlZGVudGlhbFJlcXVlc3RDb250ZXh0PiBjb250ZXh0Rm9yUmVxdWVzdChX
ZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhJiYpOwogICAgIHZvaWQgcGVyZm9ybVJlcXVlc3Qo
UmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4sIFJlcXVlc3RDb21wbGV0aW9u
SGFuZGxlciYmKTsKICAgICBSZXRhaW5QdHI8QVNDQXV0aG9yaXphdGlvblJlbW90ZVByZXNlbnRl
cj4gbV9wcmVzZW50ZXI7Ci0jZW5kaWYKKyNlbmRpZiAvLyBIQVZFKFVOSUZJRURfQVNDX0FVVEhf
VUkpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgwNmRjNzBmNTM2ODNhNzI5NTdmN2Y0
NzRjMjQ4ZmNiZDdhNjA5MzIuLjRhZTQ3ZjAyNzQ1YjkwNGM5N2MxNDA5YjYwNmUyYTc0NzNmOGNi
MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTE3MSw3ICsxMTcxLDYgQEAKIAkJNTdEQ0VEQjAyMTRDNjA0MjAwMTZCODQ3IC8qIEF1
dGhlbnRpY2F0b3JUcmFuc3BvcnRTZXJ2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRUQ4QTIxNDg1MzEzMDAxNkI4NDcgLyogQXV0aGVudGlj
YXRvclRyYW5zcG9ydFNlcnZpY2UuaCAqLzsgfTsKIAkJNTdEQ0VEQjEyMTRDNjA0ODAwMTZCODQ3
IC8qIEF1dGhlbnRpY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3RENFRDhCMjE0ODVCRDcwMDE2Qjg0NyAvKiBBdXRoZW50aWNhdG9yLmggKi87
IH07CiAJCTU3RENFREIyMjE0QzYwNEMwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdGlvblJlcXVl
c3REYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
N0RDRURBNjIxNDlGOURBMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5o
ICovOyB9OwotCQk1N0RDRURCMzIxNEM2MDUzMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU3NjA4Mjk1MjAyQkQ4QkEwMDExNjY3OCAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JQcm94eS5oICovOyB9OwogCQk1N0RDRURDMzIxNEYxMTRDMDAxNkI4NDcgLyogTW9ja0xv
Y2FsU2VydmljZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTdEQ0VEQzEyMTRGMTE0QzAwMTZCODQ3IC8qIE1vY2tMb2NhbFNlcnZpY2UuaCAqLzsgfTsK
IAkJNTdEQ0VEQzcyMTRGMTgzMDAwMTZCODQ3IC8qIE1vY2tMb2NhbENvbm5lY3Rpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFREM1MjE0RjE4
MzAwMDE2Qjg0NyAvKiBNb2NrTG9jYWxDb25uZWN0aW9uLmggKi87IH07CiAJCTU3RENFRENCMjE0
RjRFNDIwMDE2Qjg0NyAvKiBNb2NrQXV0aGVudGljYXRvck1hbmFnZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFREM5MjE0RjRFNDIwMDE2Qjg0
NyAvKiBNb2NrQXV0aGVudGljYXRvck1hbmFnZXIuaCAqLzsgfTsKQEAgLTExNzksNyArMTE3OCw2
IEBACiAJCTU3RUJFMjZBMjM0Njc2QzUwMDhEOEFGOSAvKiBBUElXZWJBdXRoZW50aWNhdGlvblBh
bmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VC
RTI2ODIzNDY3NkM1MDA4RDhBRjkgLyogQVBJV2ViQXV0aGVudGljYXRpb25QYW5lbC5oICovOyB9
OwogCQk1N0VGQzc3RTI1NTBFQjg2MDBGOTQ3N0QgLyogY29tLmFwcGxlLldlYktpdC5XZWJBdXRo
bi5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdF
RkM3N0QyNTUwRUI4NTAwRjk0NzdEIC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4uc2IgKi87
IH07CiAJCTU3RkFCQjBGMjU4MTdDRjAwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2Vz
Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTdGQUJCMEUyNTgxN0NGMDAwNTlEQzk1IC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJ
LmggKi87IH07Ci0JCTU3RkFCQjEyMjU4MTgyN0MwMDU5REM5NSAvKiBBdXRoZW50aWNhdGlvblNl
cnZpY2VzQ29yZVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1N0ZBQkIxMDI1ODE4MjdDMDA1OURDOTUgLyogQXV0aGVudGljYXRpb25TZXJ2
aWNlc0NvcmVTb2Z0TGluay5oICovOyB9OwogCQk1N0ZBQkIxMzI1ODE4MjdDMDA1OURDOTUgLyog
QXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkFCQjExMjU4MTgyN0MwMDU5REM5NSAvKiBB
dXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1tICovOyB9OwogCQk1N0ZEMzE4MDIy
QjM1MTU4MDA4RDBFOEIgLyogTmF2aWdhdGlvblNPQXV0aG9yaXphdGlvblNlc3Npb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkQzMTc4MjJCMzUx
NDkwMDhEMEU4QiAvKiBOYXZpZ2F0aW9uU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oICovOyB9Owog
CQk1N0ZEMzE4MTIyQjM1MTVCMDA4RDBFOEIgLyogUG9wVXBTT0F1dGhvcml6YXRpb25TZXNzaW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZEMzE3
MDIyQjM1MTQ4MDA4RDBFOEIgLyogUG9wVXBTT0F1dGhvcml6YXRpb25TZXNzaW9uLmggKi87IH07
CkBAIC00NTU3LDYgKzQ1NTUsOCBAQAogCQk1MkQ1QTFCMjFDNTc0OUYyMDBERTM0QTMgLyogVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUy
RDVBMUIzMUM1NzQ5RjIwMERFMzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubWVzc2Fn
ZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyRDVBMUI0MUM1NzQ5RjIwMERF
MzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTJFNkMzQzQyNzk4QzlBNzAwNTVDRTUyIC8qIFdlYkF1dGhlbnRp
Y2F0b3JDb29yZGluYXRvclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvclByb3h5Lmg7IHBhdGggPSBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2Vi
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTJFNkMzQzYyNzk5RTBCQjAwNTVDRTUyIC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVT
b2Z0TGluay5oOyBwYXRoID0gVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhl
bnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTJGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIE5ldHdvcmtDb250ZW50UnVsZUxpc3RN
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtDb250
ZW50UnVsZUxpc3RNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdC9OZXR3b3JrQ29udGVudFJ1bGVMaXN0TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUzMTU4NzZCMjA3NkI3
MTMwMDRCRjlGMyAvKiBOZXR3b3JrQWN0aXZpdHlUcmFja2VyQ29jb2EubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrQWN0aXZpdHlUcmFja2VyQ29jb2Eu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzMjE1OTRGMURCQUU2RDcwMDU0QUEz
QyAvKiBOZXR3b3JrRGF0YVRhc2tDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBOZXR3b3JrRGF0YVRhc2tDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNjgxMCw2ICs2ODEwLDggQEAKIAkJMDg2N0Q2OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktp
dDIgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTUyRTZD
M0M2Mjc5OUUwQkIwMDU1Q0U1MiAvKiBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5r
LmggKi8sCisJCQkJNTJFNkMzQzQyNzk4QzlBNzAwNTVDRTUyIC8qIFdlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvclByb3h5LmggKi8sCiAJCQkJNUMxNTdBMEEyNzE3QzlGMTAwRUQ1MjgwIC8qIHdl
YnB1c2hkICovLAogCQkJCUIzOTZFQTU1MTJFMEVEMkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLywK
IAkJCQkyRDdERUJFMDIxMjY5RDVGMDBCOUY3M0MgLyogU291cmNlcy50eHQgKi8sCkBAIC03MTA3
LDggKzcxMDksNiBAQAogCQkJCTExODUwMjYwMjY3M0IwREEwMEE2NDI1RSAvKiBYUiAqLywKIAkJ
CQlFM0JDRTg3NzI2NzI1MjEyMDAxMUQ4REIgLyogQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzLmNw
cCAqLywKIAkJCQlFM0JDRTg3ODI2NzI1MjEyMDAxMUQ4REIgLyogQWNjZXNzaWJpbGl0eVByZWZl
cmVuY2VzLmggKi8sCi0JCQkJN0I1MEU5N0YyNzcxRjZDRTAwM0RBQUM0IC8qIElQQ1Rlc3Rlci5j
cHAgKi8sCi0JCQkJN0I1MEU5ODAyNzcxRjZDRjAwM0RBQUM0IC8qIElQQ1Rlc3Rlci5oICovLAog
CQkJCUE3RDc5MkQ1MTc2N0NCNkUwMDg4MUNCRSAvKiBBY3Rpdml0eUFzc2VydGlvbi5jcHAgKi8s
CiAJCQkJQTdENzkyRDQxNzY3Q0IwOTAwODgxQ0JFIC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmggKi8s
CiAJCQkJQkMzMjlEOUExNkFDQ0U5OTAwMzE2REUyIC8qIEFQSVdlYkFyY2hpdmUuaCAqLywKQEAg
LTcxNTgsNiArNzE1OCw4IEBACiAJCQkJQkNDRjZCMjMxMkM5M0U3QTAwOEY5QzM1IC8qIEltYWdl
T3B0aW9ucy5oICovLAogCQkJCTk5OUI3RUQ4MjU1MEU0QTgwMEY0NTBBNCAvKiBJbnNwZWN0b3JF
eHRlbnNpb25UeXBlcy5jcHAgKi8sCiAJCQkJOTlCRTNCMTYyNTQzM0I5NDAwQzY1NTFDIC8qIElu
c3BlY3RvckV4dGVuc2lvblR5cGVzLmggKi8sCisJCQkJN0I1MEU5N0YyNzcxRjZDRTAwM0RBQUM0
IC8qIElQQ1Rlc3Rlci5jcHAgKi8sCisJCQkJN0I1MEU5ODAyNzcxRjZDRjAwM0RBQUM0IC8qIElQ
Q1Rlc3Rlci5oICovLAogCQkJCTFBOTJEQzEyMTJGOEJBQjkwMDE3QUY2NSAvKiBMYXllclRyZWVD
b250ZXh0LmNwcCAqLywKIAkJCQkxQTkyREMxMDEyRjhCQTQ2MDAxN0FGNjUgLyogTGF5ZXJUcmVl
Q29udGV4dC5oICovLAogCQkJCTJEMTA4NzVFMUQyQzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFyYW1l
dGVycy5jcHAgKi8sCkBAIC0xMjU5OCw2ICsxMjYwMCw3IEBACiAJCQlpc2EgPSBQQlhIZWFkZXJz
QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9
ICgKKwkJCQk3QkREQTMxOTI3NDdDMDQwMDAzODY1OUUgLyogKG51bGwpIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzdBNUUwMTQxOEJCRjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0
aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ5MzE2QTMy
NURDN0RDNDAwQUE2NkRFIC8qIF9XS0FwcEhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
MjgzOSw3ICsxMjg0Miw2IEBACiAJCQkJNTEyRjU4OTkxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhl
bnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThFRjkx
NkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEyRjU4QTMxMkE4ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1N0ZBQkIxMjI1ODE4MjdDMDA1OURDOTUgLyog
QXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTdGQUJCMEYyNTgxN0NGMDAwNTlEQzk1IC8qIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRURCMTIxNEM2MDQ4MDAxNkI4NDcgLyogQXV0aGVu
dGljYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdEQ0VEQUYyMTRDNjAzQjAwMTZCODQ3IC8q
IEF1dGhlbnRpY2F0b3JNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTEyOTgwLDcgKzEyOTgy
LDYgQEAKIAkJCQlDNUJDRTVERjFDNTA3NjZBMDBDREUzRkEgLyogSW50ZXJhY3Rpb25JbmZvcm1h
dGlvbkF0UG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJENEQyQzgxMURGNjBCRjMwMDJF
QjEwQyAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTMxRjYwQTQyNUNDN0RCOTAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJN0JEREEzMTkyNzQ3QzA0MDAwMzg2NTlFIC8qIChudWxsKSBpbiBIZWFkZXJzICov
LAogCQkJCTlCNDc5MDhGMjUzMTUxQ0MwMEVDMTFBQiAvKiBKU0lQQ0JpbmRpbmcuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUMxNjYzRTVCMjRBRUFBMkYwMEM2QTNCMiAvKiBMYXVuY2hTZXJ2aWNlc0Rh
dGFiYXNlWFBDQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0UwOTM3ODE0RkIxMjhD
MDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzM1
NCw3ICsxMzM1NSw2IEBACiAJCQkJNTdDNjI0NEIyMzQ2NzlBNDAwMzgzRkU3IC8qIFdlYkF1dGhl
bnRpY2F0aW9uRmxhZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3N0ZGNzg1MjM0NkVDQUEwMDRF
REZCOSAvKiBXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1N0RDRURCMjIxNEM2MDRDMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0
YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTdEQ0VEQjMyMTRDNjA1MzAwMTZCODQ3IC8qIFdlYkF1
dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ3
MTIxNDJFRTZDMDAxNkI4NDcgLyogV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHlNZXNz
YWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc0MkEzMEQyNTM1OEVGRDAwQjdCQTE0IC8qIFdl
YkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcyRUJC
QzAyNTM2QTYwQTAwMDU1MkIzIC8qIFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449875</attachid>
            <date>2022-01-24 15:47:34 -0800</date>
            <delta_ts>2022-01-26 16:04:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235533-20220124154733.patch</filename>
            <type>text/plain</type>
            <size>13596</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBhODE2Y2YzZGM2MDhmZjVj
MzZjZDA2OTJiMjgyMmExZGQ2MWZmYWYuLjFkZDEzNmI3MDhiY2ViYzI1NDFhNDFhYmQzZDhlYTM4
NzEyOGQzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDEtMjQgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gV2Ugc2hvdWxkIHBh
c3MgZXh0ZW5zaW9ucyB0byBBU0MgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTUzMworICAgICAgICByZGFyOi8vODcxNjk0MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIHN0YXJ0cyBwYXNzaW5nIFdlYkF1dGhuIGV4dGVuc2lvbnMgdG8gQVNDIGlmIHBvc3NpYmxl
LAorICAgICAgICBpbiBvcmRlciB0byBzdXBwb3J0IHRoZSBnb29nbGVMZWdhY3lBcHBpZFN1cHBv
cnQgZXh0ZW5zaW9uLCB3aGljaAorICAgICAgICBpcyByZXF1aXJlZCB0byByZWdpc3RlciBzZWN1
cml0eSBrZXlzIG9uIGdvb2dsZS5jb20uIEl0IGFsc28gc3RhcnRzCisgICAgICAgIHBhc3Npbmcg
dGhlIGF0dGVzdGF0aW9uUHJlZmVyZW5jZSBvcHRpb24sIHdoaWNoIHdhcyBub3QgYmVpbmcgcGFz
c2VkIGJlZm9yZS4KKworICAgICAgICBUZXN0ZWQgbWFudWFsbHkuIFByZXZpb3VzIHZlcnNpb24g
b2YgcGF0Y2ggY29udGFpbmVkCisgICAgICAgIFRlc3RXZWJLaXRBUEkuV2ViQXV0aGVudGljYXRp
b25QYW5lbC5QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnNBU0MKKyAgICAgICAgYW5k
IFRlc3RXZWJLaXRBUEkuV2ViQXV0aGVudGljYXRpb25QYW5lbC5QdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zQVNDLAorICAgICAgICBidXQgd2VyZSByZW1vdmVkIGR1ZSB0byBkaWZm
aWN1bHR5IHNvZnRsaW5raW5nIGZyb20gdGVzdHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkv
Q29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5t
bToKKyAgICAgICAgKGF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU29mdExpbmsuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OnRvTlNTdHJpbmcpOgorICAgICAgICAo
V2ViS2l0Ojp0b0FTQ0V4dGVuc2lvbnMpOgorICAgICAgICAoV2ViS2l0Ojpjb25maWd1cmVSZWdp
c3RyYXRpb25SZXF1ZXN0Q29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OmNvbmZpZ3VyYXRpb25B
c3NlcnRpb25SZXF1ZXN0Q29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjItMDEtMjQgIEFkYSBDaGFuICA8
YWRhY2hhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU29mdCBsaW5rIEFSS2l0IGluIGEgc2VwYXJh
dGUgQVJLaXRTb2Z0TGluayBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaAppbmRl
eCA1ODBmY2RjZTNjNjE1YTIxYTBiNGNjMjc5NGFhM2ZlNDM1Y2ZlZTU4Li5kMjJhYjJjYjdkYTUz
NWNiNWE0MjUwMDFiODMzN2Y1YWY1ODQyNmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
U1BJLmgKQEAgLTEzMyw2ICsxMzMsMTcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgQVND
U2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsS2luZCkgewogCiBAZW5kCiAKK0BjbGFzcyBB
U0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHM7CisKK0BpbnRlcmZhY2Ug
QVNDV2ViQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIDogTlNPYmplY3QgPE5T
Q29weWluZywgTlNTZWN1cmVDb2Rpbmc+CisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aEFwcElE
OihOU1N0cmluZyAqIF9OdWxsYWJsZSlhcHBJRCBpc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydDoo
Qk9PTClpc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydCBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVS
OworCitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICphcHBJ
RDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0
OworCitAZW5kCisKIEBjbGFzcyBBU0NQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcjsKIAog
dHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxLaW5kKSB7
CkBAIC0xNTIsNiArMTYzLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIEFTQ1B1Ymxp
Y0tleUNyZWRlbnRpYWxLaW5kKSB7CiAvLyBJZiBjbGllbnREYXRhSGFzaCBpcyBudWxsLCB0aGVu
IGdldHMgZ2VuZXJhdGVkIGZyb20gY2hhbGxlbmdlIGFuZCByZWx5aW5nUGFydHlJZGVudGlmaWVy
LgogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5KSBOU0RhdGEgKmNsaWVudERh
dGFIYXNoOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCByZWFkb25seSwgY29weSkg
TlNTdHJpbmcgKnVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOworQHByb3BlcnR5IChub25hdG9t
aWMsIG51bGxhYmxlLCBjb3B5KSBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJ
bnB1dHMgKmV4dGVuc2lvbnM7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgcmVh
ZG9ubHksIGNvcHkpIE5TQXJyYXk8QVNDUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IgKj4g
KmFsbG93ZWRDcmVkZW50aWFsczsKIApAQCAtMTc4LDYgKzE5MCw4IEBAIHR5cGVkZWYgTlNfT1BU
SU9OUyhOU1VJbnRlZ2VyLCBBU0NDcmVkZW50aWFsUmVxdWVzdFR5cGVzKSB7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnVzZXJEaXNwbGF5TmFtZTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PE5TTnVtYmVyICo+ICpzdXBwb3J0ZWRBbGdvcml0aG1J
ZGVudGlmaWVyczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJp
bmcgKnVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOworQHByb3BlcnR5IChub25hdG9taWMsIG51
bGxhYmxlLCBjb3B5KSBOU1N0cmluZyAqYXR0ZXN0YXRpb25QcmVmZXJlbmNlOworQHByb3BlcnR5
IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5KSBBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNDbGllbnRJbnB1dHMgKmV4dGVuc2lvbnM7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IHNob3VsZFJlcXVpcmVSZXNpZGVudEtleTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBO
U0FycmF5PEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yICo+ICpleGNsdWRlZENyZWRl
bnRpYWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cy5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0
cy5oCmluZGV4IDE2NTA5NmJmYTA1Njg2N2NkZDA1NWM3YmE4MmNkN2M3NTdkNjhiYjAuLmY3YTkx
NjZjMTlmMGI2MDdjOTJmNTBkZGI5ZjkzNjMyMzkyNTJmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGll
bnRJbnB1dHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0
aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzLmgKQEAgLTM1LDYgKzM1LDcgQEAgV0tf
Q0xBU1NfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpCiBAaW50ZXJmYWNlIF9XS0F1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyA6IE5TT2JqZWN0CiAKIEBwcm9wZXJ0
eSAobnVsbGFibGUsIG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmFwcGlkOworQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgZ29vZ2xlTGVnYWN5QXBwaWRTdXBwb3J0OwogCiBAZW5kCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggYmI2YThkZWYzZGNlNDQyNDkyNjAyMzM2ZmUz
ZDJjYjhhMTJiYTAzNC4uZDk2ZmRjMmY2ZmEwZjMwZTcwYjFkM2RiMjEyNWYwMGQ5YTMyOTAxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhl
bnRpY2F0aW9uUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTUyNSw3ICs1MjUsNyBAQCBzdGF0aWMg
V2ViQ29yZTo6QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIGF1dGhlbnRpY2F0
aW9uRXh0ZW5zaW9uc0NsaQogewogICAgIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9u
c0NsaWVudElucHV0cyByZXN1bHQ7CiAgICAgcmVzdWx0LmFwcGlkID0gZXh0ZW5zaW9ucy5hcHBp
ZDsKLSAgICByZXN1bHQuZ29vZ2xlTGVnYWN5QXBwaWRTdXBwb3J0ID0gZmFsc2U7CisgICAgcmVz
dWx0Lmdvb2dsZUxlZ2FjeUFwcGlkU3VwcG9ydCA9IGV4dGVuc2lvbnMuZ29vZ2xlTGVnYWN5QXBw
aWRTdXBwb3J0OwogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaAppbmRleCBi
M2E3OWMwN2FiYTJjYmFmZWVmZWZjNmM2N2NhZTEzNmY3MjIyNTE5Li43YjY5ODc4Y2MxMWJiNDhm
MjNjNDY3ZWQ0MTM4ODA1YTM0ZTZhZjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
Q29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oCkBAIC00MCw2ICs0MCw3
IEBAIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDQXV0aG9yaXphdGlvblBy
ZXNlbnRhdGlvbkNvbnRleHQpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBB
U0NBdXRob3JpemF0aW9uUHJlc2VudGVyKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdl
YktpdCwgQVNDQXV0aG9yaXphdGlvblJlbW90ZVByZXNlbnRlcik7CiBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihXZWJLaXQsIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dCk7CitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1dlYkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9u
c0NsaWVudElucHV0cyk7CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1Bs
YXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlvbik7CiBTT0ZUX0xJTktfQ0xBU1NfRk9S
X0hFQURFUihXZWJLaXQsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbExvZ2luQ2hvaWNl
KTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDUGxhdGZvcm1QdWJsaWNL
ZXlDcmVkZW50aWFsUmVnaXN0cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
U29mdExpbmsubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9D
b2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1tCmluZGV4IGEyM2FjNTNh
N2JjMTlhMmUyNTI1ZWQzNjkyMGQwZGRjMzRmMzI4NmQuLjBiYjZmZGZkNDJmMzM1ZjM5MzRjYmFm
MDg1ZjU2NDVlOTIxNzNiMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2Ev
QXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbQpAQCAtNDAsNiArNDAsNyBAQCBT
T0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlLCBBU0NBdXRob3JpemF0aW9uUAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0
LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDQXV0aG9yaXphdGlvblByZXNlbnRlcik7
CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2Vydmlj
ZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uUmVtb3RlUHJlc2VudGVyKTsKIFNPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ0NyZWRl
bnRpYWxSZXF1ZXN0Q29udGV4dCk7CitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05B
TChXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NXZWJBdXRoZW50aWNhdGlv
bkV4dGVuc2lvbnNDbGllbnRJbnB1dHMpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2Vi
S2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDUGxhdGZvcm1QdWJsaWNLZXlDcmVk
ZW50aWFsQXNzZXJ0aW9uKTsKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0
aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbExv
Z2luQ2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFKFdlYktpdCwgQXV0aGVudGlj
YXRpb25TZXJ2aWNlc0NvcmUsIEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbFJlZ2lzdHJh
dGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvclByb3h5Lm1tCmluZGV4IGVkMzJjOGI0M2IxM2ZkYTdlODg0MDc2NGJmZjNlODFk
Nzc5NDUzMGEuLmM1YzM5NGFkN2VlZjA1NzQ5ZDM1ZTQ0YmIyOTE1OTczYzA1ZmRmODggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
clByb3h5Lm1tCkBAIC02OSw2ICs2OSwyMCBAQCBzdGF0aWMgaW5saW5lIFJldGFpblB0cjxOU1N0
cmluZz4gdG9OU1N0cmluZyhVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQgdXNlclZlcgogICAg
IHJldHVybiBAInByZWZlcnJlZCI7CiB9CiAKK3N0YXRpYyBpbmxpbmUgUmV0YWluUHRyPE5TU3Ry
aW5nPiB0b05TU3RyaW5nKEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UgYXR0ZXN0YXRp
b25Db252ZXlhbmNlUHJlZmVyZW5jZSkKK3sKKyAgICBzd2l0Y2ggKGF0dGVzdGF0aW9uQ29udmV5
YW5jZVByZWZlcmVuY2UpIHsKKyAgICBjYXNlIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVu
Y2U6OkRpcmVjdDoKKyAgICAgICAgcmV0dXJuIEAiZGlyZWN0IjsKKyAgICBjYXNlIEF0dGVzdGF0
aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6OkluZGlyZWN0OgorICAgICAgICByZXR1cm4gQCJpbmRp
cmVjdCI7CisgICAgY2FzZSBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlOjpOb25lOgor
ICAgICAgICByZXR1cm4gQCJub25lIjsKKyAgICB9CisKKyAgICByZXR1cm4gQCJub25lIjsKK30K
Kwogc3RhdGljIGlubGluZSBFeGNlcHRpb25Db2RlIHRvRXhjZXB0aW9uQ29kZShOU0ludGVnZXIg
bnNFcnJvckNvZGUpCiB7CiAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb25Db2RlID0gKEV4Y2Vw
dGlvbkNvZGUpbnNFcnJvckNvZGU7CkBAIC0xNTAsNiArMTY0LDE0IEBAIHN0YXRpYyBpbmxpbmUg
UmV0YWluUHRyPEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiB0b0FTQ0Rlc2NyaXB0
b3IoUHVibGljCiAgICAgcmV0dXJuIGFkb3B0TlMoW2FsbG9jQVNDUHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3JJbnN0YW5jZSgpIGluaXRXaXRoQ3JlZGVudGlhbElEOldlYkNvcmU6OnRvTlNE
YXRhKGRlc2NyaXB0b3IuaWQpLmdldCgpIHRyYW5zcG9ydHM6dHJhbnNwb3J0cy5nZXQoKV0pOwog
fQogCitzdGF0aWMgaW5saW5lIFJldGFpblB0cjxBU0NXZWJBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNDbGllbnRJbnB1dHM+IHRvQVNDRXh0ZW5zaW9ucyhjb25zdCBBdXRoZW50aWNhdGlvbkV4dGVu
c2lvbnNDbGllbnRJbnB1dHMmIGV4dGVuc2lvbnMpCit7CisgICAgaWYgKFthbGxvY0FTQ1dlYkF1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0c0luc3RhbmNlKCkgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcihpbml0V2l0aEFwcElEOmlzR29vZ2xlTGVnYWN5QXBwSURTdXBwb3J0
OildKQorICAgICAgICByZXR1cm4gYWRvcHROUyhbYWxsb2NBU0NXZWJBdXRoZW50aWNhdGlvbkV4
dGVuc2lvbnNDbGllbnRJbnB1dHNJbnN0YW5jZSgpIGluaXRXaXRoQXBwSUQ6ZXh0ZW5zaW9ucy5h
cHBpZCBpc0dvb2dsZUxlZ2FjeUFwcElEU3VwcG9ydDpleHRlbnNpb25zLmdvb2dsZUxlZ2FjeUFw
cGlkU3VwcG9ydF0pOworCisgICAgcmV0dXJuIG5pbDsKK30KKwogc3RhdGljIFJldGFpblB0cjxB
U0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQ+IGNvbmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVlc3RD
b250ZXh0KGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmIG9wdGlvbnMs
IFZlY3Rvcjx1aW50OF90PiBoYXNoKQogewogICAgIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0VHlwZXMg
cmVxdWVzdFR5cGVzID0gQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlUGxhdGZvcm1QdWJsaWNLZXlS
ZWdpc3RyYXRpb24gfCBBU0NDcmVkZW50aWFsUmVxdWVzdFR5cGVTZWN1cml0eUtleVB1YmxpY0tl
eVJlZ2lzdHJhdGlvbjsKQEAgLTE4NCw2ICsyMDYsNyBAQCBzdGF0aWMgUmV0YWluUHRyPEFTQ0Ny
ZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJlUmVnaXN0cmF0aW9uUmVxdWVzdENvbnRl
eAogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldFVzZXJEaXNwbGF5TmFtZTpvcHRp
b25zLnVzZXIuZGlzcGxheU5hbWVdOwogICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNl
dFVzZXJWZXJpZmljYXRpb25QcmVmZXJlbmNlOnVzZXJWZXJpZmljYXRpb24uZ2V0KCldOwogICAg
IFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHNldFNob3VsZFJlcXVpcmVSZXNpZGVudEtleTpz
aG91bGRSZXF1aXJlUmVzaWRlbnRLZXldOworICAgIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25z
IHNldEF0dGVzdGF0aW9uUHJlZmVyZW5jZTp0b05TU3RyaW5nKG9wdGlvbnMuYXR0ZXN0YXRpb24p
LmdldCgpXTsKIAogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheTxOU051bWJlciAqPj4gc3Vw
cG9ydGVkQWxnb3JpdGhtSWRlbnRpZmllcnMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxs
b2NdIGluaXRXaXRoQ2FwYWNpdHk6b3B0aW9ucy5wdWJLZXlDcmVkUGFyYW1zLnNpemUoKV0pOwog
ICAgIGZvciAoUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6UGFyYW1ldGVycyBh
bGdvcml0aG1QYXJhbWV0ZXIgOiBvcHRpb25zLnB1YktleUNyZWRQYXJhbXMpCkBAIC0yMDcsNiAr
MjMwLDkgQEAgc3RhdGljIFJldGFpblB0cjxBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQ+IGNv
bmZpZ3VyZVJlZ2lzdHJhdGlvblJlcXVlc3RDb250ZXgKICAgICBpZiAocmVxdWVzdFR5cGVzICYg
QVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlU2VjdXJpdHlLZXlQdWJsaWNLZXlSZWdpc3RyYXRpb24p
CiAgICAgICAgIFtyZXF1ZXN0Q29udGV4dCBzZXRTZWN1cml0eUtleUNyZWRlbnRpYWxDcmVhdGlv
bk9wdGlvbnM6Y3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5nZXQoKV07CiAKKyAgICBpZiAob3B0
aW9ucy5leHRlbnNpb25zICYmIFtjcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3Ioc2V0RXh0ZW5zaW9uczopXSkKKyAgICAgICAgW2NyZWRlbnRpYWxD
cmVhdGlvbk9wdGlvbnMgc2V0RXh0ZW5zaW9uczp0b0FTQ0V4dGVuc2lvbnMoKm9wdGlvbnMuZXh0
ZW5zaW9ucykuZ2V0KCldOworCiAgICAgcmV0dXJuIHJlcXVlc3RDb250ZXh0OwogfQogCkBAIC0y
NDQsNiArMjcwLDggQEAgc3RhdGljIFJldGFpblB0cjxBU0NDcmVkZW50aWFsUmVxdWVzdENvbnRl
eHQ+IGNvbmZpZ3VyYXRpb25Bc3NlcnRpb25SZXF1ZXN0Q29udGUKICAgICAgICAgICAgIGF1dG8g
Y2hhbGxlbmdlID0gV2ViQ29yZTo6dG9OU0RhdGEob3B0aW9ucy5jaGFsbGVuZ2UpOwogICAgICAg
ICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgaW5pdFdpdGhLaW5kOkFTQ1B1YmxpY0tleUNyZWRlbnRp
YWxLaW5kUGxhdGZvcm0gcmVseWluZ1BhcnR5SWRlbnRpZmllcjpvcHRpb25zLnJwSWQgY2hhbGxl
bmdlOmNoYWxsZW5nZS5nZXQoKSB1c2VyVmVyaWZpY2F0aW9uUHJlZmVyZW5jZTp1c2VyVmVyaWZp
Y2F0aW9uLmdldCgpIGFsbG93ZWRDcmVkZW50aWFsczphbGxvd2VkQ3JlZGVudGlhbHMuZ2V0KCld
OwogICAgICAgICB9CisgICAgICAgIGlmIChvcHRpb25zLmV4dGVuc2lvbnMgJiYgW2Fzc2VydGlv
bk9wdGlvbnMgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRFeHRlbnNpb25zOildKQor
ICAgICAgICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgc2V0RXh0ZW5zaW9uczp0b0FTQ0V4dGVuc2lv
bnMoKm9wdGlvbnMuZXh0ZW5zaW9ucykuZ2V0KCldOwogCiAgICAgICAgIFtyZXF1ZXN0Q29udGV4
dCBzZXRQbGF0Zm9ybUtleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zOmFzc2VydGlvbk9wdGlv
bnMuZ2V0KCldOwogICAgIH0KQEAgLTI1Nyw2ICsyODUsOSBAQCBzdGF0aWMgUmV0YWluUHRyPEFT
Q0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJhdGlvbkFzc2VydGlvblJlcXVlc3RD
b250ZQogICAgICAgICAgICAgYXV0byBjaGFsbGVuZ2UgPSBXZWJDb3JlOjp0b05TRGF0YShvcHRp
b25zLmNoYWxsZW5nZSk7CiAgICAgICAgICAgICBbYXNzZXJ0aW9uT3B0aW9ucyBpbml0V2l0aEtp
bmQ6QVNDUHVibGljS2V5Q3JlZGVudGlhbEtpbmRTZWN1cml0eUtleSByZWx5aW5nUGFydHlJZGVu
dGlmaWVyOm9wdGlvbnMucnBJZCBjaGFsbGVuZ2U6Y2hhbGxlbmdlLmdldCgpIHVzZXJWZXJpZmlj
YXRpb25QcmVmZXJlbmNlOnVzZXJWZXJpZmljYXRpb24uZ2V0KCkgYWxsb3dlZENyZWRlbnRpYWxz
OmFsbG93ZWRDcmVkZW50aWFscy5nZXQoKV07CiAgICAgICAgIH0KKyAgICAgICAgaWYgKG9wdGlv
bnMuZXh0ZW5zaW9ucyAmJiBbYXNzZXJ0aW9uT3B0aW9ucyByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHNldEV4dGVuc2lvbnM6KV0pCisgICAgICAgICAgICBbYXNzZXJ0aW9uT3B0aW9ucyBz
ZXRFeHRlbnNpb25zOnRvQVNDRXh0ZW5zaW9ucygqb3B0aW9ucy5leHRlbnNpb25zKS5nZXQoKV07
CisKICAgICAgICAgW3JlcXVlc3RDb250ZXh0IHNldFNlY3VyaXR5S2V5Q3JlZGVudGlhbEFzc2Vy
dGlvbk9wdGlvbnM6YXNzZXJ0aW9uT3B0aW9ucy5nZXQoKV07CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaAppbmRleCAxYTQzN2Rh
MmRlY2QwZGU5ZDQ5NGIwOWQ4YWEzNmE3MTc1MjZhOWEwLi44Njk3MWRhN2M4NjA4YTg3YjBiZGZl
OGEzNjg0OTkxMTk4YzYzNDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvclByb3h5LmgKQEAgLTgwLDcgKzgwLDcgQEAgcHJpdmF0ZToKICAgICBSZXRh
aW5QdHI8QVNDQ3JlZGVudGlhbFJlcXVlc3RDb250ZXh0PiBjb250ZXh0Rm9yUmVxdWVzdChXZWJB
dXRoZW50aWNhdGlvblJlcXVlc3REYXRhJiYpOwogICAgIHZvaWQgcGVyZm9ybVJlcXVlc3QoUmV0
YWluUHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4sIFJlcXVlc3RDb21wbGV0aW9uSGFu
ZGxlciYmKTsKICAgICBSZXRhaW5QdHI8QVNDQXV0aG9yaXphdGlvblJlbW90ZVByZXNlbnRlcj4g
bV9wcmVzZW50ZXI7Ci0jZW5kaWYKKyNlbmRpZiAvLyBIQVZFKFVOSUZJRURfQVNDX0FVVEhfVUkp
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>