<?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>204877</bug_id>
          
          <creation_ts>2019-12-05 00:20:52 -0800</creation_ts>
          <short_desc>maplike should define a set method</short_desc>
          <delta_ts>2019-12-05 09:45:18 -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>WebCore 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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1595735</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-05 00:20:52 -0800</bug_when>
    <thetext>maplike should define a set method instead of an add method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595737</commentid>
    <comment_count>1</comment_count>
      <attachid>384884</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-05 00:34:25 -0800</bug_when>
    <thetext>Created attachment 384884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595738</commentid>
    <comment_count>2</comment_count>
      <attachid>384885</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-05 00:54:37 -0800</bug_when>
    <thetext>Created attachment 384885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595747</commentid>
    <comment_count>3</comment_count>
      <attachid>384888</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-05 02:18:38 -0800</bug_when>
    <thetext>Created attachment 384888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595770</commentid>
    <comment_count>4</comment_count>
      <attachid>384897</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-05 04:11:21 -0800</bug_when>
    <thetext>Created attachment 384897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595780</commentid>
    <comment_count>5</comment_count>
      <attachid>384900</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-05 05:37:30 -0800</bug_when>
    <thetext>Created attachment 384900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595850</commentid>
    <comment_count>6</comment_count>
      <attachid>384900</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-05 09:44:13 -0800</bug_when>
    <thetext>Comment on attachment 384900
Patch

Clearing flags on attachment: 384900

Committed r253153: &lt;https://trac.webkit.org/changeset/253153&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595851</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-05 09:44:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595852</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-05 09:45:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/57666762&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384884</attachid>
            <date>2019-12-05 00:34:25 -0800</date>
            <delta_ts>2019-12-05 00:54:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204877-20191205093423.patch</filename>
            <type>text/plain</type>
            <size>42131</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg1NGIzNWMwNDIxOTg3
OGQwMzEyYjljMTBhYmI2MjY0NDcxMGY4ZC4uMTJkMzllMGE4NzlkM2M0OGE0NDNlNTkyMGU1MGI1
MmFiZjAwYzM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE5LTEyLTA1ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBtYXBsaWtlIHNob3VsZCBk
ZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBtYXBsaWtlIGltcGxlbWVudGF0aW9uIHdhcyBkZWZpbmluZyBhbiBhZGQgbWV0
aG9kIGluc3RlYWQgb2YgYSBzZXQgbWV0aG9kLgorICAgICAgICBVcGRhdGUgaW1wbGVtZW50YXRp
b24gdG8gZGVmaW5lIGFuZCB1c2UgYSBzZXQgbWV0aG9kLgorICAgICAgICBBZGQgYW4gSW50ZXJu
YWxzTWFwTGlrZSB0byBhbGxvdyB0ZXN0aW5nLgorCisgICAgICAgIFRlc3Q6IGpzL2RvbS9tYXBs
aWtlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGln
aGxpZ2h0TWFwOjphZGRGcm9tTWFwTGlrZSk6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0TWFwLmg6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFw
LmlkbDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmg6CisgICAgICAgIChXZWJDb3JlOjpET01N
YXBMaWtlOjpzZXQpOgorICAgICAgICAoV2ViQ29yZTo6Zm9yd2FyZFNldFRvTWFwTGlrZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChwYXJzZU1h
cExpa2VQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNN
YXBMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9u
U2V0Qm9keSk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25B
ZGQpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxzTWFwTGlrZSk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcDogQWRkZWQuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzTWFwTGlrZS5pZGw6IEFkZGVkLgorCiAyMDE5LTEyLTA0ICB5b3Vlbm4gZmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2ViSURMIHNldC1s
aWtlIGZvckVhY2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNGJmYjIzN2ZhODMxMjdkNGYyZjQy
MjIxY2U1NDBlNTJhOWVkOTUxMy4uZDRiOGUxYjU5ZGRmZWU1MDFkZDcwOGIyMWMwNmFmNWU5YjY3
M2Q2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2MDUsNiArMTYwNSw3IEBAIHNldChXZWJD
b3JlVGVzdFN1cHBvcnRfSURMX0ZJTEVTCiAgICAgdGVzdGluZy9HQ09ic2VydmF0aW9uLmlkbAog
ICAgIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKICAgICB0ZXN0aW5nL0ludGVybmFscy5p
ZGwKKyAgICB0ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsCiAgICAgdGVzdGluZy9JbnRlcm5h
bHNTZXRMaWtlLmlkbAogICAgIHRlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGwKICAgICB0ZXN0
aW5nL01lbW9yeUluZm8uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAppbmRleCAzN2U1NDVkMmViYTk0YjVkOWFjZjM1ZGNmMWZhNTBkYzVkYWVh
MDQ0Li4wMGJkYjk1YmQ1NWIwNTNkMGMxYTA3MTQzOTVlOTg2ZGU2ZDFmMjZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTEwOTIsNiAr
MTA5Miw3IEBAICQoUFJPSkVDVF9ESVIpL3N2Zy94bGlua2F0dHJzLmluCiAkKFBST0pFQ1RfRElS
KS90ZXN0aW5nL0dDT2JzZXJ2YXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL0ludGVybmFscy5pZGwKKyQo
UFJPSkVDVF9ESVIpL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5pZGwKICQoUFJPSkVDVF9ESVIp
L3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTWFs
bG9jU3RhdGlzdGljcy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTWVtb3J5SW5mby5pZGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5k
ZXggZTE0Y2QxZjRmYTg3NWMwMTcyMWVhYjZiODA0MTZmZGU0ZDA0ODBlNC4uNmY1MTkwNGIyOTNl
ZGQyNTFiMTAzMDVjZmU5ODllYjcxNGUzOTJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTY5MSwxMCArNjkxLDYgQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHbG9iYWxFdmVudEhhbmRs
ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
bG9iYWxFdmVudEhhbmRsZXJzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR2xvYmFsUGVyZm9ybWFuY2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dsb2JhbFBlcmZvcm1hbmNlLmgKLSQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmNwcAotJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGlnaHRNYXAu
aAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGln
aHRSYW5nZUdyb3VwLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIaWdobGlnaHRSYW5nZUdyb3VwLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFsbENvbGxlY3Rpb24uY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxBbGxDb2xsZWN0aW9uLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFuY2hvckVs
ZW1lbnQuY3BwCkBAIC04NzMsNiArODY5LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0YVR5cGUu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hkck1l
dGFkYXRhVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hpZ2hsaWdodE1hcC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91cC5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91cC5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3RvcnkuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3Rvcnku
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIa2RmUGFy
YW1zLmNwcApAQCAtOTM5LDYgKzkzOSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0ludGVybmFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTSW50ZXJuYWxzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFsc1NldExpa2UuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFsc1NldExp
a2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJbnRl
cnNlY3Rpb25PYnNlcnZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDgy
ZDhkYzNlYmMzYjlmMzg3MmU0MGE0Mzc5MTRmNGZmNDZiZWJhMDAuLjBiZmFiZWNhNDMxZWUxMDZj
ZDhkN2EyN2Y0YmRmNjA2MmRiMDE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMTA4Miw2ICsxMDgyLDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkv
dGVzdGluZy9HQ09ic2VydmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBc
CisgICAgJChXZWJDb3JlKS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsIFwKICAgICAkKFdl
YkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVz
dGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01lbW9y
eUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0
L0hpZ2hsaWdodE1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdo
bGlnaHRNYXAuY3BwCmluZGV4IDc5Mzc0MDk2M2QwMDA3NjVkNzUwOTIzZjY3YmI3M2Y5NzljYTEy
OTkuLmIyNDhlZjdkMmU1NTU3OTRkNGQ3M2NkOTdhOTczN2FmOGI0ZjEzMDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodE1hcC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmNwcApAQCAtMzQs
MTAgKzM0LDggQEAgdm9pZCBIaWdobGlnaHRNYXA6OmFkZEhpZ2hsaWdodEdyb3VwKFN0cmluZyYg
Y3NzU3R5bGUsIEhpZ2hsaWdodFJhbmdlR3JvdXAgJmdyb3UKICAgICBVTlVTRURfUEFSQU0oZ3Jv
dXApOwogfQogCi1ib29sIEhpZ2hsaWdodE1hcDo6YWRkRnJvbU1hcExpa2UoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKK3ZvaWQgSGlnaGxpZ2h0TWFwOjpzZXRGcm9tTWFwTGlrZShTdHJpbmcmJiwgUmVm
PEhpZ2hsaWdodFJhbmdlR3JvdXA+JiYpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlKTsKLSAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgSGlnaGxpZ2h0TWFwOjpyZW1vdmUoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKQEAgLTY3LDEyICs2NSw0IEBAIGJvb2wgSGlnaGxpZ2h0TWFwOjpkZWxldGVO
YW1lZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LUV4Y2VwdGlvbk9yPHZvaWQ+IEhpZ2hsaWdodE1hcDo6c2V0KGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKG5h
bWUpOwotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7Ci0gICAgCi0gICAgcmV0dXJuIHsgfTsKLX0K
LQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxp
Z2h0TWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAu
aAppbmRleCBlY2RhYzA4YTJjZjg2ZDk4OTdjMzFjNjdjZjY1MzU0ZDUzZWEwMDE3Li42NDFlMjRi
ZDgwZDc1ZmIyNTExODYyOWIyMmMwYzQ0Y2Y1Njk4MTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaApAQCAtNDksOSArNDksNyBAQCBwdWJs
aWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0TmFtZWRJdGVtKGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpOwogICAgIGJvb2wgZGVsZXRlTmFt
ZWRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIAotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEhpZ2hsaWdodFJhbmdlR3JvdXAmIHZh
bHVlKTsKLSAgICAKLSAgICBib29sIGFkZEZyb21NYXBMaWtlKGNvbnN0IFN0cmluZyYgdmFsdWUp
OworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIFJlZjxIaWdobGlnaHRSYW5nZUdy
b3VwPiYmKTsKICAgICB2b2lkIGNsZWFyKCkgeyB9OwogICAgIGJvb2wgcmVtb3ZlKGNvbnN0IFN0
cmluZyYgdmFsdWUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0TWFwLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxp
Z2h0L0hpZ2hsaWdodE1hcC5pZGwKaW5kZXggYTkwNzkxOTQ4ZjgwOTViZjdlYmJkZDhmNDBlMmFj
MTI3MmEzYjFiNy4uMzZlNWI1NTcyMTZlYzc1Y2UzNWY3OTE0MTFhMTg4MzUzNzJkNmViZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaWRs
CkBAIC0zMCw1ICszMCw0IEBACiBdIGludGVyZmFjZSBIaWdobGlnaHRNYXAgewogICAgIG1hcGxp
a2U8RE9NU3RyaW5nLCBIaWdobGlnaHRSYW5nZUdyb3VwPjsKICAgICBbQ0VSZWFjdGlvbnMsIE1h
eVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHN0eWxlLCBIaWdobGlnaHRS
YW5nZUdyb3VwIGdyb3VwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0KERPTVN0
cmluZyBzdHlsZSwgSGlnaGxpZ2h0UmFuZ2VHcm91cCBncm91cCk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGY4MzZiZmQ1
ODQ4YjRjYTk0NmYyMzkwMmRiZWY5OThlMTc4ZTM2ZGIuLjFhNGMxMmM0MzNhMWQ4Nzk1ZDZlODUz
MjNkOTgxMjczOTY5NmEzZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTczNCw2ICs3MzQsNyBAQAogCQkyRDNFRjQ0QTE5MTc5
MTVDMDAwMzQxODQgLyogV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEM0VGNDQ2MTkxNzkxNUMwMDAzNDE4NCAvKiBX
ZWJDb3JlQ0FMYXllckV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTJENDE1MERFMUMxRjg2OEMwMDBBM0JBMiAvKiBKU01vY2tQYWdlT3Zl
cmxheS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
RDZGM0U5MjFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2NrUGFnZU92ZXJsYXkuY3BwICovOyB9Owog
CQkyRDQxNTBERTFDMUY4NjhDMDAwQTNCQTMgLyogSlNJbnRlcm5hbHNTZXRMaWtlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENkYzRTkyMUMxRjg1
NTUwMDYxREJENSAvKiBKU0ludGVybmFsc1NldExpa2UuY3BwICovOyB9OworCQkyRDQxNTBERTFD
MUY4NjhDMDAwQTNCQTQgLyogKG51bGwpIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyB9OwogCQkyRDQ4MUYwMjE0NkI1QzU1MDBBQTc4MzQgLyogQ3Jvc3NmYWRlR2VuZXJhdGVk
SW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
MkZDMDU1MTQ2MENENkYwMDI2MzYzMyAvKiBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oICovOyB9
OwogCQkyRDQ4MUYwNDE0NkI1QzZCMDBBQTc4MzQgLyogR3JhZGllbnRJbWFnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQyRkMwNTcxNDYwQ0Q2RjAw
MjYzNjMzIC8qIEdyYWRpZW50SW1hZ2UuaCAqLzsgfTsKIAkJMkQ0Rjk2RjYxQTFFQ0MyNDAwOThC
Rjg4IC8qIFRleHRJbmRpY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJENEY5NkYyMUExRUNDMjQwMDk4QkY4OCAvKiBUZXh0SW5kaWNhdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwNDgs
NiArMTA0OSw4IEBACiAJCTQxMjlDOUFGMUY1OUNGNUIwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVh
bVNpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
MjlDOTgwMUY1ODYxQzcwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTJERTRCODIxOTI4NUMw
MDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcgLyogUlRDUnRw
Q2FwYWJpbGl0aWVzLmggKi87IH07CiAJCTQxMzNDQjhCMjBGODBFOTkwMEU4OUIxMSAvKiBNZWRp
YVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi87IH07CisJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAv
KiBJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMzZDNTc4MjM5OEU1QjUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtl
LmNwcCAqLzsgfTsKKwkJNDEzNkM1N0MyMzk4RUNDRjAwMjQ5N0QzIC8qIEpTSW50ZXJuYWxzTWFw
TGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
RDZGM0U5MjFDMUY4NTU1MDA2MURCRDYgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsK
IAkJNDEzNkVDMEMyMzgzODg3MDAwMEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNkVDMDkyMzgzODdD
MzAwMEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuY3BwICovOyB9OwogCQk0MTM2RUMwRDIzODM4
QTQ3MDAwQURCQ0UgLyogSW50ZXJuYWxzU2V0TGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNkVDMEEyMzgzODdDNDAwMEFEQkNFIC8qIEludGVy
bmFsc1NldExpa2UuaCAqLzsgfTsKIAkJNDEzODBDMjcxRjM0MzZBQzAwMTU1RkRBIC8qIERPTUNh
Y2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4
MEMyNTFGMzQzNjlBMDAxNTVGREEgLyogRE9NQ2FjaGUuaCAqLzsgfTsKQEAgLTY3MzEsNiArNjcz
NCw3IEBACiAJCTJENkYzRThDMUMxRUNCMUMwMDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tQYWdlT3ZlcmxheS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdl
T3ZlcmxheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tQ
YWdlT3ZlcmxheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMx
Rjg1NTUwMDYxREJENSAvKiBKU0ludGVybmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRlcm5hbHNTZXRMaWtlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ2IC8qIEpTSW50ZXJuYWxz
TWFwTGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVy
bmFsc01hcExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MzFD
MUY4NTU1MDA2MURCRDQgLyogSlNNb2NrUGFnZU92ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNNb2NrUGFnZU92ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkQ3MEJBMTIxODA3NERERjAwMDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllckNvY29h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllckNvY29h
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENzBCQTE0MTgwNzRGODUwMDAxOTA4
QSAvKiBQbGF0Zm9ybUNBTGF5ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGxhdGZvcm1DQUxheWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTcyOTMsNiArNzI5Nyw5IEBACiAJCTQxMzFGM0I1MUY5NTVCQzUwMDU5OTk1QSAvKiBFeHRlbmRh
YmxlRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFeHRlbmRhYmxlRXZlbnRJ
bml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzM0NCODkyMEY4MEU4NjAw
RTg5QjExIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJFMjkgLyog
UlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDYXBh
YmlsaXRpZXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3NjIzOThF
NUI0MDAyNDk3RDMgLyogSW50ZXJuYWxzTWFwTGlrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5h
bHNNYXBMaWtlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzZDNTc4MjM5OEU1
QjUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
dGVybmFsc01hcExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3
OTIzOThFNUI2MDAyNDk3RDMgLyogSW50ZXJuYWxzTWFwTGlrZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxz
TWFwTGlrZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzZFQzA3MjM4Mzg3
NDYwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBJbnRlcm5hbHNTZXRMaWtlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEz
NkVDMDkyMzgzODdDMzAwMEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW50ZXJuYWxzU2V0TGlrZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzZFQzBBMjM4Mzg3QzQwMDBBREJDRSAvKiBJbnRlcm5h
bHNTZXRMaWtlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybmFsc1Nl
dExpa2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MDc0LDYgKzE4MDgxLDkg
QEAKIAkJCQk0MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8sCiAJCQkJ
NDE4MTNGOTExMzgxOEFENjAwNTdBQUE0IC8qIEludGVybmFscy5pZGwgKi8sCiAJCQkJRTE3OUYw
RDkxQjk3NzRGRTAwRUQwQTI3IC8qIEludGVybmFscy5tbSAqLywKKwkJCQk0MTM2QzU3ODIzOThF
NUI1MDAyNDk3RDMgLyogSW50ZXJuYWxzTWFwTGlrZS5jcHAgKi8sCisJCQkJNDEzNkM1NzYyMzk4
RTVCNDAwMjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuaCAqLywKKwkJCQk0MTM2QzU3OTIzOThF
NUI2MDAyNDk3RDMgLyogSW50ZXJuYWxzTWFwTGlrZS5pZGwgKi8sCiAJCQkJQTdCRjdFREMxNEM5
MTc1QTAwMTQ0ODlEIC8qIEludGVybmFsU2V0dGluZ3MuY3BwICovLAogCQkJCUE3QkY3RUREMTRD
OTE3NUEwMDE0NDg5RCAvKiBJbnRlcm5hbFNldHRpbmdzLmggKi8sCiAJCQkJQTdCRjdFREUxNEM5
MTc1QTAwMTQ0ODlEIC8qIEludGVybmFsU2V0dGluZ3MuaWRsICovLApAQCAtMTgxNDQsNiArMTgx
NTQsNyBAQAogCQkJCTUzRUQzRkRDMTY3QTg4RTcwMDY3NjJFNiAvKiBKU0ludGVybmFsU2V0dGlu
Z3NHZW5lcmF0ZWQuY3BwICovLAogCQkJCTUzRUQzRkREMTY3QTg4RTcwMDY3NjJFNiAvKiBKU0lu
dGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaCAqLywKIAkJCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURC
RDUgLyogSlNJbnRlcm5hbHNTZXRMaWtlLmNwcCAqLywKKwkJCQkyRDZGM0U5MjFDMUY4NTU1MDA2
MURCRDYgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLywKIAkJCQlBN0I0RUE2ODE0QzkzNDg0
MDBDOEY1QkYgLyogSlNNYWxsb2NTdGF0aXN0aWNzLmNwcCAqLywKIAkJCQlBN0I0RUE2OTE0Qzkz
NDg0MDBDOEY1QkYgLyogSlNNYWxsb2NTdGF0aXN0aWNzLmggKi8sCiAJCQkJQ0Q1MzkzRDExNzVF
MDE4NjAwQzA3MTIzIC8qIEpTTWVtb3J5SW5mby5jcHAgKi8sCkBAIC0yMjk4Miw4ICsyMjk5Myw2
IEBACiAJCQkJQTVDOTc0Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2EuaCAqLywK
IAkJCQlBNUM5NzREMDExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5tbSAqLywKIAkJ
CQkxQTQ4MzJCMjFBOTUzQkE2MDA4QjRERkUgLyogTG9jYWxpemVkU3RyaW5nc0NvY29hLm1tICov
LAotCQkJCUNENTM1NTU3MjM3NDhFNTkwMEE2MTNCRCAvKiBNZWRpYVRvb2xib3hTb2Z0TGluay5j
cHAgKi8sCi0JCQkJQ0Q1MzU1NTYyMzc0OEU1OTAwQTYxM0JEIC8qIE1lZGlhVG9vbGJveFNvZnRM
aW5rLmggKi8sCiAJCQkJQzUzRDM5MzMxQzk3ODkyRDAwN0YzQUU5IC8qIE1JTUVUeXBlUmVnaXN0
cnlDb2NvYS5tbSAqLywKIAkJCQlBMTlEOTM0OTFBQTExQjFFMDBCNDZDMjQgLyogTmV0d29ya0V4
dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaCAqLywKIAkJCQlBMTlEOTM0ODFBQTExQjFFMDBCNDZDMjQg
LyogTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIubW0gKi8sCkBAIC0zMzQxNiw2ICszMzQy
NSw3IEBACiAJCQkJQTc0MEI1QTcxNEM5MzVBRjAwQTc3RkE0IC8qIEpTSW50ZXJuYWxTZXR0aW5n
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1M0VEM0ZERTE2N0E4OEU3MDA2NzYyRTYgLyogSlNJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJENDE1MERF
MUMxRjg2OEMwMDBBM0JBMyAvKiBKU0ludGVybmFsc1NldExpa2UuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMkQ0MTUwREUxQzFGODY4QzAwMEEzQkE0IC8qIChudWxsKSBpbiBTb3VyY2VzICovLAog
CQkJCTUzOEVDOTMyMUY5OUI5RjcwMDREMjJBOCAvKiBKU01hbGxvY1N0YXRpc3RpY3MuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQ0Q1MzkzRDMxNzVFMDE4NjAwQzA3MTIzIC8qIEpTTWVtb3J5SW5m
by5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREY0QjczMjFFMDNEMDYwMDBFMjM1QTIgLyogSlNN
b2NrQ0RNRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzNDIzLDYgKzMzNDMzLDcgQEAK
IAkJCQkyRDQxNTBERTFDMUY4NjhDMDAwQTNCQTIgLyogSlNNb2NrUGFnZU92ZXJsYXkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTE0NkQzMjIxRjk5RDBFQzAwRDI5MTk2IC8qIEpTTW9ja1BheW1l
bnRBZGRyZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExMDRFQzVEMjIwQTNFNEIwMENCRjY3
QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0
MTM2QzU3QzIzOThFQ0NGMDAyNDk3RDMgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUExNDZEMzFBMUY5OUJDRjgwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29v
cmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFCQjg1QjgyMTU5QjNBNDAwNjdFMDdE
IC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzE1NjExNDIz
NEM3RkQ2MDA4RkM3QUIgLyogSlNNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMzM0MzcsNiArMzM0NDgsNyBAQAogCQkJCTQxNTdFQkZBMUUz
QUI2NzkwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMkQ2RjNFOTAxQzFFQ0IyNzAwNjFEQkQ0IC8qIE1vY2tQYWdlT3ZlcmxheS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDk3RjA0NzE5REQ0MTNDMDAxRUU5QzMgLyogTW9ja1Bh
Z2VPdmVybGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzZDNTdBMjM5OEU1QkUw
MDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExQUZF
REU3MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUExNDA2MThCMUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJldmlld0xvYWRl
ckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQTVGM0I4RjE2Q0M0QjM5MDA0NTVFQjAg
LyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NTWFwTGlrZS5oCmluZGV4IGNkNjJiN2Y5N2RiYzc3
NTAyYzg1ODliOWY2M2YzZGU0ODhjNDdkNDUuLmZkMzU5Zjc2MzlhZWQyYTI4YTQ3YzE1NTU5MmE2
YzNkZjUyOGIxZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
TWFwTGlrZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NTWFwTGlrZS5o
CkBAIC0zNCwxMSArMzQsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1KU0M6OkpTTWFw
JiBjcmVhdGVCYWNraW5nTWFwKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiwgSlNDOjpKU09iamVjdCYpOwotdm9pZCBpbml0aWFsaXplQmFja2luZ01hcChKU0M6OlZN
JiwgSlNDOjpKU09iamVjdCYsIEpTQzo6SlNNYXAmKTsKLUpTQzo6SlNWYWx1ZSBmb3J3YXJkQXR0
cmlidXRlR2V0dGVyVG9CYWNraW5nTWFwKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTT2Jq
ZWN0JiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7Ci1KU0M6OkpTVmFsdWUgZm9yd2FyZEZ1bmN0
aW9uQ2FsbFRvQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUm
LCBKU0M6OkpTT2JqZWN0JiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7Ci1KU0M6OkpTVmFsdWUg
Zm9yd2FyZEZvckVhY2hDYWxsVG9CYWNraW5nTWFwKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkNhbGxGcmFtZSYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpKU09iamVjdCYpOworV0VCQ09S
RV9FWFBPUlQgSlNDOjpKU01hcCYgY3JlYXRlQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0
JiwgSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmKTsKK1dFQkNPUkVfRVhQT1JU
IHZvaWQgaW5pdGlhbGl6ZUJhY2tpbmdNYXAoSlNDOjpWTSYsIEpTQzo6SlNPYmplY3QmLCBKU0M6
OkpTTWFwJik7CitXRUJDT1JFX0VYUE9SVCBKU0M6OkpTVmFsdWUgZm9yd2FyZEF0dHJpYnV0ZUdl
dHRlclRvQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU09iamVjdCYsIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYpOworV0VCQ09SRV9FWFBPUlQgSlNDOjpKU1ZhbHVlIGZvcndh
cmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2Fs
bEZyYW1lJiwgSlNDOjpKU09iamVjdCYsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOworV0VCQ09S
RV9FWFBPUlQgSlNDOjpKU1ZhbHVlIGZvcndhcmRGb3JFYWNoQ2FsbFRvQmFja2luZ01hcChKU0M6
OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBKU0RPTUdsb2JhbE9iamVjdCYsIEpT
Qzo6SlNPYmplY3QmKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiB2b2lkIHN5
bmNocm9uaXplQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmpl
Y3QmLCBXcmFwcGVyQ2xhc3MmKTsKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gSlND
OjpKU1ZhbHVlIGZvcndhcmRTaXplVG9NYXBMaWtlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBXcmFw
cGVyQ2xhc3MmKTsKQEAgLTQ5LDE0ICs0OSwxNCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVy
Q2xhc3M+IEpTQzo6SlNWYWx1ZSBmb3J3YXJkQ2xlYXJUb01hcExpa2UoSlNDOjpKU0dsb2JhbAog
dGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBDYWxsYmFjaz4gSlNDOjpK
U1ZhbHVlIGZvcndhcmRGb3JFYWNoVG9NYXBMaWtlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkNhbGxGcmFtZSYsIFdyYXBwZXJDbGFzcyYsIENhbGxiYWNrJiYpOwogdGVtcGxhdGU8dHlwZW5h
bWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gSlNDOjpKU1ZhbHVlIGZvcndhcmRH
ZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgV3JhcHBl
ckNsYXNzJiwgSXRlbVR5cGUmJik7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3MsIHR5
cGVuYW1lIEl0ZW1UeXBlPiBKU0M6OkpTVmFsdWUgZm9yd2FyZEhhc1RvTWFwTGlrZShKU0M6OkpT
R2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBXcmFwcGVyQ2xhc3MmLCBJdGVtVHlwZSYm
KTsKLXRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgSXRlbVR5cGU+IEpT
Qzo6SlNWYWx1ZSBmb3J3YXJkQWRkVG9NYXBMaWtlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkNhbGxGcmFtZSYsIFdyYXBwZXJDbGFzcyYsIEl0ZW1UeXBlJiYpOwordGVtcGxhdGU8dHlwZW5h
bWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gSlNDOjpKU1ZhbHVlIGZvcndhcmRT
ZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgV3JhcHBl
ckNsYXNzJiwgSXRlbVR5cGUmJik7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3MsIHR5
cGVuYW1lIEl0ZW1UeXBlPiBKU0M6OkpTVmFsdWUgZm9yd2FyZERlbGV0ZVRvTWFwTGlrZShKU0M6
OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBXcmFwcGVyQ2xhc3MmLCBJdGVtVHlw
ZSYmKTsKIAogY2xhc3MgRE9NTWFwTGlrZSBmaW5hbCA6IHB1YmxpYyBET01HdWFyZGVkPEpTQzo6
SlNNYXA+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPERPTU1hcExpa2U+IGNyZWF0ZShKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTTWFwJiBtYXApIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgRE9NTWFwTGlrZShnbG9iYWxPYmplY3QsIG1hcCkpOyB9CiAKLSAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlPiB2b2lkIHNldCh0eXBlbmFtZSBLZXk6
OlBhcmFtZXRlclR5cGUmJiwgdHlwZW5hbWUgVmFsdWU6OlBhcmFtZXRlclR5cGUmJik7CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZT4gdm9pZCBzZXQodHlwZW5hbWUg
S2V5OjpQYXJhbWV0ZXJUeXBlLCB0eXBlbmFtZSBWYWx1ZTo6UGFyYW1ldGVyVHlwZSk7CiAKICAg
ICBKU0M6OkpTTWFwKiBiYWNraW5nTWFwKCkgeyByZXR1cm4gZ3VhcmRlZCgpOyB9CiAKQEAgLTY0
LDcgKzY0LDcgQEAgcHJvdGVjdGVkOgogICAgIERPTU1hcExpa2UoSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCwgSlNDOjpKU01hcCYgbWFwKSA6IERPTUd1YXJkZWQ8SlNDOjpKU01hcD4o
Z2xvYmFsT2JqZWN0LCBtYXApIHsgfQogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBl
bmFtZSBWYWx1ZT4gaW5saW5lIHZvaWQgRE9NTWFwTGlrZTo6c2V0KHR5cGVuYW1lIEtleTo6UGFy
YW1ldGVyVHlwZSYmIGtleSwgdHlwZW5hbWUgVmFsdWU6OlBhcmFtZXRlclR5cGUmJiB2YWx1ZSkK
K3RlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWU+IGlubGluZSB2b2lkIERPTU1h
cExpa2U6OnNldCh0eXBlbmFtZSBLZXk6OlBhcmFtZXRlclR5cGUga2V5LCB0eXBlbmFtZSBWYWx1
ZTo6UGFyYW1ldGVyVHlwZSB2YWx1ZSkKIHsKICAgICBpZiAoaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm47CkBAIC0xMzQsMTAgKzEzNCwxMCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xh
c3MsIHR5cGVuYW1lIEl0ZW1UeXBlPiBpbmxpbmUgSlNDOjpKU1ZhbHVlIGZvcndhcmRIYQogICAg
IHJldHVybiBmb3J3YXJkRnVuY3Rpb25DYWxsVG9CYWNraW5nTWFwKGxleGljYWxHbG9iYWxPYmpl
Y3QsIGNhbGxGcmFtZSwgbWFwTGlrZSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCku
aGFzUHVibGljTmFtZSgpKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0
eXBlbmFtZSBJdGVtVHlwZT4gaW5saW5lIEpTQzo6SlNWYWx1ZSBmb3J3YXJkQWRkVG9NYXBMaWtl
KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1l
JiBjYWxsRnJhbWUsIFdyYXBwZXJDbGFzcyYgbWFwTGlrZSwgSXRlbVR5cGUmJiBpdGVtKQordGVt
cGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBW
YWx1ZVR5cGU+IGlubGluZSBKU0M6OkpTVmFsdWUgZm9yd2FyZFNldFRvTWFwTGlrZShKU0M6OkpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFtZSYgY2FsbEZy
YW1lLCBXcmFwcGVyQ2xhc3MmIG1hcExpa2UsIEtleVR5cGUmJiBrZXksIFZhbHVlVHlwZSYmIHZh
bHVlKQogewotICAgIGlmIChtYXBMaWtlLndyYXBwZWQoKS5hZGRGcm9tTWFwTGlrZShzdGQ6OmZv
cndhcmQ8SXRlbVR5cGU+KGl0ZW0pKSkKLSAgICAgICAgZm9yd2FyZEZ1bmN0aW9uQ2FsbFRvQmFj
a2luZ01hcChsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIG1hcExpa2UsIEpTQzo6Z2V0
Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLnByb3BlcnR5TmFtZXMtPmFkZCk7CisgICAgbWFwTGlr
ZS53cmFwcGVkKCkuc2V0RnJvbU1hcExpa2Uoc3RkOjpmb3J3YXJkPEtleVR5cGU+KGtleSksIHN0
ZDo6Zm9yd2FyZDxWYWx1ZVR5cGU+KHZhbHVlKSk7CisgICAgZm9yd2FyZEZ1bmN0aW9uQ2FsbFRv
QmFja2luZ01hcChsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIG1hcExpa2UsIEpTQzo6
Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLnByb3BlcnR5TmFtZXMtPnNldCk7CiAgICAgcmV0
dXJuICZtYXBMaWtlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0lETFBhcnNlci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURM
UGFyc2VyLnBtCmluZGV4IDEwMGM2ZDc3YjgzMTAyYWM1OWJmNGJlNzEwMDg1YmYwZDc0ZjAxMmEu
Ljk4NjVhMmVhZGJhNDlmYWNjMTVlZTQ2MDNlMGVmMjk0N2E4ZThiYTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCkBAIC0xOTk3LDE2ICsxOTk3LDIx
IEBAIHN1YiBwYXJzZU1hcExpa2VQcm9wZXJ0aWVzCiAKICAgICByZXR1cm4gJG1hcGxpa2UgaWYg
JGlzUmVhZE9ubHk7CiAKLSAgICBteSAkYWRkT3BlcmF0aW9uID0gSURMT3BlcmF0aW9uLT5uZXco
KTsKLSAgICAkYWRkT3BlcmF0aW9uLT5uYW1lKCJhZGQiKTsKLSAgICAkYWRkT3BlcmF0aW9uLT5p
c01hcExpa2UoMSk7Ci0gICAgbXkgJGFkZEFyZ3VtZW50ID0gSURMQXJndW1lbnQtPm5ldygpOwot
ICAgICRhZGRBcmd1bWVudC0+bmFtZSgia2V5Iik7Ci0gICAgJGFkZEFyZ3VtZW50LT50eXBlKCRt
YXBsaWtlLT5rZXlUeXBlKTsKLSAgICAkYWRkQXJndW1lbnQtPmV4dGVuZGVkQXR0cmlidXRlcygk
ZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKLSAgICBwdXNoKEB7JGFkZE9wZXJhdGlvbi0+YXJndW1l
bnRzfSwgKCRhZGRBcmd1bWVudCkpOwotICAgICRhZGRPcGVyYXRpb24tPmV4dGVuZGVkQXR0cmli
dXRlcygkbm90RW51bWVyYWJsZUV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgJGFkZE9wZXJh
dGlvbi0+dHlwZShtYWtlU2ltcGxlVHlwZSgiYW55IikpOworICAgIG15ICRzZXRPcGVyYXRpb24g
PSBJRExPcGVyYXRpb24tPm5ldygpOworICAgICRzZXRPcGVyYXRpb24tPm5hbWUoInNldCIpOwor
ICAgICRzZXRPcGVyYXRpb24tPmlzTWFwTGlrZSgxKTsKKyAgICBteSAkc2V0S2V5QXJndW1lbnQg
PSBJRExBcmd1bWVudC0+bmV3KCk7CisgICAgJHNldEtleUFyZ3VtZW50LT5uYW1lKCJrZXkiKTsK
KyAgICAkc2V0S2V5QXJndW1lbnQtPnR5cGUoJG1hcGxpa2UtPmtleVR5cGUpOworICAgICRzZXRL
ZXlBcmd1bWVudC0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwor
ICAgIG15ICRzZXRWYWx1ZUFyZ3VtZW50ID0gSURMQXJndW1lbnQtPm5ldygpOworICAgICRzZXRW
YWx1ZUFyZ3VtZW50LT5uYW1lKCJ2YWx1ZSIpOworICAgICRzZXRWYWx1ZUFyZ3VtZW50LT50eXBl
KCRtYXBsaWtlLT52YWx1ZVR5cGUpOworICAgICRzZXRWYWx1ZUFyZ3VtZW50LT5leHRlbmRlZEF0
dHJpYnV0ZXMoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgcHVzaChAeyRzZXRPcGVyYXRp
b24tPmFyZ3VtZW50c30sICgkc2V0S2V5QXJndW1lbnQpKTsKKyAgICBwdXNoKEB7JHNldE9wZXJh
dGlvbi0+YXJndW1lbnRzfSwgKCRzZXRWYWx1ZUFyZ3VtZW50KSk7CisgICAgJHNldE9wZXJhdGlv
bi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRub3RFbnVtZXJhYmxlRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
KTsKKyAgICAkc2V0T3BlcmF0aW9uLT50eXBlKG1ha2VTaW1wbGVUeXBlKCJhbnkiKSk7CiAKICAg
ICBteSAkY2xlYXJPcGVyYXRpb24gPSBJRExPcGVyYXRpb24tPm5ldygpOwogICAgICRjbGVhck9w
ZXJhdGlvbi0+bmFtZSgiY2xlYXIiKTsKQEAgLTIwMjUsNyArMjAzMCw3IEBAIHN1YiBwYXJzZU1h
cExpa2VQcm9wZXJ0aWVzCiAgICAgJGRlbGV0ZU9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
KCRub3RFbnVtZXJhYmxlRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKICAgICAkZGVsZXRlT3BlcmF0
aW9uLT50eXBlKG1ha2VTaW1wbGVUeXBlKCJhbnkiKSk7CiAKLSAgICBwdXNoKEB7JG1hcGxpa2Ut
Pm9wZXJhdGlvbnN9LCAkYWRkT3BlcmF0aW9uKTsKKyAgICBwdXNoKEB7JG1hcGxpa2UtPm9wZXJh
dGlvbnN9LCAkc2V0T3BlcmF0aW9uKTsKICAgICBwdXNoKEB7JG1hcGxpa2UtPm9wZXJhdGlvbnN9
LCAkY2xlYXJPcGVyYXRpb24pOwogICAgIHB1c2goQHskbWFwbGlrZS0+b3BlcmF0aW9uc30sICRk
ZWxldGVPcGVyYXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU01hcExpa2UuY3BwCmluZGV4IDM2ODdiODMyMzMwYjg2NzY3YWZhN2Nk
MGMyODU2ZTA5ZDAxYjY1ZGUuLmQxMGQwODhhMzE4ZTVkMzZmOWM4ODFhOGZlODQ0MDIxMmEyNmQ4
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U01hcExpa2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU01hcExpa2UuY3BwCkBAIC01Miw3ICs1Miw3IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkVudHJpZXMoSlNDOjpKU0dsb2Jh
CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVu
Y3Rpb25LZXlzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwogSlNDOjpF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uVmFs
dWVzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwogSlNDOjpFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uRm9yRWFjaChK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKLUpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZChKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblNldChKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkNsZWFyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6
OkNhbGxGcmFtZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzTWFwTGlr
ZVByb3RvdHlwZUZ1bmN0aW9uRGVsZXRlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxG
cmFtZSopOwogCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTTWFwTGlrZVByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgImtleXMiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25LZXlz
KSwgKGludHB0cl90KSAoMCkgfSB9LAogICAgIHsgInZhbHVlcyIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJh
d05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblZhbHVlcyksIChpbnRw
dHJfdCkgKDApIH0gfSwKICAgICB7ICJmb3JFYWNoIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQcm90b3R5cGVGdW5jdGlv
bkZvckVhY2gpLCAoaW50cHRyX3QpICgxKSB9IH0sCi0gICAgeyAiYWRkIiwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uQWRkKSwgKGlu
dHB0cl90KSAoMSkgfSB9LAorICAgIHsgInNldCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1
bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1
bmN0aW9uPihqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblNldCksIChpbnRwdHJfdCkgKDIpIH0g
fSwKICAgICB7ICJjbGVhciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9J
bnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01h
cExpa2VQcm90b3R5cGVGdW5jdGlvbkNsZWFyKSwgKGludHB0cl90KSAoMCkgfSB9LAogICAgIHsg
ImRlbGV0ZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQcm90
b3R5cGVGdW5jdGlvbkRlbGV0ZSksIChpbnRwdHJfdCkgKDEpIH0gfSwKIH07CkBAIC0zMDQsMjEg
KzMwNCwyMyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzTWFwTGlrZVByb3RvdHlw
ZUZ1bmN0aW9uRm9yRWFjaChKU0dsb2JhbE9iamVjdCogbAogICAgIHJldHVybiBJRExPcGVyYXRp
b248SlNNYXBMaWtlPjo6Y2FsbDxqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkZvckVhY2hCb2R5
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgImZvckVhY2giKTsKIH0KIAotc3Rh
dGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9u
QWRkQm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNh
bGxGcmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Q2xh
c3NQYXJhbWV0ZXIgY2FzdGVkVGhpcywgSlNDOjpUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQorc3Rh
dGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9u
U2V0Qm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNh
bGxGcmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Q2xh
c3NQYXJhbWV0ZXIgY2FzdGVkVGhpcywgSlNDOjpUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQogewog
ICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBVTlVTRURfUEFSQU0o
Y2FsbEZyYW1lKTsKICAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAgaWYgKFVOTElL
RUxZKGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMSkpCisgICAgaWYgKFVOTElLRUxZKGNh
bGxGcmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMikpCiAgICAgICAgIHJldHVybiB0aHJvd1ZNRXJy
b3IobGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgY3JlYXRlTm90RW5vdWdoQXJndW1l
bnRzRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCkpOwogICAgIGF1dG8ga2V5ID0gY29udmVydDxJ
RExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFy
Z3VtZW50KDApKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRK
U1ZhbHVlKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUzxJRExBbnk+KGZvcndh
cmRBZGRUb01hcExpa2UoKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICpjYXN0ZWRU
aGlzLCBXVEZNb3ZlKGtleSkpKSk7CisgICAgYXV0byB2YWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3Ry
aW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgx
KSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgp
KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlM8SURMQW55Pihmb3J3YXJkU2V0VG9N
YXBMaWtlKCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAqY2FzdGVkVGhpcywgV1RG
TW92ZShrZXkpLCBXVEZNb3ZlKHZhbHVlKSkpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCitFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uU2V0KEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKLSAgICByZXR1
cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNhbGw8anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rp
b25BZGRCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgImFkZCIpOworICAg
IHJldHVybiBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Y2FsbDxqc01hcExpa2VQcm90b3R5cGVG
dW5jdGlvblNldEJvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAic2V0Iik7
CiB9CiAKIHN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExpa2VQcm90b3R5
cGVGdW5jdGlvbkNsZWFyQm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU0M6OkNhbGxGcmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNN
YXBMaWtlPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcywgSlNDOjpUaHJvd1Njb3BlJiB0aHJv
d1Njb3BlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGY2MjNhZmRkMDll
ZTRhZTE5NmNhMmI4ZWNhMTAwMWI0ZTBhNTY0MzkuLjI2NjYyYTg3MWFmODM4OGJhYjhiMWMyNjVh
OGY0MmY5NzE3YTM5YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTEw
OCw2ICsxMDgsNyBAQAogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRl
ICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgorI2luY2x1ZGUgIklu
dGVybmFsc01hcExpa2UuaCIKICNpbmNsdWRlICJJbnRlcm5hbHNTZXRMaWtlLmgiCiAjaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgpAQCAt
NTI5Myw2ICs1Mjk0LDExIEBAIGludCBJbnRlcm5hbHM6OnByb2Nlc3NJZGVudGlmaWVyKCkgY29u
c3QKICAgICByZXR1cm4gZ2V0Q3VycmVudFByb2Nlc3NJRCgpOwogfQogCitSZWY8SW50ZXJuYWxz
TWFwTGlrZT4gSW50ZXJuYWxzOjpjcmVhdGVJbnRlcm5hbHNNYXBMaWtlKCkKK3sKKyAgICByZXR1
cm4gSW50ZXJuYWxzTWFwTGlrZTo6Y3JlYXRlKCk7Cit9CisKIFJlZjxJbnRlcm5hbHNTZXRMaWtl
PiBJbnRlcm5hbHM6OmNyZWF0ZUludGVybmFsc1NldExpa2UoKQogewogICAgIHJldHVybiBJbnRl
cm5hbHNTZXRMaWtlOjpjcmVhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4
IDc4YjliMjg4N2Y1M2JjNTBiYWI3NjM0N2UxODY0N2U1ZGY4ZmIyZmEuLjkzYTQ1YmQ5OGFlMzg4
N2UzYWFjNjJmNzE2ZmY5YTBhZmRiYTIwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aApAQCAtNzUsNiArNzUsNyBAQCBjbGFzcyBIVE1MU2VsZWN0RWxlbWVudDsKIGNsYXNzIEhUTUxW
aWRlb0VsZW1lbnQ7CiBjbGFzcyBJbWFnZURhdGE7CiBjbGFzcyBJbnNwZWN0b3JTdHViRnJvbnRl
bmQ7CitjbGFzcyBJbnRlcm5hbHNNYXBMaWtlOwogY2xhc3MgSW50ZXJuYWxTZXR0aW5nczsKIGNs
YXNzIEludGVybmFsc1NldExpa2U7CiBjbGFzcyBNYWxsb2NTdGF0aXN0aWNzOwpAQCAtOTA3LDYg
KzkwOCw3IEBAIHB1YmxpYzoKICAgICBpbnQgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdDsKIAog
ICAgIFJlZjxJbnRlcm5hbHNTZXRMaWtlPiBjcmVhdGVJbnRlcm5hbHNTZXRMaWtlKCk7CisgICAg
UmVmPEludGVybmFsc01hcExpa2U+IGNyZWF0ZUludGVybmFsc01hcExpa2UoKTsKIAogcHJpdmF0
ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAppbmRleCA5MzZjMmE3YWIwMzNiNmNmZmMzNmQ4MDgyZDBkZWY4ZDg0MWEw
ZDEyLi41OWE2OTJmNzkwYjE5Y2M4MzczZGQyNmQwZWM4MjE5ODY3ZTcxYTRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC04MTYsNSArODE2LDYgQEAgZW51bSBDb21wb3Np
dGluZ1BvbGljeSB7CiAKICAgICBbQ29uZGl0aW9uYWw9UElDVFVSRV9JTl9QSUNUVVJFX0FQSV0g
dm9pZCBzZXRQaWN0dXJlSW5QaWN0dXJlQVBJVGVzdEVuYWJsZWQoSFRNTFZpZGVvRWxlbWVudCB2
aWRlb0VsZW1lbnQsIGJvb2xlYW4gZW5hYmxlZCk7CiAKKyAgICBJbnRlcm5hbHNNYXBMaWtlIGNy
ZWF0ZUludGVybmFsc01hcExpa2UoKTsKICAgICBJbnRlcm5hbHNTZXRMaWtlIGNyZWF0ZUludGVy
bmFsc1NldExpa2UoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsc01hcExpa2UuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBM
aWtlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NTA4MzM1MTFmMWVhMDU5OGQ1NjJiZDk4MWUwZDI5Mzk5NmRj
MGNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNN
YXBMaWtlLmNwcApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkludGVybmFsc01hcExpa2UuaCIKKworI2luY2x1ZGUgIklETFR5cGVz
LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0lu
dGVybmFsc01hcExpa2U6OkludGVybmFsc01hcExpa2UoKQoreworICAgIG1fdmFsdWVzLmFkZCgi
aW5pdCIsIDApOworfQorCit2b2lkIEludGVybmFsc01hcExpa2U6OnN5bmNocm9uaXplQmFja2lu
Z01hcChSZWY8RE9NTWFwTGlrZT4mJiBtYXBMaWtlKQoreworICAgIG1fbWFwTGlrZSA9IFdURk1v
dmUobWFwTGlrZSk7CisgICAgZm9yIChhdXRvJiBrZXlWYWx1ZSA6IG1fdmFsdWVzKQorICAgICAg
ICBtX21hcExpa2UtPnNldDxJRExET01TdHJpbmcsIElETFVuc2lnbmVkTG9uZz4oa2V5VmFsdWUu
a2V5LCBrZXlWYWx1ZS52YWx1ZSk7Cit9CisKK3ZvaWQgSW50ZXJuYWxzTWFwTGlrZTo6c2V0RnJv
bU1hcExpa2UoU3RyaW5nJiYga2V5LCB1bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICBtX3ZhbHVlcy5z
ZXQoV1RGTW92ZShrZXkpLCB2YWx1ZSk7Cit9CisKK3ZvaWQgSW50ZXJuYWxzTWFwTGlrZTo6Y2xl
YXIoKQoreworICAgIG1fdmFsdWVzLmNsZWFyKCk7Cit9CisKK2Jvb2wgSW50ZXJuYWxzTWFwTGlr
ZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYga2V5KQoreworICAgIHJldHVybiBtX3ZhbHVlcy5yZW1v
dmUoa2V5KTsKK30KKworVmVjdG9yPFN0cmluZz4gSW50ZXJuYWxzTWFwTGlrZTo6aW5zcGVjdEtl
eXMoKSBjb25zdAoreworICAgIGF1dG8gcmVzdWx0ID0gY29weVRvVmVjdG9yKG1fdmFsdWVzLmtl
eXMoKSk7CisgICAgc3RkOjpzb3J0KHJlc3VsdC5iZWdpbigpLCByZXN1bHQuZW5kKCksIFdURjo6
Y29kZVBvaW50Q29tcGFyZUxlc3NUaGFuKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitWZWN0
b3I8dW5zaWduZWQ+IEludGVybmFsc01hcExpa2U6Omluc3BlY3RWYWx1ZXMoKSBjb25zdAorewor
ICAgIGF1dG8gcmVzdWx0ID0gY29weVRvVmVjdG9yKG1fdmFsdWVzLnZhbHVlcygpKTsKKyAgICBz
dGQ6OnNvcnQocmVzdWx0LmJlZ2luKCksIHJlc3VsdC5lbmQoKSwgc3RkOjpsZXNzPHVuc2lnbmVk
PigpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxYTgx
YWQ0MGM0MTQxNmRhZmFiNTBhNjhiNzI4YmQzYjMwNDFjZjQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaApAQCAtMCwwICsxLDU2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTRE9NTWFwTGlrZS5oIgorI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvZm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEludGVybmFsc01hcExpa2UgOiBwdWJsaWMgUmVmQ291
bnRlZDxJbnRlcm5hbHNNYXBMaWtlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxJbnRlcm5h
bHNNYXBMaWtlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEludGVybmFsc01hcExp
a2UpOyB9CisKKyAgICB2b2lkIHNldEZyb21NYXBMaWtlKFN0cmluZyYmLCB1bnNpZ25lZCk7Cisg
ICAgdm9pZCBjbGVhcigpOworICAgIGJvb2wgcmVtb3ZlKGNvbnN0IFN0cmluZyYpOworCisgICAg
dm9pZCBzeW5jaHJvbml6ZUJhY2tpbmdNYXAoUmVmPERPTU1hcExpa2U+JiYpOworICAgIERPTU1h
cExpa2UqIGJhY2tpbmdNYXAoKSB7IHJldHVybiBtX21hcExpa2UuZ2V0KCk7IH0KKworICAgIFZl
Y3RvcjxTdHJpbmc+IGluc3BlY3RLZXlzKCkgY29uc3Q7CisgICAgVmVjdG9yPHVuc2lnbmVkPiBp
bnNwZWN0VmFsdWVzKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgSW50ZXJuYWxzTWFwTGlrZSgp
OworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV92YWx1ZXM7CisgICAgUmVmUHRyPERP
TU1hcExpa2U+IG1fbWFwTGlrZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3OTc0
YTFlYWU3MmQ3ZjhiNjM0NzNjYmNlNGM0NTU3YzcyYmVhMTUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsCkBAIC0wLDAgKzEsMzcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK1sKKyAgICBOb0ludGVyZmFjZU9iamVjdCwKKyAgICBFeHBvcnRNYWNybz1XRUJD
T1JFX1RFU1RTVVBQT1JUX0VYUE9SVCwKKyAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwKK10gaW50
ZXJmYWNlIEludGVybmFsc01hcExpa2UKK3sKKyAgICBtYXBsaWtlPERPTVN0cmluZywgdW5zaWdu
ZWQgbG9uZz47CisKKyAgICBzZXF1ZW5jZTxET01TdHJpbmc+IGluc3BlY3RLZXlzKCk7CisgICAg
c2VxdWVuY2U8dW5zaWduZWQgbG9uZz4gaW5zcGVjdFZhbHVlcygpOworfTsKKyAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAz
MzgyYWM4MWUzNWYwYTk0MzVkOGM2ZmMwMWYzOTViMzFkMTAxMTA3Li5iMTE0MjdiNGUyZmY1MTgz
ZWUzMTc0NjQ0Y2EzNzYyNDc4OWExMWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMTIt
MDUgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIG1hcGxpa2Ug
c2hvdWxkIGRlZmluZSBhIHNldCBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNDg3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICoganMvZG9tL21hcGxpa2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBqcy9kb20vbWFwbGlrZS5odG1sOiBBZGRlZC4KKwogMjAxOS0xMi0wNCAgeW91
ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IFdlYklETCBzZXQtbGlrZSBmb3JFYWNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20v
bWFwbGlrZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vbWFwbGlrZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTRhNDA5NTUyNTU2ZTEzODFiNjA1ZmViMDY5MzRjMjc5OTFjNGQw
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBCYXNpYyBhZGQvcmVtb3ZlL2NsZWFyIGZ1bmN0
aW9uYWxpdHkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9qcy9kb20vbWFwbGlrZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNmU1MmRiY2Ix
OGY4ODA5NzI5ZDQxOWRhNDVmYzExMjllNmNiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vbWFwbGlrZS5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Ij4KK3Rlc3QoKCkgPT4geworICAgIGFzc2VydF90
cnVlKCEhd2luZG93LmludGVybmFscyk7CisgICAgY29uc3QgbWFwbGlrZSA9IGludGVybmFscy5j
cmVhdGVJbnRlcm5hbHNNYXBMaWtlKCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtl
Lmluc3BlY3RLZXlzKCksIFsiaW5pdCJdLCAiaW5pdCBrZXlzIik7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhtYXBsaWtlLmluc3BlY3RWYWx1ZXMoKSwgWzBdLCAiaW5pdCB2YWx1ZXMiKTsKKyAg
ICBhc3NlcnRfdHJ1ZShtYXBsaWtlLmhhcygiaW5pdCIpKTsKKworICAgIG1hcGxpa2Uuc2V0KCJ0
ZXN0QSIsIDEpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0S2V5cygp
LCBbImluaXQiLCAidGVzdEEiXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtlLmlu
c3BlY3RWYWx1ZXMoKSwgWzAsIDFdKTsKKyAgICBtYXBsaWtlLnNldCgidGVzdEEiLCAyKTsKKyAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgWyJpbml0IiwgInRl
c3RBIl0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0VmFsdWVzKCks
IFswLCAyXSk7CisgICAgbWFwbGlrZS5zZXQoInRlc3RCIiwgMyk7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhtYXBsaWtlLmluc3BlY3RLZXlzKCksIFsiaW5pdCIsICJ0ZXN0QSIsICJ0ZXN0QiJd
KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVlcygpLCBbMCwg
MiwgM10pOworCisgICAgbWFwbGlrZS5kZWxldGUoImluaXQiKTsKKyAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgWyJ0ZXN0QSIsICJ0ZXN0QiJdKTsKKyAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVlcygpLCBbMiwgM10pOworCisg
ICAgYXNzZXJ0X2VxdWFscyhtYXBsaWtlLnNpemUsIDIsICJzaXplIik7CisKKyAgICBsZXQgZW50
cmllc1Rlc3QgPSAiIjsKKyAgICBmb3IgKGxldCBlbnRyeSBvZiBtYXBsaWtlLmVudHJpZXMoKSkg
eworICAgICAgICBlbnRyaWVzVGVzdCArPSBlbnRyeTsKKyAgICAgICAgZW50cmllc1Rlc3QgKz0g
JyAnOworICAgIH0KKyAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNUZXN0LCAidGVzdEEsMiB0ZXN0
QiwzICIsICJlbnRyaWVzIHRlc3QiKTsKKworICAgIGxldCB2YWx1ZXNUZXN0ID0gIiI7CisgICAg
Zm9yIChsZXQgZW50cnkgb2YgbWFwbGlrZS52YWx1ZXMoKSkgeworICAgICAgICB2YWx1ZXNUZXN0
ICs9IGVudHJ5OworICAgIH0KKyAgICBhc3NlcnRfZXF1YWxzKHZhbHVlc1Rlc3QsICIyMyIsICJ2
YWx1ZXMgdGVzdCIpOworCisgICAgbGV0IGtleXNUZXN0ID0gIiI7CisgICAgZm9yIChsZXQgZW50
cnkgb2YgbWFwbGlrZS5rZXlzKCkpIHsKKyAgICAgICAga2V5c1Rlc3QgKz0gZW50cnk7CisgICAg
fQorICAgIGFzc2VydF9lcXVhbHMoa2V5c1Rlc3QsICJ0ZXN0QXRlc3RCIiwgImtleXMgdGVzdCIp
OworCisgICAgbGV0IGZvckVhY2hUZXN0ID0gIiI7CisgICAgbWFwbGlrZS5mb3JFYWNoKCh2YWx1
ZSwga2V5LCBvYmplY3QpID0+IHsKKyAgICAgICAgZm9yRWFjaFRlc3QgKz0ga2V5OworICAgICAg
ICBmb3JFYWNoVGVzdCArPSAnLCc7CisgICAgICAgIGZvckVhY2hUZXN0ICs9IHZhbHVlOworICAg
ICAgICBmb3JFYWNoVGVzdCArPSAnICc7CisgICAgICAgIGFzc2VydF9lcXVhbHMob2JqZWN0LCBt
YXBsaWtlKTsKKyAgICB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZvckVhY2hUZXN0LCAidGVzdEEs
MiB0ZXN0QiwzICIsICJmb3JFYWNoIHRlc3QiKTsKKworICAgIG1hcGxpa2UuY2xlYXIoKTsKKyAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgW10pOworICAgIGFz
c2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0VmFsdWVzKCksIFtdKTsKK30sICJCYXNp
YyBhZGQvcmVtb3ZlL2NsZWFyIGZ1bmN0aW9uYWxpdHkiKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384885</attachid>
            <date>2019-12-05 00:54:37 -0800</date>
            <delta_ts>2019-12-05 02:18:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204877-20191205095434.patch</filename>
            <type>text/plain</type>
            <size>40668</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg1NGIzNWMwNDIxOTg3
OGQwMzEyYjljMTBhYmI2MjY0NDcxMGY4ZC4uMTJkMzllMGE4NzlkM2M0OGE0NDNlNTkyMGU1MGI1
MmFiZjAwYzM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE5LTEyLTA1ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBtYXBsaWtlIHNob3VsZCBk
ZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBtYXBsaWtlIGltcGxlbWVudGF0aW9uIHdhcyBkZWZpbmluZyBhbiBhZGQgbWV0
aG9kIGluc3RlYWQgb2YgYSBzZXQgbWV0aG9kLgorICAgICAgICBVcGRhdGUgaW1wbGVtZW50YXRp
b24gdG8gZGVmaW5lIGFuZCB1c2UgYSBzZXQgbWV0aG9kLgorICAgICAgICBBZGQgYW4gSW50ZXJu
YWxzTWFwTGlrZSB0byBhbGxvdyB0ZXN0aW5nLgorCisgICAgICAgIFRlc3Q6IGpzL2RvbS9tYXBs
aWtlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGln
aGxpZ2h0TWFwOjphZGRGcm9tTWFwTGlrZSk6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0TWFwLmg6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFw
LmlkbDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmg6CisgICAgICAgIChXZWJDb3JlOjpET01N
YXBMaWtlOjpzZXQpOgorICAgICAgICAoV2ViQ29yZTo6Zm9yd2FyZFNldFRvTWFwTGlrZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChwYXJzZU1h
cExpa2VQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNN
YXBMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9u
U2V0Qm9keSk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25B
ZGQpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxzTWFwTGlrZSk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcDogQWRkZWQuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzTWFwTGlrZS5pZGw6IEFkZGVkLgorCiAyMDE5LTEyLTA0ICB5b3Vlbm4gZmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2ViSURMIHNldC1s
aWtlIGZvckVhY2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNGJmYjIzN2ZhODMxMjdkNGYyZjQy
MjIxY2U1NDBlNTJhOWVkOTUxMy4uZDRiOGUxYjU5ZGRmZWU1MDFkZDcwOGIyMWMwNmFmNWU5YjY3
M2Q2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2MDUsNiArMTYwNSw3IEBAIHNldChXZWJD
b3JlVGVzdFN1cHBvcnRfSURMX0ZJTEVTCiAgICAgdGVzdGluZy9HQ09ic2VydmF0aW9uLmlkbAog
ICAgIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKICAgICB0ZXN0aW5nL0ludGVybmFscy5p
ZGwKKyAgICB0ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsCiAgICAgdGVzdGluZy9JbnRlcm5h
bHNTZXRMaWtlLmlkbAogICAgIHRlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGwKICAgICB0ZXN0
aW5nL01lbW9yeUluZm8uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAppbmRleCAzN2U1NDVkMmViYTk0YjVkOWFjZjM1ZGNmMWZhNTBkYzVkYWVh
MDQ0Li4wMGJkYjk1YmQ1NWIwNTNkMGMxYTA3MTQzOTVlOTg2ZGU2ZDFmMjZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTEwOTIsNiAr
MTA5Miw3IEBAICQoUFJPSkVDVF9ESVIpL3N2Zy94bGlua2F0dHJzLmluCiAkKFBST0pFQ1RfRElS
KS90ZXN0aW5nL0dDT2JzZXJ2YXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL0ludGVybmFscy5pZGwKKyQo
UFJPSkVDVF9ESVIpL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5pZGwKICQoUFJPSkVDVF9ESVIp
L3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTWFs
bG9jU3RhdGlzdGljcy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTWVtb3J5SW5mby5pZGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5k
ZXggZTE0Y2QxZjRmYTg3NWMwMTcyMWVhYjZiODA0MTZmZGU0ZDA0ODBlNC4uNmY1MTkwNGIyOTNl
ZGQyNTFiMTAzMDVjZmU5ODllYjcxNGUzOTJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTY5MSwxMCArNjkxLDYgQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHbG9iYWxFdmVudEhhbmRs
ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
bG9iYWxFdmVudEhhbmRsZXJzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR2xvYmFsUGVyZm9ybWFuY2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dsb2JhbFBlcmZvcm1hbmNlLmgKLSQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmNwcAotJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGlnaHRNYXAu
aAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGln
aHRSYW5nZUdyb3VwLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIaWdobGlnaHRSYW5nZUdyb3VwLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFsbENvbGxlY3Rpb24uY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxBbGxDb2xsZWN0aW9uLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFuY2hvckVs
ZW1lbnQuY3BwCkBAIC04NzMsNiArODY5LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0YVR5cGUu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hkck1l
dGFkYXRhVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hpZ2hsaWdodE1hcC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91cC5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91cC5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3RvcnkuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3Rvcnku
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIa2RmUGFy
YW1zLmNwcApAQCAtOTM5LDYgKzkzOSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0ludGVybmFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTSW50ZXJuYWxzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFsc1NldExpa2UuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFsc1NldExp
a2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJbnRl
cnNlY3Rpb25PYnNlcnZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDgy
ZDhkYzNlYmMzYjlmMzg3MmU0MGE0Mzc5MTRmNGZmNDZiZWJhMDAuLjBiZmFiZWNhNDMxZWUxMDZj
ZDhkN2EyN2Y0YmRmNjA2MmRiMDE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMTA4Miw2ICsxMDgyLDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkv
dGVzdGluZy9HQ09ic2VydmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBc
CisgICAgJChXZWJDb3JlKS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsIFwKICAgICAkKFdl
YkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVz
dGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01lbW9y
eUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0
L0hpZ2hsaWdodE1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdo
bGlnaHRNYXAuY3BwCmluZGV4IDc5Mzc0MDk2M2QwMDA3NjVkNzUwOTIzZjY3YmI3M2Y5NzljYTEy
OTkuLmIyNDhlZjdkMmU1NTU3OTRkNGQ3M2NkOTdhOTczN2FmOGI0ZjEzMDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodE1hcC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmNwcApAQCAtMzQs
MTAgKzM0LDggQEAgdm9pZCBIaWdobGlnaHRNYXA6OmFkZEhpZ2hsaWdodEdyb3VwKFN0cmluZyYg
Y3NzU3R5bGUsIEhpZ2hsaWdodFJhbmdlR3JvdXAgJmdyb3UKICAgICBVTlVTRURfUEFSQU0oZ3Jv
dXApOwogfQogCi1ib29sIEhpZ2hsaWdodE1hcDo6YWRkRnJvbU1hcExpa2UoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKK3ZvaWQgSGlnaGxpZ2h0TWFwOjpzZXRGcm9tTWFwTGlrZShTdHJpbmcmJiwgUmVm
PEhpZ2hsaWdodFJhbmdlR3JvdXA+JiYpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlKTsKLSAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgSGlnaGxpZ2h0TWFwOjpyZW1vdmUoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKQEAgLTY3LDEyICs2NSw0IEBAIGJvb2wgSGlnaGxpZ2h0TWFwOjpkZWxldGVO
YW1lZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LUV4Y2VwdGlvbk9yPHZvaWQ+IEhpZ2hsaWdodE1hcDo6c2V0KGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKG5h
bWUpOwotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7Ci0gICAgCi0gICAgcmV0dXJuIHsgfTsKLX0K
LQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxp
Z2h0TWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAu
aAppbmRleCBlY2RhYzA4YTJjZjg2ZDk4OTdjMzFjNjdjZjY1MzU0ZDUzZWEwMDE3Li42NDFlMjRi
ZDgwZDc1ZmIyNTExODYyOWIyMmMwYzQ0Y2Y1Njk4MTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaApAQCAtNDksOSArNDksNyBAQCBwdWJs
aWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0TmFtZWRJdGVtKGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpOwogICAgIGJvb2wgZGVsZXRlTmFt
ZWRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIAotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEhpZ2hsaWdodFJhbmdlR3JvdXAmIHZh
bHVlKTsKLSAgICAKLSAgICBib29sIGFkZEZyb21NYXBMaWtlKGNvbnN0IFN0cmluZyYgdmFsdWUp
OworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIFJlZjxIaWdobGlnaHRSYW5nZUdy
b3VwPiYmKTsKICAgICB2b2lkIGNsZWFyKCkgeyB9OwogICAgIGJvb2wgcmVtb3ZlKGNvbnN0IFN0
cmluZyYgdmFsdWUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0TWFwLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxp
Z2h0L0hpZ2hsaWdodE1hcC5pZGwKaW5kZXggYTkwNzkxOTQ4ZjgwOTViZjdlYmJkZDhmNDBlMmFj
MTI3MmEzYjFiNy4uMzZlNWI1NTcyMTZlYzc1Y2UzNWY3OTE0MTFhMTg4MzUzNzJkNmViZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaWRs
CkBAIC0zMCw1ICszMCw0IEBACiBdIGludGVyZmFjZSBIaWdobGlnaHRNYXAgewogICAgIG1hcGxp
a2U8RE9NU3RyaW5nLCBIaWdobGlnaHRSYW5nZUdyb3VwPjsKICAgICBbQ0VSZWFjdGlvbnMsIE1h
eVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHN0eWxlLCBIaWdobGlnaHRS
YW5nZUdyb3VwIGdyb3VwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0KERPTVN0
cmluZyBzdHlsZSwgSGlnaGxpZ2h0UmFuZ2VHcm91cCBncm91cCk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGY4MzZiZmQ1
ODQ4YjRjYTk0NmYyMzkwMmRiZWY5OThlMTc4ZTM2ZGIuLjhkMDdkYjFmOGQzMGNmYzA2YTJmYTc4
YThmMGY5NzI3NjM5OTRjZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNDgsNiArMTA0OCw4IEBACiAJCTQxMjlDOUFGMUY1
OUNGNUIwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjlDOTgwMUY1ODYxQzcwMDlENzQwMyAvKiBS
ZWFkYWJsZVN0cmVhbVNpbmsuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTJERTRCODIxOTI4NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0
aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTJE
RTRCNjIxOTI4NUJGMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi87IH07CiAJCTQx
MzNDQjhCMjBGODBFOTkwMEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzM0NCODky
MEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi87IH07
CisJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzZDNTc4MjM5OEU1
QjUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsKKwkJNDEzNkM1N0MyMzk4
RUNDRjAwMjQ5N0QzIC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDYgLyog
SlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsKIAkJNDEzNkVDMEMyMzgzODg3MDAwMEFEQkNF
IC8qIEludGVybmFsc1NldExpa2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEzNkVDMDkyMzgzODdDMzAwMEFEQkNFIC8qIEludGVybmFsc1NldExp
a2UuY3BwICovOyB9OwogCQk0MTM2RUMwRDIzODM4QTQ3MDAwQURCQ0UgLyogSW50ZXJuYWxzU2V0
TGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEz
NkVDMEEyMzgzODdDNDAwMEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuaCAqLzsgfTsKIAkJNDEz
ODBDMjcxRjM0MzZBQzAwMTU1RkRBIC8qIERPTUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4MEMyNTFGMzQzNjlBMDAxNTVGREEgLyogRE9N
Q2FjaGUuaCAqLzsgfTsKQEAgLTY3MzEsNiArNjczMyw3IEBACiAJCTJENkYzRThDMUMxRUNCMUMw
MDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1v
Y2tQYWdlT3ZlcmxheS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTky
MUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tQYWdlT3ZlcmxheS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENSAvKiBKU0ludGVybmFs
c1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRl
cm5hbHNTZXRMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ2RjNFOTIx
QzFGODU1NTAwNjFEQkQ2IC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFsc01hcExpa2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MzFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2NrUGFn
ZU92ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2NrUGFnZU92
ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3MEJBMTIxODA3NERERjAw
MDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTJENzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcyOTMsNiArNzI5Niw5IEBACiAJCTQxMzFG
M0I1MUY5NTVCQzUwMDU5OTk1QSAvKiBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVkaW9T
b3VyY2VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRp
YVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDYXBhYmlsaXRpZXMuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MTM2QzU3NjIzOThFNUI0MDAyNDk3RDMgLyogSW50ZXJuYWxzTWFw
TGlrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5hbHNNYXBMaWtlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxMzZDNTc4MjM5OEU1QjUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBM
aWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludGVybmFsc01hcExpa2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3OTIzOThFNUI2MDAyNDk3RDMgLyogSW50ZXJu
YWxzTWFwTGlrZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxzTWFwTGlrZS5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxMzZFQzA3MjM4Mzg3NDYwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRM
aWtlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbHNTZXRMaWtlLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzNkVDMDkyMzgzODdDMzAwMEFEQkNFIC8qIElu
dGVybmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SW50ZXJuYWxzU2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzZF
QzBBMjM4Mzg3QzQwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybmFsc1NldExpa2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE4MDc3LDYgKzE4MDgzLDkgQEAKIAkJCQlBN0JGN0VEQzE0QzkxNzVBMDAx
NDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5jcHAgKi8sCiAJCQkJQTdCRjdFREQxNEM5MTc1QTAw
MTQ0ODlEIC8qIEludGVybmFsU2V0dGluZ3MuaCAqLywKIAkJCQlBN0JGN0VERTE0QzkxNzVBMDAx
NDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5pZGwgKi8sCisJCQkJNDEzNkM1NzgyMzk4RTVCNTAw
MjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuY3BwICovLAorCQkJCTQxMzZDNTc2MjM5OEU1QjQw
MDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmggKi8sCisJCQkJNDEzNkM1NzkyMzk4RTVCNjAw
MjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuaWRsICovLAogCQkJCTQxMzZFQzA5MjM4Mzg3QzMw
MDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmNwcCAqLywKIAkJCQk0MTM2RUMwQTIzODM4N0M0
MDAwQURCQ0UgLyogSW50ZXJuYWxzU2V0TGlrZS5oICovLAogCQkJCTQxMzZFQzA3MjM4Mzg3NDYw
MDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmlkbCAqLywKQEAgLTE4MTQzLDYgKzE4MTUyLDcg
QEAKIAkJCQlBN0I0RUE3OTE0QzkzNDg0MDBDOEY1QkYgLyogSlNJbnRlcm5hbFNldHRpbmdzLmgg
Ki8sCiAJCQkJNTNFRDNGREMxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5jcHAgKi8sCiAJCQkJNTNFRDNGREQxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJu
YWxTZXR0aW5nc0dlbmVyYXRlZC5oICovLAorCQkJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENiAv
KiBKU0ludGVybmFsc01hcExpa2UuY3BwICovLAogCQkJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJE
NSAvKiBKU0ludGVybmFsc1NldExpa2UuY3BwICovLAogCQkJCUE3QjRFQTY4MTRDOTM0ODQwMEM4
RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuY3BwICovLAogCQkJCUE3QjRFQTY5MTRDOTM0ODQw
MEM4RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuaCAqLywKQEAgLTIyOTgyLDggKzIyOTkyLDYg
QEAKIAkJCQlBNUM5NzRDRjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovLAog
CQkJCUE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLm1tICovLAogCQkJ
CTFBNDgzMkIyMUE5NTNCQTYwMDhCNERGRSAvKiBMb2NhbGl6ZWRTdHJpbmdzQ29jb2EubW0gKi8s
Ci0JCQkJQ0Q1MzU1NTcyMzc0OEU1OTAwQTYxM0JEIC8qIE1lZGlhVG9vbGJveFNvZnRMaW5rLmNw
cCAqLywKLQkJCQlDRDUzNTU1NjIzNzQ4RTU5MDBBNjEzQkQgLyogTWVkaWFUb29sYm94U29mdExp
bmsuaCAqLywKIAkJCQlDNTNEMzkzMzFDOTc4OTJEMDA3RjNBRTkgLyogTUlNRVR5cGVSZWdpc3Ry
eUNvY29hLm1tICovLAogCQkJCUExOUQ5MzQ5MUFBMTFCMUUwMEI0NkMyNCAvKiBOZXR3b3JrRXh0
ZW5zaW9uQ29udGVudEZpbHRlci5oICovLAogCQkJCUExOUQ5MzQ4MUFBMTFCMUUwMEI0NkMyNCAv
KiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5tbSAqLywKQEAgLTMzNDA1LDE2ICszMzQx
MywxOSBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJMkQ0MTUwREUxQzFGODY4QzAwMEEz
QkE0IC8qIChudWxsKSBpbiBTb3VyY2VzICovLAogCQkJCTUxNzE0RUFDMUNGNjU5NTEwMDQ3MjND
NCAvKiBHQ09ic2VydmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0RBNkQ5MTM3MzRF
NkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3OUYwREEx
Qjk3NzRGRTAwRUQwQTI3IC8qIEludGVybmFscy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE3QkY3
RURGMTRDOTE3NUEwMDE0NDg5RCAvKiBJbnRlcm5hbFNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCURFNUY4NjExMUZBMjM5REEwMDZEQjYzQSAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJh
dGVkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAvKiBJ
bnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMzZFQzBDMjM4Mzg4NzAw
MDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFNUY4
NjEyMUZBMjM5RTcwMDZEQjYzQSAvKiBKU0dDT2JzZXJ2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE3NDBCNUE3MTRDOTM1QUYwMEE3N0ZBNCAvKiBKU0ludGVybmFsU2V0dGlu
Z3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTNFRDNGREUxNjdBODhFNzAwNjc2MkU2IC8qIEpT
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTM2QzU3
QzIzOThFQ0NGMDAyNDk3RDMgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTJENDE1MERFMUMxRjg2OEMwMDBBM0JBMyAvKiBKU0ludGVybmFsc1NldExpa2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM5MzIxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTWFsbG9j
U3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDUzOTNEMzE3NUUwMTg2MDBDMDcx
MjMgLyogSlNNZW1vcnlJbmZvLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTU1hcExpa2UuaAppbmRleCBjZDYyYjdmOTdkYmM3NzUwMmM4NTg5YjlmNjNm
M2RlNDg4YzQ3ZDQ1Li5lOGY1ZTAzZjY3YTQyOWQ4ODEwZDhkYzdmODUyZGMyNmY1ZTBiZmE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaApAQCAtMzQsMTEgKzM0
LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotSlNDOjpKU01hcCYgY3JlYXRlQmFja2lu
Z01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNP
YmplY3QmKTsKLXZvaWQgaW5pdGlhbGl6ZUJhY2tpbmdNYXAoSlNDOjpWTSYsIEpTQzo6SlNPYmpl
Y3QmLCBKU0M6OkpTTWFwJik7Ci1KU0M6OkpTVmFsdWUgZm9yd2FyZEF0dHJpYnV0ZUdldHRlclRv
QmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU09iamVjdCYsIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYpOwotSlNDOjpKU1ZhbHVlIGZvcndhcmRGdW5jdGlvbkNhbGxUb0JhY2tp
bmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNDOjpKU09iamVj
dCYsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwotSlNDOjpKU1ZhbHVlIGZvcndhcmRGb3JFYWNo
Q2FsbFRvQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBK
U0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6
SlNNYXAmIGNyZWF0ZUJhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNHbG9i
YWxPYmplY3QmLCBKU0M6OkpTT2JqZWN0Jik7CitXRUJDT1JFX0VYUE9SVCB2b2lkIGluaXRpYWxp
emVCYWNraW5nTWFwKEpTQzo6Vk0mLCBKU0M6OkpTT2JqZWN0JiwgSlNDOjpKU01hcCYpOworV0VC
Q09SRV9FWFBPUlQgSlNDOjpKU1ZhbHVlIGZvcndhcmRBdHRyaWJ1dGVHZXR0ZXJUb0JhY2tpbmdN
YXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmLCBjb25zdCBKU0M6OklkZW50
aWZpZXImKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6SlNWYWx1ZSBmb3J3YXJkRnVuY3Rpb25DYWxs
VG9CYWNraW5nTWFwKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIEpTQzo6
SlNPYmplY3QmLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6
SlNWYWx1ZSBmb3J3YXJkRm9yRWFjaENhbGxUb0JhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVj
dCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6OkpTT2JqZWN0Jik7
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gdm9pZCBzeW5jaHJvbml6ZUJhY2tp
bmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgV3JhcHBlckNs
YXNzJik7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IEpTQzo6SlNWYWx1ZSBmb3J3
YXJkU2l6ZVRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgV3JhcHBlckNsYXNzJik7CkBA
IC00OSwxNCArNDksMTQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBKU0M6OkpT
VmFsdWUgZm9yd2FyZENsZWFyVG9NYXBMaWtlKEpTQzo6SlNHbG9iYWwKIHRlbXBsYXRlPHR5cGVu
YW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgQ2FsbGJhY2s+IEpTQzo6SlNWYWx1ZSBmb3J3YXJk
Rm9yRWFjaFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBX
cmFwcGVyQ2xhc3MmLCBDYWxsYmFjayYmKTsKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFz
cywgdHlwZW5hbWUgSXRlbVR5cGU+IEpTQzo6SlNWYWx1ZSBmb3J3YXJkR2V0VG9NYXBMaWtlKEpT
Qzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIFdyYXBwZXJDbGFzcyYsIEl0ZW1U
eXBlJiYpOwogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlw
ZT4gSlNDOjpKU1ZhbHVlIGZvcndhcmRIYXNUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYs
IEpTQzo6Q2FsbEZyYW1lJiwgV3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJik7Ci10ZW1wbGF0ZTx0
eXBlbmFtZSBXcmFwcGVyQ2xhc3MsIHR5cGVuYW1lIEl0ZW1UeXBlPiBKU0M6OkpTVmFsdWUgZm9y
d2FyZEFkZFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBX
cmFwcGVyQ2xhc3MmLCBJdGVtVHlwZSYmKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFz
cywgdHlwZW5hbWUgSXRlbVR5cGUsIHR5cGVuYW1lIFZhbHVlVHlwZT4gSlNDOjpKU1ZhbHVlIGZv
cndhcmRTZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwg
V3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJiwgVmFsdWVUeXBlJiYpOwogdGVtcGxhdGU8dHlwZW5h
bWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gSlNDOjpKU1ZhbHVlIGZvcndhcmRE
ZWxldGVUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgV3Jh
cHBlckNsYXNzJiwgSXRlbVR5cGUmJik7CiAKIGNsYXNzIERPTU1hcExpa2UgZmluYWwgOiBwdWJs
aWMgRE9NR3VhcmRlZDxKU0M6OkpTTWFwPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxET01N
YXBMaWtlPiBjcmVhdGUoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU01h
cCYgbWFwKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTU1hcExpa2UoZ2xvYmFsT2JqZWN0LCBt
YXApKTsgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZT4gdm9p
ZCBzZXQodHlwZW5hbWUgS2V5OjpQYXJhbWV0ZXJUeXBlJiYsIHR5cGVuYW1lIFZhbHVlOjpQYXJh
bWV0ZXJUeXBlJiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWU+
IHZvaWQgc2V0KHR5cGVuYW1lIEtleTo6UGFyYW1ldGVyVHlwZSwgdHlwZW5hbWUgVmFsdWU6OlBh
cmFtZXRlclR5cGUpOwogCiAgICAgSlNDOjpKU01hcCogYmFja2luZ01hcCgpIHsgcmV0dXJuIGd1
YXJkZWQoKTsgfQogCkBAIC02NCw3ICs2NCw3IEBAIHByb3RlY3RlZDoKICAgICBET01NYXBMaWtl
KEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNYXAmIG1hcCkgOiBET01H
dWFyZGVkPEpTQzo6SlNNYXA+KGdsb2JhbE9iamVjdCwgbWFwKSB7IH0KIH07CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWU+IGlubGluZSB2b2lkIERPTU1hcExpa2U6OnNl
dCh0eXBlbmFtZSBLZXk6OlBhcmFtZXRlclR5cGUmJiBrZXksIHR5cGVuYW1lIFZhbHVlOjpQYXJh
bWV0ZXJUeXBlJiYgdmFsdWUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVl
PiBpbmxpbmUgdm9pZCBET01NYXBMaWtlOjpzZXQodHlwZW5hbWUgS2V5OjpQYXJhbWV0ZXJUeXBl
IGtleSwgdHlwZW5hbWUgVmFsdWU6OlBhcmFtZXRlclR5cGUgdmFsdWUpCiB7CiAgICAgaWYgKGlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTM0LDEwICsxMzQsMTAgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gaW5saW5lIEpTQzo6SlNW
YWx1ZSBmb3J3YXJkSGEKICAgICByZXR1cm4gZm9yd2FyZEZ1bmN0aW9uQ2FsbFRvQmFja2luZ01h
cChsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIG1hcExpa2UsIHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLmhhc1B1YmxpY05hbWUoKSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVu
YW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgSXRlbVR5cGU+IGlubGluZSBKU0M6OkpTVmFsdWUg
Zm9yd2FyZEFkZFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU0M6OkNhbGxGcmFtZSYgY2FsbEZyYW1lLCBXcmFwcGVyQ2xhc3MmIG1hcExpa2UsIEl0
ZW1UeXBlJiYgaXRlbSkKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgVmFsdWVUeXBlPiBpbmxpbmUgSlNDOjpKU1ZhbHVlIGZvcndhcmRT
ZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlND
OjpDYWxsRnJhbWUmIGNhbGxGcmFtZSwgV3JhcHBlckNsYXNzJiBtYXBMaWtlLCBLZXlUeXBlJiYg
a2V5LCBWYWx1ZVR5cGUmJiB2YWx1ZSkKIHsKLSAgICBpZiAobWFwTGlrZS53cmFwcGVkKCkuYWRk
RnJvbU1hcExpa2Uoc3RkOjpmb3J3YXJkPEl0ZW1UeXBlPihpdGVtKSkpCi0gICAgICAgIGZvcndh
cmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1l
LCBtYXBMaWtlLCBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KS5wcm9wZXJ0eU5hbWVz
LT5hZGQpOworICAgIG1hcExpa2Uud3JhcHBlZCgpLnNldEZyb21NYXBMaWtlKHN0ZDo6Zm9yd2Fy
ZDxLZXlUeXBlPihrZXkpLCBzdGQ6OmZvcndhcmQ8VmFsdWVUeXBlPih2YWx1ZSkpOworICAgIGZv
cndhcmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZy
YW1lLCBtYXBMaWtlLCBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KS5wcm9wZXJ0eU5h
bWVzLT5zZXQpOwogICAgIHJldHVybiAmbWFwTGlrZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQppbmRleCAxMDBjNmQ3N2I4MzEwMmFjNTliZjRi
ZTcxMDA4NWJmMGQ3NGYwMTJhLi45ODY1YTJlYWRiYTQ5ZmFjYzE1ZWU0NjAzZTBlZjI5NDdhOGU4
YmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNl
ci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQpA
QCAtMTk5NywxNiArMTk5NywyMSBAQCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogCiAgICAg
cmV0dXJuICRtYXBsaWtlIGlmICRpc1JlYWRPbmx5OwogCi0gICAgbXkgJGFkZE9wZXJhdGlvbiA9
IElETE9wZXJhdGlvbi0+bmV3KCk7Ci0gICAgJGFkZE9wZXJhdGlvbi0+bmFtZSgiYWRkIik7Ci0g
ICAgJGFkZE9wZXJhdGlvbi0+aXNNYXBMaWtlKDEpOwotICAgIG15ICRhZGRBcmd1bWVudCA9IElE
TEFyZ3VtZW50LT5uZXcoKTsKLSAgICAkYWRkQXJndW1lbnQtPm5hbWUoImtleSIpOwotICAgICRh
ZGRBcmd1bWVudC0+dHlwZSgkbWFwbGlrZS0+a2V5VHlwZSk7Ci0gICAgJGFkZEFyZ3VtZW50LT5l
eHRlbmRlZEF0dHJpYnV0ZXMoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgcHVzaChAeyRh
ZGRPcGVyYXRpb24tPmFyZ3VtZW50c30sICgkYWRkQXJndW1lbnQpKTsKLSAgICAkYWRkT3BlcmF0
aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMoJG5vdEVudW1lcmFibGVFeHRlbmRlZEF0dHJpYnV0ZUxp
c3QpOwotICAgICRhZGRPcGVyYXRpb24tPnR5cGUobWFrZVNpbXBsZVR5cGUoImFueSIpKTsKKyAg
ICBteSAkc2V0T3BlcmF0aW9uID0gSURMT3BlcmF0aW9uLT5uZXcoKTsKKyAgICAkc2V0T3BlcmF0
aW9uLT5uYW1lKCJzZXQiKTsKKyAgICAkc2V0T3BlcmF0aW9uLT5pc01hcExpa2UoMSk7CisgICAg
bXkgJHNldEtleUFyZ3VtZW50ID0gSURMQXJndW1lbnQtPm5ldygpOworICAgICRzZXRLZXlBcmd1
bWVudC0+bmFtZSgia2V5Iik7CisgICAgJHNldEtleUFyZ3VtZW50LT50eXBlKCRtYXBsaWtlLT5r
ZXlUeXBlKTsKKyAgICAkc2V0S2V5QXJndW1lbnQtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICBteSAkc2V0VmFsdWVBcmd1bWVudCA9IElETEFyZ3VtZW50
LT5uZXcoKTsKKyAgICAkc2V0VmFsdWVBcmd1bWVudC0+bmFtZSgidmFsdWUiKTsKKyAgICAkc2V0
VmFsdWVBcmd1bWVudC0+dHlwZSgkbWFwbGlrZS0+dmFsdWVUeXBlKTsKKyAgICAkc2V0VmFsdWVB
cmd1bWVudC0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOworICAg
IHB1c2goQHskc2V0T3BlcmF0aW9uLT5hcmd1bWVudHN9LCAoJHNldEtleUFyZ3VtZW50KSk7Cisg
ICAgcHVzaChAeyRzZXRPcGVyYXRpb24tPmFyZ3VtZW50c30sICgkc2V0VmFsdWVBcmd1bWVudCkp
OworICAgICRzZXRPcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJsZUV4
dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgJHNldE9wZXJhdGlvbi0+dHlwZShtYWtlU2ltcGxl
VHlwZSgiYW55IikpOwogCiAgICAgbXkgJGNsZWFyT3BlcmF0aW9uID0gSURMT3BlcmF0aW9uLT5u
ZXcoKTsKICAgICAkY2xlYXJPcGVyYXRpb24tPm5hbWUoImNsZWFyIik7CkBAIC0yMDI1LDcgKzIw
MzAsNyBAQCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogICAgICRkZWxldGVPcGVyYXRpb24t
PmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJsZUV4dGVuZGVkQXR0cmlidXRlTGlzdCk7
CiAgICAgJGRlbGV0ZU9wZXJhdGlvbi0+dHlwZShtYWtlU2ltcGxlVHlwZSgiYW55IikpOwogCi0g
ICAgcHVzaChAeyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJGFkZE9wZXJhdGlvbik7CisgICAgcHVz
aChAeyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJHNldE9wZXJhdGlvbik7CiAgICAgcHVzaChAeyRt
YXBsaWtlLT5vcGVyYXRpb25zfSwgJGNsZWFyT3BlcmF0aW9uKTsKICAgICBwdXNoKEB7JG1hcGxp
a2UtPm9wZXJhdGlvbnN9LCAkZGVsZXRlT3BlcmF0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAppbmRleCAzNjg3
YjgzMjMzMGI4Njc2N2FmYTdjZDBjMjg1NmUwOWQwMWI2NWRlLi5kMTBkMDg4YTMxOGU1ZDM2Zjlj
ODgxYThmZTg0NDAyMTJhMjZkODAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcApAQCAtNTIsNyArNTIsNyBAQCBKU0M6
OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25F
bnRyaWVzKEpTQzo6SlNHbG9iYQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
TWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uS2V5cyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpD
YWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQ
cm90b3R5cGVGdW5jdGlvblZhbHVlcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJh
bWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5
cGVGdW5jdGlvbkZvckVhY2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7
Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVu
Y3Rpb25BZGQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CitKU0M6OkVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25TZXQo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhcihKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkRlbGV0ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIApAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBj
b25zdCBIYXNoVGFibGVWYWx1ZSBKU01hcExpa2VQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAg
ICB7ICJrZXlzIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzTWFwTGlrZVBy
b3RvdHlwZUZ1bmN0aW9uS2V5cyksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJ2YWx1ZXMi
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVu
Y3Rpb25WYWx1ZXMpLCAoaW50cHRyX3QpICgwKSB9IH0sCiAgICAgeyAiZm9yRWFjaCIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBM
aWtlUHJvdG90eXBlRnVuY3Rpb25Gb3JFYWNoKSwgKGludHB0cl90KSAoMSkgfSB9LAotICAgIHsg
ImFkZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQcm90b3R5
cGVGdW5jdGlvbkFkZCksIChpbnRwdHJfdCkgKDEpIH0gfSwKKyAgICB7ICJzZXQiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25TZXQp
LCAoaW50cHRyX3QpICgyKSB9IH0sCiAgICAgeyAiY2xlYXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdO
YXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhciksIChpbnRwdHJf
dCkgKDApIH0gfSwKICAgICB7ICJkZWxldGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5j
dGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5j
dGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25EZWxldGUpLCAoaW50cHRyX3QpICgxKSB9
IH0sCiB9OwpAQCAtMzA0LDIxICszMDQsMjMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkZvckVhY2goSlNHbG9iYWxPYmplY3QqIGwKICAg
ICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNhbGw8anNNYXBMaWtlUHJvdG90eXBl
RnVuY3Rpb25Gb3JFYWNoQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJm
b3JFYWNoIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExp
a2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0
aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dTY29w
ZSYgdGhyb3dTY29wZSkKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExp
a2VQcm90b3R5cGVGdW5jdGlvblNldEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0
aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dTY29w
ZSYgdGhyb3dTY29wZSkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7
CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2Nv
cGUpOwotICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQor
ICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDIpKQogICAgICAg
ICByZXR1cm4gdGhyb3dWTUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGNy
ZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpKTsKICAgICBh
dXRvIGtleSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2Fs
bEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHRvSlM8SURMQW55Pihmb3J3YXJkQWRkVG9NYXBMaWtlKCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAq
Y2FsbEZyYW1lLCAqY2FzdGVkVGhpcywgV1RGTW92ZShrZXkpKSkpOworICAgIGF1dG8gdmFsdWUg
PSBjb252ZXJ0PElETERPTVN0cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+
dW5jaGVja2VkQXJndW1lbnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTPElE
TEFueT4oZm9yd2FyZFNldFRvTWFwTGlrZSgqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFt
ZSwgKmNhc3RlZFRoaXMsIFdURk1vdmUoa2V5KSwgV1RGTW92ZSh2YWx1ZSkpKSk7CiB9CiAKLUVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25BZGQo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KQorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlv
blNldChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCiB7Ci0gICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU01hcExpa2U+OjpjYWxsPGpzTWFw
TGlrZVByb3RvdHlwZUZ1bmN0aW9uQWRkQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxs
RnJhbWUsICJhZGQiKTsKKyAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNhbGw8
anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25TZXRCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
KmNhbGxGcmFtZSwgInNldCIpOwogfQogCiBzdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFs
dWUganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhckJvZHkoSlNDOjpKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5h
bWUgSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpT
Qzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAppbmRleCBmNjIzYWZkZDA5ZWU0YWUxOTZjYTJiOGVjYTEwMDFiNGUwYTU2NDM5Li4yNjY2MmE4
NzFhZjgzODhiYWI4YjFjMjY1YThmNDJmOTcxN2EzOWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCkBAIC0xMDgsNiArMTA4LDcgQEAKICNpbmNsdWRlICJJbnN0cnVtZW50aW5n
QWdlbnRzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0dGlu
Z3MuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHNNYXBMaWtlLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxz
U2V0TGlrZS5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
SlNJbWFnZURhdGEuaCIKQEAgLTUyOTMsNiArNTI5NCwxMSBAQCBpbnQgSW50ZXJuYWxzOjpwcm9j
ZXNzSWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIGdldEN1cnJlbnRQcm9jZXNzSUQoKTsK
IH0KIAorUmVmPEludGVybmFsc01hcExpa2U+IEludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxzTWFw
TGlrZSgpCit7CisgICAgcmV0dXJuIEludGVybmFsc01hcExpa2U6OmNyZWF0ZSgpOworfQorCiBS
ZWY8SW50ZXJuYWxzU2V0TGlrZT4gSW50ZXJuYWxzOjpjcmVhdGVJbnRlcm5hbHNTZXRMaWtlKCkK
IHsKICAgICByZXR1cm4gSW50ZXJuYWxzU2V0TGlrZTo6Y3JlYXRlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAppbmRleCA3OGI5YjI4ODdmNTNiYzUwYmFiNzYzNDdlMTg2NDdlNWRmOGZi
MmZhLi45M2E0NWJkOThhZTM4ODdlM2FhYzYyZjcxNmZmOWEwYWZkYmEyMDFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTc1LDYgKzc1LDcgQEAgY2xhc3MgSFRNTFNlbGVjdEVs
ZW1lbnQ7CiBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3Mg
SW5zcGVjdG9yU3R1YkZyb250ZW5kOworY2xhc3MgSW50ZXJuYWxzTWFwTGlrZTsKIGNsYXNzIElu
dGVybmFsU2V0dGluZ3M7CiBjbGFzcyBJbnRlcm5hbHNTZXRMaWtlOwogY2xhc3MgTWFsbG9jU3Rh
dGlzdGljczsKQEAgLTkwNyw2ICs5MDgsNyBAQCBwdWJsaWM6CiAgICAgaW50IHByb2Nlc3NJZGVu
dGlmaWVyKCkgY29uc3Q7CiAKICAgICBSZWY8SW50ZXJuYWxzU2V0TGlrZT4gY3JlYXRlSW50ZXJu
YWxzU2V0TGlrZSgpOworICAgIFJlZjxJbnRlcm5hbHNNYXBMaWtlPiBjcmVhdGVJbnRlcm5hbHNN
YXBMaWtlKCk7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggOTM2YzJhN2FiMDMzYjZjZmZj
MzZkODA4MmQwZGVmOGQ4NDFhMGQxMi4uNTlhNjkyZjc5MGIxOWNjODM3M2RkMjZkMGVjODIxOTg2
N2U3MWE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtODE2LDUgKzgx
Niw2IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogCiAgICAgW0NvbmRpdGlvbmFsPVBJQ1RV
UkVfSU5fUElDVFVSRV9BUEldIHZvaWQgc2V0UGljdHVyZUluUGljdHVyZUFQSVRlc3RFbmFibGVk
KEhUTUxWaWRlb0VsZW1lbnQgdmlkZW9FbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwogCisgICAg
SW50ZXJuYWxzTWFwTGlrZSBjcmVhdGVJbnRlcm5hbHNNYXBMaWtlKCk7CiAgICAgSW50ZXJuYWxz
U2V0TGlrZSBjcmVhdGVJbnRlcm5hbHNTZXRMaWtlKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUwODMzNTExZjFlYTA1OThk
NTYyYmQ5ODFlMGQyOTM5OTZkYzBjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHNNYXBMaWtlLmgiCisK
KyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitJbnRlcm5hbHNNYXBMaWtlOjpJbnRlcm5hbHNNYXBMaWtlKCkKK3sK
KyAgICBtX3ZhbHVlcy5hZGQoImluaXQiLCAwKTsKK30KKwordm9pZCBJbnRlcm5hbHNNYXBMaWtl
OjpzeW5jaHJvbml6ZUJhY2tpbmdNYXAoUmVmPERPTU1hcExpa2U+JiYgbWFwTGlrZSkKK3sKKyAg
ICBtX21hcExpa2UgPSBXVEZNb3ZlKG1hcExpa2UpOworICAgIGZvciAoYXV0byYga2V5VmFsdWUg
OiBtX3ZhbHVlcykKKyAgICAgICAgbV9tYXBMaWtlLT5zZXQ8SURMRE9NU3RyaW5nLCBJRExVbnNp
Z25lZExvbmc+KGtleVZhbHVlLmtleSwga2V5VmFsdWUudmFsdWUpOworfQorCit2b2lkIEludGVy
bmFsc01hcExpa2U6OnNldEZyb21NYXBMaWtlKFN0cmluZyYmIGtleSwgdW5zaWduZWQgdmFsdWUp
Cit7CisgICAgbV92YWx1ZXMuc2V0KFdURk1vdmUoa2V5KSwgdmFsdWUpOworfQorCit2b2lkIElu
dGVybmFsc01hcExpa2U6OmNsZWFyKCkKK3sKKyAgICBtX3ZhbHVlcy5jbGVhcigpOworfQorCiti
b29sIEludGVybmFsc01hcExpa2U6OnJlbW92ZShjb25zdCBTdHJpbmcmIGtleSkKK3sKKyAgICBy
ZXR1cm4gbV92YWx1ZXMucmVtb3ZlKGtleSk7Cit9CisKK1ZlY3RvcjxTdHJpbmc+IEludGVybmFs
c01hcExpa2U6Omluc3BlY3RLZXlzKCkgY29uc3QKK3sKKyAgICBhdXRvIHJlc3VsdCA9IGNvcHlU
b1ZlY3RvcihtX3ZhbHVlcy5rZXlzKCkpOworICAgIHN0ZDo6c29ydChyZXN1bHQuYmVnaW4oKSwg
cmVzdWx0LmVuZCgpLCBXVEY6OmNvZGVQb2ludENvbXBhcmVMZXNzVGhhbik7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworVmVjdG9yPHVuc2lnbmVkPiBJbnRlcm5hbHNNYXBMaWtlOjppbnNwZWN0
VmFsdWVzKCkgY29uc3QKK3sKKyAgICBhdXRvIHJlc3VsdCA9IGNvcHlUb1ZlY3RvcihtX3ZhbHVl
cy52YWx1ZXMoKSk7CisgICAgc3RkOjpzb3J0KHJlc3VsdC5iZWdpbigpLCByZXN1bHQuZW5kKCks
IHN0ZDo6bGVzczx1bnNpZ25lZD4oKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHNNYXBMaWtlLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsc01hcExpa2Uu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMWE4MWFkNDBjNDE0MTZkYWZhYjUwYTY4YjcyOGJkM2IzMDQxY2Y0Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtl
LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJKU0RP
TU1hcExpa2UuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL2ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnRlcm5hbHNNYXBM
aWtlIDogcHVibGljIFJlZkNvdW50ZWQ8SW50ZXJuYWxzTWFwTGlrZT4geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8SW50ZXJuYWxzTWFwTGlrZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBJbnRlcm5hbHNNYXBMaWtlKTsgfQorCisgICAgdm9pZCBzZXRGcm9tTWFwTGlrZShTdHJp
bmcmJiwgdW5zaWduZWQpOworICAgIHZvaWQgY2xlYXIoKTsKKyAgICBib29sIHJlbW92ZShjb25z
dCBTdHJpbmcmKTsKKworICAgIHZvaWQgc3luY2hyb25pemVCYWNraW5nTWFwKFJlZjxET01NYXBM
aWtlPiYmKTsKKyAgICBET01NYXBMaWtlKiBiYWNraW5nTWFwKCkgeyByZXR1cm4gbV9tYXBMaWtl
LmdldCgpOyB9CisKKyAgICBWZWN0b3I8U3RyaW5nPiBpbnNwZWN0S2V5cygpIGNvbnN0OworICAg
IFZlY3Rvcjx1bnNpZ25lZD4gaW5zcGVjdFZhbHVlcygpIGNvbnN0OworCitwcml2YXRlOgorICAg
IEludGVybmFsc01hcExpa2UoKTsKKyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fdmFs
dWVzOworICAgIFJlZlB0cjxET01NYXBMaWtlPiBtX21hcExpa2U7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
c01hcExpa2UuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45Nzk3NGExZWFlNzJkN2Y4YjYzNDczY2JjZTRjNDU1N2M3MmJlYTE1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtl
LmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgTm9JbnRlcmZhY2VPYmplY3QsCisg
ICAgRXhwb3J0TWFjcm89V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQsCisgICAgU2tpcFZUYWJs
ZVZhbGlkYXRpb24sCitdIGludGVyZmFjZSBJbnRlcm5hbHNNYXBMaWtlCit7CisgICAgbWFwbGlr
ZTxET01TdHJpbmcsIHVuc2lnbmVkIGxvbmc+OworCisgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBp
bnNwZWN0S2V5cygpOworICAgIHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IGluc3BlY3RWYWx1ZXMo
KTsKK307CisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMzM4MmFjODFlMzVmMGE5NDM1ZDhjNmZjMDFmMzk1YjMxZDEwMTEw
Ny4uYjExNDI3YjRlMmZmNTE4M2VlMzE3NDY0NGNhMzc2MjQ3ODlhMTFhZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDE5LTEyLTA1ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KworICAgICAgICBtYXBsaWtlIHNob3VsZCBkZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGpzL2RvbS9tYXBsaWtlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL21hcGxpa2UuaHRtbDogQWRkZWQu
CisKIDIwMTktMTItMDQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBXZWJJREwgc2V0LWxpa2UgZm9yRWFjaApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL21hcGxpa2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMv
ZG9tL21hcGxpa2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0YTQwOTU1MjU1NmUxMzgxYjYw
NWZlYjA2OTM0YzI3OTkxYzRkMDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9k
b20vbWFwbGlrZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQmFzaWMgYWRk
L3JlbW92ZS9jbGVhciBmdW5jdGlvbmFsaXR5IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9q
cy9kb20vbWFwbGlrZS5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL21hcGxpa2UuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jMzZlNTJkYmNiMThmODgwOTcyOWQ0MTlkYTQ1ZmMxMTI5ZTZjYjY1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL21hcGxpa2UuaHRtbApAQCAtMCwwICsxLDY3
IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCI+Cit0ZXN0KCgp
ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZSghIXdpbmRvdy5pbnRlcm5hbHMpOworICAgIGNvbnN0IG1h
cGxpa2UgPSBpbnRlcm5hbHMuY3JlYXRlSW50ZXJuYWxzTWFwTGlrZSgpOworICAgIGFzc2VydF9h
cnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0S2V5cygpLCBbImluaXQiXSwgImluaXQga2V5cyIp
OworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0VmFsdWVzKCksIFswXSwg
ImluaXQgdmFsdWVzIik7CisgICAgYXNzZXJ0X3RydWUobWFwbGlrZS5oYXMoImluaXQiKSk7CisK
KyAgICBtYXBsaWtlLnNldCgidGVzdEEiLCAxKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1h
cGxpa2UuaW5zcGVjdEtleXMoKSwgWyJpbml0IiwgInRlc3RBIl0pOworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0VmFsdWVzKCksIFswLCAxXSk7CisgICAgbWFwbGlrZS5z
ZXQoInRlc3RBIiwgMik7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtlLmluc3BlY3RL
ZXlzKCksIFsiaW5pdCIsICJ0ZXN0QSJdKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxp
a2UuaW5zcGVjdFZhbHVlcygpLCBbMCwgMl0pOworICAgIG1hcGxpa2Uuc2V0KCJ0ZXN0QiIsIDMp
OworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0S2V5cygpLCBbImluaXQi
LCAidGVzdEEiLCAidGVzdEIiXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtlLmlu
c3BlY3RWYWx1ZXMoKSwgWzAsIDIsIDNdKTsKKworICAgIG1hcGxpa2UuZGVsZXRlKCJpbml0Iik7
CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtlLmluc3BlY3RLZXlzKCksIFsidGVzdEEi
LCAidGVzdEIiXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtlLmluc3BlY3RWYWx1
ZXMoKSwgWzIsIDNdKTsKKworICAgIGFzc2VydF9lcXVhbHMobWFwbGlrZS5zaXplLCAyLCAic2l6
ZSIpOworCisgICAgbGV0IGVudHJpZXNUZXN0ID0gIiI7CisgICAgZm9yIChsZXQgZW50cnkgb2Yg
bWFwbGlrZS5lbnRyaWVzKCkpIHsKKyAgICAgICAgZW50cmllc1Rlc3QgKz0gZW50cnk7CisgICAg
ICAgIGVudHJpZXNUZXN0ICs9ICcgJzsKKyAgICB9CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
VGVzdCwgInRlc3RBLDIgdGVzdEIsMyAiLCAiZW50cmllcyB0ZXN0Iik7CisKKyAgICBsZXQgdmFs
dWVzVGVzdCA9ICIiOworICAgIGZvciAobGV0IGVudHJ5IG9mIG1hcGxpa2UudmFsdWVzKCkpIHsK
KyAgICAgICAgdmFsdWVzVGVzdCArPSBlbnRyeTsKKyAgICB9CisgICAgYXNzZXJ0X2VxdWFscyh2
YWx1ZXNUZXN0LCAiMjMiLCAidmFsdWVzIHRlc3QiKTsKKworICAgIGxldCBrZXlzVGVzdCA9ICIi
OworICAgIGZvciAobGV0IGVudHJ5IG9mIG1hcGxpa2Uua2V5cygpKSB7CisgICAgICAgIGtleXNU
ZXN0ICs9IGVudHJ5OworICAgIH0KKyAgICBhc3NlcnRfZXF1YWxzKGtleXNUZXN0LCAidGVzdEF0
ZXN0QiIsICJrZXlzIHRlc3QiKTsKKworICAgIGxldCBmb3JFYWNoVGVzdCA9ICIiOworICAgIG1h
cGxpa2UuZm9yRWFjaCgodmFsdWUsIGtleSwgb2JqZWN0KSA9PiB7CisgICAgICAgIGZvckVhY2hU
ZXN0ICs9IGtleTsKKyAgICAgICAgZm9yRWFjaFRlc3QgKz0gJywnOworICAgICAgICBmb3JFYWNo
VGVzdCArPSB2YWx1ZTsKKyAgICAgICAgZm9yRWFjaFRlc3QgKz0gJyAnOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKG9iamVjdCwgbWFwbGlrZSk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhm
b3JFYWNoVGVzdCwgInRlc3RBLDIgdGVzdEIsMyAiLCAiZm9yRWFjaCB0ZXN0Iik7CisKKyAgICBt
YXBsaWtlLmNsZWFyKCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtlLmluc3BlY3RL
ZXlzKCksIFtdKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVl
cygpLCBbXSk7Cit9LCAiQmFzaWMgYWRkL3JlbW92ZS9jbGVhciBmdW5jdGlvbmFsaXR5Iik7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384888</attachid>
            <date>2019-12-05 02:18:38 -0800</date>
            <delta_ts>2019-12-05 04:11:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204877-20191205111835.patch</filename>
            <type>text/plain</type>
            <size>40270</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDkzNmFiNjIxY2U4M2Vl
M2YyNGM4NzYyNmRlZjFmYmNhZDFjZmQ1ZS4uZjEwMWI4MWM1ZTVmODNkM2ZkMTQ4NTBiYTg1MjA2
NDQ3YTc0YTM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE5LTEyLTA1ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBtYXBsaWtlIHNob3VsZCBk
ZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBtYXBsaWtlIGltcGxlbWVudGF0aW9uIHdhcyBkZWZpbmluZyBhbiBhZGQgbWV0
aG9kIGluc3RlYWQgb2YgYSBzZXQgbWV0aG9kLgorICAgICAgICBVcGRhdGUgaW1wbGVtZW50YXRp
b24gdG8gZGVmaW5lIGFuZCB1c2UgYSBzZXQgbWV0aG9kLgorICAgICAgICBBZGQgYW4gSW50ZXJu
YWxzTWFwTGlrZSB0byBhbGxvdyB0ZXN0aW5nLgorCisgICAgICAgIFRlc3Q6IGpzL2RvbS9tYXBs
aWtlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGln
aGxpZ2h0TWFwOjphZGRGcm9tTWFwTGlrZSk6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0TWFwLmg6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFw
LmlkbDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmg6CisgICAgICAgIChXZWJDb3JlOjpET01N
YXBMaWtlOjpzZXQpOgorICAgICAgICAoV2ViQ29yZTo6Zm9yd2FyZFNldFRvTWFwTGlrZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChwYXJzZU1h
cExpa2VQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNN
YXBMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9u
U2V0Qm9keSk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25B
ZGQpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxzTWFwTGlrZSk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcDogQWRkZWQuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzTWFwTGlrZS5pZGw6IEFkZGVkLgorCiAyMDE5LTEyLTA0ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBEb2N1bWVudEV2ZW50UXVldWUgYW5k
IFdvcmtlckV2ZW50UXVldWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNGJmYjIzN2ZhODMxMjdk
NGYyZjQyMjIxY2U1NDBlNTJhOWVkOTUxMy4uZDRiOGUxYjU5ZGRmZWU1MDFkZDcwOGIyMWMwNmFm
NWU5YjY3M2Q2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2MDUsNiArMTYwNSw3IEBAIHNl
dChXZWJDb3JlVGVzdFN1cHBvcnRfSURMX0ZJTEVTCiAgICAgdGVzdGluZy9HQ09ic2VydmF0aW9u
LmlkbAogICAgIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKICAgICB0ZXN0aW5nL0ludGVy
bmFscy5pZGwKKyAgICB0ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsCiAgICAgdGVzdGluZy9J
bnRlcm5hbHNTZXRMaWtlLmlkbAogICAgIHRlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGwKICAg
ICB0ZXN0aW5nL01lbW9yeUluZm8uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCAzN2U1NDVkMmViYTk0YjVkOWFjZjM1ZGNmMWZhNTBk
YzVkYWVhMDQ0Li4wMGJkYjk1YmQ1NWIwNTNkMGMxYTA3MTQzOTVlOTg2ZGU2ZDFmMjZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTEw
OTIsNiArMTA5Miw3IEBAICQoUFJPSkVDVF9ESVIpL3N2Zy94bGlua2F0dHJzLmluCiAkKFBST0pF
Q1RfRElSKS90ZXN0aW5nL0dDT2JzZXJ2YXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKKyQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5pZGwKICQoUFJPSkVD
VF9ESVIpL3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3Rp
bmcvTWFsbG9jU3RhdGlzdGljcy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTWVtb3J5SW5m
by5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggZTE0Y2QxZjRmYTg3NWMwMTcyMWVhYjZiODA0MTZmZGU0ZDA0ODBlNC4uNmY1MTkw
NGIyOTNlZGQyNTFiMTAzMDVjZmU5ODllYjcxNGUzOTJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTY5MSwxMCArNjkxLDYgQEAg
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHbG9iYWxFdmVu
dEhhbmRsZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHbG9iYWxFdmVudEhhbmRsZXJzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR2xvYmFsUGVyZm9ybWFuY2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dsb2JhbFBlcmZvcm1hbmNlLmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmNw
cAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGln
aHRNYXAuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNI
aWdobGlnaHRSYW5nZUdyb3VwLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNIaWdobGlnaHRSYW5nZUdyb3VwLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFsbENvbGxlY3Rpb24uY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxBbGxDb2xsZWN0aW9u
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFu
Y2hvckVsZW1lbnQuY3BwCkBAIC04NzMsNiArODY5LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0
YVR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hkck1ldGFkYXRhVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0hpZ2hsaWdodE1hcC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91cC5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91
cC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3Rv
cnkuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hp
c3RvcnkuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNI
a2RmUGFyYW1zLmNwcApAQCAtOTM5LDYgKzkzOSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0
aW5nc0dlbmVyYXRlZC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0ludGVybmFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSW50ZXJuYWxzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFsc1NldExpa2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFs
c1NldExpa2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNJbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IDgyZDhkYzNlYmMzYjlmMzg3MmU0MGE0Mzc5MTRmNGZmNDZiZWJhMDAuLjBiZmFiZWNhNDMx
ZWUxMDZjZDhkN2EyN2Y0YmRmNjA2MmRiMDE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMTA4Miw2ICsxMDgyLDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2Vi
Q29yZSkvdGVzdGluZy9HQ09ic2VydmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbCBcCisgICAgJChXZWJDb3JlKS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvdGVzdGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5n
L01lbW9yeUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodE1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9IaWdobGlnaHRNYXAuY3BwCmluZGV4IDc5Mzc0MDk2M2QwMDA3NjVkNzUwOTIzZjY3YmI3M2Y5
NzljYTEyOTkuLmIyNDhlZjdkMmU1NTU3OTRkNGQ3M2NkOTdhOTczN2FmOGI0ZjEzMDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodE1hcC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmNwcApA
QCAtMzQsMTAgKzM0LDggQEAgdm9pZCBIaWdobGlnaHRNYXA6OmFkZEhpZ2hsaWdodEdyb3VwKFN0
cmluZyYgY3NzU3R5bGUsIEhpZ2hsaWdodFJhbmdlR3JvdXAgJmdyb3UKICAgICBVTlVTRURfUEFS
QU0oZ3JvdXApOwogfQogCi1ib29sIEhpZ2hsaWdodE1hcDo6YWRkRnJvbU1hcExpa2UoY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKK3ZvaWQgSGlnaGxpZ2h0TWFwOjpzZXRGcm9tTWFwTGlrZShTdHJpbmcm
JiwgUmVmPEhpZ2hsaWdodFJhbmdlR3JvdXA+JiYpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVl
KTsKLSAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgSGlnaGxpZ2h0TWFwOjpyZW1vdmUoY29u
c3QgU3RyaW5nJiB2YWx1ZSkKQEAgLTY3LDEyICs2NSw0IEBAIGJvb2wgSGlnaGxpZ2h0TWFwOjpk
ZWxldGVOYW1lZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEhpZ2hsaWdodE1hcDo6c2V0KGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpCi17Ci0gICAgVU5VU0VEX1BB
UkFNKG5hbWUpOwotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7Ci0gICAgCi0gICAgcmV0dXJuIHsg
fTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0TWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGln
aHRNYXAuaAppbmRleCBlY2RhYzA4YTJjZjg2ZDk4OTdjMzFjNjdjZjY1MzU0ZDUzZWEwMDE3Li42
NDFlMjRiZDgwZDc1ZmIyNTExODYyOWIyMmMwYzQ0Y2Y1Njk4MTRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaApAQCAtNDksOSArNDksNyBA
QCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0TmFtZWRJdGVtKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpOwogICAgIGJvb2wgZGVs
ZXRlTmFtZWRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIAotICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEhpZ2hsaWdodFJhbmdlR3Jv
dXAmIHZhbHVlKTsKLSAgICAKLSAgICBib29sIGFkZEZyb21NYXBMaWtlKGNvbnN0IFN0cmluZyYg
dmFsdWUpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIFJlZjxIaWdobGlnaHRS
YW5nZUdyb3VwPiYmKTsKICAgICB2b2lkIGNsZWFyKCkgeyB9OwogICAgIGJvb2wgcmVtb3ZlKGNv
bnN0IFN0cmluZyYgdmFsdWUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aGlnaGxpZ2h0L0hpZ2hsaWdodE1hcC5pZGwKaW5kZXggYTkwNzkxOTQ4ZjgwOTViZjdlYmJkZDhm
NDBlMmFjMTI3MmEzYjFiNy4uMzZlNWI1NTcyMTZlYzc1Y2UzNWY3OTE0MTFhMTg4MzUzNzJkNmVi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0
TWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRN
YXAuaWRsCkBAIC0zMCw1ICszMCw0IEBACiBdIGludGVyZmFjZSBIaWdobGlnaHRNYXAgewogICAg
IG1hcGxpa2U8RE9NU3RyaW5nLCBIaWdobGlnaHRSYW5nZUdyb3VwPjsKICAgICBbQ0VSZWFjdGlv
bnMsIE1heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHN0eWxlLCBIaWdo
bGlnaHRSYW5nZUdyb3VwIGdyb3VwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0
KERPTVN0cmluZyBzdHlsZSwgSGlnaGxpZ2h0UmFuZ2VHcm91cCBncm91cCk7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYz
MDNkN2Q1ZDQ5MTJkMjk1NWJlMTA0YjczMzZiZTFjYmJjYTgwNTAuLjdkY2M4MjQzODFlZGM3MDNi
ZjllYTZhMjU4YTdhODEyMWIyZjM1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNDgsNiArMTA0OCw4IEBACiAJCTQxMjlD
OUFGMUY1OUNGNUIwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjlDOTgwMUY1ODYxQzcwMDlENzQw
MyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0MTJERTRCODIxOTI4NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2Fw
YWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi87IH07
CiAJCTQxMzNDQjhCMjBGODBFOTkwMEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29j
b2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEz
M0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAg
Ki87IH07CisJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzZDNTc4
MjM5OEU1QjUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsKKwkJNDEzNkM1
N0MyMzk4RUNDRjAwMjQ5N0QzIC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U5MjFDMUY4NTU1MDA2MURC
RDYgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsKIAkJNDEzNkVDMEMyMzgzODg3MDAw
MEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNkVDMDkyMzgzODdDMzAwMEFEQkNFIC8qIEludGVybmFs
c1NldExpa2UuY3BwICovOyB9OwogCQk0MTM2RUMwRDIzODM4QTQ3MDAwQURCQ0UgLyogSW50ZXJu
YWxzU2V0TGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEzNkVDMEEyMzgzODdDNDAwMEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuaCAqLzsgfTsK
IAkJNDEzODBDMjcxRjM0MzZBQzAwMTU1RkRBIC8qIERPTUNhY2hlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4MEMyNTFGMzQzNjlBMDAxNTVGREEg
LyogRE9NQ2FjaGUuaCAqLzsgfTsKQEAgLTY3MjksNiArNjczMSw3IEBACiAJCTJENkYzRThDMUMx
RUNCMUMwMDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IE1vY2tQYWdlT3ZlcmxheS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJE
NkYzRTkyMUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tQYWdlT3ZlcmxheS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENSAvKiBKU0lu
dGVybmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNJbnRlcm5hbHNTZXRMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ2
RjNFOTIxQzFGODU1NTAwNjFEQkQ2IC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFsc01hcExpa2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MzFDMUY4NTU1MDA2MURCRDQgLyogSlNN
b2NrUGFnZU92ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2Nr
UGFnZU92ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3MEJBMTIxODA3
NERERjAwMDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJENzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcyOTEsNiArNzI5NCw5IEBACiAJ
CTQxMzFGM0I1MUY5NTVCQzUwMDU5OTk1QSAvKiBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDYXBhYmlsaXRpZXMuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3NjIzOThFNUI0MDAyNDk3RDMgLyogSW50ZXJu
YWxzTWFwTGlrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5hbHNNYXBMaWtlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzZDNTc4MjM5OEU1QjUwMDI0OTdEMyAvKiBJbnRlcm5h
bHNNYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludGVybmFsc01hcExpa2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3OTIzOThFNUI2MDAyNDk3RDMgLyog
SW50ZXJuYWxzTWFwTGlrZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxzTWFwTGlrZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzZFQzA3MjM4Mzg3NDYwMDBBREJDRSAvKiBJbnRlcm5h
bHNTZXRMaWtlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbHNTZXRMaWtlLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzNkVDMDkyMzgzODdDMzAwMEFEQkNF
IC8qIEludGVybmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSW50ZXJuYWxzU2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxMzZFQzBBMjM4Mzg3QzQwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybmFsc1NldExpa2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MDY5LDYgKzE4MDc1LDkgQEAKIAkJCQlBN0JGN0VEQzE0Qzkx
NzVBMDAxNDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5jcHAgKi8sCiAJCQkJQTdCRjdFREQxNEM5
MTc1QTAwMTQ0ODlEIC8qIEludGVybmFsU2V0dGluZ3MuaCAqLywKIAkJCQlBN0JGN0VERTE0Qzkx
NzVBMDAxNDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5pZGwgKi8sCisJCQkJNDEzNkM1NzgyMzk4
RTVCNTAwMjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuY3BwICovLAorCQkJCTQxMzZDNTc2MjM5
OEU1QjQwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmggKi8sCisJCQkJNDEzNkM1NzkyMzk4
RTVCNjAwMjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuaWRsICovLAogCQkJCTQxMzZFQzA5MjM4
Mzg3QzMwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmNwcCAqLywKIAkJCQk0MTM2RUMwQTIz
ODM4N0M0MDAwQURCQ0UgLyogSW50ZXJuYWxzU2V0TGlrZS5oICovLAogCQkJCTQxMzZFQzA3MjM4
Mzg3NDYwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmlkbCAqLywKQEAgLTE4MTM1LDYgKzE4
MTQ0LDcgQEAKIAkJCQlBN0I0RUE3OTE0QzkzNDg0MDBDOEY1QkYgLyogSlNJbnRlcm5hbFNldHRp
bmdzLmggKi8sCiAJCQkJNTNFRDNGREMxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJuYWxTZXR0
aW5nc0dlbmVyYXRlZC5jcHAgKi8sCiAJCQkJNTNFRDNGREQxNjdBODhFNzAwNjc2MkU2IC8qIEpT
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oICovLAorCQkJCTJENkYzRTkyMUMxRjg1NTUwMDYx
REJENiAvKiBKU0ludGVybmFsc01hcExpa2UuY3BwICovLAogCQkJCTJENkYzRTkyMUMxRjg1NTUw
MDYxREJENSAvKiBKU0ludGVybmFsc1NldExpa2UuY3BwICovLAogCQkJCUE3QjRFQTY4MTRDOTM0
ODQwMEM4RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuY3BwICovLAogCQkJCUE3QjRFQTY5MTRD
OTM0ODQwMEM4RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuaCAqLywKQEAgLTMzMzkxLDE2ICsz
MzQwMSwxOSBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJMkQ0MTUwREUxQzFGODY4QzAw
MEEzQkE0IC8qIChudWxsKSBpbiBTb3VyY2VzICovLAogCQkJCTUxNzE0RUFDMUNGNjU5NTEwMDQ3
MjNDNCAvKiBHQ09ic2VydmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0RBNkQ5MTM3
MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3OUYw
REExQjk3NzRGRTAwRUQwQTI3IC8qIEludGVybmFscy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE3
QkY3RURGMTRDOTE3NUEwMDE0NDg5RCAvKiBJbnRlcm5hbFNldHRpbmdzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCURFNUY4NjExMUZBMjM5REEwMDZEQjYzQSAvKiBJbnRlcm5hbFNldHRpbmdzR2Vu
ZXJhdGVkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAv
KiBJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMzZFQzBDMjM4Mzg4
NzAwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURF
NUY4NjEyMUZBMjM5RTcwMDZEQjYzQSAvKiBKU0dDT2JzZXJ2YXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE3NDBCNUE3MTRDOTM1QUYwMEE3N0ZBNCAvKiBKU0ludGVybmFsU2V0
dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTNFRDNGREUxNjdBODhFNzAwNjc2MkU2IC8q
IEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTM2
QzU3QzIzOThFQ0NGMDAyNDk3RDMgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJENDE1MERFMUMxRjg2OEMwMDBBM0JBMyAvKiBKU0ludGVybmFsc1NldExpa2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM5MzIxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTWFs
bG9jU3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDUzOTNEMzE3NUUwMTg2MDBD
MDcxMjMgLyogSlNNZW1vcnlJbmZvLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaAppbmRleCBjZDYyYjdmOTdkYmM3NzUwMmM4NTg5Yjlm
NjNmM2RlNDg4YzQ3ZDQ1Li5lOGY1ZTAzZjY3YTQyOWQ4ODEwZDhkYzdmODUyZGMyNmY1ZTBiZmE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaApAQCAtMzQsMTEg
KzM0LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotSlNDOjpKU01hcCYgY3JlYXRlQmFj
a2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6
SlNPYmplY3QmKTsKLXZvaWQgaW5pdGlhbGl6ZUJhY2tpbmdNYXAoSlNDOjpWTSYsIEpTQzo6SlNP
YmplY3QmLCBKU0M6OkpTTWFwJik7Ci1KU0M6OkpTVmFsdWUgZm9yd2FyZEF0dHJpYnV0ZUdldHRl
clRvQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU09iamVjdCYsIGNvbnN0
IEpTQzo6SWRlbnRpZmllciYpOwotSlNDOjpKU1ZhbHVlIGZvcndhcmRGdW5jdGlvbkNhbGxUb0Jh
Y2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNDOjpKU09i
amVjdCYsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwotSlNDOjpKU1ZhbHVlIGZvcndhcmRGb3JF
YWNoQ2FsbFRvQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUm
LCBKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmKTsKK1dFQkNPUkVfRVhQT1JUIEpT
Qzo6SlNNYXAmIGNyZWF0ZUJhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNH
bG9iYWxPYmplY3QmLCBKU0M6OkpTT2JqZWN0Jik7CitXRUJDT1JFX0VYUE9SVCB2b2lkIGluaXRp
YWxpemVCYWNraW5nTWFwKEpTQzo6Vk0mLCBKU0M6OkpTT2JqZWN0JiwgSlNDOjpKU01hcCYpOwor
V0VCQ09SRV9FWFBPUlQgSlNDOjpKU1ZhbHVlIGZvcndhcmRBdHRyaWJ1dGVHZXR0ZXJUb0JhY2tp
bmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmLCBjb25zdCBKU0M6Oklk
ZW50aWZpZXImKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6SlNWYWx1ZSBmb3J3YXJkRnVuY3Rpb25D
YWxsVG9CYWNraW5nTWFwKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIEpT
Qzo6SlNPYmplY3QmLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsKK1dFQkNPUkVfRVhQT1JUIEpT
Qzo6SlNWYWx1ZSBmb3J3YXJkRm9yRWFjaENhbGxUb0JhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9i
amVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6OkpTT2JqZWN0
Jik7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gdm9pZCBzeW5jaHJvbml6ZUJh
Y2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgV3JhcHBl
ckNsYXNzJik7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IEpTQzo6SlNWYWx1ZSBm
b3J3YXJkU2l6ZVRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgV3JhcHBlckNsYXNzJik7
CkBAIC00OSwxNCArNDksMTQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBKU0M6
OkpTVmFsdWUgZm9yd2FyZENsZWFyVG9NYXBMaWtlKEpTQzo6SlNHbG9iYWwKIHRlbXBsYXRlPHR5
cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgQ2FsbGJhY2s+IEpTQzo6SlNWYWx1ZSBmb3J3
YXJkRm9yRWFjaFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUm
LCBXcmFwcGVyQ2xhc3MmLCBDYWxsYmFjayYmKTsKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJD
bGFzcywgdHlwZW5hbWUgSXRlbVR5cGU+IEpTQzo6SlNWYWx1ZSBmb3J3YXJkR2V0VG9NYXBMaWtl
KEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIFdyYXBwZXJDbGFzcyYsIEl0
ZW1UeXBlJiYpOwogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVt
VHlwZT4gSlNDOjpKU1ZhbHVlIGZvcndhcmRIYXNUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVj
dCYsIEpTQzo6Q2FsbEZyYW1lJiwgV3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJik7Ci10ZW1wbGF0
ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3MsIHR5cGVuYW1lIEl0ZW1UeXBlPiBKU0M6OkpTVmFsdWUg
Zm9yd2FyZEFkZFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUm
LCBXcmFwcGVyQ2xhc3MmLCBJdGVtVHlwZSYmKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJD
bGFzcywgdHlwZW5hbWUgSXRlbVR5cGUsIHR5cGVuYW1lIFZhbHVlVHlwZT4gSlNDOjpKU1ZhbHVl
IGZvcndhcmRTZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1l
JiwgV3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJiwgVmFsdWVUeXBlJiYpOwogdGVtcGxhdGU8dHlw
ZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gSlNDOjpKU1ZhbHVlIGZvcndh
cmREZWxldGVUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwg
V3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJik7CiAKIGNsYXNzIERPTU1hcExpa2UgZmluYWwgOiBw
dWJsaWMgRE9NR3VhcmRlZDxKU0M6OkpTTWFwPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxE
T01NYXBMaWtlPiBjcmVhdGUoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpK
U01hcCYgbWFwKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTU1hcExpa2UoZ2xvYmFsT2JqZWN0
LCBtYXApKTsgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZT4g
dm9pZCBzZXQodHlwZW5hbWUgS2V5OjpQYXJhbWV0ZXJUeXBlJiYsIHR5cGVuYW1lIFZhbHVlOjpQ
YXJhbWV0ZXJUeXBlJiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFs
dWU+IHZvaWQgc2V0KHR5cGVuYW1lIEtleTo6UGFyYW1ldGVyVHlwZSwgdHlwZW5hbWUgVmFsdWU6
OlBhcmFtZXRlclR5cGUpOwogCiAgICAgSlNDOjpKU01hcCogYmFja2luZ01hcCgpIHsgcmV0dXJu
IGd1YXJkZWQoKTsgfQogCkBAIC02NCw3ICs2NCw3IEBAIHByb3RlY3RlZDoKICAgICBET01NYXBM
aWtlKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNYXAmIG1hcCkgOiBE
T01HdWFyZGVkPEpTQzo6SlNNYXA+KGdsb2JhbE9iamVjdCwgbWFwKSB7IH0KIH07CiAKLXRlbXBs
YXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWU+IGlubGluZSB2b2lkIERPTU1hcExpa2U6
OnNldCh0eXBlbmFtZSBLZXk6OlBhcmFtZXRlclR5cGUmJiBrZXksIHR5cGVuYW1lIFZhbHVlOjpQ
YXJhbWV0ZXJUeXBlJiYgdmFsdWUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZh
bHVlPiBpbmxpbmUgdm9pZCBET01NYXBMaWtlOjpzZXQodHlwZW5hbWUgS2V5OjpQYXJhbWV0ZXJU
eXBlIGtleSwgdHlwZW5hbWUgVmFsdWU6OlBhcmFtZXRlclR5cGUgdmFsdWUpCiB7CiAgICAgaWYg
KGlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTM0LDEwICsxMzQsMTAgQEAgdGVtcGxh
dGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gaW5saW5lIEpTQzo6
SlNWYWx1ZSBmb3J3YXJkSGEKICAgICByZXR1cm4gZm9yd2FyZEZ1bmN0aW9uQ2FsbFRvQmFja2lu
Z01hcChsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIG1hcExpa2UsIHZtLnByb3BlcnR5
TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmhhc1B1YmxpY05hbWUoKSk7CiB9CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgSXRlbVR5cGU+IGlubGluZSBKU0M6OkpTVmFs
dWUgZm9yd2FyZEFkZFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBKU0M6OkNhbGxGcmFtZSYgY2FsbEZyYW1lLCBXcmFwcGVyQ2xhc3MmIG1hcExpa2Us
IEl0ZW1UeXBlJiYgaXRlbSkKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5h
bWUgS2V5VHlwZSwgdHlwZW5hbWUgVmFsdWVUeXBlPiBpbmxpbmUgSlNDOjpKU1ZhbHVlIGZvcndh
cmRTZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNDOjpDYWxsRnJhbWUmIGNhbGxGcmFtZSwgV3JhcHBlckNsYXNzJiBtYXBMaWtlLCBLZXlUeXBl
JiYga2V5LCBWYWx1ZVR5cGUmJiB2YWx1ZSkKIHsKLSAgICBpZiAobWFwTGlrZS53cmFwcGVkKCku
YWRkRnJvbU1hcExpa2Uoc3RkOjpmb3J3YXJkPEl0ZW1UeXBlPihpdGVtKSkpCi0gICAgICAgIGZv
cndhcmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZy
YW1lLCBtYXBMaWtlLCBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KS5wcm9wZXJ0eU5h
bWVzLT5hZGQpOworICAgIG1hcExpa2Uud3JhcHBlZCgpLnNldEZyb21NYXBMaWtlKHN0ZDo6Zm9y
d2FyZDxLZXlUeXBlPihrZXkpLCBzdGQ6OmZvcndhcmQ8VmFsdWVUeXBlPih2YWx1ZSkpOworICAg
IGZvcndhcmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgY2Fs
bEZyYW1lLCBtYXBMaWtlLCBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KS5wcm9wZXJ0
eU5hbWVzLT5zZXQpOwogICAgIHJldHVybiAmbWFwTGlrZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQppbmRleCAzNGNlNzE5ZDU3ZDBiOTVjMWEz
ZGQ2MWZmZTkxMTE0ZjY3M2Q4Y2Q3Li44ZTEyNzU5N2E3MDRkYWEyYTIwYjZiYWMxYzI5OGE2ODg2
NTRjOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBh
cnNlci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5w
bQpAQCAtMTk5NywxNiArMTk5NywyMSBAQCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogCiAg
ICAgcmV0dXJuICRtYXBsaWtlIGlmICRpc1JlYWRPbmx5OwogCi0gICAgbXkgJGFkZE9wZXJhdGlv
biA9IElETE9wZXJhdGlvbi0+bmV3KCk7Ci0gICAgJGFkZE9wZXJhdGlvbi0+bmFtZSgiYWRkIik7
Ci0gICAgJGFkZE9wZXJhdGlvbi0+aXNNYXBMaWtlKDEpOwotICAgIG15ICRhZGRBcmd1bWVudCA9
IElETEFyZ3VtZW50LT5uZXcoKTsKLSAgICAkYWRkQXJndW1lbnQtPm5hbWUoImtleSIpOwotICAg
ICRhZGRBcmd1bWVudC0+dHlwZSgkbWFwbGlrZS0+a2V5VHlwZSk7Ci0gICAgJGFkZEFyZ3VtZW50
LT5leHRlbmRlZEF0dHJpYnV0ZXMoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgcHVzaChA
eyRhZGRPcGVyYXRpb24tPmFyZ3VtZW50c30sICgkYWRkQXJndW1lbnQpKTsKLSAgICAkYWRkT3Bl
cmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMoJG5vdEVudW1lcmFibGVFeHRlbmRlZEF0dHJpYnV0
ZUxpc3QpOwotICAgICRhZGRPcGVyYXRpb24tPnR5cGUobWFrZVNpbXBsZVR5cGUoImFueSIpKTsK
KyAgICBteSAkc2V0T3BlcmF0aW9uID0gSURMT3BlcmF0aW9uLT5uZXcoKTsKKyAgICAkc2V0T3Bl
cmF0aW9uLT5uYW1lKCJzZXQiKTsKKyAgICAkc2V0T3BlcmF0aW9uLT5pc01hcExpa2UoMSk7Cisg
ICAgbXkgJHNldEtleUFyZ3VtZW50ID0gSURMQXJndW1lbnQtPm5ldygpOworICAgICRzZXRLZXlB
cmd1bWVudC0+bmFtZSgia2V5Iik7CisgICAgJHNldEtleUFyZ3VtZW50LT50eXBlKCRtYXBsaWtl
LT5rZXlUeXBlKTsKKyAgICAkc2V0S2V5QXJndW1lbnQtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICBteSAkc2V0VmFsdWVBcmd1bWVudCA9IElETEFyZ3Vt
ZW50LT5uZXcoKTsKKyAgICAkc2V0VmFsdWVBcmd1bWVudC0+bmFtZSgidmFsdWUiKTsKKyAgICAk
c2V0VmFsdWVBcmd1bWVudC0+dHlwZSgkbWFwbGlrZS0+dmFsdWVUeXBlKTsKKyAgICAkc2V0VmFs
dWVBcmd1bWVudC0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwor
ICAgIHB1c2goQHskc2V0T3BlcmF0aW9uLT5hcmd1bWVudHN9LCAoJHNldEtleUFyZ3VtZW50KSk7
CisgICAgcHVzaChAeyRzZXRPcGVyYXRpb24tPmFyZ3VtZW50c30sICgkc2V0VmFsdWVBcmd1bWVu
dCkpOworICAgICRzZXRPcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJs
ZUV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgJHNldE9wZXJhdGlvbi0+dHlwZShtYWtlU2lt
cGxlVHlwZSgiYW55IikpOwogCiAgICAgbXkgJGNsZWFyT3BlcmF0aW9uID0gSURMT3BlcmF0aW9u
LT5uZXcoKTsKICAgICAkY2xlYXJPcGVyYXRpb24tPm5hbWUoImNsZWFyIik7CkBAIC0yMDI1LDcg
KzIwMzAsNyBAQCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogICAgICRkZWxldGVPcGVyYXRp
b24tPmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJsZUV4dGVuZGVkQXR0cmlidXRlTGlz
dCk7CiAgICAgJGRlbGV0ZU9wZXJhdGlvbi0+dHlwZShtYWtlU2ltcGxlVHlwZSgiYW55IikpOwog
Ci0gICAgcHVzaChAeyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJGFkZE9wZXJhdGlvbik7CisgICAg
cHVzaChAeyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJHNldE9wZXJhdGlvbik7CiAgICAgcHVzaChA
eyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJGNsZWFyT3BlcmF0aW9uKTsKICAgICBwdXNoKEB7JG1h
cGxpa2UtPm9wZXJhdGlvbnN9LCAkZGVsZXRlT3BlcmF0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAppbmRleCAz
Njg3YjgzMjMzMGI4Njc2N2FmYTdjZDBjMjg1NmUwOWQwMWI2NWRlLi5kMTBkMDg4YTMxOGU1ZDM2
ZjljODgxYThmZTg0NDAyMTJhMjZkODAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcApAQCAtNTIsNyArNTIsNyBAQCBK
U0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rp
b25FbnRyaWVzKEpTQzo6SlNHbG9iYQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uS2V5cyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExp
a2VQcm90b3R5cGVGdW5jdGlvblZhbHVlcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxs
RnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90
b3R5cGVGdW5jdGlvbkZvckVhY2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1l
Kik7Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBl
RnVuY3Rpb25BZGQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CitKU0M6
OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25T
ZXQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhcihKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkRlbGV0ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIApAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRp
YyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU01hcExpa2VQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0K
ICAgICB7ICJrZXlzIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzTWFwTGlr
ZVByb3RvdHlwZUZ1bmN0aW9uS2V5cyksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJ2YWx1
ZXMiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0gfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBl
RnVuY3Rpb25WYWx1ZXMpLCAoaW50cHRyX3QpICgwKSB9IH0sCiAgICAgeyAiZm9yRWFjaCIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNN
YXBMaWtlUHJvdG90eXBlRnVuY3Rpb25Gb3JFYWNoKSwgKGludHB0cl90KSAoMSkgfSB9LAotICAg
IHsgImFkZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQcm90
b3R5cGVGdW5jdGlvbkFkZCksIChpbnRwdHJfdCkgKDEpIH0gfSwKKyAgICB7ICJzZXQiLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25T
ZXQpLCAoaW50cHRyX3QpICgyKSB9IH0sCiAgICAgeyAiY2xlYXIiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxS
YXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhciksIChpbnRw
dHJfdCkgKDApIH0gfSwKICAgICB7ICJkZWxldGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpG
dW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVG
dW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25EZWxldGUpLCAoaW50cHRyX3QpICgx
KSB9IH0sCiB9OwpAQCAtMzA0LDIxICszMDQsMjMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkZvckVhY2goSlNHbG9iYWxPYmplY3QqIGwK
ICAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNhbGw8anNNYXBMaWtlUHJvdG90
eXBlRnVuY3Rpb25Gb3JFYWNoQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUs
ICJmb3JFYWNoIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01h
cExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3Bl
cmF0aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01h
cExpa2VQcm90b3R5cGVGdW5jdGlvblNldEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3Bl
cmF0aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVj
dCk7CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93
U2NvcGUpOwotICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEp
KQorICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDIpKQogICAg
ICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUs
IGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpKTsKICAg
ICBhdXRvIGtleSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
Y2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHRvSlM8SURMQW55Pihmb3J3YXJkQWRkVG9NYXBMaWtlKCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCAqY2FsbEZyYW1lLCAqY2FzdGVkVGhpcywgV1RGTW92ZShrZXkpKSkpOworICAgIGF1dG8gdmFs
dWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFt
ZS0+dW5jaGVja2VkQXJndW1lbnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pT
PElETEFueT4oZm9yd2FyZFNldFRvTWFwTGlrZSgqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxG
cmFtZSwgKmNhc3RlZFRoaXMsIFdURk1vdmUoa2V5KSwgV1RGTW92ZSh2YWx1ZSkpKSk7CiB9CiAK
LUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25B
ZGQoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZy
YW1lKQorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5j
dGlvblNldChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUpCiB7Ci0gICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU01hcExpa2U+OjpjYWxsPGpz
TWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uQWRkQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpj
YWxsRnJhbWUsICJhZGQiKTsKKyAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNh
bGw8anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25TZXRCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhbGxGcmFtZSwgInNldCIpOwogfQogCiBzdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpT
VmFsdWUganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhckJvZHkoSlNDOjpKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlw
ZW5hbWUgSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMs
IEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAppbmRleCBmNjIzYWZkZDA5ZWU0YWUxOTZjYTJiOGVjYTEwMDFiNGUwYTU2NDM5Li4yNjY2
MmE4NzFhZjgzODhiYWI4YjFjMjY1YThmNDJmOTcxN2EzOWI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCkBAIC0xMDgsNiArMTA4LDcgQEAKICNpbmNsdWRlICJJbnN0cnVtZW50
aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0
dGluZ3MuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHNNYXBMaWtlLmgiCiAjaW5jbHVkZSAiSW50ZXJu
YWxzU2V0TGlrZS5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiSlNJbWFnZURhdGEuaCIKQEAgLTUyOTMsNiArNTI5NCwxMSBAQCBpbnQgSW50ZXJuYWxzOjpw
cm9jZXNzSWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIGdldEN1cnJlbnRQcm9jZXNzSUQo
KTsKIH0KIAorUmVmPEludGVybmFsc01hcExpa2U+IEludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxz
TWFwTGlrZSgpCit7CisgICAgcmV0dXJuIEludGVybmFsc01hcExpa2U6OmNyZWF0ZSgpOworfQor
CiBSZWY8SW50ZXJuYWxzU2V0TGlrZT4gSW50ZXJuYWxzOjpjcmVhdGVJbnRlcm5hbHNTZXRMaWtl
KCkKIHsKICAgICByZXR1cm4gSW50ZXJuYWxzU2V0TGlrZTo6Y3JlYXRlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaAppbmRleCA3OGI5YjI4ODdmNTNiYzUwYmFiNzYzNDdlMTg2NDdlNWRm
OGZiMmZhLi45M2E0NWJkOThhZTM4ODdlM2FhYzYyZjcxNmZmOWEwYWZkYmEyMDFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTc1LDYgKzc1LDcgQEAgY2xhc3MgSFRNTFNlbGVj
dEVsZW1lbnQ7CiBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgSW1hZ2VEYXRhOwogY2xh
c3MgSW5zcGVjdG9yU3R1YkZyb250ZW5kOworY2xhc3MgSW50ZXJuYWxzTWFwTGlrZTsKIGNsYXNz
IEludGVybmFsU2V0dGluZ3M7CiBjbGFzcyBJbnRlcm5hbHNTZXRMaWtlOwogY2xhc3MgTWFsbG9j
U3RhdGlzdGljczsKQEAgLTkwNyw2ICs5MDgsNyBAQCBwdWJsaWM6CiAgICAgaW50IHByb2Nlc3NJ
ZGVudGlmaWVyKCkgY29uc3Q7CiAKICAgICBSZWY8SW50ZXJuYWxzU2V0TGlrZT4gY3JlYXRlSW50
ZXJuYWxzU2V0TGlrZSgpOworICAgIFJlZjxJbnRlcm5hbHNNYXBMaWtlPiBjcmVhdGVJbnRlcm5h
bHNNYXBMaWtlKCk7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggOTM2YzJhN2FiMDMzYjZj
ZmZjMzZkODA4MmQwZGVmOGQ4NDFhMGQxMi4uNTlhNjkyZjc5MGIxOWNjODM3M2RkMjZkMGVjODIx
OTg2N2U3MWE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtODE2LDUg
KzgxNiw2IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogCiAgICAgW0NvbmRpdGlvbmFsPVBJ
Q1RVUkVfSU5fUElDVFVSRV9BUEldIHZvaWQgc2V0UGljdHVyZUluUGljdHVyZUFQSVRlc3RFbmFi
bGVkKEhUTUxWaWRlb0VsZW1lbnQgdmlkZW9FbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwogCisg
ICAgSW50ZXJuYWxzTWFwTGlrZSBjcmVhdGVJbnRlcm5hbHNNYXBMaWtlKCk7CiAgICAgSW50ZXJu
YWxzU2V0TGlrZSBjcmVhdGVJbnRlcm5hbHNTZXRMaWtlKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUwODMzNTExZjFlYTA1
OThkNTYyYmQ5ODFlMGQyOTM5OTZkYzBjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHNNYXBMaWtlLmgi
CisKKyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitJbnRlcm5hbHNNYXBMaWtlOjpJbnRlcm5hbHNNYXBMaWtlKCkK
K3sKKyAgICBtX3ZhbHVlcy5hZGQoImluaXQiLCAwKTsKK30KKwordm9pZCBJbnRlcm5hbHNNYXBM
aWtlOjpzeW5jaHJvbml6ZUJhY2tpbmdNYXAoUmVmPERPTU1hcExpa2U+JiYgbWFwTGlrZSkKK3sK
KyAgICBtX21hcExpa2UgPSBXVEZNb3ZlKG1hcExpa2UpOworICAgIGZvciAoYXV0byYga2V5VmFs
dWUgOiBtX3ZhbHVlcykKKyAgICAgICAgbV9tYXBMaWtlLT5zZXQ8SURMRE9NU3RyaW5nLCBJRExV
bnNpZ25lZExvbmc+KGtleVZhbHVlLmtleSwga2V5VmFsdWUudmFsdWUpOworfQorCit2b2lkIElu
dGVybmFsc01hcExpa2U6OnNldEZyb21NYXBMaWtlKFN0cmluZyYmIGtleSwgdW5zaWduZWQgdmFs
dWUpCit7CisgICAgbV92YWx1ZXMuc2V0KFdURk1vdmUoa2V5KSwgdmFsdWUpOworfQorCit2b2lk
IEludGVybmFsc01hcExpa2U6OmNsZWFyKCkKK3sKKyAgICBtX3ZhbHVlcy5jbGVhcigpOworfQor
Citib29sIEludGVybmFsc01hcExpa2U6OnJlbW92ZShjb25zdCBTdHJpbmcmIGtleSkKK3sKKyAg
ICByZXR1cm4gbV92YWx1ZXMucmVtb3ZlKGtleSk7Cit9CisKK1ZlY3RvcjxTdHJpbmc+IEludGVy
bmFsc01hcExpa2U6Omluc3BlY3RLZXlzKCkgY29uc3QKK3sKKyAgICBhdXRvIHJlc3VsdCA9IGNv
cHlUb1ZlY3RvcihtX3ZhbHVlcy5rZXlzKCkpOworICAgIHN0ZDo6c29ydChyZXN1bHQuYmVnaW4o
KSwgcmVzdWx0LmVuZCgpLCBXVEY6OmNvZGVQb2ludENvbXBhcmVMZXNzVGhhbik7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKworVmVjdG9yPHVuc2lnbmVkPiBJbnRlcm5hbHNNYXBMaWtlOjppbnNw
ZWN0VmFsdWVzKCkgY29uc3QKK3sKKyAgICBhdXRvIHJlc3VsdCA9IGNvcHlUb1ZlY3RvcihtX3Zh
bHVlcy52YWx1ZXMoKSk7CisgICAgc3RkOjpzb3J0KHJlc3VsdC5iZWdpbigpLCByZXN1bHQuZW5k
KCksIHN0ZDo6bGVzczx1bnNpZ25lZD4oKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHNNYXBMaWtlLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsc01hcExp
a2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMWE4MWFkNDBjNDE0MTZkYWZhYjUwYTY4YjcyOGJkM2IzMDQxY2Y0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBM
aWtlLmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJK
U0RPTU1hcExpa2UuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL2ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnRlcm5hbHNN
YXBMaWtlIDogcHVibGljIFJlZkNvdW50ZWQ8SW50ZXJuYWxzTWFwTGlrZT4geworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8SW50ZXJuYWxzTWFwTGlrZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBJbnRlcm5hbHNNYXBMaWtlKTsgfQorCisgICAgdm9pZCBzZXRGcm9tTWFwTGlrZShT
dHJpbmcmJiwgdW5zaWduZWQpOworICAgIHZvaWQgY2xlYXIoKTsKKyAgICBib29sIHJlbW92ZShj
b25zdCBTdHJpbmcmKTsKKworICAgIHZvaWQgc3luY2hyb25pemVCYWNraW5nTWFwKFJlZjxET01N
YXBMaWtlPiYmKTsKKyAgICBET01NYXBMaWtlKiBiYWNraW5nTWFwKCkgeyByZXR1cm4gbV9tYXBM
aWtlLmdldCgpOyB9CisKKyAgICBWZWN0b3I8U3RyaW5nPiBpbnNwZWN0S2V5cygpIGNvbnN0Owor
ICAgIFZlY3Rvcjx1bnNpZ25lZD4gaW5zcGVjdFZhbHVlcygpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIEludGVybmFsc01hcExpa2UoKTsKKyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1f
dmFsdWVzOworICAgIFJlZlB0cjxET01NYXBMaWtlPiBtX21hcExpa2U7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsc01hcExpa2UuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtl
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45Nzk3NGExZWFlNzJkN2Y4YjYzNDczY2JjZTRjNDU1N2M3MmJlYTE1
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBM
aWtlLmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgTm9JbnRlcmZhY2VPYmplY3Qs
CisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQsCisgICAgU2tpcFZU
YWJsZVZhbGlkYXRpb24sCitdIGludGVyZmFjZSBJbnRlcm5hbHNNYXBMaWtlCit7CisgICAgbWFw
bGlrZTxET01TdHJpbmcsIHVuc2lnbmVkIGxvbmc+OworCisgICAgc2VxdWVuY2U8RE9NU3RyaW5n
PiBpbnNwZWN0S2V5cygpOworICAgIHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IGluc3BlY3RWYWx1
ZXMoKTsKK307CisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzY1MDg2M2Y0MjAxOWI3NDFmZTBmN2E2NDg2MjE5OWMyNjA3
YTc1YS4uMmQ5MWE4YjkzOGIzZjNiNmM1ZTk4NTIwYWYyYzE0NDlhMTY4ZGI4YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDE5LTEyLTA1ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBtYXBsaWtlIHNob3VsZCBkZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGpzL2RvbS9tYXBsaWtl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL21hcGxpa2UuaHRtbDogQWRk
ZWQuCisKIDIwMTktMTItMDQgIEphY2sgTGVlICA8c2hpaGNoaWVoX2xlZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBSZW5kZXJMYXlvdXRTdGF0ZTo6cGFnZUxvZ2ljYWxI
ZWlnaHQgY29uc3QgdmlhIFJlbmRlckdyaWQ6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
IGluc2lkZSBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlUG9zaXRpb24KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pz
L2RvbS9tYXBsaWtlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGE0MDk1NTI1NTZlMTM4MWI2
MDVmZWIwNjkzNGMyNzk5MWM0ZDA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL21hcGxpa2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEJhc2ljIGFk
ZC9yZW1vdmUvY2xlYXIgZnVuY3Rpb25hbGl0eSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvZG9tL21hcGxpa2UuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzM2ZTUyZGJjYjE4Zjg4MDk3MjlkNDE5ZGE0NWZjMTEyOWU2Y2I2NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiPgordGVzdCgo
KSA9PiB7CisgICAgYXNzZXJ0X3RydWUoISF3aW5kb3cuaW50ZXJuYWxzKTsKKyAgICBjb25zdCBt
YXBsaWtlID0gaW50ZXJuYWxzLmNyZWF0ZUludGVybmFsc01hcExpa2UoKTsKKyAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgWyJpbml0Il0sICJpbml0IGtleXMi
KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVlcygpLCBbMF0s
ICJpbml0IHZhbHVlcyIpOworICAgIGFzc2VydF90cnVlKG1hcGxpa2UuaGFzKCJpbml0IikpOwor
CisgICAgbWFwbGlrZS5zZXQoInRlc3RBIiwgMSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyht
YXBsaWtlLmluc3BlY3RLZXlzKCksIFsiaW5pdCIsICJ0ZXN0QSJdKTsKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVlcygpLCBbMCwgMV0pOworICAgIG1hcGxpa2Uu
c2V0KCJ0ZXN0QSIsIDIpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0
S2V5cygpLCBbImluaXQiLCAidGVzdEEiXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBs
aWtlLmluc3BlY3RWYWx1ZXMoKSwgWzAsIDJdKTsKKyAgICBtYXBsaWtlLnNldCgidGVzdEIiLCAz
KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgWyJpbml0
IiwgInRlc3RBIiwgInRlc3RCIl0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5p
bnNwZWN0VmFsdWVzKCksIFswLCAyLCAzXSk7CisKKyAgICBtYXBsaWtlLmRlbGV0ZSgiaW5pdCIp
OworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0S2V5cygpLCBbInRlc3RB
IiwgInRlc3RCIl0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0VmFs
dWVzKCksIFsyLCAzXSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKG1hcGxpa2Uuc2l6ZSwgMiwgInNp
emUiKTsKKworICAgIGxldCBlbnRyaWVzVGVzdCA9ICIiOworICAgIGZvciAobGV0IGVudHJ5IG9m
IG1hcGxpa2UuZW50cmllcygpKSB7CisgICAgICAgIGVudHJpZXNUZXN0ICs9IGVudHJ5OworICAg
ICAgICBlbnRyaWVzVGVzdCArPSAnICc7CisgICAgfQorICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1Rlc3QsICJ0ZXN0QSwyIHRlc3RCLDMgIiwgImVudHJpZXMgdGVzdCIpOworCisgICAgbGV0IHZh
bHVlc1Rlc3QgPSAiIjsKKyAgICBmb3IgKGxldCBlbnRyeSBvZiBtYXBsaWtlLnZhbHVlcygpKSB7
CisgICAgICAgIHZhbHVlc1Rlc3QgKz0gZW50cnk7CisgICAgfQorICAgIGFzc2VydF9lcXVhbHMo
dmFsdWVzVGVzdCwgIjIzIiwgInZhbHVlcyB0ZXN0Iik7CisKKyAgICBsZXQga2V5c1Rlc3QgPSAi
IjsKKyAgICBmb3IgKGxldCBlbnRyeSBvZiBtYXBsaWtlLmtleXMoKSkgeworICAgICAgICBrZXlz
VGVzdCArPSBlbnRyeTsKKyAgICB9CisgICAgYXNzZXJ0X2VxdWFscyhrZXlzVGVzdCwgInRlc3RB
dGVzdEIiLCAia2V5cyB0ZXN0Iik7CisKKyAgICBsZXQgZm9yRWFjaFRlc3QgPSAiIjsKKyAgICBt
YXBsaWtlLmZvckVhY2goKHZhbHVlLCBrZXksIG9iamVjdCkgPT4geworICAgICAgICBmb3JFYWNo
VGVzdCArPSBrZXk7CisgICAgICAgIGZvckVhY2hUZXN0ICs9ICcsJzsKKyAgICAgICAgZm9yRWFj
aFRlc3QgKz0gdmFsdWU7CisgICAgICAgIGZvckVhY2hUZXN0ICs9ICcgJzsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhvYmplY3QsIG1hcGxpa2UpOworICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMo
Zm9yRWFjaFRlc3QsICJ0ZXN0QSwyIHRlc3RCLDMgIiwgImZvckVhY2ggdGVzdCIpOworCisgICAg
bWFwbGlrZS5jbGVhcigpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0
S2V5cygpLCBbXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtlLmluc3BlY3RWYWx1
ZXMoKSwgW10pOworfSwgIkJhc2ljIGFkZC9yZW1vdmUvY2xlYXIgZnVuY3Rpb25hbGl0eSIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384897</attachid>
            <date>2019-12-05 04:11:21 -0800</date>
            <delta_ts>2019-12-05 05:37:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204877-20191205131119.patch</filename>
            <type>text/plain</type>
            <size>40270</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDkzNmFiNjIxY2U4M2Vl
M2YyNGM4NzYyNmRlZjFmYmNhZDFjZmQ1ZS4uZjEwMWI4MWM1ZTVmODNkM2ZkMTQ4NTBiYTg1MjA2
NDQ3YTc0YTM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE5LTEyLTA1ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBtYXBsaWtlIHNob3VsZCBk
ZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBtYXBsaWtlIGltcGxlbWVudGF0aW9uIHdhcyBkZWZpbmluZyBhbiBhZGQgbWV0
aG9kIGluc3RlYWQgb2YgYSBzZXQgbWV0aG9kLgorICAgICAgICBVcGRhdGUgaW1wbGVtZW50YXRp
b24gdG8gZGVmaW5lIGFuZCB1c2UgYSBzZXQgbWV0aG9kLgorICAgICAgICBBZGQgYW4gSW50ZXJu
YWxzTWFwTGlrZSB0byBhbGxvdyB0ZXN0aW5nLgorCisgICAgICAgIFRlc3Q6IGpzL2RvbS9tYXBs
aWtlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGln
aGxpZ2h0TWFwOjphZGRGcm9tTWFwTGlrZSk6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0TWFwLmg6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFw
LmlkbDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmg6CisgICAgICAgIChXZWJDb3JlOjpET01N
YXBMaWtlOjpzZXQpOgorICAgICAgICAoV2ViQ29yZTo6Zm9yd2FyZFNldFRvTWFwTGlrZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChwYXJzZU1h
cExpa2VQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNN
YXBMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9u
U2V0Qm9keSk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25B
ZGQpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxzTWFwTGlrZSk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcDogQWRkZWQuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzTWFwTGlrZS5pZGw6IEFkZGVkLgorCiAyMDE5LTEyLTA0ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBEb2N1bWVudEV2ZW50UXVldWUgYW5k
IFdvcmtlckV2ZW50UXVldWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNGJmYjIzN2ZhODMxMjdk
NGYyZjQyMjIxY2U1NDBlNTJhOWVkOTUxMy4uZDRiOGUxYjU5ZGRmZWU1MDFkZDcwOGIyMWMwNmFm
NWU5YjY3M2Q2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2MDUsNiArMTYwNSw3IEBAIHNl
dChXZWJDb3JlVGVzdFN1cHBvcnRfSURMX0ZJTEVTCiAgICAgdGVzdGluZy9HQ09ic2VydmF0aW9u
LmlkbAogICAgIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKICAgICB0ZXN0aW5nL0ludGVy
bmFscy5pZGwKKyAgICB0ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsCiAgICAgdGVzdGluZy9J
bnRlcm5hbHNTZXRMaWtlLmlkbAogICAgIHRlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGwKICAg
ICB0ZXN0aW5nL01lbW9yeUluZm8uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCAzN2U1NDVkMmViYTk0YjVkOWFjZjM1ZGNmMWZhNTBk
YzVkYWVhMDQ0Li4wMGJkYjk1YmQ1NWIwNTNkMGMxYTA3MTQzOTVlOTg2ZGU2ZDFmMjZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTEw
OTIsNiArMTA5Miw3IEBAICQoUFJPSkVDVF9ESVIpL3N2Zy94bGlua2F0dHJzLmluCiAkKFBST0pF
Q1RfRElSKS90ZXN0aW5nL0dDT2JzZXJ2YXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKKyQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5pZGwKICQoUFJPSkVD
VF9ESVIpL3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3Rp
bmcvTWFsbG9jU3RhdGlzdGljcy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTWVtb3J5SW5m
by5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggZTE0Y2QxZjRmYTg3NWMwMTcyMWVhYjZiODA0MTZmZGU0ZDA0ODBlNC4uNmY1MTkw
NGIyOTNlZGQyNTFiMTAzMDVjZmU5ODllYjcxNGUzOTJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTY5MSwxMCArNjkxLDYgQEAg
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHbG9iYWxFdmVu
dEhhbmRsZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHbG9iYWxFdmVudEhhbmRsZXJzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR2xvYmFsUGVyZm9ybWFuY2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dsb2JhbFBlcmZvcm1hbmNlLmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmNw
cAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGln
aHRNYXAuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNI
aWdobGlnaHRSYW5nZUdyb3VwLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNIaWdobGlnaHRSYW5nZUdyb3VwLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFsbENvbGxlY3Rpb24uY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxBbGxDb2xsZWN0aW9u
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFu
Y2hvckVsZW1lbnQuY3BwCkBAIC04NzMsNiArODY5LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0
YVR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hkck1ldGFkYXRhVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0hpZ2hsaWdodE1hcC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91cC5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91
cC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3Rv
cnkuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hp
c3RvcnkuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNI
a2RmUGFyYW1zLmNwcApAQCAtOTM5LDYgKzkzOSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0
aW5nc0dlbmVyYXRlZC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0ludGVybmFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSW50ZXJuYWxzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFsc1NldExpa2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFs
c1NldExpa2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNJbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IDgyZDhkYzNlYmMzYjlmMzg3MmU0MGE0Mzc5MTRmNGZmNDZiZWJhMDAuLjBiZmFiZWNhNDMx
ZWUxMDZjZDhkN2EyN2Y0YmRmNjA2MmRiMDE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMTA4Miw2ICsxMDgyLDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2Vi
Q29yZSkvdGVzdGluZy9HQ09ic2VydmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbCBcCisgICAgJChXZWJDb3JlKS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvdGVzdGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5n
L01lbW9yeUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodE1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9IaWdobGlnaHRNYXAuY3BwCmluZGV4IDc5Mzc0MDk2M2QwMDA3NjVkNzUwOTIzZjY3YmI3M2Y5
NzljYTEyOTkuLmIyNDhlZjdkMmU1NTU3OTRkNGQ3M2NkOTdhOTczN2FmOGI0ZjEzMDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodE1hcC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmNwcApA
QCAtMzQsMTAgKzM0LDggQEAgdm9pZCBIaWdobGlnaHRNYXA6OmFkZEhpZ2hsaWdodEdyb3VwKFN0
cmluZyYgY3NzU3R5bGUsIEhpZ2hsaWdodFJhbmdlR3JvdXAgJmdyb3UKICAgICBVTlVTRURfUEFS
QU0oZ3JvdXApOwogfQogCi1ib29sIEhpZ2hsaWdodE1hcDo6YWRkRnJvbU1hcExpa2UoY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKK3ZvaWQgSGlnaGxpZ2h0TWFwOjpzZXRGcm9tTWFwTGlrZShTdHJpbmcm
JiwgUmVmPEhpZ2hsaWdodFJhbmdlR3JvdXA+JiYpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVl
KTsKLSAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgSGlnaGxpZ2h0TWFwOjpyZW1vdmUoY29u
c3QgU3RyaW5nJiB2YWx1ZSkKQEAgLTY3LDEyICs2NSw0IEBAIGJvb2wgSGlnaGxpZ2h0TWFwOjpk
ZWxldGVOYW1lZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEhpZ2hsaWdodE1hcDo6c2V0KGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpCi17Ci0gICAgVU5VU0VEX1BB
UkFNKG5hbWUpOwotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7Ci0gICAgCi0gICAgcmV0dXJuIHsg
fTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0TWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGln
aHRNYXAuaAppbmRleCBlY2RhYzA4YTJjZjg2ZDk4OTdjMzFjNjdjZjY1MzU0ZDUzZWEwMDE3Li42
NDFlMjRiZDgwZDc1ZmIyNTExODYyOWIyMmMwYzQ0Y2Y1Njk4MTRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaApAQCAtNDksOSArNDksNyBA
QCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0TmFtZWRJdGVtKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpOwogICAgIGJvb2wgZGVs
ZXRlTmFtZWRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIAotICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEhpZ2hsaWdodFJhbmdlR3Jv
dXAmIHZhbHVlKTsKLSAgICAKLSAgICBib29sIGFkZEZyb21NYXBMaWtlKGNvbnN0IFN0cmluZyYg
dmFsdWUpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIFJlZjxIaWdobGlnaHRS
YW5nZUdyb3VwPiYmKTsKICAgICB2b2lkIGNsZWFyKCkgeyB9OwogICAgIGJvb2wgcmVtb3ZlKGNv
bnN0IFN0cmluZyYgdmFsdWUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aGlnaGxpZ2h0L0hpZ2hsaWdodE1hcC5pZGwKaW5kZXggYTkwNzkxOTQ4ZjgwOTViZjdlYmJkZDhm
NDBlMmFjMTI3MmEzYjFiNy4uMzZlNWI1NTcyMTZlYzc1Y2UzNWY3OTE0MTFhMTg4MzUzNzJkNmVi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0
TWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRN
YXAuaWRsCkBAIC0zMCw1ICszMCw0IEBACiBdIGludGVyZmFjZSBIaWdobGlnaHRNYXAgewogICAg
IG1hcGxpa2U8RE9NU3RyaW5nLCBIaWdobGlnaHRSYW5nZUdyb3VwPjsKICAgICBbQ0VSZWFjdGlv
bnMsIE1heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHN0eWxlLCBIaWdo
bGlnaHRSYW5nZUdyb3VwIGdyb3VwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0
KERPTVN0cmluZyBzdHlsZSwgSGlnaGxpZ2h0UmFuZ2VHcm91cCBncm91cCk7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYz
MDNkN2Q1ZDQ5MTJkMjk1NWJlMTA0YjczMzZiZTFjYmJjYTgwNTAuLjdkY2M4MjQzODFlZGM3MDNi
ZjllYTZhMjU4YTdhODEyMWIyZjM1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNDgsNiArMTA0OCw4IEBACiAJCTQxMjlD
OUFGMUY1OUNGNUIwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjlDOTgwMUY1ODYxQzcwMDlENzQw
MyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0MTJERTRCODIxOTI4NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2Fw
YWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi87IH07
CiAJCTQxMzNDQjhCMjBGODBFOTkwMEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29j
b2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEz
M0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAg
Ki87IH07CisJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzZDNTc4
MjM5OEU1QjUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsKKwkJNDEzNkM1
N0MyMzk4RUNDRjAwMjQ5N0QzIC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U5MjFDMUY4NTU1MDA2MURC
RDYgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsKIAkJNDEzNkVDMEMyMzgzODg3MDAw
MEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNkVDMDkyMzgzODdDMzAwMEFEQkNFIC8qIEludGVybmFs
c1NldExpa2UuY3BwICovOyB9OwogCQk0MTM2RUMwRDIzODM4QTQ3MDAwQURCQ0UgLyogSW50ZXJu
YWxzU2V0TGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEzNkVDMEEyMzgzODdDNDAwMEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuaCAqLzsgfTsK
IAkJNDEzODBDMjcxRjM0MzZBQzAwMTU1RkRBIC8qIERPTUNhY2hlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4MEMyNTFGMzQzNjlBMDAxNTVGREEg
LyogRE9NQ2FjaGUuaCAqLzsgfTsKQEAgLTY3MjksNiArNjczMSw3IEBACiAJCTJENkYzRThDMUMx
RUNCMUMwMDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IE1vY2tQYWdlT3ZlcmxheS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJE
NkYzRTkyMUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tQYWdlT3ZlcmxheS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENSAvKiBKU0lu
dGVybmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNJbnRlcm5hbHNTZXRMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ2
RjNFOTIxQzFGODU1NTAwNjFEQkQ2IC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFsc01hcExpa2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MzFDMUY4NTU1MDA2MURCRDQgLyogSlNN
b2NrUGFnZU92ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2Nr
UGFnZU92ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3MEJBMTIxODA3
NERERjAwMDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJENzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcyOTEsNiArNzI5NCw5IEBACiAJ
CTQxMzFGM0I1MUY5NTVCQzUwMDU5OTk1QSAvKiBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDYXBhYmlsaXRpZXMuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3NjIzOThFNUI0MDAyNDk3RDMgLyogSW50ZXJu
YWxzTWFwTGlrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5hbHNNYXBMaWtlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzZDNTc4MjM5OEU1QjUwMDI0OTdEMyAvKiBJbnRlcm5h
bHNNYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludGVybmFsc01hcExpa2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3OTIzOThFNUI2MDAyNDk3RDMgLyog
SW50ZXJuYWxzTWFwTGlrZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxzTWFwTGlrZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzZFQzA3MjM4Mzg3NDYwMDBBREJDRSAvKiBJbnRlcm5h
bHNTZXRMaWtlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbHNTZXRMaWtlLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzNkVDMDkyMzgzODdDMzAwMEFEQkNF
IC8qIEludGVybmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSW50ZXJuYWxzU2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxMzZFQzBBMjM4Mzg3QzQwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybmFsc1NldExpa2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MDY5LDYgKzE4MDc1LDkgQEAKIAkJCQlBN0JGN0VEQzE0Qzkx
NzVBMDAxNDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5jcHAgKi8sCiAJCQkJQTdCRjdFREQxNEM5
MTc1QTAwMTQ0ODlEIC8qIEludGVybmFsU2V0dGluZ3MuaCAqLywKIAkJCQlBN0JGN0VERTE0Qzkx
NzVBMDAxNDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5pZGwgKi8sCisJCQkJNDEzNkM1NzgyMzk4
RTVCNTAwMjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuY3BwICovLAorCQkJCTQxMzZDNTc2MjM5
OEU1QjQwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmggKi8sCisJCQkJNDEzNkM1NzkyMzk4
RTVCNjAwMjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuaWRsICovLAogCQkJCTQxMzZFQzA5MjM4
Mzg3QzMwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmNwcCAqLywKIAkJCQk0MTM2RUMwQTIz
ODM4N0M0MDAwQURCQ0UgLyogSW50ZXJuYWxzU2V0TGlrZS5oICovLAogCQkJCTQxMzZFQzA3MjM4
Mzg3NDYwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmlkbCAqLywKQEAgLTE4MTM1LDYgKzE4
MTQ0LDcgQEAKIAkJCQlBN0I0RUE3OTE0QzkzNDg0MDBDOEY1QkYgLyogSlNJbnRlcm5hbFNldHRp
bmdzLmggKi8sCiAJCQkJNTNFRDNGREMxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJuYWxTZXR0
aW5nc0dlbmVyYXRlZC5jcHAgKi8sCiAJCQkJNTNFRDNGREQxNjdBODhFNzAwNjc2MkU2IC8qIEpT
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oICovLAorCQkJCTJENkYzRTkyMUMxRjg1NTUwMDYx
REJENiAvKiBKU0ludGVybmFsc01hcExpa2UuY3BwICovLAogCQkJCTJENkYzRTkyMUMxRjg1NTUw
MDYxREJENSAvKiBKU0ludGVybmFsc1NldExpa2UuY3BwICovLAogCQkJCUE3QjRFQTY4MTRDOTM0
ODQwMEM4RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuY3BwICovLAogCQkJCUE3QjRFQTY5MTRD
OTM0ODQwMEM4RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuaCAqLywKQEAgLTMzMzkxLDE2ICsz
MzQwMSwxOSBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJMkQ0MTUwREUxQzFGODY4QzAw
MEEzQkE0IC8qIChudWxsKSBpbiBTb3VyY2VzICovLAogCQkJCTUxNzE0RUFDMUNGNjU5NTEwMDQ3
MjNDNCAvKiBHQ09ic2VydmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0RBNkQ5MTM3
MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3OUYw
REExQjk3NzRGRTAwRUQwQTI3IC8qIEludGVybmFscy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE3
QkY3RURGMTRDOTE3NUEwMDE0NDg5RCAvKiBJbnRlcm5hbFNldHRpbmdzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCURFNUY4NjExMUZBMjM5REEwMDZEQjYzQSAvKiBJbnRlcm5hbFNldHRpbmdzR2Vu
ZXJhdGVkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAv
KiBJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMzZFQzBDMjM4Mzg4
NzAwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURF
NUY4NjEyMUZBMjM5RTcwMDZEQjYzQSAvKiBKU0dDT2JzZXJ2YXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE3NDBCNUE3MTRDOTM1QUYwMEE3N0ZBNCAvKiBKU0ludGVybmFsU2V0
dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTNFRDNGREUxNjdBODhFNzAwNjc2MkU2IC8q
IEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTM2
QzU3QzIzOThFQ0NGMDAyNDk3RDMgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJENDE1MERFMUMxRjg2OEMwMDBBM0JBMyAvKiBKU0ludGVybmFsc1NldExpa2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM5MzIxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTWFs
bG9jU3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDUzOTNEMzE3NUUwMTg2MDBD
MDcxMjMgLyogSlNNZW1vcnlJbmZvLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaAppbmRleCBjZDYyYjdmOTdkYmM3NzUwMmM4NTg5Yjlm
NjNmM2RlNDg4YzQ3ZDQ1Li5lOGY1ZTAzZjY3YTQyOWQ4ODEwZDhkYzdmODUyZGMyNmY1ZTBiZmE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaApAQCAtMzQsMTEg
KzM0LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotSlNDOjpKU01hcCYgY3JlYXRlQmFj
a2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6
SlNPYmplY3QmKTsKLXZvaWQgaW5pdGlhbGl6ZUJhY2tpbmdNYXAoSlNDOjpWTSYsIEpTQzo6SlNP
YmplY3QmLCBKU0M6OkpTTWFwJik7Ci1KU0M6OkpTVmFsdWUgZm9yd2FyZEF0dHJpYnV0ZUdldHRl
clRvQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU09iamVjdCYsIGNvbnN0
IEpTQzo6SWRlbnRpZmllciYpOwotSlNDOjpKU1ZhbHVlIGZvcndhcmRGdW5jdGlvbkNhbGxUb0Jh
Y2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNDOjpKU09i
amVjdCYsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwotSlNDOjpKU1ZhbHVlIGZvcndhcmRGb3JF
YWNoQ2FsbFRvQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUm
LCBKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmKTsKK1dFQkNPUkVfRVhQT1JUIEpT
Qzo6SlNNYXAmIGNyZWF0ZUJhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNH
bG9iYWxPYmplY3QmLCBKU0M6OkpTT2JqZWN0Jik7CitXRUJDT1JFX0VYUE9SVCB2b2lkIGluaXRp
YWxpemVCYWNraW5nTWFwKEpTQzo6Vk0mLCBKU0M6OkpTT2JqZWN0JiwgSlNDOjpKU01hcCYpOwor
V0VCQ09SRV9FWFBPUlQgSlNDOjpKU1ZhbHVlIGZvcndhcmRBdHRyaWJ1dGVHZXR0ZXJUb0JhY2tp
bmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmLCBjb25zdCBKU0M6Oklk
ZW50aWZpZXImKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6SlNWYWx1ZSBmb3J3YXJkRnVuY3Rpb25D
YWxsVG9CYWNraW5nTWFwKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIEpT
Qzo6SlNPYmplY3QmLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsKK1dFQkNPUkVfRVhQT1JUIEpT
Qzo6SlNWYWx1ZSBmb3J3YXJkRm9yRWFjaENhbGxUb0JhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9i
amVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6OkpTT2JqZWN0
Jik7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gdm9pZCBzeW5jaHJvbml6ZUJh
Y2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgV3JhcHBl
ckNsYXNzJik7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IEpTQzo6SlNWYWx1ZSBm
b3J3YXJkU2l6ZVRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgV3JhcHBlckNsYXNzJik7
CkBAIC00OSwxNCArNDksMTQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBKU0M6
OkpTVmFsdWUgZm9yd2FyZENsZWFyVG9NYXBMaWtlKEpTQzo6SlNHbG9iYWwKIHRlbXBsYXRlPHR5
cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgQ2FsbGJhY2s+IEpTQzo6SlNWYWx1ZSBmb3J3
YXJkRm9yRWFjaFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUm
LCBXcmFwcGVyQ2xhc3MmLCBDYWxsYmFjayYmKTsKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJD
bGFzcywgdHlwZW5hbWUgSXRlbVR5cGU+IEpTQzo6SlNWYWx1ZSBmb3J3YXJkR2V0VG9NYXBMaWtl
KEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIFdyYXBwZXJDbGFzcyYsIEl0
ZW1UeXBlJiYpOwogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVt
VHlwZT4gSlNDOjpKU1ZhbHVlIGZvcndhcmRIYXNUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVj
dCYsIEpTQzo6Q2FsbEZyYW1lJiwgV3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJik7Ci10ZW1wbGF0
ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3MsIHR5cGVuYW1lIEl0ZW1UeXBlPiBKU0M6OkpTVmFsdWUg
Zm9yd2FyZEFkZFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUm
LCBXcmFwcGVyQ2xhc3MmLCBJdGVtVHlwZSYmKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJD
bGFzcywgdHlwZW5hbWUgSXRlbVR5cGUsIHR5cGVuYW1lIFZhbHVlVHlwZT4gSlNDOjpKU1ZhbHVl
IGZvcndhcmRTZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1l
JiwgV3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJiwgVmFsdWVUeXBlJiYpOwogdGVtcGxhdGU8dHlw
ZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gSlNDOjpKU1ZhbHVlIGZvcndh
cmREZWxldGVUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwg
V3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJik7CiAKIGNsYXNzIERPTU1hcExpa2UgZmluYWwgOiBw
dWJsaWMgRE9NR3VhcmRlZDxKU0M6OkpTTWFwPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxE
T01NYXBMaWtlPiBjcmVhdGUoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpK
U01hcCYgbWFwKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTU1hcExpa2UoZ2xvYmFsT2JqZWN0
LCBtYXApKTsgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZT4g
dm9pZCBzZXQodHlwZW5hbWUgS2V5OjpQYXJhbWV0ZXJUeXBlJiYsIHR5cGVuYW1lIFZhbHVlOjpQ
YXJhbWV0ZXJUeXBlJiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFs
dWU+IHZvaWQgc2V0KHR5cGVuYW1lIEtleTo6UGFyYW1ldGVyVHlwZSwgdHlwZW5hbWUgVmFsdWU6
OlBhcmFtZXRlclR5cGUpOwogCiAgICAgSlNDOjpKU01hcCogYmFja2luZ01hcCgpIHsgcmV0dXJu
IGd1YXJkZWQoKTsgfQogCkBAIC02NCw3ICs2NCw3IEBAIHByb3RlY3RlZDoKICAgICBET01NYXBM
aWtlKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNYXAmIG1hcCkgOiBE
T01HdWFyZGVkPEpTQzo6SlNNYXA+KGdsb2JhbE9iamVjdCwgbWFwKSB7IH0KIH07CiAKLXRlbXBs
YXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWU+IGlubGluZSB2b2lkIERPTU1hcExpa2U6
OnNldCh0eXBlbmFtZSBLZXk6OlBhcmFtZXRlclR5cGUmJiBrZXksIHR5cGVuYW1lIFZhbHVlOjpQ
YXJhbWV0ZXJUeXBlJiYgdmFsdWUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZh
bHVlPiBpbmxpbmUgdm9pZCBET01NYXBMaWtlOjpzZXQodHlwZW5hbWUgS2V5OjpQYXJhbWV0ZXJU
eXBlIGtleSwgdHlwZW5hbWUgVmFsdWU6OlBhcmFtZXRlclR5cGUgdmFsdWUpCiB7CiAgICAgaWYg
KGlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTM0LDEwICsxMzQsMTAgQEAgdGVtcGxh
dGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gaW5saW5lIEpTQzo6
SlNWYWx1ZSBmb3J3YXJkSGEKICAgICByZXR1cm4gZm9yd2FyZEZ1bmN0aW9uQ2FsbFRvQmFja2lu
Z01hcChsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIG1hcExpa2UsIHZtLnByb3BlcnR5
TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmhhc1B1YmxpY05hbWUoKSk7CiB9CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgSXRlbVR5cGU+IGlubGluZSBKU0M6OkpTVmFs
dWUgZm9yd2FyZEFkZFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBKU0M6OkNhbGxGcmFtZSYgY2FsbEZyYW1lLCBXcmFwcGVyQ2xhc3MmIG1hcExpa2Us
IEl0ZW1UeXBlJiYgaXRlbSkKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5h
bWUgS2V5VHlwZSwgdHlwZW5hbWUgVmFsdWVUeXBlPiBpbmxpbmUgSlNDOjpKU1ZhbHVlIGZvcndh
cmRTZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNDOjpDYWxsRnJhbWUmIGNhbGxGcmFtZSwgV3JhcHBlckNsYXNzJiBtYXBMaWtlLCBLZXlUeXBl
JiYga2V5LCBWYWx1ZVR5cGUmJiB2YWx1ZSkKIHsKLSAgICBpZiAobWFwTGlrZS53cmFwcGVkKCku
YWRkRnJvbU1hcExpa2Uoc3RkOjpmb3J3YXJkPEl0ZW1UeXBlPihpdGVtKSkpCi0gICAgICAgIGZv
cndhcmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZy
YW1lLCBtYXBMaWtlLCBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KS5wcm9wZXJ0eU5h
bWVzLT5hZGQpOworICAgIG1hcExpa2Uud3JhcHBlZCgpLnNldEZyb21NYXBMaWtlKHN0ZDo6Zm9y
d2FyZDxLZXlUeXBlPihrZXkpLCBzdGQ6OmZvcndhcmQ8VmFsdWVUeXBlPih2YWx1ZSkpOworICAg
IGZvcndhcmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgY2Fs
bEZyYW1lLCBtYXBMaWtlLCBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KS5wcm9wZXJ0
eU5hbWVzLT5zZXQpOwogICAgIHJldHVybiAmbWFwTGlrZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQppbmRleCAzNGNlNzE5ZDU3ZDBiOTVjMWEz
ZGQ2MWZmZTkxMTE0ZjY3M2Q4Y2Q3Li44ZTEyNzU5N2E3MDRkYWEyYTIwYjZiYWMxYzI5OGE2ODg2
NTRjOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBh
cnNlci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5w
bQpAQCAtMTk5NywxNiArMTk5NywyMSBAQCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogCiAg
ICAgcmV0dXJuICRtYXBsaWtlIGlmICRpc1JlYWRPbmx5OwogCi0gICAgbXkgJGFkZE9wZXJhdGlv
biA9IElETE9wZXJhdGlvbi0+bmV3KCk7Ci0gICAgJGFkZE9wZXJhdGlvbi0+bmFtZSgiYWRkIik7
Ci0gICAgJGFkZE9wZXJhdGlvbi0+aXNNYXBMaWtlKDEpOwotICAgIG15ICRhZGRBcmd1bWVudCA9
IElETEFyZ3VtZW50LT5uZXcoKTsKLSAgICAkYWRkQXJndW1lbnQtPm5hbWUoImtleSIpOwotICAg
ICRhZGRBcmd1bWVudC0+dHlwZSgkbWFwbGlrZS0+a2V5VHlwZSk7Ci0gICAgJGFkZEFyZ3VtZW50
LT5leHRlbmRlZEF0dHJpYnV0ZXMoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgcHVzaChA
eyRhZGRPcGVyYXRpb24tPmFyZ3VtZW50c30sICgkYWRkQXJndW1lbnQpKTsKLSAgICAkYWRkT3Bl
cmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMoJG5vdEVudW1lcmFibGVFeHRlbmRlZEF0dHJpYnV0
ZUxpc3QpOwotICAgICRhZGRPcGVyYXRpb24tPnR5cGUobWFrZVNpbXBsZVR5cGUoImFueSIpKTsK
KyAgICBteSAkc2V0T3BlcmF0aW9uID0gSURMT3BlcmF0aW9uLT5uZXcoKTsKKyAgICAkc2V0T3Bl
cmF0aW9uLT5uYW1lKCJzZXQiKTsKKyAgICAkc2V0T3BlcmF0aW9uLT5pc01hcExpa2UoMSk7Cisg
ICAgbXkgJHNldEtleUFyZ3VtZW50ID0gSURMQXJndW1lbnQtPm5ldygpOworICAgICRzZXRLZXlB
cmd1bWVudC0+bmFtZSgia2V5Iik7CisgICAgJHNldEtleUFyZ3VtZW50LT50eXBlKCRtYXBsaWtl
LT5rZXlUeXBlKTsKKyAgICAkc2V0S2V5QXJndW1lbnQtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICBteSAkc2V0VmFsdWVBcmd1bWVudCA9IElETEFyZ3Vt
ZW50LT5uZXcoKTsKKyAgICAkc2V0VmFsdWVBcmd1bWVudC0+bmFtZSgidmFsdWUiKTsKKyAgICAk
c2V0VmFsdWVBcmd1bWVudC0+dHlwZSgkbWFwbGlrZS0+dmFsdWVUeXBlKTsKKyAgICAkc2V0VmFs
dWVBcmd1bWVudC0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwor
ICAgIHB1c2goQHskc2V0T3BlcmF0aW9uLT5hcmd1bWVudHN9LCAoJHNldEtleUFyZ3VtZW50KSk7
CisgICAgcHVzaChAeyRzZXRPcGVyYXRpb24tPmFyZ3VtZW50c30sICgkc2V0VmFsdWVBcmd1bWVu
dCkpOworICAgICRzZXRPcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJs
ZUV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgJHNldE9wZXJhdGlvbi0+dHlwZShtYWtlU2lt
cGxlVHlwZSgiYW55IikpOwogCiAgICAgbXkgJGNsZWFyT3BlcmF0aW9uID0gSURMT3BlcmF0aW9u
LT5uZXcoKTsKICAgICAkY2xlYXJPcGVyYXRpb24tPm5hbWUoImNsZWFyIik7CkBAIC0yMDI1LDcg
KzIwMzAsNyBAQCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogICAgICRkZWxldGVPcGVyYXRp
b24tPmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJsZUV4dGVuZGVkQXR0cmlidXRlTGlz
dCk7CiAgICAgJGRlbGV0ZU9wZXJhdGlvbi0+dHlwZShtYWtlU2ltcGxlVHlwZSgiYW55IikpOwog
Ci0gICAgcHVzaChAeyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJGFkZE9wZXJhdGlvbik7CisgICAg
cHVzaChAeyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJHNldE9wZXJhdGlvbik7CiAgICAgcHVzaChA
eyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJGNsZWFyT3BlcmF0aW9uKTsKICAgICBwdXNoKEB7JG1h
cGxpa2UtPm9wZXJhdGlvbnN9LCAkZGVsZXRlT3BlcmF0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAppbmRleCAz
Njg3YjgzMjMzMGI4Njc2N2FmYTdjZDBjMjg1NmUwOWQwMWI2NWRlLi5kMTBkMDg4YTMxOGU1ZDM2
ZjljODgxYThmZTg0NDAyMTJhMjZkODAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcApAQCAtNTIsNyArNTIsNyBAQCBK
U0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rp
b25FbnRyaWVzKEpTQzo6SlNHbG9iYQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uS2V5cyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExp
a2VQcm90b3R5cGVGdW5jdGlvblZhbHVlcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxs
RnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90
b3R5cGVGdW5jdGlvbkZvckVhY2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1l
Kik7Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBl
RnVuY3Rpb25BZGQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CitKU0M6
OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25T
ZXQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhcihKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkRlbGV0ZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIApAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRp
YyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU01hcExpa2VQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0K
ICAgICB7ICJrZXlzIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzTWFwTGlr
ZVByb3RvdHlwZUZ1bmN0aW9uS2V5cyksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJ2YWx1
ZXMiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0gfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBl
RnVuY3Rpb25WYWx1ZXMpLCAoaW50cHRyX3QpICgwKSB9IH0sCiAgICAgeyAiZm9yRWFjaCIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNN
YXBMaWtlUHJvdG90eXBlRnVuY3Rpb25Gb3JFYWNoKSwgKGludHB0cl90KSAoMSkgfSB9LAotICAg
IHsgImFkZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQcm90
b3R5cGVGdW5jdGlvbkFkZCksIChpbnRwdHJfdCkgKDEpIH0gfSwKKyAgICB7ICJzZXQiLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25T
ZXQpLCAoaW50cHRyX3QpICgyKSB9IH0sCiAgICAgeyAiY2xlYXIiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxS
YXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhciksIChpbnRw
dHJfdCkgKDApIH0gfSwKICAgICB7ICJkZWxldGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpG
dW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVG
dW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25EZWxldGUpLCAoaW50cHRyX3QpICgx
KSB9IH0sCiB9OwpAQCAtMzA0LDIxICszMDQsMjMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkZvckVhY2goSlNHbG9iYWxPYmplY3QqIGwK
ICAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNhbGw8anNNYXBMaWtlUHJvdG90
eXBlRnVuY3Rpb25Gb3JFYWNoQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUs
ICJmb3JFYWNoIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01h
cExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3Bl
cmF0aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01h
cExpa2VQcm90b3R5cGVGdW5jdGlvblNldEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3Bl
cmF0aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVj
dCk7CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93
U2NvcGUpOwotICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEp
KQorICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDIpKQogICAg
ICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUs
IGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpKTsKICAg
ICBhdXRvIGtleSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
Y2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHRvSlM8SURMQW55Pihmb3J3YXJkQWRkVG9NYXBMaWtlKCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCAqY2FsbEZyYW1lLCAqY2FzdGVkVGhpcywgV1RGTW92ZShrZXkpKSkpOworICAgIGF1dG8gdmFs
dWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFt
ZS0+dW5jaGVja2VkQXJndW1lbnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pT
PElETEFueT4oZm9yd2FyZFNldFRvTWFwTGlrZSgqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxG
cmFtZSwgKmNhc3RlZFRoaXMsIFdURk1vdmUoa2V5KSwgV1RGTW92ZSh2YWx1ZSkpKSk7CiB9CiAK
LUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25B
ZGQoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZy
YW1lKQorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5j
dGlvblNldChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUpCiB7Ci0gICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU01hcExpa2U+OjpjYWxsPGpz
TWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uQWRkQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpj
YWxsRnJhbWUsICJhZGQiKTsKKyAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNh
bGw8anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25TZXRCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhbGxGcmFtZSwgInNldCIpOwogfQogCiBzdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpT
VmFsdWUganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhckJvZHkoSlNDOjpKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlw
ZW5hbWUgSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMs
IEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAppbmRleCBmNjIzYWZkZDA5ZWU0YWUxOTZjYTJiOGVjYTEwMDFiNGUwYTU2NDM5Li4yNjY2
MmE4NzFhZjgzODhiYWI4YjFjMjY1YThmNDJmOTcxN2EzOWI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCkBAIC0xMDgsNiArMTA4LDcgQEAKICNpbmNsdWRlICJJbnN0cnVtZW50
aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0
dGluZ3MuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHNNYXBMaWtlLmgiCiAjaW5jbHVkZSAiSW50ZXJu
YWxzU2V0TGlrZS5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiSlNJbWFnZURhdGEuaCIKQEAgLTUyOTMsNiArNTI5NCwxMSBAQCBpbnQgSW50ZXJuYWxzOjpw
cm9jZXNzSWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIGdldEN1cnJlbnRQcm9jZXNzSUQo
KTsKIH0KIAorUmVmPEludGVybmFsc01hcExpa2U+IEludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxz
TWFwTGlrZSgpCit7CisgICAgcmV0dXJuIEludGVybmFsc01hcExpa2U6OmNyZWF0ZSgpOworfQor
CiBSZWY8SW50ZXJuYWxzU2V0TGlrZT4gSW50ZXJuYWxzOjpjcmVhdGVJbnRlcm5hbHNTZXRMaWtl
KCkKIHsKICAgICByZXR1cm4gSW50ZXJuYWxzU2V0TGlrZTo6Y3JlYXRlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaAppbmRleCA3OGI5YjI4ODdmNTNiYzUwYmFiNzYzNDdlMTg2NDdlNWRm
OGZiMmZhLi45M2E0NWJkOThhZTM4ODdlM2FhYzYyZjcxNmZmOWEwYWZkYmEyMDFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTc1LDYgKzc1LDcgQEAgY2xhc3MgSFRNTFNlbGVj
dEVsZW1lbnQ7CiBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgSW1hZ2VEYXRhOwogY2xh
c3MgSW5zcGVjdG9yU3R1YkZyb250ZW5kOworY2xhc3MgSW50ZXJuYWxzTWFwTGlrZTsKIGNsYXNz
IEludGVybmFsU2V0dGluZ3M7CiBjbGFzcyBJbnRlcm5hbHNTZXRMaWtlOwogY2xhc3MgTWFsbG9j
U3RhdGlzdGljczsKQEAgLTkwNyw2ICs5MDgsNyBAQCBwdWJsaWM6CiAgICAgaW50IHByb2Nlc3NJ
ZGVudGlmaWVyKCkgY29uc3Q7CiAKICAgICBSZWY8SW50ZXJuYWxzU2V0TGlrZT4gY3JlYXRlSW50
ZXJuYWxzU2V0TGlrZSgpOworICAgIFJlZjxJbnRlcm5hbHNNYXBMaWtlPiBjcmVhdGVJbnRlcm5h
bHNNYXBMaWtlKCk7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggOTM2YzJhN2FiMDMzYjZj
ZmZjMzZkODA4MmQwZGVmOGQ4NDFhMGQxMi4uNTlhNjkyZjc5MGIxOWNjODM3M2RkMjZkMGVjODIx
OTg2N2U3MWE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtODE2LDUg
KzgxNiw2IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogCiAgICAgW0NvbmRpdGlvbmFsPVBJ
Q1RVUkVfSU5fUElDVFVSRV9BUEldIHZvaWQgc2V0UGljdHVyZUluUGljdHVyZUFQSVRlc3RFbmFi
bGVkKEhUTUxWaWRlb0VsZW1lbnQgdmlkZW9FbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwogCisg
ICAgSW50ZXJuYWxzTWFwTGlrZSBjcmVhdGVJbnRlcm5hbHNNYXBMaWtlKCk7CiAgICAgSW50ZXJu
YWxzU2V0TGlrZSBjcmVhdGVJbnRlcm5hbHNTZXRMaWtlKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFmOGUzZDIwMDJiYzFk
NjJkNDU3YWU1MjUxYjVkZTc5ZTA2MjA0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5jcHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHNNYXBMaWtlLmgi
CisKKyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0ludGVybmFsc01hcExpa2U6OkludGVybmFsc01hcExpa2Uo
KQoreworICAgIG1fdmFsdWVzLmFkZCgiaW5pdCIsIDApOworfQorCit2b2lkIEludGVybmFsc01h
cExpa2U6OnN5bmNocm9uaXplQmFja2luZ01hcChSZWY8RE9NTWFwTGlrZT4mJiBtYXBMaWtlKQor
eworICAgIG1fbWFwTGlrZSA9IFdURk1vdmUobWFwTGlrZSk7CisgICAgZm9yIChhdXRvJiBrZXlW
YWx1ZSA6IG1fdmFsdWVzKQorICAgICAgICBtX21hcExpa2UtPnNldDxJRExET01TdHJpbmcsIElE
TFVuc2lnbmVkTG9uZz4oa2V5VmFsdWUua2V5LCBrZXlWYWx1ZS52YWx1ZSk7Cit9CisKK3ZvaWQg
SW50ZXJuYWxzTWFwTGlrZTo6c2V0RnJvbU1hcExpa2UoU3RyaW5nJiYga2V5LCB1bnNpZ25lZCB2
YWx1ZSkKK3sKKyAgICBtX3ZhbHVlcy5zZXQoV1RGTW92ZShrZXkpLCB2YWx1ZSk7Cit9CisKK3Zv
aWQgSW50ZXJuYWxzTWFwTGlrZTo6Y2xlYXIoKQoreworICAgIG1fdmFsdWVzLmNsZWFyKCk7Cit9
CisKK2Jvb2wgSW50ZXJuYWxzTWFwTGlrZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYga2V5KQorewor
ICAgIHJldHVybiBtX3ZhbHVlcy5yZW1vdmUoa2V5KTsKK30KKworVmVjdG9yPFN0cmluZz4gSW50
ZXJuYWxzTWFwTGlrZTo6aW5zcGVjdEtleXMoKSBjb25zdAoreworICAgIGF1dG8gcmVzdWx0ID0g
Y29weVRvVmVjdG9yKG1fdmFsdWVzLmtleXMoKSk7CisgICAgc3RkOjpzb3J0KHJlc3VsdC5iZWdp
bigpLCByZXN1bHQuZW5kKCksIFdURjo6Y29kZVBvaW50Q29tcGFyZUxlc3NUaGFuKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitWZWN0b3I8dW5zaWduZWQ+IEludGVybmFsc01hcExpa2U6Omlu
c3BlY3RWYWx1ZXMoKSBjb25zdAoreworICAgIGF1dG8gcmVzdWx0ID0gY29weVRvVmVjdG9yKG1f
dmFsdWVzLnZhbHVlcygpKTsKKyAgICBzdGQ6OnNvcnQocmVzdWx0LmJlZ2luKCksIHJlc3VsdC5l
bmQoKSwgc3RkOjpsZXNzPHVuc2lnbmVkPigpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsc01hcExpa2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzTWFw
TGlrZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI3MzNmNWMzMmViZjdhODM2NjFhNmE0MjBiNTgzZmRkMjQ0NzI0
MTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsc01h
cExpa2UuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkpTRE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnRlcm5hbHNN
YXBMaWtlIDogcHVibGljIFJlZkNvdW50ZWQ8SW50ZXJuYWxzTWFwTGlrZT4geworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8SW50ZXJuYWxzTWFwTGlrZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBJbnRlcm5hbHNNYXBMaWtlKTsgfQorCisgICAgdm9pZCBzZXRGcm9tTWFwTGlrZShT
dHJpbmcmJiwgdW5zaWduZWQpOworICAgIHZvaWQgY2xlYXIoKTsKKyAgICBib29sIHJlbW92ZShj
b25zdCBTdHJpbmcmKTsKKworICAgIHZvaWQgc3luY2hyb25pemVCYWNraW5nTWFwKFJlZjxET01N
YXBMaWtlPiYmKTsKKyAgICBET01NYXBMaWtlKiBiYWNraW5nTWFwKCkgeyByZXR1cm4gbV9tYXBM
aWtlLmdldCgpOyB9CisKKyAgICBWZWN0b3I8U3RyaW5nPiBpbnNwZWN0S2V5cygpIGNvbnN0Owor
ICAgIFZlY3Rvcjx1bnNpZ25lZD4gaW5zcGVjdFZhbHVlcygpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIEludGVybmFsc01hcExpa2UoKTsKKyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1f
dmFsdWVzOworICAgIFJlZlB0cjxET01NYXBMaWtlPiBtX21hcExpa2U7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsc01hcExpa2UuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtl
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45Nzk3NGExZWFlNzJkN2Y4YjYzNDczY2JjZTRjNDU1N2M3MmJlYTE1
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBM
aWtlLmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgTm9JbnRlcmZhY2VPYmplY3Qs
CisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQsCisgICAgU2tpcFZU
YWJsZVZhbGlkYXRpb24sCitdIGludGVyZmFjZSBJbnRlcm5hbHNNYXBMaWtlCit7CisgICAgbWFw
bGlrZTxET01TdHJpbmcsIHVuc2lnbmVkIGxvbmc+OworCisgICAgc2VxdWVuY2U8RE9NU3RyaW5n
PiBpbnNwZWN0S2V5cygpOworICAgIHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IGluc3BlY3RWYWx1
ZXMoKTsKK307CisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzY1MDg2M2Y0MjAxOWI3NDFmZTBmN2E2NDg2MjE5OWMyNjA3
YTc1YS4uMmQ5MWE4YjkzOGIzZjNiNmM1ZTk4NTIwYWYyYzE0NDlhMTY4ZGI4YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDE5LTEyLTA1ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBtYXBsaWtlIHNob3VsZCBkZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGpzL2RvbS9tYXBsaWtl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL21hcGxpa2UuaHRtbDogQWRk
ZWQuCisKIDIwMTktMTItMDQgIEphY2sgTGVlICA8c2hpaGNoaWVoX2xlZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBSZW5kZXJMYXlvdXRTdGF0ZTo6cGFnZUxvZ2ljYWxI
ZWlnaHQgY29uc3QgdmlhIFJlbmRlckdyaWQ6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
IGluc2lkZSBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlUG9zaXRpb24KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pz
L2RvbS9tYXBsaWtlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGE0MDk1NTI1NTZlMTM4MWI2
MDVmZWIwNjkzNGMyNzk5MWM0ZDA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL21hcGxpa2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEJhc2ljIGFk
ZC9yZW1vdmUvY2xlYXIgZnVuY3Rpb25hbGl0eSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvZG9tL21hcGxpa2UuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzM2ZTUyZGJjYjE4Zjg4MDk3MjlkNDE5ZGE0NWZjMTEyOWU2Y2I2NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiPgordGVzdCgo
KSA9PiB7CisgICAgYXNzZXJ0X3RydWUoISF3aW5kb3cuaW50ZXJuYWxzKTsKKyAgICBjb25zdCBt
YXBsaWtlID0gaW50ZXJuYWxzLmNyZWF0ZUludGVybmFsc01hcExpa2UoKTsKKyAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgWyJpbml0Il0sICJpbml0IGtleXMi
KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVlcygpLCBbMF0s
ICJpbml0IHZhbHVlcyIpOworICAgIGFzc2VydF90cnVlKG1hcGxpa2UuaGFzKCJpbml0IikpOwor
CisgICAgbWFwbGlrZS5zZXQoInRlc3RBIiwgMSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyht
YXBsaWtlLmluc3BlY3RLZXlzKCksIFsiaW5pdCIsICJ0ZXN0QSJdKTsKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVlcygpLCBbMCwgMV0pOworICAgIG1hcGxpa2Uu
c2V0KCJ0ZXN0QSIsIDIpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0
S2V5cygpLCBbImluaXQiLCAidGVzdEEiXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBs
aWtlLmluc3BlY3RWYWx1ZXMoKSwgWzAsIDJdKTsKKyAgICBtYXBsaWtlLnNldCgidGVzdEIiLCAz
KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgWyJpbml0
IiwgInRlc3RBIiwgInRlc3RCIl0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5p
bnNwZWN0VmFsdWVzKCksIFswLCAyLCAzXSk7CisKKyAgICBtYXBsaWtlLmRlbGV0ZSgiaW5pdCIp
OworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0S2V5cygpLCBbInRlc3RB
IiwgInRlc3RCIl0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0VmFs
dWVzKCksIFsyLCAzXSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKG1hcGxpa2Uuc2l6ZSwgMiwgInNp
emUiKTsKKworICAgIGxldCBlbnRyaWVzVGVzdCA9ICIiOworICAgIGZvciAobGV0IGVudHJ5IG9m
IG1hcGxpa2UuZW50cmllcygpKSB7CisgICAgICAgIGVudHJpZXNUZXN0ICs9IGVudHJ5OworICAg
ICAgICBlbnRyaWVzVGVzdCArPSAnICc7CisgICAgfQorICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1Rlc3QsICJ0ZXN0QSwyIHRlc3RCLDMgIiwgImVudHJpZXMgdGVzdCIpOworCisgICAgbGV0IHZh
bHVlc1Rlc3QgPSAiIjsKKyAgICBmb3IgKGxldCBlbnRyeSBvZiBtYXBsaWtlLnZhbHVlcygpKSB7
CisgICAgICAgIHZhbHVlc1Rlc3QgKz0gZW50cnk7CisgICAgfQorICAgIGFzc2VydF9lcXVhbHMo
dmFsdWVzVGVzdCwgIjIzIiwgInZhbHVlcyB0ZXN0Iik7CisKKyAgICBsZXQga2V5c1Rlc3QgPSAi
IjsKKyAgICBmb3IgKGxldCBlbnRyeSBvZiBtYXBsaWtlLmtleXMoKSkgeworICAgICAgICBrZXlz
VGVzdCArPSBlbnRyeTsKKyAgICB9CisgICAgYXNzZXJ0X2VxdWFscyhrZXlzVGVzdCwgInRlc3RB
dGVzdEIiLCAia2V5cyB0ZXN0Iik7CisKKyAgICBsZXQgZm9yRWFjaFRlc3QgPSAiIjsKKyAgICBt
YXBsaWtlLmZvckVhY2goKHZhbHVlLCBrZXksIG9iamVjdCkgPT4geworICAgICAgICBmb3JFYWNo
VGVzdCArPSBrZXk7CisgICAgICAgIGZvckVhY2hUZXN0ICs9ICcsJzsKKyAgICAgICAgZm9yRWFj
aFRlc3QgKz0gdmFsdWU7CisgICAgICAgIGZvckVhY2hUZXN0ICs9ICcgJzsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhvYmplY3QsIG1hcGxpa2UpOworICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMo
Zm9yRWFjaFRlc3QsICJ0ZXN0QSwyIHRlc3RCLDMgIiwgImZvckVhY2ggdGVzdCIpOworCisgICAg
bWFwbGlrZS5jbGVhcigpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0
S2V5cygpLCBbXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBsaWtlLmluc3BlY3RWYWx1
ZXMoKSwgW10pOworfSwgIkJhc2ljIGFkZC9yZW1vdmUvY2xlYXIgZnVuY3Rpb25hbGl0eSIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384900</attachid>
            <date>2019-12-05 05:37:30 -0800</date>
            <delta_ts>2019-12-05 09:44:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204877-20191205143728.patch</filename>
            <type>text/plain</type>
            <size>43505</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDkzNmFiNjIxY2U4M2Vl
M2YyNGM4NzYyNmRlZjFmYmNhZDFjZmQ1ZS4uZjEwMWI4MWM1ZTVmODNkM2ZkMTQ4NTBiYTg1MjA2
NDQ3YTc0YTM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE5LTEyLTA1ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBtYXBsaWtlIHNob3VsZCBk
ZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBtYXBsaWtlIGltcGxlbWVudGF0aW9uIHdhcyBkZWZpbmluZyBhbiBhZGQgbWV0
aG9kIGluc3RlYWQgb2YgYSBzZXQgbWV0aG9kLgorICAgICAgICBVcGRhdGUgaW1wbGVtZW50YXRp
b24gdG8gZGVmaW5lIGFuZCB1c2UgYSBzZXQgbWV0aG9kLgorICAgICAgICBBZGQgYW4gSW50ZXJu
YWxzTWFwTGlrZSB0byBhbGxvdyB0ZXN0aW5nLgorCisgICAgICAgIFRlc3Q6IGpzL2RvbS9tYXBs
aWtlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGln
aGxpZ2h0TWFwOjphZGRGcm9tTWFwTGlrZSk6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0TWFwLmg6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFw
LmlkbDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmg6CisgICAgICAgIChXZWJDb3JlOjpET01N
YXBMaWtlOjpzZXQpOgorICAgICAgICAoV2ViQ29yZTo6Zm9yd2FyZFNldFRvTWFwTGlrZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgIChwYXJzZU1h
cExpa2VQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNN
YXBMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9u
U2V0Qm9keSk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25B
ZGQpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxzTWFwTGlrZSk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcDogQWRkZWQuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzTWFwTGlrZS5pZGw6IEFkZGVkLgorCiAyMDE5LTEyLTA0ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBEb2N1bWVudEV2ZW50UXVldWUgYW5k
IFdvcmtlckV2ZW50UXVldWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNGJmYjIzN2ZhODMxMjdk
NGYyZjQyMjIxY2U1NDBlNTJhOWVkOTUxMy4uNTIyMDY4NzMxY2VlMTY1ZmNlMDJlMGU2YThkZjhj
OTVkYzFkMTUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2MDUsNiArMTYwNSw3IEBAIHNl
dChXZWJDb3JlVGVzdFN1cHBvcnRfSURMX0ZJTEVTCiAgICAgdGVzdGluZy9HQ09ic2VydmF0aW9u
LmlkbAogICAgIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKICAgICB0ZXN0aW5nL0ludGVy
bmFscy5pZGwKKyAgICB0ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsCiAgICAgdGVzdGluZy9J
bnRlcm5hbHNTZXRMaWtlLmlkbAogICAgIHRlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGwKICAg
ICB0ZXN0aW5nL01lbW9yeUluZm8uaWRsCkBAIC0xNjI2LDYgKzE2MjcsNyBAQCBsaXN0KEFQUEVO
RCBXZWJDb3JlVGVzdFN1cHBvcnRfU09VUkNFUwogICAgIHRlc3RpbmcvR0NPYnNlcnZhdGlvbi5j
cHAKICAgICB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCiAgICAgdGVzdGluZy9JbnRlcm5h
bHMuY3BwCisgICAgdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcAogICAgIHRlc3RpbmcvSW50
ZXJuYWxzU2V0TGlrZS5jcHAKICAgICB0ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmNwcAogICAgIHRl
c3RpbmcvTW9ja0dhbWVwYWQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdAppbmRleCAzN2U1NDVkMmViYTk0YjVkOWFjZjM1ZGNmMWZhNTBkYzVk
YWVhMDQ0Li4wMGJkYjk1YmQ1NWIwNTNkMGMxYTA3MTQzOTVlOTg2ZGU2ZDFmMjZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTEwOTIs
NiArMTA5Miw3IEBAICQoUFJPSkVDVF9ESVIpL3N2Zy94bGlua2F0dHJzLmluCiAkKFBST0pFQ1Rf
RElSKS90ZXN0aW5nL0dDT2JzZXJ2YXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL0ludGVybmFscy5pZGwK
KyQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5pZGwKICQoUFJPSkVDVF9E
SVIpL3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3Rpbmcv
TWFsbG9jU3RhdGlzdGljcy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTWVtb3J5SW5mby5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggZTE0Y2QxZjRmYTg3NWMwMTcyMWVhYjZiODA0MTZmZGU0ZDA0ODBlNC4uNmY1MTkwNGIy
OTNlZGQyNTFiMTAzMDVjZmU5ODllYjcxNGUzOTJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTY5MSwxMCArNjkxLDYgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHbG9iYWxFdmVudEhh
bmRsZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHbG9iYWxFdmVudEhhbmRsZXJzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR2xvYmFsUGVyZm9ybWFuY2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dsb2JhbFBlcmZvcm1hbmNlLmgKLSQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmNwcAot
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGlnaHRN
YXAuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdo
bGlnaHRSYW5nZUdyb3VwLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIaWdobGlnaHRSYW5nZUdyb3VwLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFsbENvbGxlY3Rpb24uY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxBbGxDb2xsZWN0aW9uLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEFuY2hv
ckVsZW1lbnQuY3BwCkBAIC04NzMsNiArODY5LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0YVR5
cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hk
ck1ldGFkYXRhVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0hpZ2hsaWdodE1hcC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0TWFwLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91cC5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmFuZ2VHcm91cC5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3Rvcnku
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3Rv
cnkuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIa2Rm
UGFyYW1zLmNwcApAQCAtOTM5LDYgKzkzOSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxTZXR0aW5n
c0dlbmVyYXRlZC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0ludGVybmFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTSW50ZXJuYWxzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSW50ZXJuYWxzTWFwTGlrZS5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFsc1NldExpa2UuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFsc1Nl
dExpa2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJ
bnRlcnNlY3Rpb25PYnNlcnZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IDgyZDhkYzNlYmMzYjlmMzg3MmU0MGE0Mzc5MTRmNGZmNDZiZWJhMDAuLjBiZmFiZWNhNDMxZWUx
MDZjZDhkN2EyN2Y0YmRmNjA2MmRiMDE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMTA4Miw2ICsxMDgyLDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29y
ZSkvdGVzdGluZy9HQ09ic2VydmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBcCisgICAgJChXZWJDb3JlKS90ZXN0aW5nL0ludGVybmFsc01hcExpa2UuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzU2V0TGlrZS5pZGwgXAogICAgICQoV2ViQ29yZSkv
dGVzdGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01l
bW9yeUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxp
Z2h0L0hpZ2hsaWdodE1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9I
aWdobGlnaHRNYXAuY3BwCmluZGV4IDc5Mzc0MDk2M2QwMDA3NjVkNzUwOTIzZjY3YmI3M2Y5Nzlj
YTEyOTkuLmIyNDhlZjdkMmU1NTU3OTRkNGQ3M2NkOTdhOTczN2FmOGI0ZjEzMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodE1hcC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmNwcApAQCAt
MzQsMTAgKzM0LDggQEAgdm9pZCBIaWdobGlnaHRNYXA6OmFkZEhpZ2hsaWdodEdyb3VwKFN0cmlu
ZyYgY3NzU3R5bGUsIEhpZ2hsaWdodFJhbmdlR3JvdXAgJmdyb3UKICAgICBVTlVTRURfUEFSQU0o
Z3JvdXApOwogfQogCi1ib29sIEhpZ2hsaWdodE1hcDo6YWRkRnJvbU1hcExpa2UoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKK3ZvaWQgSGlnaGxpZ2h0TWFwOjpzZXRGcm9tTWFwTGlrZShTdHJpbmcmJiwg
UmVmPEhpZ2hsaWdodFJhbmdlR3JvdXA+JiYpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlKTsK
LSAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgSGlnaGxpZ2h0TWFwOjpyZW1vdmUoY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKQEAgLTY3LDEyICs2NSw0IEBAIGJvb2wgSGlnaGxpZ2h0TWFwOjpkZWxl
dGVOYW1lZFByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEhpZ2hsaWdodE1hcDo6c2V0KGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpCi17Ci0gICAgVU5VU0VEX1BBUkFN
KG5hbWUpOwotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7Ci0gICAgCi0gICAgcmV0dXJuIHsgfTsK
LX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGln
aGxpZ2h0TWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRN
YXAuaAppbmRleCBlY2RhYzA4YTJjZjg2ZDk4OTdjMzFjNjdjZjY1MzU0ZDUzZWEwMDE3Li42NDFl
MjRiZDgwZDc1ZmIyNTExODYyOWIyMmMwYzQ0Y2Y1Njk4MTRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAuaApAQCAtNDksOSArNDksNyBAQCBw
dWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0TmFtZWRJdGVtKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgSGlnaGxpZ2h0UmFuZ2VHcm91cCYgdmFsdWUpOwogICAgIGJvb2wgZGVsZXRl
TmFtZWRQcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIAotICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEhpZ2hsaWdodFJhbmdlR3JvdXAm
IHZhbHVlKTsKLSAgICAKLSAgICBib29sIGFkZEZyb21NYXBMaWtlKGNvbnN0IFN0cmluZyYgdmFs
dWUpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIFJlZjxIaWdobGlnaHRSYW5n
ZUdyb3VwPiYmKTsKICAgICB2b2lkIGNsZWFyKCkgeyB9OwogICAgIGJvb2wgcmVtb3ZlKGNvbnN0
IFN0cmluZyYgdmFsdWUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFwLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodE1hcC5pZGwKaW5kZXggYTkwNzkxOTQ4ZjgwOTViZjdlYmJkZDhmNDBl
MmFjMTI3MmEzYjFiNy4uMzZlNWI1NTcyMTZlYzc1Y2UzNWY3OTE0MTFhMTg4MzUzNzJkNmViZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0TWFw
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRNYXAu
aWRsCkBAIC0zMCw1ICszMCw0IEBACiBdIGludGVyZmFjZSBIaWdobGlnaHRNYXAgewogICAgIG1h
cGxpa2U8RE9NU3RyaW5nLCBIaWdobGlnaHRSYW5nZUdyb3VwPjsKICAgICBbQ0VSZWFjdGlvbnMs
IE1heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAoRE9NU3RyaW5nIHN0eWxlLCBIaWdobGln
aHRSYW5nZUdyb3VwIGdyb3VwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0KERP
TVN0cmluZyBzdHlsZSwgSGlnaGxpZ2h0UmFuZ2VHcm91cCBncm91cCk7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYzMDNk
N2Q1ZDQ5MTJkMjk1NWJlMTA0YjczMzZiZTFjYmJjYTgwNTAuLjdkY2M4MjQzODFlZGM3MDNiZjll
YTZhMjU4YTdhODEyMWIyZjM1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNDgsNiArMTA0OCw4IEBACiAJCTQxMjlDOUFG
MUY1OUNGNUIwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjlDOTgwMUY1ODYxQzcwMDlENzQwMyAv
KiBSZWFkYWJsZVN0cmVhbVNpbmsuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTJERTRCODIxOTI4NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJp
bGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi87IH07CiAJ
CTQxMzNDQjhCMjBGODBFOTkwMEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2Eu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzM0NC
ODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi87
IH07CisJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzZDNTc4MjM5
OEU1QjUwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsKKwkJNDEzNkM1N0My
Mzk4RUNDRjAwMjQ5N0QzIC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDYg
LyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLzsgfTsKIAkJNDEzNkVDMEMyMzgzODg3MDAwMEFE
QkNFIC8qIEludGVybmFsc1NldExpa2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzNkVDMDkyMzgzODdDMzAwMEFEQkNFIC8qIEludGVybmFsc1Nl
dExpa2UuY3BwICovOyB9OwogCQk0MTM2RUMwRDIzODM4QTQ3MDAwQURCQ0UgLyogSW50ZXJuYWxz
U2V0TGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEzNkVDMEEyMzgzODdDNDAwMEFEQkNFIC8qIEludGVybmFsc1NldExpa2UuaCAqLzsgfTsKIAkJ
NDEzODBDMjcxRjM0MzZBQzAwMTU1RkRBIC8qIERPTUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4MEMyNTFGMzQzNjlBMDAxNTVGREEgLyog
RE9NQ2FjaGUuaCAqLzsgfTsKQEAgLTY3MjksNiArNjczMSw3IEBACiAJCTJENkYzRThDMUMxRUNC
MUMwMDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IE1vY2tQYWdlT3ZlcmxheS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENkYz
RTkyMUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tQYWdlT3ZlcmxheS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENSAvKiBKU0ludGVy
bmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJ
bnRlcm5hbHNTZXRMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ2RjNF
OTIxQzFGODU1NTAwNjFEQkQ2IC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFsc01hcExpa2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MzFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2Nr
UGFnZU92ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2NrUGFn
ZU92ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3MEJBMTIxODA3NERE
RjAwMDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJENzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcyOTEsNiArNzI5NCw5IEBACiAJCTQx
MzFGM0I1MUY5NTVCQzUwMDU5OTk1QSAvKiBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVk
aW9Tb3VyY2VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDYXBhYmlsaXRpZXMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3NjIzOThFNUI0MDAyNDk3RDMgLyogSW50ZXJuYWxz
TWFwTGlrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5hbHNNYXBMaWtlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxMzZDNTc4MjM5OEU1QjUwMDI0OTdEMyAvKiBJbnRlcm5hbHNN
YXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludGVybmFsc01hcExpa2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2QzU3OTIzOThFNUI2MDAyNDk3RDMgLyogSW50
ZXJuYWxzTWFwTGlrZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxzTWFwTGlrZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxMzZFQzA3MjM4Mzg3NDYwMDBBREJDRSAvKiBJbnRlcm5hbHNT
ZXRMaWtlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbHNTZXRMaWtlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzNkVDMDkyMzgzODdDMzAwMEFEQkNFIC8q
IEludGVybmFsc1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW50ZXJuYWxzU2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
MzZFQzBBMjM4Mzg3QzQwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybmFsc1NldExpa2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE4MDY5LDYgKzE4MDc1LDkgQEAKIAkJCQlBN0JGN0VEQzE0QzkxNzVB
MDAxNDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5jcHAgKi8sCiAJCQkJQTdCRjdFREQxNEM5MTc1
QTAwMTQ0ODlEIC8qIEludGVybmFsU2V0dGluZ3MuaCAqLywKIAkJCQlBN0JGN0VERTE0QzkxNzVB
MDAxNDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5pZGwgKi8sCisJCQkJNDEzNkM1NzgyMzk4RTVC
NTAwMjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuY3BwICovLAorCQkJCTQxMzZDNTc2MjM5OEU1
QjQwMDI0OTdEMyAvKiBJbnRlcm5hbHNNYXBMaWtlLmggKi8sCisJCQkJNDEzNkM1NzkyMzk4RTVC
NjAwMjQ5N0QzIC8qIEludGVybmFsc01hcExpa2UuaWRsICovLAogCQkJCTQxMzZFQzA5MjM4Mzg3
QzMwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmNwcCAqLywKIAkJCQk0MTM2RUMwQTIzODM4
N0M0MDAwQURCQ0UgLyogSW50ZXJuYWxzU2V0TGlrZS5oICovLAogCQkJCTQxMzZFQzA3MjM4Mzg3
NDYwMDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmlkbCAqLywKQEAgLTE4MTM1LDYgKzE4MTQ0
LDcgQEAKIAkJCQlBN0I0RUE3OTE0QzkzNDg0MDBDOEY1QkYgLyogSlNJbnRlcm5hbFNldHRpbmdz
LmggKi8sCiAJCQkJNTNFRDNGREMxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJuYWxTZXR0aW5n
c0dlbmVyYXRlZC5jcHAgKi8sCiAJCQkJNTNFRDNGREQxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50
ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oICovLAorCQkJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJE
NiAvKiBKU0ludGVybmFsc01hcExpa2UuY3BwICovLAogCQkJCTJENkYzRTkyMUMxRjg1NTUwMDYx
REJENSAvKiBKU0ludGVybmFsc1NldExpa2UuY3BwICovLAogCQkJCUE3QjRFQTY4MTRDOTM0ODQw
MEM4RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuY3BwICovLAogCQkJCUE3QjRFQTY5MTRDOTM0
ODQwMEM4RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuaCAqLywKQEAgLTMzMzkxLDE2ICszMzQw
MSwxOSBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJMkQ0MTUwREUxQzFGODY4QzAwMEEz
QkE0IC8qIChudWxsKSBpbiBTb3VyY2VzICovLAogCQkJCTUxNzE0RUFDMUNGNjU5NTEwMDQ3MjND
NCAvKiBHQ09ic2VydmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0RBNkQ5MTM3MzRF
NkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3OUYwREEx
Qjk3NzRGRTAwRUQwQTI3IC8qIEludGVybmFscy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE3QkY3
RURGMTRDOTE3NUEwMDE0NDg5RCAvKiBJbnRlcm5hbFNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCURFNUY4NjExMUZBMjM5REEwMDZEQjYzQSAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJh
dGVkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzZDNTdBMjM5OEU1QkUwMDI0OTdEMyAvKiBJ
bnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMzZFQzBDMjM4Mzg4NzAw
MDBBREJDRSAvKiBJbnRlcm5hbHNTZXRMaWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFNUY4
NjEyMUZBMjM5RTcwMDZEQjYzQSAvKiBKU0dDT2JzZXJ2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE3NDBCNUE3MTRDOTM1QUYwMEE3N0ZBNCAvKiBKU0ludGVybmFsU2V0dGlu
Z3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTNFRDNGREUxNjdBODhFNzAwNjc2MkU2IC8qIEpT
SW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTM2QzU3
QzIzOThFQ0NGMDAyNDk3RDMgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTJENDE1MERFMUMxRjg2OEMwMDBBM0JBMyAvKiBKU0ludGVybmFsc1NldExpa2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM5MzIxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTWFsbG9j
U3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDUzOTNEMzE3NUUwMTg2MDBDMDcx
MjMgLyogSlNNZW1vcnlJbmZvLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01NYXBMaWtlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTU1hcExpa2UuaAppbmRleCBjZDYyYjdmOTdkYmM3NzUwMmM4NTg5YjlmNjNm
M2RlNDg4YzQ3ZDQ1Li5lOGY1ZTAzZjY3YTQyOWQ4ODEwZDhkYzdmODUyZGMyNmY1ZTBiZmE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTU1hcExpa2UuaApAQCAtMzQsMTEgKzM0
LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotSlNDOjpKU01hcCYgY3JlYXRlQmFja2lu
Z01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNP
YmplY3QmKTsKLXZvaWQgaW5pdGlhbGl6ZUJhY2tpbmdNYXAoSlNDOjpWTSYsIEpTQzo6SlNPYmpl
Y3QmLCBKU0M6OkpTTWFwJik7Ci1KU0M6OkpTVmFsdWUgZm9yd2FyZEF0dHJpYnV0ZUdldHRlclRv
QmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU09iamVjdCYsIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYpOwotSlNDOjpKU1ZhbHVlIGZvcndhcmRGdW5jdGlvbkNhbGxUb0JhY2tp
bmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNDOjpKU09iamVj
dCYsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwotSlNDOjpKU1ZhbHVlIGZvcndhcmRGb3JFYWNo
Q2FsbFRvQmFja2luZ01hcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBK
U0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6
SlNNYXAmIGNyZWF0ZUJhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNHbG9i
YWxPYmplY3QmLCBKU0M6OkpTT2JqZWN0Jik7CitXRUJDT1JFX0VYUE9SVCB2b2lkIGluaXRpYWxp
emVCYWNraW5nTWFwKEpTQzo6Vk0mLCBKU0M6OkpTT2JqZWN0JiwgSlNDOjpKU01hcCYpOworV0VC
Q09SRV9FWFBPUlQgSlNDOjpKU1ZhbHVlIGZvcndhcmRBdHRyaWJ1dGVHZXR0ZXJUb0JhY2tpbmdN
YXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmLCBjb25zdCBKU0M6OklkZW50
aWZpZXImKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6SlNWYWx1ZSBmb3J3YXJkRnVuY3Rpb25DYWxs
VG9CYWNraW5nTWFwKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIEpTQzo6
SlNPYmplY3QmLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsKK1dFQkNPUkVfRVhQT1JUIEpTQzo6
SlNWYWx1ZSBmb3J3YXJkRm9yRWFjaENhbGxUb0JhY2tpbmdNYXAoSlNDOjpKU0dsb2JhbE9iamVj
dCYsIEpTQzo6Q2FsbEZyYW1lJiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6OkpTT2JqZWN0Jik7
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gdm9pZCBzeW5jaHJvbml6ZUJhY2tp
bmdNYXAoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgV3JhcHBlckNs
YXNzJik7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IEpTQzo6SlNWYWx1ZSBmb3J3
YXJkU2l6ZVRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgV3JhcHBlckNsYXNzJik7CkBA
IC00OSwxNCArNDksMTQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBKU0M6OkpT
VmFsdWUgZm9yd2FyZENsZWFyVG9NYXBMaWtlKEpTQzo6SlNHbG9iYWwKIHRlbXBsYXRlPHR5cGVu
YW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgQ2FsbGJhY2s+IEpTQzo6SlNWYWx1ZSBmb3J3YXJk
Rm9yRWFjaFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBX
cmFwcGVyQ2xhc3MmLCBDYWxsYmFjayYmKTsKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFz
cywgdHlwZW5hbWUgSXRlbVR5cGU+IEpTQzo6SlNWYWx1ZSBmb3J3YXJkR2V0VG9NYXBMaWtlKEpT
Qzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYsIFdyYXBwZXJDbGFzcyYsIEl0ZW1U
eXBlJiYpOwogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlw
ZT4gSlNDOjpKU1ZhbHVlIGZvcndhcmRIYXNUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYs
IEpTQzo6Q2FsbEZyYW1lJiwgV3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJik7Ci10ZW1wbGF0ZTx0
eXBlbmFtZSBXcmFwcGVyQ2xhc3MsIHR5cGVuYW1lIEl0ZW1UeXBlPiBKU0M6OkpTVmFsdWUgZm9y
d2FyZEFkZFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmLCBX
cmFwcGVyQ2xhc3MmLCBJdGVtVHlwZSYmKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFz
cywgdHlwZW5hbWUgSXRlbVR5cGUsIHR5cGVuYW1lIFZhbHVlVHlwZT4gSlNDOjpKU1ZhbHVlIGZv
cndhcmRTZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwg
V3JhcHBlckNsYXNzJiwgSXRlbVR5cGUmJiwgVmFsdWVUeXBlJiYpOwogdGVtcGxhdGU8dHlwZW5h
bWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gSlNDOjpKU1ZhbHVlIGZvcndhcmRE
ZWxldGVUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJiwgV3Jh
cHBlckNsYXNzJiwgSXRlbVR5cGUmJik7CiAKIGNsYXNzIERPTU1hcExpa2UgZmluYWwgOiBwdWJs
aWMgRE9NR3VhcmRlZDxKU0M6OkpTTWFwPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxET01N
YXBMaWtlPiBjcmVhdGUoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU01h
cCYgbWFwKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTU1hcExpa2UoZ2xvYmFsT2JqZWN0LCBt
YXApKTsgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZT4gdm9p
ZCBzZXQodHlwZW5hbWUgS2V5OjpQYXJhbWV0ZXJUeXBlJiYsIHR5cGVuYW1lIFZhbHVlOjpQYXJh
bWV0ZXJUeXBlJiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWU+
IHZvaWQgc2V0KHR5cGVuYW1lIEtleTo6UGFyYW1ldGVyVHlwZSwgdHlwZW5hbWUgVmFsdWU6OlBh
cmFtZXRlclR5cGUpOwogCiAgICAgSlNDOjpKU01hcCogYmFja2luZ01hcCgpIHsgcmV0dXJuIGd1
YXJkZWQoKTsgfQogCkBAIC02NCw3ICs2NCw3IEBAIHByb3RlY3RlZDoKICAgICBET01NYXBMaWtl
KEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNNYXAmIG1hcCkgOiBET01H
dWFyZGVkPEpTQzo6SlNNYXA+KGdsb2JhbE9iamVjdCwgbWFwKSB7IH0KIH07CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWU+IGlubGluZSB2b2lkIERPTU1hcExpa2U6OnNl
dCh0eXBlbmFtZSBLZXk6OlBhcmFtZXRlclR5cGUmJiBrZXksIHR5cGVuYW1lIFZhbHVlOjpQYXJh
bWV0ZXJUeXBlJiYgdmFsdWUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVl
PiBpbmxpbmUgdm9pZCBET01NYXBMaWtlOjpzZXQodHlwZW5hbWUgS2V5OjpQYXJhbWV0ZXJUeXBl
IGtleSwgdHlwZW5hbWUgVmFsdWU6OlBhcmFtZXRlclR5cGUgdmFsdWUpCiB7CiAgICAgaWYgKGlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTM0LDEwICsxMzQsMTAgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgV3JhcHBlckNsYXNzLCB0eXBlbmFtZSBJdGVtVHlwZT4gaW5saW5lIEpTQzo6SlNW
YWx1ZSBmb3J3YXJkSGEKICAgICByZXR1cm4gZm9yd2FyZEZ1bmN0aW9uQ2FsbFRvQmFja2luZ01h
cChsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIG1hcExpa2UsIHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLmhhc1B1YmxpY05hbWUoKSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVu
YW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUgSXRlbVR5cGU+IGlubGluZSBKU0M6OkpTVmFsdWUg
Zm9yd2FyZEFkZFRvTWFwTGlrZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU0M6OkNhbGxGcmFtZSYgY2FsbEZyYW1lLCBXcmFwcGVyQ2xhc3MmIG1hcExpa2UsIEl0
ZW1UeXBlJiYgaXRlbSkKK3RlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcywgdHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgVmFsdWVUeXBlPiBpbmxpbmUgSlNDOjpKU1ZhbHVlIGZvcndhcmRT
ZXRUb01hcExpa2UoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlND
OjpDYWxsRnJhbWUmIGNhbGxGcmFtZSwgV3JhcHBlckNsYXNzJiBtYXBMaWtlLCBLZXlUeXBlJiYg
a2V5LCBWYWx1ZVR5cGUmJiB2YWx1ZSkKIHsKLSAgICBpZiAobWFwTGlrZS53cmFwcGVkKCkuYWRk
RnJvbU1hcExpa2Uoc3RkOjpmb3J3YXJkPEl0ZW1UeXBlPihpdGVtKSkpCi0gICAgICAgIGZvcndh
cmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1l
LCBtYXBMaWtlLCBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KS5wcm9wZXJ0eU5hbWVz
LT5hZGQpOworICAgIG1hcExpa2Uud3JhcHBlZCgpLnNldEZyb21NYXBMaWtlKHN0ZDo6Zm9yd2Fy
ZDxLZXlUeXBlPihrZXkpLCBzdGQ6OmZvcndhcmQ8VmFsdWVUeXBlPih2YWx1ZSkpOworICAgIGZv
cndhcmRGdW5jdGlvbkNhbGxUb0JhY2tpbmdNYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZy
YW1lLCBtYXBMaWtlLCBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KS5wcm9wZXJ0eU5h
bWVzLT5zZXQpOwogICAgIHJldHVybiAmbWFwTGlrZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQppbmRleCAzNGNlNzE5ZDU3ZDBiOTVjMWEzZGQ2
MWZmZTkxMTE0ZjY3M2Q4Y2Q3Li44ZTEyNzU5N2E3MDRkYWEyYTIwYjZiYWMxYzI5OGE2ODg2NTRj
OGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNl
ci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQpA
QCAtMTk5NywxNiArMTk5NywyMSBAQCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogCiAgICAg
cmV0dXJuICRtYXBsaWtlIGlmICRpc1JlYWRPbmx5OwogCi0gICAgbXkgJGFkZE9wZXJhdGlvbiA9
IElETE9wZXJhdGlvbi0+bmV3KCk7Ci0gICAgJGFkZE9wZXJhdGlvbi0+bmFtZSgiYWRkIik7Ci0g
ICAgJGFkZE9wZXJhdGlvbi0+aXNNYXBMaWtlKDEpOwotICAgIG15ICRhZGRBcmd1bWVudCA9IElE
TEFyZ3VtZW50LT5uZXcoKTsKLSAgICAkYWRkQXJndW1lbnQtPm5hbWUoImtleSIpOwotICAgICRh
ZGRBcmd1bWVudC0+dHlwZSgkbWFwbGlrZS0+a2V5VHlwZSk7Ci0gICAgJGFkZEFyZ3VtZW50LT5l
eHRlbmRlZEF0dHJpYnV0ZXMoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgcHVzaChAeyRh
ZGRPcGVyYXRpb24tPmFyZ3VtZW50c30sICgkYWRkQXJndW1lbnQpKTsKLSAgICAkYWRkT3BlcmF0
aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMoJG5vdEVudW1lcmFibGVFeHRlbmRlZEF0dHJpYnV0ZUxp
c3QpOwotICAgICRhZGRPcGVyYXRpb24tPnR5cGUobWFrZVNpbXBsZVR5cGUoImFueSIpKTsKKyAg
ICBteSAkc2V0T3BlcmF0aW9uID0gSURMT3BlcmF0aW9uLT5uZXcoKTsKKyAgICAkc2V0T3BlcmF0
aW9uLT5uYW1lKCJzZXQiKTsKKyAgICAkc2V0T3BlcmF0aW9uLT5pc01hcExpa2UoMSk7CisgICAg
bXkgJHNldEtleUFyZ3VtZW50ID0gSURMQXJndW1lbnQtPm5ldygpOworICAgICRzZXRLZXlBcmd1
bWVudC0+bmFtZSgia2V5Iik7CisgICAgJHNldEtleUFyZ3VtZW50LT50eXBlKCRtYXBsaWtlLT5r
ZXlUeXBlKTsKKyAgICAkc2V0S2V5QXJndW1lbnQtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICBteSAkc2V0VmFsdWVBcmd1bWVudCA9IElETEFyZ3VtZW50
LT5uZXcoKTsKKyAgICAkc2V0VmFsdWVBcmd1bWVudC0+bmFtZSgidmFsdWUiKTsKKyAgICAkc2V0
VmFsdWVBcmd1bWVudC0+dHlwZSgkbWFwbGlrZS0+dmFsdWVUeXBlKTsKKyAgICAkc2V0VmFsdWVB
cmd1bWVudC0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOworICAg
IHB1c2goQHskc2V0T3BlcmF0aW9uLT5hcmd1bWVudHN9LCAoJHNldEtleUFyZ3VtZW50KSk7Cisg
ICAgcHVzaChAeyRzZXRPcGVyYXRpb24tPmFyZ3VtZW50c30sICgkc2V0VmFsdWVBcmd1bWVudCkp
OworICAgICRzZXRPcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJsZUV4
dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgJHNldE9wZXJhdGlvbi0+dHlwZShtYWtlU2ltcGxl
VHlwZSgiYW55IikpOwogCiAgICAgbXkgJGNsZWFyT3BlcmF0aW9uID0gSURMT3BlcmF0aW9uLT5u
ZXcoKTsKICAgICAkY2xlYXJPcGVyYXRpb24tPm5hbWUoImNsZWFyIik7CkBAIC0yMDI1LDcgKzIw
MzAsNyBAQCBzdWIgcGFyc2VNYXBMaWtlUHJvcGVydGllcwogICAgICRkZWxldGVPcGVyYXRpb24t
PmV4dGVuZGVkQXR0cmlidXRlcygkbm90RW51bWVyYWJsZUV4dGVuZGVkQXR0cmlidXRlTGlzdCk7
CiAgICAgJGRlbGV0ZU9wZXJhdGlvbi0+dHlwZShtYWtlU2ltcGxlVHlwZSgiYW55IikpOwogCi0g
ICAgcHVzaChAeyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJGFkZE9wZXJhdGlvbik7CisgICAgcHVz
aChAeyRtYXBsaWtlLT5vcGVyYXRpb25zfSwgJHNldE9wZXJhdGlvbik7CiAgICAgcHVzaChAeyRt
YXBsaWtlLT5vcGVyYXRpb25zfSwgJGNsZWFyT3BlcmF0aW9uKTsKICAgICBwdXNoKEB7JG1hcGxp
a2UtPm9wZXJhdGlvbnN9LCAkZGVsZXRlT3BlcmF0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAppbmRleCAzNjg3
YjgzMjMzMGI4Njc2N2FmYTdjZDBjMjg1NmUwOWQwMWI2NWRlLi5kMTBkMDg4YTMxOGU1ZDM2Zjlj
ODgxYThmZTg0NDAyMTJhMjZkODAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcApAQCAtNTIsNyArNTIsNyBAQCBKU0M6
OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25F
bnRyaWVzKEpTQzo6SlNHbG9iYQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
TWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uS2V5cyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpD
YWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQ
cm90b3R5cGVGdW5jdGlvblZhbHVlcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJh
bWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5
cGVGdW5jdGlvbkZvckVhY2goSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7
Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVu
Y3Rpb25BZGQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CitKU0M6OkVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25TZXQo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhcihKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkRlbGV0ZShKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIApAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBj
b25zdCBIYXNoVGFibGVWYWx1ZSBKU01hcExpa2VQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAg
ICB7ICJrZXlzIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzTWFwTGlrZVBy
b3RvdHlwZUZ1bmN0aW9uS2V5cyksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJ2YWx1ZXMi
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVu
Y3Rpb25WYWx1ZXMpLCAoaW50cHRyX3QpICgwKSB9IH0sCiAgICAgeyAiZm9yRWFjaCIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBM
aWtlUHJvdG90eXBlRnVuY3Rpb25Gb3JFYWNoKSwgKGludHB0cl90KSAoMSkgfSB9LAotICAgIHsg
ImFkZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQcm90b3R5
cGVGdW5jdGlvbkFkZCksIChpbnRwdHJfdCkgKDEpIH0gfSwKKyAgICB7ICJzZXQiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25TZXQp
LCAoaW50cHRyX3QpICgyKSB9IH0sCiAgICAgeyAiY2xlYXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdO
YXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhciksIChpbnRwdHJf
dCkgKDApIH0gfSwKICAgICB7ICJkZWxldGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5j
dGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5j
dGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25EZWxldGUpLCAoaW50cHRyX3QpICgxKSB9
IH0sCiB9OwpAQCAtMzA0LDIxICszMDQsMjMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkZvckVhY2goSlNHbG9iYWxPYmplY3QqIGwKICAg
ICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNhbGw8anNNYXBMaWtlUHJvdG90eXBl
RnVuY3Rpb25Gb3JFYWNoQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJm
b3JFYWNoIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExp
a2VQcm90b3R5cGVGdW5jdGlvbkFkZEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0
aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dTY29w
ZSYgdGhyb3dTY29wZSkKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExp
a2VQcm90b3R5cGVGdW5jdGlvblNldEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0
aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dTY29w
ZSYgdGhyb3dTY29wZSkKIHsKICAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7
CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2Nv
cGUpOwotICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQor
ICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDIpKQogICAgICAg
ICByZXR1cm4gdGhyb3dWTUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGNy
ZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpKTsKICAgICBh
dXRvIGtleSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2Fs
bEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHRvSlM8SURMQW55Pihmb3J3YXJkQWRkVG9NYXBMaWtlKCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAq
Y2FsbEZyYW1lLCAqY2FzdGVkVGhpcywgV1RGTW92ZShrZXkpKSkpOworICAgIGF1dG8gdmFsdWUg
PSBjb252ZXJ0PElETERPTVN0cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+
dW5jaGVja2VkQXJndW1lbnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTPElE
TEFueT4oZm9yd2FyZFNldFRvTWFwTGlrZSgqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFt
ZSwgKmNhc3RlZFRoaXMsIFdURk1vdmUoa2V5KSwgV1RGTW92ZSh2YWx1ZSkpKSk7CiB9CiAKLUVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25BZGQo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KQorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc01hcExpa2VQcm90b3R5cGVGdW5jdGlv
blNldChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCiB7Ci0gICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU01hcExpa2U+OjpjYWxsPGpzTWFw
TGlrZVByb3RvdHlwZUZ1bmN0aW9uQWRkQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxs
RnJhbWUsICJhZGQiKTsKKyAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OmNhbGw8
anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25TZXRCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
KmNhbGxGcmFtZSwgInNldCIpOwogfQogCiBzdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFs
dWUganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25DbGVhckJvZHkoSlNDOjpKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5h
bWUgSURMT3BlcmF0aW9uPEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpT
Qzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAppbmRleCBmNjIzYWZkZDA5ZWU0YWUxOTZjYTJiOGVjYTEwMDFiNGUwYTU2NDM5Li4yNjY2MmE4
NzFhZjgzODhiYWI4YjFjMjY1YThmNDJmOTcxN2EzOWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCkBAIC0xMDgsNiArMTA4LDcgQEAKICNpbmNsdWRlICJJbnN0cnVtZW50aW5n
QWdlbnRzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0dGlu
Z3MuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHNNYXBMaWtlLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxz
U2V0TGlrZS5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
SlNJbWFnZURhdGEuaCIKQEAgLTUyOTMsNiArNTI5NCwxMSBAQCBpbnQgSW50ZXJuYWxzOjpwcm9j
ZXNzSWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIGdldEN1cnJlbnRQcm9jZXNzSUQoKTsK
IH0KIAorUmVmPEludGVybmFsc01hcExpa2U+IEludGVybmFsczo6Y3JlYXRlSW50ZXJuYWxzTWFw
TGlrZSgpCit7CisgICAgcmV0dXJuIEludGVybmFsc01hcExpa2U6OmNyZWF0ZSgpOworfQorCiBS
ZWY8SW50ZXJuYWxzU2V0TGlrZT4gSW50ZXJuYWxzOjpjcmVhdGVJbnRlcm5hbHNTZXRMaWtlKCkK
IHsKICAgICByZXR1cm4gSW50ZXJuYWxzU2V0TGlrZTo6Y3JlYXRlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAppbmRleCA3OGI5YjI4ODdmNTNiYzUwYmFiNzYzNDdlMTg2NDdlNWRmOGZi
MmZhLi45M2E0NWJkOThhZTM4ODdlM2FhYzYyZjcxNmZmOWEwYWZkYmEyMDFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTc1LDYgKzc1LDcgQEAgY2xhc3MgSFRNTFNlbGVjdEVs
ZW1lbnQ7CiBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3Mg
SW5zcGVjdG9yU3R1YkZyb250ZW5kOworY2xhc3MgSW50ZXJuYWxzTWFwTGlrZTsKIGNsYXNzIElu
dGVybmFsU2V0dGluZ3M7CiBjbGFzcyBJbnRlcm5hbHNTZXRMaWtlOwogY2xhc3MgTWFsbG9jU3Rh
dGlzdGljczsKQEAgLTkwNyw2ICs5MDgsNyBAQCBwdWJsaWM6CiAgICAgaW50IHByb2Nlc3NJZGVu
dGlmaWVyKCkgY29uc3Q7CiAKICAgICBSZWY8SW50ZXJuYWxzU2V0TGlrZT4gY3JlYXRlSW50ZXJu
YWxzU2V0TGlrZSgpOworICAgIFJlZjxJbnRlcm5hbHNNYXBMaWtlPiBjcmVhdGVJbnRlcm5hbHNN
YXBMaWtlKCk7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggOTM2YzJhN2FiMDMzYjZjZmZj
MzZkODA4MmQwZGVmOGQ4NDFhMGQxMi4uNTlhNjkyZjc5MGIxOWNjODM3M2RkMjZkMGVjODIxOTg2
N2U3MWE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtODE2LDUgKzgx
Niw2IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogCiAgICAgW0NvbmRpdGlvbmFsPVBJQ1RV
UkVfSU5fUElDVFVSRV9BUEldIHZvaWQgc2V0UGljdHVyZUluUGljdHVyZUFQSVRlc3RFbmFibGVk
KEhUTUxWaWRlb0VsZW1lbnQgdmlkZW9FbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwogCisgICAg
SW50ZXJuYWxzTWFwTGlrZSBjcmVhdGVJbnRlcm5hbHNNYXBMaWtlKCk7CiAgICAgSW50ZXJuYWxz
U2V0TGlrZSBjcmVhdGVJbnRlcm5hbHNTZXRMaWtlKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFmOGUzZDIwMDJiYzFkNjJk
NDU3YWU1MjUxYjVkZTc5ZTA2MjA0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlrZS5jcHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHNNYXBMaWtlLmgiCisK
KyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0ludGVybmFsc01hcExpa2U6OkludGVybmFsc01hcExpa2UoKQor
eworICAgIG1fdmFsdWVzLmFkZCgiaW5pdCIsIDApOworfQorCit2b2lkIEludGVybmFsc01hcExp
a2U6OnN5bmNocm9uaXplQmFja2luZ01hcChSZWY8RE9NTWFwTGlrZT4mJiBtYXBMaWtlKQorewor
ICAgIG1fbWFwTGlrZSA9IFdURk1vdmUobWFwTGlrZSk7CisgICAgZm9yIChhdXRvJiBrZXlWYWx1
ZSA6IG1fdmFsdWVzKQorICAgICAgICBtX21hcExpa2UtPnNldDxJRExET01TdHJpbmcsIElETFVu
c2lnbmVkTG9uZz4oa2V5VmFsdWUua2V5LCBrZXlWYWx1ZS52YWx1ZSk7Cit9CisKK3ZvaWQgSW50
ZXJuYWxzTWFwTGlrZTo6c2V0RnJvbU1hcExpa2UoU3RyaW5nJiYga2V5LCB1bnNpZ25lZCB2YWx1
ZSkKK3sKKyAgICBtX3ZhbHVlcy5zZXQoV1RGTW92ZShrZXkpLCB2YWx1ZSk7Cit9CisKK3ZvaWQg
SW50ZXJuYWxzTWFwTGlrZTo6Y2xlYXIoKQoreworICAgIG1fdmFsdWVzLmNsZWFyKCk7Cit9CisK
K2Jvb2wgSW50ZXJuYWxzTWFwTGlrZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYga2V5KQoreworICAg
IHJldHVybiBtX3ZhbHVlcy5yZW1vdmUoa2V5KTsKK30KKworVmVjdG9yPFN0cmluZz4gSW50ZXJu
YWxzTWFwTGlrZTo6aW5zcGVjdEtleXMoKSBjb25zdAoreworICAgIGF1dG8gcmVzdWx0ID0gY29w
eVRvVmVjdG9yKG1fdmFsdWVzLmtleXMoKSk7CisgICAgc3RkOjpzb3J0KHJlc3VsdC5iZWdpbigp
LCByZXN1bHQuZW5kKCksIFdURjo6Y29kZVBvaW50Q29tcGFyZUxlc3NUaGFuKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitWZWN0b3I8dW5zaWduZWQ+IEludGVybmFsc01hcExpa2U6Omluc3Bl
Y3RWYWx1ZXMoKSBjb25zdAoreworICAgIGF1dG8gcmVzdWx0ID0gY29weVRvVmVjdG9yKG1fdmFs
dWVzLnZhbHVlcygpKTsKKyAgICBzdGQ6OnNvcnQocmVzdWx0LmJlZ2luKCksIHJlc3VsdC5lbmQo
KSwgc3RkOjpsZXNzPHVuc2lnbmVkPigpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsc01hcExpa2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzTWFwTGlr
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI3MzNmNWMzMmViZjdhODM2NjFhNmE0MjBiNTgzZmRkMjQ0NzI0MTEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsc01hcExp
a2UuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpT
RE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnRlcm5hbHNNYXBM
aWtlIDogcHVibGljIFJlZkNvdW50ZWQ8SW50ZXJuYWxzTWFwTGlrZT4geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8SW50ZXJuYWxzTWFwTGlrZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBJbnRlcm5hbHNNYXBMaWtlKTsgfQorCisgICAgdm9pZCBzZXRGcm9tTWFwTGlrZShTdHJp
bmcmJiwgdW5zaWduZWQpOworICAgIHZvaWQgY2xlYXIoKTsKKyAgICBib29sIHJlbW92ZShjb25z
dCBTdHJpbmcmKTsKKworICAgIHZvaWQgc3luY2hyb25pemVCYWNraW5nTWFwKFJlZjxET01NYXBM
aWtlPiYmKTsKKyAgICBET01NYXBMaWtlKiBiYWNraW5nTWFwKCkgeyByZXR1cm4gbV9tYXBMaWtl
LmdldCgpOyB9CisKKyAgICBWZWN0b3I8U3RyaW5nPiBpbnNwZWN0S2V5cygpIGNvbnN0OworICAg
IFZlY3Rvcjx1bnNpZ25lZD4gaW5zcGVjdFZhbHVlcygpIGNvbnN0OworCitwcml2YXRlOgorICAg
IEludGVybmFsc01hcExpa2UoKTsKKyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fdmFs
dWVzOworICAgIFJlZlB0cjxET01NYXBMaWtlPiBtX21hcExpa2U7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
c01hcExpa2UuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtlLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45Nzk3NGExZWFlNzJkN2Y4YjYzNDczY2JjZTRjNDU1N2M3MmJlYTE1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHNNYXBMaWtl
LmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgTm9JbnRlcmZhY2VPYmplY3QsCisg
ICAgRXhwb3J0TWFjcm89V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQsCisgICAgU2tpcFZUYWJs
ZVZhbGlkYXRpb24sCitdIGludGVyZmFjZSBJbnRlcm5hbHNNYXBMaWtlCit7CisgICAgbWFwbGlr
ZTxET01TdHJpbmcsIHVuc2lnbmVkIGxvbmc+OworCisgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBp
bnNwZWN0S2V5cygpOworICAgIHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IGluc3BlY3RWYWx1ZXMo
KTsKK307CisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYzY1MDg2M2Y0MjAxOWI3NDFmZTBmN2E2NDg2MjE5OWMyNjA3YTc1
YS4uYzk4ODBiOTc4NDkxZThiN2RiMTAyMzFiMmM3YmQ0OTNmN2RiMDA5ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDE5LTEyLTA1ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KworICAgICAgICBtYXBsaWtlIHNob3VsZCBkZWZpbmUgYSBzZXQgbWV0aG9kCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4NzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGhpZ2hsaWdodC9oaWdobGln
aHQtaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaGlnaGxpZ2h0L2hpZ2hsaWdo
dC1pbnRlcmZhY2VzLmh0bWw6CisgICAgICAgICoganMvZG9tL21hcGxpa2UtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vbWFwbGlrZS5odG1sOiBBZGRlZC4KKwogMjAxOS0x
Mi0wNCAgSmFjayBMZWUgIDxzaGloY2hpZWhfbGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBOdWxs
cHRyIGNyYXNoIGluIFJlbmRlckxheW91dFN0YXRlOjpwYWdlTG9naWNhbEhlaWdodCBjb25zdCB2
aWEgUmVuZGVyR3JpZDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgaW5zaWRlIFJlbmRl
ck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVQb3NpdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aGlnaGxpZ2h0L2hpZ2hsaWdodC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2hpZ2hsaWdodC9oaWdobGlnaHQtaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggNTU3ZGUw
N2Q0M2Q5MzMwYzEzNWY4NjMxYTBlYmJjYmMyMDIzOTBlMy4uYjMwNTFjM2ZkM2ZhNjMzYzBjNjc1
YjdkNDlmN2ZmZTdhNzMyYzgyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaGlnaGxpZ2h0L2hp
Z2hsaWdodC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9oaWdobGln
aHQvaGlnaGxpZ2h0LWludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0xMCw5ICsxMCw5IEBAIFBB
U1MgbmV3IEhpZ2hsaWdodFJhbmdlR3JvdXAobmV3IFN0YXRpY1JhbmdlKHtzdGFydENvbnRhaW5l
cjogZG9jdW1lbnQuYm9keSwgc3RhCiBQQVNTIEhpZ2hsaWdodE1hcCBpbnN0YW5jZW9mIEZ1bmN0
aW9uIGlzIHRydWUKIFBBU1MgdHlwZW9mIEhpZ2hsaWdodE1hcCBpcyAiZnVuY3Rpb24iCiBQQVNT
IG5ldyBIaWdobGlnaHRNYXAoKSBpbnN0YW5jZW9mIEhpZ2hsaWdodE1hcCBpcyB0cnVlCi1QQVNT
IG5ldyBIaWdobGlnaHRNYXAoKS5zZXQoImZvby1zdHlsaW5nIixuZXcgSGlnaGxpZ2h0UmFuZ2VH
cm91cChuZXcgU3RhdGljUmFuZ2Uoe3N0YXJ0Q29udGFpbmVyOiBkb2N1bWVudC5ib2R5LCBzdGFy
dE9mZnNldDogMSwgZW5kQ29udGFpbmVyOiBkb2N1bWVudC5ib2R5LCBlbmRPZmZzZXQ6IDJ9KSkp
IGlzIHVuZGVmaW5lZC4KK1BBU1MgbmV3IEhpZ2hsaWdodE1hcCgpLnNldCgiZm9vLXN0eWxpbmci
LG5ldyBIaWdobGlnaHRSYW5nZUdyb3VwKG5ldyBTdGF0aWNSYW5nZSh7c3RhcnRDb250YWluZXI6
IGRvY3VtZW50LmJvZHksIHN0YXJ0T2Zmc2V0OiAxLCBlbmRDb250YWluZXI6IGRvY3VtZW50LmJv
ZHksIGVuZE9mZnNldDogMn0pKSkgaXMgZGVmaW5lZC4KIFBBU1MgQ1NTLmhpZ2hsaWdodHMgaXMg
ZGVmaW5lZC4KLVBBU1MgQ1NTLmhpZ2hsaWdodHMuc2V0KCJmb28tc3R5bGluZyIsbmV3IEhpZ2hs
aWdodFJhbmdlR3JvdXAobmV3IFN0YXRpY1JhbmdlKHtzdGFydENvbnRhaW5lcjogZG9jdW1lbnQu
Ym9keSwgc3RhcnRPZmZzZXQ6IDEsIGVuZENvbnRhaW5lcjogZG9jdW1lbnQuYm9keSwgZW5kT2Zm
c2V0OiAyfSkpKSBpcyB1bmRlZmluZWQuCitQQVNTIENTUy5oaWdobGlnaHRzLnNldCgiZm9vLXN0
eWxpbmciLG5ldyBIaWdobGlnaHRSYW5nZUdyb3VwKG5ldyBTdGF0aWNSYW5nZSh7c3RhcnRDb250
YWluZXI6IGRvY3VtZW50LmJvZHksIHN0YXJ0T2Zmc2V0OiAxLCBlbmRDb250YWluZXI6IGRvY3Vt
ZW50LmJvZHksIGVuZE9mZnNldDogMn0pKSkgaXMgQ1NTLmhpZ2hsaWdodHMKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaGlnaGxpZ2h0L2hpZ2hsaWdodC1pbnRlcmZhY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
aWdobGlnaHQvaGlnaGxpZ2h0LWludGVyZmFjZXMuaHRtbAppbmRleCA1MzU4ZmMxMzViNzgxYzhl
ZTc2MzZiNmFmMTRhYjVjYThmMGZkZTQ5Li41OGY0OTRjYTJmZDE5YWI3NGY4OWM4OTgwOWE0ZWJl
ZTBhZjdmYWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9oaWdobGlnaHQvaGlnaGxpZ2h0LWlu
dGVyZmFjZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9oaWdobGlnaHQvaGlnaGxpZ2h0LWludGVy
ZmFjZXMuaHRtbApAQCAtMTMsOSArMTMsOSBAQCBzaG91bGRCZVRydWUoIm5ldyBIaWdobGlnaHRS
YW5nZUdyb3VwKG5ldyBTdGF0aWNSYW5nZSh7c3RhcnRDb250YWluZXI6IGRvY3VtZW50Lgogc2hv
dWxkQmVUcnVlKCJIaWdobGlnaHRNYXAgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOwogc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0eXBlb2YgSGlnaGxpZ2h0TWFwIiwgImZ1bmN0aW9uIik7CiBzaG91bGRC
ZVRydWUoIm5ldyBIaWdobGlnaHRNYXAoKSBpbnN0YW5jZW9mIEhpZ2hsaWdodE1hcCIpOwotc2hv
dWxkQmVVbmRlZmluZWQoJ25ldyBIaWdobGlnaHRNYXAoKS5zZXQoImZvby1zdHlsaW5nIixuZXcg
SGlnaGxpZ2h0UmFuZ2VHcm91cChuZXcgU3RhdGljUmFuZ2Uoe3N0YXJ0Q29udGFpbmVyOiBkb2N1
bWVudC5ib2R5LCBzdGFydE9mZnNldDogMSwgZW5kQ29udGFpbmVyOiBkb2N1bWVudC5ib2R5LCBl
bmRPZmZzZXQ6IDJ9KSkpJyk7CitzaG91bGRCZURlZmluZWQoJ25ldyBIaWdobGlnaHRNYXAoKS5z
ZXQoImZvby1zdHlsaW5nIixuZXcgSGlnaGxpZ2h0UmFuZ2VHcm91cChuZXcgU3RhdGljUmFuZ2Uo
e3N0YXJ0Q29udGFpbmVyOiBkb2N1bWVudC5ib2R5LCBzdGFydE9mZnNldDogMSwgZW5kQ29udGFp
bmVyOiBkb2N1bWVudC5ib2R5LCBlbmRPZmZzZXQ6IDJ9KSkpJyk7CiBzaG91bGRCZURlZmluZWQo
J0NTUy5oaWdobGlnaHRzJyk7Ci1zaG91bGRCZVVuZGVmaW5lZCgnQ1NTLmhpZ2hsaWdodHMuc2V0
KCJmb28tc3R5bGluZyIsbmV3IEhpZ2hsaWdodFJhbmdlR3JvdXAobmV3IFN0YXRpY1JhbmdlKHtz
dGFydENvbnRhaW5lcjogZG9jdW1lbnQuYm9keSwgc3RhcnRPZmZzZXQ6IDEsIGVuZENvbnRhaW5l
cjogZG9jdW1lbnQuYm9keSwgZW5kT2Zmc2V0OiAyfSkpKScpOworc2hvdWxkQmUoJ0NTUy5oaWdo
bGlnaHRzLnNldCgiZm9vLXN0eWxpbmciLG5ldyBIaWdobGlnaHRSYW5nZUdyb3VwKG5ldyBTdGF0
aWNSYW5nZSh7c3RhcnRDb250YWluZXI6IGRvY3VtZW50LmJvZHksIHN0YXJ0T2Zmc2V0OiAxLCBl
bmRDb250YWluZXI6IGRvY3VtZW50LmJvZHksIGVuZE9mZnNldDogMn0pKSknLCAnQ1NTLmhpZ2hs
aWdodHMnKTsKIAogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9q
cy9kb20vbWFwbGlrZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vbWFwbGlrZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRhNDA5NTUyNTU2ZTEzODFiNjA1ZmViMDY5MzRjMjc5
OTFjNGQwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBCYXNpYyBhZGQvcmVtb3ZlL2NsZWFy
IGZ1bmN0aW9uYWxpdHkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9tYXBsaWtl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vbWFwbGlrZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNmU1
MmRiY2IxOGY4ODA5NzI5ZDQxOWRhNDVmYzExMjllNmNiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9qcy9kb20vbWFwbGlrZS5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Ij4KK3Rlc3QoKCkgPT4geworICAgIGFz
c2VydF90cnVlKCEhd2luZG93LmludGVybmFscyk7CisgICAgY29uc3QgbWFwbGlrZSA9IGludGVy
bmFscy5jcmVhdGVJbnRlcm5hbHNNYXBMaWtlKCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyht
YXBsaWtlLmluc3BlY3RLZXlzKCksIFsiaW5pdCJdLCAiaW5pdCBrZXlzIik7CisgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhtYXBsaWtlLmluc3BlY3RWYWx1ZXMoKSwgWzBdLCAiaW5pdCB2YWx1ZXMi
KTsKKyAgICBhc3NlcnRfdHJ1ZShtYXBsaWtlLmhhcygiaW5pdCIpKTsKKworICAgIG1hcGxpa2Uu
c2V0KCJ0ZXN0QSIsIDEpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0
S2V5cygpLCBbImluaXQiLCAidGVzdEEiXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhtYXBs
aWtlLmluc3BlY3RWYWx1ZXMoKSwgWzAsIDFdKTsKKyAgICBtYXBsaWtlLnNldCgidGVzdEEiLCAy
KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgWyJpbml0
IiwgInRlc3RBIl0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0VmFs
dWVzKCksIFswLCAyXSk7CisgICAgbWFwbGlrZS5zZXQoInRlc3RCIiwgMyk7CisgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhtYXBsaWtlLmluc3BlY3RLZXlzKCksIFsiaW5pdCIsICJ0ZXN0QSIsICJ0
ZXN0QiJdKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVlcygp
LCBbMCwgMiwgM10pOworCisgICAgbWFwbGlrZS5kZWxldGUoImluaXQiKTsKKyAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgWyJ0ZXN0QSIsICJ0ZXN0QiJdKTsK
KyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdFZhbHVlcygpLCBbMiwgM10p
OworCisgICAgYXNzZXJ0X2VxdWFscyhtYXBsaWtlLnNpemUsIDIsICJzaXplIik7CisKKyAgICBs
ZXQgZW50cmllc1Rlc3QgPSAiIjsKKyAgICBmb3IgKGxldCBlbnRyeSBvZiBtYXBsaWtlLmVudHJp
ZXMoKSkgeworICAgICAgICBlbnRyaWVzVGVzdCArPSBlbnRyeTsKKyAgICAgICAgZW50cmllc1Rl
c3QgKz0gJyAnOworICAgIH0KKyAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNUZXN0LCAidGVzdEEs
MiB0ZXN0QiwzICIsICJlbnRyaWVzIHRlc3QiKTsKKworICAgIGxldCB2YWx1ZXNUZXN0ID0gIiI7
CisgICAgZm9yIChsZXQgZW50cnkgb2YgbWFwbGlrZS52YWx1ZXMoKSkgeworICAgICAgICB2YWx1
ZXNUZXN0ICs9IGVudHJ5OworICAgIH0KKyAgICBhc3NlcnRfZXF1YWxzKHZhbHVlc1Rlc3QsICIy
MyIsICJ2YWx1ZXMgdGVzdCIpOworCisgICAgbGV0IGtleXNUZXN0ID0gIiI7CisgICAgZm9yIChs
ZXQgZW50cnkgb2YgbWFwbGlrZS5rZXlzKCkpIHsKKyAgICAgICAga2V5c1Rlc3QgKz0gZW50cnk7
CisgICAgfQorICAgIGFzc2VydF9lcXVhbHMoa2V5c1Rlc3QsICJ0ZXN0QXRlc3RCIiwgImtleXMg
dGVzdCIpOworCisgICAgbGV0IGZvckVhY2hUZXN0ID0gIiI7CisgICAgbWFwbGlrZS5mb3JFYWNo
KCh2YWx1ZSwga2V5LCBvYmplY3QpID0+IHsKKyAgICAgICAgZm9yRWFjaFRlc3QgKz0ga2V5Owor
ICAgICAgICBmb3JFYWNoVGVzdCArPSAnLCc7CisgICAgICAgIGZvckVhY2hUZXN0ICs9IHZhbHVl
OworICAgICAgICBmb3JFYWNoVGVzdCArPSAnICc7CisgICAgICAgIGFzc2VydF9lcXVhbHMob2Jq
ZWN0LCBtYXBsaWtlKTsKKyAgICB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZvckVhY2hUZXN0LCAi
dGVzdEEsMiB0ZXN0QiwzICIsICJmb3JFYWNoIHRlc3QiKTsKKworICAgIG1hcGxpa2UuY2xlYXIo
KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1hcGxpa2UuaW5zcGVjdEtleXMoKSwgW10pOwor
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMobWFwbGlrZS5pbnNwZWN0VmFsdWVzKCksIFtdKTsKK30s
ICJCYXNpYyBhZGQvcmVtb3ZlL2NsZWFyIGZ1bmN0aW9uYWxpdHkiKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>