<?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>208415</bug_id>
          
          <creation_ts>2020-02-29 08:49:11 -0800</creation_ts>
          <short_desc>[Cocoa] Mapping from MIME type to UTI type should be done in the UI process</short_desc>
          <delta_ts>2020-03-09 12:13:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=208508</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>208513</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jacob_uphoff</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1624286</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-29 08:49:11 -0800</bug_when>
    <thetext>This is currently done in the WebContent process, but since this is using a system service which will be closed, this mapping should be moved to the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624288</commentid>
    <comment_count>1</comment_count>
      <attachid>392062</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-29 09:06:14 -0800</bug_when>
    <thetext>Created attachment 392062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624289</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-29 09:06:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/59919609&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624297</commentid>
    <comment_count>3</comment_count>
      <attachid>392065</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-29 09:29:37 -0800</bug_when>
    <thetext>Created attachment 392065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624307</commentid>
    <comment_count>4</comment_count>
      <attachid>392069</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-29 12:19:54 -0800</bug_when>
    <thetext>Created attachment 392069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624317</commentid>
    <comment_count>5</comment_count>
      <attachid>392070</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-29 13:32:04 -0800</bug_when>
    <thetext>Created attachment 392070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624335</commentid>
    <comment_count>6</comment_count>
      <attachid>392077</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-29 15:53:40 -0800</bug_when>
    <thetext>Created attachment 392077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624336</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-29 15:54:40 -0800</bug_when>
    <thetext>Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624357</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-29 19:31:46 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 392077:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624358</commentid>
    <comment_count>9</comment_count>
      <attachid>392077</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-29 19:32:21 -0800</bug_when>
    <thetext>Comment on attachment 392077
Patch

Clearing flags on attachment: 392077

Committed r257687: &lt;https://trac.webkit.org/changeset/257687&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624542</commentid>
    <comment_count>10</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-03-02 07:40:14 -0800</bug_when>
    <thetext>It looks like the changes made here have caused 50+ assertion failures between macOS and iOS. https://results.webkit.org/?suite=layout-tests&amp;test=editing%2Fpasteboard%2Fcopy-standalone-image.html &amp; https://results.webkit.org/?suite=layout-tests&amp;test=http%2Ftests%2Fcanvas%2Fphilip%2Ftests%2Fsecurity.pattern.create.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624553</commentid>
    <comment_count>11</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-03-02 08:13:37 -0800</bug_when>
    <thetext>Reverted r257687 for reason:

This commit caused debug tests to crash for macOS &amp; iOS

Committed r257713: &lt;https://trac.webkit.org/changeset/257713&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624609</commentid>
    <comment_count>12</comment_count>
      <attachid>392153</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-02 10:49:24 -0800</bug_when>
    <thetext>Created attachment 392153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624620</commentid>
    <comment_count>13</comment_count>
      <attachid>392156</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-02 11:06:52 -0800</bug_when>
    <thetext>Created attachment 392156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624663</commentid>
    <comment_count>14</comment_count>
      <attachid>392156</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 12:21:38 -0800</bug_when>
    <thetext>Comment on attachment 392156
Patch

Clearing flags on attachment: 392156

Committed r257725: &lt;https://trac.webkit.org/changeset/257725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624799</commentid>
    <comment_count>15</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-03-02 15:59:02 -0800</bug_when>
    <thetext>Reverted r257725 for reason:

This commit caused 10 API tests to fail

Committed r257745: &lt;https://trac.webkit.org/changeset/257745&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624813</commentid>
    <comment_count>16</comment_count>
      <attachid>392210</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-02 16:12:44 -0800</bug_when>
    <thetext>Created attachment 392210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624869</commentid>
    <comment_count>17</comment_count>
      <attachid>392231</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-02 17:47:04 -0800</bug_when>
    <thetext>Created attachment 392231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624894</commentid>
    <comment_count>18</comment_count>
      <attachid>392231</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 18:37:40 -0800</bug_when>
    <thetext>Comment on attachment 392231
Patch

Clearing flags on attachment: 392231

Committed r257754: &lt;https://trac.webkit.org/changeset/257754&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624999</commentid>
    <comment_count>19</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-03 05:05:21 -0800</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #18)
&gt; Committed r257754: &lt;https://trac.webkit.org/changeset/257754&gt;
This seems to have broken API test: TestWebKitAPI.DragAndDropTests.CanStartDragOnEnormousImage, Tracked in Bug 208508.

EWS also warned about this failure in https://ews-build.webkit.org/#/builders/9/builds/18618</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625050</commentid>
    <comment_count>20</comment_count>
      <attachid>392275</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-03 07:55:51 -0800</bug_when>
    <thetext>Created attachment 392275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625053</commentid>
    <comment_count>21</comment_count>
      <attachid>392277</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-03 08:02:27 -0800</bug_when>
    <thetext>Created attachment 392277
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625129</commentid>
    <comment_count>22</comment_count>
      <attachid>392298</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-03 10:53:57 -0800</bug_when>
    <thetext>Created attachment 392298
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625181</commentid>
    <comment_count>23</comment_count>
      <attachid>392309</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-03 12:27:52 -0800</bug_when>
    <thetext>Created attachment 392309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625257</commentid>
    <comment_count>24</comment_count>
      <attachid>392331</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-03 14:30:51 -0800</bug_when>
    <thetext>Created attachment 392331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625301</commentid>
    <comment_count>25</comment_count>
      <attachid>392345</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-03 16:00:36 -0800</bug_when>
    <thetext>Created attachment 392345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625339</commentid>
    <comment_count>26</comment_count>
      <attachid>392355</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-03 17:19:00 -0800</bug_when>
    <thetext>Created attachment 392355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625396</commentid>
    <comment_count>27</comment_count>
      <attachid>392355</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-03 21:13:07 -0800</bug_when>
    <thetext>Comment on attachment 392355
Patch

Clearing flags on attachment: 392355

Committed r257828: &lt;https://trac.webkit.org/changeset/257828&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392062</attachid>
            <date>2020-02-29 09:06:14 -0800</date>
            <delta_ts>2020-02-29 09:29:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200229090614.patch</filename>
            <type>text/plain</type>
            <size>16822</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
aXMgY3VycmVudGx5IGRvbmUgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcywgYnV0IHNpbmNlIHRo
aXMgaXMgdXNpbmcgYSBzeXN0ZW0gc2VydmljZSB3aGljaCB3aWxsIGJlIGNsb3NlZCwKKyAgICAg
ICAgdGhpcyBtYXBwaW5nIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgVUkgcHJvY2Vzcy4gVGhlIFVJ
IHByb2Nlc3Mgd2lsbCBjcmVhdGUgdGhpcyBtYXBwaW5nIGZvciBhIHNldCBvZiBtaW1lIHR5cGVz
LAorICAgICAgICBhbmQgc2VuZCBpdCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLgorCisgICAg
ICAgIEFQSSB0ZXN0OiBXZWJLaXQuVVRJRnJvbU1JTUVUeXBlCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9VVElVdGlsaXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjptYXBVVElGcm9tTUlNRVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k6OmNyZWF0
ZVZhbHVlRm9yS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OmNhY2hlVVRJRnJvbU1pbWVUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OlVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpt
aW1lVHlwZXMpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKToK
KyAgICAgICAgKFdlYkNvcmU6OnNldFVUSUZyb21NSU1FVHlwZU1hcCk6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElG
cm9tTUlNRVR5cGUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDIwLTAyLTI4ICBFcmljIENhcmxzb24gIDxlcmlj
LmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24gcjI1NzYxMjogV2luZG93
cyBidWlsZCBicm9rZW4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1VUSVV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMjMsMTcgKzIzLDE4IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgVVRJVXRpbGl0
aWVzX2gKLSNkZWZpbmUgVVRJVXRpbGl0aWVzX2gKKyNwcmFnbWEgb25jZQogCi0jaW1wb3J0IDx3
dGYvRm9yd2FyZC5oPgotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisKIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJik7CiBTdHJpbmcgTUlNRVR5cGVG
cm9tVVRJVHJlZShjb25zdCBTdHJpbmcmKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBVVElGcm9t
TUlNRVR5cGUoY29uc3QgU3RyaW5nJik7CiBib29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5n
Jik7Ci19CiAKLSNlbmRpZiAvLyBVVElVdGlsaXRpZXNfaAorV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJik7CitXRUJDT1JF
X0VYUE9SVCBjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3JlYXRlVVRJRnJvbU1JTUVU
eXBlTWFwKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbWltZVR5cGVz
KCk7Cit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGls
aXRpZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvVVRJVXRpbGl0aWVzLm1tCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEx
MywxMCArMTEzLDIxIEBAIHN0YXRpYyBTdHJpbmcgVVRJRnJvbVVua25vd25NSU1FVHlwZShjb24K
ICAgICByZXR1cm4gbWFwRW50cnktPnZhbHVlOwogfQogCitzdGF0aWMgT3B0aW9uYWw8SGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4+JiBtYXBVVElGcm9tTUlNRVR5cGUoKQoreworICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3RyaW5nPj4+IG1hcDsKKyAg
ICByZXR1cm4gbWFwOworfQorCiBzdHJ1Y3QgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3kgOiBU
aW55TFJVQ2FjaGVQb2xpY3k8U3RyaW5nLCBTdHJpbmc+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
U3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5KQogICAgIHsKKyAgICAg
ICAgaWYgKG1hcFVUSUZyb21NSU1FVHlwZSgpLmhhc1ZhbHVlKCkpIHsKKyAgICAgICAgICAgIGNv
bnN0IGF1dG8mIGl0ID0gbWFwVVRJRnJvbU1JTUVUeXBlKCktPmZpbmQoa2V5KTsKKyAgICAgICAg
ICAgIGlmIChpdCAhPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZW5kKCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGl0LT52YWx1ZTsKKyAgICAgICAgfQogICAgICAgICBhdXRvIHR5cGUgPSBhZG9w
dENGKFVUVHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NNSU1F
VHlwZSwga2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIDApKTsKICAgICAgICAgaWYgKHR5cGUp
CiAgICAgICAgICAgICByZXR1cm4gdHlwZS5nZXQoKTsKQEAgLTEyNCwxMSArMTM1LDE2IEBAIHB1
YmxpYzoKICAgICB9CiB9OwogCitzdGF0aWMgVGlueUxSVUNhY2hlPFN0cmluZywgU3RyaW5nLCAx
NiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+JiBjYWNoZVVUSUZyb21NaW1lVHlwZSgpCit7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywg
MTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7CisgICAgcmV0dXJuIGNhY2hl
OworfQorCiBTdHJpbmcgVVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
VGlueUxSVUNhY2hlPFN0cmluZywgU3RyaW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xp
Y3k+PiBjYWNoZTsKLSAgICByZXR1cm4gY2FjaGUuZ2V0KCkuZ2V0KG1pbWVUeXBlKTsKKyAgICBy
ZXR1cm4gY2FjaGVVVElGcm9tTWltZVR5cGUoKS5nZXQobWltZVR5cGUpOwogfQogCiBib29sIGlz
RGVjbGFyZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCkBAIC0xMzYsNCArMTUyLDY1IEBAIGJvb2wg
aXNEZWNsYXJlZFVUSShjb25zdCBTdHJpbmcmIFVUSSkKICAgICByZXR1cm4gVVRUeXBlSXNEZWNs
YXJlZChVVEkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CiB9CiAKK2NvbnN0IFZlY3RvcjxTdHJp
bmc+JiBtaW1lVHlwZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3Ry
aW5nPj4gbWltZVR5cGVzID0gc3RkOjppbml0aWFsaXplcl9saXN0PFN0cmluZz4geworICAgICAg
ICAiYXBwbGljYXRpb24vb2dnIl9zLAorICAgICAgICAiYXVkaW8vb2dnIl9zLAorICAgICAgICAi
dmlkZW8vb2dnIl9zLAorICAgICAgICAiYXBwbGljYXRpb24vYW5ub2RleCJfcywKKyAgICAgICAg
ImF1ZGlvL2Fubm9kZXgiX3MsCisgICAgICAgICJ2aWRlby9hbm5vZGV4Il9zLAorICAgICAgICAi
YXVkaW8vc3BlZXgiX3MsCisgICAgICAgICJ2aWRlby93ZWJtIl9zLAorICAgICAgICAiYXVkaW8v
d2VibSJfcywKKyAgICAgICAgImF1ZGlvL21wZWciX3MsCisgICAgICAgICJ2aWRlby9tcGVnIl9z
LAorICAgICAgICAiYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmwiX3MsCisgICAgICAgICJh
cHBsaWNhdGlvbi9tcGVndXJsIl9zLAorICAgICAgICAiYXBwbGljYXRpb24veC1tcGVndXJsIl9z
LAorICAgICAgICAiYXVkaW8vbXBlZ3VybCJfcywKKyAgICAgICAgImF1ZGlvL3gtbXBlZ3VybCJf
cywKKyAgICAgICAgImF1ZGlvL21wZWd1cmwiX3MsCisgICAgICAgICJ2aWRlby94LW00diJfcywK
KyAgICAgICAgImF1ZGlvL3gtbTRhIl9zLAorICAgICAgICAiYXVkaW8veC1tNGIiX3MsCisgICAg
ICAgICJhdWRpby94LW00cCJfcywKKyAgICAgICAgImF1ZGlvL21wNCJfcywKKyAgICAgICAgImF1
ZGlvL21wMyJfcywKKyAgICAgICAgImF1ZGlvL3gtbXAzIl9zLAorICAgICAgICAiYXVkaW8veC1t
cGVnIl9zLAorICAgICAgICAidmlkZW8veC1tcGVnMiJfcywKKyAgICAgICAgInZpZGVvL21wZWcy
Il9zLAorICAgICAgICAidmlkZW8vbTJ0cyJfcywKKyAgICAgICAgInZpZGVvL3gtbTJ0cyJfcywK
KyAgICAgICAgImF1ZGlvLzNncHAiX3MsCisgICAgICAgICJhdWRpby8zZ3BwMiJfcywKKyAgICAg
ICAgImFwcGxpY2F0aW9uL3gtbXBlZyJfcywKKyAgICAgICAgImF1ZGlvL2FhYyJfcywKKyAgICAg
ICAgImF1ZGlvL3gtYWFjIl9zLAorICAgICAgICAiYXVkaW8veC1jYWYiX3MsCisgICAgICAgICJh
dWRpby94LWdzbSJfcywKKyAgICAgICAgImF1ZGlvL3gtd2F2Il9zLAorICAgICAgICAiYXVkaW8v
dm5kLndhdmUiX3MsCisgICAgfTsKKyAgICByZXR1cm4gbWltZVR5cGVzOworfTsKKworY29uc3Qg
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpCit7Cisg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXAgPSBb
XSB7CisgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGNhY2hlOworICAgICAgICBmb3Ig
KGF1dG8gbWltZVR5cGUgOiBtaW1lVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFkZChtaW1l
VHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIHJldHVybiBjYWNoZTsK
KyAgICB9KCk7CisgICAgcmV0dXJuIG1hcDsKK30KKwordm9pZCBzZXRVVElGcm9tTUlNRVR5cGVN
YXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJiBtYXApCit7CisgICAgbWFwVVRJRnJvbU1JTUVU
eXBlKCkgPSBtYXA7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAJKHJldmlzaW9uIDI1NzY0MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ3Miw2ICs1NDcyLDExIEBAIFN0cmluZyBJbnRlcm5h
bHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKIHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsK
IH0KKworU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYg
bWltZVR5cGUpCit7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3Ry
aW5nIEludGVybmFsczo6bWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4
dGVuc2lvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3
NjQxKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5
KQpAQCAtOTM4LDYgKzkzOCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBl
Rm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRV
VElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICBib29sIHN1cHBv
cnRzUGljdHVyZUluUGljdHVyZSgpOwogCiAgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTc2NDEpCisr
KyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTg0Niw2ICs4NDYsOCBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcg
ZW5jb2RlZFByZWZlcmVuY2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsK
IAogICAgIERPTVN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRl
bnNpb24pOwotICAgIAorCisgICAgRE9NU3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJp
bmcgbWltZVR5cGUpOworCiAgICAgYm9vbGVhbiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQkocmV2aXNpb24gMjU3NjQx
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIkhpdFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1l
ZGlhUGxheWVyUHJpdmF0ZS5oIgogI2ltcG9ydCAiUmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxp
dGllcy5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYv
Y29jb2EvTlNVUkxFeHRyYXMuaD4KIApAQCAtMTAwLDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5h
bHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0K
IAorU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUpCit7CisgICAgcmV0dXJuIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJv
bSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgdGhl
IG1hcHBpbmcgYmV0d2VlbiBNSU1FIHR5cGVzIGFuZCBVVEkgdHlwZXMgdG8gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyBhcyBwYXJ0IG9mIHRoZSBXZWIKKyAgICAgICAgcHJvY2VzcyBjcmVhdGlvbiBw
YXJhbWV0ZXJzLgorCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQ
cm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisKIDIwMjAtMDItMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIENvbnZlcnNpb24gYmV0d2VlbiBNZWRpYVNhbXBsZSBhbmQgUmVtb3RlVmlkZW9TYW1w
bGUgc2hvdWxkIHByZXNlcnZlIHRoZSByb3RhdGlvbiBpbmZvcm1hdGlvbgpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHAJKHJldmlzaW9uIDI1NzY0MSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDcgQEAg
dm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogICAgIGVuY29kZXIgPDwg
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNvZGVyIDw8IHN5c3RlbUhh
c0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBtaW1lVHlwZXNNYXA7CisgICAgZW5jb2RlciA8PCBt
YXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBA
IC00NjAsNiArNDYxLDEyIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBh
cmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RGTW92ZSgqbWltZVR5cGVzTWFwKTsKKworICAgIE9w
dGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAg
ZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAgaWYgKCFtYXBVVElGcm9tTUlNRVR5
cGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1F
VHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21NSU1FVHlwZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5h
Z2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGJvb2wgc3lzdGVtSGFzQmF0dGVyeSB7IGZhbHNlIH07
CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+LCBBU0NJSUNhc2VJ
bnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlwZXNNYXA7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4gbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2
ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtUGFzdGVib2FyZC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUv
U2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9y
dCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgog
I2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBAIC00MDYsNiArNDA3LDggQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1h
bmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKG1hbmFnZXJIYW5kbGUpOwogICAgIH0KICAg
ICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0JhdHRlcnkgPSBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisgICAg
cGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25NaW1lVHlwZXNNYXAoKTsKKyAgICBwYXJh
bWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwog
I2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNDE0LDcgKzQxNyw2IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICAgICAgU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2
aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50RmlsdGVyLnJlbW90ZVVJIiwgV1RGOjpudWxsb3B0LCBo
YW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUg
PSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQotICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0g
Y29tbW9uTWltZVR5cGVzTWFwKCk7CiAjZW5kaWYKICAgICAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3
IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9T
V0NvbnRleHRNYW5hZ2VyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2lt
cG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQg
PG9iamMvcnVudGltZS5oPgpAQCAtMjc0LDYgKzI3NSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAgIGlmIChwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCkK
ICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBlc01hcCgpID0gV1RGTW92ZShwYXJhbWV0ZXJzLm1p
bWVUeXBlc01hcCk7CisKKyAgICBzZXRVVElGcm9tTUlNRVR5cGVNYXAoV1RGTW92ZShwYXJhbWV0
ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjU3NjgzKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjAtMDItMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFwcGluZyBmcm9tIE1JTUUgdHlwZSB0byBVVEkg
dHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDE1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25v
cmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMjU3NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1
NzY0MSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JC
MzAyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYx
QTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVD
QkIzRjIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBD
QzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZF
ODhGNyAvKiBCYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJ
CUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAy
OTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBE
NjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0
LmZyYW1ld29yayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0
aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZB
MzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4
RjhBRUIwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyog
VGV4dFdpZHRoLmh0bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIz
RjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VD
aGFuZ2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVy
ZW5jZUNoYW5nZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNE
MTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVy
eS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkz
OUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21N
SU1FVHlwZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThF
MzAwOEVCMTQxIC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNE
S1JPT1Q7IH07CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yOTAwLDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAv
KiBNaW1lVHlwZXMubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1
cmVJblBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAv
KiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQg
LyogVVRJRnJvbU1JTUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAv
KiBXZWFrT2JqQ1B0ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYg
KzUwOTksNyBAQAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11
bGF0ZUZhaWxlZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2
MDA0NDdDNEMgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgy
MUQ0MTQwQjAwNTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0g
aW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVz
Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyog
VmlkZW9Db250cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2
ODJFMDBFODk1REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJj
ZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392065</attachid>
            <date>2020-02-29 09:29:37 -0800</date>
            <delta_ts>2020-02-29 12:19:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200229092937.patch</filename>
            <type>text/plain</type>
            <size>19437</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
aXMgY3VycmVudGx5IGRvbmUgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcywgYnV0IHNpbmNlIHRo
aXMgaXMgdXNpbmcgYSBzeXN0ZW0gc2VydmljZSB3aGljaCB3aWxsIGJlIGNsb3NlZCwKKyAgICAg
ICAgdGhpcyBtYXBwaW5nIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgVUkgcHJvY2Vzcy4gVGhlIFVJ
IHByb2Nlc3Mgd2lsbCBjcmVhdGUgdGhpcyBtYXBwaW5nIGZvciBhIHNldCBvZiBtaW1lIHR5cGVz
LAorICAgICAgICBhbmQgc2VuZCBpdCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLgorCisgICAg
ICAgIEFQSSB0ZXN0OiBXZWJLaXQuVVRJRnJvbU1JTUVUeXBlCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9VVElVdGlsaXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjptYXBVVElGcm9tTUlNRVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k6OmNyZWF0
ZVZhbHVlRm9yS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OmNhY2hlVVRJRnJvbU1pbWVUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OlVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpt
aW1lVHlwZXMpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKToK
KyAgICAgICAgKFdlYkNvcmU6OnNldFVUSUZyb21NSU1FVHlwZU1hcCk6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElG
cm9tTUlNRVR5cGUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDIwLTAyLTI4ICBFcmljIENhcmxzb24gIDxlcmlj
LmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24gcjI1NzYxMjogV2luZG93
cyBidWlsZCBicm9rZW4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1VUSVV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMjMsMTcgKzIzLDE4IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgVVRJVXRpbGl0
aWVzX2gKLSNkZWZpbmUgVVRJVXRpbGl0aWVzX2gKKyNwcmFnbWEgb25jZQogCi0jaW1wb3J0IDx3
dGYvRm9yd2FyZC5oPgotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisKIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJik7CiBTdHJpbmcgTUlNRVR5cGVG
cm9tVVRJVHJlZShjb25zdCBTdHJpbmcmKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBVVElGcm9t
TUlNRVR5cGUoY29uc3QgU3RyaW5nJik7CiBib29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5n
Jik7Ci19CiAKLSNlbmRpZiAvLyBVVElVdGlsaXRpZXNfaAorV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJik7CitXRUJDT1JF
X0VYUE9SVCBjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3JlYXRlVVRJRnJvbU1JTUVU
eXBlTWFwKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbWltZVR5cGVz
KCk7Cit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGls
aXRpZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvVVRJVXRpbGl0aWVzLm1tCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEx
MywxMCArMTEzLDIxIEBAIHN0YXRpYyBTdHJpbmcgVVRJRnJvbVVua25vd25NSU1FVHlwZShjb24K
ICAgICByZXR1cm4gbWFwRW50cnktPnZhbHVlOwogfQogCitzdGF0aWMgT3B0aW9uYWw8SGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4+JiBtYXBVVElGcm9tTUlNRVR5cGUoKQoreworICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3RyaW5nPj4+IG1hcDsKKyAg
ICByZXR1cm4gbWFwOworfQorCiBzdHJ1Y3QgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3kgOiBU
aW55TFJVQ2FjaGVQb2xpY3k8U3RyaW5nLCBTdHJpbmc+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
U3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5KQogICAgIHsKKyAgICAg
ICAgaWYgKG1hcFVUSUZyb21NSU1FVHlwZSgpLmhhc1ZhbHVlKCkpIHsKKyAgICAgICAgICAgIGNv
bnN0IGF1dG8mIGl0ID0gbWFwVVRJRnJvbU1JTUVUeXBlKCktPmZpbmQoa2V5KTsKKyAgICAgICAg
ICAgIGlmIChpdCAhPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZW5kKCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGl0LT52YWx1ZTsKKyAgICAgICAgfQogICAgICAgICBhdXRvIHR5cGUgPSBhZG9w
dENGKFVUVHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NNSU1F
VHlwZSwga2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIDApKTsKICAgICAgICAgaWYgKHR5cGUp
CiAgICAgICAgICAgICByZXR1cm4gdHlwZS5nZXQoKTsKQEAgLTEyNCwxMSArMTM1LDE2IEBAIHB1
YmxpYzoKICAgICB9CiB9OwogCitzdGF0aWMgVGlueUxSVUNhY2hlPFN0cmluZywgU3RyaW5nLCAx
NiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+JiBjYWNoZVVUSUZyb21NaW1lVHlwZSgpCit7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywg
MTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7CisgICAgcmV0dXJuIGNhY2hl
OworfQorCiBTdHJpbmcgVVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
VGlueUxSVUNhY2hlPFN0cmluZywgU3RyaW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xp
Y3k+PiBjYWNoZTsKLSAgICByZXR1cm4gY2FjaGUuZ2V0KCkuZ2V0KG1pbWVUeXBlKTsKKyAgICBy
ZXR1cm4gY2FjaGVVVElGcm9tTWltZVR5cGUoKS5nZXQobWltZVR5cGUpOwogfQogCiBib29sIGlz
RGVjbGFyZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCkBAIC0xMzYsNCArMTUyLDY1IEBAIGJvb2wg
aXNEZWNsYXJlZFVUSShjb25zdCBTdHJpbmcmIFVUSSkKICAgICByZXR1cm4gVVRUeXBlSXNEZWNs
YXJlZChVVEkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CiB9CiAKK2NvbnN0IFZlY3RvcjxTdHJp
bmc+JiBtaW1lVHlwZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3Ry
aW5nPj4gbWltZVR5cGVzID0gc3RkOjppbml0aWFsaXplcl9saXN0PFN0cmluZz4geworICAgICAg
ICAiYXBwbGljYXRpb24vb2dnIl9zLAorICAgICAgICAiYXVkaW8vb2dnIl9zLAorICAgICAgICAi
dmlkZW8vb2dnIl9zLAorICAgICAgICAiYXBwbGljYXRpb24vYW5ub2RleCJfcywKKyAgICAgICAg
ImF1ZGlvL2Fubm9kZXgiX3MsCisgICAgICAgICJ2aWRlby9hbm5vZGV4Il9zLAorICAgICAgICAi
YXVkaW8vc3BlZXgiX3MsCisgICAgICAgICJ2aWRlby93ZWJtIl9zLAorICAgICAgICAiYXVkaW8v
d2VibSJfcywKKyAgICAgICAgImF1ZGlvL21wZWciX3MsCisgICAgICAgICJ2aWRlby9tcGVnIl9z
LAorICAgICAgICAiYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmwiX3MsCisgICAgICAgICJh
cHBsaWNhdGlvbi9tcGVndXJsIl9zLAorICAgICAgICAiYXBwbGljYXRpb24veC1tcGVndXJsIl9z
LAorICAgICAgICAiYXVkaW8vbXBlZ3VybCJfcywKKyAgICAgICAgImF1ZGlvL3gtbXBlZ3VybCJf
cywKKyAgICAgICAgImF1ZGlvL21wZWd1cmwiX3MsCisgICAgICAgICJ2aWRlby94LW00diJfcywK
KyAgICAgICAgImF1ZGlvL3gtbTRhIl9zLAorICAgICAgICAiYXVkaW8veC1tNGIiX3MsCisgICAg
ICAgICJhdWRpby94LW00cCJfcywKKyAgICAgICAgImF1ZGlvL21wNCJfcywKKyAgICAgICAgImF1
ZGlvL21wMyJfcywKKyAgICAgICAgImF1ZGlvL3gtbXAzIl9zLAorICAgICAgICAiYXVkaW8veC1t
cGVnIl9zLAorICAgICAgICAidmlkZW8veC1tcGVnMiJfcywKKyAgICAgICAgInZpZGVvL21wZWcy
Il9zLAorICAgICAgICAidmlkZW8vbTJ0cyJfcywKKyAgICAgICAgInZpZGVvL3gtbTJ0cyJfcywK
KyAgICAgICAgImF1ZGlvLzNncHAiX3MsCisgICAgICAgICJhdWRpby8zZ3BwMiJfcywKKyAgICAg
ICAgImFwcGxpY2F0aW9uL3gtbXBlZyJfcywKKyAgICAgICAgImF1ZGlvL2FhYyJfcywKKyAgICAg
ICAgImF1ZGlvL3gtYWFjIl9zLAorICAgICAgICAiYXVkaW8veC1jYWYiX3MsCisgICAgICAgICJh
dWRpby94LWdzbSJfcywKKyAgICAgICAgImF1ZGlvL3gtd2F2Il9zLAorICAgICAgICAiYXVkaW8v
dm5kLndhdmUiX3MsCisgICAgfTsKKyAgICByZXR1cm4gbWltZVR5cGVzOworfTsKKworY29uc3Qg
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpCit7Cisg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXAgPSBb
XSB7CisgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGNhY2hlOworICAgICAgICBmb3Ig
KGF1dG8gbWltZVR5cGUgOiBtaW1lVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFkZChtaW1l
VHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIHJldHVybiBjYWNoZTsK
KyAgICB9KCk7CisgICAgcmV0dXJuIG1hcDsKK30KKwordm9pZCBzZXRVVElGcm9tTUlNRVR5cGVN
YXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJiBtYXApCit7CisgICAgbWFwVVRJRnJvbU1JTUVU
eXBlKCkgPSBtYXA7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAJKHJldmlzaW9uIDI1NzY0MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ3Miw2ICs1NDcyLDExIEBAIFN0cmluZyBJbnRlcm5h
bHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKIHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsK
IH0KKworU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYg
bWltZVR5cGUpCit7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3Ry
aW5nIEludGVybmFsczo6bWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4
dGVuc2lvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3
NjQxKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5
KQpAQCAtOTM4LDYgKzkzOCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBl
Rm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRV
VElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICBib29sIHN1cHBv
cnRzUGljdHVyZUluUGljdHVyZSgpOwogCiAgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTc2NDEpCisr
KyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTg0Niw2ICs4NDYsOCBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcg
ZW5jb2RlZFByZWZlcmVuY2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsK
IAogICAgIERPTVN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRl
bnNpb24pOwotICAgIAorCisgICAgRE9NU3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJp
bmcgbWltZVR5cGUpOworCiAgICAgYm9vbGVhbiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQkocmV2aXNpb24gMjU3NjQx
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIkhpdFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1l
ZGlhUGxheWVyUHJpdmF0ZS5oIgogI2ltcG9ydCAiUmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxp
dGllcy5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYv
Y29jb2EvTlNVUkxFeHRyYXMuaD4KIApAQCAtMTAwLDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5h
bHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0K
IAorU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUpCit7CisgICAgcmV0dXJuIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJv
bSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgdGhl
IG1hcHBpbmcgYmV0d2VlbiBNSU1FIHR5cGVzIGFuZCBVVEkgdHlwZXMgdG8gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyBhcyBwYXJ0IG9mIHRoZSBXZWIKKyAgICAgICAgcHJvY2VzcyBjcmVhdGlvbiBw
YXJhbWV0ZXJzLgorCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQ
cm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisKIDIwMjAtMDItMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIENvbnZlcnNpb24gYmV0d2VlbiBNZWRpYVNhbXBsZSBhbmQgUmVtb3RlVmlkZW9TYW1w
bGUgc2hvdWxkIHByZXNlcnZlIHRoZSByb3RhdGlvbiBpbmZvcm1hdGlvbgpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHAJKHJldmlzaW9uIDI1NzY0MSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDcgQEAg
dm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogICAgIGVuY29kZXIgPDwg
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNvZGVyIDw8IHN5c3RlbUhh
c0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBtaW1lVHlwZXNNYXA7CisgICAgZW5jb2RlciA8PCBt
YXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBA
IC00NjAsNiArNDYxLDEyIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBh
cmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RGTW92ZSgqbWltZVR5cGVzTWFwKTsKKworICAgIE9w
dGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAg
ZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAgaWYgKCFtYXBVVElGcm9tTUlNRVR5
cGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1F
VHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21NSU1FVHlwZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5h
Z2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGJvb2wgc3lzdGVtSGFzQmF0dGVyeSB7IGZhbHNlIH07
CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+LCBBU0NJSUNhc2VJ
bnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlwZXNNYXA7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4gbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2
ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtUGFzdGVib2FyZC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUv
U2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9y
dCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgog
I2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBAIC00MDYsNiArNDA3LDggQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1h
bmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKG1hbmFnZXJIYW5kbGUpOwogICAgIH0KICAg
ICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0JhdHRlcnkgPSBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisgICAg
cGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25NaW1lVHlwZXNNYXAoKTsKKyAgICBwYXJh
bWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwog
I2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNDE0LDcgKzQxNyw2IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICAgICAgU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2
aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50RmlsdGVyLnJlbW90ZVVJIiwgV1RGOjpudWxsb3B0LCBo
YW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUg
PSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQotICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0g
Y29tbW9uTWltZVR5cGVzTWFwKCk7CiAjZW5kaWYKICAgICAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTc2NDEpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3
IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9T
V0NvbnRleHRNYW5hZ2VyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2lt
cG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQg
PG9iamMvcnVudGltZS5oPgpAQCAtMjc0LDYgKzI3NSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAgIGlmIChwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCkK
ICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBlc01hcCgpID0gV1RGTW92ZShwYXJhbWV0ZXJzLm1p
bWVUeXBlc01hcCk7CisKKyAgICBzZXRVVElGcm9tTUlNRVR5cGVNYXAoV1RGTW92ZShwYXJhbWV0
ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjU3NjgzKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjAtMDItMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFwcGluZyBmcm9tIE1JTUUgdHlwZSB0byBVVEkg
dHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDE1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25v
cmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMjU3NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1
NzY0MSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JC
MzAyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYx
QTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVD
QkIzRjIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBD
QzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZF
ODhGNyAvKiBCYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJ
CUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAy
OTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBE
NjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0
LmZyYW1ld29yayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0
aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZB
MzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4
RjhBRUIwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyog
VGV4dFdpZHRoLmh0bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIz
RjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VD
aGFuZ2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVy
ZW5jZUNoYW5nZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNE
MTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVy
eS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkz
OUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21N
SU1FVHlwZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThF
MzAwOEVCMTQxIC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNE
S1JPT1Q7IH07CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yOTAwLDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAv
KiBNaW1lVHlwZXMubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1
cmVJblBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAv
KiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQg
LyogVVRJRnJvbU1JTUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAv
KiBXZWFrT2JqQ1B0ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYg
KzUwOTksNyBAQAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11
bGF0ZUZhaWxlZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2
MDA0NDdDNEMgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgy
MUQ0MTQwQjAwNTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0g
aW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVz
Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyog
VmlkZW9Db250cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2
ODJFMDBFODk1REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJj
ZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlN
RVR5cGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
VVRJRnJvbU1JTUVUeXBlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9D
X1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2Vi
Vmlldy5oIgorI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KKworVEVTVChXZWJLaXQs
IFVUSUZyb21NSU1FVHlwZSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtb
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdL
Q29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRl
Q29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0
IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9v
bCAqKWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworCisgICAg
Zm9yIChhdXRvJiBtaW1lVHlwZSA6IFdlYkNvcmU6Om1pbWVUeXBlcygpKSB7CisgICAgICAgIGF1
dG8ganMgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIndpbmRvdy5pbnRlcm5hbHMuZ2V0
VVRJRnJvbU1JTUVUeXBlKFwiJXNcIikiLCBtaW1lVHlwZS51dGY4KCkuZGF0YSgpXTsKKworICAg
ICAgICBhdXRvIHV0aSA9IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6anNd
OworCisgICAgICAgIEFTU0VSVF9UUlVFKFdlYkNvcmU6OlVUSUZyb21NSU1FVHlwZShtaW1lVHlw
ZSkgPT0gU3RyaW5nKHV0aSkpOworICAgIH0KK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392069</attachid>
            <date>2020-02-29 12:19:54 -0800</date>
            <delta_ts>2020-02-29 13:32:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200229121953.patch</filename>
            <type>text/plain</type>
            <size>19637</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
aXMgY3VycmVudGx5IGRvbmUgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcywgYnV0IHNpbmNlIHRo
aXMgaXMgdXNpbmcgYSBzeXN0ZW0gc2VydmljZSB3aGljaCB3aWxsIGJlIGNsb3NlZCwKKyAgICAg
ICAgdGhpcyBtYXBwaW5nIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgVUkgcHJvY2Vzcy4gVGhlIFVJ
IHByb2Nlc3Mgd2lsbCBjcmVhdGUgdGhpcyBtYXBwaW5nIGZvciBhIHNldCBvZiBtaW1lIHR5cGVz
LAorICAgICAgICBhbmQgc2VuZCBpdCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLgorCisgICAg
ICAgIEFQSSB0ZXN0OiBXZWJLaXQuVVRJRnJvbU1JTUVUeXBlCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9VVElVdGlsaXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjptYXBVVElGcm9tTUlNRVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k6OmNyZWF0
ZVZhbHVlRm9yS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OmNhY2hlVVRJRnJvbU1pbWVUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OlVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpt
aW1lVHlwZXMpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKToK
KyAgICAgICAgKFdlYkNvcmU6OnNldFVUSUZyb21NSU1FVHlwZU1hcCk6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElG
cm9tTUlNRVR5cGUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLm1tOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElGcm9tTUlNRVR5cGUpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDIw
LTAyLTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
QkZDXSBDb25zb2xpZGF0ZSBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyBh
bmQgcHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCShyZXZpc2lvbiAyNTc2ODUp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMjMsMTcgKzIzLDE4IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNp
Zm5kZWYgVVRJVXRpbGl0aWVzX2gKLSNkZWZpbmUgVVRJVXRpbGl0aWVzX2gKKyNwcmFnbWEgb25j
ZQogCi0jaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisK
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJik7CiBT
dHJpbmcgTUlNRVR5cGVGcm9tVVRJVHJlZShjb25zdCBTdHJpbmcmKTsKIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJik7CiBib29sIGlzRGVjbGFyZWRV
VEkoY29uc3QgU3RyaW5nJik7Ci19CiAKLSNlbmRpZiAvLyBVVElVdGlsaXRpZXNfaAorV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4mJik7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3Jl
YXRlVVRJRnJvbU1JTUVUeXBlTWFwKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgbWltZVR5cGVzKCk7Cit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9VVElVdGlsaXRpZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCShyZXZpc2lvbiAyNTc2ODUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHdvcmtp
bmcgY29weSkKQEAgLTExMywxMCArMTEzLDIxIEBAIHN0YXRpYyBTdHJpbmcgVVRJRnJvbVVua25v
d25NSU1FVHlwZShjb24KICAgICByZXR1cm4gbWFwRW50cnktPnZhbHVlOwogfQogCitzdGF0aWMg
T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+JiBtYXBVVElGcm9tTUlNRVR5cGUoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOworfQorCiBzdHJ1Y3QgVVRJRnJvbU1JTUVUeXBl
Q2FjaGVQb2xpY3kgOiBUaW55TFJVQ2FjaGVQb2xpY3k8U3RyaW5nLCBTdHJpbmc+IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5
KQogICAgIHsKKyAgICAgICAgaWYgKG1hcFVUSUZyb21NSU1FVHlwZSgpLmhhc1ZhbHVlKCkpIHsK
KyAgICAgICAgICAgIGNvbnN0IGF1dG8mIGl0ID0gbWFwVVRJRnJvbU1JTUVUeXBlKCktPmZpbmQo
a2V5KTsKKyAgICAgICAgICAgIGlmIChpdCAhPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZW5kKCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGl0LT52YWx1ZTsKKyAgICAgICAgfQogICAgICAgICBh
dXRvIHR5cGUgPSBhZG9wdENGKFVUVHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWco
a1VUVGFnQ2xhc3NNSU1FVHlwZSwga2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIDApKTsKICAg
ICAgICAgaWYgKHR5cGUpCiAgICAgICAgICAgICByZXR1cm4gdHlwZS5nZXQoKTsKQEAgLTEyNCwx
MSArMTM1LDE2IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCitzdGF0aWMgVGlueUxSVUNhY2hlPFN0
cmluZywgU3RyaW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+JiBjYWNoZVVUSUZy
b21NaW1lVHlwZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxT
dHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7Cisg
ICAgcmV0dXJuIGNhY2hlOworfQorCiBTdHJpbmcgVVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8VGlueUxSVUNhY2hlPFN0cmluZywgU3RyaW5nLCAxNiwgVVRJRnJvbU1J
TUVUeXBlQ2FjaGVQb2xpY3k+PiBjYWNoZTsKLSAgICByZXR1cm4gY2FjaGUuZ2V0KCkuZ2V0KG1p
bWVUeXBlKTsKKyAgICByZXR1cm4gY2FjaGVVVElGcm9tTWltZVR5cGUoKS5nZXQobWltZVR5cGUp
OwogfQogCiBib29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCkBAIC0xMzYsNCAr
MTUyLDY1IEBAIGJvb2wgaXNEZWNsYXJlZFVUSShjb25zdCBTdHJpbmcmIFVUSSkKICAgICByZXR1
cm4gVVRUeXBlSXNEZWNsYXJlZChVVEkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CiB9CiAKK2Nv
bnN0IFZlY3RvcjxTdHJpbmc+JiBtaW1lVHlwZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxWZWN0b3I8U3RyaW5nPj4gbWltZVR5cGVzID0gc3RkOjppbml0aWFsaXplcl9saXN0PFN0
cmluZz4geworICAgICAgICAiYXBwbGljYXRpb24vb2dnIl9zLAorICAgICAgICAiYXVkaW8vb2dn
Il9zLAorICAgICAgICAidmlkZW8vb2dnIl9zLAorICAgICAgICAiYXBwbGljYXRpb24vYW5ub2Rl
eCJfcywKKyAgICAgICAgImF1ZGlvL2Fubm9kZXgiX3MsCisgICAgICAgICJ2aWRlby9hbm5vZGV4
Il9zLAorICAgICAgICAiYXVkaW8vc3BlZXgiX3MsCisgICAgICAgICJ2aWRlby93ZWJtIl9zLAor
ICAgICAgICAiYXVkaW8vd2VibSJfcywKKyAgICAgICAgImF1ZGlvL21wZWciX3MsCisgICAgICAg
ICJ2aWRlby9tcGVnIl9zLAorICAgICAgICAiYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmwi
X3MsCisgICAgICAgICJhcHBsaWNhdGlvbi9tcGVndXJsIl9zLAorICAgICAgICAiYXBwbGljYXRp
b24veC1tcGVndXJsIl9zLAorICAgICAgICAiYXVkaW8vbXBlZ3VybCJfcywKKyAgICAgICAgImF1
ZGlvL3gtbXBlZ3VybCJfcywKKyAgICAgICAgImF1ZGlvL21wZWd1cmwiX3MsCisgICAgICAgICJ2
aWRlby94LW00diJfcywKKyAgICAgICAgImF1ZGlvL3gtbTRhIl9zLAorICAgICAgICAiYXVkaW8v
eC1tNGIiX3MsCisgICAgICAgICJhdWRpby94LW00cCJfcywKKyAgICAgICAgImF1ZGlvL21wNCJf
cywKKyAgICAgICAgImF1ZGlvL21wMyJfcywKKyAgICAgICAgImF1ZGlvL3gtbXAzIl9zLAorICAg
ICAgICAiYXVkaW8veC1tcGVnIl9zLAorICAgICAgICAidmlkZW8veC1tcGVnMiJfcywKKyAgICAg
ICAgInZpZGVvL21wZWcyIl9zLAorICAgICAgICAidmlkZW8vbTJ0cyJfcywKKyAgICAgICAgInZp
ZGVvL3gtbTJ0cyJfcywKKyAgICAgICAgImF1ZGlvLzNncHAiX3MsCisgICAgICAgICJhdWRpby8z
Z3BwMiJfcywKKyAgICAgICAgImFwcGxpY2F0aW9uL3gtbXBlZyJfcywKKyAgICAgICAgImF1ZGlv
L2FhYyJfcywKKyAgICAgICAgImF1ZGlvL3gtYWFjIl9zLAorICAgICAgICAiYXVkaW8veC1jYWYi
X3MsCisgICAgICAgICJhdWRpby94LWdzbSJfcywKKyAgICAgICAgImF1ZGlvL3gtd2F2Il9zLAor
ICAgICAgICAiYXVkaW8vdm5kLndhdmUiX3MsCisgICAgfTsKKyAgICByZXR1cm4gbWltZVR5cGVz
OworfTsKKworY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGNyZWF0ZVVUSUZyb21NSU1F
VHlwZU1hcCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiBtYXAgPSBbXSB7CisgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGNhY2hl
OworICAgICAgICBmb3IgKGF1dG8gbWltZVR5cGUgOiBtaW1lVHlwZXMoKSkKKyAgICAgICAgICAg
IGNhY2hlLmFkZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAg
IHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0dXJuIG1hcDsKK30KKwordm9pZCBzZXRV
VElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJiBtYXApCit7CisgICAg
bWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBtYXA7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ3NCw2ICs1NDc0LDExIEBA
IFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKIHsKICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKIH0KKworU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBl
KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9
CiAjZW5kaWYKIAogU3RyaW5nIEludGVybmFsczo6bWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihj
b25zdCBTdHJpbmcmIGV4dGVuc2lvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAkod29ya2luZyBjb3B5KQpAQCAtOTM4LDYgKzkzOCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmlu
ZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKIAor
ICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisK
ICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpOwogCiAgICAgU3RyaW5nIGZvY3Vz
UmluZ0NvbG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZp
c2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTg0Niw2ICs4NDYsOCBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsK
ICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZlcmVuY2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBE
T01TdHJpbmcga2V5KTsKIAogICAgIERPTVN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9u
KERPTVN0cmluZyBleHRlbnNpb24pOwotICAgIAorCisgICAgRE9NU3RyaW5nIGdldFVUSUZyb21N
SU1FVHlwZShET01TdHJpbmcgbWltZVR5cGUpOworCiAgICAgYm9vbGVhbiBzdXBwb3J0c1BpY3R1
cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQko
cmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIkhpdFRlc3RSZXN1bHQu
aCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZS5oIgogI2ltcG9ydCAiUmFuZ2UuaCIKKyNp
bXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyLmg+
CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIApAQCAtMTAwLDQgKzEwMSw5IEBA
IFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW5j
b2RlZFN0cmluZzsKIH0KIAorU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuIFVUSUZyb21NSU1FVHlwZShtaW1l
VHlwZSk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAy
LTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29j
b2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4g
dGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODQxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNlbmQgdGhlIG1hcHBpbmcgYmV0d2VlbiBNSU1FIHR5cGVzIGFuZCBVVEkgdHlwZXMg
dG8gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBhcyBwYXJ0IG9mIHRoZSBXZWIKKyAgICAgICAgcHJv
Y2VzcyBjcmVhdGlvbiBwYXJhbWV0ZXJzLgorCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMDItMjggIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFw
cGxlLmNvbT4KIAogICAgICAgICBbTWVkaWEgaW4gR1BVIHByb2Nlc3NdIEltcGxlbWVudCB0aGUg
dmlkZW8gZnVsbHNjcmVlbiBhbmQgUGljdHVyZS1pbi1QaWN0dXJlIHN1cHBvcnQKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDYgKzE3MSw3
IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICAgICBlbmNvZGVy
IDw8IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBzeXN0
ZW1IYXNCYXR0ZXJ5OwogICAgIGVuY29kZXIgPDwgbWltZVR5cGVzTWFwOworICAgIGVuY29kZXIg
PDwgbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQpAQCAtNDYwLDYgKzQ2MSwxMiBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmRlY29kCiAgICAgaWYgKCFtaW1lVHlwZXNNYXApCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCA9IFdURk1vdmUoKm1pbWVUeXBlc01hcCk7CisKKyAg
ICBPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3RyaW5nPj4gbWFwVVRJRnJvbU1JTUVUeXBlOwor
ICAgIGRlY29kZXIgPj4gbWFwVVRJRnJvbU1JTUVUeXBlOworICAgIGlmICghbWFwVVRJRnJvbU1J
TUVUeXBlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5tYXBVVElGcm9t
TUlNRVR5cGUgPSBXVEZNb3ZlKCptYXBVVElGcm9tTUlNRVR5cGUpOwogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjU3Njg1KQorKysgU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTMsNiArMjEzLDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMgewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gbmVTZXNzaW9u
TWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICAgICBib29sIHN5c3RlbUhhc0JhdHRlcnkgeyBmYWxz
ZSB9OwogICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8U3RyaW5nPiwgQVNDSUlD
YXNlSW5zZW5zaXRpdmVIYXNoPj4gbWltZVR5cGVzTWFwOworICAgIEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+IG1hcFVUSUZyb21NSU1FVHlwZTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAt
NTYsNiArNTYsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVBhc3RlYm9hcmQuaD4KICNp
bXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1NoYXJlZEJ1ZmZlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KICNp
bXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEku
aD4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgpAQCAtNDA2LDYgKzQwNyw4IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICAgICAgcGFyYW1ldGVycy5uZVNlc3Np
b25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShtYW5hZ2VySGFuZGxlKTsKICAgICB9
CiAgICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0gc3lzdGVtSGFzQmF0dGVyeSgpOwor
ICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7CisgICAg
cGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUgPSBjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXAo
KTsKICNlbmRpZgogICAgIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTQxNCw3ICs0MTcsNiBAQCB2
b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXCiAgICAgICAgIFNhbmRib3hF
eHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS51aWtpdC52aWV3
c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1vdGVVSSIsIFdURjo6bnVsbG9w
dCwgaGFuZGxlKTsKICAgICAgICAgcGFyYW1ldGVycy5jb250ZW50RmlsdGVyRXh0ZW5zaW9uSGFu
ZGxlID0gV1RGTW92ZShoYW5kbGUpOwogICAgIH0KLSAgICBwYXJhbWV0ZXJzLm1pbWVUeXBlc01h
cCA9IGNvbW1vbk1pbWVUeXBlc01hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjcsNiAr
NjcsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNv
cmUvU1dDb250ZXh0TWFuYWdlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4K
ICNpbXBvcnQgPGFsZ29yaXRobT4KICNpbXBvcnQgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CiAjaW1w
b3J0IDxvYmpjL3J1bnRpbWUuaD4KQEAgLTI3NCw2ICsyNzUsOCBAQCB2b2lkIFdlYlByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAKICAgICBpZiAocGFyYW1ldGVycy5taW1lVHlwZXNN
YXApCiAgICAgICAgIG92ZXJyaWRkZW5NaW1lVHlwZXNNYXAoKSA9IFdURk1vdmUocGFyYW1ldGVy
cy5taW1lVHlwZXNNYXApOworCisgICAgc2V0VVRJRnJvbU1JTUVUeXBlTWFwKFdURk1vdmUocGFy
YW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUpKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8g
VVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1Qp
OgorCiAyMDIwLTAyLTI4ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTc1NjUuCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjU3Njg1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTg4Myw2ICs4ODMsNyBAQAogCQlDMTVDQkIzMDIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xp
Z2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMTVDQkIyRjIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxO
b3RpZmljYXRpb24ubW0gKi87IH07CiAJCUMxNUNCQjNGMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVm
ZXJlbmNlQ2hhbmdlcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAq
LzsgfTsKIAkJQzE2OTJEQ0EyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTY5MkRDOTIzRDEwREFFMDA2
RTg4RjcgLyogQmF0dGVyeS5tbSAqLzsgfTsKKwkJQzE5NEUzMUQyNDA5REY0MzAwMjkzOUVEIC8q
IFVUSUZyb21NSU1FVHlwZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMxOTRFMzFDMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0g
Ki87IH07CiAJCUMyMEY4OEE3MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjBGODhB
NjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICovOyB9OwogCQlDMjJGQTMy
QjIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyRkEzMkEyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRX
aWR0aC5tbSAqLzsgfTsKIAkJQzIyRkEzMkQyMjhGOEFFQjAwOUQ3OTg4IC8qIFRleHRXaWR0aC5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMyMkZBMzJDMjI4Rjg3N0EwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCAqLzsgfTsKQEAgLTI0
NDgsNiArMjQ0OSw3IEBACiAJCUMxNUNCQjJGMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRM
ZXZlbE5vdGlmaWNhdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhY2tsaWdodExldmVs
Tm90aWZpY2F0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTVDQkIzRTIz
RkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcmVmZXJlbmNlQ2hhbmdlcy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBCYXR0ZXJ5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVVRJRnJvbU1JTUVUeXBlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMUQ4RUUyMTIwMjhFOEUzMDA4RUIxNDEgLyogV2ViUHJvY2Vzc1Rlcm1p
bmF0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2Nl
c3NUZXJtaW5hdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMEY4OEE2MjI5
NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENv
cmVUZXh0LmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVRl
eHQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJQzIyRkEzMkEyMjhGODcw
ODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFRleHRXaWR0
aC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MDAsNiArMjkwMiw3IEBACiAJ
CQkJQzE0NUNDMEIyM0RBNUEwRjAwM0E1RUVCIC8qIE1pbWVUeXBlcy5tbSAqLywKIAkJCQlFMzI1
QzkwNjIzRTM4NzAyMDBCQzdEM0IgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQubW0gKi8sCiAJ
CQkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICovLAor
CQkJCUMxOTRFMzFDMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gKi8sCiAJ
CQkJMEYxMzlFNzUxQTQyM0E1MzAwRjU5MEY1IC8qIFdlYWtPYmpDUHRyLm1tICovLAogCQkJKTsK
IAkJCW5hbWUgPSBjb2NvYTsKQEAgLTUwOTYsNiArNTA5OSw3IEBACiAJCQkJMDdGNEU5MkUyMEFG
NTlFMjAwMkUzODAzIC8qIFVzZXJNZWRpYVNpbXVsYXRlRmFpbGVkU2FuZGJveC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDQ0U3RjE4MUE0MTFBRTYwMDQ0N0M0QyAvKiBVc2VyTWVzc2FnZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyRUIyNDJCODIxRDQxNDBCMDA1NUMxQzAgLyogVXNlU2VsZWN0
aW9uQXNGaW5kU3RyaW5nLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQzE5NEUzMUQyNDA5REY0MzAw
MjkzOUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMDNB
MUQwQTYwMjcwMEZFQkNGMyAvKiBVdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTdDODNFMEM2MUQwQTY1NEUwMEZFQkNGMyAvKiBWaWRlb0NvbnRyb2xzTWFuYWdlci5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUNEMzA2NUUwMjE2NTY4MkUwMEU4OTVERiAvKiBWaWRlb1F1YWxpdHlE
aXNwbGF5Q29tcG9zaXRpbmcubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0JKG5vbmV4aXN0
ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBl
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRp
bGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJDb3JlL1VU
SVV0aWxpdGllcy5oPgorCitURVNUKFdlYktpdCwgVVRJRnJvbU1JTUVUeXBlKQoreworICAgIGF1
dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9j
XSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRX
SyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0
KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQo
KS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0
KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29y
ZTo6bWltZVR5cGVzKCkpIHsKKyAgICAgICAgYXV0byBqcyA9IFtOU1N0cmluZyBzdHJpbmdXaXRo
Rm9ybWF0OkAid2luZG93LmludGVybmFscy5nZXRVVElGcm9tTUlNRVR5cGUoXCIlc1wiKSIsIG1p
bWVUeXBlLnV0ZjgoKS5kYXRhKCldOworCisgICAgICAgIGF1dG8gdXRpID0gW3dlYlZpZXcgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpqc107CisKKyAgICAgICAgQVNTRVJUX1RSVUUoV2Vi
Q29yZTo6VVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSA9PSBTdHJpbmcodXRpKSk7CisgICAgfQor
fQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392070</attachid>
            <date>2020-02-29 13:32:04 -0800</date>
            <delta_ts>2020-02-29 15:11:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200229133204.patch</filename>
            <type>text/plain</type>
            <size>19833</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
aXMgY3VycmVudGx5IGRvbmUgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcywgYnV0IHNpbmNlIHRo
aXMgaXMgdXNpbmcgYSBzeXN0ZW0gc2VydmljZSB3aGljaCB3aWxsIGJlIGNsb3NlZCwKKyAgICAg
ICAgdGhpcyBtYXBwaW5nIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgVUkgcHJvY2Vzcy4gVGhlIFVJ
IHByb2Nlc3Mgd2lsbCBjcmVhdGUgdGhpcyBtYXBwaW5nIGZvciBhIHNldCBvZiBtaW1lIHR5cGVz
LAorICAgICAgICBhbmQgc2VuZCBpdCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLgorCisgICAg
ICAgIEFQSSB0ZXN0OiBXZWJLaXQuVVRJRnJvbU1JTUVUeXBlCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9VVElVdGlsaXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjptYXBVVElGcm9tTUlNRVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k6OmNyZWF0
ZVZhbHVlRm9yS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OmNhY2hlVVRJRnJvbU1pbWVUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OlVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpt
aW1lVHlwZXMpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKToK
KyAgICAgICAgKFdlYkNvcmU6OnNldFVUSUZyb21NSU1FVHlwZU1hcCk6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElG
cm9tTUlNRVR5cGUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLm1tOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpnZXRVVElGcm9tTUlNRVR5cGUpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDIw
LTAyLTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
QkZDXSBDb25zb2xpZGF0ZSBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyBh
bmQgcHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCShyZXZpc2lvbiAyNTc2ODUp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMjMsMTcgKzIzLDE4IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNp
Zm5kZWYgVVRJVXRpbGl0aWVzX2gKLSNkZWZpbmUgVVRJVXRpbGl0aWVzX2gKKyNwcmFnbWEgb25j
ZQogCi0jaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisK
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJik7CiBT
dHJpbmcgTUlNRVR5cGVGcm9tVVRJVHJlZShjb25zdCBTdHJpbmcmKTsKIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJik7CiBib29sIGlzRGVjbGFyZWRV
VEkoY29uc3QgU3RyaW5nJik7Ci19CiAKLSNlbmRpZiAvLyBVVElVdGlsaXRpZXNfaAorV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4mJik7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3Jl
YXRlVVRJRnJvbU1JTUVUeXBlTWFwKCk7CitXRUJDT1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgbWltZVR5cGVzKCk7Cit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9VVElVdGlsaXRpZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCShyZXZpc2lvbiAyNTc2ODUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHdvcmtp
bmcgY29weSkKQEAgLTExMywxMCArMTEzLDI1IEBAIHN0YXRpYyBTdHJpbmcgVVRJRnJvbVVua25v
d25NSU1FVHlwZShjb24KICAgICByZXR1cm4gbWFwRW50cnktPnZhbHVlOwogfQogCitzdGF0aWMg
T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+JiBtYXBVVElGcm9tTUlNRVR5cGUoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOworfQorCiBzdHJ1Y3QgVVRJRnJvbU1JTUVUeXBl
Q2FjaGVQb2xpY3kgOiBUaW55TFJVQ2FjaGVQb2xpY3k8U3RyaW5nLCBTdHJpbmc+IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5
KQogICAgIHsKKyAgICAgICAgaWYgKG1hcFVUSUZyb21NSU1FVHlwZSgpLmhhc1ZhbHVlKCkpIHsK
KyAgICAgICAgICAgIGlmIChrZXkuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOworICAgICAgICAgICAgY29uc3QgYXV0byYgaXQgPSBtYXBVVElGcm9tTUlN
RVR5cGUoKS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0ICE9IG1hcFVUSUZyb21NSU1F
VHlwZSgpLT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgICAg
ICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAlcyBub3QgZm91bmQuIiwga2V5
LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIH0KICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJ
ZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtleS5jcmVhdGVDRlN0cmluZygp
LmdldCgpLCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAgICAgICAgcmV0dXJuIHR5cGUu
Z2V0KCk7CkBAIC0xMjQsMTEgKzEzOSwxNiBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorc3RhdGlj
IFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9s
aWN5PiYgY2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElGcm9tTUlNRVR5cGVDYWNoZVBv
bGljeT4+IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwogU3RyaW5nIFVUSUZyb21NSU1F
VHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmlu
ZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7Ci0gICAgcmV0dXJuIGNh
Y2hlLmdldCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNhY2hlVVRJRnJvbU1pbWVUeXBl
KCkuZ2V0KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVkVVRJKGNvbnN0IFN0cmluZyYg
VVRJKQpAQCAtMTM2LDQgKzE1Niw2NSBAQCBib29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5n
JiBVVEkpCiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJLmNyZWF0ZUNGU3RyaW5nKCku
Z2V0KCkpOwogfQogCitjb25zdCBWZWN0b3I8U3RyaW5nPiYgbWltZVR5cGVzKCkKK3sKKyAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFN0cmluZz4+IG1pbWVUeXBlcyA9IHN0ZDo6aW5p
dGlhbGl6ZXJfbGlzdDxTdHJpbmc+IHsKKyAgICAgICAgImFwcGxpY2F0aW9uL29nZyJfcywKKyAg
ICAgICAgImF1ZGlvL29nZyJfcywKKyAgICAgICAgInZpZGVvL29nZyJfcywKKyAgICAgICAgImFw
cGxpY2F0aW9uL2Fubm9kZXgiX3MsCisgICAgICAgICJhdWRpby9hbm5vZGV4Il9zLAorICAgICAg
ICAidmlkZW8vYW5ub2RleCJfcywKKyAgICAgICAgImF1ZGlvL3NwZWV4Il9zLAorICAgICAgICAi
dmlkZW8vd2VibSJfcywKKyAgICAgICAgImF1ZGlvL3dlYm0iX3MsCisgICAgICAgICJhdWRpby9t
cGVnIl9zLAorICAgICAgICAidmlkZW8vbXBlZyJfcywKKyAgICAgICAgImFwcGxpY2F0aW9uL3Zu
ZC5hcHBsZS5tcGVndXJsIl9zLAorICAgICAgICAiYXBwbGljYXRpb24vbXBlZ3VybCJfcywKKyAg
ICAgICAgImFwcGxpY2F0aW9uL3gtbXBlZ3VybCJfcywKKyAgICAgICAgImF1ZGlvL21wZWd1cmwi
X3MsCisgICAgICAgICJhdWRpby94LW1wZWd1cmwiX3MsCisgICAgICAgICJhdWRpby9tcGVndXJs
Il9zLAorICAgICAgICAidmlkZW8veC1tNHYiX3MsCisgICAgICAgICJhdWRpby94LW00YSJfcywK
KyAgICAgICAgImF1ZGlvL3gtbTRiIl9zLAorICAgICAgICAiYXVkaW8veC1tNHAiX3MsCisgICAg
ICAgICJhdWRpby9tcDQiX3MsCisgICAgICAgICJhdWRpby9tcDMiX3MsCisgICAgICAgICJhdWRp
by94LW1wMyJfcywKKyAgICAgICAgImF1ZGlvL3gtbXBlZyJfcywKKyAgICAgICAgInZpZGVvL3gt
bXBlZzIiX3MsCisgICAgICAgICJ2aWRlby9tcGVnMiJfcywKKyAgICAgICAgInZpZGVvL20ydHMi
X3MsCisgICAgICAgICJ2aWRlby94LW0ydHMiX3MsCisgICAgICAgICJhdWRpby8zZ3BwIl9zLAor
ICAgICAgICAiYXVkaW8vM2dwcDIiX3MsCisgICAgICAgICJhcHBsaWNhdGlvbi94LW1wZWciX3Ms
CisgICAgICAgICJhdWRpby9hYWMiX3MsCisgICAgICAgICJhdWRpby94LWFhYyJfcywKKyAgICAg
ICAgImF1ZGlvL3gtY2FmIl9zLAorICAgICAgICAiYXVkaW8veC1nc20iX3MsCisgICAgICAgICJh
dWRpby94LXdhdiJfcywKKyAgICAgICAgImF1ZGlvL3ZuZC53YXZlIl9zLAorICAgIH07CisgICAg
cmV0dXJuIG1pbWVUeXBlczsKK307CisKK2NvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBj
cmVhdGVVVElGcm9tTUlNRVR5cGVNYXAoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxI
YXNoTWFwPFN0cmluZywgU3RyaW5nPj4gbWFwID0gW10geworICAgICAgICBIYXNoTWFwPFN0cmlu
ZywgU3RyaW5nPiBjYWNoZTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogbWltZVR5cGVz
KCkpCisgICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1l
VHlwZSkpOworICAgICAgICByZXR1cm4gY2FjaGU7CisgICAgfSgpOworICAgIHJldHVybiBtYXA7
Cit9CisKK3ZvaWQgc2V0VVRJRnJvbU1JTUVUeXBlTWFwKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+
JiYgbWFwKQoreworICAgIG1hcFVUSUZyb21NSU1FVHlwZSgpID0gV1RGTW92ZShtYXApOworfQor
CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNTc2
ODUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU0NzQsNiArNTQ3NCwxMSBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbmNvZGVkUHJlZmVy
ZW5jZVZhbHVlCiB7CiAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiB9CisKK1N0cmluZyBJbnRl
cm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAg
IHJldHVybiBlbXB0eVN0cmluZygpOworfQogI2VuZGlmCiAKIFN0cmluZyBJbnRlcm5hbHM6Om1l
ZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTkzOCw2ICs5Mzgs
OCBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgbWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25z
dCBTdHJpbmcmIGV4dGVuc2lvbik7CiAKKyAgICBTdHJpbmcgZ2V0VVRJRnJvbU1JTUVUeXBlKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpOworCiAgICAgYm9vbCBzdXBwb3J0c1BpY3R1cmVJblBpY3R1
cmUoKTsKIAogICAgIFN0cmluZyBmb2N1c1JpbmdDb2xvcigpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC04NDYsNiArODQ2LDggQEAg
ZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAgICAgRE9NU3RyaW5nIGVuY29kZWRQcmVmZXJlbmNl
VmFsdWUoRE9NU3RyaW5nIGRvbWFpbiwgRE9NU3RyaW5nIGtleSk7CiAKICAgICBET01TdHJpbmcg
bWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihET01TdHJpbmcgZXh0ZW5zaW9uKTsKLSAgICAKKwor
ICAgIERPTVN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoRE9NU3RyaW5nIG1pbWVUeXBlKTsKKwog
ICAgIGJvb2xlYW4gc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBA
CiAjaW1wb3J0ICJIaXRUZXN0UmVzdWx0LmgiCiAjaW1wb3J0ICJNZWRpYVBsYXllclByaXZhdGUu
aCIKICNpbXBvcnQgIlJhbmdlLmgiCisjaW1wb3J0ICJVVElVdGlsaXRpZXMuaCIKICNpbXBvcnQg
PEFWRm91bmRhdGlvbi9BVlBsYXllci5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFz
Lmg+CiAKQEAgLTEwMCw0ICsxMDEsOSBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbmNvZGVkUHJlZmVy
ZW5jZVZhbHVlCiAgICAgcmV0dXJuIGVuY29kZWRTdHJpbmc7CiB9CiAKK1N0cmluZyBJbnRlcm5h
bHM6OmdldFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIHJl
dHVybiBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpOworfQorCiB9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2
aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMiBAQAorMjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVU
SSB0eXBlIHNob3VsZCBiZSBkb25lIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0MTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIHRoZSBtYXBwaW5nIGJldHdlZW4g
TUlNRSB0eXBlcyBhbmQgVVRJIHR5cGVzIHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYXMgcGFy
dCBvZiB0aGUgV2ViCisgICAgICAgIHByb2Nlc3MgY3JlYXRpb24gcGFyYW1ldGVycy4KKworICAg
ICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDIwLTAyLTI4
ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgW01lZGlhIGluIEdQ
VSBwcm9jZXNzXSBJbXBsZW1lbnQgdGhlIHZpZGVvIGZ1bGxzY3JlZW4gYW5kIFBpY3R1cmUtaW4t
UGljdHVyZSBzdXBwb3J0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24gMjU3Njg1KQorKysgU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE3MSw2ICsxNzEsNyBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM6OmVuY29kCiAgICAgZW5jb2RlciA8PCBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFu
ZGxlOwogICAgIGVuY29kZXIgPDwgc3lzdGVtSGFzQmF0dGVyeTsKICAgICBlbmNvZGVyIDw8IG1p
bWVUeXBlc01hcDsKKyAgICBlbmNvZGVyIDw8IG1hcFVUSUZyb21NSU1FVHlwZTsKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQ2MCw2ICs0NjEsMTIgQEAgYm9vbCBXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgIGlmICghbWltZVR5cGVzTWFwKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBXVEZN
b3ZlKCptaW1lVHlwZXNNYXApOworCisgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4+IG1hcFVUSUZyb21NSU1FVHlwZTsKKyAgICBkZWNvZGVyID4+IG1hcFVUSUZyb21NSU1FVHlw
ZTsKKyAgICBpZiAoIW1hcFVUSUZyb21NSU1FVHlwZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIHBhcmFtZXRlcnMubWFwVVRJRnJvbU1JTUVUeXBlID0gV1RGTW92ZSgqbWFwVVRJRnJvbU1J
TUVUeXBlKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJ
KHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjEzLDYgKzIxMyw3IEBAIHN0cnVj
dCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBPcHRpb25hbDxTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGU+IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgYm9v
bCBzeXN0ZW1IYXNCYXR0ZXJ5IHsgZmFsc2UgfTsKICAgICBPcHRpb25hbDxIYXNoTWFwPFN0cmlu
ZywgVmVjdG9yPFN0cmluZz4sIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4+IG1pbWVUeXBlc01h
cDsKKyAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI1
NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUv
UGxhdGZvcm1QYXN0ZWJvYXJkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvVVRJVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNpbXBvcnQg
PHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDxzeXMvcGFyYW0uaD4KQEAgLTQw
Niw2ICs0MDcsOCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXCiAg
ICAgICAgIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1v
dmUobWFuYWdlckhhbmRsZSk7CiAgICAgfQogICAgIHBhcmFtZXRlcnMuc3lzdGVtSGFzQmF0dGVy
eSA9IHN5c3RlbUhhc0JhdHRlcnkoKTsKKyAgICBwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCA9IGNv
bW1vbk1pbWVUeXBlc01hcCgpOworICAgIHBhcmFtZXRlcnMubWFwVVRJRnJvbU1JTUVUeXBlID0g
Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCk7CiAjZW5kaWYKICAgICAKICNpZiBQTEFURk9STShJ
T1MpCkBAIC00MTQsNyArNDE3LDYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0
aWFsaXplVwogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9v
a3VwKCJjb20uYXBwbGUudWlraXQudmlld3NlcnZpY2UuY29tLmFwcGxlLldlYkNvbnRlbnRGaWx0
ZXIucmVtb3RlVUkiLCBXVEY6Om51bGxvcHQsIGhhbmRsZSk7CiAgICAgICAgIHBhcmFtZXRlcnMu
Y29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoaGFuZGxlKTsKICAgICB9Ci0g
ICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25NaW1lVHlwZXNNYXAoKTsKICNlbmRp
ZgogICAgIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1NzY4
NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGljdHVy
ZUluUGljdHVyZVN1cHBvcnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NXQ29udGV4dE1hbmFnZXIuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxhbGdvcml0aG0+CiAjaW1wb3J0IDxk
aXNwYXRjaC9kaXNwYXRjaC5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CkBAIC0yNzQsNiAr
Mjc1LDggQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgogCiAgICAg
aWYgKHBhcmFtZXRlcnMubWltZVR5cGVzTWFwKQogICAgICAgICBvdmVycmlkZGVuTWltZVR5cGVz
TWFwKCkgPSBXVEZNb3ZlKHBhcmFtZXRlcnMubWltZVR5cGVzTWFwKTsKKworICAgIHNldFVUSUZy
b21NSU1FVHlwZU1hcChXVEZNb3ZlKHBhcmFtZXRlcnMubWFwVVRJRnJvbU1JTUVUeXBlKSk7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc2ODUpCisrKyBUb29s
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMi0yOSAg
UGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBN
YXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBlIHNob3VsZCBiZSBkb25lIGluIHRoZSBV
SSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDg0MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5t
bTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25vcmkg
IDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjU3NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NzY4
NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JCMzAy
M0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYxQTAw
MzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVDQkIz
RjIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcg
LyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhG
NyAvKiBCYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJCUMx
OTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAyOTM5
RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBENjEw
RkEgLyogQ29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZy
YW1ld29yayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJB
MjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4RjhB
RUIwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyogVGV4
dFdpZHRoLmh0bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIzRjFG
RjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFu
Z2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5j
ZUNoYW5nZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNEMTBE
QUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVyeS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVE
IC8qIFVUSUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21NSU1F
VHlwZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThFMzAw
OEVCMTQxIC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3
b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3Jh
cHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JP
T1Q7IH07CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yOTAwLDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAvKiBN
aW1lVHlwZXMubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJ
blBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQ
cmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyog
VVRJRnJvbU1JTUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBX
ZWFrT2JqQ1B0ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYgKzUw
OTksNyBAQAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11bGF0
ZUZhaWxlZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2MDA0
NDdDNEMgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgyMUQ0
MTQwQjAwNTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29j
b2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyogVmlk
ZW9Db250cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2ODJF
MDBFODk1REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5
cGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJ
RnJvbU1JTUVUeXBlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQ
SQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmll
dy5oIgorI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KKworVEVTVChXZWJLaXQsIFVU
SUZyb21NSU1FVHlwZSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29u
dGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29u
dGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0Iikp
OworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAq
KWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmln
dXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworCisgICAgZm9y
IChhdXRvJiBtaW1lVHlwZSA6IFdlYkNvcmU6Om1pbWVUeXBlcygpKSB7CisgICAgICAgIGF1dG8g
anMgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIndpbmRvdy5pbnRlcm5hbHMuZ2V0VVRJ
RnJvbU1JTUVUeXBlKFwiJXNcIikiLCBtaW1lVHlwZS51dGY4KCkuZGF0YSgpXTsKKworICAgICAg
ICBhdXRvIHV0aSA9IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6anNdOwor
CisgICAgICAgIEFTU0VSVF9UUlVFKFdlYkNvcmU6OlVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkg
PT0gU3RyaW5nKHV0aSkpOworICAgIH0KK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>
<flag name="review"
          id="407562"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392077</attachid>
            <date>2020-02-29 15:53:40 -0800</date>
            <delta_ts>2020-02-29 19:32:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200229155339.patch</filename>
            <type>text/plain</type>
            <size>20186</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBtaW1lVHlwZXMoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogI2RlZmluZSBBRERJVElPTkFMX1VUSV9NQVBQSU5H
UwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9UWVBFX1NUUklORyAiZW1wdHlNaW1lVHlw
ZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29u
c3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNSwyNiBAQCBzdGF0aWMgU3RyaW5nIFVUSUZy
b21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJuIG1hcEVudHJ5LT52YWx1ZTsKIH0KIAor
c3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVU
eXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKwogc3RydWN0IFVUSUZyb21N
SU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hlUG9saWN5PFN0cmluZywgU3RyaW5nPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVhdGVWYWx1ZUZvcktleShjb25zdCBTdHJp
bmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJpbmcga2V5ID0gbWltZVR5cGU7CisgICAg
ICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNWYWx1ZSgpKSB7CisgICAgICAgICAgICBp
ZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVf
U1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYgaXQgPSBtYXBVVElGcm9tTUlNRVR5cGUo
KS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgp
LT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgICAgICAgICAg
V1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAlcyBub3QgZm91bmQuIiwga2V5LnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0K
ICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlm
aWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgp
LCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAgICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7
CkBAIC0xMjQsMTEgKzE0MiwxNiBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorc3RhdGljIFRpbnlM
UlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5PiYg
Y2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55
TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+
IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwogU3RyaW5nIFVUSUZyb21NSU1FVHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0g
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYs
IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7Ci0gICAgcmV0dXJuIGNhY2hlLmdl
dCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNhY2hlVVRJRnJvbU1pbWVUeXBlKCkuZ2V0
KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVkVVRJKGNvbnN0IFN0cmluZyYgVVRJKQpA
QCAtMTM2LDQgKzE1OSw2NiBAQCBib29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkp
CiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkp
OwogfQogCitjb25zdCBWZWN0b3I8U3RyaW5nPiYgbWltZVR5cGVzKCkKK3sKKyAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFN0cmluZz4+IG1pbWVUeXBlcyA9IHN0ZDo6aW5pdGlhbGl6
ZXJfbGlzdDxTdHJpbmc+IHsKKyAgICAgICAgImFwcGxpY2F0aW9uL29nZyJfcywKKyAgICAgICAg
ImF1ZGlvL29nZyJfcywKKyAgICAgICAgInZpZGVvL29nZyJfcywKKyAgICAgICAgImFwcGxpY2F0
aW9uL2Fubm9kZXgiX3MsCisgICAgICAgICJhdWRpby9hbm5vZGV4Il9zLAorICAgICAgICAidmlk
ZW8vYW5ub2RleCJfcywKKyAgICAgICAgImF1ZGlvL3NwZWV4Il9zLAorICAgICAgICAidmlkZW8v
d2VibSJfcywKKyAgICAgICAgImF1ZGlvL3dlYm0iX3MsCisgICAgICAgICJhdWRpby9tcGVnIl9z
LAorICAgICAgICAidmlkZW8vbXBlZyJfcywKKyAgICAgICAgImFwcGxpY2F0aW9uL3ZuZC5hcHBs
ZS5tcGVndXJsIl9zLAorICAgICAgICAiYXBwbGljYXRpb24vbXBlZ3VybCJfcywKKyAgICAgICAg
ImFwcGxpY2F0aW9uL3gtbXBlZ3VybCJfcywKKyAgICAgICAgImF1ZGlvL21wZWd1cmwiX3MsCisg
ICAgICAgICJhdWRpby94LW1wZWd1cmwiX3MsCisgICAgICAgICJhdWRpby9tcGVndXJsIl9zLAor
ICAgICAgICAidmlkZW8veC1tNHYiX3MsCisgICAgICAgICJhdWRpby94LW00YSJfcywKKyAgICAg
ICAgImF1ZGlvL3gtbTRiIl9zLAorICAgICAgICAiYXVkaW8veC1tNHAiX3MsCisgICAgICAgICJh
dWRpby9tcDQiX3MsCisgICAgICAgICJhdWRpby9tcDMiX3MsCisgICAgICAgICJhdWRpby94LW1w
MyJfcywKKyAgICAgICAgImF1ZGlvL3gtbXBlZyJfcywKKyAgICAgICAgInZpZGVvL3gtbXBlZzIi
X3MsCisgICAgICAgICJ2aWRlby9tcGVnMiJfcywKKyAgICAgICAgInZpZGVvL20ydHMiX3MsCisg
ICAgICAgICJ2aWRlby94LW0ydHMiX3MsCisgICAgICAgICJhdWRpby8zZ3BwIl9zLAorICAgICAg
ICAiYXVkaW8vM2dwcDIiX3MsCisgICAgICAgICJhcHBsaWNhdGlvbi94LW1wZWciX3MsCisgICAg
ICAgICJhdWRpby9hYWMiX3MsCisgICAgICAgICJhdWRpby94LWFhYyJfcywKKyAgICAgICAgImF1
ZGlvL3gtY2FmIl9zLAorICAgICAgICAiYXVkaW8veC1nc20iX3MsCisgICAgICAgICJhdWRpby94
LXdhdiJfcywKKyAgICAgICAgImF1ZGlvL3ZuZC53YXZlIl9zLAorICAgIH07CisgICAgcmV0dXJu
IG1pbWVUeXBlczsKK307CisKK2NvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVhdGVV
VElGcm9tTUlNRVR5cGVNYXAoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFw
PFN0cmluZywgU3RyaW5nPj4gbWFwID0gW10geworICAgICAgICBIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiBjYWNoZTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogbWltZVR5cGVzKCkpCisg
ICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkp
OworICAgICAgICBjYWNoZS5hZGQoRU1QVFlfTUlNRV9UWVBFX1NUUklORywgVVRJRnJvbU1JTUVU
eXBlKGVtcHR5U3RyaW5nKCkpKTsKKyAgICAgICAgcmV0dXJuIGNhY2hlOworICAgIH0oKTsKKyAg
ICByZXR1cm4gbWFwOworfQorCit2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0
cmluZywgU3RyaW5nPiYmIG1hcCkKK3sKKyAgICBtYXBVVElGcm9tTUlNRVR5cGUoKSA9IFdURk1v
dmUobWFwKTsKK30KKwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAko
cmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01NDc0LDYgKzU0NzQsMTEgQEAgU3RyaW5nIEludGVybmFsczo6
ZW5jb2RlZFByZWZlcmVuY2VWYWx1ZQogewogICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogfQor
CitTdHJpbmcgSW50ZXJuYWxzOjpnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSkKK3sKKyAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KICNlbmRpZgogCiBTdHJpbmcg
SW50ZXJuYWxzOjptZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5z
aW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCShyZXZpc2lvbiAyNTc2ODUp
CisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCSh3b3JraW5nIGNvcHkpCkBA
IC05MzgsNiArOTM4LDggQEAgcHVibGljOgogCiAgICAgU3RyaW5nIG1lZGlhTUlNRVR5cGVGb3JF
eHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pOwogCisgICAgU3RyaW5nIGdldFVUSUZy
b21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKwogICAgIGJvb2wgc3VwcG9ydHNQ
aWN0dXJlSW5QaWN0dXJlKCk7CiAKICAgICBTdHJpbmcgZm9jdXNSaW5nQ29sb3IoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtODQ2
LDYgKzg0Niw4IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogICAgIERPTVN0cmluZyBlbmNv
ZGVkUHJlZmVyZW5jZVZhbHVlKERPTVN0cmluZyBkb21haW4sIERPTVN0cmluZyBrZXkpOwogCiAg
ICAgRE9NU3RyaW5nIG1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oRE9NU3RyaW5nIGV4dGVuc2lv
bik7Ci0gICAgCisKKyAgICBET01TdHJpbmcgZ2V0VVRJRnJvbU1JTUVUeXBlKERPTVN0cmluZyBt
aW1lVHlwZSk7CisKICAgICBib29sZWFuIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpOwogfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLm1tCShyZXZpc2lvbiAyNTc2ODUpCisr
KyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzQsNiArMzQsNyBAQAogI2ltcG9ydCAiSGl0VGVzdFJlc3VsdC5oIgogI2ltcG9ydCAiTWVkaWFQ
bGF5ZXJQcml2YXRlLmgiCiAjaW1wb3J0ICJSYW5nZS5oIgorI2ltcG9ydCAiVVRJVXRpbGl0aWVz
LmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5ZXIuaD4KICNpbXBvcnQgPHd0Zi9jb2Nv
YS9OU1VSTEV4dHJhcy5oPgogCkBAIC0xMDAsNCArMTAxLDkgQEAgU3RyaW5nIEludGVybmFsczo6
ZW5jb2RlZFByZWZlcmVuY2VWYWx1ZQogICAgIHJldHVybiBlbmNvZGVkU3RyaW5nOwogfQogCitT
dHJpbmcgSW50ZXJuYWxzOjpnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSkKK3sKKyAgICByZXR1cm4gVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKTsKK30KKwogfQpJbmRl
eDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDItMjkgIFBlciBBcm5lIFZvbGxh
biAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFwcGluZyBmcm9tIE1J
TUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2VzcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDE1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICBTZW5kIHRoZSBtYXBw
aW5nIGJldHdlZW4gTUlNRSB0eXBlcyBhbmQgVVRJIHR5cGVzIHRvIHRoZSBXZWJDb250ZW50IHBy
b2Nlc3MgYXMgcGFydCBvZiB0aGUgV2ViCisgICAgICAgIHByb2Nlc3MgY3JlYXRpb24gcGFyYW1l
dGVycy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIwLTAyLTI4ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAg
W01lZGlhIGluIEdQVSBwcm9jZXNzXSBJbXBsZW1lbnQgdGhlIHZpZGVvIGZ1bGxzY3JlZW4gYW5k
IFBpY3R1cmUtaW4tUGljdHVyZSBzdXBwb3J0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24gMjU3
Njg1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MSw2ICsxNzEsNyBAQCB2b2lkIFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kCiAgICAgZW5jb2RlciA8PCBuZVNlc3Npb25NYW5hZ2Vy
RXh0ZW5zaW9uSGFuZGxlOwogICAgIGVuY29kZXIgPDwgc3lzdGVtSGFzQmF0dGVyeTsKICAgICBl
bmNvZGVyIDw8IG1pbWVUeXBlc01hcDsKKyAgICBlbmNvZGVyIDw8IG1hcFVUSUZyb21NSU1FVHlw
ZTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQ2MCw2ICs0NjEsMTIg
QEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgIGlmICghbWlt
ZVR5cGVzTWFwKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcGFyYW1ldGVycy5taW1lVHlw
ZXNNYXAgPSBXVEZNb3ZlKCptaW1lVHlwZXNNYXApOworCisgICAgT3B0aW9uYWw8SGFzaE1hcDxT
dHJpbmcsIFN0cmluZz4+IG1hcFVUSUZyb21NSU1FVHlwZTsKKyAgICBkZWNvZGVyID4+IG1hcFVU
SUZyb21NSU1FVHlwZTsKKyAgICBpZiAoIW1hcFVUSUZyb21NSU1FVHlwZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIHBhcmFtZXRlcnMubWFwVVRJRnJvbU1JTUVUeXBlID0gV1RGTW92ZSgq
bWFwVVRJRnJvbU1JTUVUeXBlKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjEzLDYgKzIx
Myw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBPcHRpb25h
bDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5k
bGU7CiAgICAgYm9vbCBzeXN0ZW1IYXNCYXR0ZXJ5IHsgZmFsc2UgfTsKICAgICBPcHRpb25hbDxI
YXNoTWFwPFN0cmluZywgVmVjdG9yPFN0cmluZz4sIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4+
IG1pbWVUeXBlc01hcDsKKyAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtYXBVVElGcm9tTUlN
RVR5cGU7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0J
KHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvUGxhdGZvcm1QYXN0ZWJvYXJkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUu
aD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDxzeXMvcGFy
YW0uaD4KQEAgLTQwNiw2ICs0MDcsOCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUlu
aXRpYWxpemVXCiAgICAgICAgIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhh
bmRsZSA9IFdURk1vdmUobWFuYWdlckhhbmRsZSk7CiAgICAgfQogICAgIHBhcmFtZXRlcnMuc3lz
dGVtSGFzQmF0dGVyeSA9IHN5c3RlbUhhc0JhdHRlcnkoKTsKKyAgICBwYXJhbWV0ZXJzLm1pbWVU
eXBlc01hcCA9IGNvbW1vbk1pbWVUeXBlc01hcCgpOworICAgIHBhcmFtZXRlcnMubWFwVVRJRnJv
bU1JTUVUeXBlID0gY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCk7CiAjZW5kaWYKICAgICAKICNp
ZiBQTEFURk9STShJT1MpCkBAIC00MTQsNyArNDE3LDYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6
cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5k
bGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUudWlraXQudmlld3NlcnZpY2UuY29tLmFwcGxlLldl
YkNvbnRlbnRGaWx0ZXIucmVtb3RlVUkiLCBXVEY6Om51bGxvcHQsIGhhbmRsZSk7CiAgICAgICAg
IHBhcmFtZXRlcnMuY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoaGFuZGxl
KTsKICAgICB9Ci0gICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25NaW1lVHlwZXNN
YXAoKTsKICNlbmRpZgogICAgIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJl
dmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcgQEAKICNpbXBvcnQgPFdl
YkNvcmUvUGljdHVyZUluUGljdHVyZVN1cHBvcnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NXQ29udGV4dE1hbmFnZXIu
aD4KKyNpbXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxhbGdvcml0aG0+
CiAjaW1wb3J0IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+
CkBAIC0yNzQsNiArMjc1LDggQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJQcgogCiAgICAgaWYgKHBhcmFtZXRlcnMubWltZVR5cGVzTWFwKQogICAgICAgICBvdmVycmlk
ZGVuTWltZVR5cGVzTWFwKCkgPSBXVEZNb3ZlKHBhcmFtZXRlcnMubWltZVR5cGVzTWFwKTsKKwor
ICAgIHNldFVUSUZyb21NSU1FVHlwZU1hcChXVEZNb3ZlKHBhcmFtZXRlcnMubWFwVVRJRnJvbU1J
TUVUeXBlKSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBUb29s
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc2
ODUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAor
MjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBlIHNob3VsZCBiZSBk
b25lIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDg0MTUKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFt
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJv
bU1JTUVUeXBlLm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDIwLTAyLTI4ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIyNTc1NjUuCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMjU3Njg1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTg4Myw2ICs4ODMsNyBAQAog
CQlDMTVDQkIzMDIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24u
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIy
RjIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi87IH07
CiAJCUMxNUNCQjNGMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNUNCQjNFMjNGQjE3
N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLzsgfTsKIAkJQzE2OTJEQ0EyM0Qx
MERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAq
LzsgfTsKKwkJQzE5NEUzMUQyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxOTRFMzFDMjQw
OURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gKi87IH07CiAJCUMyMEY4OEE3MjI5
NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyog
Q29yZVRleHQuZnJhbWV3b3JrICovOyB9OwogCQlDMjJGQTMyQjIyOEY4NzA4MDA5RDc5ODggLyog
VGV4dFdpZHRoLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzIyRkEzMkEyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSAqLzsgfTsKIAkJQzIy
RkEzMkQyMjhGOEFFQjAwOUQ3OTg4IC8qIFRleHRXaWR0aC5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJDMjI4Rjg3N0EwMDlE
Nzk4OCAvKiBUZXh0V2lkdGguaHRtbCAqLzsgfTsKQEAgLTI0NDgsNiArMjQ0OSw3IEBACiAJCUMx
NUNCQjJGMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJl
ZmVyZW5jZUNoYW5nZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBQcmVmZXJlbmNlQ2hhbmdlcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzE2
OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBCYXR0ZXJ5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTk0RTMxQzI0MDlE
RjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
VVRJRnJvbU1JTUVUeXBlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMUQ4RUUy
MTIwMjhFOEUzMDA4RUIxNDEgLyogV2ViUHJvY2Vzc1Rlcm1pbmF0ZS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2Nlc3NUZXJtaW5hdGUubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMEY4OEE2MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3Jl
VGV4dC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENvcmVUZXh0LmZyYW1ld29yazsgcGF0
aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVRleHQuZnJhbWV3b3JrOyBzb3VyY2VU
cmVlID0gU0RLUk9PVDsgfTsKIAkJQzIyRkEzMkEyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0
aC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFRleHRXaWR0aC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTI5MDAsNiArMjkwMiw3IEBACiAJCQkJQzE0NUNDMEIyM0RBNUEwRjAw
M0E1RUVCIC8qIE1pbWVUeXBlcy5tbSAqLywKIAkJCQlFMzI1QzkwNjIzRTM4NzAyMDBCQzdEM0Ig
LyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQubW0gKi8sCiAJCQkJQzE1Q0JCM0UyM0ZCMTc3QTAw
MzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICovLAorCQkJCUMxOTRFMzFDMjQwOURGNDMw
MDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gKi8sCiAJCQkJMEYxMzlFNzUxQTQyM0E1MzAw
RjU5MEY1IC8qIFdlYWtPYmpDUHRyLm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBjb2NvYTsKQEAg
LTUwOTYsNiArNTA5OSw3IEBACiAJCQkJMDdGNEU5MkUyMEFGNTlFMjAwMkUzODAzIC8qIFVzZXJN
ZWRpYVNpbXVsYXRlRmFpbGVkU2FuZGJveC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjE4
MUE0MTFBRTYwMDQ0N0M0QyAvKiBVc2VyTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RUIyNDJCODIxRDQxNDBCMDA1NUMxQzAgLyogVXNlU2VsZWN0aW9uQXNGaW5kU3RyaW5nLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJQzE5NEUzMUQyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21NSU1F
VHlwZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMDNBMUQwQTYwMjcwMEZFQkNGMyAvKiBV
dGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMEM2MUQwQTY1NEUwMEZF
QkNGMyAvKiBWaWRlb0NvbnRyb2xzTWFuYWdlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEMzA2
NUUwMjE2NTY4MkUwMEU4OTVERiAvKiBWaWRlb1F1YWxpdHlEaXNwbGF5Q29tcG9zaXRpbmcubW0g
aW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VU
SUZyb21NSU1FVHlwZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBX
S19IQVZFX0NfU1BJCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJU
ZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgorCitURVNU
KFdlYktpdCwgVVRJRnJvbU1JTUVUeXBlKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRh
aW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGls
OjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1
bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1By
b2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
VGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwg
MzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7
CisKKyAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29yZTo6bWltZVR5cGVzKCkpIHsKKyAg
ICAgICAgYXV0byBqcyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAid2luZG93LmludGVy
bmFscy5nZXRVVElGcm9tTUlNRVR5cGUoXCIlc1wiKSIsIG1pbWVUeXBlLnV0ZjgoKS5kYXRhKCld
OworCisgICAgICAgIGF1dG8gdXRpID0gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNj
cmlwdDpqc107CisKKyAgICAgICAgQVNTRVJUX1RSVUUoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBl
KG1pbWVUeXBlKSA9PSBTdHJpbmcodXRpKSk7CisgICAgfQorfQorCisjZW5kaWYgLy8gV0tfSEFW
RV9DX1NQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392153</attachid>
            <date>2020-03-02 10:49:24 -0800</date>
            <delta_ts>2020-03-02 10:49:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200302104923.patch</filename>
            <type>text/plain</type>
            <size>20403</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBtaW1lVHlwZXMoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogI2RlZmluZSBBRERJVElPTkFMX1VUSV9NQVBQSU5H
UwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9UWVBFX1NUUklORyAiZW1wdHlNaW1lVHlw
ZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29u
c3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNSwyNiBAQCBzdGF0aWMgU3RyaW5nIFVUSUZy
b21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJuIG1hcEVudHJ5LT52YWx1ZTsKIH0KIAor
c3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVU
eXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKwogc3RydWN0IFVUSUZyb21N
SU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hlUG9saWN5PFN0cmluZywgU3RyaW5nPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVhdGVWYWx1ZUZvcktleShjb25zdCBTdHJp
bmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJpbmcga2V5ID0gbWltZVR5cGU7CisgICAg
ICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNWYWx1ZSgpKSB7CisgICAgICAgICAgICBp
ZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVf
U1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYgaXQgPSBtYXBVVElGcm9tTUlNRVR5cGUo
KS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgp
LT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgICAgICAgICAg
V1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAlcyBub3QgZm91bmQuIiwga2V5LnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgfQogICAgICAgICBhdXRvIHR5cGUgPSBhZG9wdENGKFVUVHlwZUNyZWF0ZVByZWZlcnJl
ZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NNSU1FVHlwZSwga2V5LmNyZWF0ZUNGU3RyaW5n
KCkuZ2V0KCksIDApKTsKICAgICAgICAgaWYgKHR5cGUpCiAgICAgICAgICAgICByZXR1cm4gdHlw
ZS5nZXQoKTsKQEAgLTEyNCwxMSArMTQyLDE2IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCitzdGF0
aWMgVGlueUxSVUNhY2hlPFN0cmluZywgU3RyaW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQ
b2xpY3k+JiBjYWNoZVVUSUZyb21NaW1lVHlwZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hl
UG9saWN5Pj4gY2FjaGU7CisgICAgcmV0dXJuIGNhY2hlOworfQorCiBTdHJpbmcgVVRJRnJvbU1J
TUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VGlueUxSVUNhY2hlPFN0cmluZywgU3Ry
aW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+PiBjYWNoZTsKLSAgICByZXR1cm4g
Y2FjaGUuZ2V0KCkuZ2V0KG1pbWVUeXBlKTsKKyAgICByZXR1cm4gY2FjaGVVVElGcm9tTWltZVR5
cGUoKS5nZXQobWltZVR5cGUpOwogfQogCiBib29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5n
JiBVVEkpCkBAIC0xMzYsNCArMTU5LDc3IEBAIGJvb2wgaXNEZWNsYXJlZFVUSShjb25zdCBTdHJp
bmcmIFVUSSkKICAgICByZXR1cm4gVVRUeXBlSXNEZWNsYXJlZChVVEkuY3JlYXRlQ0ZTdHJpbmco
KS5nZXQoKSk7CiB9CiAKK2NvbnN0IFZlY3RvcjxTdHJpbmc+JiBtaW1lVHlwZXMoKQoreworICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gbWltZVR5cGVzID0gc3RkOjpp
bml0aWFsaXplcl9saXN0PFN0cmluZz4geworICAgICAgICAiYXBwbGljYXRpb24vb2dnIl9zLAor
ICAgICAgICAiYXVkaW8vb2dnIl9zLAorICAgICAgICAidmlkZW8vb2dnIl9zLAorICAgICAgICAi
YXBwbGljYXRpb24vYW5ub2RleCJfcywKKyAgICAgICAgImF1ZGlvL2Fubm9kZXgiX3MsCisgICAg
ICAgICJ2aWRlby9hbm5vZGV4Il9zLAorICAgICAgICAiYXVkaW8vc3BlZXgiX3MsCisgICAgICAg
ICJ2aWRlby93ZWJtIl9zLAorICAgICAgICAiYXVkaW8vd2VibSJfcywKKyAgICAgICAgImF1ZGlv
L21wZWciX3MsCisgICAgICAgICJ2aWRlby9tcGVnIl9zLAorICAgICAgICAiYXBwbGljYXRpb24v
dm5kLmFwcGxlLm1wZWd1cmwiX3MsCisgICAgICAgICJhcHBsaWNhdGlvbi9tcGVndXJsIl9zLAor
ICAgICAgICAiYXBwbGljYXRpb24veC1tcGVndXJsIl9zLAorICAgICAgICAiYXVkaW8vbXBlZ3Vy
bCJfcywKKyAgICAgICAgImF1ZGlvL3gtbXBlZ3VybCJfcywKKyAgICAgICAgImF1ZGlvL21wZWd1
cmwiX3MsCisgICAgICAgICJ2aWRlby94LW00diJfcywKKyAgICAgICAgImF1ZGlvL3gtbTRhIl9z
LAorICAgICAgICAiYXVkaW8veC1tNGIiX3MsCisgICAgICAgICJhdWRpby94LW00cCJfcywKKyAg
ICAgICAgInZpZGVvL21wNCJfcywKKyAgICAgICAgImF1ZGlvL21wNCJfcywKKyAgICAgICAgImF1
ZGlvL21wMyJfcywKKyAgICAgICAgImF1ZGlvL3gtbXAzIl9zLAorICAgICAgICAiYXVkaW8veC1t
cGVnIl9zLAorICAgICAgICAidmlkZW8veC1tcGVnMiJfcywKKyAgICAgICAgInZpZGVvL21wZWcy
Il9zLAorICAgICAgICAidmlkZW8vbTJ0cyJfcywKKyAgICAgICAgInZpZGVvL3gtbTJ0cyJfcywK
KyAgICAgICAgImF1ZGlvLzNncHAiX3MsCisgICAgICAgICJhdWRpby8zZ3BwMiJfcywKKyAgICAg
ICAgImFwcGxpY2F0aW9uL3gtbXBlZyJfcywKKyAgICAgICAgImF1ZGlvL2FhYyJfcywKKyAgICAg
ICAgImF1ZGlvL3gtYWFjIl9zLAorICAgICAgICAiYXVkaW8veC1jYWYiX3MsCisgICAgICAgICJh
dWRpby94LWdzbSJfcywKKyAgICAgICAgImF1ZGlvL3gtd2F2Il9zLAorICAgICAgICAiYXVkaW8v
dm5kLndhdmUiX3MsCisgICAgICAgICJhdWRpby93YXYiX3MsCisKKyAgICAgICAgImltYWdlL2dp
ZiJfcywKKyAgICAgICAgImltYWdlL2pwZWciX3MsCisgICAgICAgICJpbWFnZS9wbmciX3MsCisK
KyAgICAgICAgIm11bHRpcGFydC94LWZvbGRlciJfcywKKworICAgICAgICAidGV4dC9odG1sIl9z
LAorICAgICAgICAidGV4dC9wbGFpbiJfcywKKyAgICB9OworICAgIHJldHVybiBtaW1lVHlwZXM7
Cit9OworCitjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3JlYXRlVVRJRnJvbU1JTUVU
eXBlTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIFN0
cmluZz4+IG1hcCA9IFtdIHsKKyAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gY2FjaGU7
CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IG1pbWVUeXBlcygpKQorICAgICAgICAgICAg
Y2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAg
Y2FjaGUuYWRkKEVNUFRZX01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShlbXB0eVN0
cmluZygpKSk7CisgICAgICAgIHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0dXJuIG1h
cDsKK30KKwordm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4mJiBtYXApCit7CisgICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1hcCk7Cit9
CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1
NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTQ3NCw2ICs1NDc0LDExIEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVm
ZXJlbmNlVmFsdWUKIHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KKworU3RyaW5nIElu
dGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7Cisg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3RyaW5nIEludGVybmFsczo6
bWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTM4LDYgKzkz
OCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGlj
dHVyZSgpOwogCiAgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg0Niw2ICs4NDYsOCBA
QCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZlcmVu
Y2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKIAogICAgIERPTVN0cmlu
ZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRlbnNpb24pOwotICAgIAor
CisgICAgRE9NU3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJpbmcgbWltZVR5cGUpOwor
CiAgICAgYm9vbGVhbiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbXBvcnQgIkhpdFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0
ZS5oIgogI2ltcG9ydCAiUmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2ltcG9y
dCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRy
YXMuaD4KIApAQCAtMTAwLDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVm
ZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0KIAorU3RyaW5nIEludGVy
bmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAg
cmV0dXJuIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8g
VVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAgIFJldmll
d2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgU2VuZCB0aGUgbWFwcGluZyBiZXR3ZWVu
IE1JTUUgdHlwZXMgYW5kIFVUSSB0eXBlcyB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBh
cnQgb2YgdGhlIFdlYgorICAgICAgICBwcm9jZXNzIGNyZWF0aW9uIHBhcmFtZXRlcnMuCisKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0wMi0y
OCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYSBpbiBH
UFUgcHJvY2Vzc10gSW1wbGVtZW50IHRoZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQaWN0dXJlLWlu
LVBpY3R1cmUgc3VwcG9ydApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZAogICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhh
bmRsZTsKICAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBt
aW1lVHlwZXNNYXA7CisgICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00NjAsNiArNDYxLDEyIEBAIGJvb2wgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RG
TW92ZSgqbWltZVR5cGVzTWFwKTsKKworICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJp
bmc+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAgZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5
cGU7CisgICAgaWYgKCFtYXBVVElGcm9tTUlNRVR5cGUpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21N
SU1FVHlwZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBzdHJ1
Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGJv
b2wgc3lzdGVtSGFzQmF0dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJp
bmcsIFZlY3RvcjxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlwZXNN
YXA7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbWFwVVRJRnJvbU1JTUVUeXBlOwogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAy
NTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L1BsYXRmb3JtUGFzdGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0
IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBAIC00
MDYsNiArNDA3LDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwog
ICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZN
b3ZlKG1hbmFnZXJIYW5kbGUpOwogICAgIH0KICAgICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0JhdHRl
cnkgPSBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisgICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBj
b21tb25NaW1lVHlwZXNNYXAoKTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9
IGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0o
SU9TKQpAQCAtNDE0LDcgKzQxNyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZVcKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExv
b2t1cCgiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50Rmls
dGVyLnJlbW90ZVVJIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJz
LmNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQot
ICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7CiAjZW5k
aWYKICAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTc2
ODUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1
cmVJblBpY3R1cmVTdXBwb3J0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CisjaW1wb3J0
IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8
ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMjc0LDYg
KzI3NSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAg
IGlmIChwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBl
c01hcCgpID0gV1RGTW92ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CisKKyAgICBzZXRVVElG
cm9tTUlNRVR5cGVNYXAoV1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwog
I2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDItMjkg
IFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0g
TWFwcGluZyBmcm9tIE1JTUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUg
VUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5t
bTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25vcmkg
IDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjU3NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NzY4
NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JCMzAy
M0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYxQTAw
MzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVDQkIz
RjIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcg
LyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhG
NyAvKiBCYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJCUMx
OTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAyOTM5
RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBENjEw
RkEgLyogQ29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZy
YW1ld29yayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJB
MjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4RjhB
RUIwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyogVGV4
dFdpZHRoLmh0bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIzRjFG
RjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFu
Z2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5j
ZUNoYW5nZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNEMTBE
QUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVyeS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVE
IC8qIFVUSUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21NSU1F
VHlwZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThFMzAw
OEVCMTQxIC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3
b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3Jh
cHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JP
T1Q7IH07CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yOTAwLDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAvKiBN
aW1lVHlwZXMubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJ
blBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQ
cmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyog
VVRJRnJvbU1JTUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBX
ZWFrT2JqQ1B0ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYgKzUw
OTksNyBAQAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11bGF0
ZUZhaWxlZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2MDA0
NDdDNEMgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgyMUQ0
MTQwQjAwNTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29j
b2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyogVmlk
ZW9Db250cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2ODJF
MDBFODk1REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5
cGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJ
RnJvbU1JTUVUeXBlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQ
SQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmll
dy5oIgorI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KKworVEVTVChXZWJLaXQsIFVU
SUZyb21NSU1FVHlwZSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29u
dGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29u
dGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0Iikp
OworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAq
KWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmln
dXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworCisgICAgZm9y
IChhdXRvJiBtaW1lVHlwZSA6IFdlYkNvcmU6Om1pbWVUeXBlcygpKSB7CisgICAgICAgIGF1dG8g
anMgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIndpbmRvdy5pbnRlcm5hbHMuZ2V0VVRJ
RnJvbU1JTUVUeXBlKFwiJXNcIikiLCBtaW1lVHlwZS51dGY4KCkuZGF0YSgpXTsKKworICAgICAg
ICBhdXRvIHV0aSA9IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6anNdOwor
CisgICAgICAgIEFTU0VSVF9UUlVFKFdlYkNvcmU6OlVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkg
PT0gU3RyaW5nKHV0aSkpOworICAgIH0KK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392156</attachid>
            <date>2020-03-02 11:06:52 -0800</date>
            <delta_ts>2020-03-02 12:21:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200302110652.patch</filename>
            <type>text/plain</type>
            <size>20395</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBtaW1lVHlwZXMoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogI2RlZmluZSBBRERJVElPTkFMX1VUSV9NQVBQSU5H
UwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9UWVBFX1NUUklORyAiZW1wdHlNaW1lVHlw
ZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29u
c3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNSwyNiBAQCBzdGF0aWMgU3RyaW5nIFVUSUZy
b21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJuIG1hcEVudHJ5LT52YWx1ZTsKIH0KIAor
c3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVU
eXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKwogc3RydWN0IFVUSUZyb21N
SU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hlUG9saWN5PFN0cmluZywgU3RyaW5nPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVhdGVWYWx1ZUZvcktleShjb25zdCBTdHJp
bmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJpbmcga2V5ID0gbWltZVR5cGU7CisgICAg
ICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNWYWx1ZSgpKSB7CisgICAgICAgICAgICBp
ZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVf
U1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYgaXQgPSBtYXBVVElGcm9tTUlNRVR5cGUo
KS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgp
LT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgICAgICAgICAg
V1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAlcyBub3QgZm91bmQuIiwga2V5LnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0K
ICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlm
aWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgp
LCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAgICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7
CkBAIC0xMjQsMTEgKzE0MiwxNiBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorc3RhdGljIFRpbnlM
UlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5PiYg
Y2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55
TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+
IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwogU3RyaW5nIFVUSUZyb21NSU1FVHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0g
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYs
IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7Ci0gICAgcmV0dXJuIGNhY2hlLmdl
dCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNhY2hlVVRJRnJvbU1pbWVUeXBlKCkuZ2V0
KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVkVVRJKGNvbnN0IFN0cmluZyYgVVRJKQpA
QCAtMTM2LDQgKzE1OSw3NyBAQCBib29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkp
CiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkp
OwogfQogCitjb25zdCBWZWN0b3I8U3RyaW5nPiYgbWltZVR5cGVzKCkKK3sKKyAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFN0cmluZz4+IG1pbWVUeXBlcyA9IHN0ZDo6aW5pdGlhbGl6
ZXJfbGlzdDxTdHJpbmc+IHsKKyAgICAgICAgImFwcGxpY2F0aW9uL29nZyJfcywKKyAgICAgICAg
ImF1ZGlvL29nZyJfcywKKyAgICAgICAgInZpZGVvL29nZyJfcywKKyAgICAgICAgImFwcGxpY2F0
aW9uL2Fubm9kZXgiX3MsCisgICAgICAgICJhdWRpby9hbm5vZGV4Il9zLAorICAgICAgICAidmlk
ZW8vYW5ub2RleCJfcywKKyAgICAgICAgImF1ZGlvL3NwZWV4Il9zLAorICAgICAgICAidmlkZW8v
d2VibSJfcywKKyAgICAgICAgImF1ZGlvL3dlYm0iX3MsCisgICAgICAgICJhdWRpby9tcGVnIl9z
LAorICAgICAgICAidmlkZW8vbXBlZyJfcywKKyAgICAgICAgImFwcGxpY2F0aW9uL3ZuZC5hcHBs
ZS5tcGVndXJsIl9zLAorICAgICAgICAiYXBwbGljYXRpb24vbXBlZ3VybCJfcywKKyAgICAgICAg
ImFwcGxpY2F0aW9uL3gtbXBlZ3VybCJfcywKKyAgICAgICAgImF1ZGlvL21wZWd1cmwiX3MsCisg
ICAgICAgICJhdWRpby94LW1wZWd1cmwiX3MsCisgICAgICAgICJhdWRpby9tcGVndXJsIl9zLAor
ICAgICAgICAidmlkZW8veC1tNHYiX3MsCisgICAgICAgICJhdWRpby94LW00YSJfcywKKyAgICAg
ICAgImF1ZGlvL3gtbTRiIl9zLAorICAgICAgICAiYXVkaW8veC1tNHAiX3MsCisgICAgICAgICJ2
aWRlby9tcDQiX3MsCisgICAgICAgICJhdWRpby9tcDQiX3MsCisgICAgICAgICJhdWRpby9tcDMi
X3MsCisgICAgICAgICJhdWRpby94LW1wMyJfcywKKyAgICAgICAgImF1ZGlvL3gtbXBlZyJfcywK
KyAgICAgICAgInZpZGVvL3gtbXBlZzIiX3MsCisgICAgICAgICJ2aWRlby9tcGVnMiJfcywKKyAg
ICAgICAgInZpZGVvL20ydHMiX3MsCisgICAgICAgICJ2aWRlby94LW0ydHMiX3MsCisgICAgICAg
ICJhdWRpby8zZ3BwIl9zLAorICAgICAgICAiYXVkaW8vM2dwcDIiX3MsCisgICAgICAgICJhcHBs
aWNhdGlvbi94LW1wZWciX3MsCisgICAgICAgICJhdWRpby9hYWMiX3MsCisgICAgICAgICJhdWRp
by94LWFhYyJfcywKKyAgICAgICAgImF1ZGlvL3gtY2FmIl9zLAorICAgICAgICAiYXVkaW8veC1n
c20iX3MsCisgICAgICAgICJhdWRpby94LXdhdiJfcywKKyAgICAgICAgImF1ZGlvL3ZuZC53YXZl
Il9zLAorICAgICAgICAiYXVkaW8vd2F2Il9zLAorCisgICAgICAgICJpbWFnZS9naWYiX3MsCisg
ICAgICAgICJpbWFnZS9qcGVnIl9zLAorICAgICAgICAiaW1hZ2UvcG5nIl9zLAorCisgICAgICAg
ICJtdWx0aXBhcnQveC1mb2xkZXIiX3MsCisKKyAgICAgICAgInRleHQvaHRtbCJfcywKKyAgICAg
ICAgInRleHQvcGxhaW4iX3MsCisgICAgfTsKKyAgICByZXR1cm4gbWltZVR5cGVzOworfTsKKwor
Y29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgp
Cit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBt
YXAgPSBbXSB7CisgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGNhY2hlOworICAgICAg
ICBmb3IgKGF1dG8gbWltZVR5cGUgOiBtaW1lVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFk
ZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIGNhY2hlLmFk
ZChFTVBUWV9NSU1FX1RZUEVfU1RSSU5HLCBVVElGcm9tTUlNRVR5cGUoZW1wdHlTdHJpbmcoKSkp
OworICAgICAgICByZXR1cm4gY2FjaGU7CisgICAgfSgpOworICAgIHJldHVybiBtYXA7Cit9CisK
K3ZvaWQgc2V0VVRJRnJvbU1JTUVUeXBlTWFwKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiYgbWFw
KQoreworICAgIG1hcFVUSUZyb21NSU1FVHlwZSgpID0gV1RGTW92ZShtYXApOworfQorCiB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNTc2ODUpCisr
KyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU0NzQsNiArNTQ3NCwxMSBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbmNvZGVkUHJlZmVyZW5jZVZh
bHVlCiB7CiAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiB9CisKK1N0cmluZyBJbnRlcm5hbHM6
OmdldFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIHJldHVy
biBlbXB0eVN0cmluZygpOworfQogI2VuZGlmCiAKIFN0cmluZyBJbnRlcm5hbHM6Om1lZGlhTUlN
RVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTkzOCw2ICs5MzgsOCBAQCBw
dWJsaWM6CiAKICAgICBTdHJpbmcgbWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJp
bmcmIGV4dGVuc2lvbik7CiAKKyAgICBTdHJpbmcgZ2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpOworCiAgICAgYm9vbCBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsK
IAogICAgIFN0cmluZyBmb2N1c1JpbmdDb2xvcigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC04NDYsNiArODQ2LDggQEAgZW51bSBD
b21wb3NpdGluZ1BvbGljeSB7CiAgICAgRE9NU3RyaW5nIGVuY29kZWRQcmVmZXJlbmNlVmFsdWUo
RE9NU3RyaW5nIGRvbWFpbiwgRE9NU3RyaW5nIGtleSk7CiAKICAgICBET01TdHJpbmcgbWVkaWFN
SU1FVHlwZUZvckV4dGVuc2lvbihET01TdHJpbmcgZXh0ZW5zaW9uKTsKLSAgICAKKworICAgIERP
TVN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoRE9NU3RyaW5nIG1pbWVUeXBlKTsKKwogICAgIGJv
b2xlYW4gc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW1w
b3J0ICJIaXRUZXN0UmVzdWx0LmgiCiAjaW1wb3J0ICJNZWRpYVBsYXllclByaXZhdGUuaCIKICNp
bXBvcnQgIlJhbmdlLmgiCisjaW1wb3J0ICJVVElVdGlsaXRpZXMuaCIKICNpbXBvcnQgPEFWRm91
bmRhdGlvbi9BVlBsYXllci5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAK
QEAgLTEwMCw0ICsxMDEsOSBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbmNvZGVkUHJlZmVyZW5jZVZh
bHVlCiAgICAgcmV0dXJuIGVuY29kZWRTdHJpbmc7CiB9CiAKK1N0cmluZyBJbnRlcm5hbHM6Omdl
dFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIHJldHVybiBV
VElGcm9tTUlNRVR5cGUobWltZVR5cGUpOworfQorCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24g
MjU3Njg1KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMiBAQAorMjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBl
IHNob3VsZCBiZSBkb25lIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0MTUKKworICAgICAgICBSZXZpZXdlZCBieSBC
cmVudCBGdWxnaGFtLgorCisgICAgICAgIFNlbmQgdGhlIG1hcHBpbmcgYmV0d2VlbiBNSU1FIHR5
cGVzIGFuZCBVVEkgdHlwZXMgdG8gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBhcyBwYXJ0IG9mIHRo
ZSBXZWIKKyAgICAgICAgcHJvY2VzcyBjcmVhdGlvbiBwYXJhbWV0ZXJzLgorCisgICAgICAgICog
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAq
IFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMDItMjggIFBlbmcg
TGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVkaWEgaW4gR1BVIHByb2Nl
c3NdIEltcGxlbWVudCB0aGUgdmlkZW8gZnVsbHNjcmVlbiBhbmQgUGljdHVyZS1pbi1QaWN0dXJl
IHN1cHBvcnQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTcxLDYgKzE3MSw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZW5jb2QKICAgICBlbmNvZGVyIDw8IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CiAg
ICAgZW5jb2RlciA8PCBzeXN0ZW1IYXNCYXR0ZXJ5OwogICAgIGVuY29kZXIgPDwgbWltZVR5cGVz
TWFwOworICAgIGVuY29kZXIgPDwgbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpAQCAtNDYwLDYgKzQ2MSwxMiBAQCBib29sIFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgaWYgKCFtaW1lVHlwZXNNYXApCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICBwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCA9IFdURk1vdmUoKm1p
bWVUeXBlc01hcCk7CisKKyAgICBPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3RyaW5nPj4gbWFw
VVRJRnJvbU1JTUVUeXBlOworICAgIGRlY29kZXIgPj4gbWFwVVRJRnJvbU1JTUVUeXBlOworICAg
IGlmICghbWFwVVRJRnJvbU1JTUVUeXBlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGFy
YW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUgPSBXVEZNb3ZlKCptYXBVVElGcm9tTUlNRVR5cGUp
OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNp
b24gMjU3Njg1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTMsNiArMjEzLDcgQEAgc3RydWN0IFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246
OkhhbmRsZT4gbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICAgICBib29sIHN5c3Rl
bUhhc0JhdHRlcnkgeyBmYWxzZSB9OwogICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBWZWN0
b3I8U3RyaW5nPiwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPj4gbWltZVR5cGVzTWFwOworICAg
IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1hcFVUSUZyb21NSU1FVHlwZTsKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjU3Njg1KQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQko
d29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9y
bVBhc3RlYm9hcmQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9V
VElVdGlsaXRpZXMuaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9jZi9DRk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgpAQCAtNDA2LDYgKzQw
Nyw4IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICAgICAg
cGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShtYW5h
Z2VySGFuZGxlKTsKICAgICB9CiAgICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0gc3lz
dGVtSGFzQmF0dGVyeSgpOworICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWlt
ZVR5cGVzTWFwKCk7CisgICAgcGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUgPSBjcmVhdGVV
VElGcm9tTUlNRVR5cGVNYXAoKTsKICNlbmRpZgogICAgIAogI2lmIFBMQVRGT1JNKElPUykKQEAg
LTQxNCw3ICs0MTcsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVX
CiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNv
bS5hcHBsZS51aWtpdC52aWV3c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1v
dGVVSSIsIFdURjo6bnVsbG9wdCwgaGFuZGxlKTsKICAgICAgICAgcGFyYW1ldGVycy5jb250ZW50
RmlsdGVyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShoYW5kbGUpOwogICAgIH0KLSAgICBwYXJh
bWV0ZXJzLm1pbWVUeXBlc01hcCA9IGNvbW1vbk1pbWVUeXBlc01hcCgpOwogI2VuZGlmCiAgICAg
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjU3Njg1KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNjcsNiArNjcsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QaWN0dXJlSW5QaWN0
dXJlU3VwcG9ydC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
aD4KICNpbXBvcnQgPFdlYkNvcmUvU1dDb250ZXh0TWFuYWdlci5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9VVElVdGlsaXRpZXMuaD4KICNpbXBvcnQgPGFsZ29yaXRobT4KICNpbXBvcnQgPGRpc3BhdGNo
L2Rpc3BhdGNoLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KQEAgLTI3NCw2ICsyNzUsOCBA
QCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAKICAgICBpZiAocGFy
YW1ldGVycy5taW1lVHlwZXNNYXApCiAgICAgICAgIG92ZXJyaWRkZW5NaW1lVHlwZXNNYXAoKSA9
IFdURk1vdmUocGFyYW1ldGVycy5taW1lVHlwZXNNYXApOworCisgICAgc2V0VVRJRnJvbU1JTUVU
eXBlTWFwKFdURk1vdmUocGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUpKTsKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW06IEFkZGVk
LgorICAgICAgICAoVEVTVCk6CisKIDIwMjAtMDItMjggIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1
NzU2NS4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTc2ODUpCisrKyBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtODgzLDYgKzg4Myw3IEBACiAJCUMxNUNCQjMwMjNGMUZGMUEw
MDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNUNCQjJGMjNGMUZGMUEwMDMwMENDNyAv
KiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLzsgfTsKIAkJQzE1Q0JCM0YyM0ZCMTc3
QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZl
cmVuY2VDaGFuZ2VzLm1tICovOyB9OwogCQlDMTY5MkRDQTIzRDEwREFFMDA2RTg4RjcgLyogQmF0
dGVyeS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMx
NjkyREM5MjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovOyB9OworCQlDMTk0RTMxRDI0
MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVU
SUZyb21NSU1FVHlwZS5tbSAqLzsgfTsKIAkJQzIwRjg4QTcyMjk1Qjk2NzAwRDYxMEZBIC8qIENv
cmVUZXh0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMyMEY4OEE2MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsg
Ki87IH07CiAJCUMyMkZBMzJCMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQTIyOEY4NzA4
MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICovOyB9OwogCQlDMjJGQTMyRDIyOEY4QUVCMDA5RDc5
ODggLyogVGV4dFdpZHRoLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzIyRkEzMkMyMjhGODc3QTAwOUQ3OTg4IC8qIFRleHRXaWR0aC5o
dG1sICovOyB9OwpAQCAtMjQ0OCw2ICsyNDQ5LDcgQEAKIAkJQzE1Q0JCMkYyM0YxRkYxQTAwMzAw
Q0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZWZlcmVuY2VDaGFuZ2Vz
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4
RjcgLyogQmF0dGVyeS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhdHRlcnkubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMxOTRFMzFDMjQwOURGNDMwMDI5MzlFRCAvKiBVVElG
cm9tTUlNRVR5cGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVVElGcm9tTUlNRVR5cGUubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxRDhFRTIxMjAyOEU4RTMwMDhFQjE0MSAv
KiBXZWJQcm9jZXNzVGVybWluYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV2ViUHJvY2Vzc1Rlcm1pbmF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBuYW1lID0gQ29yZVRleHQuZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9Db3JlVGV4dC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9Owog
CQlDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gVGV4dFdpZHRoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkw
MCw2ICsyOTAyLDcgQEAKIAkJCQlDMTQ1Q0MwQjIzREE1QTBGMDAzQTVFRUIgLyogTWltZVR5cGVz
Lm1tICovLAogCQkJCUUzMjVDOTA2MjNFMzg3MDIwMEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJl
U3VwcG9ydC5tbSAqLywKIAkJCQlDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5j
ZUNoYW5nZXMubW0gKi8sCisJCQkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21N
SU1FVHlwZS5tbSAqLywKIAkJCQkwRjEzOUU3NTFBNDIzQTUzMDBGNTkwRjUgLyogV2Vha09iakNQ
dHIubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGNvY29hOwpAQCAtNTA5Niw2ICs1MDk5LDcgQEAK
IAkJCQkwN0Y0RTkyRTIwQUY1OUUyMDAyRTM4MDMgLyogVXNlck1lZGlhU2ltdWxhdGVGYWlsZWRT
YW5kYm94Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMTgxQTQxMUFFNjAwNDQ3QzRDIC8q
IFVzZXJNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFQjI0MkI4MjFENDE0MEIwMDU1
QzFDMCAvKiBVc2VTZWxlY3Rpb25Bc0ZpbmRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKKwkJCQlD
MTk0RTMxRDI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0M4M0UwM0ExRDBBNjAyNzAwRkVCQ0YzIC8qIFV0aWxpdGllc0NvY29hLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0M4M0UwQzYxRDBBNjU0RTAwRkVCQ0YzIC8qIFZpZGVvQ29udHJv
bHNNYW5hZ2VyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QzMDY1RTAyMTY1NjgyRTAwRTg5NURG
IC8qIFZpZGVvUXVhbGl0eURpc3BsYXlDb21wb3NpdGluZy5tbSBpbiBTb3VyY2VzICovLApJbmRl
eDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1F
VHlwZS5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9VVElGcm9tTUlNRVR5cGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2lt
cG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNp
bXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+CisKK1RFU1QoV2ViS2l0LCBVVElGcm9tTUlN
RVR5cGUpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+
IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJ
bmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBj
b25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0
LmdldCgpOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246
Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGZvciAoYXV0byYg
bWltZVR5cGUgOiBXZWJDb3JlOjptaW1lVHlwZXMoKSkgeworICAgICAgICBhdXRvIGpzID0gW05T
U3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ3aW5kb3cuaW50ZXJuYWxzLmdldFVUSUZyb21NSU1F
VHlwZShcIiVzXCIpIiwgbWltZVR5cGUudXRmOCgpLmRhdGEoKV07CisKKyAgICAgICAgYXV0byB1
dGkgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OmpzXTsKKworICAgICAg
ICBBU1NFUlRfVFJVRShXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpID09IFN0cmlu
Zyh1dGkpKTsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392210</attachid>
            <date>2020-03-02 16:12:44 -0800</date>
            <delta_ts>2020-03-02 17:34:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200302161243.patch</filename>
            <type>text/plain</type>
            <size>20451</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBtaW1lVHlwZXMoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogI2RlZmluZSBBRERJVElPTkFMX1VUSV9NQVBQSU5H
UwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9UWVBFX1NUUklORyAiZW1wdHlNaW1lVHlw
ZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29u
c3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNSwyNiBAQCBzdGF0aWMgU3RyaW5nIFVUSUZy
b21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJuIG1hcEVudHJ5LT52YWx1ZTsKIH0KIAor
c3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVU
eXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKwogc3RydWN0IFVUSUZyb21N
SU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hlUG9saWN5PFN0cmluZywgU3RyaW5nPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVhdGVWYWx1ZUZvcktleShjb25zdCBTdHJp
bmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJpbmcga2V5ID0gbWltZVR5cGU7CisgICAg
ICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNWYWx1ZSgpKSB7CisgICAgICAgICAgICBp
ZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVf
U1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYgaXQgPSBtYXBVVElGcm9tTUlNRVR5cGUo
KS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgp
LT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgICAgICAgICAg
V1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAlcyBub3QgZm91bmQuIiwga2V5LnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0K
ICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlm
aWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgp
LCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAgICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7
CkBAIC0xMjQsMTEgKzE0MiwxNiBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorc3RhdGljIFRpbnlM
UlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5PiYg
Y2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55
TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+
IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwogU3RyaW5nIFVUSUZyb21NSU1FVHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0g
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYs
IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7Ci0gICAgcmV0dXJuIGNhY2hlLmdl
dCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNhY2hlVVRJRnJvbU1pbWVUeXBlKCkuZ2V0
KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVkVVRJKGNvbnN0IFN0cmluZyYgVVRJKQpA
QCAtMTM2LDQgKzE1OSw3OSBAQCBib29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkp
CiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkp
OwogfQogCitjb25zdCBWZWN0b3I8U3RyaW5nPiYgbWltZVR5cGVzKCkKK3sKKyAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFN0cmluZz4+IG1pbWVUeXBlcyA9IHN0ZDo6aW5pdGlhbGl6
ZXJfbGlzdDxTdHJpbmc+IHsKKyAgICAgICAgImFwcGxpY2F0aW9uL29nZyJfcywKKyAgICAgICAg
ImF1ZGlvL29nZyJfcywKKyAgICAgICAgInZpZGVvL29nZyJfcywKKyAgICAgICAgImFwcGxpY2F0
aW9uL2Fubm9kZXgiX3MsCisgICAgICAgICJhdWRpby9hbm5vZGV4Il9zLAorICAgICAgICAidmlk
ZW8vYW5ub2RleCJfcywKKyAgICAgICAgImF1ZGlvL3NwZWV4Il9zLAorICAgICAgICAidmlkZW8v
d2VibSJfcywKKyAgICAgICAgImF1ZGlvL3dlYm0iX3MsCisgICAgICAgICJhdWRpby9tcGVnIl9z
LAorICAgICAgICAidmlkZW8vbXBlZyJfcywKKyAgICAgICAgImFwcGxpY2F0aW9uL3ZuZC5hcHBs
ZS5tcGVndXJsIl9zLAorICAgICAgICAiYXBwbGljYXRpb24vbXBlZ3VybCJfcywKKyAgICAgICAg
ImFwcGxpY2F0aW9uL3gtbXBlZ3VybCJfcywKKyAgICAgICAgImF1ZGlvL21wZWd1cmwiX3MsCisg
ICAgICAgICJhdWRpby94LW1wZWd1cmwiX3MsCisgICAgICAgICJhdWRpby9tcGVndXJsIl9zLAor
ICAgICAgICAidmlkZW8veC1tNHYiX3MsCisgICAgICAgICJhdWRpby94LW00YSJfcywKKyAgICAg
ICAgImF1ZGlvL3gtbTRiIl9zLAorICAgICAgICAiYXVkaW8veC1tNHAiX3MsCisgICAgICAgICJ2
aWRlby9tcDQiX3MsCisgICAgICAgICJhdWRpby9tcDQiX3MsCisgICAgICAgICJhdWRpby9tcDMi
X3MsCisgICAgICAgICJhdWRpby94LW1wMyJfcywKKyAgICAgICAgImF1ZGlvL3gtbXBlZyJfcywK
KyAgICAgICAgInZpZGVvL3gtbXBlZzIiX3MsCisgICAgICAgICJ2aWRlby9tcGVnMiJfcywKKyAg
ICAgICAgInZpZGVvL20ydHMiX3MsCisgICAgICAgICJ2aWRlby94LW0ydHMiX3MsCisgICAgICAg
ICJhdWRpby8zZ3BwIl9zLAorICAgICAgICAiYXVkaW8vM2dwcDIiX3MsCisgICAgICAgICJhcHBs
aWNhdGlvbi94LW1wZWciX3MsCisgICAgICAgICJhdWRpby9hYWMiX3MsCisgICAgICAgICJhdWRp
by94LWFhYyJfcywKKyAgICAgICAgImF1ZGlvL3gtY2FmIl9zLAorICAgICAgICAiYXVkaW8veC1n
c20iX3MsCisgICAgICAgICJhdWRpby94LXdhdiJfcywKKyAgICAgICAgImF1ZGlvL3ZuZC53YXZl
Il9zLAorICAgICAgICAiYXVkaW8vd2F2Il9zLAorCisgICAgICAgICJpbWFnZS9naWYiX3MsCisg
ICAgICAgICJpbWFnZS9qcGVnIl9zLAorICAgICAgICAiaW1hZ2UvcG5nIl9zLAorCisgICAgICAg
ICJ0ZXh0L2h0bWwiX3MsCisgICAgICAgICJ0ZXh0L3BsYWluIl9zLAorCisgICAgICAgICJhcHBs
aWNhdGlvbi9wZGYiX3MsCisgICAgICAgICJtdWx0aXBhcnQveC1mb2xkZXIiX3MsCisgICAgICAg
ICJwdWJsaWMuaHRtbCJfcywKKyAgICB9OworICAgIHJldHVybiBtaW1lVHlwZXM7Cit9OworCitj
b25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+IG1h
cCA9IFtdIHsKKyAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gY2FjaGU7CisgICAgICAg
IGZvciAoYXV0byBtaW1lVHlwZSA6IG1pbWVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRk
KG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgY2FjaGUuYWRk
KEVNUFRZX01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShlbXB0eVN0cmluZygpKSk7
CisgICAgICAgIHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0dXJuIG1hcDsKK30KKwor
dm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJiBtYXAp
Cit7CisgICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1hcCk7Cit9CisKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysr
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTQ3NCw2ICs1NDc0LDExIEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFs
dWUKIHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KKworU3RyaW5nIEludGVybmFsczo6
Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3RyaW5nIEludGVybmFsczo6bWVkaWFNSU1F
VHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTM4LDYgKzkzOCw4IEBAIHB1
YmxpYzoKIAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmlu
ZyYgZXh0ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSk7CisKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpOwog
CiAgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg0Niw2ICs4NDYsOCBAQCBlbnVtIENv
bXBvc2l0aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZlcmVuY2VWYWx1ZShE
T01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKIAogICAgIERPTVN0cmluZyBtZWRpYU1J
TUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRlbnNpb24pOwotICAgIAorCisgICAgRE9N
U3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJpbmcgbWltZVR5cGUpOworCiAgICAgYm9v
bGVhbiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBv
cnQgIkhpdFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZS5oIgogI2lt
cG9ydCAiUmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2ltcG9ydCA8QVZGb3Vu
ZGF0aW9uL0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIApA
QCAtMTAwLDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFs
dWUKICAgICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0KIAorU3RyaW5nIEludGVybmFsczo6Z2V0
VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuIFVU
SUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUg
c2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAgIFJldmlld2VkIGJ5IEJy
ZW50IEZ1bGdoYW0uCisKKyAgICAgICAgU2VuZCB0aGUgbWFwcGluZyBiZXR3ZWVuIE1JTUUgdHlw
ZXMgYW5kIFVUSSB0eXBlcyB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBhcnQgb2YgdGhl
IFdlYgorICAgICAgICBwcm9jZXNzIGNyZWF0aW9uIHBhcmFtZXRlcnMuCisKKyAgICAgICAgKiBT
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0wMi0yOCAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYSBpbiBHUFUgcHJvY2Vz
c10gSW1wbGVtZW50IHRoZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQaWN0dXJlLWluLVBpY3R1cmUg
c3VwcG9ydApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNzEsNiArMTcxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpl
bmNvZAogICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICAg
ICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBtaW1lVHlwZXNN
YXA7CisgICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCkBAIC00NjAsNiArNDYxLDEyIEBAIGJvb2wgV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RGTW92ZSgqbWlt
ZVR5cGVzTWFwKTsKKworICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXBV
VElGcm9tTUlNRVR5cGU7CisgICAgZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAg
aWYgKCFtYXBVVElGcm9tTUlNRVR5cGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJh
bWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21NSU1FVHlwZSk7
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lv
biAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBzdHJ1Y3QgV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGJvb2wgc3lzdGVt
SGFzQmF0dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFZlY3Rv
cjxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlwZXNNYXA7CisgICAg
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTc2ODUpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3Jt
UGFzdGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
aD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VU
SVV0aWxpdGllcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDxwYWwvc3Bp
L2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBAIC00MDYsNiArNDA3
LDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICBw
YXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKG1hbmFn
ZXJIYW5kbGUpOwogICAgIH0KICAgICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0JhdHRlcnkgPSBzeXN0
ZW1IYXNCYXR0ZXJ5KCk7CisgICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25NaW1l
VHlwZXNNYXAoKTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IGNyZWF0ZVVU
SUZyb21NSU1FVHlwZU1hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAt
NDE0LDcgKzQxNyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcK
ICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29t
LmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50RmlsdGVyLnJlbW90
ZVVJIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmNvbnRlbnRG
aWx0ZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQotICAgIHBhcmFt
ZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7CiAjZW5kaWYKICAgICAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTc2ODUpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1cmVJblBpY3R1
cmVTdXBwb3J0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CisjaW1wb3J0IDxXZWJDb3Jl
L1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gv
ZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMjc0LDYgKzI3NSw4IEBA
IHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAgIGlmIChwYXJh
bWV0ZXJzLm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBlc01hcCgpID0g
V1RGTW92ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CisKKyAgICBzZXRVVElGcm9tTUlNRVR5
cGVNYXAoV1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQorKysgVG9vbHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDItMjkgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFwcGluZyBm
cm9tIE1JTUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2Vz
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbTogQWRkZWQu
CisgICAgICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9y
aS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU3
NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NzY4NSkKKysrIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JCMzAyM0YxRkYxQTAw
MzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8q
IEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVDQkIzRjIzRkIxNzdB
MDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVy
ZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0
ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE2
OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJCUMxOTRFMzFEMjQw
OURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJ
RnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBENjEwRkEgLyogQ29y
ZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayAq
LzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJBMjI4Rjg3MDgw
MDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4RjhBRUIwMDlENzk4
OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyogVGV4dFdpZHRoLmh0
bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIzRjFGRjFBMDAzMDBD
QzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5jZUNoYW5nZXMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNEMTBEQUUwMDZFODhG
NyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVyeS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZy
b21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21NSU1FVHlwZS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThFMzAwOEVCMTQxIC8q
IFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFt
ZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJ
CUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTAw
LDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAvKiBNaW1lVHlwZXMu
bW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBpY3R1cmVT
dXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNl
Q2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1J
TUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2JqQ1B0
ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYgKzUwOTksNyBAQAog
CQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11bGF0ZUZhaWxlZFNh
bmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2MDA0NDdDNEMgLyog
VXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgyMUQ0MTQwQjAwNTVD
MUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMx
OTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAq
LywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29jb2EubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyogVmlkZW9Db250cm9s
c01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2ODJFMDBFODk1REYg
LyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVU
eXBlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L1VUSUZyb21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisjaW1w
b3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2lt
cG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KKworVEVTVChXZWJLaXQsIFVUSUZyb21NSU1F
VHlwZSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4g
Y29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvcklu
amVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNv
bmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQu
Z2V0KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworCisgICAgZm9yIChhdXRvJiBt
aW1lVHlwZSA6IFdlYkNvcmU6Om1pbWVUeXBlcygpKSB7CisgICAgICAgIGF1dG8ganMgPSBbTlNT
dHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIndpbmRvdy5pbnRlcm5hbHMuZ2V0VVRJRnJvbU1JTUVU
eXBlKFwiJXNcIikiLCBtaW1lVHlwZS51dGY4KCkuZGF0YSgpXTsKKworICAgICAgICBhdXRvIHV0
aSA9IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6anNdOworCisgICAgICAg
IEFTU0VSVF9UUlVFKFdlYkNvcmU6OlVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkgPT0gU3RyaW5n
KHV0aSkpOworICAgIH0KK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392231</attachid>
            <date>2020-03-02 17:47:04 -0800</date>
            <delta_ts>2020-03-02 18:37:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200302174702.patch</filename>
            <type>text/plain</type>
            <size>20500</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBtaW1lVHlwZXMoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQAogI2RlZmluZSBBRERJVElPTkFMX1VUSV9NQVBQSU5H
UwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9UWVBFX1NUUklORyAiZW1wdHlNaW1lVHlw
ZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0cmluZyBNSU1FVHlwZUZyb21VVEkoY29u
c3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNSwyNyBAQCBzdGF0aWMgU3RyaW5nIFVUSUZy
b21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJuIG1hcEVudHJ5LT52YWx1ZTsKIH0KIAor
c3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVU
eXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KKwogc3RydWN0IFVUSUZyb21N
SU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hlUG9saWN5PFN0cmluZywgU3RyaW5nPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVhdGVWYWx1ZUZvcktleShjb25zdCBTdHJp
bmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJpbmcga2V5ID0gbWltZVR5cGU7CisgICAg
ICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNWYWx1ZSgpKSB7CisgICAgICAgICAgICBp
ZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVf
U1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYgaXQgPSBtYXBVVElGcm9tTUlNRVR5cGUo
KS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgp
LT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgICAgICAgICAg
V1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAlcyBub3QgZm91bmQuIiwga2V5LnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAg
ICByZXR1cm4gVVRJRnJvbVVua25vd25NSU1FVHlwZShrZXkpOworICAgICAgICB9CiAgICAgICAg
IGF1dG8gdHlwZSA9IGFkb3B0Q0YoVVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmllckZvclRh
ZyhrVVRUYWdDbGFzc01JTUVUeXBlLCBrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgMCkpOwog
ICAgICAgICBpZiAodHlwZSkKICAgICAgICAgICAgIHJldHVybiB0eXBlLmdldCgpOwpAQCAtMTI0
LDExICsxNDMsMTYgQEAgcHVibGljOgogICAgIH0KIH07CiAKK3N0YXRpYyBUaW55TFJVQ2FjaGU8
U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeT4mIGNhY2hlVVRJ
RnJvbU1pbWVUeXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VGlueUxSVUNhY2hl
PFN0cmluZywgU3RyaW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+PiBjYWNoZTsK
KyAgICByZXR1cm4gY2FjaGU7Cit9CisKIFN0cmluZyBVVElGcm9tTUlNRVR5cGUoY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElGcm9t
TUlNRVR5cGVDYWNoZVBvbGljeT4+IGNhY2hlOwotICAgIHJldHVybiBjYWNoZS5nZXQoKS5nZXQo
bWltZVR5cGUpOworICAgIHJldHVybiBjYWNoZVVUSUZyb21NaW1lVHlwZSgpLmdldChtaW1lVHlw
ZSk7CiB9CiAKIGJvb2wgaXNEZWNsYXJlZFVUSShjb25zdCBTdHJpbmcmIFVUSSkKQEAgLTEzNiw0
ICsxNjAsNzkgQEAgYm9vbCBpc0RlY2xhcmVkVVRJKGNvbnN0IFN0cmluZyYgVVRJKQogICAgIHJl
dHVybiBVVFR5cGVJc0RlY2xhcmVkKFVUSS5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsKIH0KIAor
Y29uc3QgVmVjdG9yPFN0cmluZz4mIG1pbWVUeXBlcygpCit7CisgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFZlY3RvcjxTdHJpbmc+PiBtaW1lVHlwZXMgPSBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8
U3RyaW5nPiB7CisgICAgICAgICJhcHBsaWNhdGlvbi9vZ2ciX3MsCisgICAgICAgICJhdWRpby9v
Z2ciX3MsCisgICAgICAgICJ2aWRlby9vZ2ciX3MsCisgICAgICAgICJhcHBsaWNhdGlvbi9hbm5v
ZGV4Il9zLAorICAgICAgICAiYXVkaW8vYW5ub2RleCJfcywKKyAgICAgICAgInZpZGVvL2Fubm9k
ZXgiX3MsCisgICAgICAgICJhdWRpby9zcGVleCJfcywKKyAgICAgICAgInZpZGVvL3dlYm0iX3Ms
CisgICAgICAgICJhdWRpby93ZWJtIl9zLAorICAgICAgICAiYXVkaW8vbXBlZyJfcywKKyAgICAg
ICAgInZpZGVvL21wZWciX3MsCisgICAgICAgICJhcHBsaWNhdGlvbi92bmQuYXBwbGUubXBlZ3Vy
bCJfcywKKyAgICAgICAgImFwcGxpY2F0aW9uL21wZWd1cmwiX3MsCisgICAgICAgICJhcHBsaWNh
dGlvbi94LW1wZWd1cmwiX3MsCisgICAgICAgICJhdWRpby9tcGVndXJsIl9zLAorICAgICAgICAi
YXVkaW8veC1tcGVndXJsIl9zLAorICAgICAgICAiYXVkaW8vbXBlZ3VybCJfcywKKyAgICAgICAg
InZpZGVvL3gtbTR2Il9zLAorICAgICAgICAiYXVkaW8veC1tNGEiX3MsCisgICAgICAgICJhdWRp
by94LW00YiJfcywKKyAgICAgICAgImF1ZGlvL3gtbTRwIl9zLAorICAgICAgICAidmlkZW8vbXA0
Il9zLAorICAgICAgICAiYXVkaW8vbXA0Il9zLAorICAgICAgICAiYXVkaW8vbXAzIl9zLAorICAg
ICAgICAiYXVkaW8veC1tcDMiX3MsCisgICAgICAgICJhdWRpby94LW1wZWciX3MsCisgICAgICAg
ICJ2aWRlby94LW1wZWcyIl9zLAorICAgICAgICAidmlkZW8vbXBlZzIiX3MsCisgICAgICAgICJ2
aWRlby9tMnRzIl9zLAorICAgICAgICAidmlkZW8veC1tMnRzIl9zLAorICAgICAgICAiYXVkaW8v
M2dwcCJfcywKKyAgICAgICAgImF1ZGlvLzNncHAyIl9zLAorICAgICAgICAiYXBwbGljYXRpb24v
eC1tcGVnIl9zLAorICAgICAgICAiYXVkaW8vYWFjIl9zLAorICAgICAgICAiYXVkaW8veC1hYWMi
X3MsCisgICAgICAgICJhdWRpby94LWNhZiJfcywKKyAgICAgICAgImF1ZGlvL3gtZ3NtIl9zLAor
ICAgICAgICAiYXVkaW8veC13YXYiX3MsCisgICAgICAgICJhdWRpby92bmQud2F2ZSJfcywKKyAg
ICAgICAgImF1ZGlvL3dhdiJfcywKKworICAgICAgICAiaW1hZ2UvZ2lmIl9zLAorICAgICAgICAi
aW1hZ2UvanBlZyJfcywKKyAgICAgICAgImltYWdlL3BuZyJfcywKKworICAgICAgICAidGV4dC9o
dG1sIl9zLAorICAgICAgICAidGV4dC9wbGFpbiJfcywKKworICAgICAgICAiYXBwbGljYXRpb24v
cGRmIl9zLAorICAgICAgICAibXVsdGlwYXJ0L3gtZm9sZGVyIl9zLAorICAgICAgICAicHVibGlj
Lmh0bWwiX3MsCisgICAgfTsKKyAgICByZXR1cm4gbWltZVR5cGVzOworfTsKKworY29uc3QgSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4mIGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpCit7CisgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXAgPSBbXSB7
CisgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGNhY2hlOworICAgICAgICBmb3IgKGF1
dG8gbWltZVR5cGUgOiBtaW1lVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFkZChtaW1lVHlw
ZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIGNhY2hlLmFkZChFTVBUWV9N
SU1FX1RZUEVfU1RSSU5HLCBVVElGcm9tTUlNRVR5cGUoZW1wdHlTdHJpbmcoKSkpOworICAgICAg
ICByZXR1cm4gY2FjaGU7CisgICAgfSgpOworICAgIHJldHVybiBtYXA7Cit9CisKK3ZvaWQgc2V0
VVRJRnJvbU1JTUVUeXBlTWFwKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiYgbWFwKQoreworICAg
IG1hcFVUSUZyb21NSU1FVHlwZSgpID0gV1RGTW92ZShtYXApOworfQorCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0NzQsNiAr
NTQ3NCwxMSBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbmNvZGVkUHJlZmVyZW5jZVZhbHVlCiB7CiAg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiB9CisKK1N0cmluZyBJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIHJldHVybiBlbXB0eVN0
cmluZygpOworfQogI2VuZGlmCiAKIFN0cmluZyBJbnRlcm5hbHM6Om1lZGlhTUlNRVR5cGVGb3JF
eHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTkzOCw2ICs5MzgsOCBAQCBwdWJsaWM6CiAK
ICAgICBTdHJpbmcgbWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVu
c2lvbik7CiAKKyAgICBTdHJpbmcgZ2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUpOworCiAgICAgYm9vbCBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIAogICAgIFN0
cmluZyBmb2N1c1JpbmdDb2xvcigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC04NDYsNiArODQ2LDggQEAgZW51bSBDb21wb3NpdGlu
Z1BvbGljeSB7CiAgICAgRE9NU3RyaW5nIGVuY29kZWRQcmVmZXJlbmNlVmFsdWUoRE9NU3RyaW5n
IGRvbWFpbiwgRE9NU3RyaW5nIGtleSk7CiAKICAgICBET01TdHJpbmcgbWVkaWFNSU1FVHlwZUZv
ckV4dGVuc2lvbihET01TdHJpbmcgZXh0ZW5zaW9uKTsKLSAgICAKKworICAgIERPTVN0cmluZyBn
ZXRVVElGcm9tTUlNRVR5cGUoRE9NU3RyaW5nIG1pbWVUeXBlKTsKKwogICAgIGJvb2xlYW4gc3Vw
cG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJIaXRU
ZXN0UmVzdWx0LmgiCiAjaW1wb3J0ICJNZWRpYVBsYXllclByaXZhdGUuaCIKICNpbXBvcnQgIlJh
bmdlLmgiCisjaW1wb3J0ICJVVElVdGlsaXRpZXMuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VlBsYXllci5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKQEAgLTEwMCw0
ICsxMDEsOSBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbmNvZGVkUHJlZmVyZW5jZVZhbHVlCiAgICAg
cmV0dXJuIGVuY29kZWRTdHJpbmc7CiB9CiAKK1N0cmluZyBJbnRlcm5hbHM6OmdldFVUSUZyb21N
SU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIHJldHVybiBVVElGcm9tTUlN
RVR5cGUobWltZVR5cGUpOworfQorCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQor
KysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBA
QAorMjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBlIHNob3VsZCBi
ZSBkb25lIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0MTUKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxn
aGFtLgorCisgICAgICAgIFNlbmQgdGhlIG1hcHBpbmcgYmV0d2VlbiBNSU1FIHR5cGVzIGFuZCBV
VEkgdHlwZXMgdG8gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBhcyBwYXJ0IG9mIHRoZSBXZWIKKyAg
ICAgICAgcHJvY2VzcyBjcmVhdGlvbiBwYXJhbWV0ZXJzLgorCisgICAgICAgICogU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMDItMjggIFBlbmcgTGl1ICA8cGVu
Zy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVkaWEgaW4gR1BVIHByb2Nlc3NdIEltcGxl
bWVudCB0aGUgdmlkZW8gZnVsbHNjcmVlbiBhbmQgUGljdHVyZS1pbi1QaWN0dXJlIHN1cHBvcnQK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcx
LDYgKzE3MSw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICAg
ICBlbmNvZGVyIDw8IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2Rl
ciA8PCBzeXN0ZW1IYXNCYXR0ZXJ5OwogICAgIGVuY29kZXIgPDwgbWltZVR5cGVzTWFwOworICAg
IGVuY29kZXIgPDwgbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQpAQCAtNDYwLDYgKzQ2MSwxMiBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kCiAgICAgaWYgKCFtaW1lVHlwZXNNYXApCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCA9IFdURk1vdmUoKm1pbWVUeXBlc01h
cCk7CisKKyAgICBPcHRpb25hbDxIYXNoTWFwPFN0cmluZywgU3RyaW5nPj4gbWFwVVRJRnJvbU1J
TUVUeXBlOworICAgIGRlY29kZXIgPj4gbWFwVVRJRnJvbU1JTUVUeXBlOworICAgIGlmICghbWFw
VVRJRnJvbU1JTUVUeXBlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5t
YXBVVElGcm9tTUlNRVR5cGUgPSBXVEZNb3ZlKCptYXBVVElGcm9tTUlNRVR5cGUpOwogI2VuZGlm
CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjU3Njg1
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMTMsNiArMjEzLDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4g
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICAgICBib29sIHN5c3RlbUhhc0JhdHRl
cnkgeyBmYWxzZSB9OwogICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8U3RyaW5n
PiwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPj4gbWltZVR5cGVzTWFwOworICAgIEhhc2hNYXA8
U3RyaW5nLCBTdHJpbmc+IG1hcFVUSUZyb21NSU1FVHlwZTsKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBj
b3B5KQpAQCAtNTYsNiArNTYsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVBhc3RlYm9h
cmQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRp
ZXMuaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5l
dHdvcmtTUEkuaD4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgpAQCAtNDA2LDYgKzQwNyw4IEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICAgICAgcGFyYW1ldGVy
cy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShtYW5hZ2VySGFuZGxl
KTsKICAgICB9CiAgICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0gc3lzdGVtSGFzQmF0
dGVyeSgpOworICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFw
KCk7CisgICAgcGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUgPSBjcmVhdGVVVElGcm9tTUlN
RVR5cGVNYXAoKTsKICNlbmRpZgogICAgIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTQxNCw3ICs0
MTcsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXCiAgICAgICAg
IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS51
aWtpdC52aWV3c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1vdGVVSSIsIFdU
Rjo6bnVsbG9wdCwgaGFuZGxlKTsKICAgICAgICAgcGFyYW1ldGVycy5jb250ZW50RmlsdGVyRXh0
ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShoYW5kbGUpOwogICAgIH0KLSAgICBwYXJhbWV0ZXJzLm1p
bWVUeXBlc01hcCA9IGNvbW1vbk1pbWVUeXBlc01hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpA
QCAtNjcsNiArNjcsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QaWN0dXJlSW5QaWN0dXJlU3VwcG9y
dC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBv
cnQgPFdlYkNvcmUvU1dDb250ZXh0TWFuYWdlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9VVElVdGls
aXRpZXMuaD4KICNpbXBvcnQgPGFsZ29yaXRobT4KICNpbXBvcnQgPGRpc3BhdGNoL2Rpc3BhdGNo
Lmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KQEAgLTI3NCw2ICsyNzUsOCBAQCB2b2lkIFdl
YlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAKICAgICBpZiAocGFyYW1ldGVycy5t
aW1lVHlwZXNNYXApCiAgICAgICAgIG92ZXJyaWRkZW5NaW1lVHlwZXNNYXAoKSA9IFdURk1vdmUo
cGFyYW1ldGVycy5taW1lVHlwZXNNYXApOworCisgICAgc2V0VVRJRnJvbU1JTUVUeXBlTWFwKFdU
Rk1vdmUocGFyYW1ldGVycy5tYXBVVElGcm9tTUlNRVR5cGUpKTsKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4g
IDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1F
IHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW06IEFkZGVkLgorICAgICAg
ICAoVEVTVCk6CisKIDIwMjAtMDItMjggIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlA
c29ueS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NzU2NS4KSW5k
ZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTc2ODUpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtODgzLDYgKzg4Myw3IEBACiAJCUMxNUNCQjMwMjNGMUZGMUEwMDMwMENDNyAv
KiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNUNCQjJGMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGln
aHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLzsgfTsKIAkJQzE1Q0JCM0YyM0ZCMTc3QTAwMzAwQ0M3
IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFu
Z2VzLm1tICovOyB9OwogCQlDMTY5MkRDQTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNjkyREM5MjNE
MTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovOyB9OworCQlDMTk0RTMxRDI0MDlERjQzMDAy
OTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21NSU1F
VHlwZS5tbSAqLzsgfTsKIAkJQzIwRjg4QTcyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMyMEY4OEE2MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgKi87IH07CiAJ
CUMyMkZBMzJCMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODgg
LyogVGV4dFdpZHRoLm1tICovOyB9OwogCQlDMjJGQTMyRDIyOEY4QUVCMDA5RDc5ODggLyogVGV4
dFdpZHRoLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzIyRkEzMkMyMjhGODc3QTAwOUQ3OTg4IC8qIFRleHRXaWR0aC5odG1sICovOyB9
OwpAQCAtMjQ0OCw2ICsyNDQ5LDcgQEAKIAkJQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJh
Y2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmFja2xp
Z2h0TGV2ZWxOb3RpZmljYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMx
NUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZWZlcmVuY2VDaGFuZ2VzLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0
dGVyeS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhdHRlcnkubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUMxOTRFMzFDMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5
cGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVVElGcm9tTUlNRVR5cGUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxRDhFRTIxMjAyOEU4RTMwMDhFQjE0MSAvKiBXZWJQcm9j
ZXNzVGVybWluYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
V2ViUHJvY2Vzc1Rlcm1pbmF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIw
Rjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBu
YW1lID0gQ29yZVRleHQuZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9Db3JlVGV4dC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwogCQlDMjJGQTMy
QTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
VGV4dFdpZHRoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkwMCw2ICsyOTAy
LDcgQEAKIAkJCQlDMTQ1Q0MwQjIzREE1QTBGMDAzQTVFRUIgLyogTWltZVR5cGVzLm1tICovLAog
CQkJCUUzMjVDOTA2MjNFMzg3MDIwMEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5t
bSAqLywKIAkJCQlDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMu
bW0gKi8sCisJCQkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21NSU1FVHlwZS5t
bSAqLywKIAkJCQkwRjEzOUU3NTFBNDIzQTUzMDBGNTkwRjUgLyogV2Vha09iakNQdHIubW0gKi8s
CiAJCQkpOwogCQkJbmFtZSA9IGNvY29hOwpAQCAtNTA5Niw2ICs1MDk5LDcgQEAKIAkJCQkwN0Y0
RTkyRTIwQUY1OUUyMDAyRTM4MDMgLyogVXNlck1lZGlhU2ltdWxhdGVGYWlsZWRTYW5kYm94Lm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMTgxQTQxMUFFNjAwNDQ3QzRDIC8qIFVzZXJNZXNz
YWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFQjI0MkI4MjFENDE0MEIwMDU1QzFDMCAvKiBV
c2VTZWxlY3Rpb25Bc0ZpbmRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKKwkJCQlDMTk0RTMxRDI0
MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0M4M0UwM0ExRDBBNjAyNzAwRkVCQ0YzIC8qIFV0aWxpdGllc0NvY29hLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0M4M0UwQzYxRDBBNjU0RTAwRkVCQ0YzIC8qIFZpZGVvQ29udHJvbHNNYW5hZ2Vy
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QzMDY1RTAyMTY1NjgyRTAwRTg5NURGIC8qIFZpZGVv
UXVhbGl0eURpc3BsYXlDb21wb3NpdGluZy5tbSBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQko
bm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9t
TUlNRVR5cGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9ydCAiUGxh
dGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdl
YkNvcmUvVVRJVXRpbGl0aWVzLmg+CisKK1RFU1QoV2ViS2l0LCBVVElGcm9tTUlNRVR5cGUpCit7
CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24gYWxsb2NdIGluaXRdKTsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQg
PSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1
bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25maWd1cmF0
aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOwor
ICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGZvciAoYXV0byYgbWltZVR5cGUg
OiBXZWJDb3JlOjptaW1lVHlwZXMoKSkgeworICAgICAgICBhdXRvIGpzID0gW05TU3RyaW5nIHN0
cmluZ1dpdGhGb3JtYXQ6QCJ3aW5kb3cuaW50ZXJuYWxzLmdldFVUSUZyb21NSU1FVHlwZShcIiVz
XCIpIiwgbWltZVR5cGUudXRmOCgpLmRhdGEoKV07CisKKyAgICAgICAgYXV0byB1dGkgPSBbd2Vi
VmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OmpzXTsKKworICAgICAgICBBU1NFUlRf
VFJVRShXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpID09IFN0cmluZyh1dGkpKTsK
KyAgICB9Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392275</attachid>
            <date>2020-03-03 07:55:51 -0800</date>
            <delta_ts>2020-03-03 08:00:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200303075548.patch</filename>
            <type>text/plain</type>
            <size>19603</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOCBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlVUSVV0aWxpdGllcy5oIgorCisjaW1wb3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAj
aW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNoZS5oPgog
I2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDAsNiArNDIsOCBAQAogI2RlZmlu
ZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9U
WVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0
cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNywy
NyBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJu
IG1hcEVudHJ5LT52YWx1ZTsKIH0KIAorc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKwogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hl
UG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVh
dGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0
ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJp
bmcga2V5ID0gbWltZVR5cGU7CisgICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNW
YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVfU1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYg
aXQgPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0
ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgpLT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
aXQtPnZhbHVlOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAl
cyBub3QgZm91bmQuIiwga2V5LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1J
TUVUeXBlKGtleSk7CisgICAgICAgIH0KICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5
cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtl
eS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAg
ICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7CkBAIC0xMjQsMTEgKzE0NSwxNiBAQCBwdWJsaWM6CiAg
ICAgfQogfTsKIAorc3RhdGljIFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZy
b21NSU1FVHlwZUNhY2hlUG9saWN5PiYgY2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElG
cm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwog
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVD
YWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2Fj
aGU7Ci0gICAgcmV0dXJuIGNhY2hlLmdldCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNh
Y2hlVVRJRnJvbU1pbWVUeXBlKCkuZ2V0KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVk
VVRJKGNvbnN0IFN0cmluZyYgVVRJKQpAQCAtMTM2LDQgKzE2MiwyNyBAQCBib29sIGlzRGVjbGFy
ZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJ
LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwogfQogCitjb25zdCBIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiYgY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+IG1hcCA9IFtdIHsKKyAgICAgICAgSGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4gY2FjaGU7CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IHN1
cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkpCisgICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5cGUs
IFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOworICAgICAgICBmb3IgKGF1dG8gbWltZVR5cGUg
OiBzdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1p
bWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgZm9yIChhdXRvIG1p
bWVUeXBlIDogc3VwcG9ydGVkTWVkaWFNSU1FVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFk
ZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIGZvciAoYXV0
byBtaW1lVHlwZSA6IHBkZk1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVU
eXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgY2FjaGUuYWRkKEVNUFRZ
X01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShlbXB0eVN0cmluZygpKSk7CisgICAg
ICAgIHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0dXJuIG1hcDsKK30KKwordm9pZCBz
ZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJiBtYXApCit7Cisg
ICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1hcCk7Cit9CisKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ3NCw2
ICs1NDc0LDExIEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKIHsK
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KKworU3RyaW5nIEludGVybmFsczo6Z2V0VVRJ
RnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3RyaW5nIEludGVybmFsczo6bWVkaWFNSU1FVHlwZUZv
ckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTM4LDYgKzkzOCw4IEBAIHB1YmxpYzoK
IAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0
ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSk7CisKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpOwogCiAgICAg
U3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg0Niw2ICs4NDYsOCBAQCBlbnVtIENvbXBvc2l0
aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZlcmVuY2VWYWx1ZShET01TdHJp
bmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKIAogICAgIERPTVN0cmluZyBtZWRpYU1JTUVUeXBl
Rm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRlbnNpb24pOwotICAgIAorCisgICAgRE9NU3RyaW5n
IGdldFVUSUZyb21NSU1FVHlwZShET01TdHJpbmcgbWltZVR5cGUpOworCiAgICAgYm9vbGVhbiBz
dXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIkhp
dFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZS5oIgogI2ltcG9ydCAi
UmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9u
L0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIApAQCAtMTAw
LDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKICAg
ICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0KIAorU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJv
bU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuIFVUSUZyb21N
SU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc2ODUp
CisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIy
IEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxk
IGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1
bGdoYW0uCisKKyAgICAgICAgU2VuZCB0aGUgbWFwcGluZyBiZXR3ZWVuIE1JTUUgdHlwZXMgYW5k
IFVUSSB0eXBlcyB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBhcnQgb2YgdGhlIFdlYgor
ICAgICAgICBwcm9jZXNzIGNyZWF0aW9uIHBhcmFtZXRlcnMuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0wMi0yOCAgUGVuZyBMaXUgIDxw
ZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYSBpbiBHUFUgcHJvY2Vzc10gSW1w
bGVtZW50IHRoZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQaWN0dXJlLWluLVBpY3R1cmUgc3VwcG9y
dApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzEsNiArMTcxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAog
ICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNv
ZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBtaW1lVHlwZXNNYXA7Cisg
ICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCkBAIC00NjAsNiArNDYxLDEyIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RGTW92ZSgqbWltZVR5cGVz
TWFwKTsKKworICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXBVVElGcm9t
TUlNRVR5cGU7CisgICAgZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAgaWYgKCFt
YXBVVElGcm9tTUlNRVR5cGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJz
Lm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21NSU1FVHlwZSk7CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNTc2
ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
PiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGJvb2wgc3lzdGVtSGFzQmF0
dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxTdHJp
bmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlwZXNNYXA7CisgICAgSGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4gbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtUGFzdGVi
b2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNp
bXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxp
dGllcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NG
TmV0d29ya1NQSS5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBAIC00MDYsNiArNDA3LDggQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICBwYXJhbWV0
ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKG1hbmFnZXJIYW5k
bGUpOwogICAgIH0KICAgICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0JhdHRlcnkgPSBzeXN0ZW1IYXNC
YXR0ZXJ5KCk7CisgICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25NaW1lVHlwZXNN
YXAoKTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IGNyZWF0ZVVUSUZyb21N
SU1FVHlwZU1hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNDE0LDcg
KzQxNyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICAg
ICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxl
LnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50RmlsdGVyLnJlbW90ZVVJIiwg
V1RGOjpudWxsb3B0LCBoYW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmNvbnRlbnRGaWx0ZXJF
eHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQotICAgIHBhcmFtZXRlcnMu
bWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7CiAjZW5kaWYKICAgICAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1cmVJblBpY3R1cmVTdXBw
b3J0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0
aWxpdGllcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gvZGlzcGF0
Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMjc0LDYgKzI3NSw4IEBAIHZvaWQg
V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAgIGlmIChwYXJhbWV0ZXJz
Lm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBlc01hcCgpID0gV1RGTW92
ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CisKKyAgICBzZXRVVElGcm9tTUlNRVR5cGVNYXAo
V1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDItMjkgIFBlciBBcm5lIFZvbGxh
biAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFwcGluZyBmcm9tIE1J
TUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2VzcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDE1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbTogQWRkZWQuCisgICAg
ICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU3NTY1LgpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NzY4NSkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JCMzAyM0YxRkYxQTAwMzAwQ0M3
IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2ts
aWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVDQkIzRjIzRkIxNzdBMDAzMDBD
QzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNo
YW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE2OTJEQzky
M0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJCUMxOTRFMzFEMjQwOURGNDMw
MDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1J
TUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQu
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayAqLzsgfTsK
IAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4
OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4RjhBRUIwMDlENzk4OCAvKiBU
ZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyogVGV4dFdpZHRoLmh0bWwgKi87
IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIzRjFGRjFBMDAzMDBDQzcgLyog
QmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBCYWNr
bGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5jZUNoYW5nZXMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNEMTBEQUUwMDZFODhGNyAvKiBC
YXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVyeS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21NSU1F
VHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21NSU1FVHlwZS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThFMzAwOEVCMTQxIC8qIFdlYlBy
b2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7
IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCUMyMkZB
MzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTAwLDYgKzI5
MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAvKiBNaW1lVHlwZXMubW0gKi8s
CiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0
Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdl
cy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBl
Lm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2JqQ1B0ci5tbSAq
LywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYgKzUwOTksNyBAQAogCQkJCTA3
RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11bGF0ZUZhaWxlZFNhbmRib3gu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2MDA0NDdDNEMgLyogVXNlck1l
c3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgyMUQ0MTQwQjAwNTVDMUMwIC8q
IFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMxOTRFMzFE
MjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyogVmlkZW9Db250cm9sc01hbmFn
ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2ODJFMDBFODk1REYgLyogVmlk
ZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1t
CShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZy
b21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisjaW1wb3J0ICJQ
bGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8
V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGll
cy5oPgorCitURVNUKFdlYktpdCwgVVRJRnJvbU1JTUVUeXBlKQoreworICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5h
bHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNz
UG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9X
aW5kb3c6WUVTXSk7CisKKyAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29yZTo6TUlNRVR5
cGVSZWdpc3RyeTo6c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMoKSkgeworICAgICAgICBhdXRvIGpz
ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ3aW5kb3cuaW50ZXJuYWxzLmdldFVUSUZy
b21NSU1FVHlwZShcIiVzXCIpIiwgbWltZVR5cGUudXRmOCgpLmRhdGEoKV07CisKKyAgICAgICAg
YXV0byB1dGkgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OmpzXTsKKwor
ICAgICAgICBBU1NFUlRfVFJVRShXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpID09
IFN0cmluZyh1dGkpKTsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392277</attachid>
            <date>2020-03-03 08:02:27 -0800</date>
            <delta_ts>2020-03-03 08:02:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200303080224.patch</filename>
            <type>text/plain</type>
            <size>19675</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOCBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlVUSVV0aWxpdGllcy5oIgorCisjaW1wb3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAj
aW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNoZS5oPgog
I2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDAsNiArNDIsOCBAQAogI2RlZmlu
ZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9U
WVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0
cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNywy
NyBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJu
IG1hcEVudHJ5LT52YWx1ZTsKIH0KIAorc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKwogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hl
UG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVh
dGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0
ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJp
bmcga2V5ID0gbWltZVR5cGU7CisgICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNW
YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVfU1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYg
aXQgPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0
ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgpLT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
aXQtPnZhbHVlOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAl
cyBub3QgZm91bmQuIiwga2V5LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1J
TUVUeXBlKGtleSk7CisgICAgICAgIH0KICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5
cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtl
eS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAg
ICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7CkBAIC0xMjQsMTEgKzE0NSwxNiBAQCBwdWJsaWM6CiAg
ICAgfQogfTsKIAorc3RhdGljIFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZy
b21NSU1FVHlwZUNhY2hlUG9saWN5PiYgY2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElG
cm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwog
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVD
YWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2Fj
aGU7Ci0gICAgcmV0dXJuIGNhY2hlLmdldCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNh
Y2hlVVRJRnJvbU1pbWVUeXBlKCkuZ2V0KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVk
VVRJKGNvbnN0IFN0cmluZyYgVVRJKQpAQCAtMTM2LDQgKzE2MiwyNyBAQCBib29sIGlzRGVjbGFy
ZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJ
LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwogfQogCitjb25zdCBIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiYgY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+IG1hcCA9IFtdIHsKKyAgICAgICAgSGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4gY2FjaGU7CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1J
TUVUeXBlUmVnaXN0cnk6OnN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkpCisgICAgICAgICAgICBj
YWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOworICAgICAgICBm
b3IgKGF1dG8gbWltZVR5cGUgOiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWROb25JbWFnZU1J
TUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5
cGUobWltZVR5cGUpKTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5cGVSZWdp
c3RyeTo6c3VwcG9ydGVkTWVkaWFNSU1FVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFkZCht
aW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIGZvciAoYXV0byBt
aW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnBkZk1JTUVUeXBlcygpKQorICAgICAgICAgICAg
Y2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAg
Y2FjaGUuYWRkKEVNUFRZX01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShlbXB0eVN0
cmluZygpKSk7CisgICAgICAgIHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0dXJuIG1h
cDsKK30KKwordm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4mJiBtYXApCit7CisgICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1hcCk7Cit9
CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1
NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTQ3NCw2ICs1NDc0LDExIEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVm
ZXJlbmNlVmFsdWUKIHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KKworU3RyaW5nIElu
dGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7Cisg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3RyaW5nIEludGVybmFsczo6
bWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTM4LDYgKzkz
OCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGlj
dHVyZSgpOwogCiAgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg0Niw2ICs4NDYsOCBA
QCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZlcmVu
Y2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKIAogICAgIERPTVN0cmlu
ZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRlbnNpb24pOwotICAgIAor
CisgICAgRE9NU3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJpbmcgbWltZVR5cGUpOwor
CiAgICAgYm9vbGVhbiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbXBvcnQgIkhpdFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0
ZS5oIgogI2ltcG9ydCAiUmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2ltcG9y
dCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRy
YXMuaD4KIApAQCAtMTAwLDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVm
ZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0KIAorU3RyaW5nIEludGVy
bmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAg
cmV0dXJuIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8g
VVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAgIFJldmll
d2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgU2VuZCB0aGUgbWFwcGluZyBiZXR3ZWVu
IE1JTUUgdHlwZXMgYW5kIFVUSSB0eXBlcyB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBh
cnQgb2YgdGhlIFdlYgorICAgICAgICBwcm9jZXNzIGNyZWF0aW9uIHBhcmFtZXRlcnMuCisKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0wMi0y
OCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYSBpbiBH
UFUgcHJvY2Vzc10gSW1wbGVtZW50IHRoZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQaWN0dXJlLWlu
LVBpY3R1cmUgc3VwcG9ydApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZAogICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhh
bmRsZTsKICAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBt
aW1lVHlwZXNNYXA7CisgICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00NjAsNiArNDYxLDEyIEBAIGJvb2wgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RG
TW92ZSgqbWltZVR5cGVzTWFwKTsKKworICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJp
bmc+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAgZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5
cGU7CisgICAgaWYgKCFtYXBVVElGcm9tTUlNRVR5cGUpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21N
SU1FVHlwZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBzdHJ1
Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGJv
b2wgc3lzdGVtSGFzQmF0dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJp
bmcsIFZlY3RvcjxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlwZXNN
YXA7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbWFwVVRJRnJvbU1JTUVUeXBlOwogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAy
NTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L1BsYXRmb3JtUGFzdGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0
IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBAIC00
MDYsNiArNDA3LDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwog
ICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZN
b3ZlKG1hbmFnZXJIYW5kbGUpOwogICAgIH0KICAgICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0JhdHRl
cnkgPSBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisgICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBj
b21tb25NaW1lVHlwZXNNYXAoKTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9
IGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0o
SU9TKQpAQCAtNDE0LDcgKzQxNyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZVcKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExv
b2t1cCgiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50Rmls
dGVyLnJlbW90ZVVJIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJz
LmNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQot
ICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7CiAjZW5k
aWYKICAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTc2
ODUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1
cmVJblBpY3R1cmVTdXBwb3J0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CisjaW1wb3J0
IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8
ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMjc0LDYg
KzI3NSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAg
IGlmIChwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBl
c01hcCgpID0gV1RGTW92ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CisKKyAgICBzZXRVVElG
cm9tTUlNRVR5cGVNYXAoV1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwog
I2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDItMjkg
IFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0g
TWFwcGluZyBmcm9tIE1JTUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUg
VUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5t
bTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25vcmkg
IDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjU3NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NzY4
NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JCMzAy
M0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYxQTAw
MzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVDQkIz
RjIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcg
LyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhG
NyAvKiBCYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJCUMx
OTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAyOTM5
RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBENjEw
RkEgLyogQ29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZy
YW1ld29yayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJB
MjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4RjhB
RUIwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyogVGV4
dFdpZHRoLmh0bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIzRjFG
RjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFu
Z2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5j
ZUNoYW5nZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNEMTBE
QUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVyeS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVE
IC8qIFVUSUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21NSU1F
VHlwZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThFMzAw
OEVCMTQxIC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3
b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3Jh
cHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JP
T1Q7IH07CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yOTAwLDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAvKiBN
aW1lVHlwZXMubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJ
blBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQ
cmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyog
VVRJRnJvbU1JTUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBX
ZWFrT2JqQ1B0ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYgKzUw
OTksNyBAQAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11bGF0
ZUZhaWxlZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2MDA0
NDdDNEMgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgyMUQ0
MTQwQjAwNTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29j
b2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyogVmlk
ZW9Db250cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2ODJF
MDBFODk1REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5
cGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJ
RnJvbU1JTUVUeXBlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQ
SQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmll
dy5oIgorI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CisjaW1wb3J0IDxXZWJD
b3JlL1VUSVV0aWxpdGllcy5oPgorCitURVNUKFdlYktpdCwgVVRJRnJvbU1JTUVUeXBlKQorewor
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0g
YWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5k
bGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlv
bi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRp
b24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDog
V2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMoKSkgewor
ICAgICAgICBhdXRvIGpzID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ3aW5kb3cuaW50
ZXJuYWxzLmdldFVUSUZyb21NSU1FVHlwZShcIiVzXCIpIiwgbWltZVR5cGUudXRmOCgpLmRhdGEo
KV07CisKKyAgICAgICAgYXV0byB1dGkgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0OmpzXTsKKworICAgICAgICBBU1NFUlRfVFJVRShXZWJDb3JlOjpVVElGcm9tTUlNRVR5
cGUobWltZVR5cGUpID09IFN0cmluZyh1dGkpKTsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBXS19I
QVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392298</attachid>
            <date>2020-03-03 10:53:57 -0800</date>
            <delta_ts>2020-03-03 12:27:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200303105355.patch</filename>
            <type>text/plain</type>
            <size>20002</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOCBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlVUSVV0aWxpdGllcy5oIgorCisjaW1wb3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAj
aW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNoZS5oPgog
I2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDAsNiArNDIsOCBAQAogI2RlZmlu
ZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9U
WVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0
cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNywy
NyBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJu
IG1hcEVudHJ5LT52YWx1ZTsKIH0KIAorc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKwogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hl
UG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVh
dGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0
ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJp
bmcga2V5ID0gbWltZVR5cGU7CisgICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNW
YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVfU1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYg
aXQgPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0
ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgpLT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
aXQtPnZhbHVlOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAl
cyBub3QgZm91bmQuIiwga2V5LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1J
TUVUeXBlKGtleSk7CisgICAgICAgIH0KICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5
cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtl
eS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAg
ICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7CkBAIC0xMjQsMTEgKzE0NSwxNiBAQCBwdWJsaWM6CiAg
ICAgfQogfTsKIAorc3RhdGljIFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZy
b21NSU1FVHlwZUNhY2hlUG9saWN5PiYgY2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElG
cm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwog
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVD
YWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2Fj
aGU7Ci0gICAgcmV0dXJuIGNhY2hlLmdldCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNh
Y2hlVVRJRnJvbU1pbWVUeXBlKCkuZ2V0KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVk
VVRJKGNvbnN0IFN0cmluZyYgVVRJKQpAQCAtMTM2LDQgKzE2MiwzNyBAQCBib29sIGlzRGVjbGFy
ZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJ
LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwogfQogCitzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGFkZGl0aW9uYWxNSU1FVHlwZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxW
ZWN0b3I8U3RyaW5nPj4gbWltZVR5cGVzID0gc3RkOjppbml0aWFsaXplcl9saXN0PFN0cmluZz4g
eworICAgICAgICAiYXBwbGljYXRpb24vemlwIl9zLAorICAgICAgICAicHVibGljLmh0bWwiX3Ms
CisgICAgfTsgIAorfQorCitjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgY3JlYXRlVVRJ
RnJvbU1JTUVUeXBlTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxT
dHJpbmcsIFN0cmluZz4+IG1hcCA9IFtdIHsKKyAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmlu
Zz4gY2FjaGU7CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6
OnN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkpCisgICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5
cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOworICAgICAgICBmb3IgKGF1dG8gbWltZVR5
cGUgOiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlcygpKQorICAg
ICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsK
KyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVk
TWVkaWFNSU1FVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFkZChtaW1lVHlwZSwgVVRJRnJv
bU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVU
eXBlUmVnaXN0cnk6OnBkZk1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVU
eXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVU
eXBlIDogYWRkaXRpb25hbE1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVU
eXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgY2FjaGUuYWRkKEVNUFRZ
X01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShlbXB0eVN0cmluZygpKSk7CisgICAg
ICAgIHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0dXJuIG1hcDsKK30KKwordm9pZCBz
ZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJiBtYXApCit7Cisg
ICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1hcCk7Cit9CisKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ3NCw2
ICs1NDc0LDExIEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKIHsK
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KKworU3RyaW5nIEludGVybmFsczo6Z2V0VVRJ
RnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3RyaW5nIEludGVybmFsczo6bWVkaWFNSU1FVHlwZUZv
ckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTM4LDYgKzkzOCw4IEBAIHB1YmxpYzoK
IAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0
ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSk7CisKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpOwogCiAgICAg
U3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg0Niw2ICs4NDYsOCBAQCBlbnVtIENvbXBvc2l0
aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZlcmVuY2VWYWx1ZShET01TdHJp
bmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKIAogICAgIERPTVN0cmluZyBtZWRpYU1JTUVUeXBl
Rm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRlbnNpb24pOwotICAgIAorCisgICAgRE9NU3RyaW5n
IGdldFVUSUZyb21NSU1FVHlwZShET01TdHJpbmcgbWltZVR5cGUpOworCiAgICAgYm9vbGVhbiBz
dXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIkhp
dFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZS5oIgogI2ltcG9ydCAi
UmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9u
L0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIApAQCAtMTAw
LDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNlVmFsdWUKICAg
ICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0KIAorU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJv
bU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuIFVUSUZyb21N
SU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc2ODUp
CisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIy
IEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxk
IGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1
bGdoYW0uCisKKyAgICAgICAgU2VuZCB0aGUgbWFwcGluZyBiZXR3ZWVuIE1JTUUgdHlwZXMgYW5k
IFVUSSB0eXBlcyB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBhcnQgb2YgdGhlIFdlYgor
ICAgICAgICBwcm9jZXNzIGNyZWF0aW9uIHBhcmFtZXRlcnMuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0wMi0yOCAgUGVuZyBMaXUgIDxw
ZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYSBpbiBHUFUgcHJvY2Vzc10gSW1w
bGVtZW50IHRoZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQaWN0dXJlLWluLVBpY3R1cmUgc3VwcG9y
dApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzEsNiArMTcxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAog
ICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNv
ZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBtaW1lVHlwZXNNYXA7Cisg
ICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCkBAIC00NjAsNiArNDYxLDEyIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RGTW92ZSgqbWltZVR5cGVz
TWFwKTsKKworICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBtYXBVVElGcm9t
TUlNRVR5cGU7CisgICAgZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAgaWYgKCFt
YXBVVElGcm9tTUlNRVR5cGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJz
Lm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21NSU1FVHlwZSk7CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNTc2
ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
PiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGJvb2wgc3lzdGVtSGFzQmF0
dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxTdHJp
bmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlwZXNNYXA7CisgICAgSGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4gbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtUGFzdGVi
b2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNp
bXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxp
dGllcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NG
TmV0d29ya1NQSS5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBAIC00MDYsNiArNDA3LDggQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICBwYXJhbWV0
ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKG1hbmFnZXJIYW5k
bGUpOwogICAgIH0KICAgICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0JhdHRlcnkgPSBzeXN0ZW1IYXNC
YXR0ZXJ5KCk7CisgICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25NaW1lVHlwZXNN
YXAoKTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IGNyZWF0ZVVUSUZyb21N
SU1FVHlwZU1hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNDE0LDcg
KzQxNyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICAg
ICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxl
LnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50RmlsdGVyLnJlbW90ZVVJIiwg
V1RGOjpudWxsb3B0LCBoYW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmNvbnRlbnRGaWx0ZXJF
eHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQotICAgIHBhcmFtZXRlcnMu
bWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7CiAjZW5kaWYKICAgICAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1cmVJblBpY3R1cmVTdXBw
b3J0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0
aWxpdGllcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gvZGlzcGF0
Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMjc0LDYgKzI3NSw4IEBAIHZvaWQg
V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAgIGlmIChwYXJhbWV0ZXJz
Lm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBlc01hcCgpID0gV1RGTW92
ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CisKKyAgICBzZXRVVElGcm9tTUlNRVR5cGVNYXAo
V1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDItMjkgIFBlciBBcm5lIFZvbGxh
biAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFwcGluZyBmcm9tIE1J
TUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2VzcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDE1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbTogQWRkZWQuCisgICAg
ICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU3NTY1LgpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NzY4NSkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JCMzAyM0YxRkYxQTAwMzAwQ0M3
IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2ts
aWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVDQkIzRjIzRkIxNzdBMDAzMDBD
QzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNo
YW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE2OTJEQzky
M0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJCUMxOTRFMzFEMjQwOURGNDMw
MDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1J
TUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQu
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayAqLzsgfTsK
IAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4
OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4RjhBRUIwMDlENzk4OCAvKiBU
ZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyogVGV4dFdpZHRoLmh0bWwgKi87
IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIzRjFGRjFBMDAzMDBDQzcgLyog
QmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBCYWNr
bGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5jZUNoYW5nZXMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNEMTBEQUUwMDZFODhGNyAvKiBC
YXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVyeS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21NSU1F
VHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21NSU1FVHlwZS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThFMzAwOEVCMTQxIC8qIFdlYlBy
b2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7
IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCUMyMkZB
MzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTAwLDYgKzI5
MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAvKiBNaW1lVHlwZXMubW0gKi8s
CiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0
Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdl
cy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBl
Lm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2JqQ1B0ci5tbSAq
LywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYgKzUwOTksNyBAQAogCQkJCTA3
RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11bGF0ZUZhaWxlZFNhbmRib3gu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2MDA0NDdDNEMgLyogVXNlck1l
c3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgyMUQ0MTQwQjAwNTVDMUMwIC8q
IFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMxOTRFMzFE
MjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyogVmlkZW9Db250cm9sc01hbmFn
ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2ODJFMDBFODk1REYgLyogVmlk
ZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1t
CShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZy
b21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisjaW1wb3J0ICJQ
bGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8
V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGll
cy5oPgorCitURVNUKFdlYktpdCwgVVRJRnJvbU1JTUVUeXBlKQoreworICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5h
bHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNz
UG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9X
aW5kb3c6WUVTXSk7CisKKyAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29yZTo6TUlNRVR5
cGVSZWdpc3RyeTo6c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMoKSkgeworICAgICAgICBhdXRvIGpz
ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ3aW5kb3cuaW50ZXJuYWxzLmdldFVUSUZy
b21NSU1FVHlwZShcIiVzXCIpIiwgbWltZVR5cGUudXRmOCgpLmRhdGEoKV07CisKKyAgICAgICAg
YXV0byB1dGkgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OmpzXTsKKwor
ICAgICAgICBBU1NFUlRfVFJVRShXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpID09
IFN0cmluZyh1dGkpKTsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392309</attachid>
            <date>2020-03-03 12:27:52 -0800</date>
            <delta_ts>2020-03-03 12:27:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200303122750.patch</filename>
            <type>text/plain</type>
            <size>20023</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOCBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlVUSVV0aWxpdGllcy5oIgorCisjaW1wb3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAj
aW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNoZS5oPgog
I2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDAsNiArNDIsOCBAQAogI2RlZmlu
ZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9U
WVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0
cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNywy
NyBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJu
IG1hcEVudHJ5LT52YWx1ZTsKIH0KIAorc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKwogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hl
UG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVh
dGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0
ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJp
bmcga2V5ID0gbWltZVR5cGU7CisgICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNW
YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVfU1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYg
aXQgPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0
ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgpLT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
aXQtPnZhbHVlOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAl
cyBub3QgZm91bmQuIiwga2V5LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1J
TUVUeXBlKGtleSk7CisgICAgICAgIH0KICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5
cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtl
eS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAg
ICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7CkBAIC0xMjQsMTEgKzE0NSwxNiBAQCBwdWJsaWM6CiAg
ICAgfQogfTsKIAorc3RhdGljIFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZy
b21NSU1FVHlwZUNhY2hlUG9saWN5PiYgY2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElG
cm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwog
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVD
YWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2Fj
aGU7Ci0gICAgcmV0dXJuIGNhY2hlLmdldCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNh
Y2hlVVRJRnJvbU1pbWVUeXBlKCkuZ2V0KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVk
VVRJKGNvbnN0IFN0cmluZyYgVVRJKQpAQCAtMTM2LDQgKzE2MiwzOCBAQCBib29sIGlzRGVjbGFy
ZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJ
LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwogfQogCitzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGFkZGl0aW9uYWxNSU1FVHlwZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxW
ZWN0b3I8U3RyaW5nPj4gbWltZVR5cGVzID0gc3RkOjppbml0aWFsaXplcl9saXN0PFN0cmluZz4g
eworICAgICAgICAiYXBwbGljYXRpb24vemlwIl9zLAorICAgICAgICAicHVibGljLmh0bWwiX3Ms
CisgICAgfTsKKyAgICByZXR1cm4gbWltZVR5cGVzOworfQorCitjb25zdCBIYXNoTWFwPFN0cmlu
ZywgU3RyaW5nPiYgY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+IG1hcCA9IFtdIHsKKyAgICAgICAg
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gY2FjaGU7CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlw
ZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkpCisgICAgICAg
ICAgICBjYWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOworICAg
ICAgICBmb3IgKGF1dG8gbWltZVR5cGUgOiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWROb25J
bWFnZU1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9t
TUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5
cGVSZWdpc3RyeTo6c3VwcG9ydGVkTWVkaWFNSU1FVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hl
LmFkZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIGZvciAo
YXV0byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnBkZk1JTUVUeXBlcygpKQorICAgICAg
ICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAg
ICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogYWRkaXRpb25hbE1JTUVUeXBlcygpKQorICAgICAg
ICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAg
ICAgICAgY2FjaGUuYWRkKEVNUFRZX01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShl
bXB0eVN0cmluZygpKSk7CisgICAgICAgIHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0
dXJuIG1hcDsKK30KKwordm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4mJiBtYXApCit7CisgICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1h
cCk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlz
aW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTQ3NCw2ICs1NDc0LDExIEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29k
ZWRQcmVmZXJlbmNlVmFsdWUKIHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KKworU3Ry
aW5nIEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUp
Cit7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3RyaW5nIEludGVy
bmFsczo6bWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3Njg1KQorKysg
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTM4
LDYgKzkzOCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5z
aW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRVVElGcm9tTUlN
RVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICBib29sIHN1cHBvcnRzUGljdHVy
ZUluUGljdHVyZSgpOwogCiAgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg0Niw2ICs4
NDYsOCBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcgZW5jb2RlZFBy
ZWZlcmVuY2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKIAogICAgIERP
TVN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRlbnNpb24pOwot
ICAgIAorCisgICAgRE9NU3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJpbmcgbWltZVR5
cGUpOworCiAgICAgYm9vbGVhbiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbXBvcnQgIkhpdFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVy
UHJpdmF0ZS5oIgogI2ltcG9ydCAiUmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgog
I2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNV
UkxFeHRyYXMuaD4KIApAQCAtMTAwLDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29k
ZWRQcmVmZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0KIAorU3RyaW5n
IEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7
CisgICAgcmV0dXJuIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0KSW5kZXg6IFNv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5
cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAg
IFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgU2VuZCB0aGUgbWFwcGluZyBi
ZXR3ZWVuIE1JTUUgdHlwZXMgYW5kIFVUSSB0eXBlcyB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNz
IGFzIHBhcnQgb2YgdGhlIFdlYgorICAgICAgICBwcm9jZXNzIGNyZWF0aW9uIHBhcmFtZXRlcnMu
CisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAy
MC0wMi0yOCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRp
YSBpbiBHUFUgcHJvY2Vzc10gSW1wbGVtZW50IHRoZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQaWN0
dXJlLWluLVBpY3R1cmUgc3VwcG9ydApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOjplbmNvZAogICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVu
c2lvbkhhbmRsZTsKICAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2Rl
ciA8PCBtaW1lVHlwZXNNYXA7CisgICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00NjAsNiArNDYxLDEyIEBAIGJv
b2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBl
c01hcCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFw
ID0gV1RGTW92ZSgqbWltZVR5cGVzTWFwKTsKKworICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5n
LCBTdHJpbmc+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAgZGVjb2RlciA+PiBtYXBVVElGcm9t
TUlNRVR5cGU7CisgICAgaWYgKCFtYXBVVElGcm9tTUlNRVR5cGUpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVU
SUZyb21NSU1FVHlwZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBA
QCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwog
ICAgIGJvb2wgc3lzdGVtSGFzQmF0dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8SGFzaE1h
cDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtaW1l
VHlwZXNNYXA7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbWFwVVRJRnJvbU1JTUVUeXBl
OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZp
c2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL1BsYXRmb3JtUGFzdGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBw
bGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+
CkBAIC00MDYsNiArNDA3LDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFs
aXplVwogICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUg
PSBXVEZNb3ZlKG1hbmFnZXJIYW5kbGUpOwogICAgIH0KICAgICBwYXJhbWV0ZXJzLnN5c3RlbUhh
c0JhdHRlcnkgPSBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisgICAgcGFyYW1ldGVycy5taW1lVHlwZXNN
YXAgPSBjb21tb25NaW1lVHlwZXNNYXAoKTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1F
VHlwZSA9IGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExB
VEZPUk0oSU9TKQpAQCAtNDE0LDcgKzQxNyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRm
b3JtSW5pdGlhbGl6ZVcKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9y
TWFjaExvb2t1cCgiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250
ZW50RmlsdGVyLnJlbW90ZVVJIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOwogICAgICAgICBwYXJh
bWV0ZXJzLmNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAg
ICAgfQotICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7
CiAjZW5kaWYKICAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lv
biAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2lt
cG9ydCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAt
Mjc0LDYgKzI3NSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIK
IAogICAgIGlmIChwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1p
bWVUeXBlc01hcCgpID0gV1RGTW92ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CisKKyAgICBz
ZXRVVElGcm9tTUlNRVR5cGVNYXAoV1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlw
ZSkpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQor
KysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAt
MDItMjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gTWFwcGluZyBmcm9tIE1JTUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBp
biB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA4NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1F
VHlwZS5tbTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGly
b25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMjU3NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDI1NzY4NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1
Q0JCMzAyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0Yx
RkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlD
MTVDQkIzRjIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAz
MDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUw
MDZFODhGNyAvKiBCYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07
CisJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQz
MDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3
MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVU
ZXh0LmZyYW1ld29yayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRX
aWR0aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMy
MkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJE
MjI4RjhBRUIwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODgg
LyogVGV4dFdpZHRoLmh0bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIy
RjIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVu
Y2VDaGFuZ2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJl
ZmVyZW5jZUNoYW5nZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5
MjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0
dGVyeS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAw
MjkzOUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZy
b21NSU1FVHlwZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4
RThFMzAwOEVCMTQxIC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQu
ZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBT
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9
IFNES1JPT1Q7IH07CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yOTAwLDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVF
QiAvKiBNaW1lVHlwZXMubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBp
Y3R1cmVJblBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMEND
NyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5
RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBG
NSAvKiBXZWFrT2JqQ1B0ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2
LDYgKzUwOTksNyBAQAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFT
aW11bGF0ZUZhaWxlZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDEx
QUU2MDA0NDdDNEMgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQy
QjgyMUQ0MTQwQjAwNTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3Vy
Y2VzICovLAorCQkJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0
aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMg
LyogVmlkZW9Db250cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIx
NjU2ODJFMDBFODk1REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNv
dXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9t
TUlNRVR5cGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvVVRJRnJvbU1JTUVUeXBlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFW
RV9DX1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdL
V2ViVmlldy5oIgorI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CisjaW1wb3J0
IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgorCitURVNUKFdlYktpdCwgVVRJRnJvbU1JTUVUeXBl
KQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1
cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250
ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0
ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmln
dXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQo
KTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBmb3IgKGF1dG8mIG1pbWVU
eXBlIDogV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMo
KSkgeworICAgICAgICBhdXRvIGpzID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ3aW5k
b3cuaW50ZXJuYWxzLmdldFVUSUZyb21NSU1FVHlwZShcIiVzXCIpIiwgbWltZVR5cGUudXRmOCgp
LmRhdGEoKV07CisKKyAgICAgICAgYXV0byB1dGkgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRp
bmdKYXZhU2NyaXB0OmpzXTsKKworICAgICAgICBBU1NFUlRfVFJVRShXZWJDb3JlOjpVVElGcm9t
TUlNRVR5cGUobWltZVR5cGUpID09IFN0cmluZyh1dGkpKTsKKyAgICB9Cit9CisKKyNlbmRpZiAv
LyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392331</attachid>
            <date>2020-03-03 14:30:51 -0800</date>
            <delta_ts>2020-03-03 14:30:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200303143049.patch</filename>
            <type>text/plain</type>
            <size>19954</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOCBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlVUSVV0aWxpdGllcy5oIgorCisjaW1wb3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAj
aW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNoZS5oPgog
I2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDAsNiArNDIsOCBAQAogI2RlZmlu
ZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9U
WVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0
cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNywy
NiBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJu
IG1hcEVudHJ5LT52YWx1ZTsKIH0KIAorc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKwogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hl
UG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVh
dGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0
ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJp
bmcga2V5ID0gbWltZVR5cGU7CisgICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNW
YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVfU1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYg
aXQgPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0
ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgpLT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
aXQtPnZhbHVlOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAl
cyBub3QgZm91bmQuIiwga2V5LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgcmV0dXJuIFVU
SUZyb21Vbmtub3duTUlNRVR5cGUoa2V5KTsKKyAgICAgICAgfQogICAgICAgICBhdXRvIHR5cGUg
PSBhZG9wdENGKFVUVHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xh
c3NNSU1FVHlwZSwga2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIDApKTsKICAgICAgICAgaWYg
KHR5cGUpCiAgICAgICAgICAgICByZXR1cm4gdHlwZS5nZXQoKTsKQEAgLTEyNCwxMSArMTQ0LDE2
IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCitzdGF0aWMgVGlueUxSVUNhY2hlPFN0cmluZywgU3Ry
aW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+JiBjYWNoZVVUSUZyb21NaW1lVHlw
ZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0
cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7CisgICAgcmV0dXJu
IGNhY2hlOworfQorCiBTdHJpbmcgVVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5
cGUpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8VGlueUxSVUNhY2hlPFN0cmluZywgU3RyaW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2Fj
aGVQb2xpY3k+PiBjYWNoZTsKLSAgICByZXR1cm4gY2FjaGUuZ2V0KCkuZ2V0KG1pbWVUeXBlKTsK
KyAgICByZXR1cm4gY2FjaGVVVElGcm9tTWltZVR5cGUoKS5nZXQobWltZVR5cGUpOwogfQogCiBi
b29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCkBAIC0xMzYsNCArMTYxLDM3IEBA
IGJvb2wgaXNEZWNsYXJlZFVUSShjb25zdCBTdHJpbmcmIFVUSSkKICAgICByZXR1cm4gVVRUeXBl
SXNEZWNsYXJlZChVVEkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgYWRkaXRpb25hbE1JTUVUeXBlcygpCit7CisgICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFZlY3RvcjxTdHJpbmc+PiBtaW1lVHlwZXMgPSBzdGQ6OmluaXRpYWxpemVy
X2xpc3Q8U3RyaW5nPiB7CisgICAgICAgICJhcHBsaWNhdGlvbi96aXAiX3MsCisgICAgfTsKKyAg
ICByZXR1cm4gbWltZVR5cGVzOworfQorCitjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYg
Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+IG1hcCA9IFtdIHsKKyAgICAgICAgSGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4gY2FjaGU7CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVUeXBl
UmVnaXN0cnk6OnN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkpCisgICAgICAgICAgICBjYWNoZS5h
ZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOworICAgICAgICBmb3IgKGF1
dG8gbWltZVR5cGUgOiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBl
cygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWlt
ZVR5cGUpKTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5cGVSZWdpc3RyeTo6
c3VwcG9ydGVkTWVkaWFNSU1FVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFkZChtaW1lVHlw
ZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlw
ZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnBkZk1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUu
YWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgZm9yIChh
dXRvIG1pbWVUeXBlIDogYWRkaXRpb25hbE1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUu
YWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgY2FjaGUu
YWRkKEVNUFRZX01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShlbXB0eVN0cmluZygp
KSk7CisgICAgICAgIHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0dXJuIG1hcDsKK30K
Kwordm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mJiBt
YXApCit7CisgICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1hcCk7Cit9CisKIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTQ3NCw2ICs1NDc0LDExIEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNl
VmFsdWUKIHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KKworU3RyaW5nIEludGVybmFs
czo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3RyaW5nIEludGVybmFsczo6bWVkaWFN
SU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTM4LDYgKzkzOCw4IEBA
IHB1YmxpYzoKIAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0
cmluZyYgZXh0ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5cGUoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgp
OwogCiAgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg0Niw2ICs4NDYsOCBAQCBlbnVt
IENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZlcmVuY2VWYWx1
ZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKIAogICAgIERPTVN0cmluZyBtZWRp
YU1JTUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRlbnNpb24pOwotICAgIAorCisgICAg
RE9NU3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJpbmcgbWltZVR5cGUpOworCiAgICAg
Ym9vbGVhbiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bXBvcnQgIkhpdFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZS5oIgog
I2ltcG9ydCAiUmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2ltcG9ydCA8QVZG
b3VuZGF0aW9uL0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4K
IApAQCAtMTAwLDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQcmVmZXJlbmNl
VmFsdWUKICAgICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0KIAorU3RyaW5nIEludGVybmFsczo6
Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJu
IFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDIyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5
cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAgIFJldmlld2VkIGJ5
IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgU2VuZCB0aGUgbWFwcGluZyBiZXR3ZWVuIE1JTUUg
dHlwZXMgYW5kIFVUSSB0eXBlcyB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBhcnQgb2Yg
dGhlIFdlYgorICAgICAgICBwcm9jZXNzIGNyZWF0aW9uIHBhcmFtZXRlcnMuCisKKyAgICAgICAg
KiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0wMi0yOCAgUGVu
ZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYSBpbiBHUFUgcHJv
Y2Vzc10gSW1wbGVtZW50IHRoZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQaWN0dXJlLWluLVBpY3R1
cmUgc3VwcG9ydApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzEsNiArMTcxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjplbmNvZAogICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsK
ICAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2RlciA8PCBtaW1lVHlw
ZXNNYXA7CisgICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00NjAsNiArNDYxLDEyIEBAIGJvb2wgV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBlc01hcCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gV1RGTW92ZSgq
bWltZVR5cGVzTWFwKTsKKworICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+PiBt
YXBVVElGcm9tTUlNRVR5cGU7CisgICAgZGVjb2RlciA+PiBtYXBVVElGcm9tTUlNRVR5cGU7Cisg
ICAgaWYgKCFtYXBVVElGcm9tTUlNRVR5cGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBw
YXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVUSUZyb21NSU1FVHlw
ZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZp
c2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBzdHJ1Y3QgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGJvb2wgc3lz
dGVtSGFzQmF0dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFZl
Y3RvcjxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlwZXNNYXA7Cisg
ICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbWFwVVRJRnJvbU1JTUVUeXBlOwogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTc2ODUp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRm
b3JtUGFzdGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0IDxXZWJDb3Jl
L1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBAIC00MDYsNiAr
NDA3LDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAg
ICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKG1h
bmFnZXJIYW5kbGUpOwogICAgIH0KICAgICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0JhdHRlcnkgPSBz
eXN0ZW1IYXNCYXR0ZXJ5KCk7CisgICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25N
aW1lVHlwZXNNYXAoKTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IGNyZWF0
ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpA
QCAtNDE0LDcgKzQxNyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6
ZVcKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgi
Y29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50RmlsdGVyLnJl
bW90ZVVJIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmNvbnRl
bnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQotICAgIHBh
cmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7CiAjZW5kaWYKICAg
ICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTc2ODUpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1cmVJblBp
Y3R1cmVTdXBwb3J0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
cy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CisjaW1wb3J0IDxXZWJD
b3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0
Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMjc0LDYgKzI3NSw4
IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAgIGlmIChw
YXJhbWV0ZXJzLm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVUeXBlc01hcCgp
ID0gV1RGTW92ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CisKKyAgICBzZXRVVElGcm9tTUlN
RVR5cGVNYXAoV1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkpOwogI2VuZGlm
CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDItMjkgIFBlciBB
cm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFwcGlu
ZyBmcm9tIE1JTUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJv
Y2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4
NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbTogQWRk
ZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25vcmkgIDxIaXJv
bm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MjU3NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NzY4NSkKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JCMzAyM0YxRkYx
QTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3
IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVDQkIzRjIzRkIx
NzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJl
ZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBC
YXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJCUMxOTRFMzFE
MjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyog
VVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBENjEwRkEgLyog
Q29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29y
ayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJBMjI4Rjg3
MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4RjhBRUIwMDlE
Nzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyogVGV4dFdpZHRo
Lmh0bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIzRjFGRjFBMDAz
MDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5jZUNoYW5n
ZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNEMTBEQUUwMDZF
ODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVyeS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkzOUVEIC8qIFVU
SUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21NSU1FVHlwZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThFMzAwOEVCMTQx
IC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5m
cmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07
CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
OTAwLDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAvKiBNaW1lVHlw
ZXMubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBpY3R1
cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJl
bmNlQ2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJv
bU1JTUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAvKiBXZWFrT2Jq
Q1B0ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYgKzUwOTksNyBA
QAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11bGF0ZUZhaWxl
ZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2MDA0NDdDNEMg
LyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgyMUQ0MTQwQjAw
NTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29jb2EubW0g
aW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyogVmlkZW9Db250
cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2ODJFMDBFODk1
REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJjZXMgKi8sCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1J
TUVUeXBlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1VUSUZyb21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisj
aW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgor
I2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VU
SVV0aWxpdGllcy5oPgorCitURVNUKFdlYktpdCwgVVRJRnJvbU1JTUVUeXBlKQoreworICAgIGF1
dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9j
XSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRX
SyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0
KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQo
KS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0
KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29y
ZTo6TUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMoKSkgeworICAgICAg
ICBhdXRvIGpzID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ3aW5kb3cuaW50ZXJuYWxz
LmdldFVUSUZyb21NSU1FVHlwZShcIiVzXCIpIiwgbWltZVR5cGUudXRmOCgpLmRhdGEoKV07CisK
KyAgICAgICAgYXV0byB1dGkgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OmpzXTsKKworICAgICAgICBBU1NFUlRfVFJVRShXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGUobWlt
ZVR5cGUpID09IFN0cmluZyh1dGkpKTsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0Nf
U1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392345</attachid>
            <date>2020-03-03 16:00:36 -0800</date>
            <delta_ts>2020-03-03 16:00:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200303160034.patch</filename>
            <type>text/plain</type>
            <size>20134</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOCBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlVUSVV0aWxpdGllcy5oIgorCisjaW1wb3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAj
aW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNoZS5oPgog
I2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDAsNiArNDIsOCBAQAogI2RlZmlu
ZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9U
WVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0
cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNywy
NyBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJu
IG1hcEVudHJ5LT52YWx1ZTsKIH0KIAorc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKwogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hl
UG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVh
dGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0
ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJp
bmcga2V5ID0gbWltZVR5cGU7CisgICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNW
YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVfU1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYg
aXQgPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0
ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgpLT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
aXQtPnZhbHVlOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAl
cyBub3QgZm91bmQuIiwga2V5LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBVVElGcm9tVW5rbm93bk1J
TUVUeXBlKGtleSk7CisgICAgICAgIH0KICAgICAgICAgYXV0byB0eXBlID0gYWRvcHRDRihVVFR5
cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzTUlNRVR5cGUsIGtl
eS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAwKSk7CiAgICAgICAgIGlmICh0eXBlKQogICAgICAg
ICAgICAgcmV0dXJuIHR5cGUuZ2V0KCk7CkBAIC0xMjQsMTEgKzE0NSwxNiBAQCBwdWJsaWM6CiAg
ICAgfQogfTsKIAorc3RhdGljIFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZy
b21NSU1FVHlwZUNhY2hlUG9saWN5PiYgY2FjaGVVVElGcm9tTWltZVR5cGUoKQoreworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBTdHJpbmcsIDE2LCBVVElG
cm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+IGNhY2hlOworICAgIHJldHVybiBjYWNoZTsKK30KKwog
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVD
YWNoZTxTdHJpbmcsIFN0cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2Fj
aGU7Ci0gICAgcmV0dXJuIGNhY2hlLmdldCgpLmdldChtaW1lVHlwZSk7CisgICAgcmV0dXJuIGNh
Y2hlVVRJRnJvbU1pbWVUeXBlKCkuZ2V0KG1pbWVUeXBlKTsKIH0KIAogYm9vbCBpc0RlY2xhcmVk
VVRJKGNvbnN0IFN0cmluZyYgVVRJKQpAQCAtMTM2LDQgKzE2MiwzOSBAQCBib29sIGlzRGVjbGFy
ZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCiAgICAgcmV0dXJuIFVUVHlwZUlzRGVjbGFyZWQoVVRJ
LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwogfQogCitzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGFkZGl0aW9uYWxNSU1FVHlwZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxW
ZWN0b3I8U3RyaW5nPj4gbWltZVR5cGVzID0gc3RkOjppbml0aWFsaXplcl9saXN0PFN0cmluZz4g
eworICAgICAgICAiYXBwbGljYXRpb24vemlwIl9zLAorICAgIH07CisgICAgcmV0dXJuIG1pbWVU
eXBlczsKK30KKworY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGNyZWF0ZVVUSUZyb21N
SU1FVHlwZU1hcCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RyaW5n
LCBTdHJpbmc+PiBtYXAgPSBbXSB7CisgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGNh
Y2hlOworICAgICAgICBmb3IgKGF1dG8gbWltZVR5cGUgOiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBw
b3J0ZWRJbWFnZU1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBV
VElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDog
TUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVkTm9uSW1hZ2VNSU1FVHlwZXMoKSkKKyAgICAgICAg
ICAgIGNhY2hlLmFkZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAg
ICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnVuc3VwcG9ydGVkVGV4
dE1JTUVUeXBlcygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlN
RVR5cGUobWltZVR5cGUpKTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5cGVS
ZWdpc3RyeTo6c3VwcG9ydGVkTWVkaWFNSU1FVHlwZXMoKSkKKyAgICAgICAgICAgIGNhY2hlLmFk
ZChtaW1lVHlwZSwgVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKSk7CisgICAgICAgIGZvciAoYXV0
byBtaW1lVHlwZSA6IE1JTUVUeXBlUmVnaXN0cnk6OnBkZk1JTUVUeXBlcygpKQorICAgICAgICAg
ICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAg
ICAgZm9yIChhdXRvIG1pbWVUeXBlIDogYWRkaXRpb25hbE1JTUVUeXBlcygpKQorICAgICAgICAg
ICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAgICAg
ICAgY2FjaGUuYWRkKEVNUFRZX01JTUVfVFlQRV9TVFJJTkcsIFVUSUZyb21NSU1FVHlwZShlbXB0
eVN0cmluZygpKSk7CisgICAgICAgIHJldHVybiBjYWNoZTsKKyAgICB9KCk7CisgICAgcmV0dXJu
IG1hcDsKK30KKwordm9pZCBzZXRVVElGcm9tTUlNRVR5cGVNYXAoSGFzaE1hcDxTdHJpbmcsIFN0
cmluZz4mJiBtYXApCit7CisgICAgbWFwVVRJRnJvbU1JTUVUeXBlKCkgPSBXVEZNb3ZlKG1hcCk7
Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9u
IDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTQ3NCw2ICs1NDc0LDExIEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQ
cmVmZXJlbmNlVmFsdWUKIHsKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIH0KKworU3RyaW5n
IEludGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7
CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CiAjZW5kaWYKIAogU3RyaW5nIEludGVybmFs
czo6bWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU3Njg1KQorKysgU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTM4LDYg
KzkzOCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9u
KGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uKTsKIAorICAgIFN0cmluZyBnZXRVVElGcm9tTUlNRVR5
cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUlu
UGljdHVyZSgpOwogCiAgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTg0Niw2ICs4NDYs
OCBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBET01TdHJpbmcgZW5jb2RlZFByZWZl
cmVuY2VWYWx1ZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5KTsKIAogICAgIERPTVN0
cmluZyBtZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKERPTVN0cmluZyBleHRlbnNpb24pOwotICAg
IAorCisgICAgRE9NU3RyaW5nIGdldFVUSUZyb21NSU1FVHlwZShET01TdHJpbmcgbWltZVR5cGUp
OworCiAgICAgYm9vbGVhbiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0
LDcgQEAKICNpbXBvcnQgIkhpdFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJp
dmF0ZS5oIgogI2ltcG9ydCAiUmFuZ2UuaCIKKyNpbXBvcnQgIlVUSVV0aWxpdGllcy5oIgogI2lt
cG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxF
eHRyYXMuaD4KIApAQCAtMTAwLDQgKzEwMSw5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVuY29kZWRQ
cmVmZXJlbmNlVmFsdWUKICAgICByZXR1cm4gZW5jb2RlZFN0cmluZzsKIH0KIAorU3RyaW5nIElu
dGVybmFsczo6Z2V0VVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7Cisg
ICAgcmV0dXJuIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSk7Cit9CisKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9s
bGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUg
dG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQxNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgU2VuZCB0aGUgbWFwcGluZyBiZXR3
ZWVuIE1JTUUgdHlwZXMgYW5kIFVUSSB0eXBlcyB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFz
IHBhcnQgb2YgdGhlIFdlYgorICAgICAgICBwcm9jZXNzIGNyZWF0aW9uIHBhcmFtZXRlcnMuCisK
KyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6
CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMC0w
Mi0yOCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYSBp
biBHUFUgcHJvY2Vzc10gSW1wbGVtZW50IHRoZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQaWN0dXJl
LWluLVBpY3R1cmUgc3VwcG9ydApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NzY4NSkKKysr
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzOjplbmNvZAogICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lv
bkhhbmRsZTsKICAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAgICAgZW5jb2RlciA8
PCBtaW1lVHlwZXNNYXA7CisgICAgZW5jb2RlciA8PCBtYXBVVElGcm9tTUlNRVR5cGU7CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00NjAsNiArNDYxLDEyIEBAIGJvb2wg
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW1pbWVUeXBlc01h
cCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0g
V1RGTW92ZSgqbWltZVR5cGVzTWFwKTsKKworICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiBtYXBVVElGcm9tTUlNRVR5cGU7CisgICAgZGVjb2RlciA+PiBtYXBVVElGcm9tTUlN
RVR5cGU7CisgICAgaWYgKCFtYXBVVElGcm9tTUlNRVR5cGUpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSA9IFdURk1vdmUoKm1hcFVUSUZy
b21NSU1FVHlwZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCShyZXZpc2lvbiAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsNyBAQCBz
dHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogICAg
IGJvb2wgc3lzdGVtSGFzQmF0dGVyeSB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8SGFzaE1hcDxT
dHJpbmcsIFZlY3RvcjxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtaW1lVHlw
ZXNNYXA7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbWFwVVRJRnJvbU1JTUVUeXBlOwog
I2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lv
biAyNTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW1wb3J0IDxXZWJD
b3JlL1BsYXRmb3JtUGFzdGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW1wb3J0
IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1w
b3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+CkBA
IC00MDYsNiArNDA3LDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXpl
VwogICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBX
VEZNb3ZlKG1hbmFnZXJIYW5kbGUpOwogICAgIH0KICAgICBwYXJhbWV0ZXJzLnN5c3RlbUhhc0Jh
dHRlcnkgPSBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisgICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAg
PSBjb21tb25NaW1lVHlwZXNNYXAoKTsKKyAgICBwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlw
ZSA9IGNyZWF0ZVVUSUZyb21NSU1FVHlwZU1hcCgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZP
Uk0oSU9TKQpAQCAtNDE0LDcgKzQxNyw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3Jt
SW5pdGlhbGl6ZVcKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFj
aExvb2t1cCgiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50
RmlsdGVyLnJlbW90ZVVJIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOwogICAgICAgICBwYXJhbWV0
ZXJzLmNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAg
fQotICAgIHBhcmFtZXRlcnMubWltZVR5cGVzTWFwID0gY29tbW9uTWltZVR5cGVzTWFwKCk7CiAj
ZW5kaWYKICAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAy
NTc2ODUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Bp
Y3R1cmVJblBpY3R1cmVTdXBwb3J0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9y
dCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpAQCAtMjc0
LDYgKzI3NSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAog
ICAgIGlmIChwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCkKICAgICAgICAgb3ZlcnJpZGRlbk1pbWVU
eXBlc01hcCgpID0gV1RGTW92ZShwYXJhbWV0ZXJzLm1pbWVUeXBlc01hcCk7CisKKyAgICBzZXRV
VElGcm9tTUlNRVR5cGVNYXAoV1RGTW92ZShwYXJhbWV0ZXJzLm1hcFVUSUZyb21NSU1FVHlwZSkp
OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU3Njg1KQorKysg
VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDIt
MjkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2Nv
YV0gTWFwcGluZyBmcm9tIE1JTUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0
aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlw
ZS5tbTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMi0yOCAgRnVqaWkgSGlyb25v
cmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMjU3NTY1LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1
NzY4NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04ODMsNiArODgzLDcgQEAKIAkJQzE1Q0JC
MzAyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE1Q0JCMkYyM0YxRkYx
QTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1tICovOyB9OwogCQlDMTVD
QkIzRjIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTVDQkIzRTIzRkIxNzdBMDAzMDBD
QzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi87IH07CiAJCUMxNjkyRENBMjNEMTBEQUUwMDZF
ODhGNyAvKiBCYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi87IH07CisJ
CUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTk0RTMxQzI0MDlERjQzMDAy
OTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovOyB9OwogCQlDMjBGODhBNzIyOTVCOTY3MDBE
NjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0
LmZyYW1ld29yayAqLzsgfTsKIAkJQzIyRkEzMkIyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0
aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZB
MzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi87IH07CiAJCUMyMkZBMzJEMjI4
RjhBRUIwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQzIyOEY4NzdBMDA5RDc5ODggLyog
VGV4dFdpZHRoLmh0bWwgKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksNyBAQAogCQlDMTVDQkIyRjIz
RjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzE1Q0JCM0UyM0ZCMTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VD
aGFuZ2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVy
ZW5jZUNoYW5nZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxNjkyREM5MjNE
MTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmF0dGVy
eS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE5NEUzMUMyNDA5REY0MzAwMjkz
OUVEIC8qIFVUSUZyb21NSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21N
SU1FVHlwZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFEOEVFMjEyMDI4RThF
MzAwOEVCMTQxIC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzVGVybWluYXRlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3JlVGV4dC5mcmFtZXdvcms7IHBhdGggPSBTeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNE
S1JPT1Q7IH07CiAJCUMyMkZBMzJBMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0V2lkdGgubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yOTAwLDYgKzI5MDIsNyBAQAogCQkJCUMxNDVDQzBCMjNEQTVBMEYwMDNBNUVFQiAv
KiBNaW1lVHlwZXMubW0gKi8sCiAJCQkJRTMyNUM5MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1
cmVJblBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJCUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAv
KiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKKwkJCQlDMTk0RTMxQzI0MDlERjQzMDAyOTM5RUQg
LyogVVRJRnJvbU1JTUVUeXBlLm1tICovLAogCQkJCTBGMTM5RTc1MUE0MjNBNTMwMEY1OTBGNSAv
KiBXZWFrT2JqQ1B0ci5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gY29jb2E7CkBAIC01MDk2LDYg
KzUwOTksNyBAQAogCQkJCTA3RjRFOTJFMjBBRjU5RTIwMDJFMzgwMyAvKiBVc2VyTWVkaWFTaW11
bGF0ZUZhaWxlZFNhbmRib3gubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YxODFBNDExQUU2
MDA0NDdDNEMgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVCMjQyQjgy
MUQ0MTQwQjAwNTVDMUMwIC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCUMxOTRFMzFEMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0g
aW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMgLyogVXRpbGl0aWVz
Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRFMDBGRUJDRjMgLyog
VmlkZW9Db250cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDMwNjVFMDIxNjU2
ODJFMDBFODk1REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5nLm1tIGluIFNvdXJj
ZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tTUlN
RVR5cGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
VVRJRnJvbU1JTUVUeXBlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L1VUSUZyb21NSU1FVHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9D
X1NQSQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2Vi
Vmlldy5oIgorI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CisjaW1wb3J0IDxX
ZWJDb3JlL1VUSVV0aWxpdGllcy5oPgorCitURVNUKFdlYktpdCwgVVRJRnJvbU1JTUVUeXBlKQor
eworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0
aW9uIGFsbG9jXSBpbml0XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0
ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRC
dW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJh
dGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsK
KyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBmb3IgKGF1dG8mIG1pbWVUeXBl
IDogV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMoKSkg
eworICAgICAgICBhdXRvIGpzID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ3aW5kb3cu
aW50ZXJuYWxzLmdldFVUSUZyb21NSU1FVHlwZShcIiVzXCIpIiwgbWltZVR5cGUudXRmOCgpLmRh
dGEoKV07CisKKyAgICAgICAgYXV0byB1dGkgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OmpzXTsKKworICAgICAgICBBU1NFUlRfVFJVRShXZWJDb3JlOjpVVElGcm9tTUlN
RVR5cGUobWltZVR5cGUpID09IFN0cmluZyh1dGkpKTsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBX
S19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392355</attachid>
            <date>2020-03-03 17:19:00 -0800</date>
            <delta_ts>2020-03-03 21:13:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208415-20200303171858.patch</filename>
            <type>text/plain</type>
            <size>20091</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIwLTAyLTI5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1hcHBpbmcg
ZnJvbSBNSU1FIHR5cGUgdG8gVVRJIHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBp
cyBjdXJyZW50bHkgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBidXQgc2luY2UgdGhp
cyBpcyB1c2luZyBhIHN5c3RlbSBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgY2xvc2VkLAorICAgICAg
ICB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBVSSBwcm9jZXNzLiBUaGUgVUkg
cHJvY2VzcyB3aWxsIGNyZWF0ZSB0aGlzIG1hcHBpbmcgZm9yIGEgc2V0IG9mIG1pbWUgdHlwZXMs
CisgICAgICAgIGFuZCBzZW5kIGl0IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAg
ICAgQVBJIHRlc3Q6IFdlYktpdC5VVElGcm9tTUlNRVR5cGUKKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1hcFVUSUZyb21NSU1FVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeTo6Y3JlYXRl
VmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVVVElGcm9tTWltZVR5cGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VVRJRnJvbU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Om1p
bWVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVVVElGcm9tTUlNRVR5cGVNYXApOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0VVRJRnJvbU1JTUVUeXBlTWFwKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZy
b21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmdldFVUSUZyb21NSU1FVHlwZSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtC
RkNdIENvbnNvbGlkYXRlIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzIGFu
ZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvVVRJVXRpbGl0aWVzLmgJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBVVElVdGlsaXRpZXNfaAotI2RlZmluZSBVVElVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNl
CiAKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwog
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIE1JTUVUeXBlRnJvbVVUSShjb25zdCBTdHJpbmcmKTsKIFN0
cmluZyBNSU1FVHlwZUZyb21VVElUcmVlKGNvbnN0IFN0cmluZyYpOwogV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNEZWNsYXJlZFVU
SShjb25zdCBTdHJpbmcmKTsKLX0KIAotI2VuZGlmIC8vIFVUSVV0aWxpdGllc19oCitXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYmKTsKK1dFQkNPUkVfRVhQT1JUIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBjcmVh
dGVVVElGcm9tTUlNRVR5cGVNYXAoKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOCBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlVUSVV0aWxpdGllcy5oIgorCisjaW1wb3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAj
aW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNoZS5oPgog
I2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAtNDAsNiArNDIsOCBAQAogI2RlZmlu
ZSBBRERJVElPTkFMX1VUSV9NQVBQSU5HUwogI2VuZGlmCiAKKyNkZWZpbmUgRU1QVFlfTUlNRV9U
WVBFX1NUUklORyAiZW1wdHlNaW1lVHlwZSJfcworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0
cmluZyBNSU1FVHlwZUZyb21VVEkoY29uc3QgU3RyaW5nJiB1dGkpCkBAIC0xMTMsMTAgKzExNywy
NiBAQCBzdGF0aWMgU3RyaW5nIFVUSUZyb21Vbmtub3duTUlNRVR5cGUoY29uCiAgICAgcmV0dXJu
IG1hcEVudHJ5LT52YWx1ZTsKIH0KIAorc3RhdGljIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+PiYgbWFwVVRJRnJvbU1JTUVUeXBlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKK30KKwogc3RydWN0IFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5IDogVGlueUxSVUNhY2hl
UG9saWN5PFN0cmluZywgU3RyaW5nPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFN0cmluZyBjcmVh
dGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkKKyAgICBzdGF0aWMgU3RyaW5nIGNyZWF0
ZVZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgeworICAgICAgICBTdHJp
bmcga2V5ID0gbWltZVR5cGU7CisgICAgICAgIGlmIChtYXBVVElGcm9tTUlNRVR5cGUoKS5oYXNW
YWx1ZSgpKSB7CisgICAgICAgICAgICBpZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICBrZXkgPSBFTVBUWV9NSU1FX1RZUEVfU1RSSU5HOworICAgICAgICAgICAgY29uc3QgYXV0byYg
aXQgPSBtYXBVVElGcm9tTUlNRVR5cGUoKS0+ZmluZChrZXkpOworICAgICAgICAgICAgaWYgKGl0
ICE9IG1hcFVUSUZyb21NSU1FVHlwZSgpLT5lbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
aXQtPnZhbHVlOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJVVEkgZm9yIE1JTUUgdHlwZSAl
cyBub3QgZm91bmQuIiwga2V5LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgcmV0dXJuIFVU
SUZyb21Vbmtub3duTUlNRVR5cGUoa2V5KTsKKyAgICAgICAgfQogICAgICAgICBhdXRvIHR5cGUg
PSBhZG9wdENGKFVUVHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xh
c3NNSU1FVHlwZSwga2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIDApKTsKICAgICAgICAgaWYg
KHR5cGUpCiAgICAgICAgICAgICByZXR1cm4gdHlwZS5nZXQoKTsKQEAgLTEyNCwxMSArMTQ0LDE2
IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCitzdGF0aWMgVGlueUxSVUNhY2hlPFN0cmluZywgU3Ry
aW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+JiBjYWNoZVVUSUZyb21NaW1lVHlw
ZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFN0
cmluZywgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5Pj4gY2FjaGU7CisgICAgcmV0dXJu
IGNhY2hlOworfQorCiBTdHJpbmcgVVRJRnJvbU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5
cGUpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8VGlueUxSVUNhY2hlPFN0cmluZywgU3RyaW5nLCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2Fj
aGVQb2xpY3k+PiBjYWNoZTsKLSAgICByZXR1cm4gY2FjaGUuZ2V0KCkuZ2V0KG1pbWVUeXBlKTsK
KyAgICByZXR1cm4gY2FjaGVVVElGcm9tTWltZVR5cGUoKS5nZXQobWltZVR5cGUpOwogfQogCiBi
b29sIGlzRGVjbGFyZWRVVEkoY29uc3QgU3RyaW5nJiBVVEkpCkBAIC0xMzYsNCArMTYxLDM5IEBA
IGJvb2wgaXNEZWNsYXJlZFVUSShjb25zdCBTdHJpbmcmIFVUSSkKICAgICByZXR1cm4gVVRUeXBl
SXNEZWNsYXJlZChVVEkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgYWRkaXRpb25hbE1JTUVUeXBlcygpCit7CisgICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFZlY3RvcjxTdHJpbmc+PiBtaW1lVHlwZXMgPSBzdGQ6OmluaXRpYWxpemVy
X2xpc3Q8U3RyaW5nPiB7CisgICAgICAgICJhcHBsaWNhdGlvbi96aXAiX3MsCisgICAgfTsKKyAg
ICByZXR1cm4gbWltZVR5cGVzOworfQorCitjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYg
Y3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4+IG1hcCA9IFtdIHsKKyAgICAgICAgSGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4gY2FjaGU7CisgICAgICAgIGZvciAoYXV0byBtaW1lVHlwZSA6IE1JTUVUeXBl
UmVnaXN0cnk6OnN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkpCisgICAgICAgICAgICBjYWNoZS5h
ZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOworICAgICAgICBmb3IgKGF1
dG8gbWltZVR5cGUgOiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBl
cygpKQorICAgICAgICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWlt
ZVR5cGUpKTsKKyAgICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5cGVSZWdpc3RyeTo6
dW5zdXBwb3J0ZWRUZXh0TUlNRVR5cGVzKCkpCisgICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5
cGUsIFVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkpOworICAgICAgICBmb3IgKGF1dG8gbWltZVR5
cGUgOiBNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWRNZWRpYU1JTUVUeXBlcygpKQorICAgICAg
ICAgICAgY2FjaGUuYWRkKG1pbWVUeXBlLCBVVElGcm9tTUlNRVR5cGUobWltZVR5cGUpKTsKKyAg
ICAgICAgZm9yIChhdXRvIG1pbWVUeXBlIDogTUlNRVR5cGVSZWdpc3RyeTo6cGRmTUlNRVR5cGVz
KCkpCisgICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1l
VHlwZSkpOworICAgICAgICBmb3IgKGF1dG8gbWltZVR5cGUgOiBhZGRpdGlvbmFsTUlNRVR5cGVz
KCkpCisgICAgICAgICAgICBjYWNoZS5hZGQobWltZVR5cGUsIFVUSUZyb21NSU1FVHlwZShtaW1l
VHlwZSkpOworICAgICAgICBjYWNoZS5hZGQoRU1QVFlfTUlNRV9UWVBFX1NUUklORywgVVRJRnJv
bU1JTUVUeXBlKGVtcHR5U3RyaW5nKCkpKTsKKyAgICAgICAgcmV0dXJuIGNhY2hlOworICAgIH0o
KTsKKyAgICByZXR1cm4gbWFwOworfQorCit2b2lkIHNldFVUSUZyb21NSU1FVHlwZU1hcChIYXNo
TWFwPFN0cmluZywgU3RyaW5nPiYmIG1hcCkKK3sKKyAgICBtYXBVVElGcm9tTUlNRVR5cGUoKSA9
IFdURk1vdmUobWFwKTsKK30KKwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAkocmV2aXNpb24gMjU3Njg1KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDc0LDYgKzU0NzQsMTEgQEAgU3RyaW5nIEludGVy
bmFsczo6ZW5jb2RlZFByZWZlcmVuY2VWYWx1ZQogewogICAgIHJldHVybiBlbXB0eVN0cmluZygp
OwogfQorCitTdHJpbmcgSW50ZXJuYWxzOjpnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSkKK3sKKyAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KICNlbmRpZgogCiBT
dHJpbmcgSW50ZXJuYWxzOjptZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYg
ZXh0ZW5zaW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCShyZXZpc2lvbiAy
NTc2ODUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCSh3b3JraW5nIGNv
cHkpCkBAIC05MzgsNiArOTM4LDggQEAgcHVibGljOgogCiAgICAgU3RyaW5nIG1lZGlhTUlNRVR5
cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pOwogCisgICAgU3RyaW5nIGdl
dFVUSUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKwogICAgIGJvb2wgc3Vw
cG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CiAKICAgICBTdHJpbmcgZm9jdXNSaW5nQ29sb3IoKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHJldmlzaW9uIDI1NzY4NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtODQ2LDYgKzg0Niw4IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogICAgIERPTVN0cmlu
ZyBlbmNvZGVkUHJlZmVyZW5jZVZhbHVlKERPTVN0cmluZyBkb21haW4sIERPTVN0cmluZyBrZXkp
OwogCiAgICAgRE9NU3RyaW5nIG1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oRE9NU3RyaW5nIGV4
dGVuc2lvbik7Ci0gICAgCisKKyAgICBET01TdHJpbmcgZ2V0VVRJRnJvbU1JTUVUeXBlKERPTVN0
cmluZyBtaW1lVHlwZSk7CisKICAgICBib29sZWFuIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgp
OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLm1tCShyZXZpc2lvbiAyNTc2
ODUpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAiSGl0VGVzdFJlc3VsdC5oIgogI2ltcG9ydCAi
TWVkaWFQbGF5ZXJQcml2YXRlLmgiCiAjaW1wb3J0ICJSYW5nZS5oIgorI2ltcG9ydCAiVVRJVXRp
bGl0aWVzLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5ZXIuaD4KICNpbXBvcnQgPHd0
Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgogCkBAIC0xMDAsNCArMTAxLDkgQEAgU3RyaW5nIEludGVy
bmFsczo6ZW5jb2RlZFByZWZlcmVuY2VWYWx1ZQogICAgIHJldHVybiBlbmNvZGVkU3RyaW5nOwog
fQogCitTdHJpbmcgSW50ZXJuYWxzOjpnZXRVVElGcm9tTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSkKK3sKKyAgICByZXR1cm4gVVRJRnJvbU1JTUVUeXBlKG1pbWVUeXBlKTsKK30KKwog
fQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDItMjkgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFwcGluZyBm
cm9tIE1JTUUgdHlwZSB0byBVVEkgdHlwZSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2Vz
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICBTZW5kIHRo
ZSBtYXBwaW5nIGJldHdlZW4gTUlNRSB0eXBlcyBhbmQgVVRJIHR5cGVzIHRvIHRoZSBXZWJDb250
ZW50IHByb2Nlc3MgYXMgcGFydCBvZiB0aGUgV2ViCisgICAgICAgIHByb2Nlc3MgY3JlYXRpb24g
cGFyYW1ldGVycy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2Vi
UHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorCiAyMDIwLTAyLTI4ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW01lZGlhIGluIEdQVSBwcm9jZXNzXSBJbXBsZW1lbnQgdGhlIHZpZGVvIGZ1bGxzY3Jl
ZW4gYW5kIFBpY3R1cmUtaW4tUGljdHVyZSBzdXBwb3J0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNp
b24gMjU3Njg1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MSw2ICsxNzEsNyBAQCB2b2lkIFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kCiAgICAgZW5jb2RlciA8PCBuZVNlc3Npb25N
YW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGVuY29kZXIgPDwgc3lzdGVtSGFzQmF0dGVyeTsK
ICAgICBlbmNvZGVyIDw8IG1pbWVUeXBlc01hcDsKKyAgICBlbmNvZGVyIDw8IG1hcFVUSUZyb21N
SU1FVHlwZTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQ2MCw2ICs0
NjEsMTIgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgIGlm
ICghbWltZVR5cGVzTWFwKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcGFyYW1ldGVycy5t
aW1lVHlwZXNNYXAgPSBXVEZNb3ZlKCptaW1lVHlwZXNNYXApOworCisgICAgT3B0aW9uYWw8SGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4+IG1hcFVUSUZyb21NSU1FVHlwZTsKKyAgICBkZWNvZGVyID4+
IG1hcFVUSUZyb21NSU1FVHlwZTsKKyAgICBpZiAoIW1hcFVUSUZyb21NSU1FVHlwZSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIHBhcmFtZXRlcnMubWFwVVRJRnJvbU1JTUVUeXBlID0gV1RG
TW92ZSgqbWFwVVRJRnJvbU1JTUVUeXBlKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgJKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjEz
LDYgKzIxMyw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBP
cHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNp
b25IYW5kbGU7CiAgICAgYm9vbCBzeXN0ZW1IYXNCYXR0ZXJ5IHsgZmFsc2UgfTsKICAgICBPcHRp
b25hbDxIYXNoTWFwPFN0cmluZywgVmVjdG9yPFN0cmluZz4sIEFTQ0lJQ2FzZUluc2Vuc2l0aXZl
SGFzaD4+IG1pbWVUeXBlc01hcDsKKyAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtYXBVVElG
cm9tTUlNRVR5cGU7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1QYXN0ZWJvYXJkLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZm
ZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxvYmpjL3J1
bnRpbWUuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDxz
eXMvcGFyYW0uaD4KQEAgLTQwNiw2ICs0MDcsOCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0
Zm9ybUluaXRpYWxpemVXCiAgICAgICAgIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVu
c2lvbkhhbmRsZSA9IFdURk1vdmUobWFuYWdlckhhbmRsZSk7CiAgICAgfQogICAgIHBhcmFtZXRl
cnMuc3lzdGVtSGFzQmF0dGVyeSA9IHN5c3RlbUhhc0JhdHRlcnkoKTsKKyAgICBwYXJhbWV0ZXJz
Lm1pbWVUeXBlc01hcCA9IGNvbW1vbk1pbWVUeXBlc01hcCgpOworICAgIHBhcmFtZXRlcnMubWFw
VVRJRnJvbU1JTUVUeXBlID0gY3JlYXRlVVRJRnJvbU1JTUVUeXBlTWFwKCk7CiAjZW5kaWYKICAg
ICAKICNpZiBQTEFURk9STShJT1MpCkBAIC00MTQsNyArNDE3LDYgQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVh
dGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUudWlraXQudmlld3NlcnZpY2UuY29tLmFw
cGxlLldlYkNvbnRlbnRGaWx0ZXIucmVtb3RlVUkiLCBXVEY6Om51bGxvcHQsIGhhbmRsZSk7CiAg
ICAgICAgIHBhcmFtZXRlcnMuY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUo
aGFuZGxlKTsKICAgICB9Ci0gICAgcGFyYW1ldGVycy5taW1lVHlwZXNNYXAgPSBjb21tb25NaW1l
VHlwZXNNYXAoKTsKICNlbmRpZgogICAgIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0JKHJldmlzaW9uIDI1NzY4NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvUGljdHVyZUluUGljdHVyZVN1cHBvcnQuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NXQ29udGV4dE1h
bmFnZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxhbGdv
cml0aG0+CiAjaW1wb3J0IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgogI2ltcG9ydCA8b2JqYy9ydW50
aW1lLmg+CkBAIC0yNzQsNiArMjc1LDggQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJQcgogCiAgICAgaWYgKHBhcmFtZXRlcnMubWltZVR5cGVzTWFwKQogICAgICAgICBv
dmVycmlkZGVuTWltZVR5cGVzTWFwKCkgPSBXVEZNb3ZlKHBhcmFtZXRlcnMubWltZVR5cGVzTWFw
KTsKKworICAgIHNldFVUSUZyb21NSU1FVHlwZU1hcChXVEZNb3ZlKHBhcmFtZXRlcnMubWFwVVRJ
RnJvbU1JTUVUeXBlKSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4
OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNTc2ODUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NCBAQAorMjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBlIHNob3Vs
ZCBiZSBkb25lIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0MTUKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBG
dWxnaGFtLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
VVRJRnJvbU1JTUVUeXBlLm1tOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDIwLTAyLTI4
ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTc1NjUuCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gMjU3Njg1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTg4Myw2ICs4ODMs
NyBAQAogCQlDMTVDQkIzMDIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmlj
YXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MTVDQkIyRjIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24ubW0g
Ki87IH07CiAJCUMxNUNCQjNGMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNUNCQjNF
MjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLzsgfTsKIAkJQzE2OTJE
Q0EyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVy
eS5tbSAqLzsgfTsKKwkJQzE5NEUzMUQyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZyb21NSU1FVHlw
ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxOTRF
MzFDMjQwOURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gKi87IH07CiAJCUMyMEY4
OEE3MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjBGODhBNjIyOTVCOTY3MDBENjEw
RkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICovOyB9OwogCQlDMjJGQTMyQjIyOEY4NzA4MDA5RDc5
ODggLyogVGV4dFdpZHRoLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzIyRkEzMkEyMjhGODcwODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSAqLzsgfTsK
IAkJQzIyRkEzMkQyMjhGOEFFQjAwOUQ3OTg4IC8qIFRleHRXaWR0aC5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJDMjI4Rjg3
N0EwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRtbCAqLzsgfTsKQEAgLTI0NDgsNiArMjQ0OSw3IEBA
CiAJCUMxNUNCQjJGMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlv
bi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9uLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcg
LyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBQcmVmZXJlbmNlQ2hhbmdlcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBCYXR0ZXJ5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTk0RTMx
QzI0MDlERjQzMDAyOTM5RUQgLyogVVRJRnJvbU1JTUVUeXBlLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVVRJRnJvbU1JTUVUeXBlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MUQ4RUUyMTIwMjhFOEUzMDA4RUIxNDEgLyogV2ViUHJvY2Vzc1Rlcm1pbmF0ZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2Nlc3NUZXJtaW5hdGUubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMEY4OEE2MjI5NUI5NjcwMEQ2MTBGQSAv
KiBDb3JlVGV4dC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENvcmVUZXh0LmZyYW1ld29y
azsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVRleHQuZnJhbWV3b3JrOyBz
b3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJQzIyRkEzMkEyMjhGODcwODAwOUQ3OTg4IC8qIFRl
eHRXaWR0aC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFRleHRXaWR0aC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MDAsNiArMjkwMiw3IEBACiAJCQkJQzE0NUNDMEIyM0RB
NUEwRjAwM0E1RUVCIC8qIE1pbWVUeXBlcy5tbSAqLywKIAkJCQlFMzI1QzkwNjIzRTM4NzAyMDBC
QzdEM0IgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQubW0gKi8sCiAJCQkJQzE1Q0JCM0UyM0ZC
MTc3QTAwMzAwQ0M3IC8qIFByZWZlcmVuY2VDaGFuZ2VzLm1tICovLAorCQkJCUMxOTRFMzFDMjQw
OURGNDMwMDI5MzlFRCAvKiBVVElGcm9tTUlNRVR5cGUubW0gKi8sCiAJCQkJMEYxMzlFNzUxQTQy
M0E1MzAwRjU5MEY1IC8qIFdlYWtPYmpDUHRyLm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBjb2Nv
YTsKQEAgLTUwOTYsNiArNTA5OSw3IEBACiAJCQkJMDdGNEU5MkUyMEFGNTlFMjAwMkUzODAzIC8q
IFVzZXJNZWRpYVNpbXVsYXRlRmFpbGVkU2FuZGJveC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdD
Q0U3RjE4MUE0MTFBRTYwMDQ0N0M0QyAvKiBVc2VyTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkyRUIyNDJCODIxRDQxNDBCMDA1NUMxQzAgLyogVXNlU2VsZWN0aW9uQXNGaW5kU3RyaW5n
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQzE5NEUzMUQyNDA5REY0MzAwMjkzOUVEIC8qIFVUSUZy
b21NSU1FVHlwZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMDNBMUQwQTYwMjcwMEZFQkNG
MyAvKiBVdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMEM2MUQwQTY1
NEUwMEZFQkNGMyAvKiBWaWRlb0NvbnRyb2xzTWFuYWdlci5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUNEMzA2NUUwMjE2NTY4MkUwMEU4OTVERiAvKiBWaWRlb1F1YWxpdHlEaXNwbGF5Q29tcG9zaXRp
bmcubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1VUSUZyb21NSU1FVHlwZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9VVElGcm9tTUlNRVR5cGUubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbU1JTUVUeXBlLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1w
b3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnku
aD4KKyNpbXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+CisKK1RFU1QoV2ViS2l0LCBVVElG
cm9tTUlNRVR5cGUpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRl
eHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRl
eHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsK
KyAgICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKilj
b250ZXh0LmdldCgpOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3
IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3Vy
YXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGZvciAo
YXV0byYgbWltZVR5cGUgOiBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpzdXBwb3J0ZWRJbWFn
ZU1JTUVUeXBlcygpKSB7CisgICAgICAgIGF1dG8ganMgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZv
cm1hdDpAIndpbmRvdy5pbnRlcm5hbHMuZ2V0VVRJRnJvbU1JTUVUeXBlKFwiJXNcIikiLCBtaW1l
VHlwZS51dGY4KCkuZGF0YSgpXTsKKworICAgICAgICBhdXRvIHV0aSA9IFt3ZWJWaWV3IHN0cmlu
Z0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6anNdOworCisgICAgICAgIEFTU0VSVF9UUlVFKFdlYkNv
cmU6OlVUSUZyb21NSU1FVHlwZShtaW1lVHlwZSkgPT0gU3RyaW5nKHV0aSkpOworICAgIH0KK30K
KworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
      

    </bug>

</bugzilla>