<?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>203929</bug_id>
          
          <creation_ts>2019-11-06 16:25:05 -0800</creation_ts>
          <short_desc>[iOS] Deny mach lookup access to network extension services in the WebContent sandbox</short_desc>
          <delta_ts>2020-01-09 12:39:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1587981</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-11-06 16:25:05 -0800</bug_when>
    <thetext>The WebContent process&apos; sandbox should deny mach lookup to network extension services.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588002</commentid>
    <comment_count>1</comment_count>
      <attachid>382986</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-11-06 16:54:05 -0800</bug_when>
    <thetext>Created attachment 382986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595649</commentid>
    <comment_count>2</comment_count>
      <attachid>384867</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-04 17:17:25 -0800</bug_when>
    <thetext>Created attachment 384867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595652</commentid>
    <comment_count>3</comment_count>
      <attachid>384867</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-12-04 17:23:21 -0800</bug_when>
    <thetext>Comment on attachment 384867
Patch

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

I think this looks correct, but I think it would be beneficial to make this change on macOS, too (at least for 10.15 and newer).

&gt; Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:480
&gt; +    (allow mach-lookup (with report) (with telemetry)

Can&apos;t we do this on macOS, too? We allow this access on 10.15, too!

&gt; Source/WebKit/Shared/WebProcessCreationParameters.cpp:403
&gt; +#if PLATFORM(IOS)

Seems like this would be useful on macOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595715</commentid>
    <comment_count>4</comment_count>
      <attachid>384867</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-12-04 21:44:59 -0800</bug_when>
    <thetext>Comment on attachment 384867
Patch

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

&gt; Source/WebKit/ChangeLog:12
&gt; +        the content filtering code should be moved to the Networking process, but since this is a
&gt; +        bigger undertaking, we can issue extensions in the meantime to strengthen the sandbox.

I don&apos;t think moving the content filtering code to the network process would be a terribly large undertaking.  It would just be moving the logic to NetworkResourceLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596305</commentid>
    <comment_count>5</comment_count>
      <attachid>385030</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-06 11:50:16 -0800</bug_when>
    <thetext>Created attachment 385030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596307</commentid>
    <comment_count>6</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-06 12:03:17 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #3)
&gt; Comment on attachment 384867 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=384867&amp;action=review
&gt; 
&gt; I think this looks correct, but I think it would be beneficial to make this
&gt; change on macOS, too (at least for 10.15 and newer).
&gt; 
&gt; &gt; Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:480
&gt; &gt; +    (allow mach-lookup (with report) (with telemetry)
&gt; 
&gt; Can&apos;t we do this on macOS, too? We allow this access on 10.15, too!
&gt; 
&gt; &gt; Source/WebKit/Shared/WebProcessCreationParameters.cpp:403
&gt; &gt; +#if PLATFORM(IOS)
&gt; 
&gt; Seems like this would be useful on macOS.

I have enabled this for macOS as well in the latest patch.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596310</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-06 12:11:09 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 384867 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=384867&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:12
&gt; &gt; +        the content filtering code should be moved to the Networking process, but since this is a
&gt; &gt; +        bigger undertaking, we can issue extensions in the meantime to strengthen the sandbox.
&gt; 
&gt; I don&apos;t think moving the content filtering code to the network process would
&gt; be a terribly large undertaking.  It would just be moving the logic to
&gt; NetworkResourceLoader.

That&apos;s very good news! I think it would be good to move the code to the Networking process, as well as issue an extension, since this will also be useful in the Networking process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596479</commentid>
    <comment_count>8</comment_count>
      <attachid>385030</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-12-06 18:44:12 -0800</bug_when>
    <thetext>Comment on attachment 385030
Patch

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

&gt; Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h:65
&gt; +    WEBCORE_EXPORT static Optional&lt;bool&gt; m_hasConsumedSandboxExtensions;

I think Optional&lt;bool&gt; here obfuscates the meaning a bit. I think you would be better off with a three state enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596919</commentid>
    <comment_count>9</comment_count>
      <attachid>385178</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-09 12:06:15 -0800</bug_when>
    <thetext>Created attachment 385178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597011</commentid>
    <comment_count>10</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-09 16:32:04 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #8)
&gt; Comment on attachment 385030 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385030&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h:65
&gt; &gt; +    WEBCORE_EXPORT static Optional&lt;bool&gt; m_hasConsumedSandboxExtensions;
&gt; 
&gt; I think Optional&lt;bool&gt; here obfuscates the meaning a bit. I think you would
&gt; be better off with a three state enum.

I have update the patch to use an enum.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597344</commentid>
    <comment_count>11</comment_count>
      <attachid>385306</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-10 13:58:27 -0800</bug_when>
    <thetext>Created attachment 385306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597360</commentid>
    <comment_count>12</comment_count>
      <attachid>385306</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-12-10 14:58:28 -0800</bug_when>
    <thetext>Comment on attachment 385306
Patch

Looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597368</commentid>
    <comment_count>13</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-10 15:03:07 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #12)
&gt; Comment on attachment 385306 [details]
&gt; Patch
&gt; 
&gt; Looks good. r=me

Thanks for reviewing, Brent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597383</commentid>
    <comment_count>14</comment_count>
      <attachid>385306</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-10 15:21:49 -0800</bug_when>
    <thetext>Comment on attachment 385306
Patch

Clearing flags on attachment: 385306

Committed r253351: &lt;https://trac.webkit.org/changeset/253351&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597384</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-10 15:21:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597385</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-10 15:23:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/57811107&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604786</commentid>
    <comment_count>17</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-01-09 12:39:26 -0800</bug_when>
    <thetext>Should have a version check in here for this:

SandboxExtension::createHandleForMachLookup(&quot;com.apple.nesessionmanager.content-filter&quot;, WTF::nullopt, handle);

Because prior to 10.15 this was &quot;com.apple.nesessionmanager&quot; without the content-filter extension?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382986</attachid>
            <date>2019-11-06 16:54:05 -0800</date>
            <delta_ts>2019-12-04 17:17:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203929-20191106165405.patch</filename>
            <type>text/plain</type>
            <size>13404</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MjE0NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE5LTExLTA2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEZW55IG1hY2gg
bG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29u
dGVudCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDM5MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gb3B0aW9uYWwgZ2xvYmFsIGZsYWcgdG8gTmV0d29ya0V4dGVuc2lvbkNvbnRl
bnRGaWx0ZXIgdG8gaW5kaWNhdGUgd2hldGhlciBuZXR3b3JrIGV4dGVuc2lvbiBzYW5kYm94IGV4
dGVuc2lvbnMgaGF2ZQorICAgICAgICBiZWVuIGNvbnN1bWVkLiBJZiB0aGUgZmxhZyBoYXMgYmVl
biBzZXQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgTkVGaWx0ZXJTb3VyY2UuZmlsdGVyUmVx
dWlyZWQsIHNpbmNlIHRoZSBmbGFnIHdpbGwgdGVsbAorICAgICAgICBpZiBmaWx0ZXJpbmcgaXMg
cmVxdWlyZWQuIENoZWNraW5nIE5FRmlsdGVyU291cmNlLmZpbHRlclJlcXVpcmVkIHdpbGwgbGVh
ZCB0byBvdGhlciBtYWNoIGxvb2t1cHMgd2hpY2ggd2UgYXJlIHRyeWluZyB0bworICAgICAgICBh
dm9pZC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHNpbmNlIHRlc3RpbmcgdGhpcyByZXF1aXJl
cyBhIG5ldHdvcmsgZXh0ZW5zaW9uIHRvIGJlIGluc3RhbGxlZC4KKworICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9O
ZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29h
L05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OmVuYWJsZWQpOgorCiAyMDE5LTExLTA2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bTWFyZ2luQ29sbGFw
c2luZ10gQWRkIExpbmU6OmlzQ29uc2lkZXJlZEVtcHR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTIxNDcp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTI5NTYsNyArMjk1Niw3IEBACiAJCUExNDgzMkNGMTg3RjY4NDcwMERB
NjNBNiAvKiBXZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ4MzJBMTE4N0Y1MDg3MDBEQTYzQTYgLyog
V2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExNDkxREEzMUY4NTlEODcwMDk1RjVENCAvKiBQYXlt
ZW50U2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTE0OTFEQTIxRjg1OUQ4NzAwOTVGNUQ0IC8qIFBheW1lbnRTZXNzaW9uLmggKi87IH07CiAJ
CUExNDk3ODZGMUFCQUYzMzgwMENFRjdFNCAvKiBDb250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ5Nzg2RDFBQkFGMzM4MDBDRUY3
RTQgLyogQ29udGVudEZpbHRlci5oICovOyB9OwotCQlBMTQ5Nzg3MTFBQkFGM0E1MDBDRUY3RTQg
LyogUGxhdGZvcm1Db250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMTQ5Nzg3MDFBQkFGM0E1MDBDRUY3RTQgLyogUGxhdGZvcm1Db250
ZW50RmlsdGVyLmggKi87IH07CisJCUExNDk3ODcxMUFCQUYzQTUwMENFRjdFNCAvKiBQbGF0Zm9y
bUNvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExNDk3ODcwMUFCQUYzQTUwMENFRjdFNCAvKiBQbGF0Zm9ybUNvbnRlbnRGaWx0ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTRC
QjBBMDFGOTgxM0I4MDA2MDVBMzUgLyogTW9ja1BheW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNEJCMDlFMUY5ODEzQjgwMDYwNUEzNSAvKiBN
b2NrUGF5bWVudC5oICovOyB9OwogCQlBMTVENzUxNjFFNjhGN0M4MDBBMzVGQkMgLyogQmxvYkNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MTVENzUxMzFFNjhGN0IxMDBBMzVGQkMgLyogQmxvYkNhbGxiYWNrLmggKi87IH07CiAJCUExNUQ3
NTFCMUU2OEY4QTMwMEEzNUZCQyAvKiBKU0Jsb2JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE1RDc1MTgxRTY4RjgzNjAwQTM1RkJDIC8q
IEpTQmxvYkNhbGxiYWNrLmggKi87IH07CkBAIC0yOTg1LDcgKzI5ODUsNyBAQAogCQlBMTk1NkYy
NTIzMzFBRDUzMDA1N0U5RDIgLyogV0hMU0xGdW5jdGlvbkRlZmluaXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMUJGNkY0MjFDRDg5QjMwMDIy
Nzk3OSAvKiBXSExTTEZ1bmN0aW9uRGVmaW5pdGlvbi5oICovOyB9OwogCQlBMTlBRUEyMTFBQUE4
MDg2MDBCNTJCMjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTlBRUExRTFBQUE4MDZFMDBCNTJC
MjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggKi87IH07CiAJCUExOUFFQTIyMUFB
QTgwOEEwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE5QUVBMUQxQUFBODA2RTAw
QjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5jcHAgKi87IH07Ci0JCUExOUQ5
MzRCMUFBMTFCMUUwMEI0NkMyNCAvKiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE5RDkzNDkxQUEx
MUIxRTAwQjQ2QzI0IC8qIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmggKi87IH07CisJ
CUExOUQ5MzRCMUFBMTFCMUUwMEI0NkMyNCAvKiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE5RDkz
NDkxQUExMUIxRTAwQjQ2QzI0IC8qIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTFBQTlBQjkx
RDIzOTExNTAwRkVBREIzIC8qIENvbnRlbnRGaWx0ZXJCbG9ja2VkUGFnZS5odG1sIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUFBOUFCODFEMjM5MTE1
MDBGRUFEQjMgLyogQ29udGVudEZpbHRlckJsb2NrZWRQYWdlLmh0bWwgKi87IH07CiAJCUExQURB
RjdEMjM2MEZEM0UwMDlDQjc3NiAvKiBQcmV2aWV3Q29udmVydGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUFEQUY3QjIzNjBGRDNEMDA5
Q0I3NzYgLyogUHJldmlld0NvbnZlcnRlckNsaWVudC5oICovOyB9OwogCQlBMUFEQUY3RTIzNjBG
RDNFMDA5Q0I3NzYgLyogUHJldmlld0NvbnZlcnRlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUFEQUY3QzIzNjBGRDNFMDA5Q0I3NzYg
LyogUHJldmlld0NvbnZlcnRlclByb3ZpZGVyLmggKi87IH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250
ZW50RmlsdGVyLmgJKHJldmlzaW9uIDI1MjE0NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTUzLDYgKzUzLDggQEAgcHVibGljOgogICAgIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlciB1
bmJsb2NrSGFuZGxlcigpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyAgICBzdGF0aWMgdm9p
ZCBzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKGJvb2wgaGFzQ29uc3VtZWRTYW5kYm94
RXh0ZW5zaW9ucykgeyBtX2hhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMgPSBoYXNDb25zdW1l
ZFNhbmRib3hFeHRlbnNpb25zOyB9CisKIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgZW5hYmxl
ZCgpOwogCkBAIC02MCw2ICs2Miw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplKGNv
bnN0IFVSTCogPSBudWxscHRyKTsKICAgICB2b2lkIGhhbmRsZURlY2lzaW9uKE5FRmlsdGVyU291
cmNlU3RhdHVzLCBOU0RhdGEgKnJlcGxhY2VtZW50RGF0YSk7CiAKKyAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgT3B0aW9uYWw8Ym9vbD4gbV9oYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zOwor
CiAgICAgT1NPYmplY3RQdHI8ZGlzcGF0Y2hfcXVldWVfdD4gbV9xdWV1ZTsKICAgICBSZXRhaW5Q
dHI8TlNEYXRhPiBtX3JlcGxhY2VtZW50RGF0YTsKICAgICBSZXRhaW5QdHI8TkVGaWx0ZXJTb3Vy
Y2U+IG1fbmVGaWx0ZXJTb3VyY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5tbQko
cmV2aXNpb24gMjUyMTQ3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTmV0d29y
a0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTUxLDkgKzUxLDEx
IEBAIHN0YXRpYyBpbmxpbmUgTlNEYXRhICpyZXBsYWNlbWVudERhdGFGcm8KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitPcHRpb25hbDxib29sPiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRl
cjo6bV9oYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zOworCiBib29sIE5ldHdvcmtFeHRlbnNp
b25Db250ZW50RmlsdGVyOjplbmFibGVkKCkKIHsKLSAgICBib29sIGVuYWJsZWQgPSBbZ2V0TkVG
aWx0ZXJTb3VyY2VDbGFzcygpIGZpbHRlclJlcXVpcmVkXTsKKyAgICBib29sIGVuYWJsZWQgPSBt
X2hhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMgPyAqbV9oYXNDb25zdW1lZFNhbmRib3hFeHRl
bnNpb25zIDogW2dldE5FRmlsdGVyU291cmNlQ2xhc3MoKSBmaWx0ZXJSZXF1aXJlZF07CiAgICAg
TE9HKENvbnRlbnRGaWx0ZXJpbmcsICJOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlciBpcyAl
cy5cbiIsIGVuYWJsZWQgPyAiZW5hYmxlZCIgOiAibm90IGVuYWJsZWQiKTsKICAgICByZXR1cm4g
ZW5hYmxlZDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTIxNTkpCisrKyBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE5LTExLTA2
ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBE
ZW55IG1hY2ggbG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0
aGUgV2ViQ29udGVudCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDM5MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKyAgICAgICAgCisgICAgICAgIE1hY2ggbG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVu
c2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIG9ubHkgbmVlZGVkIGlm
CisgICAgICAgIE5FRmlsdGVyU291cmNlLmZpbHRlclJlcXVpcmVkIGlzIHRydWUuIElmIHRoaXMg
aXMgdGhlIGNhc2UsIGlzc3VlIHRoZSBuZWVkZWQgbWFjaCBsb29rdXAKKyAgICAgICAgc2FuZGJv
eCBleHRlbnNpb25zIHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHdoZXJlIHRoZXkgd2lsbCBi
ZSBjb25zdW1lZC4gRXZlbnR1YWxseSwgYWxsCisgICAgICAgIHRoZSBjb250ZW50IGZpbHRlcmlu
ZyBjb2RlIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgTmV0d29ya2luZyBwcm9jZXNzLCBidXQgc2lu
Y2UgdGhpcyBpcyBhCisgICAgICAgIGJpZ2dlciB1bmRlcnRha2luZywgd2UgY2FuIGlzc3VlIGV4
dGVuc2lvbnMgaW4gdGhlIG1lYW50aW1lIHRvIHN0cmVuZ3RoZW4gdGhlIHNhbmRib3guCisKKyAg
ICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lldl
YkNvbnRlbnQuc2I6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQ
cm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisKIDIwMTktMTEtMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjUxOTA3LgpJbmRleDogU291cmNlL1dlYktp
dC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRl
bnQuc2IKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2Zp
bGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJKHJldmlzaW9uIDI1MjE0NykK
KysrIFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50LnNiCSh3b3JraW5nIGNvcHkpCkBAIC00NzEsNyArNDcxLDcgQEAK
IAogKGRlZmluZS1vbmNlIChuZXR3b3JrLWV4dGVuc2lvbnMtc3VwcG9ydCkKICAgICA7OyBOZXR3
b3JrIEV4dGVuc2lvbnMgLyBWUE4gaGVscGVyLgotICAgIChhbGxvdyBtYWNoLWxvb2t1cAorICAg
IChhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCByZXBvcnQpICh3aXRoIHRlbGVtZXRyeSkKICAgICAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubmVoZWxwZXIiKQogICAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIikpIDs7IDxyZGFy
Oi8vcHJvYmxlbS80ODQ0MjM4Nz4KICkKQEAgLTk0Myw3ICs5NDMsNyBAQAogKGFsbG93IG1hY2gt
bG9va3VwCiAgICAgKHJlcXVpcmUtYWxsCiAgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53
ZWJraXQuZXh0ZW5zaW9uLm1hY2giKQotICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5p
cGhvbmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIpKSkKKyAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20uYXBwbGUubmVoZWxwZXIiICJj
b20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpKSkKIAogKG1lZGlhLWNh
cHR1cmUtc3VwcG9ydCkKIApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1MjE0NykKKysrIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZW5jb2QKICNlbmRpZgogCiAgICAgZW5jb2RlciA8PCB3ZWJzaXRlRGF0YVN0b3Jl
UGFyYW1ldGVyczsKKyAgICAKKyNpZiBQTEFURk9STShJT1MpCisgICAgZW5jb2RlciA8PCBuZUhl
bHBlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBlbmNvZGVyIDw8IG5lU2Vzc2lvbk1hbmFnZXJFeHRl
bnNpb25IYW5kbGU7CisjZW5kaWYKIH0KIAogYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzKQpAQCAtMzg4LDYgKzM5MywyMCBAQCBib29sIFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBwYXJh
bWV0ZXJzLndlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzID0gV1RGTW92ZSgqd2Vic2l0ZURhdGFT
dG9yZVBhcmFtZXRlcnMpOwogCisjaWYgUExBVEZPUk0oSU9TKQorICAgIE9wdGlvbmFsPE9wdGlv
bmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4+IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOwor
ICAgIGRlY29kZXIgPj4gbmVIZWxwZXJFeHRlbnNpb25IYW5kbGU7CisgICAgaWYgKCFuZUhlbHBl
ckV4dGVuc2lvbkhhbmRsZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHBhcmFtZXRlcnMu
bmVIZWxwZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKCpuZUhlbHBlckV4dGVuc2lvbkhhbmRs
ZSk7CisKKyAgICBPcHRpb25hbDxPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+PiBu
ZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOworICAgIGRlY29kZXIgPj4gbmVTZXNzaW9u
TWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBpZiAoIW5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNp
b25IYW5kbGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lv
bk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKCpuZVNlc3Npb25NYW5hZ2VyRXh0ZW5z
aW9uSGFuZGxlKTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJ
KHJldmlzaW9uIDI1MjE0NykKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTk2LDYgKzE5NiwxMSBAQCBzdHJ1
Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjZW5kaWYKIAogICAgIE9wdGlvbmFs
PFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzPiB3ZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
czsKKyAgICAKKyNpZiBQTEFURk9STShJT1MpCisgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlPiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBPcHRpb25hbDxTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGU+IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CisjZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAy
NTIxNDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCwxMyBAQAogI2ltcG9ydCAiVUlLaXRT
UEkuaCIKICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCA8cGFsL3NwaS9jb2Nv
YS9ORUZpbHRlclNvdXJjZVNQSS5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKE5l
dHdvcmtFeHRlbnNpb24pOworU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKE5ldHdvcmtFeHRlbnNp
b24sIE5FRmlsdGVyU291cmNlKTsKKyNlbmRpZgorCiBOU1N0cmluZyAqV2ViU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRpcmVjdG9yeURlZmF1bHRzS2V5ID0gQCJXZWJTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGlyZWN0b3J5IjsKIE5TU3RyaW5nICpXZWJLaXRMb2NhbENhY2hlRGVmYXVsdHNL
ZXkgPSBAIldlYktpdExvY2FsQ2FjaGUiOwogTlNTdHJpbmcgKldlYktpdEpTQ0pJVEVuYWJsZWRE
ZWZhdWx0c0tleSA9IEAiV2ViS2l0SlNDSklURW5hYmxlZERlZmF1bHRzS2V5IjsKQEAgLTI2NCw2
ICsyNzEsMTYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAg
IHBhcmFtZXRlcnMuc2NyZWVuUHJvcGVydGllcyA9IFdURk1vdmUoc2NyZWVuUHJvcGVydGllcyk7
CiAgICAgcGFyYW1ldGVycy51c2VPdmVybGF5U2Nyb2xsYmFycyA9IChbTlNTY3JvbGxlciBwcmVm
ZXJyZWRTY3JvbGxlclN0eWxlXSA9PSBOU1Njcm9sbGVyU3R5bGVPdmVybGF5KTsKICNlbmRpZgor
ICAgIAorI2lmIFBMQVRGT1JNKElPUykKKyAgICBpZiAoW2dldE5FRmlsdGVyU291cmNlQ2xhc3Mo
KSBmaWx0ZXJSZXF1aXJlZF0pIHsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhh
bmRsZTsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1
cCgiY29tLmFwcGxlLm5laGVscGVyIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOworICAgICAgICBw
YXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShoYW5kbGUpOworICAg
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBw
bGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIsIFdURjo6bnVsbG9wdCwgaGFuZGxl
KTsKKyAgICAgICAgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlID0g
V1RGTW92ZShoYW5kbGUpOworICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29s
OjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycyYgcGFyYW1ldGVycykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjUyMTQ3KQorKysgU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBj
b3B5KQpAQCAtODEsNiArODEsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCAiVUlL
aXRTUEkuaCIKKyNpbXBvcnQgPFdlYkNvcmUvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIu
aD4KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTIyMSw2ICsyMjIsMTQg
QEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgogICAgIHNjcm9sbGVy
U3R5bGVQcmVmZXJlbmNlQ2hhbmdlZChwYXJhbWV0ZXJzLnVzZU92ZXJsYXlTY3JvbGxiYXJzKTsK
ICNlbmRpZgogI2VuZGlmCisgICAgCisjaWYgUExBVEZPUk0oSU9TKQorICAgIGlmIChwYXJhbWV0
ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlKQorICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpj
b25zdW1lUGVybWFuZW50bHkoKnBhcmFtZXRlcnMubmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpOwor
ICAgIGlmIChwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUpCisgICAg
ICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgqcGFyYW1ldGVycy5uZVNl
c3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKTsKKyAgICBOZXR3b3JrRXh0ZW5zaW9uQ29udGVu
dEZpbHRlcjo6c2V0SGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyhwYXJhbWV0ZXJzLm5lSGVs
cGVyRXh0ZW5zaW9uSGFuZGxlICYmIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lv
bkhhbmRsZSk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldFdlYnNp
dGVEYXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYgcGFy
YW1ldGVycykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384867</attachid>
            <date>2019-12-04 17:17:25 -0800</date>
            <delta_ts>2019-12-06 11:50:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203929-20191204171724.patch</filename>
            <type>text/plain</type>
            <size>13231</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzEyOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE5LTEyLTA0ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEZW55IG1hY2gg
bG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29u
dGVudCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDM5MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gb3B0aW9uYWwgZ2xvYmFsIGZsYWcgdG8gTmV0d29ya0V4dGVuc2lvbkNvbnRl
bnRGaWx0ZXIgdG8gaW5kaWNhdGUgd2hldGhlciBuZXR3b3JrIGV4dGVuc2lvbiBzYW5kYm94IGV4
dGVuc2lvbnMgaGF2ZQorICAgICAgICBiZWVuIGNvbnN1bWVkLiBJZiB0aGUgZmxhZyBoYXMgYmVl
biBzZXQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgTkVGaWx0ZXJTb3VyY2UuZmlsdGVyUmVx
dWlyZWQsIHNpbmNlIHRoZSBmbGFnIHdpbGwgdGVsbAorICAgICAgICBpZiBmaWx0ZXJpbmcgaXMg
cmVxdWlyZWQuIENoZWNraW5nIE5FRmlsdGVyU291cmNlLmZpbHRlclJlcXVpcmVkIHdpbGwgbGVh
ZCB0byBvdGhlciBtYWNoIGxvb2t1cHMgd2hpY2ggd2UgYXJlIHRyeWluZyB0bworICAgICAgICBh
dm9pZC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHNpbmNlIHRlc3RpbmcgdGhpcyByZXF1aXJl
cyBhIG5ldHdvcmsgZXh0ZW5zaW9uIHRvIGJlIGluc3RhbGxlZC4KKworICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9O
ZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29h
L05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OmVuYWJsZWQpOgorCiAyMDE5LTEyLTA0ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBOb24tY2FsbGFi
bGUgImhhbmRsZUV2ZW50IiBwcm9wZXJ0eSBpcyBzaWxlbnRseSBpZ25vcmVkCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNTMxMjkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI5NjgsNyArMjk2OCw3IEBACiAJCUExNDgzMkNG
MTg3RjY4NDcwMERBNjNBNiAvKiBXZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ4MzJBMTE4N0Y1MDg3
MDBEQTYzQTYgLyogV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExNDkxREEzMUY4NTlEODcwMDk1
RjVENCAvKiBQYXltZW50U2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTE0OTFEQTIxRjg1OUQ4NzAwOTVGNUQ0IC8qIFBheW1lbnRTZXNzaW9u
LmggKi87IH07CiAJCUExNDk3ODZGMUFCQUYzMzgwMENFRjdFNCAvKiBDb250ZW50RmlsdGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ5Nzg2RDFB
QkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZpbHRlci5oICovOyB9OwotCQlBMTQ5Nzg3MTFBQkFG
M0E1MDBDRUY3RTQgLyogUGxhdGZvcm1Db250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ5Nzg3MDFBQkFGM0E1MDBDRUY3RTQgLyog
UGxhdGZvcm1Db250ZW50RmlsdGVyLmggKi87IH07CisJCUExNDk3ODcxMUFCQUYzQTUwMENFRjdF
NCAvKiBQbGF0Zm9ybUNvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExNDk3ODcwMUFCQUYzQTUwMENFRjdFNCAvKiBQbGF0Zm9ybUNv
bnRlbnRGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlBMTRCQjBBMDFGOTgxM0I4MDA2MDVBMzUgLyogTW9ja1BheW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNEJCMDlFMUY5ODEzQjgw
MDYwNUEzNSAvKiBNb2NrUGF5bWVudC5oICovOyB9OwogCQlBMTVENzUxNjFFNjhGN0M4MDBBMzVG
QkMgLyogQmxvYkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMTVENzUxMzFFNjhGN0IxMDBBMzVGQkMgLyogQmxvYkNhbGxiYWNrLmggKi87
IH07CiAJCUExNUQ3NTFCMUU2OEY4QTMwMEEzNUZCQyAvKiBKU0Jsb2JDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE1RDc1MTgxRTY4Rjgz
NjAwQTM1RkJDIC8qIEpTQmxvYkNhbGxiYWNrLmggKi87IH07CkBAIC0yOTk3LDcgKzI5OTcsNyBA
QAogCQlBMTk1NkYyNTIzMzFBRDUzMDA1N0U5RDIgLyogV0hMU0xGdW5jdGlvbkRlZmluaXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMUJGNkY0
MjFDRDg5QjMwMDIyNzk3OSAvKiBXSExTTEZ1bmN0aW9uRGVmaW5pdGlvbi5oICovOyB9OwogCQlB
MTlBRUEyMTFBQUE4MDg2MDBCNTJCMjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTlBRUExRTFB
QUE4MDZFMDBCNTJCMjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggKi87IH07CiAJ
CUExOUFFQTIyMUFBQTgwOEEwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3Mu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE5QUVB
MUQxQUFBODA2RTAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5jcHAgKi87
IH07Ci0JCUExOUQ5MzRCMUFBMTFCMUUwMEI0NkMyNCAvKiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVu
dEZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTE5RDkzNDkxQUExMUIxRTAwQjQ2QzI0IC8qIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVy
LmggKi87IH07CisJCUExOUQ5MzRCMUFBMTFCMUUwMEI0NkMyNCAvKiBOZXR3b3JrRXh0ZW5zaW9u
Q29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTE5RDkzNDkxQUExMUIxRTAwQjQ2QzI0IC8qIE5ldHdvcmtFeHRlbnNpb25Db250ZW50
RmlsdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQTFBQTlBQjkxRDIzOTExNTAwRkVBREIzIC8qIENvbnRlbnRGaWx0ZXJCbG9ja2VkUGFnZS5o
dG1sIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUFB
OUFCODFEMjM5MTE1MDBGRUFEQjMgLyogQ29udGVudEZpbHRlckJsb2NrZWRQYWdlLmh0bWwgKi87
IH07CiAJCUExQURBRjdEMjM2MEZEM0UwMDlDQjc3NiAvKiBQcmV2aWV3Q29udmVydGVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUFEQUY3
QjIzNjBGRDNEMDA5Q0I3NzYgLyogUHJldmlld0NvbnZlcnRlckNsaWVudC5oICovOyB9OwogCQlB
MUFEQUY3RTIzNjBGRDNFMDA5Q0I3NzYgLyogUHJldmlld0NvbnZlcnRlclByb3ZpZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUFEQUY3QzIzNjBG
RDNFMDA5Q0I3NzYgLyogUHJldmlld0NvbnZlcnRlclByb3ZpZGVyLmggKi87IH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtF
eHRlbnNpb25Db250ZW50RmlsdGVyLmgJKHJldmlzaW9uIDI1MzEyOSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTUzLDYgKzUzLDggQEAgcHVibGljOgogICAgIENvbnRlbnRGaWx0ZXJVbmJs
b2NrSGFuZGxlciB1bmJsb2NrSGFuZGxlcigpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyAg
ICBzdGF0aWMgdm9pZCBzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKGJvb2wgaGFzQ29u
c3VtZWRTYW5kYm94RXh0ZW5zaW9ucykgeyBtX2hhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMg
PSBoYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zOyB9CisKIHByaXZhdGU6CiAgICAgc3RhdGlj
IGJvb2wgZW5hYmxlZCgpOwogCkBAIC02MCw2ICs2Miw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBp
bml0aWFsaXplKGNvbnN0IFVSTCogPSBudWxscHRyKTsKICAgICB2b2lkIGhhbmRsZURlY2lzaW9u
KE5FRmlsdGVyU291cmNlU3RhdHVzLCBOU0RhdGEgKnJlcGxhY2VtZW50RGF0YSk7CiAKKyAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgT3B0aW9uYWw8Ym9vbD4gbV9oYXNDb25zdW1lZFNhbmRib3hF
eHRlbnNpb25zOworCiAgICAgT1NPYmplY3RQdHI8ZGlzcGF0Y2hfcXVldWVfdD4gbV9xdWV1ZTsK
ICAgICBSZXRhaW5QdHI8TlNEYXRhPiBtX3JlcGxhY2VtZW50RGF0YTsKICAgICBSZXRhaW5QdHI8
TkVGaWx0ZXJTb3VyY2U+IG1fbmVGaWx0ZXJTb3VyY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVu
dEZpbHRlci5tbQkocmV2aXNpb24gMjUzMTI5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIubW0JKHdvcmtpbmcgY29weSkKQEAg
LTUxLDkgKzUxLDExIEBAIHN0YXRpYyBpbmxpbmUgTlNEYXRhICpyZXBsYWNlbWVudERhdGFGcm8K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitPcHRpb25hbDxib29sPiBOZXR3b3JrRXh0ZW5zaW9u
Q29udGVudEZpbHRlcjo6bV9oYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zOworCiBib29sIE5l
dHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjplbmFibGVkKCkKIHsKLSAgICBib29sIGVuYWJs
ZWQgPSBbZ2V0TkVGaWx0ZXJTb3VyY2VDbGFzcygpIGZpbHRlclJlcXVpcmVkXTsKKyAgICBib29s
IGVuYWJsZWQgPSBtX2hhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMgPyAqbV9oYXNDb25zdW1l
ZFNhbmRib3hFeHRlbnNpb25zIDogW2dldE5FRmlsdGVyU291cmNlQ2xhc3MoKSBmaWx0ZXJSZXF1
aXJlZF07CiAgICAgTE9HKENvbnRlbnRGaWx0ZXJpbmcsICJOZXR3b3JrRXh0ZW5zaW9uQ29udGVu
dEZpbHRlciBpcyAlcy5cbiIsIGVuYWJsZWQgPyAiZW5hYmxlZCIgOiAibm90IGVuYWJsZWQiKTsK
ICAgICByZXR1cm4gZW5hYmxlZDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTMxMjkpCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDE5LTEyLTA0ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBEZW55IG1hY2ggbG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBz
ZXJ2aWNlcyBpbiB0aGUgV2ViQ29udGVudCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM5MjkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIE1hY2ggbG9va3VwIGFjY2VzcyB0byBu
ZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIG9u
bHkgbmVlZGVkIGlmCisgICAgICAgIE5FRmlsdGVyU291cmNlLmZpbHRlclJlcXVpcmVkIGlzIHRy
dWUuIElmIHRoaXMgaXMgdGhlIGNhc2UsIGlzc3VlIHRoZSBuZWVkZWQgbWFjaCBsb29rdXAKKyAg
ICAgICAgc2FuZGJveCBleHRlbnNpb25zIHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHdoZXJl
IHRoZXkgd2lsbCBiZSBjb25zdW1lZC4gRXZlbnR1YWxseSwgYWxsCisgICAgICAgIHRoZSBjb250
ZW50IGZpbHRlcmluZyBjb2RlIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgTmV0d29ya2luZyBwcm9j
ZXNzLCBidXQgc2luY2UgdGhpcyBpcyBhCisgICAgICAgIGJpZ2dlciB1bmRlcnRha2luZywgd2Ug
Y2FuIGlzc3VlIGV4dGVuc2lvbnMgaW4gdGhlIG1lYW50aW1lIHRvIHN0cmVuZ3RoZW4gdGhlIHNh
bmRib3guCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBw
bGUuV2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUlu
aXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFs
aXplV2ViUHJvY2Vzcyk6CisKIDIwMTktMTItMDQgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFRoZSBVSSBwcm9jZXNzIHNob3VsZCBpc3N1ZSBt
YWNoIHNhbmRib3ggZXh0ZW5zaW9uIHRvICJjb20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNlIgpJ
bmRleDogU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBw
bGUuV2ViS2l0LldlYkNvbnRlbnQuc2IKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9SZXNv
dXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJ
KHJldmlzaW9uIDI1MzEyOSkKKysrIFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9m
aWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCSh3b3JraW5nIGNvcHkpCkBA
IC00NzcsNyArNDc3LDcgQEAKIAogKGRlZmluZS1vbmNlIChuZXR3b3JrLWV4dGVuc2lvbnMtc3Vw
cG9ydCkKICAgICA7OyBOZXR3b3JrIEV4dGVuc2lvbnMgLyBWUE4gaGVscGVyLgotICAgIChhbGxv
dyBtYWNoLWxvb2t1cAorICAgIChhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCByZXBvcnQpICh3aXRo
IHRlbGVtZXRyeSkKICAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubmVoZWxwZXIiKQog
ICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQt
ZmlsdGVyIikpIDs7IDxyZGFyOi8vcHJvYmxlbS80ODQ0MjM4Nz4KICkKQEAgLTk2Niw3ICs5NjYs
NyBAQAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJlcXVpcmUtYWxsCiAgICAgICAgIChleHRl
bnNpb24gImNvbS5hcHBsZS53ZWJraXQuZXh0ZW5zaW9uLm1hY2giKQotICAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5pcGhvbmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50
Y2NkIiAiY29tLmFwcGxlLkFHWENvbXBpbGVyU2VydmljZSIpKSkKKyAgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20uYXBwbGUudGNj
ZCIgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZpY2UiICJjb20uYXBwbGUubmVoZWxwZXIiICJj
b20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpKSkKIAogKG1lZGlhLWNh
cHR1cmUtc3VwcG9ydCkKIApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1MzEyOSkKKysrIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MDAsNiArNDAwLDIwIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZGVjb2QKICAgICBwYXJhbWV0ZXJzLmNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhh
bmRsZSA9IFdURk1vdmUoKmNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYK
IAorI2lmIFBMQVRGT1JNKElPUykKKyAgICBPcHRpb25hbDxPcHRpb25hbDxTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGU+PiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBkZWNvZGVyID4+IG5l
SGVscGVyRXh0ZW5zaW9uSGFuZGxlOworICAgIGlmICghbmVIZWxwZXJFeHRlbnNpb25IYW5kbGUp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9u
SGFuZGxlID0gV1RGTW92ZSgqbmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpOworCisgICAgT3B0aW9u
YWw8T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPj4gbmVTZXNzaW9uTWFuYWdlckV4
dGVuc2lvbkhhbmRsZTsKKyAgICBkZWNvZGVyID4+IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25I
YW5kbGU7CisgICAgaWYgKCFuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9u
SGFuZGxlID0gV1RGTW92ZSgqbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSk7CisjZW5k
aWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNTMxMjkp
CisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIwMCw2ICsyMDAsMTEgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgewogI2lmIFBMQVRGT1JNKElPUykKICAgICBPcHRpb25hbDxTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGU+IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZTsKICNlbmRp
ZgorCisjaWYgUExBVEZPUk0oSU9TKQorICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZT4gbmVIZWxwZXJFeHRlbnNpb25IYW5kbGU7CisgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOworI2VuZGlmCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjUzMTI5
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsMTMgQEAKICNpbXBvcnQgPHN5cy91dHNuYW1l
Lmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPUykKKyNpbXBvcnQgPHBhbC9zcGkvY29jb2Ev
TkVGaWx0ZXJTb3VyY2VTUEkuaD4KKworU09GVF9MSU5LX0ZSQU1FV09SS19PUFRJT05BTChOZXR3
b3JrRXh0ZW5zaW9uKTsKK1NPRlRfTElOS19DTEFTU19PUFRJT05BTChOZXR3b3JrRXh0ZW5zaW9u
LCBORUZpbHRlclNvdXJjZSk7CisjZW5kaWYKKwogTlNTdHJpbmcgKldlYlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EaXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2ViU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRpcmVjdG9yeSI7CiBOU1N0cmluZyAqV2ViS2l0TG9jYWxDYWNoZURlZmF1bHRzS2V5
ID0gQCJXZWJLaXRMb2NhbENhY2hlIjsKIE5TU3RyaW5nICpXZWJLaXRKU0NKSVRFbmFibGVkRGVm
YXVsdHNLZXkgPSBAIldlYktpdEpTQ0pJVEVuYWJsZWREZWZhdWx0c0tleSI7CkBAIC0yOTUsNiAr
MzAyLDE2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICAg
ICAgcGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGNv
bXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZSk7CiAgICAgfQogI2VuZGlmCisgICAgCisjaWYg
UExBVEZPUk0oSU9TKQorICAgIGlmIChbZ2V0TkVGaWx0ZXJTb3VyY2VDbGFzcygpIGZpbHRlclJl
cXVpcmVkXSkgeworICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlOworICAg
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBw
bGUubmVoZWxwZXIiLCBXVEY6Om51bGxvcHQsIGhhbmRsZSk7CisgICAgICAgIHBhcmFtZXRlcnMu
bmVIZWxwZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CisgICAgICAgIFNhbmRi
b3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS5uZXNlc3Np
b25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOworICAgICAg
ICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhh
bmRsZSk7CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3Jt
SW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTMxMjkpCisrKyBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04
MSw2ICs4MSw3IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgor
I2ltcG9ydCA8V2ViQ29yZS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oPgogI2VuZGlm
CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMjI2LDYgKzIyNywxNCBAQCB2b2lkIFdl
YlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAgICAgaWYgKHBhcmFtZXRlcnMuY29t
cGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlKQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpj
b25zdW1lUGVybWFuZW50bHkoKnBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFu
ZGxlKTsKICNlbmRpZgorICAgIAorI2lmIFBMQVRGT1JNKElPUykKKyAgICBpZiAocGFyYW1ldGVy
cy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZSkKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29u
c3VtZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlKTsKKyAg
ICBpZiAocGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKQorICAgICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkoKnBhcmFtZXRlcnMubmVTZXNz
aW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSk7CisgICAgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRG
aWx0ZXI6OnNldEhhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMocGFyYW1ldGVycy5uZUhlbHBl
ckV4dGVuc2lvbkhhbmRsZSAmJiBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25I
YW5kbGUpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRXZWJzaXRl
RGF0YVN0b3JlUGFyYW1ldGVycyhXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385030</attachid>
            <date>2019-12-06 11:50:16 -0800</date>
            <delta_ts>2019-12-09 12:06:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203929-20191206115014.patch</filename>
            <type>text/plain</type>
            <size>16722</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE5LTEyLTA1ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEZW55IG1hY2gg
bG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29u
dGVudCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDM5MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gb3B0aW9uYWwgZ2xvYmFsIGZsYWcgdG8gTmV0d29ya0V4dGVuc2lvbkNvbnRl
bnRGaWx0ZXIgdG8gaW5kaWNhdGUgd2hldGhlciBuZXR3b3JrIGV4dGVuc2lvbiBzYW5kYm94IGV4
dGVuc2lvbnMgaGF2ZQorICAgICAgICBiZWVuIGNvbnN1bWVkLiBJZiB0aGUgZmxhZyBoYXMgYmVl
biBzZXQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgTkVGaWx0ZXJTb3VyY2UuZmlsdGVyUmVx
dWlyZWQsIHNpbmNlIHRoZSBmbGFnIHdpbGwgdGVsbAorICAgICAgICBpZiBmaWx0ZXJpbmcgaXMg
cmVxdWlyZWQuIENoZWNraW5nIE5FRmlsdGVyU291cmNlLmZpbHRlclJlcXVpcmVkIHdpbGwgbGVh
ZCB0byBvdGhlciBtYWNoIGxvb2t1cHMgd2hpY2ggd2UgYXJlIHRyeWluZyB0bworICAgICAgICBh
dm9pZC4KKworICAgICAgICBUaGUgdGVzdCBDb250ZW50RmlsdGVyaW5nLkxhemlseUxvYWRQbGF0
Zm9ybUZyYW1ld29ya3MgaGFzIGJlZW4gbW9kaWZpZWQuCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvTmV0d29y
a0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9OZXR3
b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtF
eHRlbnNpb25Db250ZW50RmlsdGVyOjplbmFibGVkKToKKwogMjAxOS0xMi0wNSAgU2lodWkgTGl1
ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgSURCRGF0YWJhc2VJZGVu
dGlmaWVyOjpkZWJ1Z1N0cmluZyB0byBJREJEYXRhYmFzZUlkZW50aWZpZXI6OmxvZ2dpbmdTdHJp
bmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDI1MzE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjk3MSw3ICsyOTcxLDcg
QEAKIAkJQTE0ODMyQ0YxODdGNjg0NzAwREE2M0E2IC8qIFdlYkNvcmVUaHJlYWRTeXN0ZW1JbnRl
cmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
NDgzMkExMTg3RjUwODcwMERBNjNBNiAvKiBXZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTE0OTFE
QTMxRjg1OUQ4NzAwOTVGNUQ0IC8qIFBheW1lbnRTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ5MURBMjFGODU5RDg3MDA5NUY1RDQgLyog
UGF5bWVudFNlc3Npb24uaCAqLzsgfTsKIAkJQTE0OTc4NkYxQUJBRjMzODAwQ0VGN0U0IC8qIENv
bnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExNDk3ODZEMUFCQUYzMzgwMENFRjdFNCAvKiBDb250ZW50RmlsdGVyLmggKi87IH07Ci0J
CUExNDk3ODcxMUFCQUYzQTUwMENFRjdFNCAvKiBQbGF0Zm9ybUNvbnRlbnRGaWx0ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNDk3ODcwMUFCQUYz
QTUwMENFRjdFNCAvKiBQbGF0Zm9ybUNvbnRlbnRGaWx0ZXIuaCAqLzsgfTsKKwkJQTE0OTc4NzEx
QUJBRjNBNTAwQ0VGN0U0IC8qIFBsYXRmb3JtQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE0OTc4NzAxQUJBRjNBNTAwQ0VGN0U0
IC8qIFBsYXRmb3JtQ29udGVudEZpbHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUExNEJCMEEwMUY5ODEzQjgwMDYwNUEzNSAvKiBNb2NrUGF5
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE0
QkIwOUUxRjk4MTNCODAwNjA1QTM1IC8qIE1vY2tQYXltZW50LmggKi87IH07CiAJCUExNUQ3NTE2
MUU2OEY3QzgwMEEzNUZCQyAvKiBCbG9iQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNUQ3NTEzMUU2OEY3QjEwMEEzNUZCQyAvKiBCbG9i
Q2FsbGJhY2suaCAqLzsgfTsKIAkJQTE1RDc1MUIxRTY4RjhBMzAwQTM1RkJDIC8qIEpTQmxvYkNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MTVENzUxODFFNjhGODM2MDBBMzVGQkMgLyogSlNCbG9iQ2FsbGJhY2suaCAqLzsgfTsKQEAgLTMw
MDAsNyArMzAwMCw3IEBACiAJCUExOTU2RjI1MjMzMUFENTMwMDU3RTlEMiAvKiBXSExTTEZ1bmN0
aW9uRGVmaW5pdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzIxQkY2RjQyMUNEODlCMzAwMjI3OTc5IC8qIFdITFNMRnVuY3Rpb25EZWZpbml0aW9u
LmggKi87IH07CiAJCUExOUFFQTIxMUFBQTgwODYwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50Rmls
dGVyU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExOUFFQTFFMUFBQTgwNkUwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGlu
Z3MuaCAqLzsgfTsKIAkJQTE5QUVBMjIxQUFBODA4QTAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRG
aWx0ZXJTZXR0aW5ncy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTlBRUExRDFBQUE4MDZFMDBCNTJCMjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNl
dHRpbmdzLmNwcCAqLzsgfTsKLQkJQTE5RDkzNEIxQUExMUIxRTAwQjQ2QzI0IC8qIE5ldHdvcmtF
eHRlbnNpb25Db250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBMTlEOTM0OTFBQTExQjFFMDBCNDZDMjQgLyogTmV0d29ya0V4dGVuc2lv
bkNvbnRlbnRGaWx0ZXIuaCAqLzsgfTsKKwkJQTE5RDkzNEIxQUExMUIxRTAwQjQ2QzI0IC8qIE5l
dHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTlEOTM0OTFBQTExQjFFMDBCNDZDMjQgLyogTmV0d29ya0V4
dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlBMUFBOUFCOTFEMjM5MTE1MDBGRUFEQjMgLyogQ29udGVudEZpbHRl
ckJsb2NrZWRQYWdlLmh0bWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExQUE5QUI4MUQyMzkxMTUwMEZFQURCMyAvKiBDb250ZW50RmlsdGVyQmxvY2tl
ZFBhZ2UuaHRtbCAqLzsgfTsKIAkJQTFBREFGN0QyMzYwRkQzRTAwOUNCNzc2IC8qIFByZXZpZXdD
b252ZXJ0ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExQURBRjdCMjM2MEZEM0QwMDlDQjc3NiAvKiBQcmV2aWV3Q29udmVydGVyQ2xpZW50
LmggKi87IH07CiAJCUExQURBRjdFMjM2MEZEM0UwMDlDQjc3NiAvKiBQcmV2aWV3Q29udmVydGVy
UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExQURBRjdDMjM2MEZEM0UwMDlDQjc3NiAvKiBQcmV2aWV3Q29udmVydGVyUHJvdmlkZXIuaCAq
LzsgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNp
b25Db250ZW50RmlsdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaAkocmV2aXNpb24gMjUzMTc0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRG
aWx0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsOCBAQCBwdWJsaWM6CiAgICAgQ29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyIHVuYmxvY2tIYW5kbGVyKCkgY29uc3Qgb3ZlcnJpZGU7
CiAjZW5kaWYKIAorICAgIHN0YXRpYyB2b2lkIHNldEhhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lv
bnMoYm9vbCBoYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKSB7IG1faGFzQ29uc3VtZWRTYW5k
Ym94RXh0ZW5zaW9ucyA9IGhhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnM7IH0KKwogcHJpdmF0
ZToKICAgICBzdGF0aWMgYm9vbCBlbmFibGVkKCk7CiAKQEAgLTYwLDYgKzYyLDggQEAgcHJpdmF0
ZToKICAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgVVJMKiA9IG51bGxwdHIpOwogICAgIHZvaWQg
aGFuZGxlRGVjaXNpb24oTkVGaWx0ZXJTb3VyY2VTdGF0dXMsIE5TRGF0YSAqcmVwbGFjZW1lbnRE
YXRhKTsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBPcHRpb25hbDxib29sPiBtX2hhc0Nv
bnN1bWVkU2FuZGJveEV4dGVuc2lvbnM7CisKICAgICBPU09iamVjdFB0cjxkaXNwYXRjaF9xdWV1
ZV90PiBtX3F1ZXVlOwogICAgIFJldGFpblB0cjxOU0RhdGE+IG1fcmVwbGFjZW1lbnREYXRhOwog
ICAgIFJldGFpblB0cjxORUZpbHRlclNvdXJjZT4gbV9uZUZpbHRlclNvdXJjZTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVy
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtF
eHRlbnNpb25Db250ZW50RmlsdGVyLm1tCShyZXZpc2lvbiAyNTMxNzQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5tbQkod29y
a2luZyBjb3B5KQpAQCAtNTEsOSArNTEsMTEgQEAgc3RhdGljIGlubGluZSBOU0RhdGEgKnJlcGxh
Y2VtZW50RGF0YUZybwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK09wdGlvbmFsPGJvb2w+IE5l
dHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjptX2hhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lv
bnM7CisKIGJvb2wgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OmVuYWJsZWQoKQogewot
ICAgIGJvb2wgZW5hYmxlZCA9IFtnZXRORUZpbHRlclNvdXJjZUNsYXNzKCkgZmlsdGVyUmVxdWly
ZWRdOworICAgIGJvb2wgZW5hYmxlZCA9IG1faGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyA/
ICptX2hhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMgOiBbZ2V0TkVGaWx0ZXJTb3VyY2VDbGFz
cygpIGZpbHRlclJlcXVpcmVkXTsKICAgICBMT0coQ29udGVudEZpbHRlcmluZywgIk5ldHdvcmtF
eHRlbnNpb25Db250ZW50RmlsdGVyIGlzICVzLlxuIiwgZW5hYmxlZCA/ICJlbmFibGVkIiA6ICJu
b3QgZW5hYmxlZCIpOwogICAgIHJldHVybiBlbmFibGVkOwogfQpJbmRleDogU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI1MzIxMSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTktMTItMDYgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIERlbnkgbWFjaCBsb29rdXAgYWNjZXNzIHRvIG5ldHdv
cmsgZXh0ZW5zaW9uIHNlcnZpY2VzIGluIHRoZSBXZWJDb250ZW50IHNhbmRib3gKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzkyOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hY2ggbG9va3VwIGFjY2Vz
cyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNz
IGlzIG9ubHkgbmVlZGVkIGlmCisgICAgICAgIE5FRmlsdGVyU291cmNlLmZpbHRlclJlcXVpcmVk
IGlzIHRydWUuIElmIHRoaXMgaXMgdGhlIGNhc2UsIGlzc3VlIHRoZSBuZWVkZWQgbWFjaCBsb29r
dXAKKyAgICAgICAgc2FuZGJveCBleHRlbnNpb25zIHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3Ms
IHdoZXJlIHRoZXkgd2lsbCBiZSBjb25zdW1lZC4gRXZlbnR1YWxseSwgYWxsCisgICAgICAgIHRo
ZSBjb250ZW50IGZpbHRlcmluZyBjb2RlIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgTmV0d29ya2lu
ZyBwcm9jZXNzLCBidXQgc2luY2UgdGhpcyBpcyBhCisgICAgICAgIGJpZ2dlciB1bmRlcnRha2lu
Zywgd2UgY2FuIGlzc3VlIGV4dGVuc2lvbnMgaW4gdGhlIG1lYW50aW1lIHRvIHN0cmVuZ3RoZW4g
dGhlIHNhbmRib3guCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9j
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0
Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1J
bml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2Vi
UHJvY2Vzcy5zYi5pbjoKKwogMjAxOS0xMi0wNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFN0b3AgdXNpbmcgcmVzZXJ2ZUNhcGFjaXR5KCkgLyByZXNlcnZlSW5p
dGlhbENhcGFjaXR5KCkgaW4gSVBDIGRlY29kZXJzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291
cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9z
L2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjUzMTc0KQorKysgU291
cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0
LldlYkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkKQEAgLTQ3Nyw3ICs0NzcsNyBAQAogCiAoZGVm
aW5lLW9uY2UgKG5ldHdvcmstZXh0ZW5zaW9ucy1zdXBwb3J0KQogICAgIDs7IE5ldHdvcmsgRXh0
ZW5zaW9ucyAvIFZQTiBoZWxwZXIuCi0gICAgKGFsbG93IG1hY2gtbG9va3VwCisgICAgKGFsbG93
IG1hY2gtbG9va3VwICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQogICAgICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5uZWhlbHBlciIpCiAgICAgICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiKSkgOzsgPHJkYXI6Ly9wcm9i
bGVtLzQ4NDQyMzg3PgogKQpAQCAtOTY2LDcgKzk2Niw3IEBACiAoYWxsb3cgbWFjaC1sb29rdXAK
ICAgICAocmVxdWlyZS1hbGwKICAgICAgICAgKGV4dGVuc2lvbiAiY29tLmFwcGxlLndlYmtpdC5l
eHRlbnNpb24ubWFjaCIpCi0gICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmlwaG9uZS5h
eHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUuQUdYQ29tcGls
ZXJTZXJ2aWNlIikpKQorICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pcGhvbmUuYXhz
ZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2NkIiAiY29tLmFwcGxlLkFHWENvbXBpbGVy
U2VydmljZSIgImNvbS5hcHBsZS5uZWhlbHBlciIgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2Vy
LmNvbnRlbnQtZmlsdGVyIikpKQogCiAobWVkaWEtY2FwdHVyZS1zdXBwb3J0KQogCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcAkocmV2aXNpb24gMjUzMTc0KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Miw2ICsxNjIs
MTEgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogI2lmIFBMQVRG
T1JNKElPUykKICAgICBlbmNvZGVyIDw8IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZTsK
ICNlbmRpZgorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGVuY29kZXIgPDwgbmVIZWxw
ZXJFeHRlbnNpb25IYW5kbGU7CisgICAgZW5jb2RlciA8PCBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5z
aW9uSGFuZGxlOworI2VuZGlmCiB9CiAKIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKQEAgLTQwMCw2ICs0MDUsMjAgQEAgYm9vbCBXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0
ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlKTsK
ICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8U2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlPj4gbmVIZWxwZXJFeHRlbnNpb25IYW5kbGU7CisgICAgZGVj
b2RlciA+PiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBpZiAoIW5lSGVscGVyRXh0ZW5z
aW9uSGFuZGxlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5uZUhlbHBl
ckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlKTsKKwor
ICAgIE9wdGlvbmFsPE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4+IG5lU2Vzc2lv
bk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CisgICAgZGVjb2RlciA+PiBuZVNlc3Npb25NYW5hZ2Vy
RXh0ZW5zaW9uSGFuZGxlOworICAgIGlmICghbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRs
ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdl
ckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5k
bGUpOworI2VuZGlmCisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApJbmRleDogU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNp
b24gMjUzMTc0KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAsNiArMjAwLDExIEBAIHN0cnVjdCBXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICNpZiBQTEFURk9STShJT1MpCiAgICAgT3B0aW9u
YWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5k
bGU7CiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIE9wdGlvbmFsPFNhbmRib3hF
eHRlbnNpb246OkhhbmRsZT4gbmVIZWxwZXJFeHRlbnNpb25IYW5kbGU7CisgICAgT3B0aW9uYWw8
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxl
OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2
aXNpb24gMjUzMTc0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsMTMgQEAKICNpbXBvcnQg
PHN5cy91dHNuYW1lLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorI2ltcG9ydCA8
cGFsL3NwaS9jb2NvYS9ORUZpbHRlclNvdXJjZVNQSS5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JL
X09QVElPTkFMKE5ldHdvcmtFeHRlbnNpb24pOworU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKE5l
dHdvcmtFeHRlbnNpb24sIE5FRmlsdGVyU291cmNlKTsKKyNlbmRpZgorCiBOU1N0cmluZyAqV2Vi
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeURlZmF1bHRzS2V5ID0gQCJXZWJTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5IjsKIE5TU3RyaW5nICpXZWJLaXRMb2NhbENh
Y2hlRGVmYXVsdHNLZXkgPSBAIldlYktpdExvY2FsQ2FjaGUiOwogTlNTdHJpbmcgKldlYktpdEpT
Q0pJVEVuYWJsZWREZWZhdWx0c0tleSA9IEAiV2ViS2l0SlNDSklURW5hYmxlZERlZmF1bHRzS2V5
IjsKQEAgLTI5NSw2ICszMDIsMTYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0
aWFsaXplVwogICAgICAgICBwYXJhbWV0ZXJzLmNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRs
ZSA9IFdURk1vdmUoY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlKTsKICAgICB9CiAjZW5k
aWYKKyAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBpZiAoW2dldE5FRmlsdGVyU291cmNl
Q2xhc3MoKSBmaWx0ZXJSZXF1aXJlZF0pIHsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlIGhhbmRsZTsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFj
aExvb2t1cCgiY29tLmFwcGxlLm5laGVscGVyIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOworICAg
ICAgICBwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShoYW5kbGUp
OworICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJj
b20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIsIFdURjo6bnVsbG9wdCwg
aGFuZGxlKTsKKyAgICAgICAgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFu
ZGxlID0gV1RGTW92ZShoYW5kbGUpOworICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nl
c3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4JKHJldmlzaW9uIDI1MzE3
NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5p
bgkod29ya2luZyBjb3B5KQpAQCAtODM3LDYgKzgzNywxMSBAQAogICAgIChhbGxvdyBkZXZpY2Ut
Y2FtZXJhKSkKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKKyhhbGxvdyBtYWNoLWxvb2t1cAor
ICAgIChyZXF1aXJlLWFsbAorICAgICAgICAoZXh0ZW5zaW9uICJjb20uYXBwbGUud2Via2l0LmV4
dGVuc2lvbi5tYWNoIikKKyAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubmVoZWxwZXIi
ICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpKSkKKwogKHdoZW4g
KGRlZmluZWQ/ICdzeXNjYWxsLXVuaXgpCiAgICAgKGRlbnkgc3lzY2FsbC11bml4ICh3aXRoIHNl
bmQtc2lnbmFsIFNJR0tJTEwpKQogICAgIChhbGxvdyBzeXNjYWxsLXVuaXgKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2
aXNpb24gMjUzMTc0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTE2LDYgKzExNiwxMCBAQAogI2ltcG9ydCA8
b3Mvc3RhdGVfcHJpdmF0ZS5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyNpbXBv
cnQgPFdlYkNvcmUvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaD4KKyNlbmRpZgorCiAj
aWYgSEFWRShDU0NIRUNLRklYRElTQUJMRSkKIGV4dGVybiAiQyIgdm9pZCBfQ1NDaGVja0ZpeERp
c2FibGUoKTsKICNlbmRpZgpAQCAtMjI2LDYgKzIzMCwxNCBAQCB2b2lkIFdlYlByb2Nlc3M6OnBs
YXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAgICAgaWYgKHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNl
RXh0ZW5zaW9uSGFuZGxlKQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFu
ZW50bHkoKnBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRp
ZgorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlmIChwYXJhbWV0ZXJzLm5lSGVscGVy
RXh0ZW5zaW9uSGFuZGxlKQorICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFu
ZW50bHkoKnBhcmFtZXRlcnMubmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpOworICAgIGlmIChwYXJh
bWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUpCisgICAgICAgIFNhbmRib3hF
eHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgqcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2Vy
RXh0ZW5zaW9uSGFuZGxlKTsKKyAgICBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6c2V0
SGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyhwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9u
SGFuZGxlICYmIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSk7Cisj
ZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldFdlYnNpdGVEYXRhU3RvcmVQ
YXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKSW5k
ZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI1MzIxMSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE3IEBACisyMDE5LTEyLTA2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4K
KworICAgICAgICBbaU9TXSBEZW55IG1hY2ggbG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVu
c2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29udGVudCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM5MjkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRoIHRoaXMgcGF0Y2gsIHRoZSBOZXR3
b3JrRXh0ZW5zaW9uIGZyYW1ld29yayB3aWxsIG5vdCBiZSBsb2FkZWQgaW4gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyB1bmxlc3MgW05FRmlsdGVyU291cmNlIGZpbHRlclJlcXVpcmVkXQorICAgICAg
ICByZXR1cm5zIFlFUy4gU3dpenpsZSB0aGlzIG1ldGhvZCB0byByZXR1cm4gWUVTIGluIHRoZSBV
SSBwcm9jZXNzLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9D
b250ZW50RmlsdGVyaW5nLm1tOgorICAgICAgICAoZmlsdGVyUmVxdWlyZWQpOgorICAgICAgICAo
VEVTVCk6CisKIDIwMTktMTItMDUgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29t
PgogCiAgICAgICAgIFB5dGhvbiAzOiBBZGQgc3VwcG9ydCB0byB3ZWJraXRweS5icm93c2VycGVy
ZmRhc2gKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29udGVu
dEZpbHRlcmluZy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0NvbnRlbnRGaWx0ZXJpbmcubW0JKHJldmlzaW9uIDI1MzE3NCkKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29udGVudEZpbHRlcmluZy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMzgsNyArMzgsMTIgQEAKICNpbXBvcnQgPFdlYktpdC9fV0tEb3dubG9h
ZERlbGVnYXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmg+
CiAjaW1wb3J0IDxXZWJLaXQvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaD4KKyNpbXBvcnQgPHBh
bC9zcGkvY29jb2EvTkVGaWx0ZXJTb3VyY2VTUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIu
aD4KKyNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX09Q
VElPTkFMKE5ldHdvcmtFeHRlbnNpb24pOworU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKE5ldHdv
cmtFeHRlbnNpb24sIE5FRmlsdGVyU291cmNlKTsKIAogdXNpbmcgRGVjaXNpb24gPSBXZWJDb3Jl
OjpNb2NrQ29udGVudEZpbHRlclNldHRpbmdzOjpEZWNpc2lvbjsKIHVzaW5nIERlY2lzaW9uUG9p
bnQgPSBXZWJDb3JlOjpNb2NrQ29udGVudEZpbHRlclNldHRpbmdzOjpEZWNpc2lvblBvaW50OwpA
QCAtMzc1LDggKzM4MCwxNyBAQCAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
ZGlkCiAKIEBlbmQKIAorc3RhdGljIEJPT0wgZmlsdGVyUmVxdWlyZWQoaWQgc2VsZiwgU0VMIF9j
bWQpCit7CisgICAgcmV0dXJuIFlFUzsKK30KKwogVEVTVChDb250ZW50RmlsdGVyaW5nLCBMYXpp
bHlMb2FkUGxhdGZvcm1GcmFtZXdvcmtzKQogeworICAgIC8vIFN3aXp6bGUgW05FRmlsdGVyU291
cmNlIGZpbHRlclJlcXVpcmVkXSB0byByZXR1cm4gWUVTIGluIHRoZSBVSSBwcm9jZXNzIHNpbmNl
IE5ldHdvcmtFeHRlbnNpb24gd2lsbCBub3QgYmUgbG9hZGVkIG90aGVyd2lzZS4KKyAgICBNZXRo
b2QgbWV0aG9kID0gY2xhc3NfZ2V0Q2xhc3NNZXRob2QoZ2V0TkVGaWx0ZXJTb3VyY2VDbGFzcygp
LCBAc2VsZWN0b3IoZmlsdGVyUmVxdWlyZWQpKTsKKyAgICBtZXRob2Rfc2V0SW1wbGVtZW50YXRp
b24obWV0aG9kLCByZWludGVycHJldF9jYXN0PElNUD4oZmlsdGVyUmVxdWlyZWQpKTsKKwogICAg
IEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBhdXRvIGNvbnRyb2xsZXIgPSBhZG9wdE5TKFtb
TGF6aWx5TG9hZFBsYXRmb3JtRnJhbWV3b3Jrc0NvbnRyb2xsZXIgYWxsb2NdIGluaXRdKTsKICAg
ICAgICAgW2NvbnRyb2xsZXIgZXhwZWN0UGFyZW50YWxDb250cm9sc0xvYWRlZDpOTyBuZXR3b3Jr
RXh0ZW5zaW9uTG9hZGVkOk5PXTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385178</attachid>
            <date>2019-12-09 12:06:15 -0800</date>
            <delta_ts>2019-12-10 13:58:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203929-20191209120614.patch</filename>
            <type>text/plain</type>
            <size>19577</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE5LTEyLTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEZW55IG1hY2gg
bG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29u
dGVudCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDM5MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSBnbG9iYWwgZmxhZyB0byBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlciB0
byBpbmRpY2F0ZSB3aGV0aGVyIG5ldHdvcmsgZXh0ZW5zaW9uIHNhbmRib3ggZXh0ZW5zaW9ucyBo
YXZlCisgICAgICAgIGJlZW4gY29uc3VtZWQuIElmIHRoZSBmbGFnIGhhcyBiZWVuIHNldCwgdGhl
cmUgaXMgbm8gbmVlZCB0byBjaGVjayBORUZpbHRlclNvdXJjZS5maWx0ZXJSZXF1aXJlZCwgc2lu
Y2UgdGhlIGZsYWcKKyAgICAgICAgd2lsbCB0ZWxsIGlmIGZpbHRlcmluZyBpcyByZXF1aXJlZC4g
Q2hlY2tpbmcgTkVGaWx0ZXJTb3VyY2UuZmlsdGVyUmVxdWlyZWQgd2lsbCBsZWFkIHRvIG90aGVy
IG1hY2ggbG9va3VwcyB3aGljaAorICAgICAgICB3ZSBhcmUgdHJ5aW5nIHRvIGF2b2lkLgorCisg
ICAgICAgIFRoZSB0ZXN0IENvbnRlbnRGaWx0ZXJpbmcuTGF6aWx5TG9hZFBsYXRmb3JtRnJhbWV3
b3JrcyBoYXMgYmVlbiBtb2RpZmllZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9u
Q29udGVudEZpbHRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNp
b25Db250ZW50RmlsdGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0V4dGVuc2lvbkNv
bnRlbnRGaWx0ZXI6OmVuYWJsZWQpOgorCiAyMDE5LTEyLTA5ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBzcGVjdWxhdGl2ZSB0dk9T
IGJ1aWxkIGZpeCBhZnRlciByMjUzMjMxLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjUzMjk2KQorKysgU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0yOTcyLDcgKzI5NzIsNyBAQAogCQlBMTQ4MzJDRjE4N0Y2ODQ3MDBEQTYzQTYgLyog
V2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTE0ODMyQTExODdGNTA4NzAwREE2M0E2IC8qIFdlYkNvcmVU
aHJlYWRTeXN0ZW1JbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlBMTQ5MURBMzFGODU5RDg3MDA5NUY1RDQgLyogUGF5bWVudFNlc3Np
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNDkx
REEyMUY4NTlEODcwMDk1RjVENCAvKiBQYXltZW50U2Vzc2lvbi5oICovOyB9OwogCQlBMTQ5Nzg2
RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE0OTc4NkQxQUJBRjMzODAwQ0VGN0U0IC8qIENv
bnRlbnRGaWx0ZXIuaCAqLzsgfTsKLQkJQTE0OTc4NzExQUJBRjNBNTAwQ0VGN0U0IC8qIFBsYXRm
b3JtQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE0OTc4NzAxQUJBRjNBNTAwQ0VGN0U0IC8qIFBsYXRmb3JtQ29udGVudEZpbHRl
ci5oICovOyB9OworCQlBMTQ5Nzg3MTFBQkFGM0E1MDBDRUY3RTQgLyogUGxhdGZvcm1Db250ZW50
RmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MTQ5Nzg3MDFBQkFGM0E1MDBDRUY3RTQgLyogUGxhdGZvcm1Db250ZW50RmlsdGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTE0QkIwQTAxRjk4
MTNCODAwNjA1QTM1IC8qIE1vY2tQYXltZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTRCQjA5RTFGOTgxM0I4MDA2MDVBMzUgLyogTW9ja1BheW1l
bnQuaCAqLzsgfTsKIAkJQTE1RDc1MTYxRTY4RjdDODAwQTM1RkJDIC8qIEJsb2JDYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE1RDc1MTMx
RTY4RjdCMTAwQTM1RkJDIC8qIEJsb2JDYWxsYmFjay5oICovOyB9OwogCQlBMTVENzUxQjFFNjhG
OEEzMDBBMzVGQkMgLyogSlNCbG9iQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNUQ3NTE4MUU2OEY4MzYwMEEzNUZCQyAvKiBKU0Jsb2JD
YWxsYmFjay5oICovOyB9OwpAQCAtMzAwMSw3ICszMDAxLDcgQEAKIAkJQTE5NTZGMjUyMzMxQUQ1
MzAwNTdFOUQyIC8qIFdITFNMRnVuY3Rpb25EZWZpbml0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjFCRjZGNDIxQ0Q4OUIzMDAyMjc5NzkgLyog
V0hMU0xGdW5jdGlvbkRlZmluaXRpb24uaCAqLzsgfTsKIAkJQTE5QUVBMjExQUFBODA4NjAwQjUy
QjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE5QUVBMUUxQUFBODA2RTAwQjUyQjI1IC8qIEpT
TW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oICovOyB9OwogCQlBMTlBRUEyMjFBQUE4MDhBMDBC
NTJCMjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExOUFFQTFEMUFBQTgwNkUwMEI1MkIyNSAv
KiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwICovOyB9OwotCQlBMTlEOTM0QjFBQTEx
QjFFMDBCNDZDMjQgLyogTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExOUQ5MzQ5MUFBMTFCMUUwMEI0
NkMyNCAvKiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oICovOyB9OworCQlBMTlEOTM0
QjFBQTExQjFFMDBCNDZDMjQgLyogTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExOUQ5MzQ5MUFBMTFC
MUUwMEI0NkMyNCAvKiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExQUE5QUI5MUQyMzkxMTUw
MEZFQURCMyAvKiBDb250ZW50RmlsdGVyQmxvY2tlZFBhZ2UuaHRtbCBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFBQTlBQjgxRDIzOTExNTAwRkVBREIz
IC8qIENvbnRlbnRGaWx0ZXJCbG9ja2VkUGFnZS5odG1sICovOyB9OwogCQlBMUFEQUY3RDIzNjBG
RDNFMDA5Q0I3NzYgLyogUHJldmlld0NvbnZlcnRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFBREFGN0IyMzYwRkQzRDAwOUNCNzc2IC8q
IFByZXZpZXdDb252ZXJ0ZXJDbGllbnQuaCAqLzsgfTsKIAkJQTFBREFGN0UyMzYwRkQzRTAwOUNC
Nzc2IC8qIFByZXZpZXdDb252ZXJ0ZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFBREFGN0MyMzYwRkQzRTAwOUNCNzc2IC8qIFByZXZp
ZXdDb252ZXJ0ZXJQcm92aWRlci5oICovOyB9OwpAQCAtMTY3NDcsMTEgKzE2NzQ3LDExIEBACiAJ
CQkJMTE5OUZBNTkyMDhFM0M3RjAwMjM1OENDIC8qIERpc3BsYXlCb3guaCAqLywKIAkJCQlFNEZC
NEIzNTIzOUJFQjEwMDAzQzMzNkEgLyogRGlzcGxheUlubGluZUNvbnRlbnQuY3BwICovLAogCQkJ
CUU0NTFDNjMzMjM5NDA1OEUwMDk5MzE5MCAvKiBEaXNwbGF5SW5saW5lQ29udGVudC5oICovLAor
CQkJCTExMkZCMzUwMjM5QzIzQzQwMDg3MDU0QSAvKiBEaXNwbGF5SW5saW5lUmVjdC5oICovLAog
CQkJCTZGQjQ3RTYxMjI3NzQyNUEwMEM3QkNCMCAvKiBEaXNwbGF5TGluZUJveC5oICovLAogCQkJ
CTZGNzc4Njg1MjM0OTFBQzYwMDREOTYzNiAvKiBEaXNwbGF5UGFpbnRlci5jcHAgKi8sCiAJCQkJ
NkY3Nzg2ODcyMzQ5MUFENzAwNEQ5NjM2IC8qIERpc3BsYXlQYWludGVyLmggKi8sCiAJCQkJNkZE
OUNENTIyMjdFMjFDODAwRTUzOTU3IC8qIERpc3BsYXlSZWN0LmggKi8sCi0JCQkJMTEyRkIzNTAy
MzlDMjNDNDAwODcwNTRBIC8qIERpc3BsYXlJbmxpbmVSZWN0LmggKi8sCiAJCQkJNkZDRTFBMTgy
MjYxOEFCMzAwNEYwMzQzIC8qIERpc3BsYXlSdW4uaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gZGlz
cGxheXRyZWU7CkBAIC0yOTYwNiw2ICsyOTYwNiw4IEBACiAJCQkJN0VEQUFGQzkxOUEyQ0NEQzAw
MzRERkQxIC8qIERpc2tDYWNoZU1vbml0b3JDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTE5
OUZBNUIyMDhFM0M3RjAwMjM1OENDIC8qIERpc3BsYXlCb3guaCBpbiBIZWFkZXJzICovLAogCQkJ
CUU0NTFDNjM0MjM5NDA1OEYwMDk5MzE5MCAvKiBEaXNwbGF5SW5saW5lQ29udGVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMTEyRkIzNTIyMzlDMjNDNDAwODcwNTRBIC8qIERpc3BsYXlJbmxpbmVS
ZWN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk2RkI0N0U2MzIyNzc0MjVBMDBDN0JDQjAgLyogRGlz
cGxheUxpbmVCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTVGQkQzMUMzREQ1MUUwMDA3QTJD
QSAvKiBEaXNwbGF5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFNUZCRDUxQzNERDUxRTAw
MDdBMkNBIC8qIERpc3BsYXlMaXN0SXRlbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTVGQkQ3
MUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdFJlY29yZGVyLmggaW4gSGVhZGVycyAqLywK
QEAgLTMwMjY1LDcgKzMwMjY3LDYgQEAKIAkJCQkxMTVDRkE3RTIwOEI4RTEwMDAxRTY5OTEgLyog
SW5saW5lRm9ybWF0dGluZ1N0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RkU3Q0ZBMjIxNzdF
RUYyMDA1QjE1NzMgLyogSW5saW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNzg5MTYx
MTIwRDYwODAwNjBFQ0U1IC8qIElubGluZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKLQkJCQk2
RkI0N0U2MzIyNzc0MjVBMDBDN0JDQjAgLyogRGlzcGxheUxpbmVCb3guaCBpbiBIZWFkZXJzICov
LAogCQkJCTZGRTE5ODE3MjE3ODM5N0MwMDQ0NkYwOCAvKiBJbmxpbmVMaW5lQnJlYWtlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNkYwQ0Q2OTUyMjlFRDMyNzAwQzU5OTRFIC8qIElubGluZUxpbmVC
dWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RjM2MEU1MDIzOTk5NDIxMDAxNTEyQTcgLyog
SW5saW5lU29mdExpbmVCcmVha0l0ZW0uaCBpbiBIZWFkZXJzICovLApAQCAtMzE5MjcsNyArMzE5
MjgsNiBAQAogCQkJCUJDNUVCNjY4MEU4MUNCNzEwMEIyNTk2NSAvKiBSZW5kZXJTdHlsZUNvbnN0
YW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM2NzA4QzExMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJl
bmRlclNWR0Jsb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzY3MDhDMzEyRDlDQTRCMDAwNDQy
MzQgLyogUmVuZGVyU1ZHQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQkxMTJGQjM1MjIz
OUMyM0M0MDA4NzA1NEEgLyogRGlzcGxheUlubGluZVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJCMzY1Qzg0MTUyNTExOUUwMDkxRDI3QiAvKiBSZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0M0MwOTJCQzEyRDlFNEVFMDBBOTg5QzMgLyogUmVuZGVyU1ZHRm9yZWlnbk9i
amVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM2NzA4QzUxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJl
bmRlclNWR0dyYWRpZW50U3RvcC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250
ZW50RmlsdGVyLmgJKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTUzLDYgKzUzLDggQEAgcHVibGljOgogICAgIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlciB1
bmJsb2NrSGFuZGxlcigpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgdm9pZCBzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKGJvb2wpOwor
CiBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGVuYWJsZWQoKTsKIApAQCAtNjAsNiArNjIsMTQg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgVVJMKiA9IG51bGxwdHIpOwog
ICAgIHZvaWQgaGFuZGxlRGVjaXNpb24oTkVGaWx0ZXJTb3VyY2VTdGF0dXMsIE5TRGF0YSAqcmVw
bGFjZW1lbnREYXRhKTsKIAorICAgIGVudW0gY2xhc3MgU2FuZGJveEV4dGVuc2lvbnNTdGF0ZSA6
IHVpbnQ4X3QgeworICAgICAgICBDb25zdW1lZCwKKyAgICAgICAgTm90Q29uc3VtZWQsCisgICAg
ICAgIE5vdFNldAorICAgIH07CisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU2FuZGJveEV4
dGVuc2lvbnNTdGF0ZSBtX3NhbmRib3hFeHRlbnNpb25zU3RhdGU7CisKICAgICBPU09iamVjdFB0
cjxkaXNwYXRjaF9xdWV1ZV90PiBtX3F1ZXVlOwogICAgIFJldGFpblB0cjxOU0RhdGE+IG1fcmVw
bGFjZW1lbnREYXRhOwogICAgIFJldGFpblB0cjxORUZpbHRlclNvdXJjZT4gbV9uZUZpbHRlclNv
dXJjZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNp
b25Db250ZW50RmlsdGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLm1tCShyZXZpc2lvbiAyNTMyOTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVu
dEZpbHRlci5tbQkod29ya2luZyBjb3B5KQpAQCAtNTEsOSArNTEsMjIgQEAgc3RhdGljIGlubGlu
ZSBOU0RhdGEgKnJlcGxhY2VtZW50RGF0YUZybwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK05l
dHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjpTYW5kYm94RXh0ZW5zaW9uc1N0YXRlIE5ldHdv
cmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjptX3NhbmRib3hFeHRlbnNpb25zU3RhdGUgPSBTYW5k
Ym94RXh0ZW5zaW9uc1N0YXRlOjpOb3RTZXQ7CisKIGJvb2wgTmV0d29ya0V4dGVuc2lvbkNvbnRl
bnRGaWx0ZXI6OmVuYWJsZWQoKQogewotICAgIGJvb2wgZW5hYmxlZCA9IFtnZXRORUZpbHRlclNv
dXJjZUNsYXNzKCkgZmlsdGVyUmVxdWlyZWRdOworICAgIGJvb2wgZW5hYmxlZCA9IGZhbHNlOwor
ICAgIHN3aXRjaCAobV9zYW5kYm94RXh0ZW5zaW9uc1N0YXRlKSB7CisgICAgY2FzZSBTYW5kYm94
RXh0ZW5zaW9uc1N0YXRlOjpDb25zdW1lZDoKKyAgICAgICAgZW5hYmxlZCA9IHRydWU7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgU2FuZGJveEV4dGVuc2lvbnNTdGF0ZTo6Tm90Q29uc3VtZWQ6
CisgICAgICAgIGVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTYW5k
Ym94RXh0ZW5zaW9uc1N0YXRlOjpOb3RTZXQ6CisgICAgICAgIGVuYWJsZWQgPSBbZ2V0TkVGaWx0
ZXJTb3VyY2VDbGFzcygpIGZpbHRlclJlcXVpcmVkXTsKKyAgICAgICAgYnJlYWs7CisgICAgfQog
ICAgIExPRyhDb250ZW50RmlsdGVyaW5nLCAiTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIg
aXMgJXMuXG4iLCBlbmFibGVkID8gImVuYWJsZWQiIDogIm5vdCBlbmFibGVkIik7CiAgICAgcmV0
dXJuIGVuYWJsZWQ7CiB9CkBAIC0yMTUsNiArMjI4LDExIEBAIHZvaWQgTmV0d29ya0V4dGVuc2lv
bkNvbnRlbnRGaWx0ZXI6OmhhbmQKICNlbmRpZgogfQogCit2b2lkIE5ldHdvcmtFeHRlbnNpb25D
b250ZW50RmlsdGVyOjpzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKGJvb2wgaGFzQ29u
c3VtZWRTYW5kYm94RXh0ZW5zaW9ucykKK3sKKyAgICBtX3NhbmRib3hFeHRlbnNpb25zU3RhdGUg
PSAoaGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyA/IFNhbmRib3hFeHRlbnNpb25zU3RhdGU6
OkNvbnN1bWVkIDogU2FuZGJveEV4dGVuc2lvbnNTdGF0ZTo6Tm90Q29uc3VtZWQpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBIQVZFKE5FVFdPUktfRVhURU5TSU9O
KQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMTItMDkgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIERlbnkgbWFjaCBs
b29rdXAgYWNjZXNzIHRvIG5ldHdvcmsgZXh0ZW5zaW9uIHNlcnZpY2VzIGluIHRoZSBXZWJDb250
ZW50IHNhbmRib3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzkyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1hY2ggbG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0
aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIG9ubHkgbmVlZGVkIGlmCisgICAgICAgIE5FRmlsdGVy
U291cmNlLmZpbHRlclJlcXVpcmVkIGlzIHRydWUuIElmIHRoaXMgaXMgdGhlIGNhc2UsIGlzc3Vl
IHRoZSBuZWVkZWQgbWFjaCBsb29rdXAKKyAgICAgICAgc2FuZGJveCBleHRlbnNpb25zIHRvIHRo
ZSBXZWJDb250ZW50IHByb2Nlc3MsIHdoZXJlIHRoZXkgd2lsbCBiZSBjb25zdW1lZC4gRXZlbnR1
YWxseSwgYWxsCisgICAgICAgIHRoZSBjb250ZW50IGZpbHRlcmluZyBjb2RlIHNob3VsZCBiZSBt
b3ZlZCB0byB0aGUgTmV0d29ya2luZyBwcm9jZXNzLCBidXQgc2luY2UgdGhpcyBpcyBhCisgICAg
ICAgIGJpZ2dlciB1bmRlcnRha2luZywgd2UgY2FuIGlzc3VlIGV4dGVuc2lvbnMgaW4gdGhlIG1l
YW50aW1lIHRvIHN0cmVuZ3RoZW4gdGhlIHNhbmRib3guCisKKyAgICAgICAgKiBSZXNvdXJjZXMv
U2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAg
ICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjoKKwogMjAxOS0xMi0wOSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBm
aXggdGhlIG1hY0NhdGFseXN0IGJ1aWxkIGFmdGVyIHIyNTMyNjcKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50LnNiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9m
aWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCShyZXZpc2lvbiAyNTMyOTYp
CisrKyBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudC5zYgkod29ya2luZyBjb3B5KQpAQCAtNDc3LDcgKzQ3Nyw3IEBA
CiAKIChkZWZpbmUtb25jZSAobmV0d29yay1leHRlbnNpb25zLXN1cHBvcnQpCiAgICAgOzsgTmV0
d29yayBFeHRlbnNpb25zIC8gVlBOIGhlbHBlci4KLSAgICAoYWxsb3cgbWFjaC1sb29rdXAKKyAg
ICAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCiAgICAg
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLm5laGVscGVyIikKICAgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpKSA7OyA8cmRh
cjovL3Byb2JsZW0vNDg0NDIzODc+CiApCkBAIC05NjYsNyArOTY2LDcgQEAKIChhbGxvdyBtYWNo
LWxvb2t1cAogICAgIChyZXF1aXJlLWFsbAogICAgICAgICAoZXh0ZW5zaW9uICJjb20uYXBwbGUu
d2Via2l0LmV4dGVuc2lvbi5tYWNoIikKLSAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
aXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20uYXBwbGUudGNjZCIgImNvbS5hcHBsZS5B
R1hDb21waWxlclNlcnZpY2UiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmlw
aG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUuQUdY
Q29tcGlsZXJTZXJ2aWNlIiAiY29tLmFwcGxlLm5laGVscGVyIiAiY29tLmFwcGxlLm5lc2Vzc2lv
bm1hbmFnZXIuY29udGVudC1maWx0ZXIiKSkpCiAKIChtZWRpYS1jYXB0dXJlLXN1cHBvcnQpCiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNTMyOTYpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYz
LDYgKzE2MywxMSBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kCiAj
aWYgUExBVEZPUk0oSU9TKQogICAgIGVuY29kZXIgPDwgY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9u
SGFuZGxlOwogI2VuZGlmCisgICAgCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgZW5jb2RlciA8
PCBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBlbmNvZGVyIDw8IG5lU2Vzc2lvbk1hbmFn
ZXJFeHRlbnNpb25IYW5kbGU7CisjZW5kaWYKIH0KIAogYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpAQCAtNDAzLDYgKzQwOCwyMCBAQCBib29sIFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgcGFyYW1ldGVycy5jb21waWxlclNl
cnZpY2VFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKCpjb21waWxlclNlcnZpY2VFeHRlbnNpb25I
YW5kbGUpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBPcHRpb25hbDxPcHRp
b25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+PiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsK
KyAgICBkZWNvZGVyID4+IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOworICAgIGlmICghbmVIZWxw
ZXJFeHRlbnNpb25IYW5kbGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJz
Lm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVIZWxwZXJFeHRlbnNpb25IYW5k
bGUpOworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPj4g
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBkZWNvZGVyID4+IG5lU2Vzc2lv
bk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CisgICAgaWYgKCFuZVNlc3Npb25NYW5hZ2VyRXh0ZW5z
aW9uSGFuZGxlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5uZVNlc3Np
b25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVTZXNzaW9uTWFuYWdlckV4dGVu
c2lvbkhhbmRsZSk7CisjZW5kaWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CShyZXZpc2lvbiAyNTMyOTYpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw2ICsyMDEsMTEgQEAgc3Ry
dWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IGNvbXBpbGVyU2VydmljZUV4dGVu
c2lvbkhhbmRsZTsKICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgT3B0aW9uYWw8
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBP
cHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNp
b25IYW5kbGU7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29h
Lm1tCShyZXZpc2lvbiAyNTMyOTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3MiwxMyBAQAog
I2ltcG9ydCA8c3lzL3V0c25hbWUuaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
aW1wb3J0IDxwYWwvc3BpL2NvY29hL05FRmlsdGVyU291cmNlU1BJLmg+CisKK1NPRlRfTElOS19G
UkFNRVdPUktfT1BUSU9OQUwoTmV0d29ya0V4dGVuc2lvbik7CitTT0ZUX0xJTktfQ0xBU1NfT1BU
SU9OQUwoTmV0d29ya0V4dGVuc2lvbiwgTkVGaWx0ZXJTb3VyY2UpOworI2VuZGlmCisKIE5TU3Ry
aW5nICpXZWJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBA
IldlYlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkiOwogTlNTdHJpbmcgKldlYktp
dExvY2FsQ2FjaGVEZWZhdWx0c0tleSA9IEAiV2ViS2l0TG9jYWxDYWNoZSI7CiBOU1N0cmluZyAq
V2ViS2l0SlNDSklURW5hYmxlZERlZmF1bHRzS2V5ID0gQCJXZWJLaXRKU0NKSVRFbmFibGVkRGVm
YXVsdHNLZXkiOwpAQCAtMjk1LDYgKzMwMiwxNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0
Zm9ybUluaXRpYWxpemVXCiAgICAgICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5z
aW9uSGFuZGxlID0gV1RGTW92ZShjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGUpOwogICAg
IH0KICNlbmRpZgorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlmIChbZ2V0TkVGaWx0
ZXJTb3VyY2VDbGFzcygpIGZpbHRlclJlcXVpcmVkXSkgeworICAgICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUgaGFuZGxlOworICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5k
bGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUubmVoZWxwZXIiLCBXVEY6Om51bGxvcHQsIGhhbmRs
ZSk7CisgICAgICAgIHBhcmFtZXRlcnMubmVIZWxwZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3Zl
KGhhbmRsZSk7CisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hM
b29rdXAoImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIiwgV1RGOjpu
dWxsb3B0LCBoYW5kbGUpOworICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRl
bnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpJbmRleDogU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgkocmV2aXNp
b24gMjUzMjk2KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9j
ZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC04MzMsNiArODMzLDExIEBACiAgICAgKGFsbG93
IGRldmljZS1jYW1lcmEpKQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAorKGFsbG93IG1hY2gt
bG9va3VwCisgICAgKHJlcXVpcmUtYWxsCisgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53
ZWJraXQuZXh0ZW5zaW9uLm1hY2giKQorICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5u
ZWhlbHBlciIgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIikpKQor
CiAod2hlbiAoZGVmaW5lZD8gJ3N5c2NhbGwtdW5peCkKICAgICAoZGVueSBzeXNjYWxsLXVuaXgg
KHdpdGggc2VuZC1zaWduYWwgU0lHS0lMTCkpCiAgICAgKGFsbG93IHN5c2NhbGwtdW5peApJbmRl
eDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCShyZXZpc2lvbiAyNTMyOTYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNiArMTE2LDEwIEBACiAj
aW1wb3J0IDxvcy9zdGF0ZV9wcml2YXRlLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09B
KQorI2ltcG9ydCA8V2ViQ29yZS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oPgorI2Vu
ZGlmCisKICNpZiBIQVZFKENTQ0hFQ0tGSVhESVNBQkxFKQogZXh0ZXJuICJDIiB2b2lkIF9DU0No
ZWNrRml4RGlzYWJsZSgpOwogI2VuZGlmCkBAIC0yMjYsNiArMjMwLDE0IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKICAgICBpZiAocGFyYW1ldGVycy5jb21waWxl
clNlcnZpY2VFeHRlbnNpb25IYW5kbGUpCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1
bWVQZXJtYW5lbnRseSgqcGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGUp
OwogI2VuZGlmCisgICAgCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKHBhcmFtZXRlcnMu
bmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpCisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1
bWVQZXJtYW5lbnRseSgqcGFyYW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZSk7CisgICAg
aWYgKHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSkKKyAgICAgICAg
U2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLm5lU2Vzc2lv
bk1hbmFnZXJFeHRlbnNpb25IYW5kbGUpOworICAgIE5ldHdvcmtFeHRlbnNpb25Db250ZW50Rmls
dGVyOjpzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKHBhcmFtZXRlcnMubmVIZWxwZXJF
eHRlbnNpb25IYW5kbGUgJiYgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFu
ZGxlKTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0V2Vic2l0ZURh
dGFTdG9yZVBhcmFtZXRlcnMoV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMmJiBwYXJhbWV0
ZXJzKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjUzMjk2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTktMTItMDkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIERlbnkgbWFjaCBsb29rdXAgYWNjZXNzIHRvIG5ldHdv
cmsgZXh0ZW5zaW9uIHNlcnZpY2VzIGluIHRoZSBXZWJDb250ZW50IHNhbmRib3gKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzkyOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdpdGggdGhpcyBwYXRjaCwg
dGhlIE5ldHdvcmtFeHRlbnNpb24gZnJhbWV3b3JrIHdpbGwgbm90IGJlIGxvYWRlZCBpbiB0aGUg
V2ViQ29udGVudCBwcm9jZXNzIHVubGVzcyBbTkVGaWx0ZXJTb3VyY2UgZmlsdGVyUmVxdWlyZWRd
CisgICAgICAgIHJldHVybnMgWUVTLiBTd2l6emxlIHRoaXMgbWV0aG9kIHRvIHJldHVybiBZRVMg
aW4gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0NvbnRlbnRGaWx0ZXJpbmcubW06CisgICAgICAgIChmaWx0ZXJSZXF1aXJlZCk6Cisg
ICAgICAgIChURVNUKToKKwogMjAxOS0xMi0wOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlLWRpc2FibGUgVExTMS4wIGFuZCBUTFMxLjEg
YnkgZGVmYXVsdApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9D
b250ZW50RmlsdGVyaW5nLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvQ29udGVudEZpbHRlcmluZy5tbQkocmV2aXNpb24gMjUzMjk2KQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Db250ZW50RmlsdGVyaW5nLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCwxMiBAQAogI2ltcG9ydCA8V2ViS2l0L19XS0Rv
d25sb2FkRGVsZWdhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tSZW1vdGVPYmplY3RJbnRlcmZh
Y2UuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5oPgorI2ltcG9y
dCA8cGFsL3NwaS9jb2NvYS9ORUZpbHRlclNvdXJjZVNQSS5oPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgorI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElOS19GUkFNRVdP
UktfT1BUSU9OQUwoTmV0d29ya0V4dGVuc2lvbik7CitTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwo
TmV0d29ya0V4dGVuc2lvbiwgTkVGaWx0ZXJTb3VyY2UpOwogCiB1c2luZyBEZWNpc2lvbiA9IFdl
YkNvcmU6Ok1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3M6OkRlY2lzaW9uOwogdXNpbmcgRGVjaXNp
b25Qb2ludCA9IFdlYkNvcmU6Ok1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3M6OkRlY2lzaW9uUG9p
bnQ7CkBAIC0zNzUsOCArMzgwLDE3IEBAIC0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBkaWQKIAogQGVuZAogCitzdGF0aWMgQk9PTCBmaWx0ZXJSZXF1aXJlZChpZCBzZWxmLCBT
RUwgX2NtZCkKK3sKKyAgICByZXR1cm4gWUVTOworfQorCiBURVNUKENvbnRlbnRGaWx0ZXJpbmcs
IExhemlseUxvYWRQbGF0Zm9ybUZyYW1ld29ya3MpCiB7CisgICAgLy8gU3dpenpsZSBbTkVGaWx0
ZXJTb3VyY2UgZmlsdGVyUmVxdWlyZWRdIHRvIHJldHVybiBZRVMgaW4gdGhlIFVJIHByb2Nlc3Mg
c2luY2UgTmV0d29ya0V4dGVuc2lvbiB3aWxsIG5vdCBiZSBsb2FkZWQgb3RoZXJ3aXNlLgorICAg
IE1ldGhvZCBtZXRob2QgPSBjbGFzc19nZXRDbGFzc01ldGhvZChnZXRORUZpbHRlclNvdXJjZUNs
YXNzKCksIEBzZWxlY3RvcihmaWx0ZXJSZXF1aXJlZCkpOworICAgIG1ldGhvZF9zZXRJbXBsZW1l
bnRhdGlvbihtZXRob2QsIHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihmaWx0ZXJSZXF1aXJlZCkpOwor
CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIGF1dG8gY29udHJvbGxlciA9IGFkb3B0
TlMoW1tMYXppbHlMb2FkUGxhdGZvcm1GcmFtZXdvcmtzQ29udHJvbGxlciBhbGxvY10gaW5pdF0p
OwogICAgICAgICBbY29udHJvbGxlciBleHBlY3RQYXJlbnRhbENvbnRyb2xzTG9hZGVkOk5PIG5l
dHdvcmtFeHRlbnNpb25Mb2FkZWQ6Tk9dOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385306</attachid>
            <date>2019-12-10 13:58:27 -0800</date>
            <delta_ts>2019-12-10 15:21:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203929-20191210135826.patch</filename>
            <type>text/plain</type>
            <size>17283</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzM0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE5LTEyLTEwICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEZW55IG1hY2gg
bG9va3VwIGFjY2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29u
dGVudCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDM5MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSBnbG9iYWwgZmxhZyB0byBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlciB0
byBpbmRpY2F0ZSB3aGV0aGVyIG5ldHdvcmsgZXh0ZW5zaW9uIHNhbmRib3ggZXh0ZW5zaW9ucyBo
YXZlCisgICAgICAgIGJlZW4gY29uc3VtZWQuIElmIHRoZSBmbGFnIGhhcyBiZWVuIHNldCwgdGhl
cmUgaXMgbm8gbmVlZCB0byBjaGVjayBORUZpbHRlclNvdXJjZS5maWx0ZXJSZXF1aXJlZCwgc2lu
Y2UgdGhlIGZsYWcKKyAgICAgICAgd2lsbCB0ZWxsIGlmIGZpbHRlcmluZyBpcyByZXF1aXJlZC4g
Q2hlY2tpbmcgTkVGaWx0ZXJTb3VyY2UuZmlsdGVyUmVxdWlyZWQgd2lsbCBsZWFkIHRvIG90aGVy
IG1hY2ggbG9va3VwcyB3aGljaAorICAgICAgICB3ZSBhcmUgdHJ5aW5nIHRvIGF2b2lkLgorCisg
ICAgICAgIFRoZSB0ZXN0IENvbnRlbnRGaWx0ZXJpbmcuTGF6aWx5TG9hZFBsYXRmb3JtRnJhbWV3
b3JrcyBoYXMgYmVlbiBtb2RpZmllZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9u
Q29udGVudEZpbHRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNp
b25Db250ZW50RmlsdGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0V4dGVuc2lvbkNv
bnRlbnRGaWx0ZXI6OmVuYWJsZWQpOgorCiAyMDE5LTEyLTEwICBDb21taXQgUXVldWUgIDxjb21t
aXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MjUzMzIxLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMjUzMzQ0KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcyLDcgKzI5
NzIsNyBAQAogCQlBMTQ4MzJDRjE4N0Y2ODQ3MDBEQTYzQTYgLyogV2ViQ29yZVRocmVhZFN5c3Rl
bUludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTE0ODMyQTExODdGNTA4NzAwREE2M0E2IC8qIFdlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZh
Y2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlB
MTQ5MURBMzFGODU5RDg3MDA5NUY1RDQgLyogUGF5bWVudFNlc3Npb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNDkxREEyMUY4NTlEODcwMDk1RjVE
NCAvKiBQYXltZW50U2Vzc2lvbi5oICovOyB9OwogCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQg
LyogQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE0OTc4NkQxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCAqLzsg
fTsKLQkJQTE0OTc4NzExQUJBRjNBNTAwQ0VGN0U0IC8qIFBsYXRmb3JtQ29udGVudEZpbHRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE0OTc4NzAx
QUJBRjNBNTAwQ0VGN0U0IC8qIFBsYXRmb3JtQ29udGVudEZpbHRlci5oICovOyB9OworCQlBMTQ5
Nzg3MTFBQkFGM0E1MDBDRUY3RTQgLyogUGxhdGZvcm1Db250ZW50RmlsdGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ5Nzg3MDFBQkFGM0E1MDBD
RUY3RTQgLyogUGxhdGZvcm1Db250ZW50RmlsdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTE0QkIwQTAxRjk4MTNCODAwNjA1QTM1IC8qIE1v
Y2tQYXltZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMTRCQjA5RTFGOTgxM0I4MDA2MDVBMzUgLyogTW9ja1BheW1lbnQuaCAqLzsgfTsKIAkJQTE1
RDc1MTYxRTY4RjdDODAwQTM1RkJDIC8qIEJsb2JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE1RDc1MTMxRTY4RjdCMTAwQTM1RkJDIC8q
IEJsb2JDYWxsYmFjay5oICovOyB9OwogCQlBMTVENzUxQjFFNjhGOEEzMDBBMzVGQkMgLyogSlNC
bG9iQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExNUQ3NTE4MUU2OEY4MzYwMEEzNUZCQyAvKiBKU0Jsb2JDYWxsYmFjay5oICovOyB9OwpA
QCAtMzAwMSw3ICszMDAxLDcgQEAKIAkJQTE5NTZGMjUyMzMxQUQ1MzAwNTdFOUQyIC8qIFdITFNM
RnVuY3Rpb25EZWZpbml0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMjFCRjZGNDIxQ0Q4OUIzMDAyMjc5NzkgLyogV0hMU0xGdW5jdGlvbkRlZmlu
aXRpb24uaCAqLzsgfTsKIAkJQTE5QUVBMjExQUFBODA4NjAwQjUyQjI1IC8qIEpTTW9ja0NvbnRl
bnRGaWx0ZXJTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE5QUVBMUUxQUFBODA2RTAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJT
ZXR0aW5ncy5oICovOyB9OwogCQlBMTlBRUEyMjFBQUE4MDhBMDBCNTJCMjUgLyogSlNNb2NrQ29u
dGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExOUFFQTFEMUFBQTgwNkUwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50Rmls
dGVyU2V0dGluZ3MuY3BwICovOyB9OwotCQlBMTlEOTM0QjFBQTExQjFFMDBCNDZDMjQgLyogTmV0
d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExOUQ5MzQ5MUFBMTFCMUUwMEI0NkMyNCAvKiBOZXR3b3JrRXh0
ZW5zaW9uQ29udGVudEZpbHRlci5oICovOyB9OworCQlBMTlEOTM0QjFBQTExQjFFMDBCNDZDMjQg
LyogTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExOUQ5MzQ5MUFBMTFCMUUwMEI0NkMyNCAvKiBOZXR3
b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUExQUE5QUI5MUQyMzkxMTUwMEZFQURCMyAvKiBDb250ZW50
RmlsdGVyQmxvY2tlZFBhZ2UuaHRtbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTFBQTlBQjgxRDIzOTExNTAwRkVBREIzIC8qIENvbnRlbnRGaWx0ZXJC
bG9ja2VkUGFnZS5odG1sICovOyB9OwogCQlBMUFEQUY3RDIzNjBGRDNFMDA5Q0I3NzYgLyogUHJl
dmlld0NvbnZlcnRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTFBREFGN0IyMzYwRkQzRDAwOUNCNzc2IC8qIFByZXZpZXdDb252ZXJ0ZXJD
bGllbnQuaCAqLzsgfTsKIAkJQTFBREFGN0UyMzYwRkQzRTAwOUNCNzc2IC8qIFByZXZpZXdDb252
ZXJ0ZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFBREFGN0MyMzYwRkQzRTAwOUNCNzc2IC8qIFByZXZpZXdDb252ZXJ0ZXJQcm92aWRl
ci5oICovOyB9OwpAQCAtMTY3NDcsMTEgKzE2NzQ3LDExIEBACiAJCQkJMTE5OUZBNTkyMDhFM0M3
RjAwMjM1OENDIC8qIERpc3BsYXlCb3guaCAqLywKIAkJCQlFNEZCNEIzNTIzOUJFQjEwMDAzQzMz
NkEgLyogRGlzcGxheUlubGluZUNvbnRlbnQuY3BwICovLAogCQkJCUU0NTFDNjMzMjM5NDA1OEUw
MDk5MzE5MCAvKiBEaXNwbGF5SW5saW5lQ29udGVudC5oICovLAorCQkJCTExMkZCMzUwMjM5QzIz
QzQwMDg3MDU0QSAvKiBEaXNwbGF5SW5saW5lUmVjdC5oICovLAogCQkJCTZGQjQ3RTYxMjI3NzQy
NUEwMEM3QkNCMCAvKiBEaXNwbGF5TGluZUJveC5oICovLAogCQkJCTZGNzc4Njg1MjM0OTFBQzYw
MDREOTYzNiAvKiBEaXNwbGF5UGFpbnRlci5jcHAgKi8sCiAJCQkJNkY3Nzg2ODcyMzQ5MUFENzAw
NEQ5NjM2IC8qIERpc3BsYXlQYWludGVyLmggKi8sCiAJCQkJNkZEOUNENTIyMjdFMjFDODAwRTUz
OTU3IC8qIERpc3BsYXlSZWN0LmggKi8sCi0JCQkJMTEyRkIzNTAyMzlDMjNDNDAwODcwNTRBIC8q
IERpc3BsYXlJbmxpbmVSZWN0LmggKi8sCiAJCQkJNkZDRTFBMTgyMjYxOEFCMzAwNEYwMzQzIC8q
IERpc3BsYXlSdW4uaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gZGlzcGxheXRyZWU7CkBAIC0yOTYw
Niw2ICsyOTYwNiw4IEBACiAJCQkJN0VEQUFGQzkxOUEyQ0NEQzAwMzRERkQxIC8qIERpc2tDYWNo
ZU1vbml0b3JDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTE5OUZBNUIyMDhFM0M3RjAwMjM1
OENDIC8qIERpc3BsYXlCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NTFDNjM0MjM5NDA1OEYw
MDk5MzE5MCAvKiBEaXNwbGF5SW5saW5lQ29udGVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTEy
RkIzNTIyMzlDMjNDNDAwODcwNTRBIC8qIERpc3BsYXlJbmxpbmVSZWN0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk2RkI0N0U2MzIyNzc0MjVBMDBDN0JDQjAgLyogRGlzcGxheUxpbmVCb3guaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRTVGQkQzMUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFNUZCRDUxQzNERDUxRTAwMDdBMkNBIC8qIERpc3BsYXlM
aXN0SXRlbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTVGQkQ3MUMzREQ1MUUwMDA3QTJDQSAv
KiBEaXNwbGF5TGlzdFJlY29yZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMjY1LDcgKzMwMjY3
LDYgQEAKIAkJCQkxMTVDRkE3RTIwOEI4RTEwMDAxRTY5OTEgLyogSW5saW5lRm9ybWF0dGluZ1N0
YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RkU3Q0ZBMjIxNzdFRUYyMDA1QjE1NzMgLyogSW5s
aW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNzg5MTYxMTIwRDYwODAwNjBFQ0U1IC8q
IElubGluZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKLQkJCQk2RkI0N0U2MzIyNzc0MjVBMDBD
N0JDQjAgLyogRGlzcGxheUxpbmVCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTZGRTE5ODE3MjE3
ODM5N0MwMDQ0NkYwOCAvKiBJbmxpbmVMaW5lQnJlYWtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NkYwQ0Q2OTUyMjlFRDMyNzAwQzU5OTRFIC8qIElubGluZUxpbmVCdWlsZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2RjM2MEU1MDIzOTk5NDIxMDAxNTEyQTcgLyogSW5saW5lU29mdExpbmVCcmVh
a0l0ZW0uaCBpbiBIZWFkZXJzICovLApAQCAtMzE5MjcsNyArMzE5MjgsNiBAQAogCQkJCUJDNUVC
NjY4MEU4MUNCNzEwMEIyNTk2NSAvKiBSZW5kZXJTdHlsZUNvbnN0YW50cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDM2NzA4QzExMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR0Jsb2NrLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0MzY3MDhDMzEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHQ29u
dGFpbmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQkxMTJGQjM1MjIzOUMyM0M0MDA4NzA1NEEgLyog
RGlzcGxheUlubGluZVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTJCMzY1Qzg0MTUyNTExOUUw
MDkxRDI3QiAvKiBSZW5kZXJTVkdFbGxpcHNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0M0MwOTJC
QzEyRDlFNEVFMDBBOTg5QzMgLyogUmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDM2NzA4QzUxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR0dyYWRpZW50U3Rv
cC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9O
ZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLmgJKHJldmlz
aW9uIDI1MzM0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRl
bnNpb25Db250ZW50RmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDggQEAgcHVi
bGljOgogICAgIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlciB1bmJsb2NrSGFuZGxlcigpIGNv
bnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBz
ZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKGJvb2wpOworCiBwcml2YXRlOgogICAgIHN0
YXRpYyBib29sIGVuYWJsZWQoKTsKIApAQCAtNjAsNiArNjIsMTQgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGluaXRpYWxpemUoY29uc3QgVVJMKiA9IG51bGxwdHIpOwogICAgIHZvaWQgaGFuZGxlRGVj
aXNpb24oTkVGaWx0ZXJTb3VyY2VTdGF0dXMsIE5TRGF0YSAqcmVwbGFjZW1lbnREYXRhKTsKIAor
ICAgIGVudW0gY2xhc3MgU2FuZGJveEV4dGVuc2lvbnNTdGF0ZSA6IHVpbnQ4X3QgeworICAgICAg
ICBDb25zdW1lZCwKKyAgICAgICAgTm90Q29uc3VtZWQsCisgICAgICAgIE5vdFNldAorICAgIH07
CisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU2FuZGJveEV4dGVuc2lvbnNTdGF0ZSBtX3Nh
bmRib3hFeHRlbnNpb25zU3RhdGU7CisKICAgICBPU09iamVjdFB0cjxkaXNwYXRjaF9xdWV1ZV90
PiBtX3F1ZXVlOwogICAgIFJldGFpblB0cjxOU0RhdGE+IG1fcmVwbGFjZW1lbnREYXRhOwogICAg
IFJldGFpblB0cjxORUZpbHRlclNvdXJjZT4gbV9uZUZpbHRlclNvdXJjZTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRl
bnNpb25Db250ZW50RmlsdGVyLm1tCShyZXZpc2lvbiAyNTMzNDQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNTEsOSArNTEsMjIgQEAgc3RhdGljIGlubGluZSBOU0RhdGEgKnJlcGxhY2Vt
ZW50RGF0YUZybwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK05ldHdvcmtFeHRlbnNpb25Db250
ZW50RmlsdGVyOjpTYW5kYm94RXh0ZW5zaW9uc1N0YXRlIE5ldHdvcmtFeHRlbnNpb25Db250ZW50
RmlsdGVyOjptX3NhbmRib3hFeHRlbnNpb25zU3RhdGUgPSBTYW5kYm94RXh0ZW5zaW9uc1N0YXRl
OjpOb3RTZXQ7CisKIGJvb2wgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OmVuYWJsZWQo
KQogewotICAgIGJvb2wgZW5hYmxlZCA9IFtnZXRORUZpbHRlclNvdXJjZUNsYXNzKCkgZmlsdGVy
UmVxdWlyZWRdOworICAgIGJvb2wgZW5hYmxlZCA9IGZhbHNlOworICAgIHN3aXRjaCAobV9zYW5k
Ym94RXh0ZW5zaW9uc1N0YXRlKSB7CisgICAgY2FzZSBTYW5kYm94RXh0ZW5zaW9uc1N0YXRlOjpD
b25zdW1lZDoKKyAgICAgICAgZW5hYmxlZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgU2FuZGJveEV4dGVuc2lvbnNTdGF0ZTo6Tm90Q29uc3VtZWQ6CisgICAgICAgIGVuYWJsZWQg
PSBmYWxzZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTYW5kYm94RXh0ZW5zaW9uc1N0YXRl
OjpOb3RTZXQ6CisgICAgICAgIGVuYWJsZWQgPSBbZ2V0TkVGaWx0ZXJTb3VyY2VDbGFzcygpIGZp
bHRlclJlcXVpcmVkXTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIExPRyhDb250ZW50Rmls
dGVyaW5nLCAiTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIgaXMgJXMuXG4iLCBlbmFibGVk
ID8gImVuYWJsZWQiIDogIm5vdCBlbmFibGVkIik7CiAgICAgcmV0dXJuIGVuYWJsZWQ7CiB9CkBA
IC0yMTUsNiArMjI4LDExIEBAIHZvaWQgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6Omhh
bmQKICNlbmRpZgogfQogCit2b2lkIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjpzZXRI
YXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKGJvb2wgaGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5z
aW9ucykKK3sKKyAgICBtX3NhbmRib3hFeHRlbnNpb25zU3RhdGUgPSAoaGFzQ29uc3VtZWRTYW5k
Ym94RXh0ZW5zaW9ucyA/IFNhbmRib3hFeHRlbnNpb25zU3RhdGU6OkNvbnN1bWVkIDogU2FuZGJv
eEV4dGVuc2lvbnNTdGF0ZTo6Tm90Q29uc3VtZWQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBIQVZFKE5FVFdPUktfRVhURU5TSU9OKQpJbmRleDogU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MzM0NCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMTItMTAgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIERlbnkgbWFjaCBsb29rdXAgYWNjZXNzIHRvIG5l
dHdvcmsgZXh0ZW5zaW9uIHNlcnZpY2VzIGluIHRoZSBXZWJDb250ZW50IHNhbmRib3gKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzkyOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hY2ggbG9va3VwIGFj
Y2VzcyB0byBuZXR3b3JrIGV4dGVuc2lvbiBzZXJ2aWNlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGlzIG9ubHkgbmVlZGVkIGlmCisgICAgICAgIE5FRmlsdGVyU291cmNlLmZpbHRlclJlcXVp
cmVkIGlzIHRydWUuIElmIHRoaXMgaXMgdGhlIGNhc2UsIGlzc3VlIHRoZSBuZWVkZWQgbWFjaCBs
b29rdXAKKyAgICAgICAgc2FuZGJveCBleHRlbnNpb25zIHRvIHRoZSBXZWJDb250ZW50IHByb2Nl
c3MsIHdoZXJlIHRoZXkgd2lsbCBiZSBjb25zdW1lZC4gRXZlbnR1YWxseSwgYWxsCisgICAgICAg
IHRoZSBjb250ZW50IGZpbHRlcmluZyBjb2RlIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgTmV0d29y
a2luZyBwcm9jZXNzLCBidXQgc2luY2UgdGhpcyBpcyBhCisgICAgICAgIGJpZ2dlciB1bmRlcnRh
a2luZywgd2UgY2FuIGlzc3VlIGV4dGVuc2lvbnMgaW4gdGhlIG1lYW50aW1lIHRvIHN0cmVuZ3Ro
ZW4gdGhlIHNhbmRib3guCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lv
cy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZv
cm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb20uYXBwbGUu
V2ViUHJvY2Vzcy5zYi5pbjoKKwogMjAxOS0xMi0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIEd5cm9zY29wZSAoRGV2aWNlTW90aW9uIHJlbGF0ZWQpIHBlcm1p
c3Npb24gY2Fubm90IGJlIHJlcXVlc3RlZCBpbiBXS1dlYlZpZXcgdW5sZXNzIHRoZSBjbGllbnQg
YXBwIHNldHMgYSBXS1VJRGVsZWdhdGUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1Nh
bmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFw
cGxlLldlYktpdC5XZWJDb250ZW50LnNiCShyZXZpc2lvbiAyNTMzNDQpCisrKyBTb3VyY2UvV2Vi
S2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29u
dGVudC5zYgkod29ya2luZyBjb3B5KQpAQCAtNDc3LDcgKzQ3Nyw3IEBACiAKIChkZWZpbmUtb25j
ZSAobmV0d29yay1leHRlbnNpb25zLXN1cHBvcnQpCiAgICAgOzsgTmV0d29yayBFeHRlbnNpb25z
IC8gVlBOIGhlbHBlci4KLSAgICAoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAoYWxsb3cgbWFjaC1s
b29rdXAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCiAgICAgICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLm5laGVscGVyIikKICAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
bmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIpKSA7OyA8cmRhcjovL3Byb2JsZW0vNDg0
NDIzODc+CiApCkBAIC05NjYsNyArOTY2LDcgQEAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChy
ZXF1aXJlLWFsbAogICAgICAgICAoZXh0ZW5zaW9uICJjb20uYXBwbGUud2Via2l0LmV4dGVuc2lv
bi5tYWNoIikKLSAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaXBob25lLmF4c2VydmVy
LXN5c3RlbXdpZGUiICJjb20uYXBwbGUudGNjZCIgImNvbS5hcHBsZS5BR1hDb21waWxlclNlcnZp
Y2UiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmlwaG9uZS5heHNlcnZlci1z
eXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUuQUdYQ29tcGlsZXJTZXJ2aWNl
IiAiY29tLmFwcGxlLm5laGVscGVyIiAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVu
dC1maWx0ZXIiKSkpCiAKIChtZWRpYS1jYXB0dXJlLXN1cHBvcnQpCiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CShyZXZpc2lvbiAyNTMzNDQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDYgKzE2MywxMSBAQCB2
b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kCiAjaWYgUExBVEZPUk0oSU9T
KQogICAgIGVuY29kZXIgPDwgY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlm
CisgICAgCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgZW5jb2RlciA8PCBuZUhlbHBlckV4dGVu
c2lvbkhhbmRsZTsKKyAgICBlbmNvZGVyIDw8IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5k
bGU7CisjZW5kaWYKIH0KIAogYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNv
ZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQpAQCAtNDAzLDYgKzQwOCwyMCBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kCiAgICAgcGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25I
YW5kbGUgPSBXVEZNb3ZlKCpjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBPcHRpb25hbDxPcHRpb25hbDxTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGU+PiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBkZWNvZGVyID4+
IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOworICAgIGlmICghbmVIZWxwZXJFeHRlbnNpb25IYW5k
bGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5z
aW9uSGFuZGxlID0gV1RGTW92ZSgqbmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpOworCisgICAgT3B0
aW9uYWw8T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPj4gbmVTZXNzaW9uTWFuYWdl
ckV4dGVuc2lvbkhhbmRsZTsKKyAgICBkZWNvZGVyID4+IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNp
b25IYW5kbGU7CisgICAgaWYgKCFuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5z
aW9uSGFuZGxlID0gV1RGTW92ZSgqbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSk7Cisj
ZW5kaWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNTMz
NDQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw2ICsyMDEsMTEgQEAgc3RydWN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgewogI2lmIFBMQVRGT1JNKElPUykKICAgICBPcHRpb25hbDxTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGU+IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZTsKICNl
bmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlPiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBPcHRpb25hbDxTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGU+IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CisjZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAy
NTMzNDQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3MiwxMyBAQAogI2ltcG9ydCA8c3lzL3V0
c25hbWUuaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW1wb3J0IDxwYWwvc3Bp
L2NvY29hL05FRmlsdGVyU291cmNlU1BJLmg+CisKK1NPRlRfTElOS19GUkFNRVdPUktfT1BUSU9O
QUwoTmV0d29ya0V4dGVuc2lvbik7CitTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoTmV0d29ya0V4
dGVuc2lvbiwgTkVGaWx0ZXJTb3VyY2UpOworI2VuZGlmCisKIE5TU3RyaW5nICpXZWJTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkiOwogTlNTdHJpbmcgKldlYktpdExvY2FsQ2FjaGVEZWZh
dWx0c0tleSA9IEAiV2ViS2l0TG9jYWxDYWNoZSI7CiBOU1N0cmluZyAqV2ViS2l0SlNDSklURW5h
YmxlZERlZmF1bHRzS2V5ID0gQCJXZWJLaXRKU0NKSVRFbmFibGVkRGVmYXVsdHNLZXkiOwpAQCAt
Mjk1LDYgKzMwMiwxNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVX
CiAgICAgICAgIHBhcmFtZXRlcnMuY29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlID0gV1RG
TW92ZShjb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGUpOwogICAgIH0KICNlbmRpZgorICAg
IAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGlmIChbZ2V0TkVGaWx0ZXJTb3VyY2VDbGFzcygp
IGZpbHRlclJlcXVpcmVkXSkgeworICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFu
ZGxlOworICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3Vw
KCJjb20uYXBwbGUubmVoZWxwZXIiLCBXVEY6Om51bGxvcHQsIGhhbmRsZSk7CisgICAgICAgIHBh
cmFtZXRlcnMubmVIZWxwZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CisgICAg
ICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBs
ZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUp
OworICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBX
VEZNb3ZlKGhhbmRsZSk7CisgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
bS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjUzMzQ0KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MzMsNiArODMzLDExIEBACiAgICAgKGFsbG93IGRldmljZS1jYW1lcmEp
KQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAorKGFsbG93IG1hY2gtbG9va3VwCisgICAgKHJl
cXVpcmUtYWxsCisgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQuZXh0ZW5zaW9u
Lm1hY2giKQorICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5uZWhlbHBlciIgImNvbS5h
cHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIikpKQorCiAod2hlbiAoZGVmaW5l
ZD8gJ3N5c2NhbGwtdW5peCkKICAgICAoZGVueSBzeXNjYWxsLXVuaXggKHdpdGggc2VuZC1zaWdu
YWwgU0lHS0lMTCkpCiAgICAgKGFsbG93IHN5c2NhbGwtdW5peApJbmRleDogU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAy
NTMzNDQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNiArMTE2LDEwIEBACiAjaW1wb3J0IDxvcy9zdGF0
ZV9wcml2YXRlLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorI2ltcG9ydCA8V2Vi
Q29yZS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oPgorI2VuZGlmCisKICNpZiBIQVZF
KENTQ0hFQ0tGSVhESVNBQkxFKQogZXh0ZXJuICJDIiB2b2lkIF9DU0NoZWNrRml4RGlzYWJsZSgp
OwogI2VuZGlmCkBAIC0yMjYsNiArMjMwLDE0IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1J
bml0aWFsaXplV2ViUHIKICAgICBpZiAocGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNp
b25IYW5kbGUpCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgq
cGFyYW1ldGVycy5jb21waWxlclNlcnZpY2VFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCisgICAg
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgaWYgKHBhcmFtZXRlcnMubmVIZWxwZXJFeHRlbnNp
b25IYW5kbGUpCisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgq
cGFyYW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZSk7CisgICAgaWYgKHBhcmFtZXRlcnMu
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSkKKyAgICAgICAgU2FuZGJveEV4dGVuc2lv
bjo6Y29uc3VtZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNp
b25IYW5kbGUpOworICAgIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjpzZXRIYXNDb25z
dW1lZFNhbmRib3hFeHRlbnNpb25zKHBhcmFtZXRlcnMubmVIZWxwZXJFeHRlbnNpb25IYW5kbGUu
aGFzVmFsdWUoKSAmJiBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUu
aGFzVmFsdWUoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldFdl
YnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYg
cGFyYW1ldGVycykK
</data>

          </attachment>
      

    </bug>

</bugzilla>