<?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>211290</bug_id>
          
          <creation_ts>2020-05-01 07:27:11 -0700</creation_ts>
          <short_desc>Receiving WebRTC network packets should not go through the main thread</short_desc>
          <delta_ts>2021-02-17 11:24:40 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222054</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>211924</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1647838</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 07:27:11 -0700</bug_when>
    <thetext>Receiving WebRTC network packets should not go through the main thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647845</commentid>
    <comment_count>1</comment_count>
      <attachid>398184</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 07:44:32 -0700</bug_when>
    <thetext>Created attachment 398184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647872</commentid>
    <comment_count>2</comment_count>
      <attachid>398190</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 09:30:56 -0700</bug_when>
    <thetext>Created attachment 398190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647892</commentid>
    <comment_count>3</comment_count>
      <attachid>398196</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 10:17:07 -0700</bug_when>
    <thetext>Created attachment 398196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648535</commentid>
    <comment_count>4</comment_count>
      <attachid>398362</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-04 08:01:35 -0700</bug_when>
    <thetext>Created attachment 398362
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648601</commentid>
    <comment_count>5</comment_count>
      <attachid>398362</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-05-04 10:22:30 -0700</bug_when>
    <thetext>Comment on attachment 398362
Patch

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

&gt; Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetwork.cpp:119
&gt; +    if (auto* socket = m_socketFactory.socket(identifier))

You should probably add assertions to these.
ASSERT(!RunLoop::isMain());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649120</commentid>
    <comment_count>6</comment_count>
      <attachid>398489</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-05 01:18:07 -0700</bug_when>
    <thetext>Created attachment 398489
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649142</commentid>
    <comment_count>7</comment_count>
      <attachid>398494</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-05 02:53:43 -0700</bug_when>
    <thetext>Created attachment 398494
WinCairo build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649169</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-05 06:40:09 -0700</bug_when>
    <thetext>Committed r261163: &lt;https://trac.webkit.org/changeset/261163&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398494.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649170</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-05 06:41:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/62886328&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398184</attachid>
            <date>2020-05-01 07:44:32 -0700</date>
            <delta_ts>2020-05-01 09:30:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211290-20200501164429.patch</filename>
            <type>text/plain</type>
            <size>41649</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk2NTRlOGQzNTZhNjkzNmEz
NDc5MjIyZDMxODVkOGI2Y2ZhNjEzOTkuLmE3ZmU0NTliZmM3NmFhNDc5ZjFkZjI4NTJhM2IxN2U5
OGQ0ODYxMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjAtMDUtMDEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlY2VpdmluZyBXZWJSVEMgbmV0
d29yayBwYWNrZXRzIHNob3VsZCBub3QgZ28gdGhyb3VnaCB0aGUgbWFpbiB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTI5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdJUC4KKworICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFkUGFj
a2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxTZW50
UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxB
ZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNp
Z25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNp
Z25hbENsb3NlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNlcnZl
clRDUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRl
Q2xpZW50VENQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpu
ZXdDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjbG9z
ZUxpc3RlbmluZ1NvY2tldHMpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb246Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oOgor
ICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjpjb25uZWN0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDTmV0d29yazo6fkxpYldlYlJUQ05ldHdvcmspOgorICAgICAgICAo
V2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWQpOgorICAgICAg
ICAoV2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjpzZXRDb25uZWN0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDTmV0d29yazo6ZGlzcGF0Y2hUb1RocmVhZCk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ05ldHdvcms6OnNpZ25hbEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ05ldHdvcms6OnNpZ25hbFJlYWRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0
OjpMaWJXZWJSVENOZXR3b3JrOjpzaWduYWxTZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDTmV0d29yazo6c2lnbmFsQ29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ05ldHdvcms6OnNpZ25hbENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDTmV0
d29yazo6c2lnbmFsTmV3Q29ubmVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5p
bi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFj
dG9yeS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2Nr
ZXQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDU29ja2V0Lmg6IFJlbW92ZWQuCisKIDIwMjAtMDUtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlcjo6bXV0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAppbmRleCA4YmRiNTFhMTZkMzk4ODk3M2Q4M2RiNzE1NzdlZjk4NWUzZmRlYmZmLi4yMTJh
NjZhZTg4ZjZmYjg1NmY1ZThkNzBlODQ2MjI5Y2VjZGUzMDViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNDAsNiArMTQwLDcgQEAgJChQ
Uk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
U29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldFN0cmVhbS5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1Rf
RElSKS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk1ETlNSZWdpc3Rlci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9y
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dl
YlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBkMTAwNDYzMzlmZTRjMzY5NDkyNmE4NzhhMmViMWNk
MDhiMTcwODBkLi4wZWIwZjc1ZDJlYjhlNzE2ZjkwOTI0YmJjYWQ4MGM5MWM0ZTQyMjU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0Cisr
KyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTU3
LDYgKzU3LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
TGliV2ViUlRDQ29kZWNzTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ0NvZGVjc1Byb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2Vi
UlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENDb2RlY3NQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENOZXR3b3Jr
TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvTGliV2ViUlRDTmV0d29ya01lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdvcmtNZXNzYWdlc1JlcGxpZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRD
UmVtb3RlQ29kZWNzTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDUmVtb3RlQ29kZWNzTWVzc2FnZXMuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDUmVtb3Rl
Q29kZWNzTWVzc2FnZXNSZXBsaWVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBl
NDVkYTg5M2Q5YTdjOWVjNmExNzcxOTJlY2YwNjcyY2UzNTBkZDZiLi5mMWVhMWYxMDBkNDBhY2Zj
ODllZTJhODQ1Y2UyMTJjNjU1M2U1ZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xMjksNiArMTI5LDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkgXAogICAgIExpYldlYlJUQ0NvZGVjcyBcCiAgICAgTGliV2Vi
UlRDQ29kZWNzUHJveHkgXAorICAgIExpYldlYlJUQ05ldHdvcmsgXAogICAgIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZSBcCiAgICAgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIgXAogICAgIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIFwKQEAgLTIyOCw3ICsyMjksNiBAQCBNRVNTQUdFX1JF
Q0VJVkVSUyA9IFwKICAgICBXZWJQcm9jZXNzUHJveHkgXAogICAgIFdlYlJUQ01vbml0b3IgXAog
ICAgIFdlYlJUQ1Jlc29sdmVyIFwKLSAgICBXZWJSVENTb2NrZXQgXAogICAgIFdlYlJlc291cmNl
TG9hZGVyIFwKICAgICBXZWJTV0NsaWVudENvbm5lY3Rpb24gXAogICAgIFdlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCmluZGV4IGMxZDVjYmI3
ZGVhMTg5M2MxMDU1ZTU4NGVhMjRjYThjZDI1ZGE0MWMuLjM1MmZmZDRmMGY1OWQ4MzFiNzRmMmM3
MmFhZTc1M2EzZDJlMjI5MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcApAQCAtMzAsOSAr
MzAsOSBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENOZXR3b3JrTWVzc2FnZXMuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyLmgiCi0jaW5jbHVkZSAiV2Vi
UlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgog
I2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogCkBAIC0xMDAsNyArMTAwLDcgQEAgdm9pZCBMaWJX
ZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tl
dCogc29ja2V0LCBjb24KICAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6
Y3JlYXRlKHZhbHVlLCBsZW5ndGgpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21NYWluVGhy
ZWFkKFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciks
IGFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkoYWRkcmVzcyksIHBhY2tldFRpbWVd
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewogICAgICAgICBJUEM6OkRhdGFSZWZlcmVu
Y2UgZGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXItPmRhdGEoKSks
IGJ1ZmZlci0+c2l6ZSgpKTsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJS
VENTb2NrZXQ6OlNpZ25hbFJlYWRQYWNrZXQoZGF0YSwgUlRDTmV0d29yazo6SVBBZGRyZXNzKGFk
ZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZSksIGlkZW50aWZpZXIp
OworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNp
Z25hbFJlYWRQYWNrZXQoaWRlbnRpZmllciwgZGF0YSwgUlRDTmV0d29yazo6SVBBZGRyZXNzKGFk
ZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZSksIDApOwogICAgIH0p
OwogfQogCkBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNp
Z25hbFNlbnRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCogc29ja2V0LCBjb24KIHsKICAg
ICBBU1NFUlRfVU5VU0VEKHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0KTsKICAgICBt
X3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmll
ciwgc2VudFBhY2tldF0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0gICAgICAgIGNv
bm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxTZW50UGFja2V0KHNl
bnRQYWNrZXQucGFja2V0X2lkLCBzZW50UGFja2V0LnNlbmRfdGltZV9tcyksIGlkZW50aWZpZXIp
OworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNp
Z25hbFNlbnRQYWNrZXQoaWRlbnRpZmllciwgc2VudFBhY2tldC5wYWNrZXRfaWQsIHNlbnRQYWNr
ZXQuc2VuZF90aW1lX21zKSwgMCk7CiAgICAgfSk7CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2
b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQWRkcmVzc1JlYWR5KHJ0Yzo6QXN5bmNQ
YWNrZXRTb2NrZXQqIHNvY2tldCwgYwogewogICAgIEFTU0VSVF9VTlVTRUQoc29ja2V0LCBtX3Nv
Y2tldC5nZXQoKSA9PSBzb2NrZXQpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21NYWluVGhy
ZWFkKFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCBhZGRyZXNzID0gUlRDTmV0d29yazo6aXNv
bGF0ZWRDb3B5KGFkZHJlc3MpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKLSAgICAg
ICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbEFkZHJlc3NS
ZWFkeShSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MpKSwgaWRlbnRpZmllcik7Cisg
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFs
QWRkcmVzc1JlYWR5KGlkZW50aWZpZXIsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MoYWRkcmVz
cykpLCAwKTsKICAgICB9KTsKIH0KIApAQCAtMTM1LDcgKzEzNSw3IEBAIHZvaWQgTGliV2ViUlRD
U29ja2V0Q2xpZW50OjpzaWduYWxDb25uZWN0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIHNvY2tl
dCkKIHsKICAgICBBU1NFUlRfVU5VU0VEKHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0
KTsKICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IG1f
aWRlbnRpZmllcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0gICAgICAgIGNvbm5l
Y3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxDb25uZWN0KCksIGlkZW50
aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdv
cms6OlNpZ25hbENvbm5lY3QoaWRlbnRpZmllciksIDApOwogICAgIH0pOwogfQogCkBAIC0xNDMs
NyArMTQzLDcgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENsb3NlKHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqIHNvY2tldCwgaW50IGVycm8KIHsKICAgICBBU1NFUlRfVU5VU0VE
KHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0KTsKICAgICBtX3J0Y1Byb3ZpZGVyLnNl
bmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllciwgZXJyb3JdKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2Fn
ZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoZXJyb3IpLCBpZGVudGlmaWVyKTsKKyAgICAg
ICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9z
ZShpZGVudGlmaWVyLCBlcnJvciksIDApOwogICAgIH0pOwogICAgIC8vIFdlIHdhbnQgdG8gcmVt
b3ZlICd0aGlzJyBmcm9tIHRoZSBzb2NrZXQgbWFwIG5vdyBidXQgd2Ugd2lsbCBkZXN0cm95IGl0
IGFzeW5jaHJvbm91c2x5CiAgICAgLy8gc28gdGhhdCB0aGUgc29ja2V0IHBhcmFtZXRlciBvZiBz
aWduYWxDbG9zZSByZW1haW5zIGFsaXZlIGFzIHRoZSBjYWxsZXIgb2Ygc2lnbmFsQ2xvc2UgbWF5
IGFjdHVhbGx5IGJlaW5nIHVzaW5nIGl0IGFmdGVyd2FyZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcApp
bmRleCBhMmJjYzZiNzUyMmIyMWNmMmE4ODVkM2JmNzIyMGRjOTJlOGEzM2I5Li4yYTAwNWFmMDdj
ZjE3NzMxYmNjMzJhODkxYWQ2OTc3NjgyMGNkZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKIAogI2lmIFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJMaWJXZWJS
VENOZXR3b3JrTWVzc2FnZXMuaCIKICNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRDbGllbnQuaCIK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaCIKQEAgLTM1LDcgKzM2LDYgQEAKICNpbmNsdWRlICJOZXR3b3JrUlRDUmVzb2x2ZXIu
aCIKICNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0LmgiCiAjaW5jbHVkZSAiV2ViUlRDUmVzb2x2
ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaD4KICNpbmNsdWRlIDx3ZWJydGMvcnRjX2Jhc2Uv
YXN5bmNfcGFja2V0X3NvY2tldC5oPgogI2luY2x1ZGUgPHdlYnJ0Yy9ydGNfYmFzZS9sb2dnaW5n
Lmg+CkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNv
Y2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDoKICAgICBpZiAo
IXNvY2tldCkgewogICAgICAgICBzZW5kRnJvbU1haW5UaHJlYWQoW3RoaXMsIGlkZW50aWZpZXIs
IHNpemUgPSBtX3NvY2tldHMuc2l6ZSgpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsK
ICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImNyZWF0ZVNvY2tldCB3
aXRoICV1IHNvY2tldHMgaXMgdW5hYmxlIHRvIGNyZWF0ZSBhIG5ldyBzb2NrZXQiLCBzaXplKTsK
LSAgICAgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWdu
YWxDbG9zZSgxKSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVz
c2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIDEpLCAwKTsK
ICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzcsNyArMTM3LDcgQEAg
dm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNlcnZlclRDUFNvY2tldChMaWJXZWJSVENT
b2NrZXRJZGVudGlmaWVyIGlkZW50aWYKIHsKICAgICBpZiAoIW1faXNMaXN0ZW5pbmdTb2NrZXRB
dXRob3JpemVkKSB7CiAgICAgICAgIGlmIChtX2Nvbm5lY3Rpb24pCi0gICAgICAgICAgICBtX2Nv
bm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25h
bENsb3NlKDEpLCBpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+Y29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50
aWZpZXIsIDEpLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTU4LDcgKzE1OCw3
IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQoTGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmCiB7CiAgICAgYXV0byogc2Vzc2lvbiA9IG1fY29u
bmVjdGlvbi0+bmV0d29ya1Nlc3Npb24oKTsKICAgICBpZiAoIXNlc3Npb24pIHsKLSAgICAgICAg
bV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpT
aWduYWxDbG9zZSgxKSwgaWRlbnRpZmllcik7CisgICAgICAgIG1fY29ubmVjdGlvbi0+Y29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50
aWZpZXIsIDEpLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjYWxsT25SVENOZXR3
b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3MgPSBSVENOZXR3b3JrOjpp
c29sYXRlZENvcHkobG9jYWxBZGRyZXNzLnZhbHVlKSwgcmVtb3RlQWRkcmVzcyA9IFJUQ05ldHdv
cms6Omlzb2xhdGVkQ29weShyZW1vdGVBZGRyZXNzLnZhbHVlKSwgcHJveHlJbmZvID0gcHJveHlJ
bmZvRnJvbVNlc3Npb24ocmVtb3RlQWRkcmVzcywgKnNlc3Npb24pLCB1c2VyQWdlbnQgPSBXVEZN
b3ZlKHVzZXJBZ2VudCkuaXNvbGF0ZWRDb3B5KCksIG9wdGlvbnNdKCkgewpAQCAtMTkzLDcgKzE5
Myw3IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpuZXdDb25uZWN0aW9uKFNvY2tldCYgc2Vy
dmVyU29ja2V0LCBzdGQ6OnVuaXF1ZV9wdHI8cnRjCiB7CiAgICAgYXV0byBpbmNvbWluZ1NvY2tl
dElkZW50aWZpZXIgPSBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogICAg
IHNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IHNlcnZlclNvY2tldC5pZGVudGlmaWVy
KCksIGluY29taW5nU29ja2V0SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcyA9IFJUQ05ldHdvcms6
Omlzb2xhdGVkQ29weShuZXdTb2NrZXQtPkdldFJlbW90ZUFkZHJlc3MoKSldKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6Oldl
YlJUQ1NvY2tldDo6U2lnbmFsTmV3Q29ubmVjdGlvbihpbmNvbWluZ1NvY2tldElkZW50aWZpZXIs
IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MocmVtb3RlQWRkcmVzcykpLCBpZGVudGlmaWVyKTsK
KyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWdu
YWxOZXdDb25uZWN0aW9uKGlkZW50aWZpZXIsIGluY29taW5nU29ja2V0SWRlbnRpZmllciwgUlRD
TmV0d29yazo6U29ja2V0QWRkcmVzcyhyZW1vdGVBZGRyZXNzKSksIDApOwogICAgIH0pOwogICAg
IG1fcGVuZGluZ0luY29taW5nU29ja2V0cy5hZGQoaW5jb21pbmdTb2NrZXRJZGVudGlmaWVyLCBX
VEZNb3ZlKG5ld1NvY2tldCkpOwogfQpAQCAtMjY0LDcgKzI2NCw3IEBAIHZvaWQgTmV0d29ya1JU
Q1Byb3ZpZGVyOjpjbG9zZUxpc3RlbmluZ1NvY2tldHMoRnVuY3Rpb248dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3ZpZGVyID0gbWFrZVJlZigq
dGhpcyksIGxpc3RlbmluZ1NvY2tldElkZW50aWZpZXJzID0gV1RGTW92ZShsaXN0ZW5pbmdTb2Nr
ZXRJZGVudGlmaWVycyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcildIHsKICAgICAgICAgICAgIGlmIChwcm92aWRlci0+bV9jb25uZWN0aW9uKSB7CiAgICAg
ICAgICAgICAgICAgZm9yIChhdXRvIGlkZW50aWZpZXIgOiBsaXN0ZW5pbmdTb2NrZXRJZGVudGlm
aWVycykKLSAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXItPm1fY29ubmVjdGlvbi0+Y29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoRUNPTk5BQk9S
VEVEKSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyLT5tX2Nvbm5l
Y3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWdu
YWxDbG9zZShpZGVudGlmaWVyLCBFQ09OTkFCT1JURUQpLCAwKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5k
ZXggYWQwMTZiZWU1N2QyZDFjOWQ4ZTgyNjdjZjExODFiN2E4ODMzYTM5YS4uNGUxMjMxNmIxMTk2
YTcyODQ4YjA2NzQ2ZDU5YTk4MjYyY2NhMjZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC01OTYsNyArNTk2
LDYgQEAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNw
cAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJNRE5TUmVnaXN0ZXIuY3BwCiBXZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwCiBXZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlJUQ1Jlc29sdmVyLmNwcAotV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJS
VENTb2NrZXQuY3BwCiAKIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDUwZjA0MmFkMDM2YWZmM2MzYjBkOTRkZmI1MTc5NjIzMTEy
NzJmNWUuLmNhZWRkYjdhYzdlZTM5NjQ0MjZhNDNlYWJlYTU4ZjU3ZjFjMDNmOTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA3NCw3
ICsxMDc0LDcgQEAKIAkJNTFFRkMxQ0YxNTI0RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxlRE9NV2lu
ZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUZBMkQ1NDE1MjExMTg2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
MUYwNjBFMDE2NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREUxNjU0
MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLzsgfTsKIAkJNTFG
MDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2
MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5j
cHAgKi87IH07Ci0JCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBMaWJXZWJSVENO
ZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBMaWJXZWJSVENOZXR3
b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFE
IC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8q
IE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYwNjBFMTE2
NTQzMTg1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0
MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwpAQCAtMzQyOSw2ICszNDI5LDcgQEAKIAkJNDE1N0U0QUYyMEUyRUM5ODAwQTZD
MEQ3IC8qIGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBjb20uZ29vZ2xlLm8xZGJyb3dzZXJwbHVnaW4uc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxNTg2NDlBMjNCRTA5MjQwMEEwQTYxRSAvKiBSVENFbmNvZGVySWRlbnRpZmll
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENFbmNvZGVySWRlbnRpZmll
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZDRDc0NTIzRkIxNzhCMDA2NjFE
OTkgLyogTUROU1JlZ2lzdGVySWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBNRE5TUmVnaXN0ZXJJZGVudGlmaWVyLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9N
RE5TUmVnaXN0ZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
NkY4MDg2MjQ1QjM5NzQwMEI2OEYwMiAvKiBMaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgbmFtZSA9IExpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW47IHBhdGgg
PSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTcyMTk4OTIzQjYxMjgyMDBBRTU2ODYgLyogTGliV2ViUlRD
Q29kZWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExpYldlYlJUQ0NvZGVj
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcyMTk4QTIzQjYxMjgyMDBBRTU2
ODYgLyogTGliV2ViUlRDQ29kZWNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExpYldlYlJUQ0NvZGVjcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxNzIxOThDMjNCNjEyRTgwMEFFNTY4NiAvKiBSVENEZWNvZGVySWRlbnRpZmllci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENEZWNvZGVySWRlbnRpZmllci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzgxMSw3ICszODEyLDcgQEAKIAkJNTFFOEI2OEQx
RTcxMjg3MzAwMUI3MTMyIC8qIFdlYlVSTFNjaGVtZVRhc2suY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVVJMU2NoZW1lVGFzay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVDOUVCOSAvKiBVSUdhbWVwYWRQcm92
aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJR2Ft
ZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUYwNjBE
RDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VS
ZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxRjA2
MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9
IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJNTFGMDYwREQxNjU0MzE3NTAw
RjMyODFDIC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJp
dmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBG
MzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYz
MjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJp
dmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTFGMDYwREQxNjU0MzE3NTAw
RjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtNzU4Niw2ICs3NTg3LDcgQEAKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYz
IC8qIExpYldlYlJUQ05ldHdvcmsuaCAqLywKKwkJCQk0MTZGODA4NjI0NUIzOTc0MDBCNjhGMDIg
LyogTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbiAqLywKIAkJCQk0MTMwNzVBNzFERTg1RUU3
MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovLAogCQkJCTQxMzA3NUE4MURFODVF
RTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovLAogCQkJCTQxRkFGNUY3MUUzQzBC
NDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5jcHAgKi8sCkBAIC0xMDE4NCw3ICsxMDE4
Niw3IEBACiAJCQkJNTFGMDYwREUxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVy
TWVzc2FnZXMuaCAqLywKIAkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUYgLyogV2ViUlRDTW9u
aXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODJD
IC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKLQkJCQk1MUYwNjBERDE2
NTQzMTc1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJ
CQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCiAJCQkJNDFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlNvY2tldENo
YW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc2MUU3Qzg3OUMwMEU5MTIz
QyAvKiBXZWJTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc3
MUU3Qzg3OUMwMEU5MTIzQyAvKiBXZWJTb2NrZXRTdHJlYW1NZXNzYWdlcy5oICovLApAQCAtMTMw
MjEsNyArMTMwMjMsNyBAQAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBXZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBF
MTE2NTQzMTg1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMDYwRTExNjU0MzE4
NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUUwQTdDQjIzQjY0NUNEMDA1NjEw
NjAgLyogV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjBFMTE2
NTQzMTg1MDBGMzI4MUMgLyogV2ViU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1QzBCMTc3OTFFN0M4ODIxMDBFOTEyM0MgLyogV2ViU29ja2V0U3Ry
ZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bi5jcHAKaW5kZXggMzQ4ZDhjOWMyYjU2YTRmOTRlMWYwODIxM2I1MGRjMThkMWUzMDFiZi4uODY1
YzIyN2M1MzNjZTBmNzEwNDNhMGVmZWUzZDdjNTI4ZDJiNGRjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24uY3BwCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiV2ViUlRDTW9uaXRvci5oIgog
I2luY2x1ZGUgIldlYlJUQ01vbml0b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlJUQ1Jlc29s
dmVyTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJXZWJSVENTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1
ZGUgIldlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTV0NsaWVudENv
bm5lY3Rpb24uaCIKICNpbmNsdWRlICJXZWJTV0NsaWVudENvbm5lY3Rpb25NZXNzYWdlcy5oIgpA
QCAtNzcsNiArNzYsNyBAQCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246Ok5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgYwogICAgICwgbV9jb29raWVB
Y2NlcHRQb2xpY3koY29va2llQWNjZXB0UG9saWN5KQogewogICAgIG1fY29ubmVjdGlvbi0+b3Bl
bigpOworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5zZXRD
b25uZWN0aW9uKG1fY29ubmVjdGlvbi5jb3B5UmVmKCkpOwogfQogCiBOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb246On5OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKQpAQCAtMTEyLDE0ICsxMTIsNiBA
QCB2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUAogICAgIH0KIAogI2lmIFVTRShMSUJXRUJSVEMpCi0g
ICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSVENT
b2NrZXQ6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBhdXRvJiBuZXR3b3JrID0g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpOwotICAgICAgICBpZiAo
bmV0d29yay5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbmV0d29yay5zb2NrZXQobWFrZU9iamVj
dElkZW50aWZpZXI8TGliV2ViUlRDU29ja2V0SWRlbnRpZmllclR5cGU+KGRlY29kZXIuZGVzdGlu
YXRpb25JRCgpKSkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIlJlY2VpdmVk
IFdlYlJUQ1NvY2tldCBtZXNzYWdlIHdoaWxlIGxpYldlYlJUQ05ldHdvcmsgaXMgbm90IGFjdGl2
ZSIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNl
aXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUlRDTW9uaXRvcjo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpKSB7CiAgICAgICAgIGF1dG8mIG5ldHdvcmsgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5s
aWJXZWJSVENOZXR3b3JrKCk7CiAgICAgICAgIGlmIChuZXR3b3JrLmlzQWN0aXZlKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRD
TmV0d29yay5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ05ldHdvcmsuaAppbmRleCBkMWY0OWYwNjg4ZGU2YmQ0ZjcwZWFiNjQwMDMwNjE2MWExODE5
MTRmLi40ODFmZjEyNjZkZGExN2M2ZDAwMDhmOTg0N2VkODFlYzQ3ZTVhYjI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29y
ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENOZXR3b3JrLmgKQEAgLTI2LDM0ICsyNiw0MCBAQAogI3ByYWdtYSBvbmNlCiAKICNpZiBVU0Uo
TElCV0VCUlRDKQorI2luY2x1ZGUgIkxpYldlYlJUQ05ldHdvcmtNZXNzYWdlcy5oIgogI2luY2x1
ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9y
eS5oIgogI2luY2x1ZGUgIldlYlJUQ01vbml0b3IuaCIKICNpbmNsdWRlICJXZWJSVENSZXNvbHZl
ci5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldC5oIgogI2VuZGlmCiAKKyNpbmNsdWRlICJEYXRh
UmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViTUROU1JlZ2lzdGVyLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9MaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TaGFy
ZWRCdWZmZXIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIExpYldlYlJUQ05ldHdv
cmsgeworY2xhc3MgTGliV2ViUlRDTmV0d29yayA6IHB1YmxpYyBJUEM6OkNvbm5lY3Rpb246OlRo
cmVhZE1lc3NhZ2VSZWNlaXZlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgTGliV2ViUlRDTmV0d29yaygpID0gZGVmYXVsdDsKKyAgICB+TGliV2ViUlRDTmV0
d29yaygpOwogCisgICAgdm9pZCBzZXRDb25uZWN0aW9uKFJlZlB0cjxJUEM6OkNvbm5lY3Rpb24+
JiYpOwogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NDcmFzaGVkKCk7CiAKICAgICBib29sIGlzQWN0
aXZlKCkgY29uc3Q7CiAKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOworCisgICAgSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKCkg
eyByZXR1cm4gbV9jb25uZWN0aW9uLmdldCgpOyB9CiAjaWYgVVNFKExJQldFQlJUQykKICAgICBX
ZWJSVENNb25pdG9yJiBtb25pdG9yKCkgeyByZXR1cm4gbV93ZWJOZXR3b3JrTW9uaXRvcjsgfQog
ICAgIExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIHNvY2tldEZhY3RvcnkoKSB7IHJldHVybiBtX3Nv
Y2tldEZhY3Rvcnk7IH0KIAogICAgIHZvaWQgZGlzYWJsZU5vbkxvY2FsaG9zdENvbm5lY3Rpb25z
KCkgeyBzb2NrZXRGYWN0b3J5KCkuZGlzYWJsZU5vbkxvY2FsaG9zdENvbm5lY3Rpb25zKCk7IH0K
IAotICAgIFdlYlJUQ1NvY2tldCBzb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRp
ZmllciBpZGVudGlmaWVyKSB7IHJldHVybiBXZWJSVENTb2NrZXQoc29ja2V0RmFjdG9yeSgpLCBp
ZGVudGlmaWVyKTsgfQogICAgIFdlYlJUQ1Jlc29sdmVyIHJlc29sdmVyKExpYldlYlJUQ1Jlc29s
dmVySWRlbnRpZmllciBpZGVudGlmaWVyKSB7IHJldHVybiBXZWJSVENSZXNvbHZlcihzb2NrZXRG
YWN0b3J5KCksIGlkZW50aWZpZXIpOyB9CiAjZW5kaWYKIApAQCAtNjIsNiArNjgsMTggQEAgcHVi
bGljOgogI2VuZGlmCiAKIHByaXZhdGU6CisjaWYgVVNFKExJQldFQlJUQykKKyAgICB2b2lkIHNp
Z25hbFJlYWRQYWNrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwgY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgdWludDE2
X3QgcG9ydCwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGludCwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxB
ZGRyZXNzUmVhZHkoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwgY29uc3QgUlRD
TmV0d29yazo6U29ja2V0QWRkcmVzcyYpOworICAgIHZvaWQgc2lnbmFsQ29ubmVjdChXZWJDb3Jl
OjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHNpZ25hbENsb3NlKFdlYkNv
cmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGludCk7CisgICAgdm9pZCBzaWduYWxOZXdD
b25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0SWRlbnRp
ZmllciwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlm
aWVyLCBjb25zdCBXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKKyNlbmRpZgor
CisgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lk
IGRpc3BhdGNoVG9UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKKwogI2lmIFVTRShM
SUJXRUJSVEMpCiAgICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSBtX3NvY2tldEZhY3Rvcnk7CiAg
ICAgV2ViUlRDTW9uaXRvciBtX3dlYk5ldHdvcmtNb25pdG9yOwpAQCAtNjksMTUgKzg3LDMyIEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgV2ViTUROU1JlZ2lzdGVyIG1fbWRu
c1JlZ2lzdGVyOwogI2VuZGlmCisgICAgUmVmUHRyPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0
aW9uOwogfTsKIAoraW5saW5lIExpYldlYlJUQ05ldHdvcms6On5MaWJXZWJSVENOZXR3b3JrKCkK
K3sKKyAgICBzZXRDb25uZWN0aW9uKG51bGxwdHIpOworfQorCiBpbmxpbmUgdm9pZCBMaWJXZWJS
VENOZXR3b3JrOjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKQogeworICAgIHNldENvbm5lY3Rpb24o
bnVsbHB0cik7CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIG1fd2ViTmV0d29ya01vbml0b3Iu
bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCk7CiAjZW5kaWYKIH0KIAoraW5saW5lIHZvaWQgTGliV2Vi
UlRDTmV0d29yazo6c2V0Q29ubmVjdGlvbihSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5l
Y3Rpb24pCit7CisgICAgaWYgKG1fY29ubmVjdGlvbikKKyAgICAgICAgbV9jb25uZWN0aW9uLT5y
ZW1vdmVUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6Om1l
c3NhZ2VSZWNlaXZlck5hbWUoKSk7CisgICAgbV9jb25uZWN0aW9uID0gV1RGTW92ZShjb25uZWN0
aW9uKTsKKyAgICBpZiAobV9jb25uZWN0aW9uKQorICAgICAgICBtX2Nvbm5lY3Rpb24tPmFkZFRo
cmVhZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpLCB0aGlzKTsKK30KKwogaW5saW5lIGJvb2wgTGliV2ViUlRDTmV0d29yazo6
aXNBY3RpdmUoKSBjb25zdAogewogI2lmIFVTRShMSUJXRUJSVEMpCkBAIC04Nyw0ICsxMjIsNTcg
QEAgaW5saW5lIGJvb2wgTGliV2ViUlRDTmV0d29yazo6aXNBY3RpdmUoKSBjb25zdAogI2VuZGlm
CiB9CiAKK2lubGluZSB2b2lkIExpYldlYlJUQ05ldHdvcms6OmRpc3BhdGNoVG9UaHJlYWQoRnVu
Y3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgLy8g
RklYTUU6IE5lZWQgdG8gZGlzcGF0Y2ggd2hlbiB0aHJlYWQgaXMgYXZhaWxhYmxlIG9ubHkuCisg
ICAgV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQo
W2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgeworICAgICAgICBjYWxsYmFjaygpOwor
ICAgIH0pOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOworI2VuZGlmCit9CisK
KyNpZiBVU0UoTElCV0VCUlRDKQoraW5saW5lIHZvaWQgTGliV2ViUlRDTmV0d29yazo6c2lnbmFs
QWRkcmVzc1JlYWR5KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmll
ciwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcykKK3sKKyAgICBpZiAo
YXV0byogc29ja2V0ID0gbV9zb2NrZXRGYWN0b3J5LnNvY2tldChpZGVudGlmaWVyKSkKKyAgICAg
ICAgc29ja2V0LT5zaWduYWxBZGRyZXNzUmVhZHkoYWRkcmVzcy52YWx1ZSk7Cit9CisKK2lubGlu
ZSB2b2lkIExpYldlYlJUQ05ldHdvcms6OnNpZ25hbFJlYWRQYWNrZXQoV2ViQ29yZTo6TGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
IGRhdGEsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9y
dCwgaW50NjRfdCB0aW1lc3RhbXApCit7CisgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0
RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikpIHsKKyAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBi
dWZmZXIgYWxsb2NhdGlvbi4KKyAgICAgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRC
dWZmZXI6OmNyZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgICAgICBzb2NrZXQt
PnNpZ25hbFJlYWRQYWNrZXQoYnVmZmVyLmdldCgpLCBydGM6OlNvY2tldEFkZHJlc3MoYWRkcmVz
cy52YWx1ZSwgcG9ydCksIHRpbWVzdGFtcCk7CisgICAgfQorfQorCitpbmxpbmUgdm9pZCBMaWJX
ZWJSVENOZXR3b3JrOjpzaWduYWxTZW50UGFja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElk
ZW50aWZpZXIgaWRlbnRpZmllciwgaW50IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNlbmRUaW1lTXMp
Cit7CisgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRp
ZmllcikpCisgICAgICAgIHNvY2tldC0+c2lnbmFsU2VudFBhY2tldChydGNQYWNrZXRJRCwgc2Vu
ZFRpbWVNcyk7Cit9CisKK2lubGluZSB2b2lkIExpYldlYlJUQ05ldHdvcms6OnNpZ25hbENvbm5l
Y3QoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAg
IGlmIChhdXRvKiBzb2NrZXQgPSBtX3NvY2tldEZhY3Rvcnkuc29ja2V0KGlkZW50aWZpZXIpKQor
ICAgICAgICBzb2NrZXQtPnNpZ25hbENvbm5lY3QoKTsKK30KKworaW5saW5lIHZvaWQgTGliV2Vi
UlRDTmV0d29yazo6c2lnbmFsQ2xvc2UoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmll
ciBpZGVudGlmaWVyLCBpbnQgZXJyb3IpCit7CisgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29j
a2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgIHNvY2tldC0+c2lnbmFsQ2xv
c2UoZXJyb3IpOworfQorCitpbmxpbmUgdm9pZCBMaWJXZWJSVENOZXR3b3JrOjpzaWduYWxOZXdD
b25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwg
V2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlmaWVyLCBj
b25zdCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKQoreworICAgIGlm
IChhdXRvKiBzb2NrZXQgPSBtX3NvY2tldEZhY3Rvcnkuc29ja2V0KGlkZW50aWZpZXIpKQorICAg
ICAgICBzb2NrZXQtPnNpZ25hbE5ld0Nvbm5lY3Rpb24obV9zb2NrZXRGYWN0b3J5LmNyZWF0ZU5l
d0Nvbm5lY3Rpb25Tb2NrZXQoKnNvY2tldCwgbmV3U29ja2V0SWRlbnRpZmllciwgcmVtb3RlQWRk
cmVzcy52YWx1ZSkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05l
dHdvcmsubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTZkMWI2MmFjNmJh
ZDEzYzk2YzVhZmFlYTdjODEyNTEwMTBiYTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMu
aW4KQEAgLTAsMCArMSwzNCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6
CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gTGliV2ViUlRDTmV0d29yayBO
b3RSZWZDb3VudGVkIHsKKyAgICBTaWduYWxSZWFkUGFja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIgc29ja2V0SWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEs
IFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQsIGlu
dDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25hbFNlbnRQYWNrZXQoV2ViQ29yZTo6TGliV2ViUlRD
U29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlmaWVyLCBpbnQgcGFja2V0U2l6ZSwgaW50NjRf
dCB0aW1lc3RhbXApCisgICAgU2lnbmFsQWRkcmVzc1JlYWR5KFdlYkNvcmU6OkxpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIgc29ja2V0SWRlbnRpZmllciwgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2Nr
ZXRBZGRyZXNzIGFkZHJlc3MpCisgICAgU2lnbmFsQ29ubmVjdChXZWJDb3JlOjpMaWJXZWJSVENT
b2NrZXRJZGVudGlmaWVyIHNvY2tldElkZW50aWZpZXIpCisgICAgU2lnbmFsQ2xvc2UoV2ViQ29y
ZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlmaWVyLCBpbnQgZXJyb3Ip
CisgICAgU2lnbmFsTmV3Q29ubmVjdGlvbihXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyIHNvY2tldElkZW50aWZpZXIsIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIg
bmV3U29ja2V0SWRlbnRpZmllciwgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIHJl
bW90ZUFkZHJlc3MpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tl
dC5oCmluZGV4IDNmZDFjZTE3ODBhOWFjNmU1MjU1NzZjMzA0ZGVlNTA0YTc0NTU5NTIuLjlmYTgy
YTQ1ZTkxNzNhZDg3MDUyMWI1YTc4ODRjZTJlOGVmNzMzMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmgK
QEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBib29sIHdpbGxTZW5kKHNp
emVfdCk7CiAKLSAgICBmcmllbmQgY2xhc3MgV2ViUlRDU29ja2V0OworICAgIGZyaWVuZCBjbGFz
cyBMaWJXZWJSVENOZXR3b3JrOwogICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChjb25zdCBXZWJD
b3JlOjpTaGFyZWRCdWZmZXImLCBydGM6OlNvY2tldEFkZHJlc3MmJiwgaW50NjRfdCk7CiAgICAg
dm9pZCBzaWduYWxTZW50UGFja2V0KGludCwgaW50NjRfdCk7CiAgICAgdm9pZCBzaWduYWxBZGRy
ZXNzUmVhZHkoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29j
a2V0RmFjdG9yeS5jcHAKaW5kZXggZmYwMTcxMzlmMjYyOTdmN2M1YmU1NTNhMzNkZjUzMGVjNmQ1
MGU2OS4uYThkYTdjYzlhZTgwNGZlOWMyODhiZWYyZDUzZTY1ZjIzNmFkYzgwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tl
dEZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUg
Ik5ldHdvcmtSVENNb25pdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlk
ZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNpbmNsdWRlICJXZWJSVENT
b2NrZXQuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlJUQ1NvY2tldC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4MjkzYmNj
ZmI5ZjJkOWJjMmY2NWIwNDc5Y2I0ZDU4YjhjNmY5ZjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlJUQ1NvY2tldC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJSVENTb2NrZXQu
aCIKLQotI2lmIFVTRShMSUJXRUJSVEMpCi0KLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCi0j
aW5jbHVkZSAiTGliV2ViUlRDU29ja2V0LmgiCi0jaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFj
dG9yeS5oIgotI2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXRNZXNzYWdlcy5oIgotI2luY2x1ZGUg
PFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLXZvaWQgV2ViUlRD
U29ja2V0OjpzaWduYWxPbk5ldHdvcmtUaHJlYWQoTGliV2ViUlRDU29ja2V0RmFjdG9yeSYgZmFj
dG9yeSwgTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBGdW5jdGlvbjx2b2lk
KExpYldlYlJUQ1NvY2tldCYpPiYmIGNhbGxiYWNrKQotewotICAgIC8vIGZhY3RvcnkgaXMgc3Rh
eWluZyB2YWxpZCBkdXJpbmcgdGhlIHByb2Nlc3MgbGlmZXRpbWUuCi0gICAgV2ViQ29yZTo6TGli
V2ViUlRDUHJvdmlkZXI6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoWyZmYWN0b3J5LCBpZGVu
dGlmaWVyLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKLSAgICAgICAgYXV0byog
c29ja2V0ID0gZmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcik7Ci0gICAgICAgIGlmICghc29ja2V0
KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjYWxsYmFjaygqc29ja2V0KTsKLSAgICB9
KTsKLX0KLQotV2ViUlRDU29ja2V0OjpXZWJSVENTb2NrZXQoTGliV2ViUlRDU29ja2V0RmFjdG9y
eSYgZmFjdG9yeSwgTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyKQotICAgIDog
bV9mYWN0b3J5KGZhY3RvcnkpCi0gICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKLXsKLX0K
LQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBSVENOZXR3b3Jr
OjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzKQotewotICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZCht
X2ZhY3RvcnksIG1faWRlbnRpZmllciwgW2FkZHJlc3NdKExpYldlYlJUQ1NvY2tldCYgc29ja2V0
KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxBZGRyZXNzUmVhZHkoYWRkcmVzcy52YWx1ZSk7Ci0g
ICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxSZWFkUGFja2V0KGNvbnN0IElQ
Qzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBhZGRy
ZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKLXsKLSAgICBhdXRvIGJ1ZmZl
ciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUo
KSk7Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBb
YnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBhZGRyZXNzLCBwb3J0LCB0aW1lc3RhbXBdKExpYldl
YlJUQ1NvY2tldCYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxSZWFkUGFja2V0KGJ1
ZmZlci5nZXQoKSwgcnRjOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MudmFsdWUsIHBvcnQpLCB0aW1l
c3RhbXApOwotICAgIH0pOwotfQotCi12b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsU2VudFBhY2tl
dChpbnQgcnRjUGFja2V0SUQsIGludDY0X3Qgc2VuZFRpbWVNcykKLXsKLSAgICBzaWduYWxPbk5l
dHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtydGNQYWNrZXRJRCwgc2VuZFRp
bWVNc10oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxTZW50UGFja2V0KHJ0
Y1BhY2tldElELCBzZW5kVGltZU1zKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJSVENTb2NrZXQ6
OnNpZ25hbENvbm5lY3QoKQotewotICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3Rvcnks
IG1faWRlbnRpZmllciwgW10oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxD
b25uZWN0KCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxDbG9zZShp
bnQgZXJyb3IpCi17Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVu
dGlmaWVyLCBbZXJyb3JdKGF1dG8mIHNvY2tldCkgewotICAgICAgICBzb2NrZXQuc2lnbmFsQ2xv
c2UoZXJyb3IpOwotICAgIH0pOwotfQotCi12b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsTmV3Q29u
bmVjdGlvbihMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG5ld1NvY2tldElkZW50aWZpZXIsIGNv
bnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MpCi17Ci0gICAgc2ln
bmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBbbmV3U29ja2V0SWRl
bnRpZmllciwgcmVtb3RlQWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29weShyZW1vdGVB
ZGRyZXNzLnZhbHVlKV0oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxOZXdD
b25uZWN0aW9uKHNvY2tldC5tX2ZhY3RvcnkuY3JlYXRlTmV3Q29ubmVjdGlvblNvY2tldChzb2Nr
ZXQsIG5ld1NvY2tldElkZW50aWZpZXIsIHJlbW90ZUFkZHJlc3MpKTsKLSAgICB9KTsKLX0KLQot
fSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tl
dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tl
dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2UxOGRmZTMwMzhmY2U3ZTcyYWI0
OWVmZThhMjg3MGI0Zjk4MmZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENT
b2NrZXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJh
Z21hIG9uY2UKLQotI2lmIFVTRShMSUJXRUJSVEMpCi0KLSNpbmNsdWRlICJSVENOZXR3b3JrLmgi
Ci0jaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg+Ci0jaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uLmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgQ29ubmVjdGlvbjsK
LWNsYXNzIERhdGFSZWZlcmVuY2U7Ci1jbGFzcyBEZWNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2Vi
S2l0IHsKLQotY2xhc3MgTGliV2ViUlRDU29ja2V0OwotY2xhc3MgTGliV2ViUlRDU29ja2V0RmFj
dG9yeTsKLQotY2xhc3MgV2ViUlRDU29ja2V0IHsKLXB1YmxpYzoKLSAgICBXZWJSVENTb2NrZXQo
TGliV2ViUlRDU29ja2V0RmFjdG9yeSYsIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZp
ZXIpOwotCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKTsKLQotICAgIHN0YXRpYyB2b2lkIHNpZ25hbE9uTmV0d29ya1RocmVhZChMaWJX
ZWJSVENTb2NrZXRGYWN0b3J5JiwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwg
RnVuY3Rpb248dm9pZChMaWJXZWJSVENTb2NrZXQmKT4mJik7Ci0KLXByaXZhdGU6Ci0gICAgdm9p
ZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJUQ05l
dHdvcms6OklQQWRkcmVzcyYsIHVpbnQxNl90IHBvcnQsIGludDY0X3QpOwotICAgIHZvaWQgc2ln
bmFsU2VudFBhY2tldChpbnQsIGludDY0X3QpOwotICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5
KGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKLSAgICB2b2lkIHNpZ25hbENvbm5l
Y3QoKTsKLSAgICB2b2lkIHNpZ25hbENsb3NlKGludCk7Ci0gICAgdm9pZCBzaWduYWxOZXdDb25u
ZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3U29ja2V0SWRlbnRp
ZmllciwgY29uc3QgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJik7Ci0KLSAgICBM
aWJXZWJSVENTb2NrZXRGYWN0b3J5JiBtX2ZhY3Rvcnk7Ci0gICAgV2ViQ29yZTo6TGliV2ViUlRD
U29ja2V0SWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKLQotI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdl
cy5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU5ZDBjZWQxYjZjYmRkMzc2YTMw
YmY2NTI0NmVkNzEwYTI4NmE0Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRD
U29ja2V0Lm1lc3NhZ2VzLmluCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotIyBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
IyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0j
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5ECi0jIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUgotIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotIyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jaWYgVVNFKExJQldFQlJUQykKLQot
bWVzc2FnZXMgLT4gV2ViUlRDU29ja2V0IE5vdFJlZkNvdW50ZWQgewotICAgIFNpZ25hbFJlYWRQ
YWNrZXQoSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRy
ZXNzIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQotICAgIFNpZ25h
bFNlbnRQYWNrZXQoaW50IHBhY2tldFNpemUsIGludDY0X3QgdGltZXN0YW1wKQotICAgIFNpZ25h
bEFkZHJlc3NSZWFkeShXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MgYWRkcmVzcykK
LSAgICBTaWduYWxDb25uZWN0KCkKLSAgICBTaWduYWxDbG9zZShpbnQgZXJyb3IpCi0gICAgU2ln
bmFsTmV3Q29ubmVjdGlvbihXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG5ld1Nv
Y2tldElkZW50aWZpZXIsIFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyByZW1vdGVB
ZGRyZXNzKQotfQotCi0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398190</attachid>
            <date>2020-05-01 09:30:56 -0700</date>
            <delta_ts>2020-05-01 10:17:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211290-20200501183051.patch</filename>
            <type>text/plain</type>
            <size>41937</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJhZmM1N2M3ODk2ZWM3Nzlh
OTg1ZGE5NjQxNzEwMTQ2N2Y2MGVkMjUuLmI4OWFjOWIyNDFmNDVlNzJjNzk2NDM4NDcyMDU0NzQ0
NWE3ZjI0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjAtMDUtMDEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlY2VpdmluZyBXZWJSVEMgbmV0
d29yayBwYWNrZXRzIHNob3VsZCBub3QgZ28gdGhyb3VnaCB0aGUgbWFpbiB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTI5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdJUC4KKworICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFkUGFj
a2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxTZW50
UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxB
ZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNp
Z25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNp
Z25hbENsb3NlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNlcnZl
clRDUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRl
Q2xpZW50VENQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpu
ZXdDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjbG9z
ZUxpc3RlbmluZ1NvY2tldHMpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb246Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oOgor
ICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjpjb25uZWN0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDTmV0d29yazo6fkxpYldlYlJUQ05ldHdvcmspOgorICAgICAgICAo
V2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWQpOgorICAgICAg
ICAoV2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjpzZXRDb25uZWN0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDTmV0d29yazo6ZGlzcGF0Y2hUb1RocmVhZCk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ05ldHdvcms6OnNpZ25hbEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ05ldHdvcms6OnNpZ25hbFJlYWRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0
OjpMaWJXZWJSVENOZXR3b3JrOjpzaWduYWxTZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDTmV0d29yazo6c2lnbmFsQ29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ05ldHdvcms6OnNpZ25hbENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDTmV0
d29yazo6c2lnbmFsTmV3Q29ubmVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5p
bi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFj
dG9yeS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2Nr
ZXQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDU29ja2V0Lmg6IFJlbW92ZWQuCisKIDIwMjAtMDUtMDEgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE1vdmUgZm9jdXMgb3V0IG9m
IHRoZSB3ZWIgdmlldyB3aGVuIHRhYiBpcyBwcmVzc2VkIGFuZCB0aGVyZSBpc24ndCBhIG5leHQg
ZWxlbWVudCB0byBmb2N1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggZGFlY2Q4NmM3NGM4NDEwYTU2
NjgwNjcwYWZlNmUzOTFjYzQ2MjI1Ni4uMzc3YWI0MDZhNGZkMjk2NTVmY2FlYTRkZmRlMDAxODIx
NGZiZjE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC0yMzQsMTAgKzIzNCwxMCBAQCBzZXQoV2Vi
S2l0X01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgogICAgIFdlYlByb2Nlc3MvSW5zcGVj
dG9yL1dlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiAKKyAgICBXZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYk1ETlNSZWdpc3Rlci5tZXNzYWdlcy5pbgogICAgIFdlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbgogICAgIFdlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4KLSAgICBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbgogCiAgICAgV2ViUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgogICAgIFdlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDhiZGI1MWExNmQzOTg4OTcz
ZDgzZGI3MTU3N2VmOTg1ZTNmZGViZmYuLjIxMmE2NmFlODhmNmZiODU2ZjVlOGQ3MGU4NDYyMjlj
ZWNkZTMwNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKQEAgLTE0MCw2ICsxNDAsNyBAQCAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KICQoUFJPSkVD
VF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLm1lc3NhZ2Vz
LmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05l
dHdvcmsubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViTUROU1JlZ2lzdGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Qg
Yi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGQx
MDA0NjMzOWZlNGMzNjk0OTI2YTg3OGEyZWIxY2QwOGIxNzA4MGQuLjBlYjBmNzVkMmViOGU3MTZm
OTA5MjRiYmNhZDgwYzkxYzRlNDIyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtNTcsNiArNTcsOSBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENDb2RlY3NNZXNzYWdlc1JlcGxp
ZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2Vi
UlRDQ29kZWNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENDb2RlY3NQcm94eU1lc3NhZ2VzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ0NvZGVj
c1Byb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENOZXR3b3JrTWVz
c2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGli
V2ViUlRDTmV0d29ya01lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENSZW1vdGVDb2RlY3NNZXNzYWdlUmVjZWl2ZXIu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJS
VENSZW1vdGVDb2RlY3NNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENSZW1vdGVDb2RlY3NNZXNzYWdlc1JlcGxpZXMuaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGU0NWRhODkzZDlhN2M5ZWM2YTE3NzE5MmVjZjA2
NzJjZTM1MGRkNmIuLmYxZWExZjEwMGQ0MGFjZmM4OWVlMmE4NDVjZTIxMmM2NTUzZTVkZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyOSw2ICsxMjksNyBAQCBNRVNTQUdFX1JF
Q0VJVkVSUyA9IFwKICAgICBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBcCiAgICAg
TGliV2ViUlRDQ29kZWNzIFwKICAgICBMaWJXZWJSVENDb2RlY3NQcm94eSBcCisgICAgTGliV2Vi
UlRDTmV0d29yayBcCiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIFwKICAgICBOUE9iamVj
dE1lc3NhZ2VSZWNlaXZlciBcCiAgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgXApA
QCAtMjI4LDcgKzIyOSw2IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIFdlYlByb2Nlc3NQ
cm94eSBcCiAgICAgV2ViUlRDTW9uaXRvciBcCiAgICAgV2ViUlRDUmVzb2x2ZXIgXAotICAgIFdl
YlJUQ1NvY2tldCBcCiAgICAgV2ViUmVzb3VyY2VMb2FkZXIgXAogICAgIFdlYlNXQ2xpZW50Q29u
bmVjdGlvbiBcCiAgICAgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24gXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1Nv
Y2tldENsaWVudC5jcHAKaW5kZXggYzFkNWNiYjdkZWExODkzYzEwNTVlNTg0ZWEyNGNhOGNkMjVk
YTQxYy4uMzUyZmZkNGYwZjU5ZDgzMWI3NGYyYzcyYWFlNzUzYTNkMmUyMjkxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXRDbGllbnQuY3BwCkBAIC0zMCw5ICszMCw5IEBACiAKICNpbmNsdWRlICJDb25uZWN0
aW9uLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ05l
dHdvcmtNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UlRDUHJvdmlkZXIuaCIKLSNpbmNsdWRlICJXZWJSVENTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAK
QEAgLTEwMCw3ICsxMDAsNyBAQCB2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsUmVh
ZFBhY2tldChydGM6OkFzeW5jUGFja2V0U29ja2V0KiBzb2NrZXQsIGNvbgogICAgIGF1dG8gYnVm
ZmVyID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUodmFsdWUsIGxlbmd0aCk7CiAgICAg
bV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBtX2lkZW50aWZp
ZXIsIGJ1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgYWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xh
dGVkQ29weShhZGRyZXNzKSwgcGFja2V0VGltZV0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
KSB7CiAgICAgICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5zaXplKCkpOwotICAgICAgICBj
b25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsUmVhZFBhY2tldChk
YXRhLCBSVENOZXR3b3JrOjpJUEFkZHJlc3MoYWRkcmVzcy5pcGFkZHIoKSksIGFkZHJlc3MucG9y
dCgpLCBwYWNrZXRUaW1lKSwgaWRlbnRpZmllcik7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChN
ZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFsUmVhZFBhY2tldChpZGVudGlmaWVyLCBk
YXRhLCBSVENOZXR3b3JrOjpJUEFkZHJlc3MoYWRkcmVzcy5pcGFkZHIoKSksIGFkZHJlc3MucG9y
dCgpLCBwYWNrZXRUaW1lKSwgMCk7CiAgICAgfSk7CiB9CiAKQEAgLTEwOCw3ICsxMDgsNyBAQCB2
b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsU2VudFBhY2tldChydGM6OkFzeW5jUGFj
a2V0U29ja2V0KiBzb2NrZXQsIGNvbgogewogICAgIEFTU0VSVF9VTlVTRUQoc29ja2V0LCBtX3Nv
Y2tldC5nZXQoKSA9PSBzb2NrZXQpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21NYWluVGhy
ZWFkKFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCBzZW50UGFja2V0XShJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3Rpb24pIHsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJS
VENTb2NrZXQ6OlNpZ25hbFNlbnRQYWNrZXQoc2VudFBhY2tldC5wYWNrZXRfaWQsIHNlbnRQYWNr
ZXQuc2VuZF90aW1lX21zKSwgaWRlbnRpZmllcik7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChN
ZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFsU2VudFBhY2tldChpZGVudGlmaWVyLCBz
ZW50UGFja2V0LnBhY2tldF9pZCwgc2VudFBhY2tldC5zZW5kX3RpbWVfbXMpLCAwKTsKICAgICB9
KTsKIH0KIApAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50Ojpz
aWduYWxBZGRyZXNzUmVhZHkocnRjOjpBc3luY1BhY2tldFNvY2tldCogc29ja2V0LCBjCiB7CiAg
ICAgQVNTRVJUX1VOVVNFRChzb2NrZXQsIG1fc29ja2V0LmdldCgpID09IHNvY2tldCk7CiAgICAg
bV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBtX2lkZW50aWZp
ZXIsIGFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkoYWRkcmVzcyldKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6
OldlYlJUQ1NvY2tldDo6U2lnbmFsQWRkcmVzc1JlYWR5KFJUQ05ldHdvcms6OlNvY2tldEFkZHJl
c3MoYWRkcmVzcykpLCBpZGVudGlmaWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3Nh
Z2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxBZGRyZXNzUmVhZHkoaWRlbnRpZmllciwgUlRD
TmV0d29yazo6U29ja2V0QWRkcmVzcyhhZGRyZXNzKSksIDApOwogICAgIH0pOwogfQogCkBAIC0x
MzUsNyArMTM1LDcgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENvbm5lY3Qo
cnRjOjpBc3luY1BhY2tldFNvY2tldCogc29ja2V0KQogewogICAgIEFTU0VSVF9VTlVTRUQoc29j
a2V0LCBtX3NvY2tldC5nZXQoKSA9PSBzb2NrZXQpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZy
b21NYWluVGhyZWFkKFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyXShJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24pIHsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENT
b2NrZXQ6OlNpZ25hbENvbm5lY3QoKSwgaWRlbnRpZmllcik7CisgICAgICAgIGNvbm5lY3Rpb24u
c2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFsQ29ubmVjdChpZGVudGlmaWVy
KSwgMCk7CiAgICAgfSk7CiB9CiAKQEAgLTE0Myw3ICsxNDMsNyBAQCB2b2lkIExpYldlYlJUQ1Nv
Y2tldENsaWVudDo6c2lnbmFsQ2xvc2UocnRjOjpBc3luY1BhY2tldFNvY2tldCogc29ja2V0LCBp
bnQgZXJybwogewogICAgIEFTU0VSVF9VTlVTRUQoc29ja2V0LCBtX3NvY2tldC5nZXQoKSA9PSBz
b2NrZXQpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21NYWluVGhyZWFkKFtpZGVudGlmaWVy
ID0gbV9pZGVudGlmaWVyLCBlcnJvcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0g
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxDbG9z
ZShlcnJvciksIGlkZW50aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6
OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIGVycm9yKSwgMCk7CiAg
ICAgfSk7CiAgICAgLy8gV2Ugd2FudCB0byByZW1vdmUgJ3RoaXMnIGZyb20gdGhlIHNvY2tldCBt
YXAgbm93IGJ1dCB3ZSB3aWxsIGRlc3Ryb3kgaXQgYXN5bmNocm9ub3VzbHkKICAgICAvLyBzbyB0
aGF0IHRoZSBzb2NrZXQgcGFyYW1ldGVyIG9mIHNpZ25hbENsb3NlIHJlbWFpbnMgYWxpdmUgYXMg
dGhlIGNhbGxlciBvZiBzaWduYWxDbG9zZSBtYXkgYWN0dWFsbHkgYmVpbmcgdXNpbmcgaXQgYWZ0
ZXJ3YXJkcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwCmluZGV4IGEyYmNjNmI3NTIyYjIxY2YyYTg4NWQz
YmY3MjIwZGM5MmU4YTMzYjkuLjJhMDA1YWYwN2NmMTc3MzFiY2MzMmE4OTFhZDY5Nzc2ODIwY2Rm
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgVVNFKExJ
QldFQlJUQykKIAorI2luY2x1ZGUgIkxpYldlYlJUQ05ldHdvcmtNZXNzYWdlcy5oIgogI2luY2x1
ZGUgIkxpYldlYlJUQ1NvY2tldENsaWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgpAQCAtMzUsNyArMzYsNiBAQAog
I2luY2x1ZGUgIk5ldHdvcmtSVENSZXNvbHZlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtSVENTb2Nr
ZXQuaCIKICNpbmNsdWRlICJXZWJSVENSZXNvbHZlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2Vi
UlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5o
PgogI2luY2x1ZGUgPHdlYnJ0Yy9ydGNfYmFzZS9hc3luY19wYWNrZXRfc29ja2V0Lmg+CiAjaW5j
bHVkZSA8d2VicnRjL3J0Y19iYXNlL2xvZ2dpbmcuaD4KQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lk
IE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZp
ZXIgaWRlbnRpZmllciwgc3RkOgogICAgIGlmICghc29ja2V0KSB7CiAgICAgICAgIHNlbmRGcm9t
TWFpblRocmVhZChbdGhpcywgaWRlbnRpZmllciwgc2l6ZSA9IG1fc29ja2V0cy5zaXplKCldKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewogICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1JfSUZfQUxMT1dFRCgiY3JlYXRlU29ja2V0IHdpdGggJXUgc29ja2V0cyBpcyB1bmFibGUgdG8g
Y3JlYXRlIGEgbmV3IHNvY2tldCIsIHNpemUpOwotICAgICAgICAgICAgY29ubmVjdGlvbi5zZW5k
KE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbENsb3NlKDEpLCBpZGVudGlmaWVyKTsKKyAg
ICAgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2ln
bmFsQ2xvc2UoaWRlbnRpZmllciwgMSksIDApOwogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3Jl
YXRlU2VydmVyVENQU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZgogewog
ICAgIGlmICghbV9pc0xpc3RlbmluZ1NvY2tldEF1dGhvcml6ZWQpIHsKICAgICAgICAgaWYgKG1f
Y29ubmVjdGlvbikKLSAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQo
TWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoMSksIGlkZW50aWZpZXIpOworICAg
ICAgICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2Vi
UlRDTmV0d29yazo6U2lnbmFsQ2xvc2UoaWRlbnRpZmllciwgMSksIDApOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC0xNTgsNyArMTU4LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6
OmNyZWF0ZUNsaWVudFRDUFNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWYK
IHsKICAgICBhdXRvKiBzZXNzaW9uID0gbV9jb25uZWN0aW9uLT5uZXR3b3JrU2Vzc2lvbigpOwog
ICAgIGlmICghc2Vzc2lvbikgewotICAgICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5z
ZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbENsb3NlKDEpLCBpZGVudGlmaWVyKTsK
KyAgICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2Vi
UlRDTmV0d29yazo6U2lnbmFsQ2xvc2UoaWRlbnRpZmllciwgMSksIDApOwogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGlkZW50aWZpZXIs
IGxvY2FsQWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29weShsb2NhbEFkZHJlc3MudmFs
dWUpLCByZW1vdGVBZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KHJlbW90ZUFkZHJl
c3MudmFsdWUpLCBwcm94eUluZm8gPSBwcm94eUluZm9Gcm9tU2Vzc2lvbihyZW1vdGVBZGRyZXNz
LCAqc2Vzc2lvbiksIHVzZXJBZ2VudCA9IFdURk1vdmUodXNlckFnZW50KS5pc29sYXRlZENvcHko
KSwgb3B0aW9uc10oKSB7CkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlk
ZXI6Om5ld0Nvbm5lY3Rpb24oU29ja2V0JiBzZXJ2ZXJTb2NrZXQsIHN0ZDo6dW5pcXVlX3B0cjxy
dGMKIHsKICAgICBhdXRvIGluY29taW5nU29ja2V0SWRlbnRpZmllciA9IExpYldlYlJUQ1NvY2tl
dElkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiAgICAgc2VuZEZyb21NYWluVGhyZWFkKFtpZGVudGlm
aWVyID0gc2VydmVyU29ja2V0LmlkZW50aWZpZXIoKSwgaW5jb21pbmdTb2NrZXRJZGVudGlmaWVy
LCByZW1vdGVBZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KG5ld1NvY2tldC0+R2V0
UmVtb3RlQWRkcmVzcygpKV0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0gICAgICAg
IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxOZXdDb25uZWN0
aW9uKGluY29taW5nU29ja2V0SWRlbnRpZmllciwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyhy
ZW1vdGVBZGRyZXNzKSksIGlkZW50aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVz
c2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbE5ld0Nvbm5lY3Rpb24oaWRlbnRpZmllciwg
aW5jb21pbmdTb2NrZXRJZGVudGlmaWVyLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKHJlbW90
ZUFkZHJlc3MpKSwgMCk7CiAgICAgfSk7CiAgICAgbV9wZW5kaW5nSW5jb21pbmdTb2NrZXRzLmFk
ZChpbmNvbWluZ1NvY2tldElkZW50aWZpZXIsIFdURk1vdmUobmV3U29ja2V0KSk7CiB9CkBAIC0y
NjQsNyArMjY0LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlTGlzdGVuaW5nU29j
a2V0cyhGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmQKICAgICAgICAgY2FsbE9uTWFp
blRocmVhZChbcHJvdmlkZXIgPSBtYWtlUmVmKCp0aGlzKSwgbGlzdGVuaW5nU29ja2V0SWRlbnRp
ZmllcnMgPSBXVEZNb3ZlKGxpc3RlbmluZ1NvY2tldElkZW50aWZpZXJzKSwgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gewogICAgICAgICAgICAgaWYgKHBy
b3ZpZGVyLT5tX2Nvbm5lY3Rpb24pIHsKICAgICAgICAgICAgICAgICBmb3IgKGF1dG8gaWRlbnRp
ZmllciA6IGxpc3RlbmluZ1NvY2tldElkZW50aWZpZXJzKQotICAgICAgICAgICAgICAgICAgICBw
cm92aWRlci0+bV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUlRD
U29ja2V0OjpTaWduYWxDbG9zZShFQ09OTkFCT1JURUQpLCBpZGVudGlmaWVyKTsKKyAgICAgICAg
ICAgICAgICAgICAgcHJvdmlkZXItPm1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoTWVz
c2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIEVDT05OQUJP
UlRFRCksIDApOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
KTsKICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCBhZDAxNmJlZTU3ZDJkMWM5ZDhlODI2N2Nm
MTE4MWI3YTg4MzNhMzlhLi44OTQzNGI1NGNkZThhMThhODdjNzU1MjM4ZmZmYjBjMGMyYTM3MmM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvU291cmNlcy50eHQKQEAgLTU4OSw2ICs1ODksNyBAQCBXZWJQcm9jZXNzL05ldHdvcmsvV2Vi
U29ja2V0Q2hhbm5lbE1hbmFnZXIuY3BwCiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJv
dmlkZXIuY3BwCiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcAogCitXZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuY3BwCiBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5jcHAKIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDU29ja2V0LmNwcApAQCAtNTk2LDcgKzU5Nyw2IEBAIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAKIFdlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViTUROU1JlZ2lzdGVyLmNwcAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENN
b25pdG9yLmNwcAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5jcHAK
LVdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmNwcAogCiBXZWJQcm9jZXNz
L05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAog
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1MGYw
NDJhZDAzNmFmZjNjM2IwZDk0ZGZiNTE3OTYyMzExMjcyZjVlLi5iZmE0NTRkYzNkNDM0NzEzMjRh
MDE5NWQyN2IyYTU1OThhYTJjOGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNzQsNyArMTA3NCw3IEBACiAJCTUxRUZDMUNGMTUy
NEU2MjUwMEM5QTkzOCAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGQTJENTQxNTIxMTE4NjAwQzFC
QTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8q
IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJj
ZUxvYWRlck1lc3NhZ2VzLmggKi87IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBX
ZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2Vi
UmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwotCQk1MUYwNjBFMTE2NTQz
MTg1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYz
MjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1MUYwNjBF
MTE2NTQzMTg1MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2
NTQzMTc1MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtS
VENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRD
TW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYz
MjgxRiAvKiBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAv
KiBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTM0MjksNiArMzQy
OSw4IEBACiAJCTQxNTdFNEFGMjBFMkVDOTgwMEE2QzBENyAvKiBjb20uZ29vZ2xlLm8xZGJyb3dz
ZXJwbHVnaW4uc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29tLmdvb2dsZS5vMWRicm93c2Vy
cGx1Z2luLnNiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTU4NjQ5QTIzQkUwOTI0
MDBBMEE2MUUgLyogUlRDRW5jb2RlcklkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUlRDRW5jb2RlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE2Q0Q3NDUyM0ZCMTc4QjAwNjYxRDk5IC8qIE1ETlNSZWdpc3RlcklkZW50aWZp
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTUROU1JlZ2lzdGVySWRlbnRp
Zmllci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTUROU1JlZ2lzdGVySWRlbnRpZmllci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTZGODA4NjI0NUIzOTc0MDBCNjhGMDIgLyog
TGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBMaWJX
ZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRD
TmV0d29yay5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE2Rjgw
ODkyNDVDN0ZGNTAwQjY4RjAyIC8qIExpYldlYlJUQ05ldHdvcmsuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDTmV0d29yay5jcHA7IHBhdGggPSBOZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDE3MjE5ODkyM0I2MTI4MjAwQUU1Njg2IC8qIExpYldlYlJUQ0NvZGVjcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMaWJXZWJSVENDb2RlY3MuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3MjE5OEEyM0I2MTI4MjAwQUU1Njg2IC8qIExpYldlYlJU
Q0NvZGVjcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMaWJXZWJS
VENDb2RlY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcyMTk4QzIzQjYx
MkU4MDBBRTU2ODYgLyogUlRDRGVjb2RlcklkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUlRDRGVjb2RlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTM4MTEsNyArMzgxMyw3IEBACiAJCTUxRThCNjhEMUU3MTI4NzMwMDFCNzEz
MiAvKiBXZWJVUkxTY2hlbWVUYXNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYlVSTFNjaGVtZVRhc2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MUU5NDk5NjFENzYxQ0M3MDBFQzlFQjkgLyogVUlHYW1lcGFkUHJvdmlkZXJJT1MubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVSUdhbWVwYWRQcm92aWRlcklP
Uy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREQxNjU0MzE3NTAwRjMy
ODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk1MUYwNjBERDE2NTQzMTc1MDBG
MzI4MUMgLyogV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBMaWJX
ZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldl
YlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9MaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8qIE5ldHdv
cmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29y
a1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJL
aXQyL05ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29y
a1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29y
a1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9OZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJS
VENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlJUQ01v
bml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9X
ZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKQEAgLTc1ODUsNyArNzU4Nyw5IEBACiAJCTQxMzA3NTlFMURFODVFNjUwMDM5
RUM2OSAvKiB3ZWJydGMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTQxNkY4MDg5MjQ1QzdGRjUwMEI2OEYwMiAvKiBMaWJXZWJSVENOZXR3b3JrLmNwcCAq
LywKIAkJCQk0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2ViUlRDTmV0d29yay5oICov
LAorCQkJCTQxNkY4MDg2MjQ1QjM5NzQwMEI2OEYwMiAvKiBMaWJXZWJSVENOZXR3b3JrLm1lc3Nh
Z2VzLmluICovLAogCQkJCTQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92
aWRlci5jcHAgKi8sCiAJCQkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1By
b3ZpZGVyLmggKi8sCiAJCQkJNDFGQUY1RjcxRTNDMEI0NzAwMUFFNjc4IC8qIExpYldlYlJUQ1Jl
c29sdmVyLmNwcCAqLywKQEAgLTEwMTg0LDcgKzEwMTg4LDcgQEAKIAkJCQk1MUYwNjBERTE2NTQz
MTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovLAogCQkJCTUxRjA2
MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAotCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENT
b2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgx
QyAvKiBMaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk0MUYwNjBE
RDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8sCiAJCQkJNUMwQjE3NzYxRTdDODc5QzAwRTkxMjNDIC8qIFdlYlNvY2tldFN0cmVhbU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNUMwQjE3NzcxRTdDODc5QzAwRTkxMjNDIC8qIFdlYlNv
Y2tldFN0cmVhbU1lc3NhZ2VzLmggKi8sCkBAIC0xMzAyMSw3ICsxMzAyNSw3IEBACiAJCQkJNTFG
MDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRiAvKiBXZWJS
VENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUx
MTY1NDMxODUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUw
MEYzMjgxQyAvKiBMaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxRTBBN0NCMjNCNjQ1Q0QwMDU2MTA2MCAvKiBXZWJTb2NrZXRDaGFubmVsLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJTb2Nr
ZXRDaGFubmVsTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVDMEIxNzc5
MUU3Qzg4MjEwMEU5MTIzQyAvKiBXZWJTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAzNDhkOGM5YzJiNTZh
NGY5NGUxZjA4MjEzYjUwZGMxOGQxZTMwMWJmLi44NjVjMjI3YzUzM2NlMGY3MTA0M2EwZWZlZTNk
N2M1MjhkMmI0ZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTQ2LDcgKzQ2LDYg
QEAKICNpbmNsdWRlICJXZWJSVENNb25pdG9yLmgiCiAjaW5jbHVkZSAiV2ViUlRDTW9uaXRvck1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUlRDUmVzb2x2ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUg
IldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIldlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIldl
YlNXQ2xpZW50Q29ubmVjdGlvbk1lc3NhZ2VzLmgiCkBAIC03Nyw2ICs3Niw3IEBAIE5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbjo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlv
bjo6SWRlbnRpZmllciBjCiAgICAgLCBtX2Nvb2tpZUFjY2VwdFBvbGljeShjb29raWVBY2NlcHRQ
b2xpY3kpCiB7CiAgICAgbV9jb25uZWN0aW9uLT5vcGVuKCk7CisgICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpLnNldENvbm5lY3Rpb24obV9jb25uZWN0aW9uLmNv
cHlSZWYoKSk7CiB9CiAKIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6fk5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbigpCkBAIC0xMTIsMTQgKzExMiw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQ
CiAgICAgfQogCiAjaWYgVVNFKExJQldFQlJUQykKLSAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVj
ZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpKSB7Ci0gICAgICAgIGF1dG8mIG5ldHdvcmsgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5s
aWJXZWJSVENOZXR3b3JrKCk7Ci0gICAgICAgIGlmIChuZXR3b3JrLmlzQWN0aXZlKCkpCi0gICAg
ICAgICAgICBuZXR3b3JrLnNvY2tldChtYWtlT2JqZWN0SWRlbnRpZmllcjxMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyVHlwZT4oZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKS5kaWRSZWNlaXZlTWVz
c2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiUmVjZWl2ZWQgV2ViUlRDU29ja2V0IG1lc3NhZ2Ugd2hp
bGUgbGliV2ViUlRDTmV0d29yayBpcyBub3QgYWN0aXZlIik7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpX
ZWJSVENNb25pdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAgYXV0byYgbmV0
d29yayA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKTsKICAgICAg
ICAgaWYgKG5ldHdvcmsuaXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oCmluZGV4IGQxZjQ5
ZjA2ODhkZTZiZDRmNzBlYWI2NDAwMzA2MTYxYTE4MTkxNGYuLjg5MGMyODQyYTY4ZGZlODcxNDll
NmVjNTUyYzE1NTUwZGEzZmJjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaApAQCAtMjYsMzQgKzI2
LDQwIEBACiAjcHJhZ21hIG9uY2UKIAogI2lmIFVTRShMSUJXRUJSVEMpCisjaW5jbHVkZSAiTGli
V2ViUlRDTmV0d29ya01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIK
ICNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgiCiAjaW5jbHVkZSAiV2ViUlRDTW9u
aXRvci5oIgogI2luY2x1ZGUgIldlYlJUQ1Jlc29sdmVyLmgiCi0jaW5jbHVkZSAiV2ViUlRDU29j
a2V0LmgiCiAjZW5kaWYKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJX
ZWJNRE5TUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1NvY2tldElkZW50
aWZpZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAotY2xhc3MgTGliV2ViUlRDTmV0d29yayB7CitjbGFzcyBMaWJXZWJSVENOZXR3
b3JrIDogcHVibGljIElQQzo6Q29ubmVjdGlvbjo6VGhyZWFkTWVzc2FnZVJlY2VpdmVyIHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBMaWJXZWJSVENOZXR3b3Jr
KCkgPSBkZWZhdWx0OworICAgIH5MaWJXZWJSVENOZXR3b3JrKCk7CiAKKyAgICB2b2lkIHNldENv
bm5lY3Rpb24oUmVmUHRyPElQQzo6Q29ubmVjdGlvbj4mJik7CiAgICAgdm9pZCBuZXR3b3JrUHJv
Y2Vzc0NyYXNoZWQoKTsKIAogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKIAorICAgIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKKyAg
ICBJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24oKSB7IHJldHVybiBtX2Nvbm5lY3Rpb24uZ2V0
KCk7IH0KICNpZiBVU0UoTElCV0VCUlRDKQogICAgIFdlYlJUQ01vbml0b3ImIG1vbml0b3IoKSB7
IHJldHVybiBtX3dlYk5ldHdvcmtNb25pdG9yOyB9CiAgICAgTGliV2ViUlRDU29ja2V0RmFjdG9y
eSYgc29ja2V0RmFjdG9yeSgpIHsgcmV0dXJuIG1fc29ja2V0RmFjdG9yeTsgfQogCiAgICAgdm9p
ZCBkaXNhYmxlTm9uTG9jYWxob3N0Q29ubmVjdGlvbnMoKSB7IHNvY2tldEZhY3RvcnkoKS5kaXNh
YmxlTm9uTG9jYWxob3N0Q29ubmVjdGlvbnMoKTsgfQogCi0gICAgV2ViUlRDU29ja2V0IHNvY2tl
dChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpIHsgcmV0dXJu
IFdlYlJUQ1NvY2tldChzb2NrZXRGYWN0b3J5KCksIGlkZW50aWZpZXIpOyB9CiAgICAgV2ViUlRD
UmVzb2x2ZXIgcmVzb2x2ZXIoTGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIp
IHsgcmV0dXJuIFdlYlJUQ1Jlc29sdmVyKHNvY2tldEZhY3RvcnkoKSwgaWRlbnRpZmllcik7IH0K
ICNlbmRpZgogCkBAIC02Miw2ICs2OCwxOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToK
KyNpZiBVU0UoTElCV0VCUlRDKQorICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChXZWJDb3JlOjpM
aWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25z
dCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90KTsKKyAgICB2
b2lkIHNpZ25hbFNlbnRQYWNrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwg
aW50LCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShXZWJDb3JlOjpMaWJX
ZWJSVENTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJik7
CisgICAgdm9pZCBzaWduYWxDb25uZWN0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZp
ZXIpOworICAgIHZvaWQgc2lnbmFsQ2xvc2UoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRp
ZmllciwgaW50KTsKKyAgICB2b2lkIHNpZ25hbE5ld0Nvbm5lY3Rpb24oV2ViQ29yZTo6TGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlmaWVyLCBXZWJDb3JlOjpMaWJXZWJSVENT
b2NrZXRJZGVudGlmaWVyIG5ld1NvY2tldElkZW50aWZpZXIsIGNvbnN0IFdlYktpdDo6UlRDTmV0
d29yazo6U29ja2V0QWRkcmVzcyYpOworI2VuZGlmCisKKyAgICAvLyBJUEM6OkNvbm5lY3Rpb246
OlRocmVhZE1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlzcGF0Y2hUb1RocmVhZChGdW5jdGlv
bjx2b2lkKCk+JiYpIGZpbmFsOworCiAjaWYgVVNFKExJQldFQlJUQykKICAgICBMaWJXZWJSVENT
b2NrZXRGYWN0b3J5IG1fc29ja2V0RmFjdG9yeTsKICAgICBXZWJSVENNb25pdG9yIG1fd2ViTmV0
d29ya01vbml0b3I7CkBAIC02OSwyMiArODcsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXRUJf
UlRDKQogICAgIFdlYk1ETlNSZWdpc3RlciBtX21kbnNSZWdpc3RlcjsKICNlbmRpZgorICAgIFJl
ZlB0cjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIH07CiAKLWlubGluZSB2b2lkIExp
YldlYlJUQ05ldHdvcms6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpCi17Ci0jaWYgVVNFKExJQldF
QlJUQykKLSAgICBtX3dlYk5ldHdvcmtNb25pdG9yLm5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpOwot
I2VuZGlmCi19Ci0KLWlubGluZSBib29sIExpYldlYlJUQ05ldHdvcms6OmlzQWN0aXZlKCkgY29u
c3QKLXsKLSNpZiBVU0UoTElCV0VCUlRDKQotICAgIHJldHVybiBXZWJDb3JlOjpMaWJXZWJSVENQ
cm92aWRlcjo6aGFzV2ViUlRDVGhyZWFkcygpOwotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7Ci0j
ZW5kaWYKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3
b3JrLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5NmQxYjYyYWM2YmFkMTNjOTZjNWFmYWVhN2M4
MTI1MTAxMGJhNDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDM0
IEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElC
V0VCUlRDKQorCittZXNzYWdlcyAtPiBMaWJXZWJSVENOZXR3b3JrIE5vdFJlZkNvdW50ZWQgewor
ICAgIFNpZ25hbFJlYWRQYWNrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBz
b2NrZXRJZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0OjpSVENOZXR3
b3JrOjpJUEFkZHJlc3MgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0aW1lc3RhbXAp
CisgICAgU2lnbmFsU2VudFBhY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVy
IHNvY2tldElkZW50aWZpZXIsIGludCBwYWNrZXRTaXplLCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAg
ICBTaWduYWxBZGRyZXNzUmVhZHkoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBz
b2NrZXRJZGVudGlmaWVyLCBXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MgYWRkcmVz
cykKKyAgICBTaWduYWxDb25uZWN0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIg
c29ja2V0SWRlbnRpZmllcikKKyAgICBTaWduYWxDbG9zZShXZWJDb3JlOjpMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIHNvY2tldElkZW50aWZpZXIsIGludCBlcnJvcikKKyAgICBTaWduYWxOZXdD
b25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0SWRlbnRp
ZmllciwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlm
aWVyLCBXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MgcmVtb3RlQWRkcmVzcykKK30K
KworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwCmluZGV4IGI1
ZTQzZjQ1NmViMzBlMDJmZjFkMzRkNWMxNTcyZjEyYTUxMzczOTkuLjdhZWQ2NDU3YTgzODE1N2I3
MmIwMjM3NDBkOGQ3NTI0OGJhNTI2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwCkBAIC04MSwx
MyArODEsMTMgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeShjb25z
dCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MpCiAgICAgU2lnbmFsQWRkcmVzc1JlYWR5KHRo
aXMsIG1fbG9jYWxBZGRyZXNzKTsKIH0KIAotdm9pZCBMaWJXZWJSVENTb2NrZXQ6OnNpZ25hbFJl
YWRQYWNrZXQoY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiBidWZmZXIsIHJ0Yzo6U29ja2V0
QWRkcmVzcyYmIGFkZHJlc3MsIGludDY0X3QgdGltZXN0YW1wKQordm9pZCBMaWJXZWJSVENTb2Nr
ZXQ6OnNpZ25hbFJlYWRQYWNrZXQoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IHNpemUsIHJ0
Yzo6U29ja2V0QWRkcmVzcyYmIGFkZHJlc3MsIGludDY0X3QgdGltZXN0YW1wKQogewogICAgIGlm
IChtX2lzU3VzcGVuZGVkKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3JlbW90ZUFkZHJlc3Mg
PSBXVEZNb3ZlKGFkZHJlc3MpOwotICAgIFNpZ25hbFJlYWRQYWNrZXQodGhpcywgYnVmZmVyLmRh
dGEoKSwgYnVmZmVyLnNpemUoKSwgbV9yZW1vdGVBZGRyZXNzLCB0aW1lc3RhbXApOworICAgIFNp
Z25hbFJlYWRQYWNrZXQodGhpcywgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oZGF0YSks
IHNpemUsIG1fcmVtb3RlQWRkcmVzcywgdGltZXN0YW1wKTsKIH0KIAogdm9pZCBMaWJXZWJSVENT
b2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQoaW50IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNlbmRUaW1l
TXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
TGliV2ViUlRDU29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDU29ja2V0LmgKaW5kZXggM2ZkMWNlMTc4MGE5YWM2ZTUyNTU3NmMzMDRkZWU1
MDRhNzQ1NTk1Mi4uYjJlOGVjYzc5OGY5MTNlNmM5MjZiZDcyMzVmMzMxOTY4NWI1OWIxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1NvY2tldC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXQuaApAQCAtMzksMTAgKzM5LDYgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsK
IGNsYXNzIERlY29kZXI7CiB9CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFNoYXJlZEJ1
ZmZlcjsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIExpYldlYlJUQ1NvY2tldEZh
Y3Rvcnk7CkBAIC02OSw4ICs2NSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgYm9vbCB3aWxs
U2VuZChzaXplX3QpOwogCi0gICAgZnJpZW5kIGNsYXNzIFdlYlJUQ1NvY2tldDsKLSAgICB2b2lk
IHNpZ25hbFJlYWRQYWNrZXQoY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiwgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiYsIGludDY0X3QpOworICAgIGZyaWVuZCBjbGFzcyBMaWJXZWJSVENOZXR3b3Jr
OworICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChjb25zdCB1aW50OF90Kiwgc2l6ZV90LCBydGM6
OlNvY2tldEFkZHJlc3MmJiwgaW50NjRfdCk7CiAgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KGlu
dCwgaW50NjRfdCk7CiAgICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJik7CiAgICAgdm9pZCBzaWduYWxDb25uZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9y
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRD
U29ja2V0RmFjdG9yeS5jcHAKaW5kZXggZmYwMTcxMzlmMjYyOTdmN2M1YmU1NTNhMzNkZjUzMGVj
NmQ1MGU2OS4uYThkYTdjYzlhZTgwNGZlOWMyODhiZWYyZDUzZTY1ZjIzNmFkYzgwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Nv
Y2tldEZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1
ZGUgIk5ldHdvcmtSVENNb25pdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUlRDUHJv
dmlkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNpbmNsdWRlICJXZWJS
VENTb2NrZXQuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYlJUQ1NvY2tldC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4Mjkz
YmNjZmI5ZjJkOWJjMmY2NWIwNDc5Y2I0ZDU4YjhjNmY5ZjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJSVENTb2Nr
ZXQuaCIKLQotI2lmIFVTRShMSUJXRUJSVEMpCi0KLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
Ci0jaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0LmgiCi0jaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0
RmFjdG9yeS5oIgotI2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXRNZXNzYWdlcy5oIgotI2luY2x1
ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLXZvaWQgV2Vi
UlRDU29ja2V0OjpzaWduYWxPbk5ldHdvcmtUaHJlYWQoTGliV2ViUlRDU29ja2V0RmFjdG9yeSYg
ZmFjdG9yeSwgTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBGdW5jdGlvbjx2
b2lkKExpYldlYlJUQ1NvY2tldCYpPiYmIGNhbGxiYWNrKQotewotICAgIC8vIGZhY3RvcnkgaXMg
c3RheWluZyB2YWxpZCBkdXJpbmcgdGhlIHByb2Nlc3MgbGlmZXRpbWUuCi0gICAgV2ViQ29yZTo6
TGliV2ViUlRDUHJvdmlkZXI6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoWyZmYWN0b3J5LCBp
ZGVudGlmaWVyLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKLSAgICAgICAgYXV0
byogc29ja2V0ID0gZmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcik7Ci0gICAgICAgIGlmICghc29j
a2V0KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjYWxsYmFjaygqc29ja2V0KTsKLSAg
ICB9KTsKLX0KLQotV2ViUlRDU29ja2V0OjpXZWJSVENTb2NrZXQoTGliV2ViUlRDU29ja2V0RmFj
dG9yeSYgZmFjdG9yeSwgTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyKQotICAg
IDogbV9mYWN0b3J5KGZhY3RvcnkpCi0gICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKLXsK
LX0KLQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBSVENOZXR3
b3JrOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzKQotewotICAgIHNpZ25hbE9uTmV0d29ya1RocmVh
ZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW2FkZHJlc3NdKExpYldlYlJUQ1NvY2tldCYgc29j
a2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxBZGRyZXNzUmVhZHkoYWRkcmVzcy52YWx1ZSk7
Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxSZWFkUGFja2V0KGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBh
ZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKLXsKLSAgICBhdXRvIGJ1
ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNp
emUoKSk7Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVy
LCBbYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBhZGRyZXNzLCBwb3J0LCB0aW1lc3RhbXBdKExp
YldlYlJUQ1NvY2tldCYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxSZWFkUGFja2V0
KGJ1ZmZlci5nZXQoKSwgcnRjOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MudmFsdWUsIHBvcnQpLCB0
aW1lc3RhbXApOwotICAgIH0pOwotfQotCi12b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsU2VudFBh
Y2tldChpbnQgcnRjUGFja2V0SUQsIGludDY0X3Qgc2VuZFRpbWVNcykKLXsKLSAgICBzaWduYWxP
bk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtydGNQYWNrZXRJRCwgc2Vu
ZFRpbWVNc10oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxTZW50UGFja2V0
KHJ0Y1BhY2tldElELCBzZW5kVGltZU1zKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJSVENTb2Nr
ZXQ6OnNpZ25hbENvbm5lY3QoKQotewotICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3Rv
cnksIG1faWRlbnRpZmllciwgW10oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWdu
YWxDb25uZWN0KCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxDbG9z
ZShpbnQgZXJyb3IpCi17Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9p
ZGVudGlmaWVyLCBbZXJyb3JdKGF1dG8mIHNvY2tldCkgewotICAgICAgICBzb2NrZXQuc2lnbmFs
Q2xvc2UoZXJyb3IpOwotICAgIH0pOwotfQotCi12b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsTmV3
Q29ubmVjdGlvbihMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG5ld1NvY2tldElkZW50aWZpZXIs
IGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MpCi17Ci0gICAg
c2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBbbmV3U29ja2V0
SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29weShyZW1v
dGVBZGRyZXNzLnZhbHVlKV0oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxO
ZXdDb25uZWN0aW9uKHNvY2tldC5tX2ZhY3RvcnkuY3JlYXRlTmV3Q29ubmVjdGlvblNvY2tldChz
b2NrZXQsIG5ld1NvY2tldElkZW50aWZpZXIsIHJlbW90ZUFkZHJlc3MpKTsKLSAgICB9KTsKLX0K
LQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Nv
Y2tldC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Nv
Y2tldC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2UxOGRmZTMwMzhmY2U3ZTcy
YWI0OWVmZThhMjg3MGI0Zjk4MmZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJS
VENTb2NrZXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
cHJhZ21hIG9uY2UKLQotI2lmIFVTRShMSUJXRUJSVEMpCi0KLSNpbmNsdWRlICJSVENOZXR3b3Jr
LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg+Ci0jaW5j
bHVkZSA8d3RmL0Z1bmN0aW9uLmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgQ29ubmVjdGlv
bjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci1jbGFzcyBEZWNvZGVyOwotfQotCi1uYW1lc3BhY2Ug
V2ViS2l0IHsKLQotY2xhc3MgTGliV2ViUlRDU29ja2V0OwotY2xhc3MgTGliV2ViUlRDU29ja2V0
RmFjdG9yeTsKLQotY2xhc3MgV2ViUlRDU29ja2V0IHsKLXB1YmxpYzoKLSAgICBXZWJSVENTb2Nr
ZXQoTGliV2ViUlRDU29ja2V0RmFjdG9yeSYsIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50
aWZpZXIpOwotCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6OkRlY29kZXImKTsKLQotICAgIHN0YXRpYyB2b2lkIHNpZ25hbE9uTmV0d29ya1RocmVhZChM
aWJXZWJSVENTb2NrZXRGYWN0b3J5JiwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmll
ciwgRnVuY3Rpb248dm9pZChMaWJXZWJSVENTb2NrZXQmKT4mJik7Ci0KLXByaXZhdGU6Ci0gICAg
dm9pZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJU
Q05ldHdvcms6OklQQWRkcmVzcyYsIHVpbnQxNl90IHBvcnQsIGludDY0X3QpOwotICAgIHZvaWQg
c2lnbmFsU2VudFBhY2tldChpbnQsIGludDY0X3QpOwotICAgIHZvaWQgc2lnbmFsQWRkcmVzc1Jl
YWR5KGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKLSAgICB2b2lkIHNpZ25hbENv
bm5lY3QoKTsKLSAgICB2b2lkIHNpZ25hbENsb3NlKGludCk7Ci0gICAgdm9pZCBzaWduYWxOZXdD
b25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3U29ja2V0SWRl
bnRpZmllciwgY29uc3QgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJik7Ci0KLSAg
ICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBtX2ZhY3Rvcnk7Ci0gICAgV2ViQ29yZTo6TGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKLQotI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNz
YWdlcy5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU5ZDBjZWQxYjZjYmRkMzc2
YTMwYmY2NTI0NmVkNzEwYTI4NmE0Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDU29ja2V0Lm1lc3NhZ2VzLmluCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotIyBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0j
Ci0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5ECi0jIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotIyBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUgotIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotIyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jaWYgVVNFKExJQldFQlJUQykK
LQotbWVzc2FnZXMgLT4gV2ViUlRDU29ja2V0IE5vdFJlZkNvdW50ZWQgewotICAgIFNpZ25hbFJl
YWRQYWNrZXQoSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6SVBB
ZGRyZXNzIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQotICAgIFNp
Z25hbFNlbnRQYWNrZXQoaW50IHBhY2tldFNpemUsIGludDY0X3QgdGltZXN0YW1wKQotICAgIFNp
Z25hbEFkZHJlc3NSZWFkeShXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MgYWRkcmVz
cykKLSAgICBTaWduYWxDb25uZWN0KCkKLSAgICBTaWduYWxDbG9zZShpbnQgZXJyb3IpCi0gICAg
U2lnbmFsTmV3Q29ubmVjdGlvbihXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG5l
d1NvY2tldElkZW50aWZpZXIsIFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyByZW1v
dGVBZGRyZXNzKQotfQotCi0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398196</attachid>
            <date>2020-05-01 10:17:07 -0700</date>
            <delta_ts>2020-05-04 08:01:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211290-20200501191705.patch</filename>
            <type>text/plain</type>
            <size>48923</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJhZmM1N2M3ODk2ZWM3Nzlh
OTg1ZGE5NjQxNzEwMTQ2N2Y2MGVkMjUuLjY0ZTYyMWIxNTNjNGRhYzg1ZjkxYTUxZTQ4M2M2YTRj
NzU0ZGRjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMjAtMDUtMDEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlY2VpdmluZyBXZWJSVEMgbmV0
d29yayBwYWNrZXRzIHNob3VsZCBub3QgZ28gdGhyb3VnaCB0aGUgbWFpbiB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTI5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgZ29p
bmcgdG8gbWFpbiB0aHJlYWQgYmVmb3JlIGdvaW5nIHRvIHJ0YyBuZXR3b3JrIHRocmVhZCwgd2Ug
cmVnaXN0ZXIgYSBtZXNzYWdlIHJlY2VpdmVyIGFuZCBkaXNwYXRjaCBkaXJlY3RseSB0byBydGMg
bmV0d29yayB0aHJlYWQuCisgICAgICAgIFRoaXMgZW5zdXJlcyBydGMgcGFja2V0cyBhcmUgbm90
IGJsb2NrZWQgaWYgbWFpbiB0aHJlYWQgaXMgYnVzeS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFkUGFja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxTZW50UGFja2V0KToKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxBZGRyZXNzUmVhZHkpOgor
ICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENvbm5lY3QpOgor
ICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENsb3NlKToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTb2NrZXQpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNlcnZlclRDUFNvY2tldCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlQ2xpZW50VENQU29ja2V0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpuZXdDb25uZWN0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjbG9zZUxpc3RlbmluZ1NvY2tl
dHMpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb246Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5jcHA6IEFkZGVkCisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmg6CisgICAgICAg
IChXZWJLaXQ6OkxpYldlYlJUQ05ldHdvcms6OmNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0
OjpMaWJXZWJSVENOZXR3b3JrOjp+TGliV2ViUlRDTmV0d29yayk6CisgICAgICAgIChXZWJLaXQ6
OkxpYldlYlJUQ05ldHdvcms6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ05ldHdvcms6OnNldENvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENOZXR3b3JrOjpkaXNwYXRjaFRvVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDTmV0d29yazo6c2lnbmFsQWRkcmVzc1JlYWR5KToKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDTmV0d29yazo6c2lnbmFsUmVhZFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ05ldHdvcms6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJS
VENOZXR3b3JrOjpzaWduYWxDb25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDTmV0
d29yazo6c2lnbmFsQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjpz
aWduYWxOZXdDb25uZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaDogUmVtb3ZlZC4K
KwogMjAyMC0wNS0wMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gTW92ZSBmb2N1cyBvdXQgb2YgdGhlIHdlYiB2aWV3IHdoZW4gdGFi
IGlzIHByZXNzZWQgYW5kIHRoZXJlIGlzbid0IGEgbmV4dCBlbGVtZW50IHRvIGZvY3VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFr
ZUxpc3RzLnR4dAppbmRleCBkYWVjZDg2Yzc0Yzg0MTBhNTY2ODA2NzBhZmU2ZTM5MWNjNDYyMjU2
Li4zNzdhYjQwNmE0ZmQyOTY1NWZjYWVhNGRmZGUwMDE4MjE0ZmJmMTdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNCwxMCArMjM0LDEwIEBAIHNldChXZWJLaXRfTUVTU0FHRVNfSU5fRklMRVMK
ICAgICBXZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVy
Lm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVz
c2FnZXMuaW4KIAorICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29y
ay5tZXNzYWdlcy5pbgogICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTUROU1JlZ2lz
dGVyLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25p
dG9yLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNv
bHZlci5tZXNzYWdlcy5pbgotICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29j
a2V0Lm1lc3NhZ2VzLmluCiAKICAgICBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLm1lc3NhZ2VzLmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKaW5kZXggOGJkYjUxYTE2ZDM5ODg5NzNkODNkYjcxNTc3ZWY5ODVlM2ZkZWJm
Zi4uYWQ5OWQzMzU2MjdkZDFhNzM3OWMyNzhmYWM4OWI3Y2QxYjE0OTY0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJj
ZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTQwLDEwICsxNDAs
MTAgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk1ETlNSZWdpc3Rlci5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJS
VENNb25pdG9yLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggZDEwMDQ2MzM5ZmU0YzM2
OTQ5MjZhODc4YTJlYjFjZDA4YjE3MDgwZC4uYTI1ZjU2MDhjYjU0NWFhMzE5NDIwMTk2OTM4ZmQ0
MzE5YjNjMGQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CkBAIC01Nyw2ICs1Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ0NvZGVjc01lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENDb2RlY3NQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL0xpYldlYlJUQ0NvZGVjc1Byb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdl
c1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
TGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdvcmtNZXNzYWdlcy5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENOZXR3b3Jr
TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL0xpYldlYlJUQ1JlbW90ZUNvZGVjc01lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ1JlbW90ZUNvZGVj
c01lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L0xpYldlYlJUQ1JlbW90ZUNvZGVjc01lc3NhZ2VzUmVwbGllcy5oCkBAIC0zODQsOSArMzg3LDYg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDTW9u
aXRvck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJUQ1Jlc29sdmVyTWVzc2FnZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDUmVz
b2x2ZXJNZXNzYWdlc1JlcGxpZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcAotJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDU29ja2V0TWVzc2FnZXMuaAot
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDU29ja2V0
TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggZTQ1ZGE4OTNkOWE3YzllYzZhMTc3MTkyZWNmMDY3MmNlMzUwZGQ2Yi4uZjFlYTFmMTAwZDQw
YWNmYzg5ZWUyYTg0NWNlMjEyYzY1NTNlNWRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMTI5LDYgKzEyOSw3IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5IFwKICAgICBMaWJXZWJSVENDb2RlY3MgXAogICAgIExp
YldlYlJUQ0NvZGVjc1Byb3h5IFwKKyAgICBMaWJXZWJSVENOZXR3b3JrIFwKICAgICBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGUgXAogICAgIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyIFwKICAgICBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBcCkBAIC0yMjgsNyArMjI5LDYgQEAgTUVTU0FH
RV9SRUNFSVZFUlMgPSBcCiAgICAgV2ViUHJvY2Vzc1Byb3h5IFwKICAgICBXZWJSVENNb25pdG9y
IFwKICAgICBXZWJSVENSZXNvbHZlciBcCi0gICAgV2ViUlRDU29ja2V0IFwKICAgICBXZWJSZXNv
dXJjZUxvYWRlciBcCiAgICAgV2ViU1dDbGllbnRDb25uZWN0aW9uIFwKICAgICBXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcAppbmRleCBjMWQ1
Y2JiN2RlYTE4OTNjMTA1NWU1ODRlYTI0Y2E4Y2QyNWRhNDFjLi4zNTJmZmQ0ZjBmNTlkODMxYjc0
ZjJjNzJhYWU3NTNhM2QyZTIyOTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKQEAgLTMw
LDkgKzMwLDkgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDTmV0d29ya01lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlci5oIgotI2luY2x1ZGUg
IldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIu
aD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KIApAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQg
TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFkUGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQqIHNvY2tldCwgY29uCiAgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZm
ZXI6OmNyZWF0ZSh2YWx1ZSwgbGVuZ3RoKTsKICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFp
blRocmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllciwgYnVmZmVyID0gV1RGTW92ZShidWZm
ZXIpLCBhZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KGFkZHJlc3MpLCBwYWNrZXRU
aW1lXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKICAgICAgICAgSVBDOjpEYXRhUmVm
ZXJlbmNlIGRhdGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRh
KCkpLCBidWZmZXItPnNpemUoKSk7Ci0gICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6
V2ViUlRDU29ja2V0OjpTaWduYWxSZWFkUGFja2V0KGRhdGEsIFJUQ05ldHdvcms6OklQQWRkcmVz
cyhhZGRyZXNzLmlwYWRkcigpKSwgYWRkcmVzcy5wb3J0KCksIHBhY2tldFRpbWUpLCBpZGVudGlm
aWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3Jr
OjpTaWduYWxSZWFkUGFja2V0KGlkZW50aWZpZXIsIGRhdGEsIFJUQ05ldHdvcms6OklQQWRkcmVz
cyhhZGRyZXNzLmlwYWRkcigpKSwgYWRkcmVzcy5wb3J0KCksIHBhY2tldFRpbWUpLCAwKTsKICAg
ICB9KTsKIH0KIApAQCAtMTA4LDcgKzEwOCw3IEBAIHZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50
OjpzaWduYWxTZW50UGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIHNvY2tldCwgY29uCiB7
CiAgICAgQVNTRVJUX1VOVVNFRChzb2NrZXQsIG1fc29ja2V0LmdldCgpID09IHNvY2tldCk7CiAg
ICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBtX2lkZW50
aWZpZXIsIHNlbnRQYWNrZXRdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAg
ICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsU2VudFBhY2tl
dChzZW50UGFja2V0LnBhY2tldF9pZCwgc2VudFBhY2tldC5zZW5kX3RpbWVfbXMpLCBpZGVudGlm
aWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3Jr
OjpTaWduYWxTZW50UGFja2V0KGlkZW50aWZpZXIsIHNlbnRQYWNrZXQucGFja2V0X2lkLCBzZW50
UGFja2V0LnNlbmRfdGltZV9tcyksIDApOwogICAgIH0pOwogfQogCkBAIC0xMjIsNyArMTIyLDcg
QEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbEFkZHJlc3NSZWFkeShydGM6OkFz
eW5jUGFja2V0U29ja2V0KiBzb2NrZXQsIGMKIHsKICAgICBBU1NFUlRfVU5VU0VEKHNvY2tldCwg
bV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0KTsKICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFp
blRocmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllciwgYWRkcmVzcyA9IFJUQ05ldHdvcms6
Omlzb2xhdGVkQ29weShhZGRyZXNzKV0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0g
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxBZGRy
ZXNzUmVhZHkoUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyhhZGRyZXNzKSksIGlkZW50aWZpZXIp
OworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNp
Z25hbEFkZHJlc3NSZWFkeShpZGVudGlmaWVyLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKGFk
ZHJlc3MpKSwgMCk7CiAgICAgfSk7CiB9CiAKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIExpYldl
YlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQ29ubmVjdChydGM6OkFzeW5jUGFja2V0U29ja2V0KiBz
b2NrZXQpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChzb2NrZXQsIG1fc29ja2V0LmdldCgpID09IHNv
Y2tldCk7CiAgICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIg
PSBtX2lkZW50aWZpZXJdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBj
b25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ29ubmVjdCgpLCBp
ZGVudGlmaWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENO
ZXR3b3JrOjpTaWduYWxDb25uZWN0KGlkZW50aWZpZXIpLCAwKTsKICAgICB9KTsKIH0KIApAQCAt
MTQzLDcgKzE0Myw3IEBAIHZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxDbG9zZShy
dGM6OkFzeW5jUGFja2V0U29ja2V0KiBzb2NrZXQsIGludCBlcnJvCiB7CiAgICAgQVNTRVJUX1VO
VVNFRChzb2NrZXQsIG1fc29ja2V0LmdldCgpID09IHNvY2tldCk7CiAgICAgbV9ydGNQcm92aWRl
ci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBtX2lkZW50aWZpZXIsIGVycm9yXShJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1l
c3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbENsb3NlKGVycm9yKSwgaWRlbnRpZmllcik7Cisg
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFs
Q2xvc2UoaWRlbnRpZmllciwgZXJyb3IpLCAwKTsKICAgICB9KTsKICAgICAvLyBXZSB3YW50IHRv
IHJlbW92ZSAndGhpcycgZnJvbSB0aGUgc29ja2V0IG1hcCBub3cgYnV0IHdlIHdpbGwgZGVzdHJv
eSBpdCBhc3luY2hyb25vdXNseQogICAgIC8vIHNvIHRoYXQgdGhlIHNvY2tldCBwYXJhbWV0ZXIg
b2Ygc2lnbmFsQ2xvc2UgcmVtYWlucyBhbGl2ZSBhcyB0aGUgY2FsbGVyIG9mIHNpZ25hbENsb3Nl
IG1heSBhY3R1YWxseSBiZWluZyB1c2luZyBpdCBhZnRlcndhcmRzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5j
cHAKaW5kZXggYTJiY2M2Yjc1MjJiMjFjZjJhODg1ZDNiZjcyMjBkYzkyZThhMzNiOS4uMmEwMDVh
ZjA3Y2YxNzczMWJjYzMyYTg5MWFkNjk3NzY4MjBjZGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3Bw
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAiTGli
V2ViUlRDTmV0d29ya01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0Q2xpZW50
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmgiCkBAIC0zNSw3ICszNiw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1JUQ1Jlc29s
dmVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldC5oIgogI2luY2x1ZGUgIldlYlJUQ1Jl
c29sdmVyTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJXZWJSVENTb2NrZXRNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CiAjaW5jbHVkZSA8d2VicnRjL3J0Y19i
YXNlL2FzeW5jX3BhY2tldF9zb2NrZXQuaD4KICNpbmNsdWRlIDx3ZWJydGMvcnRjX2Jhc2UvbG9n
Z2luZy5oPgpAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVh
dGVTb2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBzdGQ6CiAgICAg
aWYgKCFzb2NrZXQpIHsKICAgICAgICAgc2VuZEZyb21NYWluVGhyZWFkKFt0aGlzLCBpZGVudGlm
aWVyLCBzaXplID0gbV9zb2NrZXRzLnNpemUoKV0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
KSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCJjcmVhdGVTb2Nr
ZXQgd2l0aCAldSBzb2NrZXRzIGlzIHVuYWJsZSB0byBjcmVhdGUgYSBuZXcgc29ja2V0Iiwgc2l6
ZSk7Ci0gICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6
U2lnbmFsQ2xvc2UoMSksIGlkZW50aWZpZXIpOworICAgICAgICAgICAgY29ubmVjdGlvbi5zZW5k
KE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShpZGVudGlmaWVyLCAxKSwg
MCk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTM3LDcgKzEzNyw3
IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoTGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmCiB7CiAgICAgaWYgKCFtX2lzTGlzdGVuaW5nU29j
a2V0QXV0aG9yaXplZCkgewogICAgICAgICBpZiAobV9jb25uZWN0aW9uKQotICAgICAgICAgICAg
bV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpT
aWduYWxDbG9zZSgxKSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICBtX2Nvbm5lY3Rpb24tPmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShp
ZGVudGlmaWVyLCAxKSwgMCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE1OCw3ICsx
NTgsNyBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlQ2xpZW50VENQU29ja2V0KExp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZgogewogICAgIGF1dG8qIHNlc3Npb24gPSBt
X2Nvbm5lY3Rpb24tPm5ldHdvcmtTZXNzaW9uKCk7CiAgICAgaWYgKCFzZXNzaW9uKSB7Ci0gICAg
ICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tl
dDo6U2lnbmFsQ2xvc2UoMSksIGlkZW50aWZpZXIpOworICAgICAgICBtX2Nvbm5lY3Rpb24tPmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShp
ZGVudGlmaWVyLCAxKSwgMCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgY2FsbE9uUlRD
TmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgbG9jYWxBZGRyZXNzID0gUlRDTmV0d29y
azo6aXNvbGF0ZWRDb3B5KGxvY2FsQWRkcmVzcy52YWx1ZSksIHJlbW90ZUFkZHJlc3MgPSBSVENO
ZXR3b3JrOjppc29sYXRlZENvcHkocmVtb3RlQWRkcmVzcy52YWx1ZSksIHByb3h5SW5mbyA9IHBy
b3h5SW5mb0Zyb21TZXNzaW9uKHJlbW90ZUFkZHJlc3MsICpzZXNzaW9uKSwgdXNlckFnZW50ID0g
V1RGTW92ZSh1c2VyQWdlbnQpLmlzb2xhdGVkQ29weSgpLCBvcHRpb25zXSgpIHsKQEAgLTE5Myw3
ICsxOTMsNyBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6bmV3Q29ubmVjdGlvbihTb2NrZXQm
IHNlcnZlclNvY2tldCwgc3RkOjp1bmlxdWVfcHRyPHJ0YwogewogICAgIGF1dG8gaW5jb21pbmdT
b2NrZXRJZGVudGlmaWVyID0gTGliV2ViUlRDU29ja2V0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsK
ICAgICBzZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBzZXJ2ZXJTb2NrZXQuaWRlbnRp
ZmllcigpLCBpbmNvbWluZ1NvY2tldElkZW50aWZpZXIsIHJlbW90ZUFkZHJlc3MgPSBSVENOZXR3
b3JrOjppc29sYXRlZENvcHkobmV3U29ja2V0LT5HZXRSZW1vdGVBZGRyZXNzKCkpXShJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2Vz
OjpXZWJSVENTb2NrZXQ6OlNpZ25hbE5ld0Nvbm5lY3Rpb24oaW5jb21pbmdTb2NrZXRJZGVudGlm
aWVyLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKHJlbW90ZUFkZHJlc3MpKSwgaWRlbnRpZmll
cik7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6
U2lnbmFsTmV3Q29ubmVjdGlvbihpZGVudGlmaWVyLCBpbmNvbWluZ1NvY2tldElkZW50aWZpZXIs
IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MocmVtb3RlQWRkcmVzcykpLCAwKTsKICAgICB9KTsK
ICAgICBtX3BlbmRpbmdJbmNvbWluZ1NvY2tldHMuYWRkKGluY29taW5nU29ja2V0SWRlbnRpZmll
ciwgV1RGTW92ZShuZXdTb2NrZXQpKTsKIH0KQEAgLTI2NCw3ICsyNjQsNyBAQCB2b2lkIE5ldHdv
cmtSVENQcm92aWRlcjo6Y2xvc2VMaXN0ZW5pbmdTb2NrZXRzKEZ1bmN0aW9uPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm92aWRlciA9IG1ha2VS
ZWYoKnRoaXMpLCBsaXN0ZW5pbmdTb2NrZXRJZGVudGlmaWVycyA9IFdURk1vdmUobGlzdGVuaW5n
U29ja2V0SWRlbnRpZmllcnMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSB7CiAgICAgICAgICAgICBpZiAocHJvdmlkZXItPm1fY29ubmVjdGlvbikgewog
ICAgICAgICAgICAgICAgIGZvciAoYXV0byBpZGVudGlmaWVyIDogbGlzdGVuaW5nU29ja2V0SWRl
bnRpZmllcnMpCi0gICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyLT5tX2Nvbm5lY3Rpb24tPmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbENsb3NlKEVDT05O
QUJPUlRFRCksIGlkZW50aWZpZXIpOworICAgICAgICAgICAgICAgICAgICBwcm92aWRlci0+bV9j
b25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6
U2lnbmFsQ2xvc2UoaWRlbnRpZmllciwgRUNPTk5BQk9SVEVEKSwgMCk7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CmluZGV4IGFkMDE2YmVlNTdkMmQxYzlkOGU4MjY3Y2YxMTgxYjdhODgzM2EzOWEuLjg5NDM0YjU0
Y2RlOGExOGE4N2M3NTUyMzhmZmZiMGMwYzJhMzcyYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNTg5LDYg
KzU4OSw3IEBAIFdlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsTWFuYWdlci5jcHAK
IFdlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5jcHAKIFdlYlByb2Nlc3MvTmV0
d29yay9XZWJTb2NrZXRTdHJlYW0uY3BwCiAKK1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDTmV0d29yay5jcHAKIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuY3BwCiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmNw
cAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwCkBAIC01OTYs
NyArNTk3LDYgQEAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0
b3J5LmNwcAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJNRE5TUmVnaXN0ZXIuY3BwCiBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwCiBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmNwcAotV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENTb2NrZXQuY3BwCiAKIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUwZjA0MmFkMDM2YWZmM2MzYjBkOTRkZmI1MTc5
NjIzMTEyNzJmNWUuLmU4ZTliYzAyYzUzZmU2OTk3OGIxOTU4NmQwOWI3MzU2YTFlMTQyY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTA3NCw3ICsxMDc0LDcgQEAKIAkJNTFFRkMxQ0YxNTI0RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxl
RE9NV2luZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MUZBMkQ1NDE1MjExMTg2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dF
eHRlbnNpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk1MUYwNjBFMDE2NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYw
REUxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLzsgfTsK
IAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07Ci0JCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2Nr
ZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBMaWJX
ZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBMaWJXZWJS
VENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAw
RjMyODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMy
ODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYw
NjBFMTE2NTQzMTg1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYw
REQxNjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovOyB9OwpAQCAtMzQyOSw2ICszNDI5LDggQEAKIAkJNDE1N0U0QUYyMEUyRUM5
ODAwQTZDMEQ3IC8qIGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBjb20uZ29vZ2xlLm8xZGJyb3dzZXJwbHVnaW4uc2I7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxNTg2NDlBMjNCRTA5MjQwMEEwQTYxRSAvKiBSVENFbmNvZGVySWRl
bnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENFbmNvZGVySWRl
bnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZDRDc0NTIzRkIxNzhC
MDA2NjFEOTkgLyogTUROU1JlZ2lzdGVySWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBNRE5TUmVnaXN0ZXJJZGVudGlmaWVyLmg7IHBhdGggPSBOZXR3b3JrL3dl
YnJ0Yy9NRE5TUmVnaXN0ZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxNkY4MDg2MjQ1QjM5NzQwMEI2OEYwMiAvKiBMaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IExpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW47
IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTZGODA4OTI0NUM3RkY1MDBCNjhGMDIgLyogTGli
V2ViUlRDTmV0d29yay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBM
aWJXZWJSVENOZXR3b3JrLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdv
cmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcyMTk4OTIzQjYxMjgyMDBB
RTU2ODYgLyogTGliV2ViUlRDQ29kZWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExpYldlYlJUQ0NvZGVjcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcy
MTk4QTIzQjYxMjgyMDBBRTU2ODYgLyogTGliV2ViUlRDQ29kZWNzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExpYldlYlJUQ0NvZGVjcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxNzIxOThDMjNCNjEyRTgwMEFFNTY4NiAvKiBSVENEZWNvZGVy
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENEZWNvZGVy
SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzgxMSw3ICszODEz
LDcgQEAKIAkJNTFFOEI2OEQxRTcxMjg3MzAwMUI3MTMyIC8qIFdlYlVSTFNjaGVtZVRhc2suY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVVJMU2NoZW1lVGFzay5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVDOUVC
OSAvKiBVSUdhbWVwYWRQcm92aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07Ci0JCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNz
YWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDU29ja2V0TWVzc2FnZVJl
Y2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZl
ci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdvcmtNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1
MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVy
LmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ1NvY2tldE1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENNb25pdG9yTWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtNzU4NSw3ICs3
NTg3LDkgQEAKIAkJNDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5IC8qIHdlYnJ0YyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDE2RjgwODkyNDVDN0ZGNTAw
QjY4RjAyIC8qIExpYldlYlJUQ05ldHdvcmsuY3BwICovLAogCQkJCTQxMUIyMjYyMUUzNzEyNDQw
MDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi8sCisJCQkJNDE2RjgwODYyNDVCMzk3NDAw
QjY4RjAyIC8qIExpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW4gKi8sCiAJCQkJNDEzMDc1QTcx
REU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLywKIAkJCQk0MTMwNzVB
ODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLywKIAkJCQk0MUZBRjVG
NzFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuY3BwICovLApAQCAtOTk4Myw2
ICs5OTg3LDcgQEAKIAkJCQkyOTg0RjU4NzE2NEJBMDk1MDA0QkMwQzYgLyogTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJCQkyOTg0RjU3QTE2NEI5MTVGMDA0QkMw
QzYgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAogCQkJCTI5ODRGNTdCMTY0QjkxNUYwMDRCQzBDNiAvKiBMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFD
IC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTA3RTE5RUY4
MjNENDAxRjAwMDk0RkZCNCAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCTA3RTE5RUY5MjNENDAxRjAwMDk0RkZCNCAvKiBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGVNZXNzYWdlcy5oICovLAogCQkJCTA3RTE5RUZBMjNENDAxRjAwMDk0RkZCNCAv
KiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLywKQEAgLTEwMTg0
LDcgKzEwMTg5LDYgQEAKIAkJCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3Vy
Y2VMb2FkZXJNZXNzYWdlcy5oICovLAogCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBX
ZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1MUYwNjBERDE2NTQzMTc1
MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAotCQkJCTUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAogCQkJCTQxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJTb2NrZXRDaGFubmVsTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1QzBCMTc3NjFFN0M4NzlDMDBFOTEyM0MgLyogV2Vi
U29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1QzBCMTc3NzFFN0M4NzlD
MDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFtTWVzc2FnZXMuaCAqLywKQEAgLTEyNjg5LDYgKzEy
NjkzLDcgQEAKIAkJCQkyRDkxMzQ0MjIxMkNGOUYwMDAxMjhBRkQgLyogSlNOUE9iamVjdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyOTg0RjU4ODE2NEJBMDk1MDA0QkMwQzYgLyogTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTI5ODRGNTdDMTY0QjkxNUYwMDRCQzBDNiAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYwNjBFMTE2NTQz
MTg1MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0NDlEOTBEQTIxRkRDMzBCMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3NzkyMTJCNkE2MTAwRjQ5
M0ZEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdFMTlFRkIyM0Q0MDFGMTAw
OTRGRkI0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTEzMDIxLDcgKzEzMDI2LDYgQEAKIAkJCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMy
ODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFFMEE3Q0IyM0I2NDVDRDAwNTYxMDYwIC8qIFdl
YlNvY2tldENoYW5uZWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGMDYwRTExNjU0MzE4NTAw
RjMyODFDIC8qIFdlYlNvY2tldENoYW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNUMwQjE3NzkxRTdDODgyMTAwRTkxMjNDIC8qIFdlYlNvY2tldFN0cmVhbU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmlu
ZGV4IDM0OGQ4YzljMmI1NmE0Zjk0ZTFmMDgyMTNiNTBkYzE4ZDFlMzAxYmYuLjg2NWMyMjdjNTMz
Y2UwZjcxMDQzYTBlZmVlM2Q3YzUyOGQyYjRkY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNw
cApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgIldlYlJUQ01vbml0b3IuaCIKICNpbmNsdWRl
ICJXZWJSVENNb25pdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJSVENSZXNvbHZlck1lc3Nh
Z2VzLmgiCi0jaW5jbHVkZSAiV2ViUlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJS
ZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViU1dDbGllbnRDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViU1dDbGllbnRDb25uZWN0aW9uTWVzc2FnZXMuaCIKQEAgLTc3LDYg
Kzc2LDcgQEAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGMKICAgICAsIG1fY29va2llQWNjZXB0UG9s
aWN5KGNvb2tpZUFjY2VwdFBvbGljeSkKIHsKICAgICBtX2Nvbm5lY3Rpb24tPm9wZW4oKTsKKyAg
ICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVENOZXR3b3JrKCkuc2V0Q29ubmVjdGlv
bihtX2Nvbm5lY3Rpb24uY29weVJlZigpKTsKIH0KIAogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
Ojp+TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkKQEAgLTExMiwxNCArMTEyLDYgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgSVAKICAgICB9CiAKICNpZiBVU0UoTElCV0VCUlRDKQotICAgIGlmIChk
ZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUlRDU29ja2V0Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgYXV0byYgbmV0d29yayA9IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKTsKLSAgICAgICAgaWYgKG5ldHdvcmsu
aXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG5ldHdvcmsuc29ja2V0KG1ha2VPYmplY3RJZGVudGlm
aWVyPExpYldlYlJUQ1NvY2tldElkZW50aWZpZXJUeXBlPihkZWNvZGVyLmRlc3RpbmF0aW9uSUQo
KSkpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJSZWNlaXZlZCBXZWJSVENT
b2NrZXQgbWVzc2FnZSB3aGlsZSBsaWJXZWJSVENOZXR3b3JrIGlzIG5vdCBhY3RpdmUiKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gTWVzc2FnZXM6OldlYlJUQ01vbml0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewog
ICAgICAgICBhdXRvJiBuZXR3b3JrID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRD
TmV0d29yaygpOwogICAgICAgICBpZiAobmV0d29yay5pc0FjdGl2ZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05l
dHdvcmsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0MWM4ZTEzMTJjNWFiNDFjN2E3MzFiMGJiZDJkYTUyNDAz
ZTU1ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5jcHAKQEAgLTAsMCArMSwxMjAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDTmV0d29yay5oIgor
CisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ05ldHdvcmtN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1NoYXJl
ZEJ1ZmZlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTGliV2ViUlRDTmV0d29yazo6fkxp
YldlYlJUQ05ldHdvcmsoKQoreworICAgIHNldENvbm5lY3Rpb24obnVsbHB0cik7Cit9CisKK3Zv
aWQgTGliV2ViUlRDTmV0d29yazo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkKK3sKKyAgICBzZXRD
b25uZWN0aW9uKG51bGxwdHIpOworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBtX3dlYk5ldHdv
cmtNb25pdG9yLm5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpOworI2VuZGlmCit9CisKK3ZvaWQgTGli
V2ViUlRDTmV0d29yazo6c2V0Q29ubmVjdGlvbihSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiYmIGNv
bm5lY3Rpb24pCit7CisgICAgaWYgKG1fY29ubmVjdGlvbikKKyAgICAgICAgbV9jb25uZWN0aW9u
LT5yZW1vdmVUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7CisgICAgbV9jb25uZWN0aW9uID0gV1RGTW92ZShjb25u
ZWN0aW9uKTsKKyAgICBpZiAobV9jb25uZWN0aW9uKQorICAgICAgICBtX2Nvbm5lY3Rpb24tPmFk
ZFRocmVhZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKK30KKworYm9vbCBMaWJXZWJSVENOZXR3b3JrOjppc0Fj
dGl2ZSgpIGNvbnN0Cit7CisjaWYgVVNFKExJQldFQlJUQykKKyAgICByZXR1cm4gV2ViQ29yZTo6
TGliV2ViUlRDUHJvdmlkZXI6Omhhc1dlYlJUQ1RocmVhZHMoKTsKKyNlbHNlCisgICAgcmV0dXJu
IGZhbHNlOworI2VuZGlmCit9CisKK3ZvaWQgTGliV2ViUlRDTmV0d29yazo6ZGlzcGF0Y2hUb1Ro
cmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgaWYgKCFpc0FjdGl2ZSgp
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIlJlY2VpdmVkIFdlYlJUQ1Nv
Y2tldCBtZXNzYWdlIHdoaWxlIGxpYldlYlJUQ05ldHdvcmsgaXMgbm90IGFjdGl2ZSIpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBXZWJDb3JlOjpM
aWJXZWJSVENQcm92aWRlcjo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChXVEZNb3ZlKGNhbGxi
YWNrKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7CisjZW5kaWYKK30KKwor
I2lmIFVTRShMSUJXRUJSVEMpCit2b2lkIExpYldlYlJUQ05ldHdvcms6OnNpZ25hbEFkZHJlc3NS
ZWFkeShXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0
IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MpCit7CisgICAgaWYgKGF1dG8qIHNv
Y2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgIHNvY2tl
dC0+c2lnbmFsQWRkcmVzc1JlYWR5KGFkZHJlc3MudmFsdWUpOworfQorCit2b2lkIExpYldlYlJU
Q05ldHdvcms6OnNpZ25hbFJlYWRQYWNrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRp
ZmllciBpZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFJU
Q05ldHdvcms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0aW1l
c3RhbXApCit7CisgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQo
aWRlbnRpZmllcikpCisgICAgICAgIHNvY2tldC0+c2lnbmFsUmVhZFBhY2tldChkYXRhLmRhdGEo
KSwgZGF0YS5zaXplKCksIHJ0Yzo6U29ja2V0QWRkcmVzcyhhZGRyZXNzLnZhbHVlLCBwb3J0KSwg
dGltZXN0YW1wKTsKK30KKwordm9pZCBMaWJXZWJSVENOZXR3b3JrOjpzaWduYWxTZW50UGFja2V0
KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgaW50IHJ0Y1Bh
Y2tldElELCBpbnQ2NF90IHNlbmRUaW1lTXMpCit7CisgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1f
c29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgIHNvY2tldC0+c2lnbmFs
U2VudFBhY2tldChydGNQYWNrZXRJRCwgc2VuZFRpbWVNcyk7Cit9CisKK3ZvaWQgTGliV2ViUlRD
TmV0d29yazo6c2lnbmFsQ29ubmVjdChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVy
IGlkZW50aWZpZXIpCit7CisgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5z
b2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgIHNvY2tldC0+c2lnbmFsQ29ubmVjdCgpOworfQor
Cit2b2lkIExpYldlYlJUQ05ldHdvcms6OnNpZ25hbENsb3NlKFdlYkNvcmU6OkxpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgaW50IGVycm9yKQoreworICAgIGlmIChhdXRvKiBz
b2NrZXQgPSBtX3NvY2tldEZhY3Rvcnkuc29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICBzb2Nr
ZXQtPnNpZ25hbENsb3NlKGVycm9yKTsKK30KKwordm9pZCBMaWJXZWJSVENOZXR3b3JrOjpzaWdu
YWxOZXdDb25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRp
ZmllciwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlm
aWVyLCBjb25zdCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKQorewor
ICAgIGlmIChhdXRvKiBzb2NrZXQgPSBtX3NvY2tldEZhY3Rvcnkuc29ja2V0KGlkZW50aWZpZXIp
KQorICAgICAgICBzb2NrZXQtPnNpZ25hbE5ld0Nvbm5lY3Rpb24obV9zb2NrZXRGYWN0b3J5LmNy
ZWF0ZU5ld0Nvbm5lY3Rpb25Tb2NrZXQoKnNvY2tldCwgbmV3U29ja2V0SWRlbnRpZmllciwgcmVt
b3RlQWRkcmVzcy52YWx1ZSkpOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ05ldHdvcmsuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENOZXR3b3JrLmgKaW5kZXggZDFmNDlmMDY4OGRlNmJkNGY3MGVhYjY0MDAzMDYxNjFh
MTgxOTE0Zi4uYjFlZjQ5NjIxODAyYWM3YjQ2NDc4YTcwMTI2NmZlZGVmZTJjOGViNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05l
dHdvcmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDTmV0d29yay5oCkBAIC0yNSwzNSArMjUsMzUgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiBVU0UoTElCV0VCUlRDKQorI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJMaWJX
ZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCIKKyNp
bmNsdWRlICJXZWJNRE5TUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJXZWJSVENNb25pdG9yLmgiCiAj
aW5jbHVkZSAiV2ViUlRDUmVzb2x2ZXIuaCIKLSNpbmNsdWRlICJXZWJSVENTb2NrZXQuaCIKLSNl
bmRpZgotCi0jaW5jbHVkZSAiV2ViTUROU1JlZ2lzdGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9M
aWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFz
cyBMaWJXZWJSVENOZXR3b3JrIHsKK2NsYXNzIExpYldlYlJUQ05ldHdvcmsgOiBwdWJsaWMgSVBD
OjpDb25uZWN0aW9uOjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIExpYldlYlJUQ05ldHdvcmsoKSA9IGRlZmF1bHQ7Cisg
ICAgfkxpYldlYlJUQ05ldHdvcmsoKTsKIAorICAgIHZvaWQgc2V0Q29ubmVjdGlvbihSZWZQdHI8
SVBDOjpDb25uZWN0aW9uPiYmKTsKICAgICB2b2lkIG5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpOwog
CiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwogCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKwogI2lmIFVTRShMSUJXRUJSVEMp
CiAgICAgV2ViUlRDTW9uaXRvciYgbW9uaXRvcigpIHsgcmV0dXJuIG1fd2ViTmV0d29ya01vbml0
b3I7IH0KICAgICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBzb2NrZXRGYWN0b3J5KCkgeyByZXR1
cm4gbV9zb2NrZXRGYWN0b3J5OyB9CiAKICAgICB2b2lkIGRpc2FibGVOb25Mb2NhbGhvc3RDb25u
ZWN0aW9ucygpIHsgc29ja2V0RmFjdG9yeSgpLmRpc2FibGVOb25Mb2NhbGhvc3RDb25uZWN0aW9u
cygpOyB9CiAKLSAgICBXZWJSVENTb2NrZXQgc29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tl
dElkZW50aWZpZXIgaWRlbnRpZmllcikgeyByZXR1cm4gV2ViUlRDU29ja2V0KHNvY2tldEZhY3Rv
cnkoKSwgaWRlbnRpZmllcik7IH0KICAgICBXZWJSVENSZXNvbHZlciByZXNvbHZlcihMaWJXZWJS
VENSZXNvbHZlcklkZW50aWZpZXIgaWRlbnRpZmllcikgeyByZXR1cm4gV2ViUlRDUmVzb2x2ZXIo
c29ja2V0RmFjdG9yeSgpLCBpZGVudGlmaWVyKTsgfQogI2VuZGlmCiAKQEAgLTYyLDYgKzYyLDE4
IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgorI2lmIFVTRShMSUJXRUJSVEMpCisgICAg
dm9pZCBzaWduYWxSZWFkUGFja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIs
IGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYs
IHVpbnQxNl90IHBvcnQsIGludDY0X3QpOworICAgIHZvaWQgc2lnbmFsU2VudFBhY2tldChXZWJD
b3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBpbnQsIGludDY0X3QpOworICAgIHZvaWQg
c2lnbmFsQWRkcmVzc1JlYWR5KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGNv
bnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKKyAgICB2b2lkIHNpZ25hbENvbm5lY3Qo
V2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllcik7CisgICAgdm9pZCBzaWduYWxDbG9z
ZShXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBpbnQpOworICAgIHZvaWQgc2ln
bmFsTmV3Q29ubmVjdGlvbihXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIHNvY2tl
dElkZW50aWZpZXIsIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3U29ja2V0
SWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJik7Cisj
ZW5kaWYKKworICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6VGhyZWFkTWVzc2FnZVJlY2VpdmVyCisg
ICAgdm9pZCBkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJikgZmluYWw7CisKICNp
ZiBVU0UoTElCV0VCUlRDKQogICAgIExpYldlYlJUQ1NvY2tldEZhY3RvcnkgbV9zb2NrZXRGYWN0
b3J5OwogICAgIFdlYlJUQ01vbml0b3IgbV93ZWJOZXR3b3JrTW9uaXRvcjsKQEAgLTY5LDIyICs4
MSw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAgICAgV2ViTUROU1JlZ2lzdGVy
IG1fbWRuc1JlZ2lzdGVyOwogI2VuZGlmCisgICAgUmVmUHRyPElQQzo6Q29ubmVjdGlvbj4gbV9j
b25uZWN0aW9uOwogfTsKIAotaW5saW5lIHZvaWQgTGliV2ViUlRDTmV0d29yazo6bmV0d29ya1By
b2Nlc3NDcmFzaGVkKCkKLXsKLSNpZiBVU0UoTElCV0VCUlRDKQotICAgIG1fd2ViTmV0d29ya01v
bml0b3IubmV0d29ya1Byb2Nlc3NDcmFzaGVkKCk7Ci0jZW5kaWYKLX0KLQotaW5saW5lIGJvb2wg
TGliV2ViUlRDTmV0d29yazo6aXNBY3RpdmUoKSBjb25zdAotewotI2lmIFVTRShMSUJXRUJSVEMp
Ci0gICAgcmV0dXJuIFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyOjpoYXNXZWJSVENUaHJlYWRz
KCk7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTk2ZDFiNjJhYzZiYWQxM2M5NmM1YWZhZWE3YzgxMjUxMDEwYmE0NAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENO
ZXR3b3JrLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzQgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IExp
YldlYlJUQ05ldHdvcmsgTm90UmVmQ291bnRlZCB7CisgICAgU2lnbmFsUmVhZFBhY2tldChXZWJD
b3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIHNvY2tldElkZW50aWZpZXIsIElQQzo6RGF0
YVJlZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBhZGRyZXNzLCB1
aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBTaWduYWxTZW50UGFja2V0KFdl
YkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0SWRlbnRpZmllciwgaW50IHBh
Y2tldFNpemUsIGludDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25hbEFkZHJlc3NSZWFkeShXZWJD
b3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIHNvY2tldElkZW50aWZpZXIsIFdlYktpdDo6
UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBhZGRyZXNzKQorICAgIFNpZ25hbENvbm5lY3QoV2Vi
Q29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlmaWVyKQorICAgIFNp
Z25hbENsb3NlKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0SWRlbnRp
ZmllciwgaW50IGVycm9yKQorICAgIFNpZ25hbE5ld0Nvbm5lY3Rpb24oV2ViQ29yZTo6TGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlmaWVyLCBXZWJDb3JlOjpMaWJXZWJSVENT
b2NrZXRJZGVudGlmaWVyIG5ld1NvY2tldElkZW50aWZpZXIsIFdlYktpdDo6UlRDTmV0d29yazo6
U29ja2V0QWRkcmVzcyByZW1vdGVBZGRyZXNzKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKaW5kZXggYjVlNDNmNDU2ZWIzMGUwMmZmMWQzNGQ1YzE1
NzJmMTJhNTEzNzM5OS4uN2FlZDY0NTdhODM4MTU3YjcyYjAyMzc0MGQ4ZDc1MjQ4YmE1MjY0MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1NvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTgxLDEzICs4MSwxMyBAQCB2b2lkIExpYldlYlJU
Q1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRk
cmVzcykKICAgICBTaWduYWxBZGRyZXNzUmVhZHkodGhpcywgbV9sb2NhbEFkZHJlc3MpOwogfQog
Ci12b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsUmVhZFBhY2tldChjb25zdCBXZWJDb3JlOjpT
aGFyZWRCdWZmZXImIGJ1ZmZlciwgcnRjOjpTb2NrZXRBZGRyZXNzJiYgYWRkcmVzcywgaW50NjRf
dCB0aW1lc3RhbXApCit2b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsUmVhZFBhY2tldChjb25z
dCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6ZSwgcnRjOjpTb2NrZXRBZGRyZXNzJiYgYWRkcmVz
cywgaW50NjRfdCB0aW1lc3RhbXApCiB7CiAgICAgaWYgKG1faXNTdXNwZW5kZWQpCiAgICAgICAg
IHJldHVybjsKIAogICAgIG1fcmVtb3RlQWRkcmVzcyA9IFdURk1vdmUoYWRkcmVzcyk7Ci0gICAg
U2lnbmFsUmVhZFBhY2tldCh0aGlzLCBidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpLCBtX3Jl
bW90ZUFkZHJlc3MsIHRpbWVzdGFtcCk7CisgICAgU2lnbmFsUmVhZFBhY2tldCh0aGlzLCByZWlu
dGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihkYXRhKSwgc2l6ZSwgbV9yZW1vdGVBZGRyZXNzLCB0
aW1lc3RhbXApOwogfQogCiB2b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsU2VudFBhY2tldChp
bnQgcnRjUGFja2V0SUQsIGludDY0X3Qgc2VuZFRpbWVNcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaAppbmRl
eCAzZmQxY2UxNzgwYTlhYzZlNTI1NTc2YzMwNGRlZTUwNGE3NDU1OTUyLi5iMmU4ZWNjNzk4Zjkx
M2U2YzkyNmJkNzIzNWYzMzE5Njg1YjU5YjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oCkBAIC0zOSwx
MCArMzksNiBAQCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3MgRGVjb2RlcjsKIH0KIAotbmFt
ZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgU2hhcmVkQnVmZmVyOwotfQotCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgTGliV2ViUlRDU29ja2V0RmFjdG9yeTsKQEAgLTY5LDggKzY1LDggQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBib29sIHdpbGxTZW5kKHNpemVfdCk7CiAKLSAgICBmcmll
bmQgY2xhc3MgV2ViUlRDU29ja2V0OwotICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChjb25zdCBX
ZWJDb3JlOjpTaGFyZWRCdWZmZXImLCBydGM6OlNvY2tldEFkZHJlc3MmJiwgaW50NjRfdCk7Cisg
ICAgZnJpZW5kIGNsYXNzIExpYldlYlJUQ05ldHdvcms7CisgICAgdm9pZCBzaWduYWxSZWFkUGFj
a2V0KGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QsIHJ0Yzo6U29ja2V0QWRkcmVzcyYmLCBpbnQ2NF90
KTsKICAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQoaW50LCBpbnQ2NF90KTsKICAgICB2b2lkIHNp
Z25hbEFkZHJlc3NSZWFkeShjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmKTsKICAgICB2b2lkIHNp
Z25hbENvbm5lY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcAppbmRleCBm
ZjAxNzEzOWYyNjI5N2Y3YzViZTU1M2EzM2RmNTMwZWM2ZDUwZTY5Li5hOGRhN2NjOWFlODA0ZmU5
YzI4OGJlZjJkNTNlNjVmMjM2YWRjODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3Rv
cnkuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3JNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldC5oIgogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmNwcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzgyOTNiY2NmYjlmMmQ5YmMyZjY1YjA0NzljYjRk
NThiOGM2ZjlmNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldC5oIgotCi0jaWYgVVNFKExJQldFQlJU
QykKLQotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlICJMaWJXZWJSVENTb2Nr
ZXQuaCIKLSNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgiCi0jaW5jbHVkZSAiTmV0
d29ya1JUQ1NvY2tldE1lc3NhZ2VzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIu
aD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbE9uTmV0d29y
a1RocmVhZChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBmYWN0b3J5LCBMaWJXZWJSVENTb2NrZXRJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIEZ1bmN0aW9uPHZvaWQoTGliV2ViUlRDU29ja2V0Jik+JiYg
Y2FsbGJhY2spCi17Ci0gICAgLy8gZmFjdG9yeSBpcyBzdGF5aW5nIHZhbGlkIGR1cmluZyB0aGUg
cHJvY2VzcyBsaWZldGltZS4KLSAgICBXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcjo6Y2FsbE9u
V2ViUlRDTmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZpZXIsIGNhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldKCkgewotICAgICAgICBhdXRvKiBzb2NrZXQgPSBmYWN0b3J5LnNvY2tl
dChpZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFzb2NrZXQpCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIGNhbGxiYWNrKCpzb2NrZXQpOwotICAgIH0pOwotfQotCi1XZWJSVENTb2NrZXQ6
OldlYlJUQ1NvY2tldChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBmYWN0b3J5LCBMaWJXZWJSVENT
b2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgOiBtX2ZhY3RvcnkoZmFjdG9yeSkKLSAg
ICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotewotfQotCi12b2lkIFdlYlJUQ1NvY2tldDo6
c2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIGFkZHJl
c3MpCi17Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVy
LCBbYWRkcmVzc10oTGliV2ViUlRDU29ja2V0JiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNp
Z25hbEFkZHJlc3NSZWFkeShhZGRyZXNzLnZhbHVlKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJS
VENTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRh
LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQsIGlu
dDY0X3QgdGltZXN0YW1wKQotewotICAgIGF1dG8gYnVmZmVyID0gV2ViQ29yZTo6U2hhcmVkQnVm
ZmVyOjpjcmVhdGUoZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKTsKLSAgICBzaWduYWxPbk5ldHdv
cmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZl
ciksIGFkZHJlc3MsIHBvcnQsIHRpbWVzdGFtcF0oTGliV2ViUlRDU29ja2V0JiBzb2NrZXQpIHsK
LSAgICAgICAgc29ja2V0LnNpZ25hbFJlYWRQYWNrZXQoYnVmZmVyLmdldCgpLCBydGM6OlNvY2tl
dEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCksIHRpbWVzdGFtcCk7Ci0gICAgfSk7Ci19Ci0K
LXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxTZW50UGFja2V0KGludCBydGNQYWNrZXRJRCwgaW50
NjRfdCBzZW5kVGltZU1zKQotewotICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3Rvcnks
IG1faWRlbnRpZmllciwgW3J0Y1BhY2tldElELCBzZW5kVGltZU1zXShhdXRvJiBzb2NrZXQpIHsK
LSAgICAgICAgc29ja2V0LnNpZ25hbFNlbnRQYWNrZXQocnRjUGFja2V0SUQsIHNlbmRUaW1lTXMp
OwotICAgIH0pOwotfQotCi12b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsQ29ubmVjdCgpCi17Ci0g
ICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBbXShhdXRv
JiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbENvbm5lY3QoKTsKLSAgICB9KTsKLX0K
LQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbENsb3NlKGludCBlcnJvcikKLXsKLSAgICBzaWdu
YWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtlcnJvcl0oYXV0byYg
c29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxDbG9zZShlcnJvcik7Ci0gICAgfSk7Ci19
Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxOZXdDb25uZWN0aW9uKExpYldlYlJUQ1NvY2tl
dElkZW50aWZpZXIgbmV3U29ja2V0SWRlbnRpZmllciwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0
QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKLXsKLSAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9m
YWN0b3J5LCBtX2lkZW50aWZpZXIsIFtuZXdTb2NrZXRJZGVudGlmaWVyLCByZW1vdGVBZGRyZXNz
ID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KHJlbW90ZUFkZHJlc3MudmFsdWUpXShhdXRvJiBz
b2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbE5ld0Nvbm5lY3Rpb24oc29ja2V0Lm1fZmFj
dG9yeS5jcmVhdGVOZXdDb25uZWN0aW9uU29ja2V0KHNvY2tldCwgbmV3U29ja2V0SWRlbnRpZmll
ciwgcmVtb3RlQWRkcmVzcykpOwotICAgIH0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQK
LQotI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDU3ZTE4ZGZlMzAzOGZjZTdlNzJhYjQ5ZWZlOGEyODcwYjRmOTgyZmMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5oCisrKyAvZGV2L251bGwK
QEAgLTEsNjcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgVVNFKExJ
QldFQlJUQykKLQotI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0xp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIuaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KLQot
bmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsK
LWNsYXNzIERlY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBMaWJXZWJS
VENTb2NrZXQ7Ci1jbGFzcyBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OwotCi1jbGFzcyBXZWJSVENT
b2NrZXQgewotcHVibGljOgotICAgIFdlYlJUQ1NvY2tldChMaWJXZWJSVENTb2NrZXRGYWN0b3J5
JiwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllcik7Ci0KLSAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwotCi0gICAgc3Rh
dGljIHZvaWQgc2lnbmFsT25OZXR3b3JrVGhyZWFkKExpYldlYlJUQ1NvY2tldEZhY3RvcnkmLCBX
ZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBGdW5jdGlvbjx2b2lkKExpYldlYlJU
Q1NvY2tldCYpPiYmKTsKLQotcHJpdmF0ZToKLSAgICB2b2lkIHNpZ25hbFJlYWRQYWNrZXQoY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgdWlu
dDE2X3QgcG9ydCwgaW50NjRfdCk7Ci0gICAgdm9pZCBzaWduYWxTZW50UGFja2V0KGludCwgaW50
NjRfdCk7Ci0gICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgUlRDTmV0d29yazo6U29j
a2V0QWRkcmVzcyYpOwotICAgIHZvaWQgc2lnbmFsQ29ubmVjdCgpOwotICAgIHZvaWQgc2lnbmFs
Q2xvc2UoaW50KTsKLSAgICB2b2lkIHNpZ25hbE5ld0Nvbm5lY3Rpb24oV2ViQ29yZTo6TGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBXZWJLaXQ6OlJU
Q05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKLQotICAgIExpYldlYlJUQ1NvY2tldEZhY3Rvcnkm
IG1fZmFjdG9yeTsKLSAgICBXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG1faWRl
bnRpZmllcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmNTlkMGNlZDFiNmNiZGQzNzZhMzBiZjY1MjQ2ZWQ3MTBhMjg2YTRiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4KKysr
IC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMg
YXJlIG1ldDoKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSMg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotIyBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UgotIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMCi0jIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0jIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSCi0jIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0jIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0KLSNpZiBVU0UoTElCV0VCUlRDKQotCi1tZXNzYWdlcyAtPiBXZWJSVENTb2Nr
ZXQgTm90UmVmQ291bnRlZCB7Ci0gICAgU2lnbmFsUmVhZFBhY2tldChJUEM6OkRhdGFSZWZlcmVu
Y2UgZGF0YSwgV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgYWRkcmVzcywgdWludDE2X3Qg
cG9ydCwgaW50NjRfdCB0aW1lc3RhbXApCi0gICAgU2lnbmFsU2VudFBhY2tldChpbnQgcGFja2V0
U2l6ZSwgaW50NjRfdCB0aW1lc3RhbXApCi0gICAgU2lnbmFsQWRkcmVzc1JlYWR5KFdlYktpdDo6
UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBhZGRyZXNzKQotICAgIFNpZ25hbENvbm5lY3QoKQot
ICAgIFNpZ25hbENsb3NlKGludCBlcnJvcikKLSAgICBTaWduYWxOZXdDb25uZWN0aW9uKFdlYkNv
cmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3U29ja2V0SWRlbnRpZmllciwgV2ViS2l0
OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIHJlbW90ZUFkZHJlc3MpCi19Ci0KLSNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398362</attachid>
            <date>2020-05-04 08:01:35 -0700</date>
            <delta_ts>2020-05-05 01:18:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211290-20200504170132.patch</filename>
            <type>text/plain</type>
            <size>48979</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJhZmM1N2M3ODk2ZWM3Nzlh
OTg1ZGE5NjQxNzEwMTQ2N2Y2MGVkMjUuLjY0ZTYyMWIxNTNjNGRhYzg1ZjkxYTUxZTQ4M2M2YTRj
NzU0ZGRjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMjAtMDUtMDEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlY2VpdmluZyBXZWJSVEMgbmV0
d29yayBwYWNrZXRzIHNob3VsZCBub3QgZ28gdGhyb3VnaCB0aGUgbWFpbiB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTI5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgZ29p
bmcgdG8gbWFpbiB0aHJlYWQgYmVmb3JlIGdvaW5nIHRvIHJ0YyBuZXR3b3JrIHRocmVhZCwgd2Ug
cmVnaXN0ZXIgYSBtZXNzYWdlIHJlY2VpdmVyIGFuZCBkaXNwYXRjaCBkaXJlY3RseSB0byBydGMg
bmV0d29yayB0aHJlYWQuCisgICAgICAgIFRoaXMgZW5zdXJlcyBydGMgcGFja2V0cyBhcmUgbm90
IGJsb2NrZWQgaWYgbWFpbiB0aHJlYWQgaXMgYnVzeS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFkUGFja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxTZW50UGFja2V0KToKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxBZGRyZXNzUmVhZHkpOgor
ICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENvbm5lY3QpOgor
ICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENsb3NlKToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTb2NrZXQpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNlcnZlclRDUFNvY2tldCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlQ2xpZW50VENQU29ja2V0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpuZXdDb25uZWN0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjbG9zZUxpc3RlbmluZ1NvY2tl
dHMpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb246Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5jcHA6IEFkZGVkCisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmg6CisgICAgICAg
IChXZWJLaXQ6OkxpYldlYlJUQ05ldHdvcms6OmNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0
OjpMaWJXZWJSVENOZXR3b3JrOjp+TGliV2ViUlRDTmV0d29yayk6CisgICAgICAgIChXZWJLaXQ6
OkxpYldlYlJUQ05ldHdvcms6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ05ldHdvcms6OnNldENvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENOZXR3b3JrOjpkaXNwYXRjaFRvVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDTmV0d29yazo6c2lnbmFsQWRkcmVzc1JlYWR5KToKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDTmV0d29yazo6c2lnbmFsUmVhZFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ05ldHdvcms6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJS
VENOZXR3b3JrOjpzaWduYWxDb25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDTmV0
d29yazo6c2lnbmFsQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjpz
aWduYWxOZXdDb25uZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaDogUmVtb3ZlZC4K
KwogMjAyMC0wNS0wMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gTW92ZSBmb2N1cyBvdXQgb2YgdGhlIHdlYiB2aWV3IHdoZW4gdGFi
IGlzIHByZXNzZWQgYW5kIHRoZXJlIGlzbid0IGEgbmV4dCBlbGVtZW50IHRvIGZvY3VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFr
ZUxpc3RzLnR4dAppbmRleCBkYWVjZDg2Yzc0Yzg0MTBhNTY2ODA2NzBhZmU2ZTM5MWNjNDYyMjU2
Li4zNzdhYjQwNmE0ZmQyOTY1NWZjYWVhNGRmZGUwMDE4MjE0ZmJmMTdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKQEAgLTIzNCwxMCArMjM0LDEwIEBAIHNldChXZWJLaXRfTUVTU0FHRVNfSU5fRklMRVMK
ICAgICBXZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVy
Lm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVz
c2FnZXMuaW4KIAorICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29y
ay5tZXNzYWdlcy5pbgogICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTUROU1JlZ2lz
dGVyLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25p
dG9yLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNv
bHZlci5tZXNzYWdlcy5pbgotICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29j
a2V0Lm1lc3NhZ2VzLmluCiAKICAgICBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLm1lc3NhZ2VzLmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKaW5kZXggOGJkYjUxYTE2ZDM5ODg5NzNkODNkYjcxNTc3ZWY5ODVlM2ZkZWJm
Zi4uYWQ5OWQzMzU2MjdkZDFhNzM3OWMyNzhmYWM4OWI3Y2QxYjE0OTY0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJj
ZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTQwLDEwICsxNDAs
MTAgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk1ETlNSZWdpc3Rlci5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJS
VENNb25pdG9yLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggZDEwMDQ2MzM5ZmU0YzM2
OTQ5MjZhODc4YTJlYjFjZDA4YjE3MDgwZC4uYTI1ZjU2MDhjYjU0NWFhMzE5NDIwMTk2OTM4ZmQ0
MzE5YjNjMGQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CkBAIC01Nyw2ICs1Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ0NvZGVjc01lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENDb2RlY3NQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL0xpYldlYlJUQ0NvZGVjc1Byb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdl
c1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
TGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdvcmtNZXNzYWdlcy5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENOZXR3b3Jr
TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL0xpYldlYlJUQ1JlbW90ZUNvZGVjc01lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ1JlbW90ZUNvZGVj
c01lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L0xpYldlYlJUQ1JlbW90ZUNvZGVjc01lc3NhZ2VzUmVwbGllcy5oCkBAIC0zODQsOSArMzg3LDYg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDTW9u
aXRvck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJUQ1Jlc29sdmVyTWVzc2FnZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDUmVz
b2x2ZXJNZXNzYWdlc1JlcGxpZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcAotJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDU29ja2V0TWVzc2FnZXMuaAot
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDU29ja2V0
TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggZTQ1ZGE4OTNkOWE3YzllYzZhMTc3MTkyZWNmMDY3MmNlMzUwZGQ2Yi4uZjFlYTFmMTAwZDQw
YWNmYzg5ZWUyYTg0NWNlMjEyYzY1NTNlNWRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMTI5LDYgKzEyOSw3IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5IFwKICAgICBMaWJXZWJSVENDb2RlY3MgXAogICAgIExp
YldlYlJUQ0NvZGVjc1Byb3h5IFwKKyAgICBMaWJXZWJSVENOZXR3b3JrIFwKICAgICBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGUgXAogICAgIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyIFwKICAgICBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBcCkBAIC0yMjgsNyArMjI5LDYgQEAgTUVTU0FH
RV9SRUNFSVZFUlMgPSBcCiAgICAgV2ViUHJvY2Vzc1Byb3h5IFwKICAgICBXZWJSVENNb25pdG9y
IFwKICAgICBXZWJSVENSZXNvbHZlciBcCi0gICAgV2ViUlRDU29ja2V0IFwKICAgICBXZWJSZXNv
dXJjZUxvYWRlciBcCiAgICAgV2ViU1dDbGllbnRDb25uZWN0aW9uIFwKICAgICBXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcAppbmRleCBjMWQ1
Y2JiN2RlYTE4OTNjMTA1NWU1ODRlYTI0Y2E4Y2QyNWRhNDFjLi4zNTJmZmQ0ZjBmNTlkODMxYjc0
ZjJjNzJhYWU3NTNhM2QyZTIyOTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKQEAgLTMw
LDkgKzMwLDkgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDTmV0d29ya01lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlci5oIgotI2luY2x1ZGUg
IldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIu
aD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KIApAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQg
TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFkUGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQqIHNvY2tldCwgY29uCiAgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZm
ZXI6OmNyZWF0ZSh2YWx1ZSwgbGVuZ3RoKTsKICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFp
blRocmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllciwgYnVmZmVyID0gV1RGTW92ZShidWZm
ZXIpLCBhZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KGFkZHJlc3MpLCBwYWNrZXRU
aW1lXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKICAgICAgICAgSVBDOjpEYXRhUmVm
ZXJlbmNlIGRhdGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRh
KCkpLCBidWZmZXItPnNpemUoKSk7Ci0gICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6
V2ViUlRDU29ja2V0OjpTaWduYWxSZWFkUGFja2V0KGRhdGEsIFJUQ05ldHdvcms6OklQQWRkcmVz
cyhhZGRyZXNzLmlwYWRkcigpKSwgYWRkcmVzcy5wb3J0KCksIHBhY2tldFRpbWUpLCBpZGVudGlm
aWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3Jr
OjpTaWduYWxSZWFkUGFja2V0KGlkZW50aWZpZXIsIGRhdGEsIFJUQ05ldHdvcms6OklQQWRkcmVz
cyhhZGRyZXNzLmlwYWRkcigpKSwgYWRkcmVzcy5wb3J0KCksIHBhY2tldFRpbWUpLCAwKTsKICAg
ICB9KTsKIH0KIApAQCAtMTA4LDcgKzEwOCw3IEBAIHZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50
OjpzaWduYWxTZW50UGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIHNvY2tldCwgY29uCiB7
CiAgICAgQVNTRVJUX1VOVVNFRChzb2NrZXQsIG1fc29ja2V0LmdldCgpID09IHNvY2tldCk7CiAg
ICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBtX2lkZW50
aWZpZXIsIHNlbnRQYWNrZXRdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAg
ICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsU2VudFBhY2tl
dChzZW50UGFja2V0LnBhY2tldF9pZCwgc2VudFBhY2tldC5zZW5kX3RpbWVfbXMpLCBpZGVudGlm
aWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3Jr
OjpTaWduYWxTZW50UGFja2V0KGlkZW50aWZpZXIsIHNlbnRQYWNrZXQucGFja2V0X2lkLCBzZW50
UGFja2V0LnNlbmRfdGltZV9tcyksIDApOwogICAgIH0pOwogfQogCkBAIC0xMjIsNyArMTIyLDcg
QEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbEFkZHJlc3NSZWFkeShydGM6OkFz
eW5jUGFja2V0U29ja2V0KiBzb2NrZXQsIGMKIHsKICAgICBBU1NFUlRfVU5VU0VEKHNvY2tldCwg
bV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0KTsKICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFp
blRocmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllciwgYWRkcmVzcyA9IFJUQ05ldHdvcms6
Omlzb2xhdGVkQ29weShhZGRyZXNzKV0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0g
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxBZGRy
ZXNzUmVhZHkoUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyhhZGRyZXNzKSksIGlkZW50aWZpZXIp
OworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNp
Z25hbEFkZHJlc3NSZWFkeShpZGVudGlmaWVyLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKGFk
ZHJlc3MpKSwgMCk7CiAgICAgfSk7CiB9CiAKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIExpYldl
YlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQ29ubmVjdChydGM6OkFzeW5jUGFja2V0U29ja2V0KiBz
b2NrZXQpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChzb2NrZXQsIG1fc29ja2V0LmdldCgpID09IHNv
Y2tldCk7CiAgICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIg
PSBtX2lkZW50aWZpZXJdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBj
b25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ29ubmVjdCgpLCBp
ZGVudGlmaWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENO
ZXR3b3JrOjpTaWduYWxDb25uZWN0KGlkZW50aWZpZXIpLCAwKTsKICAgICB9KTsKIH0KIApAQCAt
MTQzLDcgKzE0Myw3IEBAIHZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxDbG9zZShy
dGM6OkFzeW5jUGFja2V0U29ja2V0KiBzb2NrZXQsIGludCBlcnJvCiB7CiAgICAgQVNTRVJUX1VO
VVNFRChzb2NrZXQsIG1fc29ja2V0LmdldCgpID09IHNvY2tldCk7CiAgICAgbV9ydGNQcm92aWRl
ci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBtX2lkZW50aWZpZXIsIGVycm9yXShJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1l
c3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbENsb3NlKGVycm9yKSwgaWRlbnRpZmllcik7Cisg
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFs
Q2xvc2UoaWRlbnRpZmllciwgZXJyb3IpLCAwKTsKICAgICB9KTsKICAgICAvLyBXZSB3YW50IHRv
IHJlbW92ZSAndGhpcycgZnJvbSB0aGUgc29ja2V0IG1hcCBub3cgYnV0IHdlIHdpbGwgZGVzdHJv
eSBpdCBhc3luY2hyb25vdXNseQogICAgIC8vIHNvIHRoYXQgdGhlIHNvY2tldCBwYXJhbWV0ZXIg
b2Ygc2lnbmFsQ2xvc2UgcmVtYWlucyBhbGl2ZSBhcyB0aGUgY2FsbGVyIG9mIHNpZ25hbENsb3Nl
IG1heSBhY3R1YWxseSBiZWluZyB1c2luZyBpdCBhZnRlcndhcmRzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5j
cHAKaW5kZXggYTJiY2M2Yjc1MjJiMjFjZjJhODg1ZDNiZjcyMjBkYzkyZThhMzNiOS4uMmEwMDVh
ZjA3Y2YxNzczMWJjYzMyYTg5MWFkNjk3NzY4MjBjZGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3Bw
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAiTGli
V2ViUlRDTmV0d29ya01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0Q2xpZW50
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmgiCkBAIC0zNSw3ICszNiw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1JUQ1Jlc29s
dmVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldC5oIgogI2luY2x1ZGUgIldlYlJUQ1Jl
c29sdmVyTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJXZWJSVENTb2NrZXRNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CiAjaW5jbHVkZSA8d2VicnRjL3J0Y19i
YXNlL2FzeW5jX3BhY2tldF9zb2NrZXQuaD4KICNpbmNsdWRlIDx3ZWJydGMvcnRjX2Jhc2UvbG9n
Z2luZy5oPgpAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVh
dGVTb2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBzdGQ6CiAgICAg
aWYgKCFzb2NrZXQpIHsKICAgICAgICAgc2VuZEZyb21NYWluVGhyZWFkKFt0aGlzLCBpZGVudGlm
aWVyLCBzaXplID0gbV9zb2NrZXRzLnNpemUoKV0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
KSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCJjcmVhdGVTb2Nr
ZXQgd2l0aCAldSBzb2NrZXRzIGlzIHVuYWJsZSB0byBjcmVhdGUgYSBuZXcgc29ja2V0Iiwgc2l6
ZSk7Ci0gICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6
U2lnbmFsQ2xvc2UoMSksIGlkZW50aWZpZXIpOworICAgICAgICAgICAgY29ubmVjdGlvbi5zZW5k
KE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShpZGVudGlmaWVyLCAxKSwg
MCk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTM3LDcgKzEzNyw3
IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoTGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmCiB7CiAgICAgaWYgKCFtX2lzTGlzdGVuaW5nU29j
a2V0QXV0aG9yaXplZCkgewogICAgICAgICBpZiAobV9jb25uZWN0aW9uKQotICAgICAgICAgICAg
bV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpT
aWduYWxDbG9zZSgxKSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICBtX2Nvbm5lY3Rpb24tPmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShp
ZGVudGlmaWVyLCAxKSwgMCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE1OCw3ICsx
NTgsNyBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlQ2xpZW50VENQU29ja2V0KExp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZgogewogICAgIGF1dG8qIHNlc3Npb24gPSBt
X2Nvbm5lY3Rpb24tPm5ldHdvcmtTZXNzaW9uKCk7CiAgICAgaWYgKCFzZXNzaW9uKSB7Ci0gICAg
ICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tl
dDo6U2lnbmFsQ2xvc2UoMSksIGlkZW50aWZpZXIpOworICAgICAgICBtX2Nvbm5lY3Rpb24tPmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShp
ZGVudGlmaWVyLCAxKSwgMCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgY2FsbE9uUlRD
TmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgbG9jYWxBZGRyZXNzID0gUlRDTmV0d29y
azo6aXNvbGF0ZWRDb3B5KGxvY2FsQWRkcmVzcy52YWx1ZSksIHJlbW90ZUFkZHJlc3MgPSBSVENO
ZXR3b3JrOjppc29sYXRlZENvcHkocmVtb3RlQWRkcmVzcy52YWx1ZSksIHByb3h5SW5mbyA9IHBy
b3h5SW5mb0Zyb21TZXNzaW9uKHJlbW90ZUFkZHJlc3MsICpzZXNzaW9uKSwgdXNlckFnZW50ID0g
V1RGTW92ZSh1c2VyQWdlbnQpLmlzb2xhdGVkQ29weSgpLCBvcHRpb25zXSgpIHsKQEAgLTE5Myw3
ICsxOTMsNyBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6bmV3Q29ubmVjdGlvbihTb2NrZXQm
IHNlcnZlclNvY2tldCwgc3RkOjp1bmlxdWVfcHRyPHJ0YwogewogICAgIGF1dG8gaW5jb21pbmdT
b2NrZXRJZGVudGlmaWVyID0gTGliV2ViUlRDU29ja2V0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsK
ICAgICBzZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBzZXJ2ZXJTb2NrZXQuaWRlbnRp
ZmllcigpLCBpbmNvbWluZ1NvY2tldElkZW50aWZpZXIsIHJlbW90ZUFkZHJlc3MgPSBSVENOZXR3
b3JrOjppc29sYXRlZENvcHkobmV3U29ja2V0LT5HZXRSZW1vdGVBZGRyZXNzKCkpXShJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2Vz
OjpXZWJSVENTb2NrZXQ6OlNpZ25hbE5ld0Nvbm5lY3Rpb24oaW5jb21pbmdTb2NrZXRJZGVudGlm
aWVyLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKHJlbW90ZUFkZHJlc3MpKSwgaWRlbnRpZmll
cik7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6
U2lnbmFsTmV3Q29ubmVjdGlvbihpZGVudGlmaWVyLCBpbmNvbWluZ1NvY2tldElkZW50aWZpZXIs
IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MocmVtb3RlQWRkcmVzcykpLCAwKTsKICAgICB9KTsK
ICAgICBtX3BlbmRpbmdJbmNvbWluZ1NvY2tldHMuYWRkKGluY29taW5nU29ja2V0SWRlbnRpZmll
ciwgV1RGTW92ZShuZXdTb2NrZXQpKTsKIH0KQEAgLTI2NCw3ICsyNjQsNyBAQCB2b2lkIE5ldHdv
cmtSVENQcm92aWRlcjo6Y2xvc2VMaXN0ZW5pbmdTb2NrZXRzKEZ1bmN0aW9uPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm92aWRlciA9IG1ha2VS
ZWYoKnRoaXMpLCBsaXN0ZW5pbmdTb2NrZXRJZGVudGlmaWVycyA9IFdURk1vdmUobGlzdGVuaW5n
U29ja2V0SWRlbnRpZmllcnMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSB7CiAgICAgICAgICAgICBpZiAocHJvdmlkZXItPm1fY29ubmVjdGlvbikgewog
ICAgICAgICAgICAgICAgIGZvciAoYXV0byBpZGVudGlmaWVyIDogbGlzdGVuaW5nU29ja2V0SWRl
bnRpZmllcnMpCi0gICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyLT5tX2Nvbm5lY3Rpb24tPmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbENsb3NlKEVDT05O
QUJPUlRFRCksIGlkZW50aWZpZXIpOworICAgICAgICAgICAgICAgICAgICBwcm92aWRlci0+bV9j
b25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6
U2lnbmFsQ2xvc2UoaWRlbnRpZmllciwgRUNPTk5BQk9SVEVEKSwgMCk7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CmluZGV4IGFkMDE2YmVlNTdkMmQxYzlkOGU4MjY3Y2YxMTgxYjdhODgzM2EzOWEuLjg5NDM0YjU0
Y2RlOGExOGE4N2M3NTUyMzhmZmZiMGMwYzJhMzcyYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNTg5LDYg
KzU4OSw3IEBAIFdlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsTWFuYWdlci5jcHAK
IFdlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5jcHAKIFdlYlByb2Nlc3MvTmV0
d29yay9XZWJTb2NrZXRTdHJlYW0uY3BwCiAKK1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDTmV0d29yay5jcHAKIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuY3BwCiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmNw
cAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwCkBAIC01OTYs
NyArNTk3LDYgQEAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0
b3J5LmNwcAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJNRE5TUmVnaXN0ZXIuY3BwCiBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwCiBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmNwcAotV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENTb2NrZXQuY3BwCiAKIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUwZjA0MmFkMDM2YWZmM2MzYjBkOTRkZmI1MTc5
NjIzMTEyNzJmNWUuLmU4ZTliYzAyYzUzZmU2OTk3OGIxOTU4NmQwOWI3MzU2YTFlMTQyY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTA3NCw3ICsxMDc0LDcgQEAKIAkJNTFFRkMxQ0YxNTI0RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxl
RE9NV2luZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MUZBMkQ1NDE1MjExMTg2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dF
eHRlbnNpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk1MUYwNjBFMDE2NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYw
REUxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLzsgfTsK
IAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07Ci0JCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2Nr
ZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBMaWJX
ZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBMaWJXZWJS
VENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAw
RjMyODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMy
ODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYw
NjBFMTE2NTQzMTg1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYw
REQxNjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovOyB9OwpAQCAtMzQyOSw2ICszNDI5LDggQEAKIAkJNDE1N0U0QUYyMEUyRUM5
ODAwQTZDMEQ3IC8qIGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBjb20uZ29vZ2xlLm8xZGJyb3dzZXJwbHVnaW4uc2I7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxNTg2NDlBMjNCRTA5MjQwMEEwQTYxRSAvKiBSVENFbmNvZGVySWRl
bnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENFbmNvZGVySWRl
bnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTZDRDc0NTIzRkIxNzhC
MDA2NjFEOTkgLyogTUROU1JlZ2lzdGVySWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBNRE5TUmVnaXN0ZXJJZGVudGlmaWVyLmg7IHBhdGggPSBOZXR3b3JrL3dl
YnJ0Yy9NRE5TUmVnaXN0ZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxNkY4MDg2MjQ1QjM5NzQwMEI2OEYwMiAvKiBMaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IExpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW47
IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTZGODA4OTI0NUM3RkY1MDBCNjhGMDIgLyogTGli
V2ViUlRDTmV0d29yay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBM
aWJXZWJSVENOZXR3b3JrLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdv
cmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcyMTk4OTIzQjYxMjgyMDBB
RTU2ODYgLyogTGliV2ViUlRDQ29kZWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExpYldlYlJUQ0NvZGVjcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcy
MTk4QTIzQjYxMjgyMDBBRTU2ODYgLyogTGliV2ViUlRDQ29kZWNzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExpYldlYlJUQ0NvZGVjcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxNzIxOThDMjNCNjEyRTgwMEFFNTY4NiAvKiBSVENEZWNvZGVy
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENEZWNvZGVy
SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzgxMSw3ICszODEz
LDcgQEAKIAkJNTFFOEI2OEQxRTcxMjg3MzAwMUI3MTMyIC8qIFdlYlVSTFNjaGVtZVRhc2suY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVVJMU2NoZW1lVGFzay5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVDOUVC
OSAvKiBVSUdhbWVwYWRQcm92aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07Ci0JCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNz
YWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDU29ja2V0TWVzc2FnZVJl
Y2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZl
ci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdvcmtNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1
MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVy
LmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ1NvY2tldE1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENNb25pdG9yTWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtNzU4NSw3ICs3
NTg3LDkgQEAKIAkJNDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5IC8qIHdlYnJ0YyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDE2RjgwODkyNDVDN0ZGNTAw
QjY4RjAyIC8qIExpYldlYlJUQ05ldHdvcmsuY3BwICovLAogCQkJCTQxMUIyMjYyMUUzNzEyNDQw
MDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi8sCisJCQkJNDE2RjgwODYyNDVCMzk3NDAw
QjY4RjAyIC8qIExpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW4gKi8sCiAJCQkJNDEzMDc1QTcx
REU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLywKIAkJCQk0MTMwNzVB
ODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLywKIAkJCQk0MUZBRjVG
NzFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuY3BwICovLApAQCAtOTk4Myw2
ICs5OTg3LDcgQEAKIAkJCQkyOTg0RjU4NzE2NEJBMDk1MDA0QkMwQzYgLyogTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJCQkyOTg0RjU3QTE2NEI5MTVGMDA0QkMw
QzYgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAogCQkJCTI5ODRGNTdCMTY0QjkxNUYwMDRCQzBDNiAvKiBMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFD
IC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTA3RTE5RUY4
MjNENDAxRjAwMDk0RkZCNCAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCTA3RTE5RUY5MjNENDAxRjAwMDk0RkZCNCAvKiBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGVNZXNzYWdlcy5oICovLAogCQkJCTA3RTE5RUZBMjNENDAxRjAwMDk0RkZCNCAv
KiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLywKQEAgLTEwMTg0
LDcgKzEwMTg5LDYgQEAKIAkJCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3Vy
Y2VMb2FkZXJNZXNzYWdlcy5oICovLAogCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBX
ZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1MUYwNjBERDE2NTQzMTc1
MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAotCQkJCTUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAogCQkJCTQxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJTb2NrZXRDaGFubmVsTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1QzBCMTc3NjFFN0M4NzlDMDBFOTEyM0MgLyogV2Vi
U29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1QzBCMTc3NzFFN0M4NzlD
MDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFtTWVzc2FnZXMuaCAqLywKQEAgLTEyNjg5LDYgKzEy
NjkzLDcgQEAKIAkJCQkyRDkxMzQ0MjIxMkNGOUYwMDAxMjhBRkQgLyogSlNOUE9iamVjdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyOTg0RjU4ODE2NEJBMDk1MDA0QkMwQzYgLyogTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTI5ODRGNTdDMTY0QjkxNUYwMDRCQzBDNiAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYwNjBFMTE2NTQz
MTg1MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0NDlEOTBEQTIxRkRDMzBCMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3NzkyMTJCNkE2MTAwRjQ5
M0ZEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdFMTlFRkIyM0Q0MDFGMTAw
OTRGRkI0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTEzMDIxLDcgKzEzMDI2LDYgQEAKIAkJCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMy
ODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFFMEE3Q0IyM0I2NDVDRDAwNTYxMDYwIC8qIFdl
YlNvY2tldENoYW5uZWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGMDYwRTExNjU0MzE4NTAw
RjMyODFDIC8qIFdlYlNvY2tldENoYW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNUMwQjE3NzkxRTdDODgyMTAwRTkxMjNDIC8qIFdlYlNvY2tldFN0cmVhbU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmlu
ZGV4IDM0OGQ4YzljMmI1NmE0Zjk0ZTFmMDgyMTNiNTBkYzE4ZDFlMzAxYmYuLjg2NWMyMjdjNTMz
Y2UwZjcxMDQzYTBlZmVlM2Q3YzUyOGQyYjRkY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNw
cApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgIldlYlJUQ01vbml0b3IuaCIKICNpbmNsdWRl
ICJXZWJSVENNb25pdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJSVENSZXNvbHZlck1lc3Nh
Z2VzLmgiCi0jaW5jbHVkZSAiV2ViUlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJS
ZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViU1dDbGllbnRDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViU1dDbGllbnRDb25uZWN0aW9uTWVzc2FnZXMuaCIKQEAgLTc3LDYg
Kzc2LDcgQEAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGMKICAgICAsIG1fY29va2llQWNjZXB0UG9s
aWN5KGNvb2tpZUFjY2VwdFBvbGljeSkKIHsKICAgICBtX2Nvbm5lY3Rpb24tPm9wZW4oKTsKKyAg
ICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVENOZXR3b3JrKCkuc2V0Q29ubmVjdGlv
bihtX2Nvbm5lY3Rpb24uY29weVJlZigpKTsKIH0KIAogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
Ojp+TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkKQEAgLTExMiwxNCArMTEyLDYgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgSVAKICAgICB9CiAKICNpZiBVU0UoTElCV0VCUlRDKQotICAgIGlmIChk
ZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUlRDU29ja2V0Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgYXV0byYgbmV0d29yayA9IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKTsKLSAgICAgICAgaWYgKG5ldHdvcmsu
aXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG5ldHdvcmsuc29ja2V0KG1ha2VPYmplY3RJZGVudGlm
aWVyPExpYldlYlJUQ1NvY2tldElkZW50aWZpZXJUeXBlPihkZWNvZGVyLmRlc3RpbmF0aW9uSUQo
KSkpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJSZWNlaXZlZCBXZWJSVENT
b2NrZXQgbWVzc2FnZSB3aGlsZSBsaWJXZWJSVENOZXR3b3JrIGlzIG5vdCBhY3RpdmUiKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gTWVzc2FnZXM6OldlYlJUQ01vbml0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewog
ICAgICAgICBhdXRvJiBuZXR3b3JrID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRD
TmV0d29yaygpOwogICAgICAgICBpZiAobmV0d29yay5pc0FjdGl2ZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05l
dHdvcmsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYmRmZTViMzcwZTFjMGY1ZWY4YTU3ZWYzNGNjZjA0NmQy
N2ZmMjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5jcHAKQEAgLTAsMCArMSwxMjQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDTmV0d29yay5oIgor
CisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ05ldHdvcmtN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1NoYXJl
ZEJ1ZmZlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTGliV2ViUlRDTmV0d29yazo6fkxp
YldlYlJUQ05ldHdvcmsoKQoreworICAgIHNldENvbm5lY3Rpb24obnVsbHB0cik7Cit9CisKK3Zv
aWQgTGliV2ViUlRDTmV0d29yazo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkKK3sKKyAgICBzZXRD
b25uZWN0aW9uKG51bGxwdHIpOworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBtX3dlYk5ldHdv
cmtNb25pdG9yLm5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpOworI2VuZGlmCit9CisKK3ZvaWQgTGli
V2ViUlRDTmV0d29yazo6c2V0Q29ubmVjdGlvbihSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiYmIGNv
bm5lY3Rpb24pCit7CisjaWYgVVNFKExJQldFQlJUQykKKyAgICBpZiAobV9jb25uZWN0aW9uKQor
ICAgICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZVRocmVhZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6TGliV2ViUlRDTmV0d29yazo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKTsKKyNlbmRpZgorICAg
IG1fY29ubmVjdGlvbiA9IFdURk1vdmUoY29ubmVjdGlvbik7CisjaWYgVVNFKExJQldFQlJUQykK
KyAgICBpZiAobV9jb25uZWN0aW9uKQorICAgICAgICBtX2Nvbm5lY3Rpb24tPmFkZFRocmVhZE1l
c3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLCB0aGlzKTsKKyNlbmRpZgorfQorCitib29sIExpYldlYlJUQ05ldHdvcms6OmlzQWN0
aXZlKCkgY29uc3QKK3sKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIHJldHVybiBXZWJDb3JlOjpM
aWJXZWJSVENQcm92aWRlcjo6aGFzV2ViUlRDVGhyZWFkcygpOworI2Vsc2UKKyAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKK30KKwordm9pZCBMaWJXZWJSVENOZXR3b3JrOjpkaXNwYXRjaFRvVGhy
ZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKK3sKKyAgICBpZiAoIWlzQWN0aXZlKCkp
IHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiUmVjZWl2ZWQgV2ViUlRDU29j
a2V0IG1lc3NhZ2Ugd2hpbGUgbGliV2ViUlRDTmV0d29yayBpcyBub3QgYWN0aXZlIik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIFdlYkNvcmU6Okxp
YldlYlJUQ1Byb3ZpZGVyOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFdURk1vdmUoY2FsbGJh
Y2spKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKKyNlbmRpZgorfQorCisj
aWYgVVNFKExJQldFQlJUQykKK3ZvaWQgTGliV2ViUlRDTmV0d29yazo6c2lnbmFsQWRkcmVzc1Jl
YWR5KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3Qg
UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcykKK3sKKyAgICBpZiAoYXV0byogc29j
a2V0ID0gbV9zb2NrZXRGYWN0b3J5LnNvY2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgc29ja2V0
LT5zaWduYWxBZGRyZXNzUmVhZHkoYWRkcmVzcy52YWx1ZSk7Cit9CisKK3ZvaWQgTGliV2ViUlRD
TmV0d29yazo6c2lnbmFsUmVhZFBhY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyIGlkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgUlRD
TmV0d29yazo6SVBBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVz
dGFtcCkKK3sKKyAgICBpZiAoYXV0byogc29ja2V0ID0gbV9zb2NrZXRGYWN0b3J5LnNvY2tldChp
ZGVudGlmaWVyKSkKKyAgICAgICAgc29ja2V0LT5zaWduYWxSZWFkUGFja2V0KGRhdGEuZGF0YSgp
LCBkYXRhLnNpemUoKSwgcnRjOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MudmFsdWUsIHBvcnQpLCB0
aW1lc3RhbXApOworfQorCit2b2lkIExpYldlYlJUQ05ldHdvcms6OnNpZ25hbFNlbnRQYWNrZXQo
V2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBpbnQgcnRjUGFj
a2V0SUQsIGludDY0X3Qgc2VuZFRpbWVNcykKK3sKKyAgICBpZiAoYXV0byogc29ja2V0ID0gbV9z
b2NrZXRGYWN0b3J5LnNvY2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgc29ja2V0LT5zaWduYWxT
ZW50UGFja2V0KHJ0Y1BhY2tldElELCBzZW5kVGltZU1zKTsKK30KKwordm9pZCBMaWJXZWJSVENO
ZXR3b3JrOjpzaWduYWxDb25uZWN0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIg
aWRlbnRpZmllcikKK3sKKyAgICBpZiAoYXV0byogc29ja2V0ID0gbV9zb2NrZXRGYWN0b3J5LnNv
Y2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgc29ja2V0LT5zaWduYWxDb25uZWN0KCk7Cit9CisK
K3ZvaWQgTGliV2ViUlRDTmV0d29yazo6c2lnbmFsQ2xvc2UoV2ViQ29yZTo6TGliV2ViUlRDU29j
a2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBpbnQgZXJyb3IpCit7CisgICAgaWYgKGF1dG8qIHNv
Y2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgIHNvY2tl
dC0+c2lnbmFsQ2xvc2UoZXJyb3IpOworfQorCit2b2lkIExpYldlYlJUQ05ldHdvcms6OnNpZ25h
bE5ld0Nvbm5lY3Rpb24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlm
aWVyLCBXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG5ld1NvY2tldElkZW50aWZp
ZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MpCit7Cisg
ICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikp
CisgICAgICAgIHNvY2tldC0+c2lnbmFsTmV3Q29ubmVjdGlvbihtX3NvY2tldEZhY3RvcnkuY3Jl
YXRlTmV3Q29ubmVjdGlvblNvY2tldCgqc29ja2V0LCBuZXdTb2NrZXRJZGVudGlmaWVyLCByZW1v
dGVBZGRyZXNzLnZhbHVlKSk7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDTmV0d29yay5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ05ldHdvcmsuaAppbmRleCBkMWY0OWYwNjg4ZGU2YmQ0ZjcwZWFiNjQwMDMwNjE2MWEx
ODE5MTRmLi5iMWVmNDk2MjE4MDJhYzdiNDY0NzhhNzAxMjY2ZmVkZWZlMmM4ZWI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0
d29yay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVENOZXR3b3JrLmgKQEAgLTI1LDM1ICsyNSwzNSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lm
IFVTRShMSUJXRUJSVEMpCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkxpYldl
YlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorI2lu
Y2x1ZGUgIldlYk1ETlNSZWdpc3Rlci5oIgogI2luY2x1ZGUgIldlYlJUQ01vbml0b3IuaCIKICNp
bmNsdWRlICJXZWJSVENSZXNvbHZlci5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldC5oIgotI2Vu
ZGlmCi0KLSNpbmNsdWRlICJXZWJNRE5TUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNz
IExpYldlYlJUQ05ldHdvcmsgeworY2xhc3MgTGliV2ViUlRDTmV0d29yayA6IHB1YmxpYyBJUEM6
OkNvbm5lY3Rpb246OlRocmVhZE1lc3NhZ2VSZWNlaXZlciB7CiAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTGliV2ViUlRDTmV0d29yaygpID0gZGVmYXVsdDsKKyAg
ICB+TGliV2ViUlRDTmV0d29yaygpOwogCisgICAgdm9pZCBzZXRDb25uZWN0aW9uKFJlZlB0cjxJ
UEM6OkNvbm5lY3Rpb24+JiYpOwogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NDcmFzaGVkKCk7CiAK
ICAgICBib29sIGlzQWN0aXZlKCkgY29uc3Q7CiAKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworCiAjaWYgVVNFKExJQldFQlJUQykK
ICAgICBXZWJSVENNb25pdG9yJiBtb25pdG9yKCkgeyByZXR1cm4gbV93ZWJOZXR3b3JrTW9uaXRv
cjsgfQogICAgIExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIHNvY2tldEZhY3RvcnkoKSB7IHJldHVy
biBtX3NvY2tldEZhY3Rvcnk7IH0KIAogICAgIHZvaWQgZGlzYWJsZU5vbkxvY2FsaG9zdENvbm5l
Y3Rpb25zKCkgeyBzb2NrZXRGYWN0b3J5KCkuZGlzYWJsZU5vbkxvY2FsaG9zdENvbm5lY3Rpb25z
KCk7IH0KIAotICAgIFdlYlJUQ1NvY2tldCBzb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0
SWRlbnRpZmllciBpZGVudGlmaWVyKSB7IHJldHVybiBXZWJSVENTb2NrZXQoc29ja2V0RmFjdG9y
eSgpLCBpZGVudGlmaWVyKTsgfQogICAgIFdlYlJUQ1Jlc29sdmVyIHJlc29sdmVyKExpYldlYlJU
Q1Jlc29sdmVySWRlbnRpZmllciBpZGVudGlmaWVyKSB7IHJldHVybiBXZWJSVENSZXNvbHZlcihz
b2NrZXRGYWN0b3J5KCksIGlkZW50aWZpZXIpOyB9CiAjZW5kaWYKIApAQCAtNjIsNiArNjIsMTgg
QEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6CisjaWYgVVNFKExJQldFQlJUQykKKyAgICB2
b2lkIHNpZ25hbFJlYWRQYWNrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwg
Y29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwg
dWludDE2X3QgcG9ydCwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KFdlYkNv
cmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGludCwgaW50NjRfdCk7CisgICAgdm9pZCBz
aWduYWxBZGRyZXNzUmVhZHkoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwgY29u
c3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYpOworICAgIHZvaWQgc2lnbmFsQ29ubmVjdChX
ZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHNpZ25hbENsb3Nl
KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGludCk7CisgICAgdm9pZCBzaWdu
YWxOZXdDb25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0
SWRlbnRpZmllciwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJ
ZGVudGlmaWVyLCBjb25zdCBXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKKyNl
bmRpZgorCisgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXIKKyAg
ICB2b2lkIGRpc3BhdGNoVG9UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKKwogI2lm
IFVTRShMSUJXRUJSVEMpCiAgICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSBtX3NvY2tldEZhY3Rv
cnk7CiAgICAgV2ViUlRDTW9uaXRvciBtX3dlYk5ldHdvcmtNb25pdG9yOwpAQCAtNjksMjIgKzgx
LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBXZWJNRE5TUmVnaXN0ZXIg
bV9tZG5zUmVnaXN0ZXI7CiAjZW5kaWYKKyAgICBSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiBtX2Nv
bm5lY3Rpb247CiB9OwogCi1pbmxpbmUgdm9pZCBMaWJXZWJSVENOZXR3b3JrOjpuZXR3b3JrUHJv
Y2Vzc0NyYXNoZWQoKQotewotI2lmIFVTRShMSUJXRUJSVEMpCi0gICAgbV93ZWJOZXR3b3JrTW9u
aXRvci5uZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKTsKLSNlbmRpZgotfQotCi1pbmxpbmUgYm9vbCBM
aWJXZWJSVENOZXR3b3JrOjppc0FjdGl2ZSgpIGNvbnN0Ci17Ci0jaWYgVVNFKExJQldFQlJUQykK
LSAgICByZXR1cm4gV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6Omhhc1dlYlJUQ1RocmVhZHMo
KTsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi19Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbgpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45OTZkMWI2MmFjNmJhZDEzYzk2YzVhZmFlYTdjODEyNTEwMTBiYTQ0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05l
dHdvcmsubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzNCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gTGli
V2ViUlRDTmV0d29yayBOb3RSZWZDb3VudGVkIHsKKyAgICBTaWduYWxSZWFkUGFja2V0KFdlYkNv
cmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0SWRlbnRpZmllciwgSVBDOjpEYXRh
UmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzIGFkZHJlc3MsIHVp
bnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25hbFNlbnRQYWNrZXQoV2Vi
Q29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlmaWVyLCBpbnQgcGFj
a2V0U2l6ZSwgaW50NjRfdCB0aW1lc3RhbXApCisgICAgU2lnbmFsQWRkcmVzc1JlYWR5KFdlYkNv
cmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0SWRlbnRpZmllciwgV2ViS2l0OjpS
VENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIGFkZHJlc3MpCisgICAgU2lnbmFsQ29ubmVjdChXZWJD
b3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIHNvY2tldElkZW50aWZpZXIpCisgICAgU2ln
bmFsQ2xvc2UoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlm
aWVyLCBpbnQgZXJyb3IpCisgICAgU2lnbmFsTmV3Q29ubmVjdGlvbihXZWJDb3JlOjpMaWJXZWJS
VENTb2NrZXRJZGVudGlmaWVyIHNvY2tldElkZW50aWZpZXIsIFdlYkNvcmU6OkxpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIgbmV3U29ja2V0SWRlbnRpZmllciwgV2ViS2l0OjpSVENOZXR3b3JrOjpT
b2NrZXRBZGRyZXNzIHJlbW90ZUFkZHJlc3MpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ1NvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDU29ja2V0LmNwcAppbmRleCBiNWU0M2Y0NTZlYjMwZTAyZmYxZDM0ZDVjMTU3
MmYxMmE1MTM3Mzk5Li43YWVkNjQ1N2E4MzgxNTdiNzJiMDIzNzQwZDhkNzUyNDhiYTUyNjQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDU29ja2V0LmNwcApAQCAtODEsMTMgKzgxLDEzIEBAIHZvaWQgTGliV2ViUlRD
U29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRy
ZXNzKQogICAgIFNpZ25hbEFkZHJlc3NSZWFkeSh0aGlzLCBtX2xvY2FsQWRkcmVzcyk7CiB9CiAK
LXZvaWQgTGliV2ViUlRDU29ja2V0OjpzaWduYWxSZWFkUGFja2V0KGNvbnN0IFdlYkNvcmU6OlNo
YXJlZEJ1ZmZlciYgYnVmZmVyLCBydGM6OlNvY2tldEFkZHJlc3MmJiBhZGRyZXNzLCBpbnQ2NF90
IHRpbWVzdGFtcCkKK3ZvaWQgTGliV2ViUlRDU29ja2V0OjpzaWduYWxSZWFkUGFja2V0KGNvbnN0
IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBzaXplLCBydGM6OlNvY2tldEFkZHJlc3MmJiBhZGRyZXNz
LCBpbnQ2NF90IHRpbWVzdGFtcCkKIHsKICAgICBpZiAobV9pc1N1c3BlbmRlZCkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgbV9yZW1vdGVBZGRyZXNzID0gV1RGTW92ZShhZGRyZXNzKTsKLSAgICBT
aWduYWxSZWFkUGFja2V0KHRoaXMsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCksIG1fcmVt
b3RlQWRkcmVzcywgdGltZXN0YW1wKTsKKyAgICBTaWduYWxSZWFkUGFja2V0KHRoaXMsIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGRhdGEpLCBzaXplLCBtX3JlbW90ZUFkZHJlc3MsIHRp
bWVzdGFtcCk7CiB9CiAKIHZvaWQgTGliV2ViUlRDU29ja2V0OjpzaWduYWxTZW50UGFja2V0KGlu
dCBydGNQYWNrZXRJRCwgaW50NjRfdCBzZW5kVGltZU1zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oCmluZGV4
IDNmZDFjZTE3ODBhOWFjNmU1MjU1NzZjMzA0ZGVlNTA0YTc0NTU5NTIuLmIyZThlY2M3OThmOTEz
ZTZjOTI2YmQ3MjM1ZjMzMTk2ODViNTliMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmgKQEAgLTM5LDEw
ICszOSw2IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7CiBjbGFzcyBEZWNvZGVyOwogfQogCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBTaGFyZWRCdWZmZXI7Ci19Ci0KIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBjbGFzcyBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OwpAQCAtNjksOCArNjUsOCBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIGJvb2wgd2lsbFNlbmQoc2l6ZV90KTsKIAotICAgIGZyaWVu
ZCBjbGFzcyBXZWJSVENTb2NrZXQ7Ci0gICAgdm9pZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IFdl
YkNvcmU6OlNoYXJlZEJ1ZmZlciYsIHJ0Yzo6U29ja2V0QWRkcmVzcyYmLCBpbnQ2NF90KTsKKyAg
ICBmcmllbmQgY2xhc3MgTGliV2ViUlRDTmV0d29yazsKKyAgICB2b2lkIHNpZ25hbFJlYWRQYWNr
ZXQoY29uc3QgdWludDhfdCosIHNpemVfdCwgcnRjOjpTb2NrZXRBZGRyZXNzJiYsIGludDY0X3Qp
OwogICAgIHZvaWQgc2lnbmFsU2VudFBhY2tldChpbnQsIGludDY0X3QpOwogICAgIHZvaWQgc2ln
bmFsQWRkcmVzc1JlYWR5KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpOwogICAgIHZvaWQgc2ln
bmFsQ29ubmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwCmluZGV4IGZm
MDE3MTM5ZjI2Mjk3ZjdjNWJlNTUzYTMzZGY1MzBlYzZkNTBlNjkuLmE4ZGE3Y2M5YWU4MDRmZTlj
Mjg4YmVmMmQ1M2U2NWYyMzZhZGM4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9y
eS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJOZXR3b3JrUlRDTW9uaXRvck1lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRl
ICJXZWJQcm9jZXNzLmgiCi0jaW5jbHVkZSAiV2ViUlRDU29ja2V0LmgiCiAjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3BwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ODI5M2JjY2ZiOWYyZDliYzJmNjViMDQ3OWNiNGQ1
OGI4YzZmOWY2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViUlRDU29ja2V0LmgiCi0KLSNpZiBVU0UoTElCV0VCUlRD
KQotCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tl
dC5oIgotI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCIKLSNpbmNsdWRlICJOZXR3
b3JrUlRDU29ja2V0TWVzc2FnZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5o
PgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwotCi12b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsT25OZXR3b3Jr
VGhyZWFkKExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIGZhY3RvcnksIExpYldlYlJUQ1NvY2tldElk
ZW50aWZpZXIgaWRlbnRpZmllciwgRnVuY3Rpb248dm9pZChMaWJXZWJSVENTb2NrZXQmKT4mJiBj
YWxsYmFjaykKLXsKLSAgICAvLyBmYWN0b3J5IGlzIHN0YXlpbmcgdmFsaWQgZHVyaW5nIHRoZSBw
cm9jZXNzIGxpZmV0aW1lLgotICAgIFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyOjpjYWxsT25X
ZWJSVENOZXR3b3JrVGhyZWFkKFsmZmFjdG9yeSwgaWRlbnRpZmllciwgY2FsbGJhY2sgPSBXVEZN
b3ZlKGNhbGxiYWNrKV0oKSB7Ci0gICAgICAgIGF1dG8qIHNvY2tldCA9IGZhY3Rvcnkuc29ja2V0
KGlkZW50aWZpZXIpOwotICAgICAgICBpZiAoIXNvY2tldCkKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgY2FsbGJhY2soKnNvY2tldCk7Ci0gICAgfSk7Ci19Ci0KLVdlYlJUQ1NvY2tldDo6
V2ViUlRDU29ja2V0KExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIGZhY3RvcnksIExpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIgaWRlbnRpZmllcikKLSAgICA6IG1fZmFjdG9yeShmYWN0b3J5KQotICAg
ICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCi17Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0Ojpz
aWduYWxBZGRyZXNzUmVhZHkoY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYgYWRkcmVz
cykKLXsKLSAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIs
IFthZGRyZXNzXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgewotICAgICAgICBzb2NrZXQuc2ln
bmFsQWRkcmVzc1JlYWR5KGFkZHJlc3MudmFsdWUpOwotICAgIH0pOwotfQotCi12b2lkIFdlYlJU
Q1NvY2tldDo6c2lnbmFsUmVhZFBhY2tldChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEs
IGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50
NjRfdCB0aW1lc3RhbXApCi17Ci0gICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZm
ZXI6OmNyZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOwotICAgIHNpZ25hbE9uTmV0d29y
a1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW2J1ZmZlciA9IFdURk1vdmUoYnVmZmVy
KSwgYWRkcmVzcywgcG9ydCwgdGltZXN0YW1wXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgewot
ICAgICAgICBzb2NrZXQuc2lnbmFsUmVhZFBhY2tldChidWZmZXIuZ2V0KCksIHJ0Yzo6U29ja2V0
QWRkcmVzcyhhZGRyZXNzLnZhbHVlLCBwb3J0KSwgdGltZXN0YW1wKTsKLSAgICB9KTsKLX0KLQot
dm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQoaW50IHJ0Y1BhY2tldElELCBpbnQ2
NF90IHNlbmRUaW1lTXMpCi17Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwg
bV9pZGVudGlmaWVyLCBbcnRjUGFja2V0SUQsIHNlbmRUaW1lTXNdKGF1dG8mIHNvY2tldCkgewot
ICAgICAgICBzb2NrZXQuc2lnbmFsU2VudFBhY2tldChydGNQYWNrZXRJRCwgc2VuZFRpbWVNcyk7
Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxDb25uZWN0KCkKLXsKLSAg
ICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtdKGF1dG8m
IHNvY2tldCkgewotICAgICAgICBzb2NrZXQuc2lnbmFsQ29ubmVjdCgpOwotICAgIH0pOwotfQot
Ci12b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsQ2xvc2UoaW50IGVycm9yKQotewotICAgIHNpZ25h
bE9uTmV0d29ya1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW2Vycm9yXShhdXRvJiBz
b2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbENsb3NlKGVycm9yKTsKLSAgICB9KTsKLX0K
LQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbE5ld0Nvbm5lY3Rpb24oTGliV2ViUlRDU29ja2V0
SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBSVENOZXR3b3JrOjpTb2NrZXRB
ZGRyZXNzJiByZW1vdGVBZGRyZXNzKQotewotICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZChtX2Zh
Y3RvcnksIG1faWRlbnRpZmllciwgW25ld1NvY2tldElkZW50aWZpZXIsIHJlbW90ZUFkZHJlc3Mg
PSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkocmVtb3RlQWRkcmVzcy52YWx1ZSldKGF1dG8mIHNv
Y2tldCkgewotICAgICAgICBzb2NrZXQuc2lnbmFsTmV3Q29ubmVjdGlvbihzb2NrZXQubV9mYWN0
b3J5LmNyZWF0ZU5ld0Nvbm5lY3Rpb25Tb2NrZXQoc29ja2V0LCBuZXdTb2NrZXRJZGVudGlmaWVy
LCByZW1vdGVBZGRyZXNzKSk7Ci0gICAgfSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAot
Ci0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNTdlMThkZmUzMDM4ZmNlN2U3MmFiNDllZmU4YTI4NzBiNGY5ODJmYy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmgKKysrIC9kZXYvbnVsbApA
QCAtMSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBVU0UoTElC
V0VCUlRDKQotCi0jaW5jbHVkZSAiUlRDTmV0d29yay5oIgotI2luY2x1ZGUgPFdlYkNvcmUvTGli
V2ViUlRDU29ja2V0SWRlbnRpZmllci5oPgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgotCi1u
YW1lc3BhY2UgSVBDIHsKLWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwot
Y2xhc3MgRGVjb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIExpYldlYlJU
Q1NvY2tldDsKLWNsYXNzIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk7Ci0KLWNsYXNzIFdlYlJUQ1Nv
Y2tldCB7Ci1wdWJsaWM6Ci0gICAgV2ViUlRDU29ja2V0KExpYldlYlJUQ1NvY2tldEZhY3Rvcnkm
LCBXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyKTsKLQotICAgIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7Ci0KLSAgICBzdGF0
aWMgdm9pZCBzaWduYWxPbk5ldHdvcmtUaHJlYWQoTGliV2ViUlRDU29ja2V0RmFjdG9yeSYsIFdl
YkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIEZ1bmN0aW9uPHZvaWQoTGliV2ViUlRD
U29ja2V0Jik+JiYpOwotCi1wcml2YXRlOgotICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCB1aW50
MTZfdCBwb3J0LCBpbnQ2NF90KTsKLSAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQoaW50LCBpbnQ2
NF90KTsKLSAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBSVENOZXR3b3JrOjpTb2Nr
ZXRBZGRyZXNzJik7Ci0gICAgdm9pZCBzaWduYWxDb25uZWN0KCk7Ci0gICAgdm9pZCBzaWduYWxD
bG9zZShpbnQpOwotICAgIHZvaWQgc2lnbmFsTmV3Q29ubmVjdGlvbihXZWJDb3JlOjpMaWJXZWJS
VENTb2NrZXRJZGVudGlmaWVyIG5ld1NvY2tldElkZW50aWZpZXIsIGNvbnN0IFdlYktpdDo6UlRD
TmV0d29yazo6U29ja2V0QWRkcmVzcyYpOwotCi0gICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSYg
bV9mYWN0b3J5OwotICAgIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbV9pZGVu
dGlmaWVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBVU0UoTElC
V0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGY1OWQwY2VkMWI2Y2JkZDM3NmEzMGJmNjUyNDZlZDcxMGEyODZhNGIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbgorKysg
L2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBh
cmUgbWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotIyBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
Ci0jIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSMgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLQotI2lmIFVTRShMSUJXRUJSVEMpCi0KLW1lc3NhZ2VzIC0+IFdlYlJUQ1NvY2tl
dCBOb3RSZWZDb3VudGVkIHsKLSAgICBTaWduYWxSZWFkUGFja2V0KElQQzo6RGF0YVJlZmVyZW5j
ZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBhZGRyZXNzLCB1aW50MTZfdCBw
b3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKLSAgICBTaWduYWxTZW50UGFja2V0KGludCBwYWNrZXRT
aXplLCBpbnQ2NF90IHRpbWVzdGFtcCkKLSAgICBTaWduYWxBZGRyZXNzUmVhZHkoV2ViS2l0OjpS
VENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIGFkZHJlc3MpCi0gICAgU2lnbmFsQ29ubmVjdCgpCi0g
ICAgU2lnbmFsQ2xvc2UoaW50IGVycm9yKQotICAgIFNpZ25hbE5ld0Nvbm5lY3Rpb24oV2ViQ29y
ZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlmaWVyLCBXZWJLaXQ6
OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MgcmVtb3RlQWRkcmVzcykKLX0KLQotI2VuZGlmIC8v
IFVTRShMSUJXRUJSVEMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398489</attachid>
            <date>2020-05-05 01:18:07 -0700</date>
            <delta_ts>2020-05-05 02:53:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-211290-20200505101805.patch</filename>
            <type>text/plain</type>
            <size>49226</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJhZmM1N2M3ODk2ZWM3Nzlh
OTg1ZGE5NjQxNzEwMTQ2N2Y2MGVkMjUuLjJhMWRiYjVjMTdlZmYzOWIzZjg3ZmYxN2FjYWJjMjQy
YmQ3OGRjYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMjAtMDUtMDEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlY2VpdmluZyBXZWJSVEMgbmV0
d29yayBwYWNrZXRzIHNob3VsZCBub3QgZ28gdGhyb3VnaCB0aGUgbWFpbiB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTI5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgSW5zdGVhZCBvZiBn
b2luZyB0byBtYWluIHRocmVhZCBiZWZvcmUgZ29pbmcgdG8gcnRjIG5ldHdvcmsgdGhyZWFkLCB3
ZSByZWdpc3RlciBhIG1lc3NhZ2UgcmVjZWl2ZXIgYW5kIGRpc3BhdGNoIGRpcmVjdGx5IHRvIHJ0
YyBuZXR3b3JrIHRocmVhZC4KKyAgICAgICAgVGhpcyBlbnN1cmVzIHJ0YyBwYWNrZXRzIGFyZSBu
b3QgYmxvY2tlZCBpZiBtYWluIHRocmVhZCBpcyBidXN5LgorCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJlYWRQYWNrZXQpOgorICAgICAg
ICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAg
ICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbEFkZHJlc3NSZWFkeSk6
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQ29ubmVjdCk6
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQ2xvc2UpOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNvY2tldCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU2VydmVyVENQU29ja2V0KToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BTb2Nr
ZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6Om5ld0Nvbm5lY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlTGlzdGVuaW5nU29j
a2V0cyk6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbjo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmNwcDogQWRkZWQKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaDoKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDTmV0d29yazo6Y29ubmVjdGlvbik6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ05ldHdvcms6On5MaWJXZWJSVENOZXR3b3JrKToKKyAgICAgICAgKFdlYktp
dDo6TGliV2ViUlRDTmV0d29yazo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDTmV0d29yazo6c2V0Q29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OkxpYldlYlJUQ05ldHdvcms6OmRpc3BhdGNoVG9UaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENOZXR3b3JrOjpzaWduYWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENOZXR3b3JrOjpzaWduYWxSZWFkUGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDTmV0d29yazo6c2lnbmFsU2VudFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ05ldHdvcms6OnNpZ25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENO
ZXR3b3JrOjpzaWduYWxDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ05ldHdvcms6
OnNpZ25hbE5ld0Nvbm5lY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5oOiBSZW1vdmVk
LgorCiAyMDIwLTA1LTAxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBNb3ZlIGZvY3VzIG91dCBvZiB0aGUgd2ViIHZpZXcgd2hlbiB0
YWIgaXMgcHJlc3NlZCBhbmQgdGhlcmUgaXNuJ3QgYSBuZXh0IGVsZW1lbnQgdG8gZm9jdXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0L0NN
YWtlTGlzdHMudHh0CmluZGV4IGRhZWNkODZjNzRjODQxMGE1NjY4MDY3MGFmZTZlMzkxY2M0NjIy
NTYuLjM3N2FiNDA2YTRmZDI5NjU1ZmNhZWE0ZGZkZTAwMTgyMTRmYmYxN2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9DTWFrZUxp
c3RzLnR4dApAQCAtMjM0LDEwICsyMzQsMTAgQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxF
UwogICAgIFdlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXIubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSS5t
ZXNzYWdlcy5pbgogCisgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3
b3JrLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJNRE5TUmVn
aXN0ZXIubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01v
bml0b3IubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jl
c29sdmVyLm1lc3NhZ2VzLmluCi0gICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENT
b2NrZXQubWVzc2FnZXMuaW4KIAogICAgIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAppbmRleCA4YmRiNTFhMTZkMzk4ODk3M2Q4M2RiNzE1NzdlZjk4NWUzZmRl
YmZmLi5hZDk5ZDMzNTYyN2RkMWE3Mzc5YzI3OGZhYzg5YjdjZDFiMTQ5NjRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNDAsMTAgKzE0
MCwxMCBAQCAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJTb2NrZXRDaGFubmVsLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElS
KS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTUROU1JlZ2lzdGVy
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dl
YlJUQ01vbml0b3IubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9ESVIpL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1Rf
RElSKS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBkMTAwNDYzMzlmZTRj
MzY5NDkyNmE4NzhhMmViMWNkMDhiMTcwODBkLi5hMjVmNTYwOGNiNTQ1YWEzMTk0MjAxOTY5Mzhm
ZDQzMTliM2MwZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKQEAgLTU3LDYgKzU3LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDQ29kZWNzTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ0NvZGVjc1By
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENDb2RlY3NQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9MaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDTmV0d29ya01lc3NhZ2VzLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdv
cmtNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvTGliV2ViUlRDUmVtb3RlQ29kZWNzTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDUmVtb3RlQ29k
ZWNzTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvTGliV2ViUlRDUmVtb3RlQ29kZWNzTWVzc2FnZXNSZXBsaWVzLmgKQEAgLTM4NCw5ICszODcs
NiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENN
b25pdG9yTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDUmVzb2x2ZXJNZXNzYWdl
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENS
ZXNvbHZlck1lc3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwCi0kKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENTb2NrZXRNZXNzYWdlcy5o
Ci0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENTb2Nr
ZXRNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSZXNvdXJjZUxvYWRlck1lc3Nh
Z2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJl
c291cmNlTG9hZGVyTWVzc2FnZXNSZXBsaWVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBlNDVkYTg5M2Q5YTdjOWVjNmExNzcxOTJlY2YwNjcyY2UzNTBkZDZiLi5mMWVhMWYxMDBk
NDBhY2ZjODllZTJhODQ1Y2UyMTJjNjU1M2U1ZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0xMjksNiArMTI5LDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgXAogICAgIExpYldlYlJUQ0NvZGVjcyBcCiAgICAg
TGliV2ViUlRDQ29kZWNzUHJveHkgXAorICAgIExpYldlYlJUQ05ldHdvcmsgXAogICAgIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZSBcCiAgICAgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIgXAogICAg
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIFwKQEAgLTIyOCw3ICsyMjksNiBAQCBNRVNT
QUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJQcm9jZXNzUHJveHkgXAogICAgIFdlYlJUQ01vbml0
b3IgXAogICAgIFdlYlJUQ1Jlc29sdmVyIFwKLSAgICBXZWJSVENTb2NrZXQgXAogICAgIFdlYlJl
c291cmNlTG9hZGVyIFwKICAgICBXZWJTV0NsaWVudENvbm5lY3Rpb24gXAogICAgIFdlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCmluZGV4IGMx
ZDVjYmI3ZGVhMTg5M2MxMDU1ZTU4NGVhMjRjYThjZDI1ZGE0MWMuLjM1MmZmZDRmMGY1OWQ4MzFi
NzRmMmM3MmFhZTc1M2EzZDJlMjI5MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcApAQCAt
MzAsOSArMzAsOSBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENOZXR3b3JrTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyLmgiCi0jaW5jbHVk
ZSAiV2ViUlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZl
ci5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogCkBAIC0xMDAsNyArMTAwLDcgQEAgdm9p
ZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3luY1BhY2tl
dFNvY2tldCogc29ja2V0LCBjb24KICAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKHZhbHVlLCBsZW5ndGgpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21N
YWluVGhyZWFkKFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1
ZmZlciksIGFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkoYWRkcmVzcyksIHBhY2tl
dFRpbWVdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewogICAgICAgICBJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXItPmRh
dGEoKSksIGJ1ZmZlci0+c2l6ZSgpKTsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2Vz
OjpXZWJSVENTb2NrZXQ6OlNpZ25hbFJlYWRQYWNrZXQoZGF0YSwgUlRDTmV0d29yazo6SVBBZGRy
ZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZSksIGlkZW50
aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdv
cms6OlNpZ25hbFJlYWRQYWNrZXQoaWRlbnRpZmllciwgZGF0YSwgUlRDTmV0d29yazo6SVBBZGRy
ZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZSksIDApOwog
ICAgIH0pOwogfQogCkBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGll
bnQ6OnNpZ25hbFNlbnRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCogc29ja2V0LCBjb24K
IHsKICAgICBBU1NFUlRfVU5VU0VEKHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0KTsK
ICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IG1faWRl
bnRpZmllciwgc2VudFBhY2tldF0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0gICAg
ICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxTZW50UGFj
a2V0KHNlbnRQYWNrZXQucGFja2V0X2lkLCBzZW50UGFja2V0LnNlbmRfdGltZV9tcyksIGlkZW50
aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdv
cms6OlNpZ25hbFNlbnRQYWNrZXQoaWRlbnRpZmllciwgc2VudFBhY2tldC5wYWNrZXRfaWQsIHNl
bnRQYWNrZXQuc2VuZF90aW1lX21zKSwgMCk7CiAgICAgfSk7CiB9CiAKQEAgLTEyMiw3ICsxMjIs
NyBAQCB2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQWRkcmVzc1JlYWR5KHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqIHNvY2tldCwgYwogewogICAgIEFTU0VSVF9VTlVTRUQoc29ja2V0
LCBtX3NvY2tldC5nZXQoKSA9PSBzb2NrZXQpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21N
YWluVGhyZWFkKFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCBhZGRyZXNzID0gUlRDTmV0d29y
azo6aXNvbGF0ZWRDb3B5KGFkZHJlc3MpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsK
LSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbEFk
ZHJlc3NSZWFkeShSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MpKSwgaWRlbnRpZmll
cik7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6
U2lnbmFsQWRkcmVzc1JlYWR5KGlkZW50aWZpZXIsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3Mo
YWRkcmVzcykpLCAwKTsKICAgICB9KTsKIH0KIApAQCAtMTM1LDcgKzEzNSw3IEBAIHZvaWQgTGli
V2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxDb25uZWN0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQq
IHNvY2tldCkKIHsKICAgICBBU1NFUlRfVU5VU0VEKHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0g
c29ja2V0KTsKICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmll
ciA9IG1faWRlbnRpZmllcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0gICAgICAg
IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxDb25uZWN0KCks
IGlkZW50aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJU
Q05ldHdvcms6OlNpZ25hbENvbm5lY3QoaWRlbnRpZmllciksIDApOwogICAgIH0pOwogfQogCkBA
IC0xNDMsNyArMTQzLDcgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENsb3Nl
KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIHNvY2tldCwgaW50IGVycm8KIHsKICAgICBBU1NFUlRf
VU5VU0VEKHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0KTsKICAgICBtX3J0Y1Byb3Zp
ZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllciwgZXJyb3Jd
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLnNlbmQo
TWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoZXJyb3IpLCBpZGVudGlmaWVyKTsK
KyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWdu
YWxDbG9zZShpZGVudGlmaWVyLCBlcnJvciksIDApOwogICAgIH0pOwogICAgIC8vIFdlIHdhbnQg
dG8gcmVtb3ZlICd0aGlzJyBmcm9tIHRoZSBzb2NrZXQgbWFwIG5vdyBidXQgd2Ugd2lsbCBkZXN0
cm95IGl0IGFzeW5jaHJvbm91c2x5CiAgICAgLy8gc28gdGhhdCB0aGUgc29ja2V0IHBhcmFtZXRl
ciBvZiBzaWduYWxDbG9zZSByZW1haW5zIGFsaXZlIGFzIHRoZSBjYWxsZXIgb2Ygc2lnbmFsQ2xv
c2UgbWF5IGFjdHVhbGx5IGJlaW5nIHVzaW5nIGl0IGFmdGVyd2FyZHMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcAppbmRleCBhMmJjYzZiNzUyMmIyMWNmMmE4ODVkM2JmNzIyMGRjOTJlOGEzM2I5Li4yYTAw
NWFmMDdjZjE3NzMxYmNjMzJhODkxYWQ2OTc3NjgyMGNkZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJM
aWJXZWJSVENOZXR3b3JrTWVzc2FnZXMuaCIKICNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRDbGll
bnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCIKQEAgLTM1LDcgKzM2LDYgQEAKICNpbmNsdWRlICJOZXR3b3JrUlRDUmVz
b2x2ZXIuaCIKICNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0LmgiCiAjaW5jbHVkZSAiV2ViUlRD
UmVzb2x2ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaD4KICNpbmNsdWRlIDx3ZWJydGMvcnRj
X2Jhc2UvYXN5bmNfcGFja2V0X3NvY2tldC5oPgogI2luY2x1ZGUgPHdlYnJ0Yy9ydGNfYmFzZS9s
b2dnaW5nLmg+CkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNy
ZWF0ZVNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDoKICAg
ICBpZiAoIXNvY2tldCkgewogICAgICAgICBzZW5kRnJvbU1haW5UaHJlYWQoW3RoaXMsIGlkZW50
aWZpZXIsIHNpemUgPSBtX3NvY2tldHMuc2l6ZSgpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24pIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImNyZWF0ZVNv
Y2tldCB3aXRoICV1IHNvY2tldHMgaXMgdW5hYmxlIHRvIGNyZWF0ZSBhIG5ldyBzb2NrZXQiLCBz
aXplKTsKLSAgICAgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0
OjpTaWduYWxDbG9zZSgxKSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICBjb25uZWN0aW9uLnNl
bmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIDEp
LCAwKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzcsNyArMTM3
LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNlcnZlclRDUFNvY2tldChMaWJX
ZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWYKIHsKICAgICBpZiAoIW1faXNMaXN0ZW5pbmdT
b2NrZXRBdXRob3JpemVkKSB7CiAgICAgICAgIGlmIChtX2Nvbm5lY3Rpb24pCi0gICAgICAgICAg
ICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6
OlNpZ25hbENsb3NlKDEpLCBpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3Nl
KGlkZW50aWZpZXIsIDEpLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTU4LDcg
KzE1OCw3IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQo
TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmCiB7CiAgICAgYXV0byogc2Vzc2lvbiA9
IG1fY29ubmVjdGlvbi0+bmV0d29ya1Nlc3Npb24oKTsKICAgICBpZiAoIXNlc3Npb24pIHsKLSAg
ICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUlRDU29j
a2V0OjpTaWduYWxDbG9zZSgxKSwgaWRlbnRpZmllcik7CisgICAgICAgIG1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3Nl
KGlkZW50aWZpZXIsIDEpLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjYWxsT25S
VENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3MgPSBSVENOZXR3
b3JrOjppc29sYXRlZENvcHkobG9jYWxBZGRyZXNzLnZhbHVlKSwgcmVtb3RlQWRkcmVzcyA9IFJU
Q05ldHdvcms6Omlzb2xhdGVkQ29weShyZW1vdGVBZGRyZXNzLnZhbHVlKSwgcHJveHlJbmZvID0g
cHJveHlJbmZvRnJvbVNlc3Npb24ocmVtb3RlQWRkcmVzcywgKnNlc3Npb24pLCB1c2VyQWdlbnQg
PSBXVEZNb3ZlKHVzZXJBZ2VudCkuaXNvbGF0ZWRDb3B5KCksIG9wdGlvbnNdKCkgewpAQCAtMTkz
LDcgKzE5Myw3IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpuZXdDb25uZWN0aW9uKFNvY2tl
dCYgc2VydmVyU29ja2V0LCBzdGQ6OnVuaXF1ZV9wdHI8cnRjCiB7CiAgICAgYXV0byBpbmNvbWlu
Z1NvY2tldElkZW50aWZpZXIgPSBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyOjpnZW5lcmF0ZSgp
OwogICAgIHNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IHNlcnZlclNvY2tldC5pZGVu
dGlmaWVyKCksIGluY29taW5nU29ja2V0SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcyA9IFJUQ05l
dHdvcms6Omlzb2xhdGVkQ29weShuZXdTb2NrZXQtPkdldFJlbW90ZUFkZHJlc3MoKSldKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2Fn
ZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsTmV3Q29ubmVjdGlvbihpbmNvbWluZ1NvY2tldElkZW50
aWZpZXIsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MocmVtb3RlQWRkcmVzcykpLCBpZGVudGlm
aWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3Jr
OjpTaWduYWxOZXdDb25uZWN0aW9uKGlkZW50aWZpZXIsIGluY29taW5nU29ja2V0SWRlbnRpZmll
ciwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyhyZW1vdGVBZGRyZXNzKSksIDApOwogICAgIH0p
OwogICAgIG1fcGVuZGluZ0luY29taW5nU29ja2V0cy5hZGQoaW5jb21pbmdTb2NrZXRJZGVudGlm
aWVyLCBXVEZNb3ZlKG5ld1NvY2tldCkpOwogfQpAQCAtMjY0LDcgKzI2NCw3IEBAIHZvaWQgTmV0
d29ya1JUQ1Byb3ZpZGVyOjpjbG9zZUxpc3RlbmluZ1NvY2tldHMoRnVuY3Rpb248dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3ZpZGVyID0gbWFr
ZVJlZigqdGhpcyksIGxpc3RlbmluZ1NvY2tldElkZW50aWZpZXJzID0gV1RGTW92ZShsaXN0ZW5p
bmdTb2NrZXRJZGVudGlmaWVycyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcildIHsKICAgICAgICAgICAgIGlmIChwcm92aWRlci0+bV9jb25uZWN0aW9uKSB7
CiAgICAgICAgICAgICAgICAgZm9yIChhdXRvIGlkZW50aWZpZXIgOiBsaXN0ZW5pbmdTb2NrZXRJ
ZGVudGlmaWVycykKLSAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXItPm1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoRUNP
Tk5BQk9SVEVEKSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyLT5t
X2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3Jr
OjpTaWduYWxDbG9zZShpZGVudGlmaWVyLCBFQ09OTkFCT1JURUQpLCAwKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIH0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKaW5kZXggYWQwMTZiZWU1N2QyZDFjOWQ4ZTgyNjdjZjExODFiN2E4ODMzYTM5YS4uODk0MzRi
NTRjZGU4YTE4YTg3Yzc1NTIzOGZmZmIwYzBjMmEzNzJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC01ODks
NiArNTg5LDcgQEAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmNw
cAogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmNwcAogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAKIAorV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENOZXR3b3JrLmNwcAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQ
cm92aWRlci5jcHAKIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIu
Y3BwCiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTU5
Niw3ICs1OTcsNiBAQCBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZh
Y3RvcnkuY3BwCiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk1ETlNSZWdpc3Rlci5jcHAK
IFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKIFdlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuY3BwCi1XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYlJUQ1NvY2tldC5jcHAKIAogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTBmMDQyYWQwMzZhZmYzYzNiMGQ5NGRmYjUx
Nzk2MjMxMTI3MmY1ZS4uZThlOWJjMDJjNTNmZTY5OTc4YjE5NTg2ZDA5YjczNTZhMWUxNDJjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xMDc0LDcgKzEwNzQsNyBAQAogCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5k
bGVET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRv
d0V4dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxRjA2MEUwMTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYw
NjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovOyB9
OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLzsgfTsKLQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1Nv
Y2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIExp
YldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIExpYldl
YlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBG
MzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTUx
RjA2MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYw
NjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CkBAIC0zNDI5LDYgKzM0MjksOCBAQAogCQk0MTU3RTRBRjIwRTJF
Qzk4MDBBNkMwRDcgLyogY29tLmdvb2dsZS5vMWRicm93c2VycGx1Z2luLnNiICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE1ODY0OUEyM0JFMDkyNDAwQTBBNjFFIC8qIFJUQ0VuY29kZXJJ
ZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0VuY29kZXJJ
ZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkNENzQ1MjNGQjE3
OEIwMDY2MUQ5OSAvKiBNRE5TUmVnaXN0ZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IE1ETlNSZWdpc3RlcklkZW50aWZpZXIuaDsgcGF0aCA9IE5ldHdvcmsv
d2VicnRjL01ETlNSZWdpc3RlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDE2RjgwODYyNDVCMzk3NDAwQjY4RjAyIC8qIExpYldlYlJUQ05ldHdvcmsubWVzc2Fn
ZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5p
bjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxNkY4MDg5MjQ1QzdGRjUwMEI2OEYwMiAvKiBM
aWJXZWJSVENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IExpYldlYlJUQ05ldHdvcmsuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0
d29yay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzIxOTg5MjNCNjEyODIw
MEFFNTY4NiAvKiBMaWJXZWJSVENDb2RlY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGliV2ViUlRDQ29kZWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
NzIxOThBMjNCNjEyODIwMEFFNTY4NiAvKiBMaWJXZWJSVENDb2RlY3MuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGliV2ViUlRDQ29kZWNzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3MjE5OEMyM0I2MTJFODAwQUU1Njg2IC8qIFJUQ0RlY29k
ZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0RlY29k
ZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zODExLDcgKzM4
MTMsNyBAQAogCQk1MUU4QjY4RDFFNzEyODczMDAxQjcxMzIgLyogV2ViVVJMU2NoZW1lVGFzay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJVUkxTY2hlbWVUYXNr
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFFOTQ5OTYxRDc2MUNDNzAwRUM5
RUI5IC8qIFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gVUlHYW1lcGFkUHJvdmlkZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJl
c291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKLQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSVENTb2NrZXRNZXNzYWdl
UmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENTb2NrZXRN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
CQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNl
aXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDTmV0d29ya01l
c3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ01vbml0b3JN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owog
CQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNw
cDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNl
aXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC03NTg1LDcg
Kzc1ODcsOSBAQAogCQk0MTMwNzU5RTFERTg1RTY1MDAzOUVDNjkgLyogd2VicnRjICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTZGODA4OTI0NUM3RkY1
MDBCNjhGMDIgLyogTGliV2ViUlRDTmV0d29yay5jcHAgKi8sCiAJCQkJNDExQjIyNjIxRTM3MTI0
NDAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCAqLywKKwkJCQk0MTZGODA4NjI0NUIzOTc0
MDBCNjhGMDIgLyogTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbiAqLywKIAkJCQk0MTMwNzVB
NzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovLAogCQkJCTQxMzA3
NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovLAogCQkJCTQxRkFG
NUY3MUUzQzBCNDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5jcHAgKi8sCkBAIC05OTgz
LDYgKzk5ODcsNyBAQAogCQkJCTI5ODRGNTg3MTY0QkEwOTUwMDRCQzBDNiAvKiBMZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdlcy5oICovLAogCQkJCTI5ODRGNTdBMTY0QjkxNUYwMDRC
QzBDNiAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJMjk4NEY1N0IxNjRCOTE1RjAwNEJDMEM2IC8qIExlZ2FjeUN1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4
MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMDdFMTlF
RjgyM0Q0MDFGMDAwOTRGRkI0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCiAJCQkJMDdFMTlFRjkyM0Q0MDFGMDAwOTRGRkI0IC8qIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmggKi8sCiAJCQkJMDdFMTlFRkEyM0Q0MDFGMDAwOTRGRkI0
IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oICovLApAQCAtMTAx
ODQsNyArMTAxODksNiBAQAogCQkJCTUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VzLmggKi8sCiAJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8q
IFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxRjA2MEREMTY1NDMx
NzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJNDFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlNvY2tldENoYW5uZWxN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc2MUU3Qzg3OUMwMEU5MTIzQyAvKiBX
ZWJTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc3MUU3Qzg3
OUMwMEU5MTIzQyAvKiBXZWJTb2NrZXRTdHJlYW1NZXNzYWdlcy5oICovLApAQCAtMTI2ODksNiAr
MTI2OTMsNyBAQAogCQkJCTJEOTEzNDQyMjEyQ0Y5RjAwMDEyOEFGRCAvKiBKU05QT2JqZWN0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTI5ODRGNTg4MTY0QkEwOTUwMDRCQzBDNiAvKiBMZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMjk4NEY1N0MxNjRCOTE1RjAwNEJDMEM2IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1
NDMxODUwMEYzMjgxQyAvKiBMaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTQ0OUQ5MERBMjFGREMzMEIwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRp
Y2F0aW9uU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3OTIxMkI2QTYxMDBG
NDkzRkQgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0UxOUVGQjIzRDQwMUYx
MDA5NEZGQjQgLyogTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMTMwMjEsNyArMTMwMjYsNiBAQAogCQkJCTUxRjA2MEUxMTY1NDMx
ODUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBG
MzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUUwQTdDQjIzQjY0NUNEMDA1NjEwNjAgLyog
V2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUMgLyogV2ViU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1QzBCMTc3OTFFN0M4ODIxMDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFtTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAK
aW5kZXggMzQ4ZDhjOWMyYjU2YTRmOTRlMWYwODIxM2I1MGRjMThkMWUzMDFiZi4uODY1YzIyN2M1
MzNjZTBmNzEwNDNhMGVmZWUzZDdjNTI4ZDJiNGRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiV2ViUlRDTW9uaXRvci5oIgogI2luY2x1
ZGUgIldlYlJUQ01vbml0b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlJUQ1Jlc29sdmVyTWVz
c2FnZXMuaCIKLSNpbmNsdWRlICJXZWJSVENTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTV0NsaWVudENvbm5lY3Rp
b24uaCIKICNpbmNsdWRlICJXZWJTV0NsaWVudENvbm5lY3Rpb25NZXNzYWdlcy5oIgpAQCAtNzcs
NiArNzYsNyBAQCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246Ok5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbihJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgYwogICAgICwgbV9jb29raWVBY2NlcHRQ
b2xpY3koY29va2llQWNjZXB0UG9saWN5KQogewogICAgIG1fY29ubmVjdGlvbi0+b3BlbigpOwor
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5zZXRDb25uZWN0
aW9uKG1fY29ubmVjdGlvbi5jb3B5UmVmKCkpOwogfQogCiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b246On5OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKQpAQCAtMTEyLDE0ICsxMTIsNiBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBJUAogICAgIH0KIAogI2lmIFVTRShMSUJXRUJSVEMpCi0gICAgaWYg
KGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBhdXRvJiBuZXR3b3JrID0gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpOwotICAgICAgICBpZiAobmV0d29y
ay5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbmV0d29yay5zb2NrZXQobWFrZU9iamVjdElkZW50
aWZpZXI8TGliV2ViUlRDU29ja2V0SWRlbnRpZmllclR5cGU+KGRlY29kZXIuZGVzdGluYXRpb25J
RCgpKSkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIlJlY2VpdmVkIFdlYlJU
Q1NvY2tldCBtZXNzYWdlIHdoaWxlIGxpYldlYlJUQ05ldHdvcmsgaXMgbm90IGFjdGl2ZSIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5h
bWUoKSA9PSBNZXNzYWdlczo6V2ViUlRDTW9uaXRvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7
CiAgICAgICAgIGF1dG8mIG5ldHdvcmsgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJS
VENOZXR3b3JrKCk7CiAgICAgICAgIGlmIChuZXR3b3JrLmlzQWN0aXZlKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29y
ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRD
TmV0d29yay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRiMmJkMGM5YmRlNzc5NDliMzg4NjIyNjY1MDNkYTM1
M2U2MjA4YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmNwcApAQCAtMCwwICsxLDEzMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENOZXR3b3JrLmgi
CisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDTmV0d29y
a01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU2hh
cmVkQnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK0xpYldlYlJUQ05ldHdvcms6On5MaWJXZWJSVENOZXR3b3JrKCkKK3sKKyAgICBz
ZXRDb25uZWN0aW9uKG51bGxwdHIpOworfQorCit2b2lkIExpYldlYlJUQ05ldHdvcms6Om5ldHdv
cmtQcm9jZXNzQ3Jhc2hlZCgpCit7CisgICAgc2V0Q29ubmVjdGlvbihudWxscHRyKTsKKworI2lm
IFVTRShMSUJXRUJSVEMpCisgICAgbV93ZWJOZXR3b3JrTW9uaXRvci5uZXR3b3JrUHJvY2Vzc0Ny
YXNoZWQoKTsKKyNlbmRpZgorfQorCit2b2lkIExpYldlYlJUQ05ldHdvcms6OnNldENvbm5lY3Rp
b24oUmVmUHRyPElQQzo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQoreworI2lmIFVTRShMSUJX
RUJSVEMpCisgICAgaWYgKG1fY29ubmVjdGlvbikKKyAgICAgICAgbV9jb25uZWN0aW9uLT5yZW1v
dmVUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6Om1lc3Nh
Z2VSZWNlaXZlck5hbWUoKSk7CisjZW5kaWYKKyAgICBtX2Nvbm5lY3Rpb24gPSBXVEZNb3ZlKGNv
bm5lY3Rpb24pOworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgaWYgKG1fY29ubmVjdGlvbikKKyAg
ICAgICAgbV9jb25uZWN0aW9uLT5hZGRUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6Okxp
YldlYlJUQ05ldHdvcms6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhpcyk7CisjZW5kaWYKK30K
KworYm9vbCBMaWJXZWJSVENOZXR3b3JrOjppc0FjdGl2ZSgpIGNvbnN0Cit7CisjaWYgVVNFKExJ
QldFQlJUQykKKyAgICByZXR1cm4gV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6Omhhc1dlYlJU
Q1RocmVhZHMoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK3ZvaWQg
TGliV2ViUlRDTmV0d29yazo6ZGlzcGF0Y2hUb1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgY2Fs
bGJhY2spCit7CisgICAgaWYgKCFpc0FjdGl2ZSgpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VS
Uk9SKFdlYlJUQywgIlJlY2VpdmVkIFdlYlJUQ1NvY2tldCBtZXNzYWdlIHdoaWxlIGxpYldlYlJU
Q05ldHdvcmsgaXMgbm90IGFjdGl2ZSIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisjaWYg
VVNFKExJQldFQlJUQykKKyAgICBXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcjo6Y2FsbE9uV2Vi
UlRDTmV0d29ya1RocmVhZChXVEZNb3ZlKGNhbGxiYWNrKSk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShjYWxsYmFjayk7CisjZW5kaWYKK30KKworI2lmIFVTRShMSUJXRUJSVEMpCit2b2lkIExp
YldlYlJUQ05ldHdvcms6OnNpZ25hbEFkZHJlc3NSZWFkeShXZWJDb3JlOjpMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3Mm
IGFkZHJlc3MpCit7CisgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7CisgICAgaWYg
KGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikpCisgICAg
ICAgIHNvY2tldC0+c2lnbmFsQWRkcmVzc1JlYWR5KGFkZHJlc3MudmFsdWUpOworfQorCit2b2lk
IExpYldlYlJUQ05ldHdvcms6OnNpZ25hbFJlYWRQYWNrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29j
a2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEs
IGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50
NjRfdCB0aW1lc3RhbXApCit7CisgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7Cisg
ICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikp
CisgICAgICAgIHNvY2tldC0+c2lnbmFsUmVhZFBhY2tldChkYXRhLmRhdGEoKSwgZGF0YS5zaXpl
KCksIHJ0Yzo6U29ja2V0QWRkcmVzcyhhZGRyZXNzLnZhbHVlLCBwb3J0KSwgdGltZXN0YW1wKTsK
K30KKwordm9pZCBMaWJXZWJSVENOZXR3b3JrOjpzaWduYWxTZW50UGFja2V0KFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgaW50IHJ0Y1BhY2tldElELCBpbnQ2
NF90IHNlbmRUaW1lTXMpCit7CisgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7Cisg
ICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikp
CisgICAgICAgIHNvY2tldC0+c2lnbmFsU2VudFBhY2tldChydGNQYWNrZXRJRCwgc2VuZFRpbWVN
cyk7Cit9CisKK3ZvaWQgTGliV2ViUlRDTmV0d29yazo6c2lnbmFsQ29ubmVjdChXZWJDb3JlOjpM
aWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKCFXVEY6
OmlzTWFpblJ1bkxvb3AoKSk7CisgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9y
eS5zb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgIHNvY2tldC0+c2lnbmFsQ29ubmVjdCgpOwor
fQorCit2b2lkIExpYldlYlJUQ05ldHdvcms6OnNpZ25hbENsb3NlKFdlYkNvcmU6OkxpYldlYlJU
Q1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgaW50IGVycm9yKQoreworICAgIEFTU0VSVCgh
V1RGOjppc01haW5SdW5Mb29wKCkpOworICAgIGlmIChhdXRvKiBzb2NrZXQgPSBtX3NvY2tldEZh
Y3Rvcnkuc29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICBzb2NrZXQtPnNpZ25hbENsb3NlKGVy
cm9yKTsKK30KKwordm9pZCBMaWJXZWJSVENOZXR3b3JrOjpzaWduYWxOZXdDb25uZWN0aW9uKFdl
YkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6TGli
V2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBSVENOZXR3
b3JrOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKQoreworICAgIEFTU0VSVCghV1RGOjpp
c01haW5SdW5Mb29wKCkpOworICAgIGlmIChhdXRvKiBzb2NrZXQgPSBtX3NvY2tldEZhY3Rvcnku
c29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICBzb2NrZXQtPnNpZ25hbE5ld0Nvbm5lY3Rpb24o
bV9zb2NrZXRGYWN0b3J5LmNyZWF0ZU5ld0Nvbm5lY3Rpb25Tb2NrZXQoKnNvY2tldCwgbmV3U29j
a2V0SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcy52YWx1ZSkpOworfQorI2VuZGlmCisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmgKaW5kZXggZDFmNDlmMDY4OGRlNmJk
NGY3MGVhYjY0MDAzMDYxNjFhMTgxOTE0Zi4uYjFlZjQ5NjIxODAyYWM3YjQ2NDc4YTcwMTI2NmZl
ZGVmZTJjOGViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oCkBAIC0yNSwzNSArMjUsMzUgQEAKIAog
I3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoTElCV0VCUlRDKQorI2luY2x1ZGUgIkNvbm5lY3Rpb24u
aCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Nv
Y2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlICJXZWJNRE5TUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJX
ZWJSVENNb25pdG9yLmgiCiAjaW5jbHVkZSAiV2ViUlRDUmVzb2x2ZXIuaCIKLSNpbmNsdWRlICJX
ZWJSVENTb2NrZXQuaCIKLSNlbmRpZgotCi0jaW5jbHVkZSAiV2ViTUROU1JlZ2lzdGVyLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi1jbGFzcyBMaWJXZWJSVENOZXR3b3JrIHsKK2NsYXNzIExpYldlYlJUQ05l
dHdvcmsgOiBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXIgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIExpYldlYlJUQ05ldHdv
cmsoKSA9IGRlZmF1bHQ7CisgICAgfkxpYldlYlJUQ05ldHdvcmsoKTsKIAorICAgIHZvaWQgc2V0
Q29ubmVjdGlvbihSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiYmKTsKICAgICB2b2lkIG5ldHdvcmtQ
cm9jZXNzQ3Jhc2hlZCgpOwogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwogCisgICAgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKwog
I2lmIFVTRShMSUJXRUJSVEMpCiAgICAgV2ViUlRDTW9uaXRvciYgbW9uaXRvcigpIHsgcmV0dXJu
IG1fd2ViTmV0d29ya01vbml0b3I7IH0KICAgICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBzb2Nr
ZXRGYWN0b3J5KCkgeyByZXR1cm4gbV9zb2NrZXRGYWN0b3J5OyB9CiAKICAgICB2b2lkIGRpc2Fi
bGVOb25Mb2NhbGhvc3RDb25uZWN0aW9ucygpIHsgc29ja2V0RmFjdG9yeSgpLmRpc2FibGVOb25M
b2NhbGhvc3RDb25uZWN0aW9ucygpOyB9CiAKLSAgICBXZWJSVENTb2NrZXQgc29ja2V0KFdlYkNv
cmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllcikgeyByZXR1cm4gV2ViUlRD
U29ja2V0KHNvY2tldEZhY3RvcnkoKSwgaWRlbnRpZmllcik7IH0KICAgICBXZWJSVENSZXNvbHZl
ciByZXNvbHZlcihMaWJXZWJSVENSZXNvbHZlcklkZW50aWZpZXIgaWRlbnRpZmllcikgeyByZXR1
cm4gV2ViUlRDUmVzb2x2ZXIoc29ja2V0RmFjdG9yeSgpLCBpZGVudGlmaWVyKTsgfQogI2VuZGlm
CiAKQEAgLTYyLDYgKzYyLDE4IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgorI2lmIFVT
RShMSUJXRUJSVEMpCisgICAgdm9pZCBzaWduYWxSZWFkUGFja2V0KFdlYkNvcmU6OkxpYldlYlJU
Q1NvY2tldElkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJUQ05l
dHdvcms6OklQQWRkcmVzcyYsIHVpbnQxNl90IHBvcnQsIGludDY0X3QpOworICAgIHZvaWQgc2ln
bmFsU2VudFBhY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBpbnQsIGlu
dDY0X3QpOworICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5KFdlYkNvcmU6OkxpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKKyAgICB2
b2lkIHNpZ25hbENvbm5lY3QoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllcik7Cisg
ICAgdm9pZCBzaWduYWxDbG9zZShXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBp
bnQpOworICAgIHZvaWQgc2lnbmFsTmV3Q29ubmVjdGlvbihXZWJDb3JlOjpMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIHNvY2tldElkZW50aWZpZXIsIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElk
ZW50aWZpZXIgbmV3U29ja2V0SWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpSVENOZXR3b3JrOjpT
b2NrZXRBZGRyZXNzJik7CisjZW5kaWYKKworICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6VGhyZWFk
TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0aW9uPHZvaWQo
KT4mJikgZmluYWw7CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIExpYldlYlJUQ1NvY2tldEZh
Y3RvcnkgbV9zb2NrZXRGYWN0b3J5OwogICAgIFdlYlJUQ01vbml0b3IgbV93ZWJOZXR3b3JrTW9u
aXRvcjsKQEAgLTY5LDIyICs4MSw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAg
ICAgV2ViTUROU1JlZ2lzdGVyIG1fbWRuc1JlZ2lzdGVyOwogI2VuZGlmCisgICAgUmVmUHRyPElQ
Qzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogfTsKIAotaW5saW5lIHZvaWQgTGliV2ViUlRD
TmV0d29yazo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkKLXsKLSNpZiBVU0UoTElCV0VCUlRDKQot
ICAgIG1fd2ViTmV0d29ya01vbml0b3IubmV0d29ya1Byb2Nlc3NDcmFzaGVkKCk7Ci0jZW5kaWYK
LX0KLQotaW5saW5lIGJvb2wgTGliV2ViUlRDTmV0d29yazo6aXNBY3RpdmUoKSBjb25zdAotewot
I2lmIFVTRShMSUJXRUJSVEMpCi0gICAgcmV0dXJuIFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVy
OjpoYXNXZWJSVENUaHJlYWRzKCk7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVz
c2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTk2ZDFiNjJhYzZiYWQxM2M5NmM1YWZhZWE3YzgxMjUxMDEw
YmE0NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzQgQEAKKyMg
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMp
CisKK21lc3NhZ2VzIC0+IExpYldlYlJUQ05ldHdvcmsgTm90UmVmQ291bnRlZCB7CisgICAgU2ln
bmFsUmVhZFBhY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIHNvY2tldElk
ZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQ
QWRkcmVzcyBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBT
aWduYWxTZW50UGFja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0
SWRlbnRpZmllciwgaW50IHBhY2tldFNpemUsIGludDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25h
bEFkZHJlc3NSZWFkeShXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIHNvY2tldElk
ZW50aWZpZXIsIFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBhZGRyZXNzKQorICAg
IFNpZ25hbENvbm5lY3QoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJ
ZGVudGlmaWVyKQorICAgIFNpZ25hbENsb3NlKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50
aWZpZXIgc29ja2V0SWRlbnRpZmllciwgaW50IGVycm9yKQorICAgIFNpZ25hbE5ld0Nvbm5lY3Rp
b24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlmaWVyLCBX
ZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG5ld1NvY2tldElkZW50aWZpZXIsIFdl
YktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyByZW1vdGVBZGRyZXNzKQorfQorCisjZW5k
aWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKaW5kZXggYjVlNDNmNDU2
ZWIzMGUwMmZmMWQzNGQ1YzE1NzJmMTJhNTEzNzM5OS4uN2FlZDY0NTdhODM4MTU3YjcyYjAyMzc0
MGQ4ZDc1MjQ4YmE1MjY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTgxLDEzICs4MSwx
MyBAQCB2b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IHJ0Yzo6
U29ja2V0QWRkcmVzcyYgYWRkcmVzcykKICAgICBTaWduYWxBZGRyZXNzUmVhZHkodGhpcywgbV9s
b2NhbEFkZHJlc3MpOwogfQogCi12b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsUmVhZFBhY2tl
dChjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGJ1ZmZlciwgcnRjOjpTb2NrZXRBZGRyZXNz
JiYgYWRkcmVzcywgaW50NjRfdCB0aW1lc3RhbXApCit2b2lkIExpYldlYlJUQ1NvY2tldDo6c2ln
bmFsUmVhZFBhY2tldChjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6ZSwgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiYgYWRkcmVzcywgaW50NjRfdCB0aW1lc3RhbXApCiB7CiAgICAgaWYgKG1faXNT
dXNwZW5kZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fcmVtb3RlQWRkcmVzcyA9IFdURk1v
dmUoYWRkcmVzcyk7Ci0gICAgU2lnbmFsUmVhZFBhY2tldCh0aGlzLCBidWZmZXIuZGF0YSgpLCBi
dWZmZXIuc2l6ZSgpLCBtX3JlbW90ZUFkZHJlc3MsIHRpbWVzdGFtcCk7CisgICAgU2lnbmFsUmVh
ZFBhY2tldCh0aGlzLCByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihkYXRhKSwgc2l6ZSwg
bV9yZW1vdGVBZGRyZXNzLCB0aW1lc3RhbXApOwogfQogCiB2b2lkIExpYldlYlJUQ1NvY2tldDo6
c2lnbmFsU2VudFBhY2tldChpbnQgcnRjUGFja2V0SUQsIGludDY0X3Qgc2VuZFRpbWVNcykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVENTb2NrZXQuaAppbmRleCAzZmQxY2UxNzgwYTlhYzZlNTI1NTc2YzMwNGRlZTUwNGE3NDU1
OTUyLi5iMmU4ZWNjNzk4ZjkxM2U2YzkyNmJkNzIzNWYzMzE5Njg1YjU5YjEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1NvY2tldC5oCkBAIC0zOSwxMCArMzksNiBAQCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3Mg
RGVjb2RlcjsKIH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgU2hhcmVkQnVmZmVyOwot
fQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTGliV2ViUlRDU29ja2V0RmFjdG9yeTsK
QEAgLTY5LDggKzY1LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBib29sIHdpbGxTZW5kKHNp
emVfdCk7CiAKLSAgICBmcmllbmQgY2xhc3MgV2ViUlRDU29ja2V0OwotICAgIHZvaWQgc2lnbmFs
UmVhZFBhY2tldChjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImLCBydGM6OlNvY2tldEFkZHJl
c3MmJiwgaW50NjRfdCk7CisgICAgZnJpZW5kIGNsYXNzIExpYldlYlJUQ05ldHdvcms7CisgICAg
dm9pZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QsIHJ0Yzo6U29ja2V0
QWRkcmVzcyYmLCBpbnQ2NF90KTsKICAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQoaW50LCBpbnQ2
NF90KTsKICAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmKTsKICAgICB2b2lkIHNpZ25hbENvbm5lY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRG
YWN0b3J5LmNwcAppbmRleCBmZjAxNzEzOWYyNjI5N2Y3YzViZTU1M2EzM2RmNTMwZWM2ZDUwZTY5
Li5hOGRhN2NjOWFlODA0ZmU5YzI4OGJlZjJkNTNlNjVmMjM2YWRjODA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFj
dG9yeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiTmV0
d29ya1JUQ01vbml0b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlck1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tl
dC5oIgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJU
Q1NvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDU29ja2V0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzgyOTNiY2NmYjlm
MmQ5YmMyZjY1YjA0NzljYjRkNThiOGM2ZjlmNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUlRDU29ja2V0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldC5oIgot
Ci0jaWYgVVNFKExJQldFQlJUQykKLQotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNs
dWRlICJMaWJXZWJSVENTb2NrZXQuaCIKLSNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5
LmgiCi0jaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VzLmgiCi0jaW5jbHVkZSA8V2Vi
Q29yZS9TaGFyZWRCdWZmZXIuaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotdm9pZCBXZWJSVENTb2Nr
ZXQ6OnNpZ25hbE9uTmV0d29ya1RocmVhZChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBmYWN0b3J5
LCBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIEZ1bmN0aW9uPHZvaWQoTGli
V2ViUlRDU29ja2V0Jik+JiYgY2FsbGJhY2spCi17Ci0gICAgLy8gZmFjdG9yeSBpcyBzdGF5aW5n
IHZhbGlkIGR1cmluZyB0aGUgcHJvY2VzcyBsaWZldGltZS4KLSAgICBXZWJDb3JlOjpMaWJXZWJS
VENQcm92aWRlcjo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZp
ZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgewotICAgICAgICBhdXRvKiBzb2Nr
ZXQgPSBmYWN0b3J5LnNvY2tldChpZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFzb2NrZXQpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNhbGxiYWNrKCpzb2NrZXQpOwotICAgIH0pOwot
fQotCi1XZWJSVENTb2NrZXQ6OldlYlJUQ1NvY2tldChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBm
YWN0b3J5LCBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgOiBtX2Zh
Y3RvcnkoZmFjdG9yeSkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotewotfQotCi12
b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IFJUQ05ldHdvcms6OlNv
Y2tldEFkZHJlc3MmIGFkZHJlc3MpCi17Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFj
dG9yeSwgbV9pZGVudGlmaWVyLCBbYWRkcmVzc10oTGliV2ViUlRDU29ja2V0JiBzb2NrZXQpIHsK
LSAgICAgICAgc29ja2V0LnNpZ25hbEFkZHJlc3NSZWFkeShhZGRyZXNzLnZhbHVlKTsKLSAgICB9
KTsKLX0KLQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGFkZHJlc3Ms
IHVpbnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQotewotICAgIGF1dG8gYnVmZmVyID0g
V2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKTsK
LSAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtidWZm
ZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIHBvcnQsIHRpbWVzdGFtcF0oTGliV2ViUlRD
U29ja2V0JiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbFJlYWRQYWNrZXQoYnVmZmVy
LmdldCgpLCBydGM6OlNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCksIHRpbWVzdGFt
cCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxTZW50UGFja2V0KGlu
dCBydGNQYWNrZXRJRCwgaW50NjRfdCBzZW5kVGltZU1zKQotewotICAgIHNpZ25hbE9uTmV0d29y
a1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW3J0Y1BhY2tldElELCBzZW5kVGltZU1z
XShhdXRvJiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbFNlbnRQYWNrZXQocnRjUGFj
a2V0SUQsIHNlbmRUaW1lTXMpOwotICAgIH0pOwotfQotCi12b2lkIFdlYlJUQ1NvY2tldDo6c2ln
bmFsQ29ubmVjdCgpCi17Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9p
ZGVudGlmaWVyLCBbXShhdXRvJiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbENvbm5l
Y3QoKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbENsb3NlKGludCBl
cnJvcikKLXsKLSAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZp
ZXIsIFtlcnJvcl0oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxDbG9zZShl
cnJvcik7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxOZXdDb25uZWN0
aW9uKExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3U29ja2V0SWRlbnRpZmllciwgY29uc3Qg
UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKLXsKLSAgICBzaWduYWxP
bk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtuZXdTb2NrZXRJZGVudGlm
aWVyLCByZW1vdGVBZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KHJlbW90ZUFkZHJl
c3MudmFsdWUpXShhdXRvJiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbE5ld0Nvbm5l
Y3Rpb24oc29ja2V0Lm1fZmFjdG9yeS5jcmVhdGVOZXdDb25uZWN0aW9uU29ja2V0KHNvY2tldCwg
bmV3U29ja2V0SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcykpOwotICAgIH0pOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3ZTE4ZGZlMzAzOGZjZTdlNzJhYjQ5ZWZl
OGEyODcwYjRmOTgyZmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tl
dC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgVVNFKExJQldFQlJUQykKLQotI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKLSNp
bmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1NvY2tldElkZW50aWZpZXIuaD4KLSNpbmNsdWRlIDx3
dGYvRnVuY3Rpb24uaD4KLQotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xh
c3MgRGF0YVJlZmVyZW5jZTsKLWNsYXNzIERlY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQg
ewotCi1jbGFzcyBMaWJXZWJSVENTb2NrZXQ7Ci1jbGFzcyBMaWJXZWJSVENTb2NrZXRGYWN0b3J5
OwotCi1jbGFzcyBXZWJSVENTb2NrZXQgewotcHVibGljOgotICAgIFdlYlJUQ1NvY2tldChMaWJX
ZWJSVENTb2NrZXRGYWN0b3J5JiwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllcik7
Ci0KLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVj
b2RlciYpOwotCi0gICAgc3RhdGljIHZvaWQgc2lnbmFsT25OZXR3b3JrVGhyZWFkKExpYldlYlJU
Q1NvY2tldEZhY3RvcnkmLCBXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBGdW5j
dGlvbjx2b2lkKExpYldlYlJUQ1NvY2tldCYpPiYmKTsKLQotcHJpdmF0ZToKLSAgICB2b2lkIHNp
Z25hbFJlYWRQYWNrZXQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29y
azo6SVBBZGRyZXNzJiwgdWludDE2X3QgcG9ydCwgaW50NjRfdCk7Ci0gICAgdm9pZCBzaWduYWxT
ZW50UGFja2V0KGludCwgaW50NjRfdCk7Ci0gICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29u
c3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYpOwotICAgIHZvaWQgc2lnbmFsQ29ubmVjdCgp
OwotICAgIHZvaWQgc2lnbmFsQ2xvc2UoaW50KTsKLSAgICB2b2lkIHNpZ25hbE5ld0Nvbm5lY3Rp
b24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlmaWVy
LCBjb25zdCBXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKLQotICAgIExpYldl
YlJUQ1NvY2tldEZhY3RvcnkmIG1fZmFjdG9yeTsKLSAgICBXZWJDb3JlOjpMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAot
Ci0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmlu
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTlkMGNlZDFiNmNiZGQzNzZhMzBiZjY1
MjQ2ZWQ3MTBhMjg2YTRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2Nr
ZXQubWVzc2FnZXMuaW4KKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0jIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQKLSMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
IyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUgotIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0jIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
Ci0jIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSCi0jIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0jIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSNpZiBVU0UoTElCV0VCUlRDKQotCi1tZXNz
YWdlcyAtPiBXZWJSVENTb2NrZXQgTm90UmVmQ291bnRlZCB7Ci0gICAgU2lnbmFsUmVhZFBhY2tl
dChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3Mg
YWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0aW1lc3RhbXApCi0gICAgU2lnbmFsU2Vu
dFBhY2tldChpbnQgcGFja2V0U2l6ZSwgaW50NjRfdCB0aW1lc3RhbXApCi0gICAgU2lnbmFsQWRk
cmVzc1JlYWR5KFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBhZGRyZXNzKQotICAg
IFNpZ25hbENvbm5lY3QoKQotICAgIFNpZ25hbENsb3NlKGludCBlcnJvcikKLSAgICBTaWduYWxO
ZXdDb25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3U29ja2V0
SWRlbnRpZmllciwgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIHJlbW90ZUFkZHJl
c3MpCi19Ci0KLSNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398494</attachid>
            <date>2020-05-05 02:53:43 -0700</date>
            <delta_ts>2020-05-05 06:40:09 -0700</delta_ts>
            <desc>WinCairo build fix</desc>
            <filename>bug-211290-20200505115340.patch</filename>
            <type>text/plain</type>
            <size>49226</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJhZmM1N2M3ODk2ZWM3Nzlh
OTg1ZGE5NjQxNzEwMTQ2N2Y2MGVkMjUuLjJhMWRiYjVjMTdlZmYzOWIzZjg3ZmYxN2FjYWJjMjQy
YmQ3OGRjYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMjAtMDUtMDEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlY2VpdmluZyBXZWJSVEMgbmV0
d29yayBwYWNrZXRzIHNob3VsZCBub3QgZ28gdGhyb3VnaCB0aGUgbWFpbiB0aHJlYWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTI5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgSW5zdGVhZCBvZiBn
b2luZyB0byBtYWluIHRocmVhZCBiZWZvcmUgZ29pbmcgdG8gcnRjIG5ldHdvcmsgdGhyZWFkLCB3
ZSByZWdpc3RlciBhIG1lc3NhZ2UgcmVjZWl2ZXIgYW5kIGRpc3BhdGNoIGRpcmVjdGx5IHRvIHJ0
YyBuZXR3b3JrIHRocmVhZC4KKyAgICAgICAgVGhpcyBlbnN1cmVzIHJ0YyBwYWNrZXRzIGFyZSBu
b3QgYmxvY2tlZCBpZiBtYWluIHRocmVhZCBpcyBidXN5LgorCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJlYWRQYWNrZXQpOgorICAgICAg
ICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAg
ICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbEFkZHJlc3NSZWFkeSk6
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQ29ubmVjdCk6
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQ2xvc2UpOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNvY2tldCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU2VydmVyVENQU29ja2V0KToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BTb2Nr
ZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6Om5ld0Nvbm5lY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlTGlzdGVuaW5nU29j
a2V0cyk6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbjo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmNwcDogQWRkZWQKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaDoKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDTmV0d29yazo6Y29ubmVjdGlvbik6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ05ldHdvcms6On5MaWJXZWJSVENOZXR3b3JrKToKKyAgICAgICAgKFdlYktp
dDo6TGliV2ViUlRDTmV0d29yazo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDTmV0d29yazo6c2V0Q29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OkxpYldlYlJUQ05ldHdvcms6OmRpc3BhdGNoVG9UaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENOZXR3b3JrOjpzaWduYWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENOZXR3b3JrOjpzaWduYWxSZWFkUGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDTmV0d29yazo6c2lnbmFsU2VudFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ05ldHdvcms6OnNpZ25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENO
ZXR3b3JrOjpzaWduYWxDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ05ldHdvcms6
OnNpZ25hbE5ld0Nvbm5lY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5oOiBSZW1vdmVk
LgorCiAyMDIwLTA1LTAxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBNb3ZlIGZvY3VzIG91dCBvZiB0aGUgd2ViIHZpZXcgd2hlbiB0
YWIgaXMgcHJlc3NlZCBhbmQgdGhlcmUgaXNuJ3QgYSBuZXh0IGVsZW1lbnQgdG8gZm9jdXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0L0NN
YWtlTGlzdHMudHh0CmluZGV4IGRhZWNkODZjNzRjODQxMGE1NjY4MDY3MGFmZTZlMzkxY2M0NjIy
NTYuLjM3N2FiNDA2YTRmZDI5NjU1ZmNhZWE0ZGZkZTAwMTgyMTRmYmYxN2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9DTWFrZUxp
c3RzLnR4dApAQCAtMjM0LDEwICsyMzQsMTAgQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxF
UwogICAgIFdlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXIubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSS5t
ZXNzYWdlcy5pbgogCisgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3
b3JrLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJNRE5TUmVn
aXN0ZXIubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01v
bml0b3IubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jl
c29sdmVyLm1lc3NhZ2VzLmluCi0gICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENT
b2NrZXQubWVzc2FnZXMuaW4KIAogICAgIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAppbmRleCA4YmRiNTFhMTZkMzk4ODk3M2Q4M2RiNzE1NzdlZjk4NWUzZmRl
YmZmLi5hZDk5ZDMzNTYyN2RkMWE3Mzc5YzI3OGZhYzg5YjdjZDFiMTQ5NjRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNDAsMTAgKzE0
MCwxMCBAQCAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJTb2NrZXRDaGFubmVsLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElS
KS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTUROU1JlZ2lzdGVy
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dl
YlJUQ01vbml0b3IubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9ESVIpL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1Rf
RElSKS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBkMTAwNDYzMzlmZTRj
MzY5NDkyNmE4NzhhMmViMWNkMDhiMTcwODBkLi5hMjVmNTYwOGNiNTQ1YWEzMTk0MjAxOTY5Mzhm
ZDQzMTliM2MwZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKQEAgLTU3LDYgKzU3LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDQ29kZWNzTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ0NvZGVjc1By
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJXZWJSVENDb2RlY3NQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9MaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDTmV0d29ya01lc3NhZ2VzLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdv
cmtNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvTGliV2ViUlRDUmVtb3RlQ29kZWNzTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDUmVtb3RlQ29k
ZWNzTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvTGliV2ViUlRDUmVtb3RlQ29kZWNzTWVzc2FnZXNSZXBsaWVzLmgKQEAgLTM4NCw5ICszODcs
NiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENN
b25pdG9yTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDUmVzb2x2ZXJNZXNzYWdl
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENS
ZXNvbHZlck1lc3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwCi0kKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENTb2NrZXRNZXNzYWdlcy5o
Ci0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENTb2Nr
ZXRNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSZXNvdXJjZUxvYWRlck1lc3Nh
Z2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJl
c291cmNlTG9hZGVyTWVzc2FnZXNSZXBsaWVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBlNDVkYTg5M2Q5YTdjOWVjNmExNzcxOTJlY2YwNjcyY2UzNTBkZDZiLi5mMWVhMWYxMDBk
NDBhY2ZjODllZTJhODQ1Y2UyMTJjNjU1M2U1ZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0xMjksNiArMTI5LDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgXAogICAgIExpYldlYlJUQ0NvZGVjcyBcCiAgICAg
TGliV2ViUlRDQ29kZWNzUHJveHkgXAorICAgIExpYldlYlJUQ05ldHdvcmsgXAogICAgIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZSBcCiAgICAgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIgXAogICAg
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIFwKQEAgLTIyOCw3ICsyMjksNiBAQCBNRVNT
QUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJQcm9jZXNzUHJveHkgXAogICAgIFdlYlJUQ01vbml0
b3IgXAogICAgIFdlYlJUQ1Jlc29sdmVyIFwKLSAgICBXZWJSVENTb2NrZXQgXAogICAgIFdlYlJl
c291cmNlTG9hZGVyIFwKICAgICBXZWJTV0NsaWVudENvbm5lY3Rpb24gXAogICAgIFdlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCmluZGV4IGMx
ZDVjYmI3ZGVhMTg5M2MxMDU1ZTU4NGVhMjRjYThjZDI1ZGE0MWMuLjM1MmZmZDRmMGY1OWQ4MzFi
NzRmMmM3MmFhZTc1M2EzZDJlMjI5MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcApAQCAt
MzAsOSArMzAsOSBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENOZXR3b3JrTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyLmgiCi0jaW5jbHVk
ZSAiV2ViUlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZl
ci5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogCkBAIC0xMDAsNyArMTAwLDcgQEAgdm9p
ZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3luY1BhY2tl
dFNvY2tldCogc29ja2V0LCBjb24KICAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKHZhbHVlLCBsZW5ndGgpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21N
YWluVGhyZWFkKFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1
ZmZlciksIGFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkoYWRkcmVzcyksIHBhY2tl
dFRpbWVdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewogICAgICAgICBJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXItPmRh
dGEoKSksIGJ1ZmZlci0+c2l6ZSgpKTsKLSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2Vz
OjpXZWJSVENTb2NrZXQ6OlNpZ25hbFJlYWRQYWNrZXQoZGF0YSwgUlRDTmV0d29yazo6SVBBZGRy
ZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZSksIGlkZW50
aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdv
cms6OlNpZ25hbFJlYWRQYWNrZXQoaWRlbnRpZmllciwgZGF0YSwgUlRDTmV0d29yazo6SVBBZGRy
ZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZSksIDApOwog
ICAgIH0pOwogfQogCkBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGll
bnQ6OnNpZ25hbFNlbnRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCogc29ja2V0LCBjb24K
IHsKICAgICBBU1NFUlRfVU5VU0VEKHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0KTsK
ICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IG1faWRl
bnRpZmllciwgc2VudFBhY2tldF0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0gICAg
ICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxTZW50UGFj
a2V0KHNlbnRQYWNrZXQucGFja2V0X2lkLCBzZW50UGFja2V0LnNlbmRfdGltZV9tcyksIGlkZW50
aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdv
cms6OlNpZ25hbFNlbnRQYWNrZXQoaWRlbnRpZmllciwgc2VudFBhY2tldC5wYWNrZXRfaWQsIHNl
bnRQYWNrZXQuc2VuZF90aW1lX21zKSwgMCk7CiAgICAgfSk7CiB9CiAKQEAgLTEyMiw3ICsxMjIs
NyBAQCB2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQWRkcmVzc1JlYWR5KHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqIHNvY2tldCwgYwogewogICAgIEFTU0VSVF9VTlVTRUQoc29ja2V0
LCBtX3NvY2tldC5nZXQoKSA9PSBzb2NrZXQpOwogICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21N
YWluVGhyZWFkKFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCBhZGRyZXNzID0gUlRDTmV0d29y
azo6aXNvbGF0ZWRDb3B5KGFkZHJlc3MpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsK
LSAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbEFk
ZHJlc3NSZWFkeShSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MpKSwgaWRlbnRpZmll
cik7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6
U2lnbmFsQWRkcmVzc1JlYWR5KGlkZW50aWZpZXIsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3Mo
YWRkcmVzcykpLCAwKTsKICAgICB9KTsKIH0KIApAQCAtMTM1LDcgKzEzNSw3IEBAIHZvaWQgTGli
V2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxDb25uZWN0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQq
IHNvY2tldCkKIHsKICAgICBBU1NFUlRfVU5VU0VEKHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0g
c29ja2V0KTsKICAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmll
ciA9IG1faWRlbnRpZmllcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0gICAgICAg
IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxDb25uZWN0KCks
IGlkZW50aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJU
Q05ldHdvcms6OlNpZ25hbENvbm5lY3QoaWRlbnRpZmllciksIDApOwogICAgIH0pOwogfQogCkBA
IC0xNDMsNyArMTQzLDcgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENsb3Nl
KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIHNvY2tldCwgaW50IGVycm8KIHsKICAgICBBU1NFUlRf
VU5VU0VEKHNvY2tldCwgbV9zb2NrZXQuZ2V0KCkgPT0gc29ja2V0KTsKICAgICBtX3J0Y1Byb3Zp
ZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllciwgZXJyb3Jd
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLnNlbmQo
TWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoZXJyb3IpLCBpZGVudGlmaWVyKTsK
KyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWdu
YWxDbG9zZShpZGVudGlmaWVyLCBlcnJvciksIDApOwogICAgIH0pOwogICAgIC8vIFdlIHdhbnQg
dG8gcmVtb3ZlICd0aGlzJyBmcm9tIHRoZSBzb2NrZXQgbWFwIG5vdyBidXQgd2Ugd2lsbCBkZXN0
cm95IGl0IGFzeW5jaHJvbm91c2x5CiAgICAgLy8gc28gdGhhdCB0aGUgc29ja2V0IHBhcmFtZXRl
ciBvZiBzaWduYWxDbG9zZSByZW1haW5zIGFsaXZlIGFzIHRoZSBjYWxsZXIgb2Ygc2lnbmFsQ2xv
c2UgbWF5IGFjdHVhbGx5IGJlaW5nIHVzaW5nIGl0IGFmdGVyd2FyZHMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcAppbmRleCBhMmJjYzZiNzUyMmIyMWNmMmE4ODVkM2JmNzIyMGRjOTJlOGEzM2I5Li4yYTAw
NWFmMDdjZjE3NzMxYmNjMzJhODkxYWQ2OTc3NjgyMGNkZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJM
aWJXZWJSVENOZXR3b3JrTWVzc2FnZXMuaCIKICNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRDbGll
bnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaCIKQEAgLTM1LDcgKzM2LDYgQEAKICNpbmNsdWRlICJOZXR3b3JrUlRDUmVz
b2x2ZXIuaCIKICNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0LmgiCiAjaW5jbHVkZSAiV2ViUlRD
UmVzb2x2ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaD4KICNpbmNsdWRlIDx3ZWJydGMvcnRj
X2Jhc2UvYXN5bmNfcGFja2V0X3NvY2tldC5oPgogI2luY2x1ZGUgPHdlYnJ0Yy9ydGNfYmFzZS9s
b2dnaW5nLmg+CkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNy
ZWF0ZVNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDoKICAg
ICBpZiAoIXNvY2tldCkgewogICAgICAgICBzZW5kRnJvbU1haW5UaHJlYWQoW3RoaXMsIGlkZW50
aWZpZXIsIHNpemUgPSBtX3NvY2tldHMuc2l6ZSgpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24pIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImNyZWF0ZVNv
Y2tldCB3aXRoICV1IHNvY2tldHMgaXMgdW5hYmxlIHRvIGNyZWF0ZSBhIG5ldyBzb2NrZXQiLCBz
aXplKTsKLSAgICAgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0
OjpTaWduYWxDbG9zZSgxKSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICBjb25uZWN0aW9uLnNl
bmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIDEp
LCAwKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzcsNyArMTM3
LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNlcnZlclRDUFNvY2tldChMaWJX
ZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWYKIHsKICAgICBpZiAoIW1faXNMaXN0ZW5pbmdT
b2NrZXRBdXRob3JpemVkKSB7CiAgICAgICAgIGlmIChtX2Nvbm5lY3Rpb24pCi0gICAgICAgICAg
ICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6
OlNpZ25hbENsb3NlKDEpLCBpZGVudGlmaWVyKTsKKyAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3Nl
KGlkZW50aWZpZXIsIDEpLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTU4LDcg
KzE1OCw3IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQo
TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmCiB7CiAgICAgYXV0byogc2Vzc2lvbiA9
IG1fY29ubmVjdGlvbi0+bmV0d29ya1Nlc3Npb24oKTsKICAgICBpZiAoIXNlc3Npb24pIHsKLSAg
ICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUlRDU29j
a2V0OjpTaWduYWxDbG9zZSgxKSwgaWRlbnRpZmllcik7CisgICAgICAgIG1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3Nl
KGlkZW50aWZpZXIsIDEpLCAwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjYWxsT25S
VENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3MgPSBSVENOZXR3
b3JrOjppc29sYXRlZENvcHkobG9jYWxBZGRyZXNzLnZhbHVlKSwgcmVtb3RlQWRkcmVzcyA9IFJU
Q05ldHdvcms6Omlzb2xhdGVkQ29weShyZW1vdGVBZGRyZXNzLnZhbHVlKSwgcHJveHlJbmZvID0g
cHJveHlJbmZvRnJvbVNlc3Npb24ocmVtb3RlQWRkcmVzcywgKnNlc3Npb24pLCB1c2VyQWdlbnQg
PSBXVEZNb3ZlKHVzZXJBZ2VudCkuaXNvbGF0ZWRDb3B5KCksIG9wdGlvbnNdKCkgewpAQCAtMTkz
LDcgKzE5Myw3IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpuZXdDb25uZWN0aW9uKFNvY2tl
dCYgc2VydmVyU29ja2V0LCBzdGQ6OnVuaXF1ZV9wdHI8cnRjCiB7CiAgICAgYXV0byBpbmNvbWlu
Z1NvY2tldElkZW50aWZpZXIgPSBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyOjpnZW5lcmF0ZSgp
OwogICAgIHNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IHNlcnZlclNvY2tldC5pZGVu
dGlmaWVyKCksIGluY29taW5nU29ja2V0SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcyA9IFJUQ05l
dHdvcms6Omlzb2xhdGVkQ29weShuZXdTb2NrZXQtPkdldFJlbW90ZUFkZHJlc3MoKSldKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2Fn
ZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsTmV3Q29ubmVjdGlvbihpbmNvbWluZ1NvY2tldElkZW50
aWZpZXIsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MocmVtb3RlQWRkcmVzcykpLCBpZGVudGlm
aWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3Jr
OjpTaWduYWxOZXdDb25uZWN0aW9uKGlkZW50aWZpZXIsIGluY29taW5nU29ja2V0SWRlbnRpZmll
ciwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyhyZW1vdGVBZGRyZXNzKSksIDApOwogICAgIH0p
OwogICAgIG1fcGVuZGluZ0luY29taW5nU29ja2V0cy5hZGQoaW5jb21pbmdTb2NrZXRJZGVudGlm
aWVyLCBXVEZNb3ZlKG5ld1NvY2tldCkpOwogfQpAQCAtMjY0LDcgKzI2NCw3IEBAIHZvaWQgTmV0
d29ya1JUQ1Byb3ZpZGVyOjpjbG9zZUxpc3RlbmluZ1NvY2tldHMoRnVuY3Rpb248dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3ZpZGVyID0gbWFr
ZVJlZigqdGhpcyksIGxpc3RlbmluZ1NvY2tldElkZW50aWZpZXJzID0gV1RGTW92ZShsaXN0ZW5p
bmdTb2NrZXRJZGVudGlmaWVycyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcildIHsKICAgICAgICAgICAgIGlmIChwcm92aWRlci0+bV9jb25uZWN0aW9uKSB7
CiAgICAgICAgICAgICAgICAgZm9yIChhdXRvIGlkZW50aWZpZXIgOiBsaXN0ZW5pbmdTb2NrZXRJ
ZGVudGlmaWVycykKLSAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXItPm1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoRUNP
Tk5BQk9SVEVEKSwgaWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVyLT5t
X2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3Jr
OjpTaWduYWxDbG9zZShpZGVudGlmaWVyLCBFQ09OTkFCT1JURUQpLCAwKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIH0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKaW5kZXggYWQwMTZiZWU1N2QyZDFjOWQ4ZTgyNjdjZjExODFiN2E4ODMzYTM5YS4uODk0MzRi
NTRjZGU4YTE4YTg3Yzc1NTIzOGZmZmIwYzBjMmEzNzJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC01ODks
NiArNTg5LDcgQEAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmNw
cAogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmNwcAogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAKIAorV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENOZXR3b3JrLmNwcAogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQ
cm92aWRlci5jcHAKIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIu
Y3BwCiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTU5
Niw3ICs1OTcsNiBAQCBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZh
Y3RvcnkuY3BwCiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk1ETlNSZWdpc3Rlci5jcHAK
IFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKIFdlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuY3BwCi1XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYlJUQ1NvY2tldC5jcHAKIAogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTBmMDQyYWQwMzZhZmYzYzNiMGQ5NGRmYjUx
Nzk2MjMxMTI3MmY1ZS4uZThlOWJjMDJjNTNmZTY5OTc4YjE5NTg2ZDA5YjczNTZhMWUxNDJjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xMDc0LDcgKzEwNzQsNyBAQAogCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5k
bGVET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRv
d0V4dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxRjA2MEUwMTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYw
NjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovOyB9
OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLzsgfTsKLQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1Nv
Y2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIExp
YldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIExpYldl
YlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBG
MzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTUx
RjA2MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYw
NjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CkBAIC0zNDI5LDYgKzM0MjksOCBAQAogCQk0MTU3RTRBRjIwRTJF
Qzk4MDBBNkMwRDcgLyogY29tLmdvb2dsZS5vMWRicm93c2VycGx1Z2luLnNiICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE1ODY0OUEyM0JFMDkyNDAwQTBBNjFFIC8qIFJUQ0VuY29kZXJJ
ZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0VuY29kZXJJ
ZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkNENzQ1MjNGQjE3
OEIwMDY2MUQ5OSAvKiBNRE5TUmVnaXN0ZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IE1ETlNSZWdpc3RlcklkZW50aWZpZXIuaDsgcGF0aCA9IE5ldHdvcmsv
d2VicnRjL01ETlNSZWdpc3RlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDE2RjgwODYyNDVCMzk3NDAwQjY4RjAyIC8qIExpYldlYlJUQ05ldHdvcmsubWVzc2Fn
ZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5p
bjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVzc2FnZXMuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxNkY4MDg5MjQ1QzdGRjUwMEI2OEYwMiAvKiBM
aWJXZWJSVENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IExpYldlYlJUQ05ldHdvcmsuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0
d29yay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzIxOTg5MjNCNjEyODIw
MEFFNTY4NiAvKiBMaWJXZWJSVENDb2RlY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGliV2ViUlRDQ29kZWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
NzIxOThBMjNCNjEyODIwMEFFNTY4NiAvKiBMaWJXZWJSVENDb2RlY3MuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGliV2ViUlRDQ29kZWNzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3MjE5OEMyM0I2MTJFODAwQUU1Njg2IC8qIFJUQ0RlY29k
ZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0RlY29k
ZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zODExLDcgKzM4
MTMsNyBAQAogCQk1MUU4QjY4RDFFNzEyODczMDAxQjcxMzIgLyogV2ViVVJMU2NoZW1lVGFzay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJVUkxTY2hlbWVUYXNr
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFFOTQ5OTYxRDc2MUNDNzAwRUM5
RUI5IC8qIFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gVUlHYW1lcGFkUHJvdmlkZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJl
c291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKLQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSVENTb2NrZXRNZXNzYWdl
UmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENTb2NrZXRN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
CQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNl
aXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDTmV0d29ya01l
c3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ01vbml0b3JN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owog
CQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNw
cDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNl
aXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC03NTg1LDcg
Kzc1ODcsOSBAQAogCQk0MTMwNzU5RTFERTg1RTY1MDAzOUVDNjkgLyogd2VicnRjICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTZGODA4OTI0NUM3RkY1
MDBCNjhGMDIgLyogTGliV2ViUlRDTmV0d29yay5jcHAgKi8sCiAJCQkJNDExQjIyNjIxRTM3MTI0
NDAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCAqLywKKwkJCQk0MTZGODA4NjI0NUIzOTc0
MDBCNjhGMDIgLyogTGliV2ViUlRDTmV0d29yay5tZXNzYWdlcy5pbiAqLywKIAkJCQk0MTMwNzVB
NzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovLAogCQkJCTQxMzA3
NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovLAogCQkJCTQxRkFG
NUY3MUUzQzBCNDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5jcHAgKi8sCkBAIC05OTgz
LDYgKzk5ODcsNyBAQAogCQkJCTI5ODRGNTg3MTY0QkEwOTUwMDRCQzBDNiAvKiBMZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdlcy5oICovLAogCQkJCTI5ODRGNTdBMTY0QjkxNUYwMDRC
QzBDNiAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJMjk4NEY1N0IxNjRCOTE1RjAwNEJDMEM2IC8qIExlZ2FjeUN1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4
MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMDdFMTlF
RjgyM0Q0MDFGMDAwOTRGRkI0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCiAJCQkJMDdFMTlFRjkyM0Q0MDFGMDAwOTRGRkI0IC8qIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmggKi8sCiAJCQkJMDdFMTlFRkEyM0Q0MDFGMDAwOTRGRkI0
IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oICovLApAQCAtMTAx
ODQsNyArMTAxODksNiBAQAogCQkJCTUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VzLmggKi8sCiAJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8q
IFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxRjA2MEREMTY1NDMx
NzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJNDFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlNvY2tldENoYW5uZWxN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc2MUU3Qzg3OUMwMEU5MTIzQyAvKiBX
ZWJTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc3MUU3Qzg3
OUMwMEU5MTIzQyAvKiBXZWJTb2NrZXRTdHJlYW1NZXNzYWdlcy5oICovLApAQCAtMTI2ODksNiAr
MTI2OTMsNyBAQAogCQkJCTJEOTEzNDQyMjEyQ0Y5RjAwMDEyOEFGRCAvKiBKU05QT2JqZWN0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTI5ODRGNTg4MTY0QkEwOTUwMDRCQzBDNiAvKiBMZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMjk4NEY1N0MxNjRCOTE1RjAwNEJDMEM2IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1
NDMxODUwMEYzMjgxQyAvKiBMaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTQ0OUQ5MERBMjFGREMzMEIwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRp
Y2F0aW9uU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3OTIxMkI2QTYxMDBG
NDkzRkQgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0UxOUVGQjIzRDQwMUYx
MDA5NEZGQjQgLyogTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMTMwMjEsNyArMTMwMjYsNiBAQAogCQkJCTUxRjA2MEUxMTY1NDMx
ODUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBG
MzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUUwQTdDQjIzQjY0NUNEMDA1NjEwNjAgLyog
V2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUMgLyogV2ViU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1QzBCMTc3OTFFN0M4ODIxMDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFtTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAK
aW5kZXggMzQ4ZDhjOWMyYjU2YTRmOTRlMWYwODIxM2I1MGRjMThkMWUzMDFiZi4uODY1YzIyN2M1
MzNjZTBmNzEwNDNhMGVmZWUzZDdjNTI4ZDJiNGRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiV2ViUlRDTW9uaXRvci5oIgogI2luY2x1
ZGUgIldlYlJUQ01vbml0b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlJUQ1Jlc29sdmVyTWVz
c2FnZXMuaCIKLSNpbmNsdWRlICJXZWJSVENTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTV0NsaWVudENvbm5lY3Rp
b24uaCIKICNpbmNsdWRlICJXZWJTV0NsaWVudENvbm5lY3Rpb25NZXNzYWdlcy5oIgpAQCAtNzcs
NiArNzYsNyBAQCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246Ok5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbihJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgYwogICAgICwgbV9jb29raWVBY2NlcHRQ
b2xpY3koY29va2llQWNjZXB0UG9saWN5KQogewogICAgIG1fY29ubmVjdGlvbi0+b3BlbigpOwor
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5zZXRDb25uZWN0
aW9uKG1fY29ubmVjdGlvbi5jb3B5UmVmKCkpOwogfQogCiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b246On5OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKQpAQCAtMTEyLDE0ICsxMTIsNiBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBJUAogICAgIH0KIAogI2lmIFVTRShMSUJXRUJSVEMpCi0gICAgaWYg
KGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBhdXRvJiBuZXR3b3JrID0gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpOwotICAgICAgICBpZiAobmV0d29y
ay5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbmV0d29yay5zb2NrZXQobWFrZU9iamVjdElkZW50
aWZpZXI8TGliV2ViUlRDU29ja2V0SWRlbnRpZmllclR5cGU+KGRlY29kZXIuZGVzdGluYXRpb25J
RCgpKSkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIlJlY2VpdmVkIFdlYlJU
Q1NvY2tldCBtZXNzYWdlIHdoaWxlIGxpYldlYlJUQ05ldHdvcmsgaXMgbm90IGFjdGl2ZSIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5h
bWUoKSA9PSBNZXNzYWdlczo6V2ViUlRDTW9uaXRvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7
CiAgICAgICAgIGF1dG8mIG5ldHdvcmsgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJS
VENOZXR3b3JrKCk7CiAgICAgICAgIGlmIChuZXR3b3JrLmlzQWN0aXZlKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29y
ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRD
TmV0d29yay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRiMmJkMGM5YmRlNzc5NDliMzg4NjIyNjY1MDNkYTM1
M2U2MjA4YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmNwcApAQCAtMCwwICsxLDEzMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENOZXR3b3JrLmgi
CisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDTmV0d29y
a01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU2hh
cmVkQnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK0xpYldlYlJUQ05ldHdvcms6On5MaWJXZWJSVENOZXR3b3JrKCkKK3sKKyAgICBz
ZXRDb25uZWN0aW9uKG51bGxwdHIpOworfQorCit2b2lkIExpYldlYlJUQ05ldHdvcms6Om5ldHdv
cmtQcm9jZXNzQ3Jhc2hlZCgpCit7CisgICAgc2V0Q29ubmVjdGlvbihudWxscHRyKTsKKworI2lm
IFVTRShMSUJXRUJSVEMpCisgICAgbV93ZWJOZXR3b3JrTW9uaXRvci5uZXR3b3JrUHJvY2Vzc0Ny
YXNoZWQoKTsKKyNlbmRpZgorfQorCit2b2lkIExpYldlYlJUQ05ldHdvcms6OnNldENvbm5lY3Rp
b24oUmVmUHRyPElQQzo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQoreworI2lmIFVTRShMSUJX
RUJSVEMpCisgICAgaWYgKG1fY29ubmVjdGlvbikKKyAgICAgICAgbV9jb25uZWN0aW9uLT5yZW1v
dmVUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6Om1lc3Nh
Z2VSZWNlaXZlck5hbWUoKSk7CisjZW5kaWYKKyAgICBtX2Nvbm5lY3Rpb24gPSBXVEZNb3ZlKGNv
bm5lY3Rpb24pOworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgaWYgKG1fY29ubmVjdGlvbikKKyAg
ICAgICAgbV9jb25uZWN0aW9uLT5hZGRUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6Okxp
YldlYlJUQ05ldHdvcms6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhpcyk7CisjZW5kaWYKK30K
KworYm9vbCBMaWJXZWJSVENOZXR3b3JrOjppc0FjdGl2ZSgpIGNvbnN0Cit7CisjaWYgVVNFKExJ
QldFQlJUQykKKyAgICByZXR1cm4gV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6Omhhc1dlYlJU
Q1RocmVhZHMoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK3ZvaWQg
TGliV2ViUlRDTmV0d29yazo6ZGlzcGF0Y2hUb1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgY2Fs
bGJhY2spCit7CisgICAgaWYgKCFpc0FjdGl2ZSgpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VS
Uk9SKFdlYlJUQywgIlJlY2VpdmVkIFdlYlJUQ1NvY2tldCBtZXNzYWdlIHdoaWxlIGxpYldlYlJU
Q05ldHdvcmsgaXMgbm90IGFjdGl2ZSIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisjaWYg
VVNFKExJQldFQlJUQykKKyAgICBXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcjo6Y2FsbE9uV2Vi
UlRDTmV0d29ya1RocmVhZChXVEZNb3ZlKGNhbGxiYWNrKSk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShjYWxsYmFjayk7CisjZW5kaWYKK30KKworI2lmIFVTRShMSUJXRUJSVEMpCit2b2lkIExp
YldlYlJUQ05ldHdvcms6OnNpZ25hbEFkZHJlc3NSZWFkeShXZWJDb3JlOjpMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3Mm
IGFkZHJlc3MpCit7CisgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7CisgICAgaWYg
KGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikpCisgICAg
ICAgIHNvY2tldC0+c2lnbmFsQWRkcmVzc1JlYWR5KGFkZHJlc3MudmFsdWUpOworfQorCit2b2lk
IExpYldlYlJUQ05ldHdvcms6OnNpZ25hbFJlYWRQYWNrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29j
a2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEs
IGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50
NjRfdCB0aW1lc3RhbXApCit7CisgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7Cisg
ICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikp
CisgICAgICAgIHNvY2tldC0+c2lnbmFsUmVhZFBhY2tldChkYXRhLmRhdGEoKSwgZGF0YS5zaXpl
KCksIHJ0Yzo6U29ja2V0QWRkcmVzcyhhZGRyZXNzLnZhbHVlLCBwb3J0KSwgdGltZXN0YW1wKTsK
K30KKwordm9pZCBMaWJXZWJSVENOZXR3b3JrOjpzaWduYWxTZW50UGFja2V0KFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgaW50IHJ0Y1BhY2tldElELCBpbnQ2
NF90IHNlbmRUaW1lTXMpCit7CisgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7Cisg
ICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcikp
CisgICAgICAgIHNvY2tldC0+c2lnbmFsU2VudFBhY2tldChydGNQYWNrZXRJRCwgc2VuZFRpbWVN
cyk7Cit9CisKK3ZvaWQgTGliV2ViUlRDTmV0d29yazo6c2lnbmFsQ29ubmVjdChXZWJDb3JlOjpM
aWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKCFXVEY6
OmlzTWFpblJ1bkxvb3AoKSk7CisgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0RmFjdG9y
eS5zb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgIHNvY2tldC0+c2lnbmFsQ29ubmVjdCgpOwor
fQorCit2b2lkIExpYldlYlJUQ05ldHdvcms6OnNpZ25hbENsb3NlKFdlYkNvcmU6OkxpYldlYlJU
Q1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgaW50IGVycm9yKQoreworICAgIEFTU0VSVCgh
V1RGOjppc01haW5SdW5Mb29wKCkpOworICAgIGlmIChhdXRvKiBzb2NrZXQgPSBtX3NvY2tldEZh
Y3Rvcnkuc29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICBzb2NrZXQtPnNpZ25hbENsb3NlKGVy
cm9yKTsKK30KKwordm9pZCBMaWJXZWJSVENOZXR3b3JrOjpzaWduYWxOZXdDb25uZWN0aW9uKFdl
YkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6TGli
V2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBSVENOZXR3
b3JrOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKQoreworICAgIEFTU0VSVCghV1RGOjpp
c01haW5SdW5Mb29wKCkpOworICAgIGlmIChhdXRvKiBzb2NrZXQgPSBtX3NvY2tldEZhY3Rvcnku
c29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICBzb2NrZXQtPnNpZ25hbE5ld0Nvbm5lY3Rpb24o
bV9zb2NrZXRGYWN0b3J5LmNyZWF0ZU5ld0Nvbm5lY3Rpb25Tb2NrZXQoKnNvY2tldCwgbmV3U29j
a2V0SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcy52YWx1ZSkpOworfQorI2VuZGlmCisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmgKaW5kZXggZDFmNDlmMDY4OGRlNmJk
NGY3MGVhYjY0MDAzMDYxNjFhMTgxOTE0Zi4uNWNkZjRmNzUyYzY1NmIwNWM1MDNiMDhkN2EwZjNj
ZGZhNDZhMDkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oCkBAIC0yNSwzNSArMjUsMzUgQEAKIAog
I3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoTElCV0VCUlRDKQorI2luY2x1ZGUgIkNvbm5lY3Rpb24u
aCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Nv
Y2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlICJXZWJNRE5TUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJX
ZWJSVENNb25pdG9yLmgiCiAjaW5jbHVkZSAiV2ViUlRDUmVzb2x2ZXIuaCIKLSNpbmNsdWRlICJX
ZWJSVENTb2NrZXQuaCIKLSNlbmRpZgotCi0jaW5jbHVkZSAiV2ViTUROU1JlZ2lzdGVyLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi1jbGFzcyBMaWJXZWJSVENOZXR3b3JrIHsKK2NsYXNzIExpYldlYlJUQ05l
dHdvcmsgOiBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXIgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIExpYldlYlJUQ05ldHdv
cmsoKSA9IGRlZmF1bHQ7CisgICAgfkxpYldlYlJUQ05ldHdvcmsoKTsKIAorICAgIHZvaWQgc2V0
Q29ubmVjdGlvbihSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiYmKTsKICAgICB2b2lkIG5ldHdvcmtQ
cm9jZXNzQ3Jhc2hlZCgpOwogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwogCiAjaWYgVVNF
KExJQldFQlJUQykKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpOworCiAgICAgV2ViUlRDTW9uaXRvciYgbW9uaXRvcigpIHsgcmV0dXJu
IG1fd2ViTmV0d29ya01vbml0b3I7IH0KICAgICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBzb2Nr
ZXRGYWN0b3J5KCkgeyByZXR1cm4gbV9zb2NrZXRGYWN0b3J5OyB9CiAKICAgICB2b2lkIGRpc2Fi
bGVOb25Mb2NhbGhvc3RDb25uZWN0aW9ucygpIHsgc29ja2V0RmFjdG9yeSgpLmRpc2FibGVOb25M
b2NhbGhvc3RDb25uZWN0aW9ucygpOyB9CiAKLSAgICBXZWJSVENTb2NrZXQgc29ja2V0KFdlYkNv
cmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllcikgeyByZXR1cm4gV2ViUlRD
U29ja2V0KHNvY2tldEZhY3RvcnkoKSwgaWRlbnRpZmllcik7IH0KICAgICBXZWJSVENSZXNvbHZl
ciByZXNvbHZlcihMaWJXZWJSVENSZXNvbHZlcklkZW50aWZpZXIgaWRlbnRpZmllcikgeyByZXR1
cm4gV2ViUlRDUmVzb2x2ZXIoc29ja2V0RmFjdG9yeSgpLCBpZGVudGlmaWVyKTsgfQogI2VuZGlm
CiAKQEAgLTYyLDYgKzYyLDE4IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgorI2lmIFVT
RShMSUJXRUJSVEMpCisgICAgdm9pZCBzaWduYWxSZWFkUGFja2V0KFdlYkNvcmU6OkxpYldlYlJU
Q1NvY2tldElkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJUQ05l
dHdvcms6OklQQWRkcmVzcyYsIHVpbnQxNl90IHBvcnQsIGludDY0X3QpOworICAgIHZvaWQgc2ln
bmFsU2VudFBhY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBpbnQsIGlu
dDY0X3QpOworICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5KFdlYkNvcmU6OkxpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKKyAgICB2
b2lkIHNpZ25hbENvbm5lY3QoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllcik7Cisg
ICAgdm9pZCBzaWduYWxDbG9zZShXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBp
bnQpOworICAgIHZvaWQgc2lnbmFsTmV3Q29ubmVjdGlvbihXZWJDb3JlOjpMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIHNvY2tldElkZW50aWZpZXIsIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElk
ZW50aWZpZXIgbmV3U29ja2V0SWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpSVENOZXR3b3JrOjpT
b2NrZXRBZGRyZXNzJik7CisjZW5kaWYKKworICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6VGhyZWFk
TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0aW9uPHZvaWQo
KT4mJikgZmluYWw7CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIExpYldlYlJUQ1NvY2tldEZh
Y3RvcnkgbV9zb2NrZXRGYWN0b3J5OwogICAgIFdlYlJUQ01vbml0b3IgbV93ZWJOZXR3b3JrTW9u
aXRvcjsKQEAgLTY5LDIyICs4MSw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAg
ICAgV2ViTUROU1JlZ2lzdGVyIG1fbWRuc1JlZ2lzdGVyOwogI2VuZGlmCisgICAgUmVmUHRyPElQ
Qzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogfTsKIAotaW5saW5lIHZvaWQgTGliV2ViUlRD
TmV0d29yazo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkKLXsKLSNpZiBVU0UoTElCV0VCUlRDKQot
ICAgIG1fd2ViTmV0d29ya01vbml0b3IubmV0d29ya1Byb2Nlc3NDcmFzaGVkKCk7Ci0jZW5kaWYK
LX0KLQotaW5saW5lIGJvb2wgTGliV2ViUlRDTmV0d29yazo6aXNBY3RpdmUoKSBjb25zdAotewot
I2lmIFVTRShMSUJXRUJSVEMpCi0gICAgcmV0dXJuIFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVy
OjpoYXNXZWJSVENUaHJlYWRzKCk7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsubWVz
c2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTk2ZDFiNjJhYzZiYWQxM2M5NmM1YWZhZWE3YzgxMjUxMDEw
YmE0NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzQgQEAKKyMg
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMp
CisKK21lc3NhZ2VzIC0+IExpYldlYlJUQ05ldHdvcmsgTm90UmVmQ291bnRlZCB7CisgICAgU2ln
bmFsUmVhZFBhY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIHNvY2tldElk
ZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQ
QWRkcmVzcyBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBT
aWduYWxTZW50UGFja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgc29ja2V0
SWRlbnRpZmllciwgaW50IHBhY2tldFNpemUsIGludDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25h
bEFkZHJlc3NSZWFkeShXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIHNvY2tldElk
ZW50aWZpZXIsIFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBhZGRyZXNzKQorICAg
IFNpZ25hbENvbm5lY3QoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJ
ZGVudGlmaWVyKQorICAgIFNpZ25hbENsb3NlKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50
aWZpZXIgc29ja2V0SWRlbnRpZmllciwgaW50IGVycm9yKQorICAgIFNpZ25hbE5ld0Nvbm5lY3Rp
b24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBzb2NrZXRJZGVudGlmaWVyLCBX
ZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG5ld1NvY2tldElkZW50aWZpZXIsIFdl
YktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyByZW1vdGVBZGRyZXNzKQorfQorCisjZW5k
aWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKaW5kZXggYjVlNDNmNDU2
ZWIzMGUwMmZmMWQzNGQ1YzE1NzJmMTJhNTEzNzM5OS4uN2FlZDY0NTdhODM4MTU3YjcyYjAyMzc0
MGQ4ZDc1MjQ4YmE1MjY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTgxLDEzICs4MSwx
MyBAQCB2b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IHJ0Yzo6
U29ja2V0QWRkcmVzcyYgYWRkcmVzcykKICAgICBTaWduYWxBZGRyZXNzUmVhZHkodGhpcywgbV9s
b2NhbEFkZHJlc3MpOwogfQogCi12b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsUmVhZFBhY2tl
dChjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGJ1ZmZlciwgcnRjOjpTb2NrZXRBZGRyZXNz
JiYgYWRkcmVzcywgaW50NjRfdCB0aW1lc3RhbXApCit2b2lkIExpYldlYlJUQ1NvY2tldDo6c2ln
bmFsUmVhZFBhY2tldChjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6ZSwgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiYgYWRkcmVzcywgaW50NjRfdCB0aW1lc3RhbXApCiB7CiAgICAgaWYgKG1faXNT
dXNwZW5kZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fcmVtb3RlQWRkcmVzcyA9IFdURk1v
dmUoYWRkcmVzcyk7Ci0gICAgU2lnbmFsUmVhZFBhY2tldCh0aGlzLCBidWZmZXIuZGF0YSgpLCBi
dWZmZXIuc2l6ZSgpLCBtX3JlbW90ZUFkZHJlc3MsIHRpbWVzdGFtcCk7CisgICAgU2lnbmFsUmVh
ZFBhY2tldCh0aGlzLCByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihkYXRhKSwgc2l6ZSwg
bV9yZW1vdGVBZGRyZXNzLCB0aW1lc3RhbXApOwogfQogCiB2b2lkIExpYldlYlJUQ1NvY2tldDo6
c2lnbmFsU2VudFBhY2tldChpbnQgcnRjUGFja2V0SUQsIGludDY0X3Qgc2VuZFRpbWVNcykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVENTb2NrZXQuaAppbmRleCAzZmQxY2UxNzgwYTlhYzZlNTI1NTc2YzMwNGRlZTUwNGE3NDU1
OTUyLi5iMmU4ZWNjNzk4ZjkxM2U2YzkyNmJkNzIzNWYzMzE5Njg1YjU5YjEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1NvY2tldC5oCkBAIC0zOSwxMCArMzksNiBAQCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3Mg
RGVjb2RlcjsKIH0KIAotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgU2hhcmVkQnVmZmVyOwot
fQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTGliV2ViUlRDU29ja2V0RmFjdG9yeTsK
QEAgLTY5LDggKzY1LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBib29sIHdpbGxTZW5kKHNp
emVfdCk7CiAKLSAgICBmcmllbmQgY2xhc3MgV2ViUlRDU29ja2V0OwotICAgIHZvaWQgc2lnbmFs
UmVhZFBhY2tldChjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImLCBydGM6OlNvY2tldEFkZHJl
c3MmJiwgaW50NjRfdCk7CisgICAgZnJpZW5kIGNsYXNzIExpYldlYlJUQ05ldHdvcms7CisgICAg
dm9pZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QsIHJ0Yzo6U29ja2V0
QWRkcmVzcyYmLCBpbnQ2NF90KTsKICAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQoaW50LCBpbnQ2
NF90KTsKICAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmKTsKICAgICB2b2lkIHNpZ25hbENvbm5lY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRG
YWN0b3J5LmNwcAppbmRleCBmZjAxNzEzOWYyNjI5N2Y3YzViZTU1M2EzM2RmNTMwZWM2ZDUwZTY5
Li5hOGRhN2NjOWFlODA0ZmU5YzI4OGJlZjJkNTNlNjVmMjM2YWRjODA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFj
dG9yeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiTmV0
d29ya1JUQ01vbml0b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlck1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tl
dC5oIgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJU
Q1NvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDU29ja2V0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzgyOTNiY2NmYjlm
MmQ5YmMyZjY1YjA0NzljYjRkNThiOGM2ZjlmNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUlRDU29ja2V0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYlJUQ1NvY2tldC5oIgot
Ci0jaWYgVVNFKExJQldFQlJUQykKLQotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNs
dWRlICJMaWJXZWJSVENTb2NrZXQuaCIKLSNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5
LmgiCi0jaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VzLmgiCi0jaW5jbHVkZSA8V2Vi
Q29yZS9TaGFyZWRCdWZmZXIuaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotdm9pZCBXZWJSVENTb2Nr
ZXQ6OnNpZ25hbE9uTmV0d29ya1RocmVhZChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBmYWN0b3J5
LCBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIEZ1bmN0aW9uPHZvaWQoTGli
V2ViUlRDU29ja2V0Jik+JiYgY2FsbGJhY2spCi17Ci0gICAgLy8gZmFjdG9yeSBpcyBzdGF5aW5n
IHZhbGlkIGR1cmluZyB0aGUgcHJvY2VzcyBsaWZldGltZS4KLSAgICBXZWJDb3JlOjpMaWJXZWJS
VENQcm92aWRlcjo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZp
ZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgewotICAgICAgICBhdXRvKiBzb2Nr
ZXQgPSBmYWN0b3J5LnNvY2tldChpZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFzb2NrZXQpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNhbGxiYWNrKCpzb2NrZXQpOwotICAgIH0pOwot
fQotCi1XZWJSVENTb2NrZXQ6OldlYlJUQ1NvY2tldChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBm
YWN0b3J5LCBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgOiBtX2Zh
Y3RvcnkoZmFjdG9yeSkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotewotfQotCi12
b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IFJUQ05ldHdvcms6OlNv
Y2tldEFkZHJlc3MmIGFkZHJlc3MpCi17Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFj
dG9yeSwgbV9pZGVudGlmaWVyLCBbYWRkcmVzc10oTGliV2ViUlRDU29ja2V0JiBzb2NrZXQpIHsK
LSAgICAgICAgc29ja2V0LnNpZ25hbEFkZHJlc3NSZWFkeShhZGRyZXNzLnZhbHVlKTsKLSAgICB9
KTsKLX0KLQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGFkZHJlc3Ms
IHVpbnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQotewotICAgIGF1dG8gYnVmZmVyID0g
V2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKTsK
LSAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtidWZm
ZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIHBvcnQsIHRpbWVzdGFtcF0oTGliV2ViUlRD
U29ja2V0JiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbFJlYWRQYWNrZXQoYnVmZmVy
LmdldCgpLCBydGM6OlNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCksIHRpbWVzdGFt
cCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxTZW50UGFja2V0KGlu
dCBydGNQYWNrZXRJRCwgaW50NjRfdCBzZW5kVGltZU1zKQotewotICAgIHNpZ25hbE9uTmV0d29y
a1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW3J0Y1BhY2tldElELCBzZW5kVGltZU1z
XShhdXRvJiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbFNlbnRQYWNrZXQocnRjUGFj
a2V0SUQsIHNlbmRUaW1lTXMpOwotICAgIH0pOwotfQotCi12b2lkIFdlYlJUQ1NvY2tldDo6c2ln
bmFsQ29ubmVjdCgpCi17Ci0gICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9p
ZGVudGlmaWVyLCBbXShhdXRvJiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbENvbm5l
Y3QoKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbENsb3NlKGludCBl
cnJvcikKLXsKLSAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZp
ZXIsIFtlcnJvcl0oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zaWduYWxDbG9zZShl
cnJvcik7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxOZXdDb25uZWN0
aW9uKExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3U29ja2V0SWRlbnRpZmllciwgY29uc3Qg
UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKLXsKLSAgICBzaWduYWxP
bk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtuZXdTb2NrZXRJZGVudGlm
aWVyLCByZW1vdGVBZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KHJlbW90ZUFkZHJl
c3MudmFsdWUpXShhdXRvJiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNpZ25hbE5ld0Nvbm5l
Y3Rpb24oc29ja2V0Lm1fZmFjdG9yeS5jcmVhdGVOZXdDb25uZWN0aW9uU29ja2V0KHNvY2tldCwg
bmV3U29ja2V0SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcykpOwotICAgIH0pOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3ZTE4ZGZlMzAzOGZjZTdlNzJhYjQ5ZWZl
OGEyODcwYjRmOTgyZmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tl
dC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgVVNFKExJQldFQlJUQykKLQotI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKLSNp
bmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1NvY2tldElkZW50aWZpZXIuaD4KLSNpbmNsdWRlIDx3
dGYvRnVuY3Rpb24uaD4KLQotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xh
c3MgRGF0YVJlZmVyZW5jZTsKLWNsYXNzIERlY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQg
ewotCi1jbGFzcyBMaWJXZWJSVENTb2NrZXQ7Ci1jbGFzcyBMaWJXZWJSVENTb2NrZXRGYWN0b3J5
OwotCi1jbGFzcyBXZWJSVENTb2NrZXQgewotcHVibGljOgotICAgIFdlYlJUQ1NvY2tldChMaWJX
ZWJSVENTb2NrZXRGYWN0b3J5JiwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllcik7
Ci0KLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVj
b2RlciYpOwotCi0gICAgc3RhdGljIHZvaWQgc2lnbmFsT25OZXR3b3JrVGhyZWFkKExpYldlYlJU
Q1NvY2tldEZhY3RvcnkmLCBXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBGdW5j
dGlvbjx2b2lkKExpYldlYlJUQ1NvY2tldCYpPiYmKTsKLQotcHJpdmF0ZToKLSAgICB2b2lkIHNp
Z25hbFJlYWRQYWNrZXQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29y
azo6SVBBZGRyZXNzJiwgdWludDE2X3QgcG9ydCwgaW50NjRfdCk7Ci0gICAgdm9pZCBzaWduYWxT
ZW50UGFja2V0KGludCwgaW50NjRfdCk7Ci0gICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29u
c3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYpOwotICAgIHZvaWQgc2lnbmFsQ29ubmVjdCgp
OwotICAgIHZvaWQgc2lnbmFsQ2xvc2UoaW50KTsKLSAgICB2b2lkIHNpZ25hbE5ld0Nvbm5lY3Rp
b24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBuZXdTb2NrZXRJZGVudGlmaWVy
LCBjb25zdCBXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmKTsKLQotICAgIExpYldl
YlJUQ1NvY2tldEZhY3RvcnkmIG1fZmFjdG9yeTsKLSAgICBXZWJDb3JlOjpMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAot
Ci0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmlu
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTlkMGNlZDFiNmNiZGQzNzZhMzBiZjY1
MjQ2ZWQ3MTBhMjg2YTRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2Nr
ZXQubWVzc2FnZXMuaW4KKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0jIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQKLSMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
IyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUgotIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0jIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
Ci0jIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSCi0jIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0jIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSNpZiBVU0UoTElCV0VCUlRDKQotCi1tZXNz
YWdlcyAtPiBXZWJSVENTb2NrZXQgTm90UmVmQ291bnRlZCB7Ci0gICAgU2lnbmFsUmVhZFBhY2tl
dChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3Mg
YWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0aW1lc3RhbXApCi0gICAgU2lnbmFsU2Vu
dFBhY2tldChpbnQgcGFja2V0U2l6ZSwgaW50NjRfdCB0aW1lc3RhbXApCi0gICAgU2lnbmFsQWRk
cmVzc1JlYWR5KFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBhZGRyZXNzKQotICAg
IFNpZ25hbENvbm5lY3QoKQotICAgIFNpZ25hbENsb3NlKGludCBlcnJvcikKLSAgICBTaWduYWxO
ZXdDb25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3U29ja2V0
SWRlbnRpZmllciwgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIHJlbW90ZUFkZHJl
c3MpCi19Ci0KLSNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>