<?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>201543</bug_id>
          
          <creation_ts>2019-09-06 07:25:08 -0700</creation_ts>
          <short_desc>[macOS] Pid is sometimes invalid when creating sandbox extensions by pid.</short_desc>
          <delta_ts>2019-09-25 11:32:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>pvollan</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1568503</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-06 07:25:08 -0700</bug_when>
    <thetext>There is a race condition when starting a load of a local file, where the WebContent process has not finished launching yet, and its pid is not available. When we try to create a sandbox extension by using the pid of the WebContent process, it is not available in the cases where the WebContent process has just launched and has not finished launching yet. This problem can be fixed by waiting for the WebContent process to finish launching before creating the sandbox extension. In order to do that, the process launcher must not run the launch reply block on the main thread as it currently does, since that block would never be executed when the main thread is waiting for the process to finish launching.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568504</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-06 07:25:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/55111214&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568514</commentid>
    <comment_count>2</comment_count>
      <attachid>378190</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-06 08:13:09 -0700</bug_when>
    <thetext>Created attachment 378190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568522</commentid>
    <comment_count>3</comment_count>
      <attachid>378192</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-06 08:39:07 -0700</bug_when>
    <thetext>Created attachment 378192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568538</commentid>
    <comment_count>4</comment_count>
      <attachid>378192</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-06 09:13:33 -0700</bug_when>
    <thetext>Comment on attachment 378192
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1075
&gt; +        if (!processIdentifier())
&gt; +            m_process-&gt;waitForProcessToFinishLaunching();
&gt;          if (SandboxExtension::createHandleForReadByPid(resourceDirectoryURL.fileSystemPath(), process.processIdentifier(), sandboxExtensionHandle)) {

We check this-&gt;processIdentifier() then use process.processIdentifier().  I think we should call the same function for both.

&gt; Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:246
&gt; +    m_queue = dispatch_queue_create(&quot;Process launcher queue&quot;, DISPATCH_QUEUE_SERIAL);

A new queue will use more memory and a thread that we didn&apos;t need to use before.  Have the performance implications of this been measured?  Can we not instead call [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantPast]] inside waitForProcessToFinishLaunching?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568577</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-06 10:41:36 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 378192 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=378192&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1075
&gt; &gt; +        if (!processIdentifier())
&gt; &gt; +            m_process-&gt;waitForProcessToFinishLaunching();
&gt; &gt;          if (SandboxExtension::createHandleForReadByPid(resourceDirectoryURL.fileSystemPath(), process.processIdentifier(), sandboxExtensionHandle)) {
&gt; 
&gt; We check this-&gt;processIdentifier() then use process.processIdentifier().  I
&gt; think we should call the same function for both.
&gt; 

Good catch!

&gt; &gt; Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:246
&gt; &gt; +    m_queue = dispatch_queue_create(&quot;Process launcher queue&quot;, DISPATCH_QUEUE_SERIAL);
&gt; 
&gt; A new queue will use more memory and a thread that we didn&apos;t need to use
&gt; before.  Have the performance implications of this been measured?  Can we
&gt; not instead call [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode
&gt; beforeDate:[NSDate distantPast]] inside waitForProcessToFinishLaunching?

That&apos;s a good point, although I think it would be good to avoid nested runloops. I have not measured performance implications. The thread is short-lived and exits after the process has finished launching, so I think the performance impact should be small. Perhaps there is an existing queue we could use for this purpose?

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568598</commentid>
    <comment_count>6</comment_count>
      <attachid>378192</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-09-06 11:10:40 -0700</bug_when>
    <thetext>Comment on attachment 378192
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1074
&gt; +        if (!processIdentifier())
&gt; +            m_process-&gt;waitForProcessToFinishLaunching();

It seems like this is introducing a synchronous wait in the UIProcess on the main thread. This is a huge no-no. This should be avoided at all costs. 

If you really need the pid for this, the code needs to be restructured so that the work items that need it are queued, and then completed when the pid is available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568602</commentid>
    <comment_count>7</comment_count>
      <attachid>378211</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-06 11:12:27 -0700</bug_when>
    <thetext>Created attachment 378211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568612</commentid>
    <comment_count>8</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-06 11:31:30 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #6)
&gt; Comment on attachment 378192 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=378192&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1074
&gt; &gt; +        if (!processIdentifier())
&gt; &gt; +            m_process-&gt;waitForProcessToFinishLaunching();
&gt; 
&gt; It seems like this is introducing a synchronous wait in the UIProcess on the
&gt; main thread. This is a huge no-no. This should be avoided at all costs. 
&gt; 
&gt; If you really need the pid for this, the code needs to be restructured so
&gt; that the work items that need it are queued, and then completed when the pid
&gt; is available.

Yes, indeed, that makes sense. I will look into doing this differently.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568940</commentid>
    <comment_count>9</comment_count>
      <attachid>378304</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-07 16:29:03 -0700</bug_when>
    <thetext>Created attachment 378304
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568953</commentid>
    <comment_count>10</comment_count>
      <attachid>378312</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-07 19:27:09 -0700</bug_when>
    <thetext>Created attachment 378312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568956</commentid>
    <comment_count>11</comment_count>
      <attachid>378313</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-07 19:35:57 -0700</bug_when>
    <thetext>Created attachment 378313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569003</commentid>
    <comment_count>12</comment_count>
      <attachid>378324</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-08 08:05:26 -0700</bug_when>
    <thetext>Created attachment 378324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569007</commentid>
    <comment_count>13</comment_count>
      <attachid>378325</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-08 09:55:35 -0700</bug_when>
    <thetext>Created attachment 378325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569014</commentid>
    <comment_count>14</comment_count>
      <attachid>378329</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-08 10:31:39 -0700</bug_when>
    <thetext>Created attachment 378329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569018</commentid>
    <comment_count>15</comment_count>
      <attachid>378332</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-08 12:13:10 -0700</bug_when>
    <thetext>Created attachment 378332
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569023</commentid>
    <comment_count>16</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-08 13:20:31 -0700</bug_when>
    <thetext>rdar://problem/54733465</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569028</commentid>
    <comment_count>17</comment_count>
      <attachid>378332</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-08 15:01:38 -0700</bug_when>
    <thetext>Comment on attachment 378332
Patch

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

I think this looks good, but I had a few questions before we land it.

&gt; Source/WebKit/ChangeLog:18
&gt; +        a pid available with this patch when creating a sandbox extension.

Good!

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1157
&gt; +    return requests;

Should this be a member of the WebPageProxy so that it gets cleaned up when the WebPageProxy is destroyed (perhaps when a user closes a tab before the page load starts?) That might also remove the need to iterate over all open handles checking that the process is the correct one?

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1206
&gt; +void WebPageProxy::startDelayedFileLoadRequests(const WebProcessProxy&amp; processProxy)

Nit: I think this would be clearer as &quot;processDelayedFileLoadRequestsIfNeeded&quot; or &quot;handleDelayedFileLoadRequestsIfNeeded&quot;

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1223
&gt; +        page-&gt;maybeInitializeSandboxExtensionHandle(process, fileUrl, resourceUrl, loadParameters.sandboxExtensionHandle);

Although this is called &quot;maybeInitialize&quot;, it looks like at this point in processing it will always work since the earlier checks have been done previously. I wonder if we should log if it fails for some reason.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1229
&gt; +        delayedFileLoadRequests().remove(toBeRemoved[toBeRemoved.size() - i - 1]);

I&apos;m not sure this reverse traversal of the set of items to remember is necessary. I guess it makes sure that we are always removing from delayedFileLoadRequests with a valid iterator?

This could be simpler as:

for (auto item = toBeRemoved.rbegin(); item != toBeRemoved.rend(); ++item)
    delayedFileLoadRequests().remove(item);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569032</commentid>
    <comment_count>18</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-08 16:30:06 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #17)
&gt; Comment on attachment 378332 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=378332&amp;action=review
&gt; 
&gt; I think this looks good, but I had a few questions before we land it.
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:18
&gt; &gt; +        a pid available with this patch when creating a sandbox extension.
&gt; 
&gt; Good!
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1157
&gt; &gt; +    return requests;
&gt; 
&gt; Should this be a member of the WebPageProxy so that it gets cleaned up when
&gt; the WebPageProxy is destroyed (perhaps when a user closes a tab before the
&gt; page load starts?) That might also remove the need to iterate over all open
&gt; handles checking that the process is the correct one?
&gt; 

I actually did that initially, but it turns out that when WebProcessProxy::didFinishLaunching is called, the Web process proxy does not always know which Web pages it is associated with (the page map is empty).

&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1206
&gt; &gt; +void WebPageProxy::startDelayedFileLoadRequests(const WebProcessProxy&amp; processProxy)
&gt; 
&gt; Nit: I think this would be clearer as
&gt; &quot;processDelayedFileLoadRequestsIfNeeded&quot; or
&gt; &quot;handleDelayedFileLoadRequestsIfNeeded&quot;
&gt; 

Will change.

&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1223
&gt; &gt; +        page-&gt;maybeInitializeSandboxExtensionHandle(process, fileUrl, resourceUrl, loadParameters.sandboxExtensionHandle);
&gt; 
&gt; Although this is called &quot;maybeInitialize&quot;, it looks like at this point in
&gt; processing it will always work since the earlier checks have been done
&gt; previously. I wonder if we should log if it fails for some reason.
&gt; 

It is actually valid for this method to bail out and do nothing if the process already has assumed read access to the file or folder in question.

&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1229
&gt; &gt; +        delayedFileLoadRequests().remove(toBeRemoved[toBeRemoved.size() - i - 1]);
&gt; 
&gt; I&apos;m not sure this reverse traversal of the set of items to remember is
&gt; necessary. I guess it makes sure that we are always removing from
&gt; delayedFileLoadRequests with a valid iterator?
&gt; 

Yes, the reverse traversal was done to make sure the correct elements are deleted, when more than one file load request was handled and should be removed from the list.

&gt; This could be simpler as:
&gt; 
&gt; for (auto item = toBeRemoved.rbegin(); item != toBeRemoved.rend(); ++item)
&gt;     delayedFileLoadRequests().remove(item);

Thanks, that’s much better!

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569033</commentid>
    <comment_count>19</comment_count>
      <attachid>378338</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-08 16:32:18 -0700</bug_when>
    <thetext>Created attachment 378338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569038</commentid>
    <comment_count>20</comment_count>
      <attachid>378338</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-08 17:20:32 -0700</bug_when>
    <thetext>Comment on attachment 378338
Patch

Thank you for tracking this down! r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569041</commentid>
    <comment_count>21</comment_count>
      <attachid>378338</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-09-08 17:46:37 -0700</bug_when>
    <thetext>Comment on attachment 378338
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1201
&gt; +#if HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_PID)
&gt; +    if (process-&gt;processIdentifier() || !url.isLocalFile())
&gt; +        process-&gt;send(Messages::WebPage::LoadRequest(loadParameters), webPageID);
&gt; +    else {
&gt; +        DelayedFileLoadRequest request { WTFMove(loadParameters), url, m_pageLoadState.resourceDirectoryURL(), webPageID, process.get(), *this };
&gt; +        delayedFileLoadRequests().append(WTFMove(request));
&gt; +    }
&gt; +#else
&gt;      process-&gt;send(Messages::WebPage::LoadRequest(loadParameters), webPageID);
&gt; +#endif

It seems like this will cause loads to be issued out of order. Consider the case of the a local file load, which get&apos;s delayed, followed by a normal non-local file load, which is done right away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569042</commentid>
    <comment_count>22</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-08 18:03:17 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #21)
&gt; Comment on attachment 378338 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=378338&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1201
&gt; &gt; +#if HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_PID)
&gt; &gt; +    if (process-&gt;processIdentifier() || !url.isLocalFile())
&gt; &gt; +        process-&gt;send(Messages::WebPage::LoadRequest(loadParameters), webPageID);
&gt; &gt; +    else {
&gt; &gt; +        DelayedFileLoadRequest request { WTFMove(loadParameters), url, m_pageLoadState.resourceDirectoryURL(), webPageID, process.get(), *this };
&gt; &gt; +        delayedFileLoadRequests().append(WTFMove(request));
&gt; &gt; +    }
&gt; &gt; +#else
&gt; &gt;      process-&gt;send(Messages::WebPage::LoadRequest(loadParameters), webPageID);
&gt; &gt; +#endif
&gt; 
&gt; It seems like this will cause loads to be issued out of order. Consider the
&gt; case of the a local file load, which get&apos;s delayed, followed by a normal
&gt; non-local file load, which is done right away.

Good point, thanks for catching this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569146</commentid>
    <comment_count>23</comment_count>
      <attachid>378370</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-09 08:51:44 -0700</bug_when>
    <thetext>Created attachment 378370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569147</commentid>
    <comment_count>24</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-09 08:52:36 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #21)
&gt; Comment on attachment 378338 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=378338&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1201
&gt; &gt; +#if HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_PID)
&gt; &gt; +    if (process-&gt;processIdentifier() || !url.isLocalFile())
&gt; &gt; +        process-&gt;send(Messages::WebPage::LoadRequest(loadParameters), webPageID);
&gt; &gt; +    else {
&gt; &gt; +        DelayedFileLoadRequest request { WTFMove(loadParameters), url, m_pageLoadState.resourceDirectoryURL(), webPageID, process.get(), *this };
&gt; &gt; +        delayedFileLoadRequests().append(WTFMove(request));
&gt; &gt; +    }
&gt; &gt; +#else
&gt; &gt;      process-&gt;send(Messages::WebPage::LoadRequest(loadParameters), webPageID);
&gt; &gt; +#endif
&gt; 
&gt; It seems like this will cause loads to be issued out of order. Consider the
&gt; case of the a local file load, which get&apos;s delayed, followed by a normal
&gt; non-local file load, which is done right away.

Attached a new patch, which should avoid this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569152</commentid>
    <comment_count>25</comment_count>
      <attachid>378372</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-09 09:02:30 -0700</bug_when>
    <thetext>Created attachment 378372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569167</commentid>
    <comment_count>26</comment_count>
      <attachid>378372</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-09 09:57:46 -0700</bug_when>
    <thetext>Comment on attachment 378372
Patch

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

&gt; Source/WebKit/ChangeLog:15
&gt; +        can detect that a &apos;LoadFileRequest&apos; has been appended for sending, and replace it with a normal &apos;LoadReqest&apos;

You say &quot;LoadFileRequest&quot; here, but call it &quot;FileLoadRequest&quot; in the code.

I wonder if it would be clearer if it was called &quot;LoadRequestWaitingForPID&quot; or something?

&gt; Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:181
&gt; +        if (!strcmp(&quot;FileLoadRequest&quot;, message-&gt;messageName().data())) {

Don&apos;t we usually just write:

if (message-&gt;messageName() == &quot;FileLoadRequest&quot;) { ...

?

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:1557
&gt; +{

Maybe a comment is warranted here:

// FileLoadRequest should never be sent to the WebProcess. It must always be converted to a LoadRequest message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569171</commentid>
    <comment_count>27</comment_count>
      <attachid>378372</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-09 10:03:01 -0700</bug_when>
    <thetext>Comment on attachment 378372
Patch

r=me, but please consider the suggestions I made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569180</commentid>
    <comment_count>28</comment_count>
      <attachid>378379</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-09 10:25:39 -0700</bug_when>
    <thetext>Created attachment 378379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569181</commentid>
    <comment_count>29</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-09 10:26:38 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #26)
&gt; Comment on attachment 378372 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=378372&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:15
&gt; &gt; +        can detect that a &apos;LoadFileRequest&apos; has been appended for sending, and replace it with a normal &apos;LoadReqest&apos;
&gt; 
&gt; You say &quot;LoadFileRequest&quot; here, but call it &quot;FileLoadRequest&quot; in the code.
&gt; 
&gt; I wonder if it would be clearer if it was called &quot;LoadRequestWaitingForPID&quot;
&gt; or something?
&gt; 

Done.

&gt; &gt; Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:181
&gt; &gt; +        if (!strcmp(&quot;FileLoadRequest&quot;, message-&gt;messageName().data())) {
&gt; 
&gt; Don&apos;t we usually just write:
&gt; 
&gt; if (message-&gt;messageName() == &quot;FileLoadRequest&quot;) { ...
&gt; 
&gt; ?
&gt; 

Done.

&gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:1557
&gt; &gt; +{
&gt; 
&gt; Maybe a comment is warranted here:
&gt; 
&gt; // FileLoadRequest should never be sent to the WebProcess. It must always be
&gt; converted to a LoadRequest message.

Done.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569187</commentid>
    <comment_count>30</comment_count>
      <attachid>378379</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-09 10:44:39 -0700</bug_when>
    <thetext>Comment on attachment 378379
Patch

Clearing flags on attachment: 378379

Committed r249649: &lt;https://trac.webkit.org/changeset/249649&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569268</commentid>
    <comment_count>31</comment_count>
      <attachid>378372</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-09-09 13:29:00 -0700</bug_when>
    <thetext>Comment on attachment 378372
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:181
&gt;&gt;&gt; +        if (!strcmp(&quot;FileLoadRequest&quot;, message-&gt;messageName().data())) {
&gt;&gt; 
&gt;&gt; Don&apos;t we usually just write:
&gt;&gt; 
&gt;&gt; if (message-&gt;messageName() == &quot;FileLoadRequest&quot;) { ...
&gt;&gt; 
&gt;&gt; ?
&gt; 
&gt; Done.

This is a layering violation. AuxiliaryProcessProxy is a generic class that can be used for a variety of process types. In addition to just being bad for the design, if two messages use &quot;FileLoadRequest&quot; as a message name, this will do the wrong thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569272</commentid>
    <comment_count>32</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-09-09 13:33:31 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #31)
&gt; Comment on attachment 378372 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=378372&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:181
&gt; &gt;&gt;&gt; +        if (!strcmp(&quot;FileLoadRequest&quot;, message-&gt;messageName().data())) {
&gt; &gt;&gt; 
&gt; &gt;&gt; Don&apos;t we usually just write:
&gt; &gt;&gt; 
&gt; &gt;&gt; if (message-&gt;messageName() == &quot;FileLoadRequest&quot;) { ...
&gt; &gt;&gt; 
&gt; &gt;&gt; ?
&gt; &gt; 
&gt; &gt; Done.
&gt; 
&gt; This is a layering violation. AuxiliaryProcessProxy is a generic class that
&gt; can be used for a variety of process types. In addition to just being bad
&gt; for the design, if two messages use &quot;FileLoadRequest&quot; as a message name,
&gt; this will do the wrong thing.

Good point, I think I will create a virtual method in AuxiliaryProcessProxy, which WebProcessProxy can override, and do the work there.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569279</commentid>
    <comment_count>33</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-09-09 13:45:29 -0700</bug_when>
    <thetext>I have a much more basic question here. Why are we using a pid at all here? In most cases, I would assume it is preferable to use sandbox_extension_issue_file_to_process(), and pass an audit_token_t rather than a pid, since then you avoid pid re-use attacks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378190</attachid>
            <date>2019-09-06 08:13:09 -0700</date>
            <delta_ts>2019-09-06 08:39:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190906081308.patch</filename>
            <type>text/plain</type>
            <size>12097</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk1NzMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE5LTA5LTA2ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBh
IHJhY2UgY29uZGl0aW9uIHdoZW4gc3RhcnRpbmcgYSBsb2FkIG9mIGEgbG9jYWwgZmlsZSwgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgbm90IGZpbmlzaGVkIGxhdW5jaGluZworICAg
ICAgICB5ZXQsIGFuZCBpdHMgcGlkIGlzIG5vdCBhdmFpbGFibGUuIFdoZW4gd2UgdHJ5IHRvIGNy
ZWF0ZSBhIHNhbmRib3ggZXh0ZW5zaW9uIGJ5IHVzaW5nIHRoZSBwaWQgb2YgdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcywKKyAgICAgICAgaXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FzZXMgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMganVzdCBsYXVuY2hlZCBhbmQgaGFzIG5vdCBm
aW5pc2hlZCBsYXVuY2hpbmcgeWV0LiBUaGlzCisgICAgICAgIHByb2JsZW0gY2FuIGJlIGZpeGVk
IGJ5IHdhaXRpbmcgZm9yIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgdG8gZmluaXNoIGxhdW5jaGlu
ZyBiZWZvcmUgY3JlYXRpbmcgdGhlIHNhbmRib3ggZXh0ZW5zaW9uLiBJbgorICAgICAgICBvcmRl
ciB0byBkbyB0aGF0LCB0aGUgcHJvY2VzcyBsYXVuY2hlciBtdXN0IG5vdCBydW4gdGhlIGxhdW5j
aCByZXBseSBibG9jayBvbiB0aGUgbWFpbiB0aHJlYWQgYXMgaXQgY3VycmVudGx5IGRvZXMsIHNp
bmNlCisgICAgICAgIHRoYXQgYmxvY2sgd291bGQgbmV2ZXIgYmUgZXhlY3V0ZWQgd2hlbiB0aGUg
bWFpbiB0aHJlYWQgaXMgd2FpdGluZyBmb3IgdGhlIHByb2Nlc3MgdG8gZmluaXNoIGxhdW5jaGlu
Zy4gQSBiaW5hcnkKKyAgICAgICAgc2VtYXBob3JlIGlzIHVzZWQgZm9yIHN5bmNocm9uaXphdGlv
bi4gVGhlIHByb2Nlc3MgbGF1bmNoZXIgcmVwbHkgYmxvY2sgd2lsbCBzaWduYWwgdGhlIHNlbWFw
aG9yZSBvbiBhIG5vbiBtYWluIHRocmVhZCwKKyAgICAgICAgYW5kIHNjaGVkdWxlIHRoZSByZXN0
IHRvIGJlIGV4ZWN1dGVkIG9uIHRoZSBtYWluIHRocmVhZCBhcyBiZWZvcmUuIEluIGV2ZXJ5IGlu
c3RhbmNlIG9mIHdoZXJlIHdlIGNyZWF0ZSBhIHNhbmRib3gKKyAgICAgICAgZXh0ZW5zaW9uIGJ5
IHBpZCwgd2Ugd2lsbCB3YWl0IHVudGlsIHRoZSBwaWQgaXMgYXZhaWxhYmxlIGJlZm9yZSBwcm9j
ZWVkaW5nLiBJbiB0aGUgd2luZG93IG9mIHRpbWUgYmV0d2VlbiBzaWduYWxsaW5nCisgICAgICAg
IHRoZSBzZW1hcGhvcmUgYW5kIHNldHRpbmcgdGhlIHBpZCBtZW1iZXIgaW4gdGhlIHByb2Nlc3Mg
bGF1bmNoZXIsIHRoZSBwaWQgY2FuIGJlIGZvdW5kIGJ5IHVzaW5nIHRoZSB4cGMgY29ubmVjdGlv
bgorICAgICAgICBtZW1iZXIgaW4gdGhlIHByb2Nlc3MgbGF1bmNoZXIuCisKKyAgICAgICAgCisg
ICAgICAgICogU2hhcmVkL0NvY29hL1NhbmRib3hFeHRlbnNpb25Db2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIChXZWJL
aXQ6OkF1eGlsaWFyeVByb2Nlc3NQcm94eTo6d2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGlu
ZyBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZVNhbmRib3hFeHRlbnNpb25z
SWZOZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIu
aDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjpwcm9jZXNzSWRlbnRpZmllciBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6d2FpdEZvclByb2Nlc3NU
b0ZpbmlzaExhdW5jaGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9j
ZXNzTGF1bmNoZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1
bmNoUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisKIDIw
MTktMDktMDYgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS11bV1BFXSBEbyBub3QgZW5hYmxlIHRoZSBzYW5kYm94IGluIFNuYXAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1NhbmRib3hFeHRlbnNpb25Db2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9TYW5kYm94RXh0ZW5zaW9uQ29jb2Eu
bW0JKHJldmlzaW9uIDI0OTU2MSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1NhbmRi
b3hFeHRlbnNpb25Db2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQ5LDYgKzM0OSw3IEBAIGJv
b2wgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmUKIHsKICAgICBBU1NFUlQoIWhh
bmRsZS5tX3NhbmRib3hFeHRlbnNpb24pOwogICAgIAorICAgIEFTU0VSVChwaWQpOwogICAgIGlm
ICghcGlkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNDk1NjEpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA5LDYgKzEwOSwxMiBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6UHJvY2Vz
c0lkZW50aWZpZXIgY29yZVByb2Nlc3NJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9wcm9j
ZXNzSWRlbnRpZmllcjsgfQogCiAgICAgdm9pZCBzZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVk
KGJvb2wpOworICAgIAorICAgIHZvaWQgd2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGluZygp
IGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9wcm9jZXNzTGF1bmNoZXIpCisgICAgICAgICAg
ICBtX3Byb2Nlc3NMYXVuY2hlci0+d2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGluZygpOwor
ICAgIH0KIAogcHJvdGVjdGVkOgogICAgIC8vIFByb2Nlc3NMYXVuY2hlcjo6Q2xpZW50CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI0OTU2
MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNzAsMTIgKzEwNzAsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5p
dGlhbGl6ZVNhbmRibwogICAgICAgICAgICAgcmV0dXJuOwogCiAjaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgICAgICBpZiAoIXByb2Nl
c3NJZGVudGlmaWVyKCkpCisgICAgICAgICAgICBtX3Byb2Nlc3MtPndhaXRGb3JQcm9jZXNzVG9G
aW5pc2hMYXVuY2hpbmcoKTsKICAgICAgICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhh
bmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURpcmVjdG9yeVVSTC5maWxlU3lzdGVtUGF0aCgpLCBw
cm9jZXNzLnByb2Nlc3NJZGVudGlmaWVyKCksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7Ci0g
ICAgICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJl
c291cmNlRGlyZWN0b3J5VVJMKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotI2Vu
ZGlmCisjZWxzZQogICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJl
c291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIFNhbmRib3hFeHRlbnNpb246OlR5
cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgeworI2VuZGlmCiAgICAgICAg
ICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNl
RGlyZWN0b3J5VVJMKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTA4OCwx
MiArMTA4OCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJvCiAg
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIVdlYktpdDo6aXNJbnNwZWN0b3JQ
YWdlKCp0aGlzKSk7CiAKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9f
UFJPQ0VTU19CWV9QSUQpCisgICAgaWYgKCFwcm9jZXNzSWRlbnRpZmllcigpKQorICAgICAgICBt
X3Byb2Nlc3MtPndhaXRGb3JQcm9jZXNzVG9GaW5pc2hMYXVuY2hpbmcoKTsKICAgICBpZiAoU2Fu
ZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKCIvIiwgcHJvY2Vzcy5wcm9j
ZXNzSWRlbnRpZmllcigpLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgewotICAgICAgICB3aWxs
QWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICBpZiAoU2FuZGJveEV4dGVuc2lv
bjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNh
bmRib3hFeHRlbnNpb25IYW5kbGUpKSB7CisjZW5kaWYKICAgICAgICAgd2lsbEFjcXVpcmVVbml2
ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb24ocHJvY2Vzcyk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC0xMjEyLDkgKzEyMTIsMTIgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2Vi
UGFnZVByb3h5OjpsbwogICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3kgPSBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdzsKICAg
ICBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSA9IFVzZXJEYXRhKHByb2Nlc3MoKS50cmFuc2Zvcm1P
YmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhKS5nZXQoKSk7CiAjaWYgSEFWRShTQU5EQk9YX0lTU1VF
X1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQotICAgIGlmICghU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgcHJv
Y2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkp
Ci0jZW5kaWYKKyAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAgICAgIG1fcHJvY2Vz
cy0+d2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGluZygpOworICAgIFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURpcmVjdG9yeVBhdGgsIHByb2Nl
c3NJZGVudGlmaWVyKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOwor
I2Vsc2UKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUocmVzb3VyY2VEaXJlY3Rv
cnlQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgbG9hZFBhcmFtZXRlcnMu
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisjZW5kaWYKICAgICBhZGRQbGF0Zm9ybUxvYWRQYXJh
bWV0ZXJzKGxvYWRQYXJhbWV0ZXJzKTsKIAogICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vz
c1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0JKHJldmlz
aW9uIDI0OTU2MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsOSArMTI3LDEyIEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjcmVhdGVTYW5kYm94RXh0ZW5zaW8KICAgICAgICAgQk9PTCBpc0RpcmVjdG9yeTsK
ICAgICAgICAgaWYgKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0
UGF0aDpmaWxlc1swXSBpc0RpcmVjdG9yeTomaXNEaXJlY3RvcnldICYmICFpc0RpcmVjdG9yeSkg
ewogI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJ
RCkKLSAgICAgICAgICAgIGlmICghU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVh
ZEJ5UGlkKCIvIiwgcHJvY2Vzc0lkZW50aWZpZXIoKSwgZmlsZVJlYWRIYW5kbGUpKQotI2VuZGlm
CisgICAgICAgICAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAg
bV9wcm9jZXNzLT53YWl0Rm9yUHJvY2Vzc1RvRmluaXNoTGF1bmNoaW5nKCk7CisgICAgICAgICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQoIi8iLCBwcm9jZXNz
SWRlbnRpZmllcigpLCBmaWxlUmVhZEhhbmRsZSk7CisjZWxzZQogICAgICAgICAgICAgU2FuZGJv
eEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVh
ZE9ubHksIGZpbGVSZWFkSGFuZGxlKTsKKyNlbmRpZgogICAgICAgICAgICAgd2lsbEFjcXVpcmVV
bml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb24obV9wcm9jZXNzKTsKICAgICAgICAgfQog
ICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVu
Y2hlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1By
b2Nlc3NMYXVuY2hlci5oCShyZXZpc2lvbiAyNDk1NjEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorI2luY2x1ZGUgPHd0
Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgogCiAjaWYgUExBVEZPUk0oV0lOKQogI2luY2x1
ZGUgPHd0Zi93aW4vV2luMzJIYW5kbGUuaD4KQEAgLTg5LDEwICs5MCwyMSBAQCBwdWJsaWM6CiAg
ICAgfQogCiAgICAgYm9vbCBpc0xhdW5jaGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXVuY2hp
bmc7IH0KLSAgICBQcm9jZXNzSUQgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBt
X3Byb2Nlc3NJZGVudGlmaWVyOyB9CisgICAgUHJvY2Vzc0lEIHByb2Nlc3NJZGVudGlmaWVyKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX3Byb2Nlc3NJZGVudGlmaWVyKQorICAgICAgICAg
ICAgcmV0dXJuIG1fcHJvY2Vzc0lkZW50aWZpZXI7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAg
ICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCisgICAgICAgICAgICByZXR1cm4geHBjX2Nvbm5lY3Rp
b25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpOworI2VuZGlmCisgICAgICAgIHJldHVy
biAwOworICAgIH0KIAogICAgIHZvaWQgdGVybWluYXRlUHJvY2VzcygpOwogICAgIHZvaWQgaW52
YWxpZGF0ZSgpOworICAgIAorICAgIHZvaWQgd2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGlu
ZygpIHsgbV9zZW1hcGhvcmUud2FpdCgpOyB9CiAKIHByaXZhdGU6CiAgICAgUHJvY2Vzc0xhdW5j
aGVyKENsaWVudCosIExhdW5jaE9wdGlvbnMmJik7CkBAIC0xMDYsNiArMTE4LDggQEAgcHJpdmF0
ZToKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9u
X3Q+IG1feHBjQ29ubmVjdGlvbjsKKyAgICBPU09iamVjdFB0cjxkaXNwYXRjaF9xdWV1ZV90PiBt
X3F1ZXVlOworICAgIEJpbmFyeVNlbWFwaG9yZSBtX3NlbWFwaG9yZTsKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oV0lOKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvbWFj
L1Byb2Nlc3NMYXVuY2hlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xhdW5jaGVyTWFjLm1tCShyZXZpc2lvbiAyNDk1NjEp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xhdW5jaGVy
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsMzYgKzI0Myw0NCBAQCB2b2lkIFByb2Nlc3NM
YXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAgfQogCiAgICAgcmVmKCk7Ci0gICAgeHBjX2Nv
bm5lY3Rpb25fc2VuZF9tZXNzYWdlX3dpdGhfcmVwbHkobV94cGNDb25uZWN0aW9uLmdldCgpLCBi
b290c3RyYXBNZXNzYWdlLmdldCgpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeKHhwY19v
YmplY3RfdCByZXBseSkgeworICAgIG1fcXVldWUgPSBkaXNwYXRjaF9xdWV1ZV9jcmVhdGUoIlBy
b2Nlc3MgbGF1bmNoZXIgcXVldWUiLCBESVNQQVRDSF9RVUVVRV9TRVJJQUwpOworCisgICAgeHBj
X2Nvbm5lY3Rpb25fc2VuZF9tZXNzYWdlX3dpdGhfcmVwbHkobV94cGNDb25uZWN0aW9uLmdldCgp
LCBib290c3RyYXBNZXNzYWdlLmdldCgpLCBtX3F1ZXVlLmdldCgpLCBeKHhwY19vYmplY3RfdCBy
ZXBseSkgewogICAgICAgICAvLyBFcnJvcnMgYXJlIGhhbmRsZWQgaW4gdGhlIGV2ZW50IGhhbmRs
ZXIuCiAgICAgICAgIC8vIEl0IGlzIHBvc3NpYmxlIGZvciB0aGlzIGJsb2NrIHRvIGJlIGNhbGxl
ZCBhZnRlciB0aGUgZXJyb3IgZXZlbnQgaGFuZGxlciwgaW4gd2hpY2ggY2FzZSB3ZSdyZSBubyBs
b25nZXIKICAgICAgICAgLy8gbGF1bmNoaW5nIGFuZCB3ZSBhbHJlYWR5IHRvb2sgY2FyZSBvZiBj
bGVhbmluZyB0aGluZ3MgdXAuCi0gICAgICAgIGlmIChpc0xhdW5jaGluZygpICYmIHhwY19nZXRf
dHlwZShyZXBseSkgIT0gWFBDX1RZUEVfRVJST1IpIHsKLSAgICAgICAgICAgIEFTU0VSVCh4cGNf
Z2V0X3R5cGUocmVwbHkpID09IFhQQ19UWVBFX0RJQ1RJT05BUlkpOwotICAgICAgICAgICAgQVNT
RVJUKCFzdHJjbXAoeHBjX2RpY3Rpb25hcnlfZ2V0X3N0cmluZyhyZXBseSwgIm1lc3NhZ2UtbmFt
ZSIpLCAicHJvY2Vzcy1maW5pc2hlZC1sYXVuY2hpbmciKSk7CisgICAgICAgIE9TT2JqZWN0UHRy
PHhwY19vYmplY3RfdD4gciA9IHJlcGx5OworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlz
LCByLCBsaXN0ZW5pbmdQb3J0XSB7CisgICAgICAgICAgICBpZiAoaXNMYXVuY2hpbmcoKSAmJiB4
cGNfZ2V0X3R5cGUoci5nZXQoKSkgIT0gWFBDX1RZUEVfRVJST1IpIHsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQoeHBjX2dldF90eXBlKHIuZ2V0KCkpID09IFhQQ19UWVBFX0RJQ1RJT05BUlkpOwor
ICAgICAgICAgICAgICAgIEFTU0VSVCghc3RyY21wKHhwY19kaWN0aW9uYXJ5X2dldF9zdHJpbmco
ci5nZXQoKSwgIm1lc3NhZ2UtbmFtZSIpLCAicHJvY2Vzcy1maW5pc2hlZC1sYXVuY2hpbmciKSk7
CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgICAgICAgICBtYWNoX3BvcnRfdXJlZnNfdCBz
ZW5kUmlnaHRDb3VudCA9IDA7Ci0gICAgICAgICAgICBtYWNoX3BvcnRfZ2V0X3JlZnMobWFjaF90
YXNrX3NlbGYoKSwgbGlzdGVuaW5nUG9ydCwgTUFDSF9QT1JUX1JJR0hUX1NFTkQsICZzZW5kUmln
aHRDb3VudCk7Ci0gICAgICAgICAgICBBU1NFUlQoc2VuZFJpZ2h0Q291bnQgPj0gMSk7CisgICAg
ICAgICAgICAgICAgbWFjaF9wb3J0X3VyZWZzX3Qgc2VuZFJpZ2h0Q291bnQgPSAwOworICAgICAg
ICAgICAgICAgIG1hY2hfcG9ydF9nZXRfcmVmcyhtYWNoX3Rhc2tfc2VsZigpLCBsaXN0ZW5pbmdQ
b3J0LCBNQUNIX1BPUlRfUklHSFRfU0VORCwgJnNlbmRSaWdodENvdW50KTsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQoc2VuZFJpZ2h0Q291bnQgPj0gMSk7CiAjZW5kaWYKIAotICAgICAgICAgICAg
ZGVhbGxvY2F0ZVNlbmRSaWdodFNhZmVseShsaXN0ZW5pbmdQb3J0KTsKKyAgICAgICAgICAgICAg
ICBkZWFsbG9jYXRlU2VuZFJpZ2h0U2FmZWx5KGxpc3RlbmluZ1BvcnQpOwogCi0gICAgICAgICAg
ICBpZiAoIW1feHBjQ29ubmVjdGlvbikgewotICAgICAgICAgICAgICAgIC8vIFRoZSBwcm9jZXNz
IHdhcyB0ZXJtaW5hdGVkLgotICAgICAgICAgICAgICAgIGRpZEZpbmlzaExhdW5jaGluZ1Byb2Nl
c3MoMCwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKCkpOwotICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoIW1feHBjQ29ubmVjdGlv
bikgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGUgcHJvY2VzcyB3YXMgdGVybWluYXRlZC4K
KyAgICAgICAgICAgICAgICAgICAgZGlkRmluaXNoTGF1bmNoaW5nUHJvY2VzcygwLCBJUEM6OkNv
bm5lY3Rpb246OklkZW50aWZpZXIoKSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIFRoZSBwcm9jZXNzIGhhcyBmaW5pc2hl
ZCBsYXVuY2hpbmcsIGdyYWIgdGhlIHBpZCBmcm9tIHRoZSBjb25uZWN0aW9uLgotICAgICAgICAg
ICAgcGlkX3QgcHJvY2Vzc0lkZW50aWZpZXIgPSB4cGNfY29ubmVjdGlvbl9nZXRfcGlkKG1feHBj
Q29ubmVjdGlvbi5nZXQoKSk7CisgICAgICAgICAgICAgICAgLy8gVGhlIHByb2Nlc3MgaGFzIGZp
bmlzaGVkIGxhdW5jaGluZywgZ3JhYiB0aGUgcGlkIGZyb20gdGhlIGNvbm5lY3Rpb24uCisgICAg
ICAgICAgICAgICAgcGlkX3QgcHJvY2Vzc0lkZW50aWZpZXIgPSB4cGNfY29ubmVjdGlvbl9nZXRf
cGlkKG1feHBjQ29ubmVjdGlvbi5nZXQoKSk7CiAKLSAgICAgICAgICAgIGRpZEZpbmlzaExhdW5j
aGluZ1Byb2Nlc3MocHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmll
cihsaXN0ZW5pbmdQb3J0LCBtX3hwY0Nvbm5lY3Rpb24pKTsKLSAgICAgICAgICAgIG1feHBjQ29u
bmVjdGlvbiA9IG51bGxwdHI7Ci0gICAgICAgIH0KKyAgICAgICAgICAgICAgICBkaWRGaW5pc2hM
YXVuY2hpbmdQcm9jZXNzKHByb2Nlc3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50
aWZpZXIobGlzdGVuaW5nUG9ydCwgbV94cGNDb25uZWN0aW9uKSk7CisgICAgICAgICAgICAgICAg
bV94cGNDb25uZWN0aW9uID0gbnVsbHB0cjsKKyAgICAgICAgICAgIH0KIAotICAgICAgICBkZXJl
ZigpOworICAgICAgICAgICAgbV9xdWV1ZSA9IG51bGxwdHI7CisgICAgICAgICAgICBkZXJlZigp
OworICAgICAgICB9KTsKKyAgICAgICAgCisgICAgICAgIG1fc2VtYXBob3JlLnNpZ25hbCgpOwog
ICAgIH0pOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378192</attachid>
            <date>2019-09-06 08:39:07 -0700</date>
            <delta_ts>2019-09-06 11:12:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190906083906.patch</filename>
            <type>text/plain</type>
            <size>12183</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk1NzMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE5LTA5LTA2ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBh
IHJhY2UgY29uZGl0aW9uIHdoZW4gc3RhcnRpbmcgYSBsb2FkIG9mIGEgbG9jYWwgZmlsZSwgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgbm90IGZpbmlzaGVkIGxhdW5jaGluZworICAg
ICAgICB5ZXQsIGFuZCBpdHMgcGlkIGlzIG5vdCBhdmFpbGFibGUuIFdoZW4gd2UgdHJ5IHRvIGNy
ZWF0ZSBhIHNhbmRib3ggZXh0ZW5zaW9uIGJ5IHVzaW5nIHRoZSBwaWQgb2YgdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcywKKyAgICAgICAgaXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FzZXMgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMganVzdCBsYXVuY2hlZCBhbmQgaGFzIG5vdCBm
aW5pc2hlZCBsYXVuY2hpbmcgeWV0LiBUaGlzCisgICAgICAgIHByb2JsZW0gY2FuIGJlIGZpeGVk
IGJ5IHdhaXRpbmcgZm9yIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgdG8gZmluaXNoIGxhdW5jaGlu
ZyBiZWZvcmUgY3JlYXRpbmcgdGhlIHNhbmRib3ggZXh0ZW5zaW9uLiBJbgorICAgICAgICBvcmRl
ciB0byBkbyB0aGF0LCB0aGUgcHJvY2VzcyBsYXVuY2hlciBtdXN0IG5vdCBydW4gdGhlIGxhdW5j
aCByZXBseSBibG9jayBvbiB0aGUgbWFpbiB0aHJlYWQgYXMgaXQgY3VycmVudGx5IGRvZXMsIHNp
bmNlCisgICAgICAgIHRoYXQgYmxvY2sgd291bGQgbmV2ZXIgYmUgZXhlY3V0ZWQgd2hlbiB0aGUg
bWFpbiB0aHJlYWQgaXMgd2FpdGluZyBmb3IgdGhlIHByb2Nlc3MgdG8gZmluaXNoIGxhdW5jaGlu
Zy4gQSBiaW5hcnkKKyAgICAgICAgc2VtYXBob3JlIGlzIHVzZWQgZm9yIHN5bmNocm9uaXphdGlv
bi4gVGhlIHByb2Nlc3MgbGF1bmNoZXIgcmVwbHkgYmxvY2sgd2lsbCBzaWduYWwgdGhlIHNlbWFw
aG9yZSBvbiBhIG5vbiBtYWluIHRocmVhZCwKKyAgICAgICAgYW5kIHNjaGVkdWxlIHRoZSByZXN0
IHRvIGJlIGV4ZWN1dGVkIG9uIHRoZSBtYWluIHRocmVhZCBhcyBiZWZvcmUuIEluIGV2ZXJ5IGlu
c3RhbmNlIG9mIHdoZXJlIHdlIGNyZWF0ZSBhIHNhbmRib3gKKyAgICAgICAgZXh0ZW5zaW9uIGJ5
IHBpZCwgd2Ugd2lsbCB3YWl0IHVudGlsIHRoZSBwaWQgaXMgYXZhaWxhYmxlIGJlZm9yZSBwcm9j
ZWVkaW5nLiBJbiB0aGUgd2luZG93IG9mIHRpbWUgYmV0d2VlbiBzaWduYWxsaW5nCisgICAgICAg
IHRoZSBzZW1hcGhvcmUgYW5kIHNldHRpbmcgdGhlIHBpZCBtZW1iZXIgaW4gdGhlIHByb2Nlc3Mg
bGF1bmNoZXIsIHRoZSBwaWQgY2FuIGJlIGZvdW5kIGJ5IHVzaW5nIHRoZSB4cGMgY29ubmVjdGlv
bgorICAgICAgICBtZW1iZXIgaW4gdGhlIHByb2Nlc3MgbGF1bmNoZXIuCisKKyAgICAgICAgCisg
ICAgICAgICogU2hhcmVkL0NvY29hL1NhbmRib3hFeHRlbnNpb25Db2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIChXZWJL
aXQ6OkF1eGlsaWFyeVByb2Nlc3NQcm94eTo6d2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGlu
ZyBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZVNhbmRib3hFeHRlbnNpb25z
SWZOZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIu
aDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjpwcm9jZXNzSWRlbnRpZmllciBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6d2FpdEZvclByb2Nlc3NU
b0ZpbmlzaExhdW5jaGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9j
ZXNzTGF1bmNoZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1
bmNoUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisKIDIw
MTktMDktMDYgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS11bV1BFXSBEbyBub3QgZW5hYmxlIHRoZSBzYW5kYm94IGluIFNuYXAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1NhbmRib3hFeHRlbnNpb25Db2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9TYW5kYm94RXh0ZW5zaW9uQ29jb2Eu
bW0JKHJldmlzaW9uIDI0OTU2MSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1NhbmRi
b3hFeHRlbnNpb25Db2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQ5LDYgKzM0OSw3IEBAIGJv
b2wgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmUKIHsKICAgICBBU1NFUlQoIWhh
bmRsZS5tX3NhbmRib3hFeHRlbnNpb24pOwogICAgIAorICAgIEFTU0VSVChwaWQpOwogICAgIGlm
ICghcGlkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNDk1NjEpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA5LDYgKzEwOSwxMiBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6UHJvY2Vz
c0lkZW50aWZpZXIgY29yZVByb2Nlc3NJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9wcm9j
ZXNzSWRlbnRpZmllcjsgfQogCiAgICAgdm9pZCBzZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVk
KGJvb2wpOworICAgIAorICAgIHZvaWQgd2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGluZygp
IGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9wcm9jZXNzTGF1bmNoZXIpCisgICAgICAgICAg
ICBtX3Byb2Nlc3NMYXVuY2hlci0+d2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGluZygpOwor
ICAgIH0KIAogcHJvdGVjdGVkOgogICAgIC8vIFByb2Nlc3NMYXVuY2hlcjo6Q2xpZW50CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI0OTU2
MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNzAsMTIgKzEwNzAsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5p
dGlhbGl6ZVNhbmRibwogICAgICAgICAgICAgcmV0dXJuOwogCiAjaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgICAgICBpZiAoIXByb2Nl
c3NJZGVudGlmaWVyKCkpCisgICAgICAgICAgICBtX3Byb2Nlc3MtPndhaXRGb3JQcm9jZXNzVG9G
aW5pc2hMYXVuY2hpbmcoKTsKICAgICAgICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhh
bmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURpcmVjdG9yeVVSTC5maWxlU3lzdGVtUGF0aCgpLCBw
cm9jZXNzLnByb2Nlc3NJZGVudGlmaWVyKCksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7Ci0g
ICAgICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJl
c291cmNlRGlyZWN0b3J5VVJMKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotI2Vu
ZGlmCisjZWxzZQogICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJl
c291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIFNhbmRib3hFeHRlbnNpb246OlR5
cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgeworI2VuZGlmCiAgICAgICAg
ICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNl
RGlyZWN0b3J5VVJMKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTA4OCwx
MiArMTA4OCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJvCiAg
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIVdlYktpdDo6aXNJbnNwZWN0b3JQ
YWdlKCp0aGlzKSk7CiAKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9f
UFJPQ0VTU19CWV9QSUQpCisgICAgaWYgKCFwcm9jZXNzSWRlbnRpZmllcigpKQorICAgICAgICBt
X3Byb2Nlc3MtPndhaXRGb3JQcm9jZXNzVG9GaW5pc2hMYXVuY2hpbmcoKTsKICAgICBpZiAoU2Fu
ZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKCIvIiwgcHJvY2Vzcy5wcm9j
ZXNzSWRlbnRpZmllcigpLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgewotICAgICAgICB3aWxs
QWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICBpZiAoU2FuZGJveEV4dGVuc2lv
bjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNh
bmRib3hFeHRlbnNpb25IYW5kbGUpKSB7CisjZW5kaWYKICAgICAgICAgd2lsbEFjcXVpcmVVbml2
ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb24ocHJvY2Vzcyk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC0xMjEyLDkgKzEyMTIsMTIgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2Vi
UGFnZVByb3h5OjpsbwogICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3kgPSBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdzsKICAg
ICBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSA9IFVzZXJEYXRhKHByb2Nlc3MoKS50cmFuc2Zvcm1P
YmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhKS5nZXQoKSk7CiAjaWYgSEFWRShTQU5EQk9YX0lTU1VF
X1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQotICAgIGlmICghU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgcHJv
Y2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkp
Ci0jZW5kaWYKKyAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAgICAgIG1fcHJvY2Vz
cy0+d2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGluZygpOworICAgIFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURpcmVjdG9yeVBhdGgsIHByb2Nl
c3NJZGVudGlmaWVyKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOwor
I2Vsc2UKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUocmVzb3VyY2VEaXJlY3Rv
cnlQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgbG9hZFBhcmFtZXRlcnMu
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisjZW5kaWYKICAgICBhZGRQbGF0Zm9ybUxvYWRQYXJh
bWV0ZXJzKGxvYWRQYXJhbWV0ZXJzKTsKIAogICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vz
c1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0JKHJldmlz
aW9uIDI0OTU2MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsOSArMTI3LDEyIEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjcmVhdGVTYW5kYm94RXh0ZW5zaW8KICAgICAgICAgQk9PTCBpc0RpcmVjdG9yeTsK
ICAgICAgICAgaWYgKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0
UGF0aDpmaWxlc1swXSBpc0RpcmVjdG9yeTomaXNEaXJlY3RvcnldICYmICFpc0RpcmVjdG9yeSkg
ewogI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJ
RCkKLSAgICAgICAgICAgIGlmICghU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVh
ZEJ5UGlkKCIvIiwgcHJvY2Vzc0lkZW50aWZpZXIoKSwgZmlsZVJlYWRIYW5kbGUpKQotI2VuZGlm
CisgICAgICAgICAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAgICAgICAgICAgICAg
bV9wcm9jZXNzLT53YWl0Rm9yUHJvY2Vzc1RvRmluaXNoTGF1bmNoaW5nKCk7CisgICAgICAgICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQoIi8iLCBwcm9jZXNz
SWRlbnRpZmllcigpLCBmaWxlUmVhZEhhbmRsZSk7CisjZWxzZQogICAgICAgICAgICAgU2FuZGJv
eEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVh
ZE9ubHksIGZpbGVSZWFkSGFuZGxlKTsKKyNlbmRpZgogICAgICAgICAgICAgd2lsbEFjcXVpcmVV
bml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb24obV9wcm9jZXNzKTsKICAgICAgICAgfQog
ICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVu
Y2hlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1By
b2Nlc3NMYXVuY2hlci5oCShyZXZpc2lvbiAyNDk1NjEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorI2luY2x1ZGUgPHd0
Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgogCiAjaWYgUExBVEZPUk0oV0lOKQogI2luY2x1
ZGUgPHd0Zi93aW4vV2luMzJIYW5kbGUuaD4KQEAgLTg5LDEwICs5MCwyOCBAQCBwdWJsaWM6CiAg
ICAgfQogCiAgICAgYm9vbCBpc0xhdW5jaGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXVuY2hp
bmc7IH0KLSAgICBQcm9jZXNzSUQgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBt
X3Byb2Nlc3NJZGVudGlmaWVyOyB9CisgICAgUHJvY2Vzc0lEIHByb2Nlc3NJZGVudGlmaWVyKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX3Byb2Nlc3NJZGVudGlmaWVyKQorICAgICAgICAg
ICAgcmV0dXJuIG1fcHJvY2Vzc0lkZW50aWZpZXI7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAg
ICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCisgICAgICAgICAgICByZXR1cm4geHBjX2Nvbm5lY3Rp
b25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpOworI2VuZGlmCisgICAgICAgIHJldHVy
biAwOworICAgIH0KIAogICAgIHZvaWQgdGVybWluYXRlUHJvY2VzcygpOwogICAgIHZvaWQgaW52
YWxpZGF0ZSgpOworICAgIAorICAgIHZvaWQgd2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGlu
ZygpCisgICAgeworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgICAgICBtX3NlbWFwaG9yZS53YWl0
KCk7CisjZWxzZQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgorICAgIH0K
IAogcHJpdmF0ZToKICAgICBQcm9jZXNzTGF1bmNoZXIoQ2xpZW50KiwgTGF1bmNoT3B0aW9ucyYm
KTsKQEAgLTEwNiw2ICsxMjUsOCBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4gbV94cGNDb25uZWN0aW9uOworICAgIE9T
T2JqZWN0UHRyPGRpc3BhdGNoX3F1ZXVlX3Q+IG1fcXVldWU7CisgICAgQmluYXJ5U2VtYXBob3Jl
IG1fc2VtYXBob3JlOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xhdW5jaGVyTWFjLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1
bmNoZXJNYWMubW0JKHJldmlzaW9uIDI0OTU2MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI0
MywzNiArMjQzLDQ0IEBAIHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAg
ICB9CiAKICAgICByZWYoKTsKLSAgICB4cGNfY29ubmVjdGlvbl9zZW5kX21lc3NhZ2Vfd2l0aF9y
ZXBseShtX3hwY0Nvbm5lY3Rpb24uZ2V0KCksIGJvb3RzdHJhcE1lc3NhZ2UuZ2V0KCksIGRpc3Bh
dGNoX2dldF9tYWluX3F1ZXVlKCksIF4oeHBjX29iamVjdF90IHJlcGx5KSB7CisgICAgbV9xdWV1
ZSA9IGRpc3BhdGNoX3F1ZXVlX2NyZWF0ZSgiUHJvY2VzcyBsYXVuY2hlciBxdWV1ZSIsIERJU1BB
VENIX1FVRVVFX1NFUklBTCk7CisKKyAgICB4cGNfY29ubmVjdGlvbl9zZW5kX21lc3NhZ2Vfd2l0
aF9yZXBseShtX3hwY0Nvbm5lY3Rpb24uZ2V0KCksIGJvb3RzdHJhcE1lc3NhZ2UuZ2V0KCksIG1f
cXVldWUuZ2V0KCksIF4oeHBjX29iamVjdF90IHJlcGx5KSB7CiAgICAgICAgIC8vIEVycm9ycyBh
cmUgaGFuZGxlZCBpbiB0aGUgZXZlbnQgaGFuZGxlci4KICAgICAgICAgLy8gSXQgaXMgcG9zc2li
bGUgZm9yIHRoaXMgYmxvY2sgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBlcnJvciBldmVudCBoYW5k
bGVyLCBpbiB3aGljaCBjYXNlIHdlJ3JlIG5vIGxvbmdlcgogICAgICAgICAvLyBsYXVuY2hpbmcg
YW5kIHdlIGFscmVhZHkgdG9vayBjYXJlIG9mIGNsZWFuaW5nIHRoaW5ncyB1cC4KLSAgICAgICAg
aWYgKGlzTGF1bmNoaW5nKCkgJiYgeHBjX2dldF90eXBlKHJlcGx5KSAhPSBYUENfVFlQRV9FUlJP
UikgewotICAgICAgICAgICAgQVNTRVJUKHhwY19nZXRfdHlwZShyZXBseSkgPT0gWFBDX1RZUEVf
RElDVElPTkFSWSk7Ci0gICAgICAgICAgICBBU1NFUlQoIXN0cmNtcCh4cGNfZGljdGlvbmFyeV9n
ZXRfc3RyaW5nKHJlcGx5LCAibWVzc2FnZS1uYW1lIiksICJwcm9jZXNzLWZpbmlzaGVkLWxhdW5j
aGluZyIpKTsKKyAgICAgICAgT1NPYmplY3RQdHI8eHBjX29iamVjdF90PiByID0gcmVwbHk7Cisg
ICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHIsIGxpc3RlbmluZ1BvcnRdIHsKKyAgICAg
ICAgICAgIGlmIChpc0xhdW5jaGluZygpICYmIHhwY19nZXRfdHlwZShyLmdldCgpKSAhPSBYUENf
VFlQRV9FUlJPUikgeworICAgICAgICAgICAgICAgIEFTU0VSVCh4cGNfZ2V0X3R5cGUoci5nZXQo
KSkgPT0gWFBDX1RZUEVfRElDVElPTkFSWSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKCFzdHJj
bXAoeHBjX2RpY3Rpb25hcnlfZ2V0X3N0cmluZyhyLmdldCgpLCAibWVzc2FnZS1uYW1lIiksICJw
cm9jZXNzLWZpbmlzaGVkLWxhdW5jaGluZyIpKTsKIAogI2lmICFBU1NFUlRfRElTQUJMRUQKLSAg
ICAgICAgICAgIG1hY2hfcG9ydF91cmVmc190IHNlbmRSaWdodENvdW50ID0gMDsKLSAgICAgICAg
ICAgIG1hY2hfcG9ydF9nZXRfcmVmcyhtYWNoX3Rhc2tfc2VsZigpLCBsaXN0ZW5pbmdQb3J0LCBN
QUNIX1BPUlRfUklHSFRfU0VORCwgJnNlbmRSaWdodENvdW50KTsKLSAgICAgICAgICAgIEFTU0VS
VChzZW5kUmlnaHRDb3VudCA+PSAxKTsKKyAgICAgICAgICAgICAgICBtYWNoX3BvcnRfdXJlZnNf
dCBzZW5kUmlnaHRDb3VudCA9IDA7CisgICAgICAgICAgICAgICAgbWFjaF9wb3J0X2dldF9yZWZz
KG1hY2hfdGFza19zZWxmKCksIGxpc3RlbmluZ1BvcnQsIE1BQ0hfUE9SVF9SSUdIVF9TRU5ELCAm
c2VuZFJpZ2h0Q291bnQpOworICAgICAgICAgICAgICAgIEFTU0VSVChzZW5kUmlnaHRDb3VudCA+
PSAxKTsKICNlbmRpZgogCi0gICAgICAgICAgICBkZWFsbG9jYXRlU2VuZFJpZ2h0U2FmZWx5KGxp
c3RlbmluZ1BvcnQpOworICAgICAgICAgICAgICAgIGRlYWxsb2NhdGVTZW5kUmlnaHRTYWZlbHko
bGlzdGVuaW5nUG9ydCk7CiAKLSAgICAgICAgICAgIGlmICghbV94cGNDb25uZWN0aW9uKSB7Ci0g
ICAgICAgICAgICAgICAgLy8gVGhlIHByb2Nlc3Mgd2FzIHRlcm1pbmF0ZWQuCi0gICAgICAgICAg
ICAgICAgZGlkRmluaXNoTGF1bmNoaW5nUHJvY2VzcygwLCBJUEM6OkNvbm5lY3Rpb246OklkZW50
aWZpZXIoKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGlmICghbV94cGNDb25uZWN0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIC8v
IFRoZSBwcm9jZXNzIHdhcyB0ZXJtaW5hdGVkLgorICAgICAgICAgICAgICAgICAgICBkaWRGaW5p
c2hMYXVuY2hpbmdQcm9jZXNzKDAsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcigpKTsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgLy8gVGhlIHByb2Nlc3MgaGFzIGZpbmlzaGVkIGxhdW5jaGluZywgZ3JhYiB0aGUgcGlkIGZy
b20gdGhlIGNvbm5lY3Rpb24uCi0gICAgICAgICAgICBwaWRfdCBwcm9jZXNzSWRlbnRpZmllciA9
IHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgpKTsKKyAgICAgICAg
ICAgICAgICAvLyBUaGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1bmNoaW5nLCBncmFiIHRoZSBw
aWQgZnJvbSB0aGUgY29ubmVjdGlvbi4KKyAgICAgICAgICAgICAgICBwaWRfdCBwcm9jZXNzSWRl
bnRpZmllciA9IHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgpKTsK
IAotICAgICAgICAgICAgZGlkRmluaXNoTGF1bmNoaW5nUHJvY2Vzcyhwcm9jZXNzSWRlbnRpZmll
ciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKGxpc3RlbmluZ1BvcnQsIG1feHBjQ29ubmVj
dGlvbikpOwotICAgICAgICAgICAgbV94cGNDb25uZWN0aW9uID0gbnVsbHB0cjsKLSAgICAgICAg
fQorICAgICAgICAgICAgICAgIGRpZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3MocHJvY2Vzc0lkZW50
aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcihsaXN0ZW5pbmdQb3J0LCBtX3hwY0Nv
bm5lY3Rpb24pKTsKKyAgICAgICAgICAgICAgICBtX3hwY0Nvbm5lY3Rpb24gPSBudWxscHRyOwor
ICAgICAgICAgICAgfQogCi0gICAgICAgIGRlcmVmKCk7CisgICAgICAgICAgICBtX3F1ZXVlID0g
bnVsbHB0cjsKKyAgICAgICAgICAgIGRlcmVmKCk7CisgICAgICAgIH0pOworICAgICAgICAKKyAg
ICAgICAgbV9zZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378211</attachid>
            <date>2019-09-06 11:12:27 -0700</date>
            <delta_ts>2019-09-07 16:29:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190906111227.patch</filename>
            <type>text/plain</type>
            <size>12191</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk1NzMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE5LTA5LTA2ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBh
IHJhY2UgY29uZGl0aW9uIHdoZW4gc3RhcnRpbmcgYSBsb2FkIG9mIGEgbG9jYWwgZmlsZSwgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgbm90IGZpbmlzaGVkIGxhdW5jaGluZworICAg
ICAgICB5ZXQsIGFuZCBpdHMgcGlkIGlzIG5vdCBhdmFpbGFibGUuIFdoZW4gd2UgdHJ5IHRvIGNy
ZWF0ZSBhIHNhbmRib3ggZXh0ZW5zaW9uIGJ5IHVzaW5nIHRoZSBwaWQgb2YgdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcywKKyAgICAgICAgaXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FzZXMgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMganVzdCBsYXVuY2hlZCBhbmQgaGFzIG5vdCBm
aW5pc2hlZCBsYXVuY2hpbmcgeWV0LiBUaGlzCisgICAgICAgIHByb2JsZW0gY2FuIGJlIGZpeGVk
IGJ5IHdhaXRpbmcgZm9yIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgdG8gZmluaXNoIGxhdW5jaGlu
ZyBiZWZvcmUgY3JlYXRpbmcgdGhlIHNhbmRib3ggZXh0ZW5zaW9uLiBJbgorICAgICAgICBvcmRl
ciB0byBkbyB0aGF0LCB0aGUgcHJvY2VzcyBsYXVuY2hlciBtdXN0IG5vdCBydW4gdGhlIGxhdW5j
aCByZXBseSBibG9jayBvbiB0aGUgbWFpbiB0aHJlYWQgYXMgaXQgY3VycmVudGx5IGRvZXMsIHNp
bmNlCisgICAgICAgIHRoYXQgYmxvY2sgd291bGQgbmV2ZXIgYmUgZXhlY3V0ZWQgd2hlbiB0aGUg
bWFpbiB0aHJlYWQgaXMgd2FpdGluZyBmb3IgdGhlIHByb2Nlc3MgdG8gZmluaXNoIGxhdW5jaGlu
Zy4gQSBiaW5hcnkKKyAgICAgICAgc2VtYXBob3JlIGlzIHVzZWQgZm9yIHN5bmNocm9uaXphdGlv
bi4gVGhlIHByb2Nlc3MgbGF1bmNoZXIgcmVwbHkgYmxvY2sgd2lsbCBzaWduYWwgdGhlIHNlbWFw
aG9yZSBvbiBhIG5vbiBtYWluIHRocmVhZCwKKyAgICAgICAgYW5kIHNjaGVkdWxlIHRoZSByZXN0
IHRvIGJlIGV4ZWN1dGVkIG9uIHRoZSBtYWluIHRocmVhZCBhcyBiZWZvcmUuIEluIGV2ZXJ5IGlu
c3RhbmNlIG9mIHdoZXJlIHdlIGNyZWF0ZSBhIHNhbmRib3gKKyAgICAgICAgZXh0ZW5zaW9uIGJ5
IHBpZCwgd2Ugd2lsbCB3YWl0IHVudGlsIHRoZSBwaWQgaXMgYXZhaWxhYmxlIGJlZm9yZSBwcm9j
ZWVkaW5nLiBJbiB0aGUgd2luZG93IG9mIHRpbWUgYmV0d2VlbiBzaWduYWxsaW5nCisgICAgICAg
IHRoZSBzZW1hcGhvcmUgYW5kIHNldHRpbmcgdGhlIHBpZCBtZW1iZXIgaW4gdGhlIHByb2Nlc3Mg
bGF1bmNoZXIsIHRoZSBwaWQgY2FuIGJlIGZvdW5kIGJ5IHVzaW5nIHRoZSB4cGMgY29ubmVjdGlv
bgorICAgICAgICBtZW1iZXIgaW4gdGhlIHByb2Nlc3MgbGF1bmNoZXIuCisgICAgICAgIAorICAg
ICAgICAqIFNoYXJlZC9Db2NvYS9TYW5kYm94RXh0ZW5zaW9uQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZCk6CisgICAg
ICAgICogVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oOgorICAgICAgICAoV2ViS2l0
OjpBdXhpbGlhcnlQcm9jZXNzUHJveHk6OndhaXRGb3JQcm9jZXNzVG9GaW5pc2hMYXVuY2hpbmcg
Y29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGVTYW5kYm94RXh0ZW5zaW9uc0lm
TmVlZGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmg6
CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6cHJvY2Vzc0lkZW50aWZpZXIgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OndhaXRGb3JQcm9jZXNzVG9G
aW5pc2hMYXVuY2hpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vz
c0xhdW5jaGVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5j
aFByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorCiAyMDE5
LTA5LTA2ICBQYXRyaWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW1dQRV0gRG8gbm90IGVuYWJsZSB0aGUgc2FuZGJveCBpbiBTbmFwCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9TYW5kYm94RXh0ZW5zaW9uQ29jb2EubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvU2FuZGJveEV4dGVuc2lvbkNvY29hLm1t
CShyZXZpc2lvbiAyNDk1NjEpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9TYW5kYm94
RXh0ZW5zaW9uQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0OSw2ICszNDksNyBAQCBib29s
IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlCiB7CiAgICAgQVNTRVJUKCFoYW5k
bGUubV9zYW5kYm94RXh0ZW5zaW9uKTsKICAgICAKKyAgICBBU1NFUlQocGlkKTsKICAgICBpZiAo
IXBpZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjQ5NTYxKQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwOSw2ICsxMDksMTIgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OlByb2Nlc3NJ
ZGVudGlmaWVyIGNvcmVQcm9jZXNzSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fcHJvY2Vz
c0lkZW50aWZpZXI7IH0KIAogICAgIHZvaWQgc2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChi
b29sKTsKKyAgICAKKyAgICB2b2lkIHdhaXRGb3JQcm9jZXNzVG9GaW5pc2hMYXVuY2hpbmcoKSBj
b25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fcHJvY2Vzc0xhdW5jaGVyKQorICAgICAgICAgICAg
bV9wcm9jZXNzTGF1bmNoZXItPndhaXRGb3JQcm9jZXNzVG9GaW5pc2hMYXVuY2hpbmcoKTsKKyAg
ICB9CiAKIHByb3RlY3RlZDoKICAgICAvLyBQcm9jZXNzTGF1bmNoZXI6OkNsaWVudApJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyNDk1NjEp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDcwLDEyICsxMDcwLDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRp
YWxpemVTYW5kYm8KICAgICAgICAgICAgIHJldHVybjsKIAogI2lmIEhBVkUoU0FOREJPWF9JU1NV
RV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKKyAgICAgICAgaWYgKCFwcm9jZXNz
LnByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAgICAgICAgICBwcm9jZXNzLndhaXRGb3JQcm9jZXNz
VG9GaW5pc2hMYXVuY2hpbmcoKTsKICAgICAgICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0
ZUhhbmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURpcmVjdG9yeVVSTC5maWxlU3lzdGVtUGF0aCgp
LCBwcm9jZXNzLnByb2Nlc3NJZGVudGlmaWVyKCksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7
Ci0gICAgICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMs
IHJlc291cmNlRGlyZWN0b3J5VVJMKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQot
I2VuZGlmCisjZWxzZQogICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxl
KHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIFNhbmRib3hFeHRlbnNpb246
OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgeworI2VuZGlmCiAgICAg
ICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291
cmNlRGlyZWN0b3J5VVJMKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTA4
OCwxMiArMTA4OCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJv
CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIVdlYktpdDo6aXNJbnNwZWN0
b3JQYWdlKCp0aGlzKSk7CiAKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05f
VE9fUFJPQ0VTU19CWV9QSUQpCisgICAgaWYgKCFwcm9jZXNzLnByb2Nlc3NJZGVudGlmaWVyKCkp
CisgICAgICAgIHByb2Nlc3Mud2FpdEZvclByb2Nlc3NUb0ZpbmlzaExhdW5jaGluZygpOwogICAg
IGlmIChTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQoIi8iLCBwcm9j
ZXNzLnByb2Nlc3NJZGVudGlmaWVyKCksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7Ci0gICAg
ICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3Mp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCisjZWxzZQogICAgIGlmIChTYW5kYm94
RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoIi8iLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFk
T25seSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpIHsKKyNlbmRpZgogICAgICAgICB3aWxsQWNx
dWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTEyMTIsOSArMTIxMiwxMiBAQCBSZWZQdHI8QVBJOjpOYXZpZ2F0
aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgbG9hZFBhcmFtZXRlcnMuc2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeSA9IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFs
bG93OwogICAgIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRhID0gVXNlckRhdGEocHJvY2VzcygpLnRy
YW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEpLmdldCgpKTsKICNpZiBIQVZFKFNBTkRC
T1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCi0gICAgaWYgKCFTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQocmVzb3VyY2VEaXJlY3RvcnlQ
YXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9u
SGFuZGxlKSkKLSNlbmRpZgorICAgIGlmICghcHJvY2Vzc0lkZW50aWZpZXIoKSkKKyAgICAgICAg
bV9wcm9jZXNzLT53YWl0Rm9yUHJvY2Vzc1RvRmluaXNoTGF1bmNoaW5nKCk7CisgICAgU2FuZGJv
eEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0
aCwgcHJvY2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhh
bmRsZSk7CisjZWxzZQogICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShyZXNvdXJj
ZURpcmVjdG9yeVBhdGgsIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBsb2FkUGFy
YW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbmRpZgogICAgIGFkZFBsYXRmb3Jt
TG9hZFBhcmFtZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCiAgICAgbV9wcm9jZXNzLT5hc3N1bWVS
ZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bQkocmV2aXNpb24gMjQ5NTYxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyNyw5ICsxMjcsMTIgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmNyZWF0ZVNhbmRib3hFeHRlbnNpbwogICAgICAgICBCT09MIGlzRGly
ZWN0b3J5OwogICAgICAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxl
RXhpc3RzQXRQYXRoOmZpbGVzWzBdIGlzRGlyZWN0b3J5OiZpc0RpcmVjdG9yeV0gJiYgIWlzRGly
ZWN0b3J5KSB7CiAjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NF
U1NfQllfUElEKQotICAgICAgICAgICAgaWYgKCFTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5k
bGVGb3JSZWFkQnlQaWQoIi8iLCBwcm9jZXNzSWRlbnRpZmllcigpLCBmaWxlUmVhZEhhbmRsZSkp
Ci0jZW5kaWYKKyAgICAgICAgICAgIGlmICghcHJvY2Vzc0lkZW50aWZpZXIoKSkKKyAgICAgICAg
ICAgICAgICBtX3Byb2Nlc3MtPndhaXRGb3JQcm9jZXNzVG9GaW5pc2hMYXVuY2hpbmcoKTsKKyAg
ICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZCgiLyIs
IHByb2Nlc3NJZGVudGlmaWVyKCksIGZpbGVSZWFkSGFuZGxlKTsKKyNlbHNlCiAgICAgICAgICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoIi8iLCBTYW5kYm94RXh0ZW5zaW9uOjpU
eXBlOjpSZWFkT25seSwgZmlsZVJlYWRIYW5kbGUpOworI2VuZGlmCiAgICAgICAgICAgICB3aWxs
QWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihtX3Byb2Nlc3MpOwogICAg
ICAgICB9CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvUHJv
Y2Vzc0xhdW5jaGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1
bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmgJKHJldmlzaW9uIDI0OTU2MSkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisjaW5j
bHVkZSA8d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKICNpZiBQTEFURk9STShXSU4p
CiAjaW5jbHVkZSA8d3RmL3dpbi9XaW4zMkhhbmRsZS5oPgpAQCAtODksMTAgKzkwLDI4IEBAIHB1
YmxpYzoKICAgICB9CiAKICAgICBib29sIGlzTGF1bmNoaW5nKCkgY29uc3QgeyByZXR1cm4gbV9p
c0xhdW5jaGluZzsgfQotICAgIFByb2Nlc3NJRCBwcm9jZXNzSWRlbnRpZmllcigpIGNvbnN0IHsg
cmV0dXJuIG1fcHJvY2Vzc0lkZW50aWZpZXI7IH0KKyAgICBQcm9jZXNzSUQgcHJvY2Vzc0lkZW50
aWZpZXIoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fcHJvY2Vzc0lkZW50aWZpZXIpCisg
ICAgICAgICAgICByZXR1cm4gbV9wcm9jZXNzSWRlbnRpZmllcjsKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICAgICAgaWYgKG1feHBjQ29ubmVjdGlvbikKKyAgICAgICAgICAgIHJldHVybiB4cGNf
Y29ubmVjdGlvbl9nZXRfcGlkKG1feHBjQ29ubmVjdGlvbi5nZXQoKSk7CisjZW5kaWYKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgdm9pZCB0ZXJtaW5hdGVQcm9jZXNzKCk7CiAgICAg
dm9pZCBpbnZhbGlkYXRlKCk7CisgICAgCisgICAgdm9pZCB3YWl0Rm9yUHJvY2Vzc1RvRmluaXNo
TGF1bmNoaW5nKCkKKyAgICB7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgICAgIG1fc2VtYXBo
b3JlLndhaXQoKTsKKyNlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlm
CisgICAgfQogCiBwcml2YXRlOgogICAgIFByb2Nlc3NMYXVuY2hlcihDbGllbnQqLCBMYXVuY2hP
cHRpb25zJiYpOwpAQCAtMTA2LDYgKzEyNSw4IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiBtX3hwY0Nvbm5lY3Rpb247
CisgICAgT1NPYmplY3RQdHI8ZGlzcGF0Y2hfcXVldWVfdD4gbV9xdWV1ZTsKKyAgICBCaW5hcnlT
ZW1hcGhvcmUgbV9zZW1hcGhvcmU7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1By
b2Nlc3NMYXVuY2hlck1hYy5tbQkocmV2aXNpb24gMjQ5NTYxKQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjQzLDM2ICsyNDMsNDQgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nl
c3MoKQogICAgIH0KIAogICAgIHJlZigpOwotICAgIHhwY19jb25uZWN0aW9uX3NlbmRfbWVzc2Fn
ZV93aXRoX3JlcGx5KG1feHBjQ29ubmVjdGlvbi5nZXQoKSwgYm9vdHN0cmFwTWVzc2FnZS5nZXQo
KSwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXih4cGNfb2JqZWN0X3QgcmVwbHkpIHsKKyAg
ICBtX3F1ZXVlID0gZGlzcGF0Y2hfcXVldWVfY3JlYXRlKCJQcm9jZXNzIGxhdW5jaGVyIHF1ZXVl
IiwgRElTUEFUQ0hfUVVFVUVfU0VSSUFMKTsKKworICAgIHhwY19jb25uZWN0aW9uX3NlbmRfbWVz
c2FnZV93aXRoX3JlcGx5KG1feHBjQ29ubmVjdGlvbi5nZXQoKSwgYm9vdHN0cmFwTWVzc2FnZS5n
ZXQoKSwgbV9xdWV1ZS5nZXQoKSwgXih4cGNfb2JqZWN0X3QgcmVwbHkpIHsKICAgICAgICAgLy8g
RXJyb3JzIGFyZSBoYW5kbGVkIGluIHRoZSBldmVudCBoYW5kbGVyLgogICAgICAgICAvLyBJdCBp
cyBwb3NzaWJsZSBmb3IgdGhpcyBibG9jayB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGVycm9yIGV2
ZW50IGhhbmRsZXIsIGluIHdoaWNoIGNhc2Ugd2UncmUgbm8gbG9uZ2VyCiAgICAgICAgIC8vIGxh
dW5jaGluZyBhbmQgd2UgYWxyZWFkeSB0b29rIGNhcmUgb2YgY2xlYW5pbmcgdGhpbmdzIHVwLgot
ICAgICAgICBpZiAoaXNMYXVuY2hpbmcoKSAmJiB4cGNfZ2V0X3R5cGUocmVwbHkpICE9IFhQQ19U
WVBFX0VSUk9SKSB7Ci0gICAgICAgICAgICBBU1NFUlQoeHBjX2dldF90eXBlKHJlcGx5KSA9PSBY
UENfVFlQRV9ESUNUSU9OQVJZKTsKLSAgICAgICAgICAgIEFTU0VSVCghc3RyY21wKHhwY19kaWN0
aW9uYXJ5X2dldF9zdHJpbmcocmVwbHksICJtZXNzYWdlLW5hbWUiKSwgInByb2Nlc3MtZmluaXNo
ZWQtbGF1bmNoaW5nIikpOworICAgICAgICBPU09iamVjdFB0cjx4cGNfb2JqZWN0X3Q+IHIgPSBy
ZXBseTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgciwgbGlzdGVuaW5nUG9ydF0g
eworICAgICAgICAgICAgaWYgKGlzTGF1bmNoaW5nKCkgJiYgeHBjX2dldF90eXBlKHIuZ2V0KCkp
ICE9IFhQQ19UWVBFX0VSUk9SKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKHhwY19nZXRfdHlw
ZShyLmdldCgpKSA9PSBYUENfVFlQRV9ESUNUSU9OQVJZKTsKKyAgICAgICAgICAgICAgICBBU1NF
UlQoIXN0cmNtcCh4cGNfZGljdGlvbmFyeV9nZXRfc3RyaW5nKHIuZ2V0KCksICJtZXNzYWdlLW5h
bWUiKSwgInByb2Nlc3MtZmluaXNoZWQtbGF1bmNoaW5nIikpOwogCiAjaWYgIUFTU0VSVF9ESVNB
QkxFRAotICAgICAgICAgICAgbWFjaF9wb3J0X3VyZWZzX3Qgc2VuZFJpZ2h0Q291bnQgPSAwOwot
ICAgICAgICAgICAgbWFjaF9wb3J0X2dldF9yZWZzKG1hY2hfdGFza19zZWxmKCksIGxpc3Rlbmlu
Z1BvcnQsIE1BQ0hfUE9SVF9SSUdIVF9TRU5ELCAmc2VuZFJpZ2h0Q291bnQpOwotICAgICAgICAg
ICAgQVNTRVJUKHNlbmRSaWdodENvdW50ID49IDEpOworICAgICAgICAgICAgICAgIG1hY2hfcG9y
dF91cmVmc190IHNlbmRSaWdodENvdW50ID0gMDsKKyAgICAgICAgICAgICAgICBtYWNoX3BvcnRf
Z2V0X3JlZnMobWFjaF90YXNrX3NlbGYoKSwgbGlzdGVuaW5nUG9ydCwgTUFDSF9QT1JUX1JJR0hU
X1NFTkQsICZzZW5kUmlnaHRDb3VudCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHNlbmRSaWdo
dENvdW50ID49IDEpOwogI2VuZGlmCiAKLSAgICAgICAgICAgIGRlYWxsb2NhdGVTZW5kUmlnaHRT
YWZlbHkobGlzdGVuaW5nUG9ydCk7CisgICAgICAgICAgICAgICAgZGVhbGxvY2F0ZVNlbmRSaWdo
dFNhZmVseShsaXN0ZW5pbmdQb3J0KTsKIAotICAgICAgICAgICAgaWYgKCFtX3hwY0Nvbm5lY3Rp
b24pIHsKLSAgICAgICAgICAgICAgICAvLyBUaGUgcHJvY2VzcyB3YXMgdGVybWluYXRlZC4KLSAg
ICAgICAgICAgICAgICBkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNzKDAsIElQQzo6Q29ubmVjdGlv
bjo6SWRlbnRpZmllcigpKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgaWYgKCFtX3hwY0Nvbm5lY3Rpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gVGhlIHByb2Nlc3Mgd2FzIHRlcm1pbmF0ZWQuCisgICAgICAgICAgICAgICAgICAg
IGRpZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3MoMCwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVy
KCkpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgICAvLyBUaGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1bmNoaW5nLCBncmFiIHRo
ZSBwaWQgZnJvbSB0aGUgY29ubmVjdGlvbi4KLSAgICAgICAgICAgIHBpZF90IHByb2Nlc3NJZGVu
dGlmaWVyID0geHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpOwor
ICAgICAgICAgICAgICAgIC8vIFRoZSBwcm9jZXNzIGhhcyBmaW5pc2hlZCBsYXVuY2hpbmcsIGdy
YWIgdGhlIHBpZCBmcm9tIHRoZSBjb25uZWN0aW9uLgorICAgICAgICAgICAgICAgIHBpZF90IHBy
b2Nlc3NJZGVudGlmaWVyID0geHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24u
Z2V0KCkpOwogCi0gICAgICAgICAgICBkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNzKHByb2Nlc3NJ
ZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIobGlzdGVuaW5nUG9ydCwgbV94
cGNDb25uZWN0aW9uKSk7Ci0gICAgICAgICAgICBtX3hwY0Nvbm5lY3Rpb24gPSBudWxscHRyOwot
ICAgICAgICB9CisgICAgICAgICAgICAgICAgZGlkRmluaXNoTGF1bmNoaW5nUHJvY2Vzcyhwcm9j
ZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKGxpc3RlbmluZ1BvcnQs
IG1feHBjQ29ubmVjdGlvbikpOworICAgICAgICAgICAgICAgIG1feHBjQ29ubmVjdGlvbiA9IG51
bGxwdHI7CisgICAgICAgICAgICB9CiAKLSAgICAgICAgZGVyZWYoKTsKKyAgICAgICAgICAgIG1f
cXVldWUgPSBudWxscHRyOworICAgICAgICAgICAgZGVyZWYoKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIAorICAgICAgICBtX3NlbWFwaG9yZS5zaWduYWwoKTsKICAgICB9KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378304</attachid>
            <date>2019-09-07 16:29:03 -0700</date>
            <delta_ts>2019-09-07 19:27:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190907162915.patch</filename>
            <type>text/plain</type>
            <size>9297</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2MjApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA5LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBh
IHJhY2UgY29uZGl0aW9uIHdoZW4gc3RhcnRpbmcgYSBsb2FkIG9mIGEgbG9jYWwgZmlsZSwgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgbm90CisgICAgICAgIGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQsIGFuZCBpdHMgcGlkIGlzIG5vdCBhdmFpbGFibGUuIFdoZW4gd2UgdHJ5IHRvIGNy
ZWF0ZSBhIHNhbmRib3ggZXh0ZW5zaW9uIGJ5CisgICAgICAgIHVzaW5nIHRoZSBwaWQgb2YgdGhl
IFdlYkNvbnRlbnQgcHJvY2VzcywgaXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FzZXMgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBoYXMganVzdCBsYXVuY2hlZCBhbmQg
aGFzIG5vdCBmaW5pc2hlZCBsYXVuY2hpbmcgeWV0LiBUaGlzIHByb2JsZW0gY2FuIGJlIGZpeGVk
IGJ5IGRlbGF5aW5nIHRoZSBmaWxlCisgICAgICAgIGxvYWRzIHVudGlsIHRoZSBXZWJDb250ZW50
IHByb2Nlc3MgaGFzIGZpbmlzaGVkIGxhdW5jaGluZy4gVGhlIGxvYWQgcGFyYW1ldGVycyBjYW4g
YmUgc3RvcmVkIGluIHRoZQorICAgICAgICBXZWIgcGFnZSBwcm94eSwgYW5kIHdoZW4gdGhlIHBy
b2Nlc3MgaGFzIGZpbmlzaGVkIGxhdW5jaGluZywgdGhlIGxvYWQgcmVxdWVzdCBtZXNzYWdlcyBj
YW4gYmUgc2VudAorICAgICAgICB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZFJlcXVlc3RXaXRoTmF2aWdhdGlvblNoYXJlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3RhcnREZWxheWVkRmlsZUxvYWRSZXF1ZXN0
cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZEZpbGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hM
YXVuY2hpbmcpOgorCiAyMDE5LTA5LTA3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFdpbmRvd3MgYnVpbGQKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMjQ5NjExKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjEsNyArNjEsNiBAQAogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hlck1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiRm9ybURhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJGcmFtZUluZm9EYXRhLmgiCi0j
aW5jbHVkZSAiTG9hZFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiTmF0aXZlV2ViR2VzdHVyZUV2ZW50LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRF
dmVudC5oIgpAQCAtMTA3NCwxMSArMTA3MywxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJ
bml0aWFsaXplU2FuZGJvCiAgICAgICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NU
b0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQotI2VuZGlmCisjZWxzZQogICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lv
bjo6Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIFNh
bmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkg
ewogICAgICAgICAgICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlz
LCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
KyNlbmRpZgogICAgIH0KIAogICAgIGlmIChwcm9jZXNzLmhhc0Fzc3VtZWRSZWFkQWNjZXNzVG9V
UkwodXJsKSkKQEAgLTEwOTIsMTIgKzEwOTIsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJl
SW5pdGlhbGl6ZVNhbmRibwogICAgICAgICB3aWxsQWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2Fu
ZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgor
I2Vsc2UKICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJv
eEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7CiAg
ICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nl
c3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCisjZW5kaWYKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICBpZiAoIWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRVbmNv
bmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJveEV4dGVuc2lvbikpCiAgICAgICAgIHdpbGxBY3F1aXJl
VW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwpAQCAtMTE2MSwxNCAr
MTE2MSw1MSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZFJlcXVlc3RXaXRoTmF2aWdhCiAgICAg
bG9hZFBhcmFtZXRlcnMubG9ja0hpc3RvcnkgPSBuYXZpZ2F0aW9uLmxvY2tIaXN0b3J5KCk7CiAg
ICAgbG9hZFBhcmFtZXRlcnMubG9ja0JhY2tGb3J3YXJkTGlzdCA9IG5hdmlnYXRpb24ubG9ja0Jh
Y2tGb3J3YXJkTGlzdCgpOwogICAgIGxvYWRQYXJhbWV0ZXJzLmNsaWVudFJlZGlyZWN0U291cmNl
Rm9ySGlzdG9yeSA9IG5hdmlnYXRpb24uY2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCk7
CisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElE
KQorICAgIGlmIChwcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmllcigpKQorICAgICAgICBtYXliZUlu
aXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nlc3MsIHVybCwgbV9wYWdlTG9hZFN0
YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNp
b25IYW5kbGUpOworI2Vsc2UKICAgICBtYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlKHByb2Nlc3MsIHVybCwgbV9wYWdlTG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCks
IGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworI2VuZGlmCiAKICAgICBh
ZGRQbGF0Zm9ybUxvYWRQYXJhbWV0ZXJzKGxvYWRQYXJhbWV0ZXJzKTsKIAorI2lmIEhBVkUoU0FO
REJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKKyAgICBpZiAocHJv
Y2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSB8fCAhdXJsLmlzTG9jYWxGaWxlKCkpCisgICAgICAg
IHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0
ZXJzKSwgd2ViUGFnZUlEKTsKKyAgICBlbHNlIHsKKyAgICAgICAgRGVsYXllZEZpbGVMb2FkUmVx
dWVzdCByZXF1ZXN0IHsgV1RGTW92ZShsb2FkUGFyYW1ldGVycyksIHVybCwgbV9wYWdlTG9hZFN0
YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCksIHdlYlBhZ2VJRCwgcHJvY2Vzcy5nZXQoKSB9Owor
ICAgICAgICBpZiAoIW1fZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMpCisgICAgICAgICAgICBtX2Rl
bGF5ZWRGaWxlTG9hZFJlcXVlc3RzID0gVmVjdG9yPERlbGF5ZWRGaWxlTG9hZFJlcXVlc3Q+KCk7
CisgICAgICAgIG1fZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMtPmFwcGVuZChXVEZNb3ZlKHJlcXVl
c3QpKTsKKyAgICB9CisjZWxzZQogICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgd2ViUGFnZUlEKTsKKyNlbmRpZgogICAgIHBy
b2Nlc3MtPnJlc3BvbnNpdmVuZXNzVGltZXIoKS5zdGFydCgpOwogfQogCisjaWYgSEFWRShTQU5E
Qk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQordm9pZCBXZWJQYWdl
UHJveHk6OnN0YXJ0RGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoKQoreworICAgIGlmICghbV9kZWxh
eWVkRmlsZUxvYWRSZXF1ZXN0cykKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGZvciAoYXV0
byYgZGVsYXllZEZpbGVMb2FkUmVxdWVzdCA6ICptX2RlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKSB7
CisgICAgICAgIGF1dG8mIGxvYWRQYXJhbWV0ZXJzID0gZGVsYXllZEZpbGVMb2FkUmVxdWVzdC5s
b2FkUGFyYW1ldGVyczsKKyAgICAgICAgYXV0byYgZmlsZVVybCA9IGRlbGF5ZWRGaWxlTG9hZFJl
cXVlc3QuZmlsZVVybDsKKyAgICAgICAgYXV0byYgcmVzb3VyY2VVcmwgPSBkZWxheWVkRmlsZUxv
YWRSZXF1ZXN0LnJlc291cmNlVXJsOworICAgICAgICBhdXRvJiB3ZWJQYWdlSUQgPSBkZWxheWVk
RmlsZUxvYWRSZXF1ZXN0LndlYlBhZ2VJRDsKKyAgICAgICAgYXV0byYgcHJvY2VzcyA9IGRlbGF5
ZWRGaWxlTG9hZFJlcXVlc3QucHJvY2VzczsKKyAgICAgICAgCisgICAgICAgIG1heWJlSW5pdGlh
bGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUocHJvY2VzcywgZmlsZVVybCwgcmVzb3VyY2VVcmws
IGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworCisgICAgICAgIHByb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwg
d2ViUGFnZUlEKTsKKyAgICB9CisgICAgbV9kZWxheWVkRmlsZUxvYWRSZXF1ZXN0cyA9IFdURjo6
bnVsbG9wdDsKK30KKyNlbmRpZgorCiBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJv
eHk6OmxvYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiBy
ZXNvdXJjZURpcmVjdG9yeVVSTFN0cmluZywgQVBJOjpPYmplY3QqIHVzZXJEYXRhKQogewogICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImxvYWRGaWxlOiIpOwpAQCAtMTIxMiwx
MyArMTI0OSwyNyBAQCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAg
ICAgbG9hZFBhcmFtZXRlcnMuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93OwogICAgIGxvYWRQYXJhbWV0ZXJz
LnVzZXJEYXRhID0gVXNlckRhdGEocHJvY2VzcygpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXMo
dXNlckRhdGEpLmdldCgpKTsKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05f
VE9fUFJPQ0VTU19CWV9QSUQpCi0gICAgaWYgKCFTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5k
bGVGb3JSZWFkQnlQaWQocmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigp
LCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSNlbmRpZgorICAgIGlm
IChwcm9jZXNzSWRlbnRpZmllcigpKQorICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGVGb3JSZWFkQnlQaWQocmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmll
cigpLCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbHNlCiAgICAg
U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgU2Fu
ZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRl
bnNpb25IYW5kbGUpOworI2VuZGlmCiAgICAgYWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2Fk
UGFyYW1ldGVycyk7CiAKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9f
UFJPQ0VTU19CWV9QSUQpCisgICAgaWYgKHByb2Nlc3NJZGVudGlmaWVyKCkpIHsKKyAgICAgICAg
bV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVj
dG9yeVVSTCk7CisgICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9h
ZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCBtX3dlYlBhZ2VJRCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgRGVsYXllZEZpbGVMb2FkUmVxdWVzdCByZXF1ZXN0IHsgV1RGTW92ZShsb2FkUGFyYW1l
dGVycyksIGZpbGVVUkwsIHJlc291cmNlRGlyZWN0b3J5VVJMLCBtX3dlYlBhZ2VJRCwgbV9wcm9j
ZXNzLmdldCgpIH07CisgICAgICAgIGlmICghbV9kZWxheWVkRmlsZUxvYWRSZXF1ZXN0cykKKyAg
ICAgICAgICAgIG1fZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMgPSBWZWN0b3I8RGVsYXllZEZpbGVM
b2FkUmVxdWVzdD4oKTsKKyAgICAgICAgbV9kZWxheWVkRmlsZUxvYWRSZXF1ZXN0cy0+YXBwZW5k
KFdURk1vdmUocmVxdWVzdCkpOworICAgIH0KKyNlbHNlCiAgICAgbV9wcm9jZXNzLT5hc3N1bWVS
ZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CiAgICAgbV9w
cm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVy
cyksIG1fd2ViUGFnZUlEKTsKKyNlbmRpZgogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NU
aW1lcigpLnN0YXJ0KCk7CiAKICAgICByZXR1cm4gbmF2aWdhdGlvbjsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNDk2MTEpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuaCIKICNpbmNsdWRlICJIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVy
LmgiCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29udGV4dC5oIgorI2luY2x1ZGUgIkxvYWRQYXJhbWV0
ZXJzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiUGFnZUxvYWRTdGF0
ZS5oIgpAQCAtMTU4MSw2ICsxNTgyLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE1vY2tDYXB0
dXJlRGV2aWNlc0VuYWJsZWRPdmVycmlkZShPcHRpb25hbDxib29sPik7CiAjZW5kaWYKIAorI2lm
IEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKKyAg
ICB2b2lkIHN0YXJ0RGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoKTsKKyNlbmRpZgorCiBwcml2YXRl
OgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgUmVmPEFQ
STo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7
CkBAIC0yNTY3LDYgKzI1NzIsMTcgQEAgcHJpdmF0ZToKICAgICBDT01QdHI8SUQzRDExRGV2aWNl
MT4gbV9kZXZpY2U7CiAjZW5kaWYKICAgICBib29sIG1faXNRdW90YUluY3JlYXNlRGVuaWVkIHsg
ZmFsc2UgfTsKKworI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9D
RVNTX0JZX1BJRCkKKyAgICBzdHJ1Y3QgRGVsYXllZEZpbGVMb2FkUmVxdWVzdCB7CisgICAgICAg
IExvYWRQYXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzOworICAgICAgICBVUkwgZmlsZVVybDsKKyAg
ICAgICAgVVJMIHJlc291cmNlVXJsOworICAgICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3
ZWJQYWdlSUQ7CisgICAgICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+IHByb2Nlc3M7CisgICAgfTsK
KyAgICBPcHRpb25hbDxWZWN0b3I8RGVsYXllZEZpbGVMb2FkUmVxdWVzdD4+IG1fZGVsYXllZEZp
bGVMb2FkUmVxdWVzdHM7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lv
biAyNDk2MTEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04MTIsNiArODEyLDExIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5
OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAgIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZO
ZWVkZWQoKTsKICNlbmRpZgorCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9O
X1RPX1BST0NFU1NfQllfUElEKQorICAgIGZvciAoYXV0byYgcGFnZSA6IGNvcHlUb1ZlY3Rvck9m
PFJlZlB0cjxXZWJQYWdlUHJveHk+PihtX3BhZ2VNYXAudmFsdWVzKCkpKQorICAgICAgICBwYWdl
LT5zdGFydERlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCk7CisjZW5kaWYKIH0KIAogV2ViRnJhbWVQ
cm94eSogV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCkg
Y29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378312</attachid>
            <date>2019-09-07 19:27:09 -0700</date>
            <delta_ts>2019-09-07 19:35:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190907192721.patch</filename>
            <type>text/plain</type>
            <size>9267</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2MjApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA5LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBh
IHJhY2UgY29uZGl0aW9uIHdoZW4gc3RhcnRpbmcgYSBsb2FkIG9mIGEgbG9jYWwgZmlsZSwgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgbm90CisgICAgICAgIGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQsIGFuZCBpdHMgcGlkIGlzIG5vdCBhdmFpbGFibGUuIFdoZW4gd2UgdHJ5IHRvIGNy
ZWF0ZSBhIHNhbmRib3ggZXh0ZW5zaW9uIGJ5CisgICAgICAgIHVzaW5nIHRoZSBwaWQgb2YgdGhl
IFdlYkNvbnRlbnQgcHJvY2VzcywgaXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FzZXMgd2hl
cmUgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBoYXMganVzdCBsYXVuY2hlZCBhbmQg
aGFzIG5vdCBmaW5pc2hlZCBsYXVuY2hpbmcgeWV0LiBUaGlzIHByb2JsZW0gY2FuIGJlIGZpeGVk
IGJ5IGRlbGF5aW5nIHRoZSBmaWxlCisgICAgICAgIGxvYWRzIHVudGlsIHRoZSBXZWJDb250ZW50
IHByb2Nlc3MgaGFzIGZpbmlzaGVkIGxhdW5jaGluZy4gVGhlIGxvYWQgcGFyYW1ldGVycyBjYW4g
YmUgc3RvcmVkIGluIHRoZQorICAgICAgICBXZWIgcGFnZSBwcm94eSwgYW5kIHdoZW4gdGhlIHBy
b2Nlc3MgaGFzIGZpbmlzaGVkIGxhdW5jaGluZywgdGhlIGxvYWQgcmVxdWVzdCBtZXNzYWdlcyBj
YW4gYmUgc2VudAorICAgICAgICB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZFJlcXVlc3RXaXRoTmF2aWdhdGlvblNoYXJlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3RhcnREZWxheWVkRmlsZUxvYWRSZXF1ZXN0
cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZEZpbGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hM
YXVuY2hpbmcpOgorCiAyMDE5LTA5LTA3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFdpbmRvd3MgYnVpbGQKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMjQ5NjExKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA3NCwxMSArMTA3NCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2Fu
ZGJvCiAgICAgICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRo
aXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQotI2VuZGlmCisjZWxzZQogICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFu
ZGxlKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIFNhbmRib3hFeHRlbnNp
b246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgewogICAgICAgICAg
ICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURp
cmVjdG9yeVVSTCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KKyNlbmRpZgogICAg
IH0KIAogICAgIGlmIChwcm9jZXNzLmhhc0Fzc3VtZWRSZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAg
LTEwOTIsMTIgKzEwOTMsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNh
bmRibwogICAgICAgICB3aWxsQWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lv
bihwcm9jZXNzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICBp
ZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6
VHlwZTo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7CiAgICAgICAgIHdpbGxB
Y3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQotCisjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAo
IWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5p
dmVyc2FsU2FuZGJveEV4dGVuc2lvbikpCiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmls
ZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwpAQCAtMTEzOSw2ICsxMTQwLDI0IEBAIFJl
ZlB0cjxBUEk6Ok5hdmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6bG8KICAgICByZXR1cm4gbmF2aWdh
dGlvbjsKIH0KIAorCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BS
T0NFU1NfQllfUElEKQorc3RydWN0IERlbGF5ZWRGaWxlTG9hZFJlcXVlc3QgeworICAgIExvYWRQ
YXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzOworICAgIFVSTCBmaWxlVXJsOworICAgIFVSTCByZXNv
dXJjZVVybDsKKyAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3ZWJQYWdlSUQ7CisgICAgUmVm
PFdlYlByb2Nlc3NQcm94eT4gcHJvY2VzczsKKyAgICBSZWY8V2ViUGFnZVByb3h5PiBwYWdlOwor
fTsKKworc3RhdGljIFZlY3RvcjxEZWxheWVkRmlsZUxvYWRSZXF1ZXN0PiYgZGVsYXllZEZpbGVM
b2FkUmVxdWVzdHMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8RGVsYXll
ZEZpbGVMb2FkUmVxdWVzdD4+IHJlcXVlc3RzOworICAgIHJldHVybiByZXF1ZXN0czsKK30KKyNl
bmRpZgorCiB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZFJlcXVlc3RXaXRoTmF2aWdhdGlvblNoYXJl
ZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2Nlc3MsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
IHdlYlBhZ2VJRCwgQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3ksIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwgU2hvdWxkVHJlYXRBc0NvbnRpbnVp
bmdMb2FkIHNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCwgT3B0aW9uYWw8V2Vic2l0ZVBvbGlj
aWVzRGF0YT4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7CiAgICAgQVNTRVJUKCFtX2lzQ2xvc2VkKTsK
QEAgLTExNjEsMTQgKzExODAsNTYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0
aE5hdmlnYQogICAgIGxvYWRQYXJhbWV0ZXJzLmxvY2tIaXN0b3J5ID0gbmF2aWdhdGlvbi5sb2Nr
SGlzdG9yeSgpOwogICAgIGxvYWRQYXJhbWV0ZXJzLmxvY2tCYWNrRm9yd2FyZExpc3QgPSBuYXZp
Z2F0aW9uLmxvY2tCYWNrRm9yd2FyZExpc3QoKTsKICAgICBsb2FkUGFyYW1ldGVycy5jbGllbnRS
ZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkgPSBuYXZpZ2F0aW9uLmNsaWVudFJlZGlyZWN0U291cmNl
Rm9ySGlzdG9yeSgpOworI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19Q
Uk9DRVNTX0JZX1BJRCkKKyAgICBpZiAocHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSkKKyAg
ICAgICAgbWF5YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZShwcm9jZXNzLCB1cmws
IG1fcGFnZUxvYWRTdGF0ZS5yZXNvdXJjZURpcmVjdG9yeVVSTCgpLCBsb2FkUGFyYW1ldGVycy5z
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbHNlCiAgICAgbWF5YmVJbml0aWFsaXplU2FuZGJv
eEV4dGVuc2lvbkhhbmRsZShwcm9jZXNzLCB1cmwsIG1fcGFnZUxvYWRTdGF0ZS5yZXNvdXJjZURp
cmVjdG9yeVVSTCgpLCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNl
bmRpZgogCiAgICAgYWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7CiAK
KyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQp
CisgICAgaWYgKHByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCkgfHwgIXVybC5pc0xvY2FsRmls
ZSgpKQorICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVz
dChsb2FkUGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7CisgICAgZWxzZSB7CisgICAgICAgIERlbGF5
ZWRGaWxlTG9hZFJlcXVlc3QgcmVxdWVzdCB7IFdURk1vdmUobG9hZFBhcmFtZXRlcnMpLCB1cmws
IG1fcGFnZUxvYWRTdGF0ZS5yZXNvdXJjZURpcmVjdG9yeVVSTCgpLCB3ZWJQYWdlSUQsIHByb2Nl
c3MuZ2V0KCksICp0aGlzIH07CisgICAgICAgIGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkuYXBw
ZW5kKFdURk1vdmUocmVxdWVzdCkpOworICAgIH0KKyNlbHNlCiAgICAgcHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdlSUQp
OworI2VuZGlmCiAgICAgcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiB9
CiAKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9Q
SUQpCit2b2lkIFdlYlBhZ2VQcm94eTo6c3RhcnREZWxheWVkRmlsZUxvYWRSZXF1ZXN0cyhjb25z
dCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3NQcm94eSkKK3sKKyAgICBWZWN0b3I8dW5zaWduZWQ+
IHRvQmVSZW1vdmVkOworICAgIAorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkZWxheWVk
RmlsZUxvYWRSZXF1ZXN0cygpLnNpemUoKTsgaSsrKSB7CisgICAgICAgIGF1dG8mIGRlbGF5ZWRG
aWxlTG9hZFJlcXVlc3QgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpW2ldOworICAgICAgICBh
dXRvJiBsb2FkUGFyYW1ldGVycyA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QubG9hZFBhcmFtZXRl
cnM7CisgICAgICAgIGF1dG8mIGZpbGVVcmwgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LmZpbGVV
cmw7CisgICAgICAgIGF1dG8mIHJlc291cmNlVXJsID0gZGVsYXllZEZpbGVMb2FkUmVxdWVzdC5y
ZXNvdXJjZVVybDsKKyAgICAgICAgYXV0byYgd2ViUGFnZUlEID0gZGVsYXllZEZpbGVMb2FkUmVx
dWVzdC53ZWJQYWdlSUQ7CisgICAgICAgIGF1dG8mIHByb2Nlc3MgPSBkZWxheWVkRmlsZUxvYWRS
ZXF1ZXN0LnByb2Nlc3M7CisgICAgICAgIGF1dG8mIHBhZ2UgPSBkZWxheWVkRmlsZUxvYWRSZXF1
ZXN0LnBhZ2U7CisgICAgICAgIAorICAgICAgICBpZiAoJnByb2Nlc3MuZ2V0KCkgIT0gJnByb2Nl
c3NQcm94eSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIHRvQmVSZW1vdmVkLmFw
cGVuZChpKTsKKyAgICAgICAgcGFnZS0+bWF5YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhh
bmRsZShwcm9jZXNzLCBmaWxlVXJsLCByZXNvdXJjZVVybCwgbG9hZFBhcmFtZXRlcnMuc2FuZGJv
eEV4dGVuc2lvbkhhbmRsZSk7CisKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdlSUQpOworICAgIH0KKyAg
ICAKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdG9CZVJlbW92ZWQuc2l6ZSgpOyBpKysp
CisgICAgICAgIGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkucmVtb3ZlKHRvQmVSZW1vdmVkW3Rv
QmVSZW1vdmVkLnNpemUoKSAtIGkgLSAxXSk7Cit9CisjZW5kaWYKKwogUmVmUHRyPEFQSTo6TmF2
aWdhdGlvbj4gV2ViUGFnZVByb3h5Ojpsb2FkRmlsZShjb25zdCBTdHJpbmcmIGZpbGVVUkxTdHJp
bmcsIGNvbnN0IFN0cmluZyYgcmVzb3VyY2VEaXJlY3RvcnlVUkxTdHJpbmcsIEFQSTo6T2JqZWN0
KiB1c2VyRGF0YSkKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJsb2Fk
RmlsZToiKTsKQEAgLTEyMTIsMTMgKzEyNzMsMjUgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4g
V2ViUGFnZVByb3h5OjpsbwogICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3kgPSBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdzsK
ICAgICBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSA9IFVzZXJEYXRhKHByb2Nlc3MoKS50cmFuc2Zv
cm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhKS5nZXQoKSk7CiAjaWYgSEFWRShTQU5EQk9YX0lT
U1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQotICAgIGlmICghU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0aCwg
cHJvY2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRs
ZSkpCi0jZW5kaWYKKyAgICBpZiAocHJvY2Vzc0lkZW50aWZpZXIoKSkKKyAgICAgICAgU2FuZGJv
eEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0
aCwgcHJvY2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhh
bmRsZSk7CisjZWxzZQogICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShyZXNvdXJj
ZURpcmVjdG9yeVBhdGgsIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBsb2FkUGFy
YW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbmRpZgogICAgIGFkZFBsYXRmb3Jt
TG9hZFBhcmFtZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VF
X1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChwcm9jZXNzSWRlbnRp
ZmllcigpKSB7CisgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgq
dGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgbV93ZWJQYWdlSUQp
OworICAgIH0gZWxzZSB7CisgICAgICAgIERlbGF5ZWRGaWxlTG9hZFJlcXVlc3QgcmVxdWVzdCB7
IFdURk1vdmUobG9hZFBhcmFtZXRlcnMpLCBmaWxlVVJMLCByZXNvdXJjZURpcmVjdG9yeVVSTCwg
bV93ZWJQYWdlSUQsIG1fcHJvY2Vzcy5nZXQoKSwgKnRoaXMgfTsKKyAgICAgICAgZGVsYXllZEZp
bGVMb2FkUmVxdWVzdHMoKS5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CisgICAgfQorI2Vsc2UK
ICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNl
RGlyZWN0b3J5VVJMKTsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6Okxv
YWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgbV93ZWJQYWdlSUQpOworI2VuZGlmCiAgICAgbV9w
cm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVyKCkuc3RhcnQoKTsKIAogICAgIHJldHVybiBuYXZp
Z2F0aW9uOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlz
aW9uIDI0OTYxMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTgxLDYgKzE1ODEsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZE92ZXJyaWRlKE9wdGlvbmFsPGJvb2w+KTsKICNlbmRp
ZgogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllf
UElEKQorICAgIHN0YXRpYyB2b2lkIHN0YXJ0RGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoY29uc3Qg
V2ViUHJvY2Vzc1Byb3h5Jik7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHko
UGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9u
PiYmKTsKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyNDk2MTEpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04MTIsNiArODEyLDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVu
Y2hpbmcKIAogICAgIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRp
ZgorCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllf
UElEKQorICAgIFdlYlBhZ2VQcm94eTo6c3RhcnREZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygqdGhp
cyk7CisjZW5kaWYKIH0KIAogV2ViRnJhbWVQcm94eSogV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJGcmFt
ZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378313</attachid>
            <date>2019-09-07 19:35:57 -0700</date>
            <delta_ts>2019-09-08 08:05:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190907193609.patch</filename>
            <type>text/plain</type>
            <size>9302</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2MjApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE5LTA5LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gd2hlbiBz
dGFydGluZyBhIGxvYWQgb2YgYSBsb2NhbCBmaWxlLCB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBub3QKKyAgICAgICAgZmluaXNoZWQgbGF1bmNoaW5nIHlldCwgYW5kIGl0cyBwaWQg
aXMgbm90IGF2YWlsYWJsZS4gV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgc2FuZGJveCBleHRlbnNp
b24gYnkKKyAgICAgICAgdXNpbmcgdGhlIHBpZCBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBp
dCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzCisgICAgICAgIGhhcyBqdXN0IGxhdW5jaGVkIGFuZCBoYXMgbm90IGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQuIFRoaXMgcHJvYmxlbSBjYW4gYmUgZml4ZWQgYnkgZGVsYXlpbmcgdGhlIGZpbGUK
KyAgICAgICAgbG9hZHMgdW50aWwgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgZmluaXNoZWQg
bGF1bmNoaW5nLiBUaGUgbG9hZCBwYXJhbWV0ZXJzIGNhbiBiZSBzdG9yZWQgaW4gdGhlCisgICAg
ICAgIFdlYiBwYWdlIHByb3h5LCBhbmQgd2hlbiB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1
bmNoaW5nLCB0aGUgbG9hZCByZXF1ZXN0IG1lc3NhZ2VzIGNhbiBiZSBzZW50CisgICAgICAgIHRv
IHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojps
b2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpzdGFydERlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5Ojpsb2FkRmlsZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisKIDIwMTktMDkt
MDcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBGaXggV2luZG93cyBidWlsZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCShyZXZpc2lvbiAyNDk2MTEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc0LDExICsxMDc0LDEyIEBAIHZv
aWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5kYm8KICAgICAgICAgICAgIG1fcHJv
Y2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlV
UkwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0jZW5kaWYKKyNlbHNlCiAgICAg
ICAgIGlmIChTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUocmVzb3VyY2VEaXJlY3RvcnlV
UkwuZmlsZVN5c3RlbVBhdGgoKSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNh
bmRib3hFeHRlbnNpb25IYW5kbGUpKSB7CiAgICAgICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJl
YWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQorI2VuZGlmCiAgICAgfQogCiAgICAgaWYgKHByb2Nlc3Mu
aGFzQXNzdW1lZFJlYWRBY2Nlc3NUb1VSTCh1cmwpKQpAQCAtMTA5MiwxMiArMTA5MywxMiBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJvCiAgICAgICAgIHdpbGxBY3F1
aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQotI2VuZGlmCisjZWxzZQogICAgIGlmIChTYW5kYm94RXh0ZW5zaW9uOjpj
cmVhdGVIYW5kbGUoIi8iLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgc2FuZGJv
eEV4dGVuc2lvbkhhbmRsZSkpIHsKICAgICAgICAgd2lsbEFjcXVpcmVVbml2ZXJzYWxGaWxlUmVh
ZFNhbmRib3hFeHRlbnNpb24ocHJvY2Vzcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KKyNl
bmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGlmICghbGlua2VkT25PckFmdGVyKFNES1Zl
cnNpb246OkZpcnN0V2l0aG91dFVuY29uZGl0aW9uYWxVbml2ZXJzYWxTYW5kYm94RXh0ZW5zaW9u
KSkKICAgICAgICAgd2lsbEFjcXVpcmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb24o
cHJvY2Vzcyk7CkBAIC0xMTM5LDYgKzExNDAsMjQgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4g
V2ViUGFnZVByb3h5OjpsbwogICAgIHJldHVybiBuYXZpZ2F0aW9uOwogfQogCisKKyNpZiBIQVZF
KFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCitzdHJ1Y3Qg
RGVsYXllZEZpbGVMb2FkUmVxdWVzdCB7CisgICAgTG9hZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRl
cnM7CisgICAgVVJMIGZpbGVVcmw7CisgICAgVVJMIHJlc291cmNlVXJsOworICAgIFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyIHdlYlBhZ2VJRDsKKyAgICBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBwcm9j
ZXNzOworICAgIFJlZjxXZWJQYWdlUHJveHk+IHBhZ2U7Cit9OworCitzdGF0aWMgVmVjdG9yPERl
bGF5ZWRGaWxlTG9hZFJlcXVlc3Q+JiBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpCit7CisgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxEZWxheWVkRmlsZUxvYWRSZXF1ZXN0Pj4gcmVx
dWVzdHM7CisgICAgcmV0dXJuIHJlcXVlc3RzOworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFnZVBy
b3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+
JiYgcHJvY2VzcywgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6Ok5hdmln
YXRpb24mIG5hdmlnYXRpb24sIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgQVBJOjpPYmpl
Y3QqIHVzZXJEYXRhLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0Nv
bnRpbnVpbmdMb2FkLCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xp
Y2llcykKIHsKICAgICBBU1NFUlQoIW1faXNDbG9zZWQpOwpAQCAtMTE2MSwxNCArMTE4MCw1NiBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZFJlcXVlc3RXaXRoTmF2aWdhCiAgICAgbG9hZFBhcmFt
ZXRlcnMubG9ja0hpc3RvcnkgPSBuYXZpZ2F0aW9uLmxvY2tIaXN0b3J5KCk7CiAgICAgbG9hZFBh
cmFtZXRlcnMubG9ja0JhY2tGb3J3YXJkTGlzdCA9IG5hdmlnYXRpb24ubG9ja0JhY2tGb3J3YXJk
TGlzdCgpOwogICAgIGxvYWRQYXJhbWV0ZXJzLmNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9y
eSA9IG5hdmlnYXRpb24uY2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCk7CisjaWYgSEFW
RShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlm
IChwcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmllcigpKQorICAgICAgICBtYXliZUluaXRpYWxpemVT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nlc3MsIHVybCwgbV9wYWdlTG9hZFN0YXRlLnJlc291
cmNlRGlyZWN0b3J5VVJMKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUp
OworI2Vsc2UKICAgICBtYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nl
c3MsIHVybCwgbV9wYWdlTG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCksIGxvYWRQYXJh
bWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworI2VuZGlmCiAKICAgICBhZGRQbGF0Zm9y
bUxvYWRQYXJhbWV0ZXJzKGxvYWRQYXJhbWV0ZXJzKTsKIAorI2lmIEhBVkUoU0FOREJPWF9JU1NV
RV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKKyAgICBpZiAocHJvY2Vzcy0+cHJv
Y2Vzc0lkZW50aWZpZXIoKSB8fCAhdXJsLmlzTG9jYWxGaWxlKCkpCisgICAgICAgIHByb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgd2Vi
UGFnZUlEKTsKKyAgICBlbHNlIHsKKyAgICAgICAgRGVsYXllZEZpbGVMb2FkUmVxdWVzdCByZXF1
ZXN0IHsgV1RGTW92ZShsb2FkUGFyYW1ldGVycyksIHVybCwgbV9wYWdlTG9hZFN0YXRlLnJlc291
cmNlRGlyZWN0b3J5VVJMKCksIHdlYlBhZ2VJRCwgcHJvY2Vzcy5nZXQoKSwgKnRoaXMgfTsKKyAg
ICAgICAgZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoKS5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7
CisgICAgfQorI2Vsc2UKICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2Fk
UmVxdWVzdChsb2FkUGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7CisjZW5kaWYKICAgICBwcm9jZXNz
LT5yZXNwb25zaXZlbmVzc1RpbWVyKCkuc3RhcnQoKTsKIH0KIAorI2lmIEhBVkUoU0FOREJPWF9J
U1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKK3ZvaWQgV2ViUGFnZVByb3h5
OjpzdGFydERlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJv
Y2Vzc1Byb3h5KQoreworICAgIFZlY3Rvcjx1bnNpZ25lZD4gdG9CZVJlbW92ZWQ7CisgICAgCisg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkuc2l6
ZSgpOyBpKyspIHsKKyAgICAgICAgYXV0byYgZGVsYXllZEZpbGVMb2FkUmVxdWVzdCA9IGRlbGF5
ZWRGaWxlTG9hZFJlcXVlc3RzKClbaV07CisgICAgICAgIGF1dG8mIGxvYWRQYXJhbWV0ZXJzID0g
ZGVsYXllZEZpbGVMb2FkUmVxdWVzdC5sb2FkUGFyYW1ldGVyczsKKyAgICAgICAgYXV0byYgZmls
ZVVybCA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QuZmlsZVVybDsKKyAgICAgICAgYXV0byYgcmVz
b3VyY2VVcmwgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LnJlc291cmNlVXJsOworICAgICAgICBh
dXRvJiB3ZWJQYWdlSUQgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LndlYlBhZ2VJRDsKKyAgICAg
ICAgYXV0byYgcHJvY2VzcyA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QucHJvY2VzczsKKyAgICAg
ICAgYXV0byYgcGFnZSA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QucGFnZTsKKyAgICAgICAgCisg
ICAgICAgIGlmICgmcHJvY2Vzcy5nZXQoKSAhPSAmcHJvY2Vzc1Byb3h5KQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgdG9CZVJlbW92ZWQuYXBwZW5kKGkpOworICAgICAgICBwYWdl
LT5tYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nlc3MsIGZpbGVVcmws
IHJlc291cmNlVXJsLCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKwor
ICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2Fk
UGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7CisgICAgfQorICAgIAorICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB0b0JlUmVtb3ZlZC5zaXplKCk7IGkrKykKKyAgICAgICAgZGVsYXllZEZpbGVM
b2FkUmVxdWVzdHMoKS5yZW1vdmUodG9CZVJlbW92ZWRbdG9CZVJlbW92ZWQuc2l6ZSgpIC0gaSAt
IDFdKTsKK30KKyNlbmRpZgorCiBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6
OmxvYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiByZXNv
dXJjZURpcmVjdG9yeVVSTFN0cmluZywgQVBJOjpPYmplY3QqIHVzZXJEYXRhKQogewogICAgIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImxvYWRGaWxlOiIpOwpAQCAtMTIxMiwxMyAr
MTI3MywyNSBAQCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAg
bG9hZFBhcmFtZXRlcnMuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93OwogICAgIGxvYWRQYXJhbWV0ZXJzLnVz
ZXJEYXRhID0gVXNlckRhdGEocHJvY2VzcygpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNl
ckRhdGEpLmdldCgpKTsKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9f
UFJPQ0VTU19CWV9QSUQpCi0gICAgaWYgKCFTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVG
b3JSZWFkQnlQaWQocmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBs
b2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSNlbmRpZgorICAgIGlmIChw
cm9jZXNzSWRlbnRpZmllcigpKQorICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5k
bGVGb3JSZWFkQnlQaWQocmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigp
LCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbHNlCiAgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgU2FuZGJv
eEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNp
b25IYW5kbGUpOworI2VuZGlmCiAgICAgYWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFy
YW1ldGVycyk7CiAKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJP
Q0VTU19CWV9QSUQpCisgICAgaWYgKHByb2Nlc3NJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgbV9w
cm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9y
eVVSTCk7CisgICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJl
cXVlc3QobG9hZFBhcmFtZXRlcnMpLCBtX3dlYlBhZ2VJRCk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgRGVsYXllZEZpbGVMb2FkUmVxdWVzdCByZXF1ZXN0IHsgV1RGTW92ZShsb2FkUGFyYW1ldGVy
cyksIGZpbGVVUkwsIHJlc291cmNlRGlyZWN0b3J5VVJMLCBtX3dlYlBhZ2VJRCwgbV9wcm9jZXNz
LmdldCgpLCAqdGhpcyB9OworICAgICAgICBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpLmFwcGVu
ZChXVEZNb3ZlKHJlcXVlc3QpKTsKKyAgICB9CisjZWxzZQogICAgIG1fcHJvY2Vzcy0+YXNzdW1l
UmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOwogICAgIG1f
cHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRl
cnMpLCBtX3dlYlBhZ2VJRCk7CisjZW5kaWYKICAgICBtX3Byb2Nlc3MtPnJlc3BvbnNpdmVuZXNz
VGltZXIoKS5zdGFydCgpOwogCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjQ5NjExKQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1ODEs
NiArMTU4MSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFi
bGVkT3ZlcnJpZGUoT3B0aW9uYWw8Ym9vbD4pOwogI2VuZGlmCiAKKyNpZiBIQVZFKFNBTkRCT1hf
SVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgc3RhdGljIHZvaWQg
c3RhcnREZWxheWVkRmlsZUxvYWRSZXF1ZXN0cyhjb25zdCBXZWJQcm9jZXNzUHJveHkmKTsKKyNl
bmRpZgorCiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vz
c1Byb3h5JiwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZv
cm1Jbml0aWFsaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAJKHJldmlzaW9uIDI0OTYxMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxMiw2ICs4MTIsMTAgQEAg
dm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZwogCiAgICAgdW5ibG9ja0Fj
Y2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogI2VuZGlmCisKKyNpZiBIQVZFKFNBTkRCT1hf
SVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgV2ViUGFnZVByb3h5
OjpzdGFydERlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCp0aGlzKTsKKyNlbmRpZgogfQogCiBXZWJG
cmFtZVByb3h5KiBXZWJQcm9jZXNzUHJveHk6OndlYkZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFt
ZUlEKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378324</attachid>
            <date>2019-09-08 08:05:26 -0700</date>
            <delta_ts>2019-09-08 09:55:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190908170532.patch</filename>
            <type>text/plain</type>
            <size>10110</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2MjApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE5LTA5LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gd2hlbiBz
dGFydGluZyBhIGxvYWQgb2YgYSBsb2NhbCBmaWxlLCB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBub3QKKyAgICAgICAgZmluaXNoZWQgbGF1bmNoaW5nIHlldCwgYW5kIGl0cyBwaWQg
aXMgbm90IGF2YWlsYWJsZS4gV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgc2FuZGJveCBleHRlbnNp
b24gYnkKKyAgICAgICAgdXNpbmcgdGhlIHBpZCBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBp
dCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzCisgICAgICAgIGhhcyBqdXN0IGxhdW5jaGVkIGFuZCBoYXMgbm90IGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQuIFRoaXMgcHJvYmxlbSBjYW4gYmUgZml4ZWQgYnkgZGVsYXlpbmcgdGhlIGZpbGUK
KyAgICAgICAgbG9hZHMgdW50aWwgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgZmluaXNoZWQg
bGF1bmNoaW5nLiBUaGUgbG9hZCBwYXJhbWV0ZXJzIGNhbiBiZSBzdG9yZWQgaW4gdGhlCisgICAg
ICAgIFdlYiBwYWdlIHByb3h5LCBhbmQgd2hlbiB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1
bmNoaW5nLCB0aGUgbG9hZCByZXF1ZXN0IG1lc3NhZ2VzIGNhbiBiZSBzZW50CisgICAgICAgIHRv
IHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojps
b2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpzdGFydERlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5Ojpsb2FkRmlsZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisKIDIwMTktMDkt
MDcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBGaXggV2luZG93cyBidWlsZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCShyZXZpc2lvbiAyNDk2MTEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcxLDE0ICsxMDcxLDE1IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5kYm8KIAogI2lmIEhBVkUoU0FOREJP
WF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKICAgICAgICAgaWYgKFNh
bmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURpcmVjdG9y
eVVSTC5maWxlU3lzdGVtUGF0aCgpLCBwcm9jZXNzLnByb2Nlc3NJZGVudGlmaWVyKCksIHNhbmRi
b3hFeHRlbnNpb25IYW5kbGUpKSB7Ci0gICAgICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRB
Y2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKKyAgICAgICAgICAg
IHByb2Nlc3MuYXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3Rv
cnlVUkwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0jZW5kaWYKKyNlbHNlCiAg
ICAgICAgIGlmIChTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUocmVzb3VyY2VEaXJlY3Rv
cnlVUkwuZmlsZVN5c3RlbVBhdGgoKSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHks
IHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7Ci0gICAgICAgICAgICBtX3Byb2Nlc3MtPmFzc3Vt
ZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKKyAgICAg
ICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VE
aXJlY3RvcnlVUkwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisjZW5kaWYKICAg
ICB9CiAKICAgICBpZiAocHJvY2Vzcy5oYXNBc3N1bWVkUmVhZEFjY2Vzc1RvVVJMKHVybCkpCkBA
IC0xMDkyLDEyICsxMDkzLDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVT
YW5kYm8KICAgICAgICAgd2lsbEFjcXVpcmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNp
b24ocHJvY2Vzcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jZW5kaWYKKyNlbHNlCiAgICAg
aWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZSgiLyIsIFNhbmRib3hFeHRlbnNpb246
OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgewogICAgICAgICB3aWxs
QWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KLQorI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgaWYg
KCFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRob3V0VW5jb25kaXRpb25hbFVu
aXZlcnNhbFNhbmRib3hFeHRlbnNpb24pKQogICAgICAgICB3aWxsQWNxdWlyZVVuaXZlcnNhbEZp
bGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKQEAgLTExMDcsNyArMTEwOCw3IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5kYm8KICAgICBhdXRvIGJhc2VVUkwg
PSBVUkwoVVJMKCksIHVybC5iYXNlQXNTdHJpbmcoKSk7CiAgICAgYXV0byBiYXNlUGF0aCA9IGJh
c2VVUkwuZmlsZVN5c3RlbVBhdGgoKTsKICAgICBpZiAoIWJhc2VQYXRoLmlzTnVsbCgpICYmIFNh
bmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShiYXNlUGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6
VHlwZTo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKQotICAgICAgICBtX3Byb2Nl
c3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIGJhc2VVUkwpOworICAgICAgICBw
cm9jZXNzLmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIGJhc2VVUkwpOwogfQogCiAj
aWYgIVBMQVRGT1JNKENPQ09BKQpAQCAtMTEzOSw2ICsxMTQwLDI0IEBAIFJlZlB0cjxBUEk6Ok5h
dmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6bG8KICAgICByZXR1cm4gbmF2aWdhdGlvbjsKIH0KIAor
CisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElE
KQorc3RydWN0IERlbGF5ZWRGaWxlTG9hZFJlcXVlc3QgeworICAgIExvYWRQYXJhbWV0ZXJzIGxv
YWRQYXJhbWV0ZXJzOworICAgIFVSTCBmaWxlVXJsOworICAgIFVSTCByZXNvdXJjZVVybDsKKyAg
ICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3ZWJQYWdlSUQ7CisgICAgUmVmPFdlYlByb2Nlc3NQ
cm94eT4gcHJvY2VzczsKKyAgICBSZWY8V2ViUGFnZVByb3h5PiBwYWdlOworfTsKKworc3RhdGlj
IFZlY3RvcjxEZWxheWVkRmlsZUxvYWRSZXF1ZXN0PiYgZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMo
KQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8RGVsYXllZEZpbGVMb2FkUmVx
dWVzdD4+IHJlcXVlc3RzOworICAgIHJldHVybiByZXF1ZXN0czsKK30KKyNlbmRpZgorCiB2b2lk
IFdlYlBhZ2VQcm94eTo6bG9hZFJlcXVlc3RXaXRoTmF2aWdhdGlvblNoYXJlZChSZWY8V2ViUHJv
Y2Vzc1Byb3h5PiYmIHByb2Nlc3MsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHdlYlBhZ2VJRCwg
QVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ks
IEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkIHNob3Vs
ZFRyZWF0QXNDb250aW51aW5nTG9hZCwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiB3
ZWJzaXRlUG9saWNpZXMpCiB7CiAgICAgQVNTRVJUKCFtX2lzQ2xvc2VkKTsKQEAgLTExNjEsMTQg
KzExODAsNTYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYQogICAg
IGxvYWRQYXJhbWV0ZXJzLmxvY2tIaXN0b3J5ID0gbmF2aWdhdGlvbi5sb2NrSGlzdG9yeSgpOwog
ICAgIGxvYWRQYXJhbWV0ZXJzLmxvY2tCYWNrRm9yd2FyZExpc3QgPSBuYXZpZ2F0aW9uLmxvY2tC
YWNrRm9yd2FyZExpc3QoKTsKICAgICBsb2FkUGFyYW1ldGVycy5jbGllbnRSZWRpcmVjdFNvdXJj
ZUZvckhpc3RvcnkgPSBuYXZpZ2F0aW9uLmNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSgp
OworI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJ
RCkKKyAgICBpZiAocHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSkKKyAgICAgICAgbWF5YmVJ
bml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZShwcm9jZXNzLCB1cmwsIG1fcGFnZUxvYWRT
dGF0ZS5yZXNvdXJjZURpcmVjdG9yeVVSTCgpLCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5z
aW9uSGFuZGxlKTsKKyNlbHNlCiAgICAgbWF5YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhh
bmRsZShwcm9jZXNzLCB1cmwsIG1fcGFnZUxvYWRTdGF0ZS5yZXNvdXJjZURpcmVjdG9yeVVSTCgp
LCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbmRpZgogCiAgICAg
YWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7CiAKKyNpZiBIQVZFKFNB
TkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgaWYgKHBy
b2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCkgfHwgIXVybC5pc0xvY2FsRmlsZSgpKQorICAgICAg
ICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1l
dGVycyksIHdlYlBhZ2VJRCk7CisgICAgZWxzZSB7CisgICAgICAgIERlbGF5ZWRGaWxlTG9hZFJl
cXVlc3QgcmVxdWVzdCB7IFdURk1vdmUobG9hZFBhcmFtZXRlcnMpLCB1cmwsIG1fcGFnZUxvYWRT
dGF0ZS5yZXNvdXJjZURpcmVjdG9yeVVSTCgpLCB3ZWJQYWdlSUQsIHByb2Nlc3MuZ2V0KCksICp0
aGlzIH07CisgICAgICAgIGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkuYXBwZW5kKFdURk1vdmUo
cmVxdWVzdCkpOworICAgIH0KKyNlbHNlCiAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdlSUQpOworI2VuZGlmCiAg
ICAgcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiB9CiAKKyNpZiBIQVZF
KFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCit2b2lkIFdl
YlBhZ2VQcm94eTo6c3RhcnREZWxheWVkRmlsZUxvYWRSZXF1ZXN0cyhjb25zdCBXZWJQcm9jZXNz
UHJveHkmIHByb2Nlc3NQcm94eSkKK3sKKyAgICBWZWN0b3I8dW5zaWduZWQ+IHRvQmVSZW1vdmVk
OworICAgIAorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkZWxheWVkRmlsZUxvYWRSZXF1
ZXN0cygpLnNpemUoKTsgaSsrKSB7CisgICAgICAgIGF1dG8mIGRlbGF5ZWRGaWxlTG9hZFJlcXVl
c3QgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpW2ldOworICAgICAgICBhdXRvJiBsb2FkUGFy
YW1ldGVycyA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QubG9hZFBhcmFtZXRlcnM7CisgICAgICAg
IGF1dG8mIGZpbGVVcmwgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LmZpbGVVcmw7CisgICAgICAg
IGF1dG8mIHJlc291cmNlVXJsID0gZGVsYXllZEZpbGVMb2FkUmVxdWVzdC5yZXNvdXJjZVVybDsK
KyAgICAgICAgYXV0byYgd2ViUGFnZUlEID0gZGVsYXllZEZpbGVMb2FkUmVxdWVzdC53ZWJQYWdl
SUQ7CisgICAgICAgIGF1dG8mIHByb2Nlc3MgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LnByb2Nl
c3M7CisgICAgICAgIGF1dG8mIHBhZ2UgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LnBhZ2U7Cisg
ICAgICAgIAorICAgICAgICBpZiAoJnByb2Nlc3MuZ2V0KCkgIT0gJnByb2Nlc3NQcm94eSkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIHRvQmVSZW1vdmVkLmFwcGVuZChpKTsKKyAg
ICAgICAgcGFnZS0+bWF5YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZShwcm9jZXNz
LCBmaWxlVXJsLCByZXNvdXJjZVVybCwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhh
bmRsZSk7CisKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJl
cXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdlSUQpOworICAgIH0KKyAgICAKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgdG9CZVJlbW92ZWQuc2l6ZSgpOyBpKyspCisgICAgICAgIGRl
bGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkucmVtb3ZlKHRvQmVSZW1vdmVkW3RvQmVSZW1vdmVkLnNp
emUoKSAtIGkgLSAxXSk7Cit9CisjZW5kaWYKKwogUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2Vi
UGFnZVByb3h5Ojpsb2FkRmlsZShjb25zdCBTdHJpbmcmIGZpbGVVUkxTdHJpbmcsIGNvbnN0IFN0
cmluZyYgcmVzb3VyY2VEaXJlY3RvcnlVUkxTdHJpbmcsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkK
IHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJsb2FkRmlsZToiKTsKQEAg
LTEyMTIsMTMgKzEyNzMsMjUgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2ViUGFnZVByb3h5
OjpsbwogICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgPSBT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdzsKICAgICBsb2FkUGFy
YW1ldGVycy51c2VyRGF0YSA9IFVzZXJEYXRhKHByb2Nlc3MoKS50cmFuc2Zvcm1PYmplY3RzVG9I
YW5kbGVzKHVzZXJEYXRhKS5nZXQoKSk7CiAjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhU
RU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQotICAgIGlmICghU2FuZGJveEV4dGVuc2lvbjo6Y3Jl
YXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgcHJvY2Vzc0lkZW50
aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpCi0jZW5kaWYK
KyAgICBpZiAocHJvY2Vzc0lkZW50aWZpZXIoKSkKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgcHJvY2Vzc0lk
ZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisjZWxz
ZQogICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShyZXNvdXJjZURpcmVjdG9yeVBh
dGgsIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBsb2FkUGFyYW1ldGVycy5zYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbmRpZgogICAgIGFkZFBsYXRmb3JtTG9hZFBhcmFtZXRl
cnMobG9hZFBhcmFtZXRlcnMpOwogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5T
SU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChwcm9jZXNzSWRlbnRpZmllcigpKSB7Cisg
ICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3Vy
Y2VEaXJlY3RvcnlVUkwpOworICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgbV93ZWJQYWdlSUQpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIERlbGF5ZWRGaWxlTG9hZFJlcXVlc3QgcmVxdWVzdCB7IFdURk1vdmUobG9h
ZFBhcmFtZXRlcnMpLCBmaWxlVVJMLCByZXNvdXJjZURpcmVjdG9yeVVSTCwgbV93ZWJQYWdlSUQs
IG1fcHJvY2Vzcy5nZXQoKSwgKnRoaXMgfTsKKyAgICAgICAgZGVsYXllZEZpbGVMb2FkUmVxdWVz
dHMoKS5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CisgICAgfQorI2Vsc2UKICAgICBtX3Byb2Nl
c3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJM
KTsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxv
YWRQYXJhbWV0ZXJzKSwgbV93ZWJQYWdlSUQpOworI2VuZGlmCiAgICAgbV9wcm9jZXNzLT5yZXNw
b25zaXZlbmVzc1RpbWVyKCkuc3RhcnQoKTsKIAogICAgIHJldHVybiBuYXZpZ2F0aW9uOwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDI0OTYxMSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTgxLDYgKzE1ODEsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TW9ja0NhcHR1cmVE
ZXZpY2VzRW5hYmxlZE92ZXJyaWRlKE9wdGlvbmFsPGJvb2w+KTsKICNlbmRpZgogCisjaWYgSEFW
RShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIHN0
YXRpYyB2b2lkIHN0YXJ0RGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoY29uc3QgV2ViUHJvY2Vzc1By
b3h5Jik7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYs
IFdlYlByb2Nlc3NQcm94eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKTsKICAgICB2
b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyNDk2MTEpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MTIsNiAr
ODEyLDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAg
IHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgorCisjaWYgSEFW
RShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIFdl
YlBhZ2VQcm94eTo6c3RhcnREZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygqdGhpcyk7CisjZW5kaWYK
IH0KIAogV2ViRnJhbWVQcm94eSogV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJGcmFtZShGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378325</attachid>
            <date>2019-09-08 09:55:35 -0700</date>
            <delta_ts>2019-09-08 10:31:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190908185540.patch</filename>
            <type>text/plain</type>
            <size>10484</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2MjApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA5LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gd2hlbiBz
dGFydGluZyBhIGxvYWQgb2YgYSBsb2NhbCBmaWxlLCB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBub3QKKyAgICAgICAgZmluaXNoZWQgbGF1bmNoaW5nIHlldCwgYW5kIGl0cyBwaWQg
aXMgbm90IGF2YWlsYWJsZS4gV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgc2FuZGJveCBleHRlbnNp
b24gYnkKKyAgICAgICAgdXNpbmcgdGhlIHBpZCBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBp
dCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzCisgICAgICAgIGhhcyBqdXN0IGxhdW5jaGVkIGFuZCBoYXMgbm90IGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQuIFRoaXMgcHJvYmxlbSBjYW4gYmUgZml4ZWQgYnkgZGVsYXlpbmcgdGhlIGZpbGUK
KyAgICAgICAgbG9hZHMgdW50aWwgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgZmluaXNoZWQg
bGF1bmNoaW5nLiBUaGUgbG9hZCBwYXJhbWV0ZXJzIGNhbiBiZSBzdG9yZWQgaW4gdGhlCisgICAg
ICAgIFdlYiBwYWdlIHByb3h5LCBhbmQgd2hlbiB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1
bmNoaW5nLCB0aGUgbG9hZCByZXF1ZXN0IG1lc3NhZ2VzIGNhbiBiZSBzZW50CisgICAgICAgIHRv
IHRoZSBXZWJDb250ZW50IHByb2Nlc3MuIElmIHRoZSBwaWQgaXMgbm90IGF2YWlsYWJsZSB3aGVu
IHN0YXJ0aW5nIHRoZSByZXF1ZXN0LCBubyBzYW5kYm94IGV4dGVuc2lvbgorICAgICAgICB3aWxs
IGJlIGNyZWF0ZWQgdW50aWwgdGhlIHJlcXVlc3QgaXMgcmVzY2hlZHVsZWQuIElmIHRoZSBwaWQg
aXMgYXZhaWxhYmxlLCB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisgICAgICAgIEFsc28s
IHN0b3AgZmFsbGluZyBiYWNrIHRvIGNyZWF0aW5nIHRoZSBzYW5kYm94IGV4dGVuc2lvbiB3aXRo
b3V0IHBpZCwgc2luY2UgdGhlcmUgc2hvdWxkIGFsd2F5cyBiZQorICAgICAgICBhIHBpZCBhdmFp
bGFibGUgd2l0aCB0aGlzIHBhdGNoIHdoZW4gY3JlYXRpbmcgYSBzYW5kYm94IGV4dGVuc2lvbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25T
aGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN0YXJ0RGVsYXllZEZpbGVM
b2FkUmVxdWVzdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRGaWxlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6
ZGlkRmluaXNoTGF1bmNoaW5nKToKKwogMjAxOS0wOS0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBXaW5kb3dzIGJ1aWxkCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI0OTYx
MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNzEsMTQgKzEwNzEsMTUgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5p
dGlhbGl6ZVNhbmRibwogCiAjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RP
X1BST0NFU1NfQllfUElEKQogICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFu
ZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIHBy
b2Nlc3MucHJvY2Vzc0lkZW50aWZpZXIoKSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpIHsKLSAg
ICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVz
b3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNz
VG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICAgICAgaWYgKFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZShyZXNvdXJjZURpcmVjdG9yeVVSTC5maWxlU3lzdGVtUGF0aCgpLCBT
YW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkp
IHsKLSAgICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhp
cywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFk
QWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIAogICAgIGlmIChwcm9jZXNzLmhh
c0Fzc3VtZWRSZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAgLTEwOTIsMTIgKzEwOTMsMTIgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRibwogICAgICAgICB3aWxsQWNxdWly
ZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3Jl
YXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNhbmRib3hF
eHRlbnNpb25IYW5kbGUpKSB7CiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRT
YW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCisjZW5k
aWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAoIWxpbmtlZE9uT3JBZnRlcihTREtWZXJz
aW9uOjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJveEV4dGVuc2lvbikp
CiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHBy
b2Nlc3MpOwpAQCAtMTEwNyw3ICsxMTA4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5p
dGlhbGl6ZVNhbmRibwogICAgIGF1dG8gYmFzZVVSTCA9IFVSTChVUkwoKSwgdXJsLmJhc2VBc1N0
cmluZygpKTsKICAgICBhdXRvIGJhc2VQYXRoID0gYmFzZVVSTC5maWxlU3lzdGVtUGF0aCgpOwog
ICAgIGlmICghYmFzZVBhdGguaXNOdWxsKCkgJiYgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFu
ZGxlKGJhc2VQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgc2FuZGJveEV4
dGVuc2lvbkhhbmRsZSkpCi0gICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFz
ZVVSTCgqdGhpcywgYmFzZVVSTCk7CisgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFjY2Vzc1Rv
QmFzZVVSTCgqdGhpcywgYmFzZVVSTCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCkBAIC0x
MTM5LDYgKzExNDAsMjQgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2ViUGFnZVByb3h5Ojps
bwogICAgIHJldHVybiBuYXZpZ2F0aW9uOwogfQogCisKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVf
UkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCitzdHJ1Y3QgRGVsYXllZEZpbGVMb2Fk
UmVxdWVzdCB7CisgICAgTG9hZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRlcnM7CisgICAgVVJMIGZp
bGVVcmw7CisgICAgVVJMIHJlc291cmNlVXJsOworICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
IHdlYlBhZ2VJRDsKKyAgICBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBwcm9jZXNzOworICAgIFJlZjxX
ZWJQYWdlUHJveHk+IHBhZ2U7Cit9OworCitzdGF0aWMgVmVjdG9yPERlbGF5ZWRGaWxlTG9hZFJl
cXVlc3Q+JiBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpCit7CisgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFZlY3RvcjxEZWxheWVkRmlsZUxvYWRSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgcmV0
dXJuIHJlcXVlc3RzOworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVz
dFdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgV2Vi
Q29yZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRp
b24sIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBT
aG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBP
cHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xpY2llcykKIHsKICAgICBB
U1NFUlQoIW1faXNDbG9zZWQpOwpAQCAtMTE2MSwxNCArMTE4MCw1NiBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6bG9hZFJlcXVlc3RXaXRoTmF2aWdhCiAgICAgbG9hZFBhcmFtZXRlcnMubG9ja0hpc3Rv
cnkgPSBuYXZpZ2F0aW9uLmxvY2tIaXN0b3J5KCk7CiAgICAgbG9hZFBhcmFtZXRlcnMubG9ja0Jh
Y2tGb3J3YXJkTGlzdCA9IG5hdmlnYXRpb24ubG9ja0JhY2tGb3J3YXJkTGlzdCgpOwogICAgIGxv
YWRQYXJhbWV0ZXJzLmNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSA9IG5hdmlnYXRpb24u
Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCk7CisjaWYgSEFWRShTQU5EQk9YX0lTU1VF
X1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChwcm9jZXNzLT5wcm9j
ZXNzSWRlbnRpZmllcigpKQorICAgICAgICBtYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9u
SGFuZGxlKHByb2Nlc3MsIHVybCwgbV9wYWdlTG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJM
KCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworI2Vsc2UKICAgICBt
YXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nlc3MsIHVybCwgbV9wYWdl
TG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hF
eHRlbnNpb25IYW5kbGUpOworI2VuZGlmCiAKICAgICBhZGRQbGF0Zm9ybUxvYWRQYXJhbWV0ZXJz
KGxvYWRQYXJhbWV0ZXJzKTsKIAorI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lP
Tl9UT19QUk9DRVNTX0JZX1BJRCkKKyAgICBpZiAocHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIo
KSB8fCAhdXJsLmlzTG9jYWxGaWxlKCkpCisgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgd2ViUGFnZUlEKTsKKyAgICBl
bHNlIHsKKyAgICAgICAgRGVsYXllZEZpbGVMb2FkUmVxdWVzdCByZXF1ZXN0IHsgV1RGTW92ZShs
b2FkUGFyYW1ldGVycyksIHVybCwgbV9wYWdlTG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJM
KCksIHdlYlBhZ2VJRCwgcHJvY2Vzcy5nZXQoKSwgKnRoaXMgfTsKKyAgICAgICAgZGVsYXllZEZp
bGVMb2FkUmVxdWVzdHMoKS5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CisgICAgfQorI2Vsc2UK
ICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFy
YW1ldGVycyksIHdlYlBhZ2VJRCk7CisjZW5kaWYKICAgICBwcm9jZXNzLT5yZXNwb25zaXZlbmVz
c1RpbWVyKCkuc3RhcnQoKTsKIH0KIAorI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVO
U0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpzdGFydERlbGF5ZWRG
aWxlTG9hZFJlcXVlc3RzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vzc1Byb3h5KQorewor
ICAgIFZlY3Rvcjx1bnNpZ25lZD4gdG9CZVJlbW92ZWQ7CisgICAgCisgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkuc2l6ZSgpOyBpKyspIHsKKyAg
ICAgICAgYXV0byYgZGVsYXllZEZpbGVMb2FkUmVxdWVzdCA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVl
c3RzKClbaV07CisgICAgICAgIGF1dG8mIGxvYWRQYXJhbWV0ZXJzID0gZGVsYXllZEZpbGVMb2Fk
UmVxdWVzdC5sb2FkUGFyYW1ldGVyczsKKyAgICAgICAgYXV0byYgZmlsZVVybCA9IGRlbGF5ZWRG
aWxlTG9hZFJlcXVlc3QuZmlsZVVybDsKKyAgICAgICAgYXV0byYgcmVzb3VyY2VVcmwgPSBkZWxh
eWVkRmlsZUxvYWRSZXF1ZXN0LnJlc291cmNlVXJsOworICAgICAgICBhdXRvJiB3ZWJQYWdlSUQg
PSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LndlYlBhZ2VJRDsKKyAgICAgICAgYXV0byYgcHJvY2Vz
cyA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QucHJvY2VzczsKKyAgICAgICAgYXV0byYgcGFnZSA9
IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QucGFnZTsKKyAgICAgICAgCisgICAgICAgIGlmICgmcHJv
Y2Vzcy5nZXQoKSAhPSAmcHJvY2Vzc1Byb3h5KQorICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgdG9CZVJlbW92ZWQuYXBwZW5kKGkpOworICAgICAgICBwYWdlLT5tYXliZUluaXRpYWxp
emVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nlc3MsIGZpbGVVcmwsIHJlc291cmNlVXJsLCBs
b2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKworICAgICAgICBwcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycyksIHdl
YlBhZ2VJRCk7CisgICAgfQorICAgIAorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0b0Jl
UmVtb3ZlZC5zaXplKCk7IGkrKykKKyAgICAgICAgZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoKS5y
ZW1vdmUodG9CZVJlbW92ZWRbdG9CZVJlbW92ZWQuc2l6ZSgpIC0gaSAtIDFdKTsKK30KKyNlbmRp
ZgorCiBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWRGaWxlKGNvbnN0
IFN0cmluZyYgZmlsZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiByZXNvdXJjZURpcmVjdG9yeVVS
TFN0cmluZywgQVBJOjpPYmplY3QqIHVzZXJEYXRhKQogewogICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoTG9hZGluZywgImxvYWRGaWxlOiIpOwpAQCAtMTIxMiwxMyArMTI3MywyNSBAQCBSZWZQ
dHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgbG9hZFBhcmFtZXRlcnMu
c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3k6OlNob3VsZE5vdEFsbG93OwogICAgIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRhID0gVXNlckRh
dGEocHJvY2VzcygpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEpLmdldCgpKTsK
ICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQp
Ci0gICAgaWYgKCFTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQocmVz
b3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFyYW1ldGVycy5z
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSNlbmRpZgorICAgIGlmIChwcm9jZXNzSWRlbnRpZmll
cigpKQorICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQo
cmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFyYW1ldGVy
cy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbHNlCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6VHlw
ZTo6UmVhZE9ubHksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworI2Vu
ZGlmCiAgICAgYWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7CiAKKyNp
ZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisg
ICAgaWYgKHByb2Nlc3NJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgbV9wcm9jZXNzLT5hc3N1bWVS
ZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CisgICAgICAg
IG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFt
ZXRlcnMpLCBtX3dlYlBhZ2VJRCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgRGVsYXllZEZpbGVM
b2FkUmVxdWVzdCByZXF1ZXN0IHsgV1RGTW92ZShsb2FkUGFyYW1ldGVycyksIGZpbGVVUkwsIHJl
c291cmNlRGlyZWN0b3J5VVJMLCBtX3dlYlBhZ2VJRCwgbV9wcm9jZXNzLmdldCgpLCAqdGhpcyB9
OworICAgICAgICBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpLmFwcGVuZChXVEZNb3ZlKHJlcXVl
c3QpKTsKKyAgICB9CisjZWxzZQogICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFz
ZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOwogICAgIG1fcHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCBtX3dlYlBhZ2VJ
RCk7CisjZW5kaWYKICAgICBtX3Byb2Nlc3MtPnJlc3BvbnNpdmVuZXNzVGltZXIoKS5zdGFydCgp
OwogCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjQ5NjExKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1ODEsNiArMTU4MSwxMCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkT3ZlcnJpZGUoT3B0
aW9uYWw8Ym9vbD4pOwogI2VuZGlmCiAKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRF
TlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgc3RhdGljIHZvaWQgc3RhcnREZWxheWVkRmls
ZUxvYWRSZXF1ZXN0cyhjb25zdCBXZWJQcm9jZXNzUHJveHkmKTsKKyNlbmRpZgorCiBwcml2YXRl
OgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgUmVmPEFQ
STo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJl
dmlzaW9uIDI0OTYxMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxMiw2ICs4MTIsMTAgQEAgdm9pZCBXZWJQcm9jZXNz
UHJveHk6OmRpZEZpbmlzaExhdW5jaGluZwogCiAgICAgdW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2
ZXJJZk5lZWRlZCgpOwogI2VuZGlmCisKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRF
TlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgV2ViUGFnZVByb3h5OjpzdGFydERlbGF5ZWRG
aWxlTG9hZFJlcXVlc3RzKCp0aGlzKTsKKyNlbmRpZgogfQogCiBXZWJGcmFtZVByb3h5KiBXZWJQ
cm9jZXNzUHJveHk6OndlYkZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlEKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378329</attachid>
            <date>2019-09-08 10:31:39 -0700</date>
            <delta_ts>2019-09-08 12:13:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190908193144.patch</filename>
            <type>text/plain</type>
            <size>9676</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2MjApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA5LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gd2hlbiBz
dGFydGluZyBhIGxvYWQgb2YgYSBsb2NhbCBmaWxlLCB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBub3QKKyAgICAgICAgZmluaXNoZWQgbGF1bmNoaW5nIHlldCwgYW5kIGl0cyBwaWQg
aXMgbm90IGF2YWlsYWJsZS4gV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgc2FuZGJveCBleHRlbnNp
b24gYnkKKyAgICAgICAgdXNpbmcgdGhlIHBpZCBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBp
dCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzCisgICAgICAgIGhhcyBqdXN0IGxhdW5jaGVkIGFuZCBoYXMgbm90IGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQuIFRoaXMgcHJvYmxlbSBjYW4gYmUgZml4ZWQgYnkgZGVsYXlpbmcgdGhlIGZpbGUK
KyAgICAgICAgbG9hZHMgdW50aWwgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgZmluaXNoZWQg
bGF1bmNoaW5nLiBUaGUgbG9hZCBwYXJhbWV0ZXJzIGNhbiBiZSBzdG9yZWQgaW4gdGhlCisgICAg
ICAgIFdlYiBwYWdlIHByb3h5LCBhbmQgd2hlbiB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1
bmNoaW5nLCB0aGUgbG9hZCByZXF1ZXN0IG1lc3NhZ2VzIGNhbiBiZSBzZW50CisgICAgICAgIHRv
IHRoZSBXZWJDb250ZW50IHByb2Nlc3MuIElmIHRoZSBwaWQgaXMgbm90IGF2YWlsYWJsZSB3aGVu
IHN0YXJ0aW5nIHRoZSByZXF1ZXN0LCBubyBzYW5kYm94IGV4dGVuc2lvbgorICAgICAgICB3aWxs
IGJlIGNyZWF0ZWQgdW50aWwgdGhlIHJlcXVlc3QgaXMgcmVzY2hlZHVsZWQuIElmIHRoZSBwaWQg
aXMgYXZhaWxhYmxlLCB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisgICAgICAgIEFsc28s
IHN0b3AgZmFsbGluZyBiYWNrIHRvIGNyZWF0aW5nIHRoZSBzYW5kYm94IGV4dGVuc2lvbiB3aXRo
b3V0IHBpZCwgc2luY2UgdGhlcmUgc2hvdWxkIGFsd2F5cyBiZQorICAgICAgICBhIHBpZCBhdmFp
bGFibGUgd2l0aCB0aGlzIHBhdGNoIHdoZW4gY3JlYXRpbmcgYSBzYW5kYm94IGV4dGVuc2lvbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25T
aGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN0YXJ0RGVsYXllZEZpbGVM
b2FkUmVxdWVzdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRGaWxlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6
ZGlkRmluaXNoTGF1bmNoaW5nKToKKwogMjAxOS0wOS0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBXaW5kb3dzIGJ1aWxkCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI0OTYx
MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNzQsMTEgKzEwNzQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5p
dGlhbGl6ZVNhbmRibwogICAgICAgICAgICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9C
YXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICAgICAgaWYgKFNhbmRib3hFeHRlbnNpb246
OmNyZWF0ZUhhbmRsZShyZXNvdXJjZURpcmVjdG9yeVVSTC5maWxlU3lzdGVtUGF0aCgpLCBTYW5k
Ym94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpIHsK
ICAgICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywg
cmVzb3VyY2VEaXJlY3RvcnlVUkwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Cisj
ZW5kaWYKICAgICB9CiAKICAgICBpZiAocHJvY2Vzcy5oYXNBc3N1bWVkUmVhZEFjY2Vzc1RvVVJM
KHVybCkpCkBAIC0xMDkyLDEyICsxMDkzLDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYXliZUlu
aXRpYWxpemVTYW5kYm8KICAgICAgICAgd2lsbEFjcXVpcmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRi
b3hFeHRlbnNpb24ocHJvY2Vzcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jZW5kaWYKKyNl
bHNlCiAgICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZSgiLyIsIFNhbmRib3hF
eHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgewogICAg
ICAgICB3aWxsQWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNz
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQorI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgaWYgKCFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRob3V0VW5jb25k
aXRpb25hbFVuaXZlcnNhbFNhbmRib3hFeHRlbnNpb24pKQogICAgICAgICB3aWxsQWNxdWlyZVVu
aXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKQEAgLTExMzksNiArMTE0
MCwyNCBAQCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgcmV0
dXJuIG5hdmlnYXRpb247CiB9CiAKKworI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVO
U0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKK3N0cnVjdCBEZWxheWVkRmlsZUxvYWRSZXF1ZXN0IHsK
KyAgICBMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVyczsKKyAgICBVUkwgZmlsZVVybDsKKyAg
ICBVUkwgcmVzb3VyY2VVcmw7CisgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlE
OworICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+IHByb2Nlc3M7CisgICAgUmVmPFdlYlBhZ2VQcm94
eT4gcGFnZTsKK307CisKK3N0YXRpYyBWZWN0b3I8RGVsYXllZEZpbGVMb2FkUmVxdWVzdD4mIGRl
bGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVj
dG9yPERlbGF5ZWRGaWxlTG9hZFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICByZXR1cm4gcmVxdWVz
dHM7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmln
YXRpb25TaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9jZXNzLCBXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciB3ZWJQYWdlSUQsIEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgUmVzb3Vy
Y2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIFNob3VsZFRyZWF0
QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQsIE9wdGlvbmFsPFdl
YnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQogewogICAgIEFTU0VSVCghbV9p
c0Nsb3NlZCk7CkBAIC0xMTYxLDE0ICsxMTgwLDU2IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2Fk
UmVxdWVzdFdpdGhOYXZpZ2EKICAgICBsb2FkUGFyYW1ldGVycy5sb2NrSGlzdG9yeSA9IG5hdmln
YXRpb24ubG9ja0hpc3RvcnkoKTsKICAgICBsb2FkUGFyYW1ldGVycy5sb2NrQmFja0ZvcndhcmRM
aXN0ID0gbmF2aWdhdGlvbi5sb2NrQmFja0ZvcndhcmRMaXN0KCk7CiAgICAgbG9hZFBhcmFtZXRl
cnMuY2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5ID0gbmF2aWdhdGlvbi5jbGllbnRSZWRp
cmVjdFNvdXJjZUZvckhpc3RvcnkoKTsKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRF
TlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgaWYgKHByb2Nlc3MtPnByb2Nlc3NJZGVudGlm
aWVyKCkpCisgICAgICAgIG1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUocHJv
Y2VzcywgdXJsLCBtX3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3RvcnlVUkwoKSwgbG9hZFBh
cmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisjZWxzZQogICAgIG1heWJlSW5pdGlh
bGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUocHJvY2VzcywgdXJsLCBtX3BhZ2VMb2FkU3RhdGUu
cmVzb3VyY2VEaXJlY3RvcnlVUkwoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhh
bmRsZSk7CisjZW5kaWYKIAogICAgIGFkZFBsYXRmb3JtTG9hZFBhcmFtZXRlcnMobG9hZFBhcmFt
ZXRlcnMpOwogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NF
U1NfQllfUElEKQorICAgIGlmIChwcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmllcigpIHx8ICF1cmwu
aXNMb2NhbEZpbGUoKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdlSUQpOworICAgIGVsc2UgeworICAg
ICAgICBEZWxheWVkRmlsZUxvYWRSZXF1ZXN0IHJlcXVlc3QgeyBXVEZNb3ZlKGxvYWRQYXJhbWV0
ZXJzKSwgdXJsLCBtX3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3RvcnlVUkwoKSwgd2ViUGFn
ZUlELCBwcm9jZXNzLmdldCgpLCAqdGhpcyB9OworICAgICAgICBkZWxheWVkRmlsZUxvYWRSZXF1
ZXN0cygpLmFwcGVuZChXVEZNb3ZlKHJlcXVlc3QpKTsKKyAgICB9CisjZWxzZQogICAgIHByb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwg
d2ViUGFnZUlEKTsKKyNlbmRpZgogICAgIHByb2Nlc3MtPnJlc3BvbnNpdmVuZXNzVGltZXIoKS5z
dGFydCgpOwogfQogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BS
T0NFU1NfQllfUElEKQordm9pZCBXZWJQYWdlUHJveHk6OnN0YXJ0RGVsYXllZEZpbGVMb2FkUmVx
dWVzdHMoY29uc3QgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzUHJveHkpCit7CisgICAgVmVjdG9y
PHVuc2lnbmVkPiB0b0JlUmVtb3ZlZDsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoKS5zaXplKCk7IGkrKykgeworICAgICAgICBhdXRv
JiBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0ID0gZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoKVtpXTsK
KyAgICAgICAgYXV0byYgbG9hZFBhcmFtZXRlcnMgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0Lmxv
YWRQYXJhbWV0ZXJzOworICAgICAgICBhdXRvJiBmaWxlVXJsID0gZGVsYXllZEZpbGVMb2FkUmVx
dWVzdC5maWxlVXJsOworICAgICAgICBhdXRvJiByZXNvdXJjZVVybCA9IGRlbGF5ZWRGaWxlTG9h
ZFJlcXVlc3QucmVzb3VyY2VVcmw7CisgICAgICAgIGF1dG8mIHdlYlBhZ2VJRCA9IGRlbGF5ZWRG
aWxlTG9hZFJlcXVlc3Qud2ViUGFnZUlEOworICAgICAgICBhdXRvJiBwcm9jZXNzID0gZGVsYXll
ZEZpbGVMb2FkUmVxdWVzdC5wcm9jZXNzOworICAgICAgICBhdXRvJiBwYWdlID0gZGVsYXllZEZp
bGVMb2FkUmVxdWVzdC5wYWdlOworICAgICAgICAKKyAgICAgICAgaWYgKCZwcm9jZXNzLmdldCgp
ICE9ICZwcm9jZXNzUHJveHkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICB0b0Jl
UmVtb3ZlZC5hcHBlbmQoaSk7CisgICAgICAgIHBhZ2UtPm1heWJlSW5pdGlhbGl6ZVNhbmRib3hF
eHRlbnNpb25IYW5kbGUocHJvY2VzcywgZmlsZVVybCwgcmVzb3VyY2VVcmwsIGxvYWRQYXJhbWV0
ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworCisgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgd2ViUGFnZUlEKTsK
KyAgICB9CisgICAgCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRvQmVSZW1vdmVkLnNp
emUoKTsgaSsrKQorICAgICAgICBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpLnJlbW92ZSh0b0Jl
UmVtb3ZlZFt0b0JlUmVtb3ZlZC5zaXplKCkgLSBpIC0gMV0pOworfQorI2VuZGlmCisKIFJlZlB0
cjxBUEk6Ok5hdmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6bG9hZEZpbGUoY29uc3QgU3RyaW5nJiBm
aWxlVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlc291cmNlRGlyZWN0b3J5VVJMU3RyaW5nLCBB
UEk6Ok9iamVjdCogdXNlckRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2Fk
aW5nLCAibG9hZEZpbGU6Iik7CkBAIC0xMjEyLDEzICsxMjczLDI1IEBAIFJlZlB0cjxBUEk6Ok5h
dmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6bG8KICAgICBsb2FkUGFyYW1ldGVycy5zaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5ID0gU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxk
Tm90QWxsb3c7CiAgICAgbG9hZFBhcmFtZXRlcnMudXNlckRhdGEgPSBVc2VyRGF0YShwcm9jZXNz
KCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YSkuZ2V0KCkpOwogI2lmIEhBVkUo
U0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKLSAgICBpZiAo
IVNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURpcmVj
dG9yeVBhdGgsIHByb2Nlc3NJZGVudGlmaWVyKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRl
bnNpb25IYW5kbGUpKQotI2VuZGlmCisgICAgaWYgKHByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAg
ICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURp
cmVjdG9yeVBhdGgsIHByb2Nlc3NJZGVudGlmaWVyKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hF
eHRlbnNpb25IYW5kbGUpOworI2Vsc2UKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5k
bGUocmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25s
eSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisjZW5kaWYKICAgICBh
ZGRQbGF0Zm9ybUxvYWRQYXJhbWV0ZXJzKGxvYWRQYXJhbWV0ZXJzKTsKIAorI2lmIEhBVkUoU0FO
REJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKKyAgICBpZiAocHJv
Y2Vzc0lkZW50aWZpZXIoKSkgeworICAgICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NU
b0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKKyAgICAgICAgbV9wcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycyksIG1f
d2ViUGFnZUlEKTsKKyAgICB9IGVsc2UgeworICAgICAgICBEZWxheWVkRmlsZUxvYWRSZXF1ZXN0
IHJlcXVlc3QgeyBXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgZmlsZVVSTCwgcmVzb3VyY2VEaXJl
Y3RvcnlVUkwsIG1fd2ViUGFnZUlELCBtX3Byb2Nlc3MuZ2V0KCksICp0aGlzIH07CisgICAgICAg
IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOworICAg
IH0KKyNlbHNlCiAgICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlz
LCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycyksIG1fd2ViUGFnZUlEKTsKKyNlbmRp
ZgogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiAKICAgICBy
ZXR1cm4gbmF2aWdhdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCShyZXZpc2lvbiAyNDk2MTEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMTU4MSw2ICsxNTgxLDEwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRPdmVycmlkZShPcHRpb25hbDxib29s
Pik7CiAjZW5kaWYKIAorI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19Q
Uk9DRVNTX0JZX1BJRCkKKyAgICBzdGF0aWMgdm9pZCBzdGFydERlbGF5ZWRGaWxlTG9hZFJlcXVl
c3RzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2Vi
UGFnZVByb3h5KFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNzUHJveHkmLCBSZWY8QVBJOjpQYWdlQ29u
ZmlndXJhdGlvbj4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjQ5
NjExKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtODEyLDYgKzgxMiwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlk
RmluaXNoTGF1bmNoaW5nCiAKICAgICB1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVk
KCk7CiAjZW5kaWYKKworI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19Q
Uk9DRVNTX0JZX1BJRCkKKyAgICBXZWJQYWdlUHJveHk6OnN0YXJ0RGVsYXllZEZpbGVMb2FkUmVx
dWVzdHMoKnRoaXMpOworI2VuZGlmCiB9CiAKIFdlYkZyYW1lUHJveHkqIFdlYlByb2Nlc3NQcm94
eTo6d2ViRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378332</attachid>
            <date>2019-09-08 12:13:10 -0700</date>
            <delta_ts>2019-09-08 16:32:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190908211316.patch</filename>
            <type>text/plain</type>
            <size>10484</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2MjApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA5LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gd2hlbiBz
dGFydGluZyBhIGxvYWQgb2YgYSBsb2NhbCBmaWxlLCB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBub3QKKyAgICAgICAgZmluaXNoZWQgbGF1bmNoaW5nIHlldCwgYW5kIGl0cyBwaWQg
aXMgbm90IGF2YWlsYWJsZS4gV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgc2FuZGJveCBleHRlbnNp
b24gYnkKKyAgICAgICAgdXNpbmcgdGhlIHBpZCBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBp
dCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzCisgICAgICAgIGhhcyBqdXN0IGxhdW5jaGVkIGFuZCBoYXMgbm90IGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQuIFRoaXMgcHJvYmxlbSBjYW4gYmUgZml4ZWQgYnkgZGVsYXlpbmcgdGhlIGZpbGUK
KyAgICAgICAgbG9hZHMgdW50aWwgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgZmluaXNoZWQg
bGF1bmNoaW5nLiBUaGUgbG9hZCBwYXJhbWV0ZXJzIGNhbiBiZSBzdG9yZWQgaW4gdGhlCisgICAg
ICAgIFdlYiBwYWdlIHByb3h5LCBhbmQgd2hlbiB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1
bmNoaW5nLCB0aGUgbG9hZCByZXF1ZXN0IG1lc3NhZ2VzIGNhbiBiZSBzZW50CisgICAgICAgIHRv
IHRoZSBXZWJDb250ZW50IHByb2Nlc3MuIElmIHRoZSBwaWQgaXMgbm90IGF2YWlsYWJsZSB3aGVu
IHN0YXJ0aW5nIHRoZSByZXF1ZXN0LCBubyBzYW5kYm94IGV4dGVuc2lvbgorICAgICAgICB3aWxs
IGJlIGNyZWF0ZWQgdW50aWwgdGhlIHJlcXVlc3QgaXMgcmVzY2hlZHVsZWQuIElmIHRoZSBwaWQg
aXMgYXZhaWxhYmxlLCB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisgICAgICAgIEFsc28s
IHN0b3AgZmFsbGluZyBiYWNrIHRvIGNyZWF0aW5nIHRoZSBzYW5kYm94IGV4dGVuc2lvbiB3aXRo
b3V0IHBpZCwgc2luY2UgdGhlcmUgc2hvdWxkIGFsd2F5cyBiZQorICAgICAgICBhIHBpZCBhdmFp
bGFibGUgd2l0aCB0aGlzIHBhdGNoIHdoZW4gY3JlYXRpbmcgYSBzYW5kYm94IGV4dGVuc2lvbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25T
aGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN0YXJ0RGVsYXllZEZpbGVM
b2FkUmVxdWVzdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRGaWxlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6
ZGlkRmluaXNoTGF1bmNoaW5nKToKKwogMjAxOS0wOS0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBXaW5kb3dzIGJ1aWxkCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI0OTYx
MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNzEsMTQgKzEwNzEsMTUgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5p
dGlhbGl6ZVNhbmRibwogCiAjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5TSU9OX1RP
X1BST0NFU1NfQllfUElEKQogICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFu
ZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIHBy
b2Nlc3MucHJvY2Vzc0lkZW50aWZpZXIoKSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpIHsKLSAg
ICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVz
b3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNz
VG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICAgICAgaWYgKFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZShyZXNvdXJjZURpcmVjdG9yeVVSTC5maWxlU3lzdGVtUGF0aCgpLCBT
YW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkp
IHsKLSAgICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhp
cywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFk
QWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIAogICAgIGlmIChwcm9jZXNzLmhh
c0Fzc3VtZWRSZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAgLTEwOTIsMTIgKzEwOTMsMTIgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRibwogICAgICAgICB3aWxsQWNxdWly
ZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3Jl
YXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNhbmRib3hF
eHRlbnNpb25IYW5kbGUpKSB7CiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRT
YW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCisjZW5k
aWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAoIWxpbmtlZE9uT3JBZnRlcihTREtWZXJz
aW9uOjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJveEV4dGVuc2lvbikp
CiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHBy
b2Nlc3MpOwpAQCAtMTEwNyw3ICsxMTA4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5p
dGlhbGl6ZVNhbmRibwogICAgIGF1dG8gYmFzZVVSTCA9IFVSTChVUkwoKSwgdXJsLmJhc2VBc1N0
cmluZygpKTsKICAgICBhdXRvIGJhc2VQYXRoID0gYmFzZVVSTC5maWxlU3lzdGVtUGF0aCgpOwog
ICAgIGlmICghYmFzZVBhdGguaXNOdWxsKCkgJiYgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFu
ZGxlKGJhc2VQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgc2FuZGJveEV4
dGVuc2lvbkhhbmRsZSkpCi0gICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFz
ZVVSTCgqdGhpcywgYmFzZVVSTCk7CisgICAgICAgIHByb2Nlc3MuYXNzdW1lUmVhZEFjY2Vzc1Rv
QmFzZVVSTCgqdGhpcywgYmFzZVVSTCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCkBAIC0x
MTM5LDYgKzExNDAsMjQgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2ViUGFnZVByb3h5Ojps
bwogICAgIHJldHVybiBuYXZpZ2F0aW9uOwogfQogCisKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVf
UkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCitzdHJ1Y3QgRGVsYXllZEZpbGVMb2Fk
UmVxdWVzdCB7CisgICAgTG9hZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRlcnM7CisgICAgVVJMIGZp
bGVVcmw7CisgICAgVVJMIHJlc291cmNlVXJsOworICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
IHdlYlBhZ2VJRDsKKyAgICBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBwcm9jZXNzOworICAgIFJlZjxX
ZWJQYWdlUHJveHk+IHBhZ2U7Cit9OworCitzdGF0aWMgVmVjdG9yPERlbGF5ZWRGaWxlTG9hZFJl
cXVlc3Q+JiBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpCit7CisgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFZlY3RvcjxEZWxheWVkRmlsZUxvYWRSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgcmV0
dXJuIHJlcXVlc3RzOworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVz
dFdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgV2Vi
Q29yZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRp
b24sIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBT
aG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBP
cHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xpY2llcykKIHsKICAgICBB
U1NFUlQoIW1faXNDbG9zZWQpOwpAQCAtMTE2MSwxNCArMTE4MCw1NiBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6bG9hZFJlcXVlc3RXaXRoTmF2aWdhCiAgICAgbG9hZFBhcmFtZXRlcnMubG9ja0hpc3Rv
cnkgPSBuYXZpZ2F0aW9uLmxvY2tIaXN0b3J5KCk7CiAgICAgbG9hZFBhcmFtZXRlcnMubG9ja0Jh
Y2tGb3J3YXJkTGlzdCA9IG5hdmlnYXRpb24ubG9ja0JhY2tGb3J3YXJkTGlzdCgpOwogICAgIGxv
YWRQYXJhbWV0ZXJzLmNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSA9IG5hdmlnYXRpb24u
Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCk7CisjaWYgSEFWRShTQU5EQk9YX0lTU1VF
X1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChwcm9jZXNzLT5wcm9j
ZXNzSWRlbnRpZmllcigpKQorICAgICAgICBtYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9u
SGFuZGxlKHByb2Nlc3MsIHVybCwgbV9wYWdlTG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJM
KCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworI2Vsc2UKICAgICBt
YXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nlc3MsIHVybCwgbV9wYWdl
TG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hF
eHRlbnNpb25IYW5kbGUpOworI2VuZGlmCiAKICAgICBhZGRQbGF0Zm9ybUxvYWRQYXJhbWV0ZXJz
KGxvYWRQYXJhbWV0ZXJzKTsKIAorI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lP
Tl9UT19QUk9DRVNTX0JZX1BJRCkKKyAgICBpZiAocHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIo
KSB8fCAhdXJsLmlzTG9jYWxGaWxlKCkpCisgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgd2ViUGFnZUlEKTsKKyAgICBl
bHNlIHsKKyAgICAgICAgRGVsYXllZEZpbGVMb2FkUmVxdWVzdCByZXF1ZXN0IHsgV1RGTW92ZShs
b2FkUGFyYW1ldGVycyksIHVybCwgbV9wYWdlTG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJM
KCksIHdlYlBhZ2VJRCwgcHJvY2Vzcy5nZXQoKSwgKnRoaXMgfTsKKyAgICAgICAgZGVsYXllZEZp
bGVMb2FkUmVxdWVzdHMoKS5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CisgICAgfQorI2Vsc2UK
ICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFy
YW1ldGVycyksIHdlYlBhZ2VJRCk7CisjZW5kaWYKICAgICBwcm9jZXNzLT5yZXNwb25zaXZlbmVz
c1RpbWVyKCkuc3RhcnQoKTsKIH0KIAorI2lmIEhBVkUoU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVO
U0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpzdGFydERlbGF5ZWRG
aWxlTG9hZFJlcXVlc3RzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vzc1Byb3h5KQorewor
ICAgIFZlY3Rvcjx1bnNpZ25lZD4gdG9CZVJlbW92ZWQ7CisgICAgCisgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkuc2l6ZSgpOyBpKyspIHsKKyAg
ICAgICAgYXV0byYgZGVsYXllZEZpbGVMb2FkUmVxdWVzdCA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVl
c3RzKClbaV07CisgICAgICAgIGF1dG8mIGxvYWRQYXJhbWV0ZXJzID0gZGVsYXllZEZpbGVMb2Fk
UmVxdWVzdC5sb2FkUGFyYW1ldGVyczsKKyAgICAgICAgYXV0byYgZmlsZVVybCA9IGRlbGF5ZWRG
aWxlTG9hZFJlcXVlc3QuZmlsZVVybDsKKyAgICAgICAgYXV0byYgcmVzb3VyY2VVcmwgPSBkZWxh
eWVkRmlsZUxvYWRSZXF1ZXN0LnJlc291cmNlVXJsOworICAgICAgICBhdXRvJiB3ZWJQYWdlSUQg
PSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LndlYlBhZ2VJRDsKKyAgICAgICAgYXV0byYgcHJvY2Vz
cyA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QucHJvY2VzczsKKyAgICAgICAgYXV0byYgcGFnZSA9
IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QucGFnZTsKKyAgICAgICAgCisgICAgICAgIGlmICgmcHJv
Y2Vzcy5nZXQoKSAhPSAmcHJvY2Vzc1Byb3h5KQorICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgdG9CZVJlbW92ZWQuYXBwZW5kKGkpOworICAgICAgICBwYWdlLT5tYXliZUluaXRpYWxp
emVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nlc3MsIGZpbGVVcmwsIHJlc291cmNlVXJsLCBs
b2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKworICAgICAgICBwcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycyksIHdl
YlBhZ2VJRCk7CisgICAgfQorICAgIAorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0b0Jl
UmVtb3ZlZC5zaXplKCk7IGkrKykKKyAgICAgICAgZGVsYXllZEZpbGVMb2FkUmVxdWVzdHMoKS5y
ZW1vdmUodG9CZVJlbW92ZWRbdG9CZVJlbW92ZWQuc2l6ZSgpIC0gaSAtIDFdKTsKK30KKyNlbmRp
ZgorCiBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWRGaWxlKGNvbnN0
IFN0cmluZyYgZmlsZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiByZXNvdXJjZURpcmVjdG9yeVVS
TFN0cmluZywgQVBJOjpPYmplY3QqIHVzZXJEYXRhKQogewogICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoTG9hZGluZywgImxvYWRGaWxlOiIpOwpAQCAtMTIxMiwxMyArMTI3MywyNSBAQCBSZWZQ
dHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgbG9hZFBhcmFtZXRlcnMu
c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3k6OlNob3VsZE5vdEFsbG93OwogICAgIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRhID0gVXNlckRh
dGEocHJvY2VzcygpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEpLmdldCgpKTsK
ICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQp
Ci0gICAgaWYgKCFTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQocmVz
b3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFyYW1ldGVycy5z
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSNlbmRpZgorICAgIGlmIChwcm9jZXNzSWRlbnRpZmll
cigpKQorICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQo
cmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFyYW1ldGVy
cy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbHNlCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6VHlw
ZTo6UmVhZE9ubHksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworI2Vu
ZGlmCiAgICAgYWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7CiAKKyNp
ZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisg
ICAgaWYgKHByb2Nlc3NJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgbV9wcm9jZXNzLT5hc3N1bWVS
ZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CisgICAgICAg
IG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFt
ZXRlcnMpLCBtX3dlYlBhZ2VJRCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgRGVsYXllZEZpbGVM
b2FkUmVxdWVzdCByZXF1ZXN0IHsgV1RGTW92ZShsb2FkUGFyYW1ldGVycyksIGZpbGVVUkwsIHJl
c291cmNlRGlyZWN0b3J5VVJMLCBtX3dlYlBhZ2VJRCwgbV9wcm9jZXNzLmdldCgpLCAqdGhpcyB9
OworICAgICAgICBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpLmFwcGVuZChXVEZNb3ZlKHJlcXVl
c3QpKTsKKyAgICB9CisjZWxzZQogICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vzc1RvQmFz
ZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOwogICAgIG1fcHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCBtX3dlYlBhZ2VJ
RCk7CisjZW5kaWYKICAgICBtX3Byb2Nlc3MtPnJlc3BvbnNpdmVuZXNzVGltZXIoKS5zdGFydCgp
OwogCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjQ5NjExKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1ODEsNiArMTU4MSwxMCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkT3ZlcnJpZGUoT3B0
aW9uYWw8Ym9vbD4pOwogI2VuZGlmCiAKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRF
TlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgc3RhdGljIHZvaWQgc3RhcnREZWxheWVkRmls
ZUxvYWRSZXF1ZXN0cyhjb25zdCBXZWJQcm9jZXNzUHJveHkmKTsKKyNlbmRpZgorCiBwcml2YXRl
OgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgUmVmPEFQ
STo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJl
dmlzaW9uIDI0OTYxMSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxMiw2ICs4MTIsMTAgQEAgdm9pZCBXZWJQcm9jZXNz
UHJveHk6OmRpZEZpbmlzaExhdW5jaGluZwogCiAgICAgdW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2
ZXJJZk5lZWRlZCgpOwogI2VuZGlmCisKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRF
TlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgV2ViUGFnZVByb3h5OjpzdGFydERlbGF5ZWRG
aWxlTG9hZFJlcXVlc3RzKCp0aGlzKTsKKyNlbmRpZgogfQogCiBXZWJGcmFtZVByb3h5KiBXZWJQ
cm9jZXNzUHJveHk6OndlYkZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlEKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378338</attachid>
            <date>2019-09-08 16:32:18 -0700</date>
            <delta_ts>2019-09-09 08:51:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190909013223.patch</filename>
            <type>text/plain</type>
            <size>10567</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2MjkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA5LTA3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gd2hlbiBz
dGFydGluZyBhIGxvYWQgb2YgYSBsb2NhbCBmaWxlLCB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBub3QKKyAgICAgICAgZmluaXNoZWQgbGF1bmNoaW5nIHlldCwgYW5kIGl0cyBwaWQg
aXMgbm90IGF2YWlsYWJsZS4gV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgc2FuZGJveCBleHRlbnNp
b24gYnkKKyAgICAgICAgdXNpbmcgdGhlIHBpZCBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBp
dCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzCisgICAgICAgIGhhcyBqdXN0IGxhdW5jaGVkIGFuZCBoYXMgbm90IGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQuIFRoaXMgcHJvYmxlbSBjYW4gYmUgZml4ZWQgYnkgZGVsYXlpbmcgdGhlIGZpbGUK
KyAgICAgICAgbG9hZHMgdW50aWwgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgZmluaXNoZWQg
bGF1bmNoaW5nLiBUaGUgbG9hZCBwYXJhbWV0ZXJzIGNhbiBiZSBzdG9yZWQgaW4gdGhlCisgICAg
ICAgIFdlYiBwYWdlIHByb3h5LCBhbmQgd2hlbiB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1
bmNoaW5nLCB0aGUgbG9hZCByZXF1ZXN0IG1lc3NhZ2VzIGNhbiBiZSBzZW50CisgICAgICAgIHRv
IHRoZSBXZWJDb250ZW50IHByb2Nlc3MuIElmIHRoZSBwaWQgaXMgbm90IGF2YWlsYWJsZSB3aGVu
IHN0YXJ0aW5nIHRoZSByZXF1ZXN0LCBubyBzYW5kYm94IGV4dGVuc2lvbgorICAgICAgICB3aWxs
IGJlIGNyZWF0ZWQgdW50aWwgdGhlIHJlcXVlc3QgaXMgcmVzY2hlZHVsZWQuIElmIHRoZSBwaWQg
aXMgYXZhaWxhYmxlLCB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisgICAgICAgIEFsc28s
IHN0b3AgZmFsbGluZyBiYWNrIHRvIGNyZWF0aW5nIHRoZSBzYW5kYm94IGV4dGVuc2lvbiB3aXRo
b3V0IHBpZCwgc2luY2UgdGhlcmUgc2hvdWxkIGFsd2F5cyBiZQorICAgICAgICBhIHBpZCBhdmFp
bGFibGUgd2l0aCB0aGlzIHBhdGNoIHdoZW4gY3JlYXRpbmcgYSBzYW5kYm94IGV4dGVuc2lvbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25T
aGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN0YXJ0RGVsYXllZEZpbGVM
b2FkUmVxdWVzdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRGaWxlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6
ZGlkRmluaXNoTGF1bmNoaW5nKToKKwogMjAxOS0wOS0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCiAgICAgICAgIFJld3JpdGUgaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
c2VydmljZXdvcmtlci1wcml2YXRlLWJyb3dzaW5nLmh0dHBzLmh0bWwgYXMgYW4gQVBJIHRlc3QK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24g
MjQ5NjI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTA3MSwxNCArMTA3MSwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5
YmVJbml0aWFsaXplU2FuZGJvCiAKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJ
T05fVE9fUFJPQ0VTU19CWV9QSUQpCiAgICAgICAgIGlmIChTYW5kYm94RXh0ZW5zaW9uOjpjcmVh
dGVIYW5kbGVGb3JSZWFkQnlQaWQocmVzb3VyY2VEaXJlY3RvcnlVUkwuZmlsZVN5c3RlbVBhdGgo
KSwgcHJvY2Vzcy5wcm9jZXNzSWRlbnRpZmllcigpLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkg
ewotICAgICAgICAgICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlz
LCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CisgICAgICAgICAgICBwcm9jZXNzLmFzc3VtZVJlYWRB
Y2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQotI2VuZGlmCisjZWxzZQogICAgICAgICBpZiAoU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRo
KCksIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlKSkgewotICAgICAgICAgICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJM
KCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7CisgICAgICAgICAgICBwcm9jZXNzLmFzc3Vt
ZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQorI2VuZGlmCiAgICAgfQogCiAgICAgaWYgKHByb2Nl
c3MuaGFzQXNzdW1lZFJlYWRBY2Nlc3NUb1VSTCh1cmwpKQpAQCAtMTA5MiwxMiArMTA5MywxMiBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJvCiAgICAgICAgIHdpbGxB
Y3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQotI2VuZGlmCisjZWxzZQogICAgIGlmIChTYW5kYm94RXh0ZW5zaW9u
OjpjcmVhdGVIYW5kbGUoIi8iLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgc2Fu
ZGJveEV4dGVuc2lvbkhhbmRsZSkpIHsKICAgICAgICAgd2lsbEFjcXVpcmVVbml2ZXJzYWxGaWxl
UmVhZFNhbmRib3hFeHRlbnNpb24ocHJvY2Vzcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0K
KyNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGlmICghbGlua2VkT25PckFmdGVyKFNE
S1ZlcnNpb246OkZpcnN0V2l0aG91dFVuY29uZGl0aW9uYWxVbml2ZXJzYWxTYW5kYm94RXh0ZW5z
aW9uKSkKICAgICAgICAgd2lsbEFjcXVpcmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNp
b24ocHJvY2Vzcyk7CkBAIC0xMTA3LDcgKzExMDgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5
YmVJbml0aWFsaXplU2FuZGJvCiAgICAgYXV0byBiYXNlVVJMID0gVVJMKFVSTCgpLCB1cmwuYmFz
ZUFzU3RyaW5nKCkpOwogICAgIGF1dG8gYmFzZVBhdGggPSBiYXNlVVJMLmZpbGVTeXN0ZW1QYXRo
KCk7CiAgICAgaWYgKCFiYXNlUGF0aC5pc051bGwoKSAmJiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVh
dGVIYW5kbGUoYmFzZVBhdGgsIFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKSkKLSAgICAgICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNz
VG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJMKTsKKyAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNj
ZXNzVG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJMKTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkK
QEAgLTExMzksNiArMTE0MCwyNCBAQCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJv
eHk6OmxvCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CiB9CiAKKworI2lmIEhBVkUoU0FOREJPWF9J
U1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKK3N0cnVjdCBEZWxheWVkRmls
ZUxvYWRSZXF1ZXN0IHsKKyAgICBMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVyczsKKyAgICBV
UkwgZmlsZVVybDsKKyAgICBVUkwgcmVzb3VyY2VVcmw7CisgICAgV2ViQ29yZTo6UGFnZUlkZW50
aWZpZXIgd2ViUGFnZUlEOworICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+IHByb2Nlc3M7CisgICAg
UmVmPFdlYlBhZ2VQcm94eT4gcGFnZTsKK307CisKK3N0YXRpYyBWZWN0b3I8RGVsYXllZEZpbGVM
b2FkUmVxdWVzdD4mIGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8VmVjdG9yPERlbGF5ZWRGaWxlTG9hZFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAg
ICByZXR1cm4gcmVxdWVzdHM7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRS
ZXF1ZXN0V2l0aE5hdmlnYXRpb25TaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9jZXNz
LCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3ZWJQYWdlSUQsIEFQSTo6TmF2aWdhdGlvbiYgbmF2
aWdhdGlvbiwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBBUEk6Ok9iamVjdCogdXNlckRh
dGEsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVhdEFzQ29udGludWluZ0xv
YWQsIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQogewog
ICAgIEFTU0VSVCghbV9pc0Nsb3NlZCk7CkBAIC0xMTYxLDE0ICsxMTgwLDU2IEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2EKICAgICBsb2FkUGFyYW1ldGVycy5sb2Nr
SGlzdG9yeSA9IG5hdmlnYXRpb24ubG9ja0hpc3RvcnkoKTsKICAgICBsb2FkUGFyYW1ldGVycy5s
b2NrQmFja0ZvcndhcmRMaXN0ID0gbmF2aWdhdGlvbi5sb2NrQmFja0ZvcndhcmRMaXN0KCk7CiAg
ICAgbG9hZFBhcmFtZXRlcnMuY2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5ID0gbmF2aWdh
dGlvbi5jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKTsKKyNpZiBIQVZFKFNBTkRCT1hf
SVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgaWYgKHByb2Nlc3Mt
PnByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAgICAgIG1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRl
bnNpb25IYW5kbGUocHJvY2VzcywgdXJsLCBtX3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3Rv
cnlVUkwoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisjZWxzZQog
ICAgIG1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUocHJvY2VzcywgdXJsLCBt
X3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3RvcnlVUkwoKSwgbG9hZFBhcmFtZXRlcnMuc2Fu
ZGJveEV4dGVuc2lvbkhhbmRsZSk7CisjZW5kaWYKIAogICAgIGFkZFBsYXRmb3JtTG9hZFBhcmFt
ZXRlcnMobG9hZFBhcmFtZXRlcnMpOwogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhU
RU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChwcm9jZXNzLT5wcm9jZXNzSWRlbnRp
ZmllcigpIHx8ICF1cmwuaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdlSUQpOwor
ICAgIGVsc2UgeworICAgICAgICBEZWxheWVkRmlsZUxvYWRSZXF1ZXN0IHJlcXVlc3QgeyBXVEZN
b3ZlKGxvYWRQYXJhbWV0ZXJzKSwgdXJsLCBtX3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3Rv
cnlVUkwoKSwgd2ViUGFnZUlELCBwcm9jZXNzLmdldCgpLCAqdGhpcyB9OworICAgICAgICBkZWxh
eWVkRmlsZUxvYWRSZXF1ZXN0cygpLmFwcGVuZChXVEZNb3ZlKHJlcXVlc3QpKTsKKyAgICB9Cisj
ZWxzZQogICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxv
YWRQYXJhbWV0ZXJzKSwgd2ViUGFnZUlEKTsKKyNlbmRpZgogICAgIHByb2Nlc3MtPnJlc3BvbnNp
dmVuZXNzVGltZXIoKS5zdGFydCgpOwogfQogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURf
RVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQordm9pZCBXZWJQYWdlUHJveHk6OnByb2Nlc3NE
ZWxheWVkRmlsZUxvYWRSZXF1ZXN0c0lmTmVlZGVkKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJv
Y2Vzc1Byb3h5KQoreworICAgIFZlY3Rvcjx1bnNpZ25lZD4gdG9CZVJlbW92ZWQ7CisgICAgCisg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkuc2l6
ZSgpOyBpKyspIHsKKyAgICAgICAgYXV0byYgZGVsYXllZEZpbGVMb2FkUmVxdWVzdCA9IGRlbGF5
ZWRGaWxlTG9hZFJlcXVlc3RzKClbaV07CisgICAgICAgIGF1dG8mIGxvYWRQYXJhbWV0ZXJzID0g
ZGVsYXllZEZpbGVMb2FkUmVxdWVzdC5sb2FkUGFyYW1ldGVyczsKKyAgICAgICAgYXV0byYgZmls
ZVVybCA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QuZmlsZVVybDsKKyAgICAgICAgYXV0byYgcmVz
b3VyY2VVcmwgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LnJlc291cmNlVXJsOworICAgICAgICBh
dXRvJiB3ZWJQYWdlSUQgPSBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0LndlYlBhZ2VJRDsKKyAgICAg
ICAgYXV0byYgcHJvY2VzcyA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QucHJvY2VzczsKKyAgICAg
ICAgYXV0byYgcGFnZSA9IGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3QucGFnZTsKKyAgICAgICAgCisg
ICAgICAgIGlmICgmcHJvY2Vzcy5nZXQoKSAhPSAmcHJvY2Vzc1Byb3h5KQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgdG9CZVJlbW92ZWQuYXBwZW5kKGkpOworICAgICAgICBwYWdl
LT5tYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKHByb2Nlc3MsIGZpbGVVcmws
IHJlc291cmNlVXJsLCBsb2FkUGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKwor
ICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2Fk
UGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7CisgICAgfQorICAgIAorICAgIGZvciAoYXV0byBpdGVt
ID0gdG9CZVJlbW92ZWQucmJlZ2luKCk7IGl0ZW0gIT0gdG9CZVJlbW92ZWQucmVuZCgpOyArK2l0
ZW0pCisgICAgICAgIGRlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzKCkucmVtb3ZlKCppdGVtKTsKK30K
KyNlbmRpZgorCiBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWRGaWxl
KGNvbnN0IFN0cmluZyYgZmlsZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiByZXNvdXJjZURpcmVj
dG9yeVVSTFN0cmluZywgQVBJOjpPYmplY3QqIHVzZXJEYXRhKQogewogICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoTG9hZGluZywgImxvYWRGaWxlOiIpOwpAQCAtMTIxMiwxMyArMTI3MywyNSBA
QCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgbG9hZFBhcmFt
ZXRlcnMuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3k6OlNob3VsZE5vdEFsbG93OwogICAgIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRhID0g
VXNlckRhdGEocHJvY2VzcygpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEpLmdl
dCgpKTsKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19C
WV9QSUQpCi0gICAgaWYgKCFTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQ
aWQocmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFyYW1l
dGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSNlbmRpZgorICAgIGlmIChwcm9jZXNzSWRl
bnRpZmllcigpKQorICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFk
QnlQaWQocmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFy
YW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbHNlCiAgICAgU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgU2FuZGJveEV4dGVuc2lv
bjo6VHlwZTo6UmVhZE9ubHksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUp
OworI2VuZGlmCiAgICAgYWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7
CiAKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9Q
SUQpCisgICAgaWYgKHByb2Nlc3NJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgbV9wcm9jZXNzLT5h
c3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9yeVVSTCk7Cisg
ICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9h
ZFBhcmFtZXRlcnMpLCBtX3dlYlBhZ2VJRCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgRGVsYXll
ZEZpbGVMb2FkUmVxdWVzdCByZXF1ZXN0IHsgV1RGTW92ZShsb2FkUGFyYW1ldGVycyksIGZpbGVV
UkwsIHJlc291cmNlRGlyZWN0b3J5VVJMLCBtX3dlYlBhZ2VJRCwgbV9wcm9jZXNzLmdldCgpLCAq
dGhpcyB9OworICAgICAgICBkZWxheWVkRmlsZUxvYWRSZXF1ZXN0cygpLmFwcGVuZChXVEZNb3Zl
KHJlcXVlc3QpKTsKKyAgICB9CisjZWxzZQogICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vz
c1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOwogICAgIG1fcHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCBtX3dl
YlBhZ2VJRCk7CisjZW5kaWYKICAgICBtX3Byb2Nlc3MtPnJlc3BvbnNpdmVuZXNzVGltZXIoKS5z
dGFydCgpOwogCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjQ5NjI5KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1ODEsNiArMTU4MSwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkT3ZlcnJp
ZGUoT3B0aW9uYWw8Ym9vbD4pOwogI2VuZGlmCiAKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVB
RF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgc3RhdGljIHZvaWQgcHJvY2Vzc0Rl
bGF5ZWRGaWxlTG9hZFJlcXVlc3RzSWZOZWVkZWQoY29uc3QgV2ViUHJvY2Vzc1Byb3h5Jik7Cisj
ZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nl
c3NQcm94eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKTsKICAgICB2b2lkIHBsYXRm
b3JtSW5pdGlhbGl6ZSgpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyNDk2MjkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MTIsNiArODEyLDEwIEBA
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAgIHVuYmxvY2tB
Y2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgorCisjaWYgSEFWRShTQU5EQk9Y
X0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIFdlYlBhZ2VQcm94
eTo6cHJvY2Vzc0RlbGF5ZWRGaWxlTG9hZFJlcXVlc3RzSWZOZWVkZWQoKnRoaXMpOworI2VuZGlm
CiB9CiAKIFdlYkZyYW1lUHJveHkqIFdlYlByb2Nlc3NQcm94eTo6d2ViRnJhbWUoRnJhbWVJZGVu
dGlmaWVyIGZyYW1lSUQpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378370</attachid>
            <date>2019-09-09 08:51:44 -0700</date>
            <delta_ts>2019-09-09 09:02:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190909175149.patch</filename>
            <type>text/plain</type>
            <size>11473</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2NDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE5LTA5LTA5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gd2hlbiBz
dGFydGluZyBhIGxvYWQgb2YgYSBsb2NhbCBmaWxlLCB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBub3QgZmluaXNoZWQKKyAgICAgICAgbGF1bmNoaW5nIHlldCwgYW5kIGl0cyBwaWQg
aXMgbm90IGF2YWlsYWJsZS4gV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgc2FuZGJveCBleHRlbnNp
b24gYnkgdXNpbmcgdGhlIHBpZCBvZiB0aGUKKyAgICAgICAgV2ViQ29udGVudCBwcm9jZXNzLCBp
dCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBqdXN0IGxhdW5jaGVkIGFuZCBoYXMgbm90CisgICAgICAgIGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQuIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIG5ldyBkdW1teSBXZWIgcGFnZSBtZXNzYWdl
LCAnTG9hZEZpbGVSZXF1ZXN0Jywgd2hpY2ggd2lsbCBiZSBzZW50CisgICAgICAgIGluc3RlYWQg
b2YgYSBub3JtYWwgJ0xvYWRSZXF1ZXN0JyBtZXNzYWdlLCBhbmQgb25seSB3aGVuIHRoZSBXZWJD
b250ZW50IHByb2Nlc3MgaGFzIG5vdCBmaW5pc2hlZCBsYXVuY2hpbmcuCisgICAgICAgIFdoZW4g
dGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1bmNoaW5nLCBhbmQgd2UgYXJl
IGFib3V0IHRvIGFjdHVhbGx5IHNlbmQgdGhlIHBlbmRpbmcgbWVzc2FnZXMsIHdlCisgICAgICAg
IGNhbiBkZXRlY3QgdGhhdCBhICdMb2FkRmlsZVJlcXVlc3QnIGhhcyBiZWVuIGFwcGVuZGVkIGZv
ciBzZW5kaW5nLCBhbmQgcmVwbGFjZSBpdCB3aXRoIGEgbm9ybWFsICdMb2FkUmVxZXN0JworICAg
ICAgICBtZXNzYWdlIHdoZXJlIHdlIGhhdmUgY3JlYXRlZCB0aGUgc2FuZGJveCBleHRlbnNpb24g
aXNzdWUgd2l0aCBhIHZhbGlkIHBpZC4gVGhlIG1lc3NhZ2UgJ0xvYWRGaWxlUmVxdWVzdCcgaXMK
KyAgICAgICAgbmV2ZXIgaW50ZW5kZWQgdG8gcmVhY2ggdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywg
aXQgaXMganVzdCB0aGVyZSB0byByZXBsYWNlIHdpdGggYSBub3JtYWwgTG9hZFJlcXVlc3QgbWVz
c2FnZQorICAgICAgICB3aXRoIGEgbmV3IHNhbmRib3ggZXh0ZW5zaW9uLiBJbiB0aGUgaW1wbGVt
ZW50YXRpb24gb2YgdGhlIG1lc3NhZ2UgaGFuZGxlciBvbiB0aGUgV2ViQ29udGVudCBwcm9jZXNz
IHNpZGUsIHdlCisgICAgICAgIGFzc2VydCB0aGF0IHRoZSBtZXRob2QgaXMgbmV2ZXIgY2FsbGVk
LiBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBXZWIgcGFnZSBtZXNz
YWdlcyBhcmUgdGhlCisgICAgICAgIHNhbWUsIGV2ZW4gd2hlbiB3ZSBtb2RpZnkgdGhlIG1lc3Nh
Z2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25T
aGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRGaWxlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmZpbGVMb2FkUmVxdWVzdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bjoKKwogMjAxOS0wOS0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgVXNlIFdlYlByb2Nlc3MgcHJvY2Vzc0lkZW50aWZpZXIgdG8gaWRlbnRpZnkgSURCIGNv
bm5lY3Rpb25zIGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcAko
cmV2aXNpb24gMjQ5NjI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJv
Y2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUg
IkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc01l
c3NhZ2VzLmgiCisjaW5jbHVkZSAiTG9hZFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJXZWJQYWdl
TWVzc2FnZXMuaCIKICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKQEAgLTE3NSw2ICsxNzcsMjAgQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OmRpZEZp
bmlzaExhdQogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wZW5kaW5nTWVzc2FnZXMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4gbWVzc2Fn
ZSA9IFdURk1vdmUobV9wZW5kaW5nTWVzc2FnZXNbaV0uZmlyc3QpOwogICAgICAgICBPcHRpb25T
ZXQ8SVBDOjpTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyA9IG1fcGVuZGluZ01lc3NhZ2VzW2ldLnNl
Y29uZDsKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfTUFDSF9FWFRFTlNJT05fVE9fUFJPQ0VTU19C
WV9QSUQpCisgICAgICAgIGlmICghc3RyY21wKCJGaWxlTG9hZFJlcXVlc3QiLCBtZXNzYWdlLT5t
ZXNzYWdlTmFtZSgpLmRhdGEoKSkpIHsKKyAgICAgICAgICAgIGF1dG8gYnVmZmVyID0gbWVzc2Fn
ZS0+YnVmZmVyKCk7CisgICAgICAgICAgICBhdXRvIGJ1ZmZlclNpemUgPSBtZXNzYWdlLT5idWZm
ZXJTaXplKCk7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpEZWNvZGVyPiBkZWNv
ZGVyID0gbWFrZVVuaXF1ZTxJUEM6OkRlY29kZXI+KGJ1ZmZlciwgYnVmZmVyU2l6ZSwgbnVsbHB0
ciwgVmVjdG9yPElQQzo6QXR0YWNobWVudD4geyB9KTsKKyAgICAgICAgICAgIExvYWRQYXJhbWV0
ZXJzIGxvYWRQYXJhbWV0ZXJzOworICAgICAgICAgICAgU3RyaW5nIHNhbmRib3hFeHRlbnNpb25Q
YXRoOworICAgICAgICAgICAgaWYgKGRlY29kZXItPmRlY29kZShsb2FkUGFyYW1ldGVycykgJiYg
ZGVjb2Rlci0+ZGVjb2RlKHNhbmRib3hFeHRlbnNpb25QYXRoKSkgeworICAgICAgICAgICAgICAg
IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChzYW5kYm94RXh0ZW5z
aW9uUGF0aCwgcHJvY2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVu
c2lvbkhhbmRsZSk7CisgICAgICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9h
ZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCBkZWNvZGVyLT5kZXN0aW5hdGlvbklEKCkpOworICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisjZW5kaWYK
ICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kTWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBzZW5k
T3B0aW9ucyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAJKHJldmlzaW9uIDI0OTYyOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzEsMTQgKzEwNzEsMTUgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRibwogCiAjaWYgSEFWRShTQU5EQk9Y
X0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQogICAgICAgICBpZiAoU2Fu
ZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5
VVJMLmZpbGVTeXN0ZW1QYXRoKCksIHByb2Nlc3MucHJvY2Vzc0lkZW50aWZpZXIoKSwgc2FuZGJv
eEV4dGVuc2lvbkhhbmRsZSkpIHsKLSAgICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFj
Y2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAgICAgICAg
cHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9y
eVVSTCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSNlbmRpZgorI2Vsc2UKICAg
ICAgICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShyZXNvdXJjZURpcmVjdG9y
eVVSTC5maWxlU3lzdGVtUGF0aCgpLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwg
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpIHsKLSAgICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1l
UmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAg
ICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURp
cmVjdG9yeVVSTCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KKyNlbmRpZgogICAg
IH0KIAogICAgIGlmIChwcm9jZXNzLmhhc0Fzc3VtZWRSZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAg
LTEwOTIsMTEgKzEwOTMsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNh
bmRibwogICAgICAgICB3aWxsQWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lv
bihwcm9jZXNzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICBp
ZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6
VHlwZTo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7CiAgICAgICAgIHdpbGxB
Y3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQorI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAo
IWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5p
dmVyc2FsU2FuZGJveEV4dGVuc2lvbikpCkBAIC0xMTA2LDggKzExMDgsMTUgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRibwogICAgIC8vIFdlIGZhaWxlZCB0byBpc3N1
ZSBhbiB1bml2ZXJzYWwgZmlsZSByZWFkIGFjY2VzcyBzYW5kYm94LCBmYWxsIGJhY2sgdG8gaXNz
dWluZyBvbmUgZm9yIHRoZSBiYXNlIFVSTCBpbnN0ZWFkLgogICAgIGF1dG8gYmFzZVVSTCA9IFVS
TChVUkwoKSwgdXJsLmJhc2VBc1N0cmluZygpKTsKICAgICBhdXRvIGJhc2VQYXRoID0gYmFzZVVS
TC5maWxlU3lzdGVtUGF0aCgpOwotICAgIGlmICghYmFzZVBhdGguaXNOdWxsKCkgJiYgU2FuZGJv
eEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKGJhc2VQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBl
OjpSZWFkT25seSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpCi0gICAgICAgIG1fcHJvY2Vzcy0+
YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgYmFzZVVSTCk7CisgICAgaWYgKGJhc2VQ
YXRoLmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JF
QURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChTYW5kYm94RXh0ZW5zaW9u
OjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQoYmFzZVBhdGgsIHByb2Nlc3MucHJvY2Vzc0lkZW50
aWZpZXIoKSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpCisgICAgICAgIHByb2Nlc3MuYXNzdW1l
UmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgYmFzZVVSTCk7CisjZWxzZQorICAgIGlmIChTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoYmFzZVBhdGgsIFNhbmRib3hFeHRlbnNpb246OlR5
cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKKyAgICAgICAgcHJvY2Vzcy5h
c3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJMKTsKKyNlbmRpZgogfQogCiAj
aWYgIVBMQVRGT1JNKENPQ09BKQpAQCAtMTE2NSw3ICsxMTc0LDIzIEBAIHZvaWQgV2ViUGFnZVBy
b3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2EKIAogICAgIGFkZFBsYXRmb3JtTG9hZFBhcmFtZXRl
cnMobG9hZFBhcmFtZXRlcnMpOwogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5T
SU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChwcm9jZXNzSWRlbnRpZmllcigpIHx8ICF1
cmwuaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdlSUQpOworICAgIGVsc2Ugewor
ICAgICAgICBTdHJpbmcgc2FuZGJveEV4dGVuc2lvblBhdGg7CisgICAgICAgIGlmICghbV9wYWdl
TG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCkuaXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICBzYW5kYm94RXh0ZW5zaW9uUGF0aCA9IG1fcGFnZUxvYWRTdGF0ZS5yZXNvdXJjZURpcmVjdG9y
eVVSTCgpLmZpbGVTeXN0ZW1QYXRoKCk7CisgICAgICAgICAgICBwcm9jZXNzLT5hc3N1bWVSZWFk
QWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBtX3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3RvcnlV
UkwoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzYW5kYm94RXh0ZW5zaW9uUGF0
aCA9ICIvIjsKKyAgICAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94
RXh0ZW5zaW9uKHByb2Nlc3MpOworICAgICAgICB9CisgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkZpbGVMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycywgc2FuZGJveEV4
dGVuc2lvblBhdGgpLCB3ZWJQYWdlSUQpOworICAgIH0KKyNlbHNlCiAgICAgcHJvY2Vzcy0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdl
SUQpOworI2VuZGlmCiAgICAgcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7
CiB9CiAKQEAgLTEyMTIsMTMgKzEyMzcsMjEgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2Vi
UGFnZVByb3h5OjpsbwogICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3kgPSBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdzsKICAg
ICBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSA9IFVzZXJEYXRhKHByb2Nlc3MoKS50cmFuc2Zvcm1P
YmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhKS5nZXQoKSk7CiAjaWYgSEFWRShTQU5EQk9YX0lTU1VF
X1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQotICAgIGlmICghU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgcHJv
Y2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkp
Ci0jZW5kaWYKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQo
cmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFyYW1ldGVy
cy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbHNlCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6VHlw
ZTo6UmVhZE9ubHksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworI2Vu
ZGlmCiAgICAgYWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7CiAKICAg
ICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGly
ZWN0b3J5VVJMKTsKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJP
Q0VTU19CWV9QSUQpCisgICAgaWYgKHByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAgICAgIG1fcHJv
Y2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMp
LCBtX3dlYlBhZ2VJRCk7CisgICAgZWxzZQorICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OkZpbGVMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycywgcmVzb3VyY2VEaXJl
Y3RvcnlQYXRoKSwgbV93ZWJQYWdlSUQpOworI2Vsc2UKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgbV93ZWJQYWdlSUQp
OworI2VuZGlmCiAgICAgbV9wcm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVyKCkuc3RhcnQoKTsK
IAogICAgIHJldHVybiBuYXZpZ2F0aW9uOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDI0OTYyOSkKKysrIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTUz
LDYgKzE1NTMsMTEgQEAgdm9pZCBXZWJQYWdlOjpsb2FkUmVxdWVzdChMb2FkUGFyYW1ldGVycwog
ICAgIEFTU0VSVCghbV9wZW5kaW5nV2Vic2l0ZVBvbGljaWVzKTsKIH0KIAorTk9fUkVUVVJOIHZv
aWQgV2ViUGFnZTo6ZmlsZUxvYWRSZXF1ZXN0KExvYWRQYXJhbWV0ZXJzJiYsIGNvbnN0IFN0cmlu
ZyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKIHZvaWQgV2ViUGFnZTo6bG9h
ZERhdGFJbXBsKHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgYm9vbCBzaG91bGRUcmVhdEFzQ29udGlu
dWluZ0xvYWQsIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVz
LCBSZWY8U2hhcmVkQnVmZmVyPiYmIHNoYXJlZEJ1ZmZlciwgY29uc3QgU3RyaW5nJiBNSU1FVHlw
ZSwgY29uc3QgU3RyaW5nJiBlbmNvZGluZ05hbWUsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3Qg
VVJMJiB1bnJlYWNoYWJsZVVSTCwgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRhLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpCiB7CiAgICAg
U2VuZFN0b3BSZXNwb25zaXZlbmVzc1RpbWVyIHN0b3BwZXI7CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiAyNDk2MjkpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEzMTcsNiArMTMxNyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB0cnlDbG9zZSgpOwogICAgIHZv
aWQgcGxhdGZvcm1EaWRSZWNlaXZlTG9hZFBhcmFtZXRlcnMoY29uc3QgTG9hZFBhcmFtZXRlcnMm
KTsKICAgICB2b2lkIGxvYWRSZXF1ZXN0KExvYWRQYXJhbWV0ZXJzJiYpOworICAgIHZvaWQgZmls
ZUxvYWRSZXF1ZXN0KExvYWRQYXJhbWV0ZXJzJiYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQg
bG9hZERhdGEoTG9hZFBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBsb2FkQWx0ZXJuYXRlSFRNTChM
b2FkUGFyYW1ldGVycyYmKTsKICAgICB2b2lkIG5hdmlnYXRlVG9QREZMaW5rV2l0aFNpbXVsYXRl
ZENsaWNrKGNvbnN0IFN0cmluZyYgdXJsLCBXZWJDb3JlOjpJbnRQb2ludCBkb2N1bWVudFBvaW50
LCBXZWJDb3JlOjpJbnRQb2ludCBzY3JlZW5Qb2ludCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9u
IDI0OTYyOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE2NSw2ICsxNjUsNyBAQCBHZW5lcmF0ZVN5bnRo
ZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWluCiAgICAgTG9hZFVSTEluRnJhbWUoVVJMIHVybCwg
U3RyaW5nIHJlZmVycmVyLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCkKICAgICBM
b2FkRGF0YUluRnJhbWUoSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIFN0cmluZyBNSU1FVHlwZSwg
U3RyaW5nIGVuY29kaW5nTmFtZSwgVVJMIGJhc2VVUkwsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmll
ciBmcmFtZUlEKQogICAgIExvYWRSZXF1ZXN0KHN0cnVjdCBXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJz
IGxvYWRQYXJhbWV0ZXJzKQorICAgIEZpbGVMb2FkUmVxdWVzdChzdHJ1Y3QgV2ViS2l0OjpMb2Fk
UGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycywgU3RyaW5nIHNhbmRib3hFeHRlbnNpb25QYXRoKQog
ICAgIExvYWREYXRhKHN0cnVjdCBXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJz
KQogICAgIExvYWRBbHRlcm5hdGVIVE1MKHN0cnVjdCBXZWJLaXQ6OkxvYWRQYXJhbWV0ZXJzIGxv
YWRQYXJhbWV0ZXJzKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378372</attachid>
            <date>2019-09-09 09:02:30 -0700</date>
            <delta_ts>2019-09-09 10:03:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190909180235.patch</filename>
            <type>text/plain</type>
            <size>11481</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2NDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE5LTA5LTA5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gd2hlbiBz
dGFydGluZyBhIGxvYWQgb2YgYSBsb2NhbCBmaWxlLCB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBub3QgZmluaXNoZWQKKyAgICAgICAgbGF1bmNoaW5nIHlldCwgYW5kIGl0cyBwaWQg
aXMgbm90IGF2YWlsYWJsZS4gV2hlbiB3ZSB0cnkgdG8gY3JlYXRlIGEgc2FuZGJveCBleHRlbnNp
b24gYnkgdXNpbmcgdGhlIHBpZCBvZiB0aGUKKyAgICAgICAgV2ViQ29udGVudCBwcm9jZXNzLCBp
dCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIGhhcyBqdXN0IGxhdW5jaGVkIGFuZCBoYXMgbm90CisgICAgICAgIGZpbmlzaGVkIGxhdW5j
aGluZyB5ZXQuIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIG5ldyBkdW1teSBXZWIgcGFnZSBtZXNzYWdl
LCAnTG9hZEZpbGVSZXF1ZXN0Jywgd2hpY2ggd2lsbCBiZSBzZW50CisgICAgICAgIGluc3RlYWQg
b2YgYSBub3JtYWwgJ0xvYWRSZXF1ZXN0JyBtZXNzYWdlLCBhbmQgb25seSB3aGVuIHRoZSBXZWJD
b250ZW50IHByb2Nlc3MgaGFzIG5vdCBmaW5pc2hlZCBsYXVuY2hpbmcuCisgICAgICAgIFdoZW4g
dGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgZmluaXNoZWQgbGF1bmNoaW5nLCBhbmQgd2UgYXJl
IGFib3V0IHRvIGFjdHVhbGx5IHNlbmQgdGhlIHBlbmRpbmcgbWVzc2FnZXMsIHdlCisgICAgICAg
IGNhbiBkZXRlY3QgdGhhdCBhICdMb2FkRmlsZVJlcXVlc3QnIGhhcyBiZWVuIGFwcGVuZGVkIGZv
ciBzZW5kaW5nLCBhbmQgcmVwbGFjZSBpdCB3aXRoIGEgbm9ybWFsICdMb2FkUmVxZXN0JworICAg
ICAgICBtZXNzYWdlIHdoZXJlIHdlIGhhdmUgY3JlYXRlZCB0aGUgc2FuZGJveCBleHRlbnNpb24g
aXNzdWUgd2l0aCBhIHZhbGlkIHBpZC4gVGhlIG1lc3NhZ2UgJ0xvYWRGaWxlUmVxdWVzdCcgaXMK
KyAgICAgICAgbmV2ZXIgaW50ZW5kZWQgdG8gcmVhY2ggdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywg
aXQgaXMganVzdCB0aGVyZSB0byByZXBsYWNlIHdpdGggYSBub3JtYWwgTG9hZFJlcXVlc3QgbWVz
c2FnZQorICAgICAgICB3aXRoIGEgbmV3IHNhbmRib3ggZXh0ZW5zaW9uLiBJbiB0aGUgaW1wbGVt
ZW50YXRpb24gb2YgdGhlIG1lc3NhZ2UgaGFuZGxlciBvbiB0aGUgV2ViQ29udGVudCBwcm9jZXNz
IHNpZGUsIHdlCisgICAgICAgIGFzc2VydCB0aGF0IHRoZSBtZXRob2QgaXMgbmV2ZXIgY2FsbGVk
LiBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBXZWIgcGFnZSBtZXNz
YWdlcyBhcmUgdGhlCisgICAgICAgIHNhbWUsIGV2ZW4gd2hlbiB3ZSBtb2RpZnkgdGhlIG1lc3Nh
Z2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNpb25IYW5kbGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25T
aGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRGaWxlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmZpbGVMb2FkUmVxdWVzdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bjoKKwogMjAxOS0wOS0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgVXNlIFdlYlByb2Nlc3MgcHJvY2Vzc0lkZW50aWZpZXIgdG8gaWRlbnRpZnkgSURCIGNv
bm5lY3Rpb25zIGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcAko
cmV2aXNpb24gMjQ5NjI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJv
Y2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUg
IkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc01l
c3NhZ2VzLmgiCisjaW5jbHVkZSAiTG9hZFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJXZWJQYWdl
TWVzc2FnZXMuaCIKICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKQEAgLTE3NSw2ICsxNzcsMjAgQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OmRpZEZp
bmlzaExhdQogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wZW5kaW5nTWVzc2FnZXMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4gbWVzc2Fn
ZSA9IFdURk1vdmUobV9wZW5kaW5nTWVzc2FnZXNbaV0uZmlyc3QpOwogICAgICAgICBPcHRpb25T
ZXQ8SVBDOjpTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyA9IG1fcGVuZGluZ01lc3NhZ2VzW2ldLnNl
Y29uZDsKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfTUFDSF9FWFRFTlNJT05fVE9fUFJPQ0VTU19C
WV9QSUQpCisgICAgICAgIGlmICghc3RyY21wKCJGaWxlTG9hZFJlcXVlc3QiLCBtZXNzYWdlLT5t
ZXNzYWdlTmFtZSgpLmRhdGEoKSkpIHsKKyAgICAgICAgICAgIGF1dG8gYnVmZmVyID0gbWVzc2Fn
ZS0+YnVmZmVyKCk7CisgICAgICAgICAgICBhdXRvIGJ1ZmZlclNpemUgPSBtZXNzYWdlLT5idWZm
ZXJTaXplKCk7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpEZWNvZGVyPiBkZWNv
ZGVyID0gbWFrZVVuaXF1ZTxJUEM6OkRlY29kZXI+KGJ1ZmZlciwgYnVmZmVyU2l6ZSwgbnVsbHB0
ciwgVmVjdG9yPElQQzo6QXR0YWNobWVudD4geyB9KTsKKyAgICAgICAgICAgIExvYWRQYXJhbWV0
ZXJzIGxvYWRQYXJhbWV0ZXJzOworICAgICAgICAgICAgU3RyaW5nIHNhbmRib3hFeHRlbnNpb25Q
YXRoOworICAgICAgICAgICAgaWYgKGRlY29kZXItPmRlY29kZShsb2FkUGFyYW1ldGVycykgJiYg
ZGVjb2Rlci0+ZGVjb2RlKHNhbmRib3hFeHRlbnNpb25QYXRoKSkgeworICAgICAgICAgICAgICAg
IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChzYW5kYm94RXh0ZW5z
aW9uUGF0aCwgcHJvY2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVu
c2lvbkhhbmRsZSk7CisgICAgICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9h
ZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCBkZWNvZGVyLT5kZXN0aW5hdGlvbklEKCkpOworICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisjZW5kaWYK
ICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kTWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBzZW5k
T3B0aW9ucyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAJKHJldmlzaW9uIDI0OTYyOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzEsMTQgKzEwNzEsMTUgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRibwogCiAjaWYgSEFWRShTQU5EQk9Y
X0lTU1VFX1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQogICAgICAgICBpZiAoU2Fu
ZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5
VVJMLmZpbGVTeXN0ZW1QYXRoKCksIHByb2Nlc3MucHJvY2Vzc0lkZW50aWZpZXIoKSwgc2FuZGJv
eEV4dGVuc2lvbkhhbmRsZSkpIHsKLSAgICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFj
Y2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAgICAgICAg
cHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVjdG9y
eVVSTCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSNlbmRpZgorI2Vsc2UKICAg
ICAgICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShyZXNvdXJjZURpcmVjdG9y
eVVSTC5maWxlU3lzdGVtUGF0aCgpLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwg
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpIHsKLSAgICAgICAgICAgIG1fcHJvY2Vzcy0+YXNzdW1l
UmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOworICAgICAg
ICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURp
cmVjdG9yeVVSTCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KKyNlbmRpZgogICAg
IH0KIAogICAgIGlmIChwcm9jZXNzLmhhc0Fzc3VtZWRSZWFkQWNjZXNzVG9VUkwodXJsKSkKQEAg
LTEwOTIsMTEgKzEwOTMsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNh
bmRibwogICAgICAgICB3aWxsQWNxdWlyZVVuaXZlcnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lv
bihwcm9jZXNzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgorI2Vsc2UKICAgICBp
ZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6
VHlwZTo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpKSB7CiAgICAgICAgIHdpbGxB
Y3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQorI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAo
IWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5p
dmVyc2FsU2FuZGJveEV4dGVuc2lvbikpCkBAIC0xMTA2LDggKzExMDgsMTUgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRibwogICAgIC8vIFdlIGZhaWxlZCB0byBpc3N1
ZSBhbiB1bml2ZXJzYWwgZmlsZSByZWFkIGFjY2VzcyBzYW5kYm94LCBmYWxsIGJhY2sgdG8gaXNz
dWluZyBvbmUgZm9yIHRoZSBiYXNlIFVSTCBpbnN0ZWFkLgogICAgIGF1dG8gYmFzZVVSTCA9IFVS
TChVUkwoKSwgdXJsLmJhc2VBc1N0cmluZygpKTsKICAgICBhdXRvIGJhc2VQYXRoID0gYmFzZVVS
TC5maWxlU3lzdGVtUGF0aCgpOwotICAgIGlmICghYmFzZVBhdGguaXNOdWxsKCkgJiYgU2FuZGJv
eEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKGJhc2VQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBl
OjpSZWFkT25seSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpCi0gICAgICAgIG1fcHJvY2Vzcy0+
YXNzdW1lUmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgYmFzZVVSTCk7CisgICAgaWYgKGJhc2VQ
YXRoLmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JF
QURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChTYW5kYm94RXh0ZW5zaW9u
OjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQoYmFzZVBhdGgsIHByb2Nlc3MucHJvY2Vzc0lkZW50
aWZpZXIoKSwgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkpCisgICAgICAgIHByb2Nlc3MuYXNzdW1l
UmVhZEFjY2Vzc1RvQmFzZVVSTCgqdGhpcywgYmFzZVVSTCk7CisjZWxzZQorICAgIGlmIChTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoYmFzZVBhdGgsIFNhbmRib3hFeHRlbnNpb246OlR5
cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKKyAgICAgICAgcHJvY2Vzcy5h
c3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJMKTsKKyNlbmRpZgogfQogCiAj
aWYgIVBMQVRGT1JNKENPQ09BKQpAQCAtMTE2NSw3ICsxMTc0LDIzIEBAIHZvaWQgV2ViUGFnZVBy
b3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2EKIAogICAgIGFkZFBsYXRmb3JtTG9hZFBhcmFtZXRl
cnMobG9hZFBhcmFtZXRlcnMpOwogCisjaWYgSEFWRShTQU5EQk9YX0lTU1VFX1JFQURfRVhURU5T
SU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgIGlmIChwcm9jZXNzSWRlbnRpZmllcigpIHx8ICF1
cmwuaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdlSUQpOworICAgIGVsc2Ugewor
ICAgICAgICBTdHJpbmcgc2FuZGJveEV4dGVuc2lvblBhdGg7CisgICAgICAgIGlmICghbV9wYWdl
TG9hZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCkuaXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICBzYW5kYm94RXh0ZW5zaW9uUGF0aCA9IG1fcGFnZUxvYWRTdGF0ZS5yZXNvdXJjZURpcmVjdG9y
eVVSTCgpLmZpbGVTeXN0ZW1QYXRoKCk7CisgICAgICAgICAgICBwcm9jZXNzLT5hc3N1bWVSZWFk
QWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBtX3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3RvcnlV
UkwoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzYW5kYm94RXh0ZW5zaW9uUGF0
aCA9ICIvIjsKKyAgICAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRTYW5kYm94
RXh0ZW5zaW9uKHByb2Nlc3MpOworICAgICAgICB9CisgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkZpbGVMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycywgc2FuZGJveEV4
dGVuc2lvblBhdGgpLCB3ZWJQYWdlSUQpOworICAgIH0KKyNlbHNlCiAgICAgcHJvY2Vzcy0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCB3ZWJQYWdl
SUQpOworI2VuZGlmCiAgICAgcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7
CiB9CiAKQEAgLTEyMTIsMTMgKzEyMzcsMjEgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2Vi
UGFnZVByb3h5OjpsbwogICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3kgPSBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdzsKICAg
ICBsb2FkUGFyYW1ldGVycy51c2VyRGF0YSA9IFVzZXJEYXRhKHByb2Nlc3MoKS50cmFuc2Zvcm1P
YmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhKS5nZXQoKSk7CiAjaWYgSEFWRShTQU5EQk9YX0lTU1VF
X1JFQURfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQotICAgIGlmICghU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZEJ5UGlkKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgcHJv
Y2Vzc0lkZW50aWZpZXIoKSwgbG9hZFBhcmFtZXRlcnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkp
Ci0jZW5kaWYKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkQnlQaWQo
cmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFyYW1ldGVy
cy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyNlbHNlCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlKHJlc291cmNlRGlyZWN0b3J5UGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6VHlw
ZTo6UmVhZE9ubHksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUpOworI2Vu
ZGlmCiAgICAgYWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7CiAKICAg
ICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIHJlc291cmNlRGly
ZWN0b3J5VVJMKTsKKyNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJP
Q0VTU19CWV9QSUQpCisgICAgaWYgKHByb2Nlc3NJZGVudGlmaWVyKCkpCisgICAgICAgIG1fcHJv
Y2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMp
LCBtX3dlYlBhZ2VJRCk7CisgICAgZWxzZQorICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OkZpbGVMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycywgcmVzb3VyY2VEaXJl
Y3RvcnlQYXRoKSwgbV93ZWJQYWdlSUQpOworI2Vsc2UKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkxvYWRSZXF1ZXN0KGxvYWRQYXJhbWV0ZXJzKSwgbV93ZWJQYWdlSUQp
OworI2VuZGlmCiAgICAgbV9wcm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVyKCkuc3RhcnQoKTsK
IAogICAgIHJldHVybiBuYXZpZ2F0aW9uOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDI0OTYyOSkKKysrIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTUz
LDYgKzE1NTMsMTEgQEAgdm9pZCBXZWJQYWdlOjpsb2FkUmVxdWVzdChMb2FkUGFyYW1ldGVycwog
ICAgIEFTU0VSVCghbV9wZW5kaW5nV2Vic2l0ZVBvbGljaWVzKTsKIH0KIAorTk9fUkVUVVJOIHZv
aWQgV2ViUGFnZTo6ZmlsZUxvYWRSZXF1ZXN0KExvYWRQYXJhbWV0ZXJzJiYsIGNvbnN0IFN0cmlu
ZyYpCit7CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwogdm9pZCBXZWJQ
YWdlOjpsb2FkRGF0YUltcGwodWludDY0X3QgbmF2aWdhdGlvbklELCBib29sIHNob3VsZFRyZWF0
QXNDb250aW51aW5nTG9hZCwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiB3ZWJzaXRl
UG9saWNpZXMsIFJlZjxTaGFyZWRCdWZmZXI+JiYgc2hhcmVkQnVmZmVyLCBjb25zdCBTdHJpbmcm
IE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nTmFtZSwgY29uc3QgVVJMJiBiYXNlVVJM
LCBjb25zdCBVUkwmIHVucmVhY2hhYmxlVVJMLCBjb25zdCBVc2VyRGF0YSYgdXNlckRhdGEsIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSkK
IHsKICAgICBTZW5kU3RvcFJlc3BvbnNpdmVuZXNzVGltZXIgc3RvcHBlcjsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDI0OTYyOSkK
KysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBj
b3B5KQpAQCAtMTMxNyw2ICsxMzE3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRyeUNsb3NlKCk7
CiAgICAgdm9pZCBwbGF0Zm9ybURpZFJlY2VpdmVMb2FkUGFyYW1ldGVycyhjb25zdCBMb2FkUGFy
YW1ldGVycyYpOwogICAgIHZvaWQgbG9hZFJlcXVlc3QoTG9hZFBhcmFtZXRlcnMmJik7CisgICAg
dm9pZCBmaWxlTG9hZFJlcXVlc3QoTG9hZFBhcmFtZXRlcnMmJiwgY29uc3QgU3RyaW5nJik7CiAg
ICAgdm9pZCBsb2FkRGF0YShMb2FkUGFyYW1ldGVycyYmKTsKICAgICB2b2lkIGxvYWRBbHRlcm5h
dGVIVE1MKExvYWRQYXJhbWV0ZXJzJiYpOwogICAgIHZvaWQgbmF2aWdhdGVUb1BERkxpbmtXaXRo
U2ltdWxhdGVkQ2xpY2soY29uc3QgU3RyaW5nJiB1cmwsIFdlYkNvcmU6OkludFBvaW50IGRvY3Vt
ZW50UG9pbnQsIFdlYkNvcmU6OkludFBvaW50IHNjcmVlblBvaW50KTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgko
cmV2aXNpb24gMjQ5NjI5KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTY1LDYgKzE2NSw3IEBAIEdlbmVy
YXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW4KICAgICBMb2FkVVJMSW5GcmFtZShV
UkwgdXJsLCBTdHJpbmcgcmVmZXJyZXIsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlE
KQogICAgIExvYWREYXRhSW5GcmFtZShJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgU3RyaW5nIE1J
TUVUeXBlLCBTdHJpbmcgZW5jb2RpbmdOYW1lLCBVUkwgYmFzZVVSTCwgV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyIGZyYW1lSUQpCiAgICAgTG9hZFJlcXVlc3Qoc3RydWN0IFdlYktpdDo6TG9hZFBh
cmFtZXRlcnMgbG9hZFBhcmFtZXRlcnMpCisgICAgRmlsZUxvYWRSZXF1ZXN0KHN0cnVjdCBXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzIGxvYWRQYXJhbWV0ZXJzLCBTdHJpbmcgc2FuZGJveEV4dGVuc2lv
blBhdGgpCiAgICAgTG9hZERhdGEoc3RydWN0IFdlYktpdDo6TG9hZFBhcmFtZXRlcnMgbG9hZFBh
cmFtZXRlcnMpCiAgICAgTG9hZEFsdGVybmF0ZUhUTUwoc3RydWN0IFdlYktpdDo6TG9hZFBhcmFt
ZXRlcnMgbG9hZFBhcmFtZXRlcnMpCiAK
</data>
<flag name="review"
          id="393996"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378379</attachid>
            <date>2019-09-09 10:25:39 -0700</date>
            <delta_ts>2019-09-09 10:44:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201543-20190909192543.patch</filename>
            <type>text/plain</type>
            <size>11672</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk2NDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE5LTA5LTA5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBpZCBpcyBzb21l
dGltZXMgaW52YWxpZCB3aGVuIGNyZWF0aW5nIHNhbmRib3ggZXh0ZW5zaW9ucyBieSBwaWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE1NDMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzMzNDY1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJy
ZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGhlcmUgaXMgYSByYWNlIGNvbmRpdGlvbiB3aGVuIHN0
YXJ0aW5nIGEgbG9hZCBvZiBhIGxvY2FsIGZpbGUsIHdoZXJlIHRoZSBXZWJDb250ZW50IHByb2Nl
c3MgaGFzIG5vdCBmaW5pc2hlZAorICAgICAgICBsYXVuY2hpbmcgeWV0LCBhbmQgaXRzIHBpZCBp
cyBub3QgYXZhaWxhYmxlLiBXaGVuIHdlIHRyeSB0byBjcmVhdGUgYSBzYW5kYm94IGV4dGVuc2lv
biBieSB1c2luZyB0aGUgcGlkIG9mIHRoZQorICAgICAgICBXZWJDb250ZW50IHByb2Nlc3MsIGl0
IGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGNhc2VzIHdoZXJlIHRoZSBXZWJDb250ZW50IHByb2Nl
c3MgaGFzIGp1c3QgbGF1bmNoZWQgYW5kIGhhcyBub3QKKyAgICAgICAgZmluaXNoZWQgbGF1bmNo
aW5nIHlldC4gVGhpcyBwYXRjaCBjcmVhdGVzIGEgbmV3IGR1bW15IFdlYiBwYWdlIG1lc3NhZ2Us
ICdMb2FkUmVxdWVzdFdhaXRpbmdGb3JQSUQnLCB3aGljaCB3aWxsCisgICAgICAgIGJlIHNlbnQg
aW5zdGVhZCBvZiBhIG5vcm1hbCAnTG9hZFJlcXVlc3QnIG1lc3NhZ2UsIGFuZCBvbmx5IHdoZW4g
dGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgbm90IGZpbmlzaGVkCisgICAgICAgIGxhdW5jaGlu
Zy4gV2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGhhcyBmaW5pc2hlZCBsYXVuY2hpbmcsIGFu
ZCB3ZSBhcmUgYWJvdXQgdG8gYWN0dWFsbHkgc2VuZCB0aGUgcGVuZGluZworICAgICAgICBtZXNz
YWdlcywgd2UgY2FuIGRldGVjdCB0aGF0IGEgJ0xvYWRSZXF1ZXN0V2FpdGluZ0ZvclBJRCcgaGFz
IGJlZW4gYXBwZW5kZWQgZm9yIHNlbmRpbmcsIGFuZCByZXBsYWNlIGl0IHdpdGggYQorICAgICAg
ICBub3JtYWwgJ0xvYWRSZXFlc3QnIG1lc3NhZ2Ugd2hlcmUgd2UgaGF2ZSBjcmVhdGVkIHRoZSBz
YW5kYm94IGV4dGVuc2lvbiBpc3N1ZSB3aXRoIGEgdmFsaWQgcGlkLiBUaGUgbWVzc2FnZQorICAg
ICAgICAnTG9hZFJlcXVlc3RXYWl0aW5nRm9yUElEJyBpcyBuZXZlciBpbnRlbmRlZCB0byByZWFj
aCB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBpdCBpcyBqdXN0IHRoZXJlIHRvIHJlcGxhY2Ugd2l0
aAorICAgICAgICBhIG5vcm1hbCAnTG9hZFJlcXVlc3QnIG1lc3NhZ2Ugd2l0aCBhIG5ldyBzYW5k
Ym94IGV4dGVuc2lvbi4gSW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBtZXNzYWdlIGhhbmRs
ZXIgb24KKyAgICAgICAgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBzaWRlLCB3ZSBhc3NlcnQgdGhh
dCB0aGUgbWV0aG9kIGlzIG5ldmVyIGNhbGxlZC4gVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHRoZSBv
cmRlcmluZyBvZgorICAgICAgICB0aGUgV2ViIHBhZ2UgbWVzc2FnZXMgYXJlIHRoZSBzYW1lLCBl
dmVuIHdoZW4gd2UgbW9kaWZ5IHRoZSBtZXNzYWdlLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1
eGlsaWFyeVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nl
c3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxp
emVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojpsb2FkRmlsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpmaWxlTG9hZFJlcXVlc3QpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTktMDktMDkgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBXZWJQcm9jZXNzIHByb2Nlc3NJ
ZGVudGlmaWVyIHRvIGlkZW50aWZ5IElEQiBjb25uZWN0aW9ucyBiZXR3ZWVuIFdlYlByb2Nlc3Mg
YW5kIE5ldHdvcmtQcm9jZXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlh
cnlQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI0OTYyOSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzUHJveHkuaCIKIAog
I2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIkxvYWRQYXJh
bWV0ZXJzLmgiCisjaW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8d3RmL1J1
bkxvb3AuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xNzUsNiArMTc3LDIwIEBAIHZvaWQg
QXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXUKICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1fcGVuZGluZ01lc3NhZ2VzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxJUEM6OkVuY29kZXI+IG1lc3NhZ2UgPSBXVEZNb3ZlKG1fcGVuZGluZ01lc3NhZ2Vz
W2ldLmZpcnN0KTsKICAgICAgICAgT3B0aW9uU2V0PElQQzo6U2VuZE9wdGlvbj4gc2VuZE9wdGlv
bnMgPSBtX3BlbmRpbmdNZXNzYWdlc1tpXS5zZWNvbmQ7CisjaWYgSEFWRShTQU5EQk9YX0lTU1VF
X01BQ0hfRVhURU5TSU9OX1RPX1BST0NFU1NfQllfUElEKQorICAgICAgICBpZiAobWVzc2FnZS0+
bWVzc2FnZU5hbWUoKSA9PSAiTG9hZFJlcXVlc3RXYWl0aW5nRm9yUElEIikgeworICAgICAgICAg
ICAgYXV0byBidWZmZXIgPSBtZXNzYWdlLT5idWZmZXIoKTsKKyAgICAgICAgICAgIGF1dG8gYnVm
ZmVyU2l6ZSA9IG1lc3NhZ2UtPmJ1ZmZlclNpemUoKTsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxJUEM6OkRlY29kZXI+IGRlY29kZXIgPSBtYWtlVW5pcXVlPElQQzo6RGVjb2Rlcj4oYnVm
ZmVyLCBidWZmZXJTaXplLCBudWxscHRyLCBWZWN0b3I8SVBDOjpBdHRhY2htZW50PiB7IH0pOwor
ICAgICAgICAgICAgTG9hZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRlcnM7CisgICAgICAgICAgICBT
dHJpbmcgc2FuZGJveEV4dGVuc2lvblBhdGg7CisgICAgICAgICAgICBpZiAoZGVjb2Rlci0+ZGVj
b2RlKGxvYWRQYXJhbWV0ZXJzKSAmJiBkZWNvZGVyLT5kZWNvZGUoc2FuZGJveEV4dGVuc2lvblBh
dGgpKSB7CisgICAgICAgICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9y
UmVhZEJ5UGlkKHNhbmRib3hFeHRlbnNpb25QYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2Fk
UGFyYW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKKyAgICAgICAgICAgICAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycyksIGRlY29kZXIt
PmRlc3RpbmF0aW9uSUQoKSk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmRNZXNzYWdl
KFdURk1vdmUobWVzc2FnZSksIHNlbmRPcHRpb25zKTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMjQ5NjI5KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA3MSwxNCArMTA3MSwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2Fu
ZGJvCiAKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19C
WV9QSUQpCiAgICAgICAgIGlmIChTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFk
QnlQaWQocmVzb3VyY2VEaXJlY3RvcnlVUkwuZmlsZVN5c3RlbVBhdGgoKSwgcHJvY2Vzcy5wcm9j
ZXNzSWRlbnRpZmllcigpLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgewotICAgICAgICAgICAg
bV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJjZURpcmVj
dG9yeVVSTCk7CisgICAgICAgICAgICBwcm9jZXNzLmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwo
KnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQotI2VuZGlmCisjZWxzZQogICAgICAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRl
SGFuZGxlKHJlc291cmNlRGlyZWN0b3J5VVJMLmZpbGVTeXN0ZW1QYXRoKCksIFNhbmRib3hFeHRl
bnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkgewotICAgICAg
ICAgICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCByZXNvdXJj
ZURpcmVjdG9yeVVSTCk7CisgICAgICAgICAgICBwcm9jZXNzLmFzc3VtZVJlYWRBY2Nlc3NUb0Jh
c2VVUkwoKnRoaXMsIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQorI2VuZGlmCiAgICAgfQogCiAgICAgaWYgKHByb2Nlc3MuaGFzQXNzdW1lZFJl
YWRBY2Nlc3NUb1VSTCh1cmwpKQpAQCAtMTA5MiwxMSArMTA5MywxMiBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJvCiAgICAgICAgIHdpbGxBY3F1aXJlVW5pdmVyc2Fs
RmlsZVJlYWRTYW5kYm94RXh0ZW5zaW9uKHByb2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotI2VuZGlmCisjZWxzZQogICAgIGlmIChTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUo
Ii8iLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgc2FuZGJveEV4dGVuc2lvbkhh
bmRsZSkpIHsKICAgICAgICAgd2lsbEFjcXVpcmVVbml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRl
bnNpb24ocHJvY2Vzcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIGlmICghbGlua2VkT25PckFmdGVyKFNES1ZlcnNpb246OkZpcnN0
V2l0aG91dFVuY29uZGl0aW9uYWxVbml2ZXJzYWxTYW5kYm94RXh0ZW5zaW9uKSkKQEAgLTExMDYs
OCArMTEwOCwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJvCiAg
ICAgLy8gV2UgZmFpbGVkIHRvIGlzc3VlIGFuIHVuaXZlcnNhbCBmaWxlIHJlYWQgYWNjZXNzIHNh
bmRib3gsIGZhbGwgYmFjayB0byBpc3N1aW5nIG9uZSBmb3IgdGhlIGJhc2UgVVJMIGluc3RlYWQu
CiAgICAgYXV0byBiYXNlVVJMID0gVVJMKFVSTCgpLCB1cmwuYmFzZUFzU3RyaW5nKCkpOwogICAg
IGF1dG8gYmFzZVBhdGggPSBiYXNlVVJMLmZpbGVTeXN0ZW1QYXRoKCk7Ci0gICAgaWYgKCFiYXNl
UGF0aC5pc051bGwoKSAmJiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUoYmFzZVBhdGgs
IFNhbmRib3hFeHRlbnNpb246OlR5cGU6OlJlYWRPbmx5LCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxl
KSkKLSAgICAgICAgbV9wcm9jZXNzLT5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBi
YXNlVVJMKTsKKyAgICBpZiAoYmFzZVBhdGguaXNOdWxsKCkpCisgICAgICAgIHJldHVybjsKKyNp
ZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisg
ICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChiYXNlUGF0
aCwgcHJvY2Vzcy5wcm9jZXNzSWRlbnRpZmllcigpLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkK
KyAgICAgICAgcHJvY2Vzcy5hc3N1bWVSZWFkQWNjZXNzVG9CYXNlVVJMKCp0aGlzLCBiYXNlVVJM
KTsKKyNlbHNlCisgICAgaWYgKFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZShiYXNlUGF0
aCwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNpb25IYW5k
bGUpKQorICAgICAgICBwcm9jZXNzLmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIGJh
c2VVUkwpOworI2VuZGlmCiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCkBAIC0xMTY1LDcgKzEx
NzQsMjMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYQogCiAgICAg
YWRkUGxhdGZvcm1Mb2FkUGFyYW1ldGVycyhsb2FkUGFyYW1ldGVycyk7CiAKKyNpZiBIQVZFKFNB
TkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VTU19CWV9QSUQpCisgICAgaWYgKHBy
b2Nlc3NJZGVudGlmaWVyKCkgfHwgIXVybC5pc0xvY2FsRmlsZSgpKQorICAgICAgICBwcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycyksIHdl
YlBhZ2VJRCk7CisgICAgZWxzZSB7CisgICAgICAgIFN0cmluZyBzYW5kYm94RXh0ZW5zaW9uUGF0
aDsKKyAgICAgICAgaWYgKCFtX3BhZ2VMb2FkU3RhdGUucmVzb3VyY2VEaXJlY3RvcnlVUkwoKS5p
c0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHNhbmRib3hFeHRlbnNpb25QYXRoID0gbV9wYWdlTG9h
ZFN0YXRlLnJlc291cmNlRGlyZWN0b3J5VVJMKCkuZmlsZVN5c3RlbVBhdGgoKTsKKyAgICAgICAg
ICAgIHByb2Nlc3MtPmFzc3VtZVJlYWRBY2Nlc3NUb0Jhc2VVUkwoKnRoaXMsIG1fcGFnZUxvYWRT
dGF0ZS5yZXNvdXJjZURpcmVjdG9yeVVSTCgpKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHNhbmRib3hFeHRlbnNpb25QYXRoID0gIi8iOworICAgICAgICAgICAgd2lsbEFjcXVpcmVV
bml2ZXJzYWxGaWxlUmVhZFNhbmRib3hFeHRlbnNpb24ocHJvY2Vzcyk7CisgICAgICAgIH0KKyAg
ICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3RXYWl0aW5n
Rm9yUElEKGxvYWRQYXJhbWV0ZXJzLCBzYW5kYm94RXh0ZW5zaW9uUGF0aCksIHdlYlBhZ2VJRCk7
CisgICAgfQorI2Vsc2UKICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMb2Fk
UmVxdWVzdChsb2FkUGFyYW1ldGVycyksIHdlYlBhZ2VJRCk7CisjZW5kaWYKICAgICBwcm9jZXNz
LT5yZXNwb25zaXZlbmVzc1RpbWVyKCkuc3RhcnQoKTsKIH0KIApAQCAtMTIxMiwxMyArMTIzNywy
MSBAQCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvCiAgICAgbG9hZFBh
cmFtZXRlcnMuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93OwogICAgIGxvYWRQYXJhbWV0ZXJzLnVzZXJEYXRh
ID0gVXNlckRhdGEocHJvY2VzcygpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEp
LmdldCgpKTsKICNpZiBIQVZFKFNBTkRCT1hfSVNTVUVfUkVBRF9FWFRFTlNJT05fVE9fUFJPQ0VT
U19CWV9QSUQpCi0gICAgaWYgKCFTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFk
QnlQaWQocmVzb3VyY2VEaXJlY3RvcnlQYXRoLCBwcm9jZXNzSWRlbnRpZmllcigpLCBsb2FkUGFy
YW1ldGVycy5zYW5kYm94RXh0ZW5zaW9uSGFuZGxlKSkKLSNlbmRpZgorICAgIFNhbmRib3hFeHRl
bnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRCeVBpZChyZXNvdXJjZURpcmVjdG9yeVBhdGgsIHBy
b2Nlc3NJZGVudGlmaWVyKCksIGxvYWRQYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25IYW5kbGUp
OworI2Vsc2UKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUocmVzb3VyY2VEaXJl
Y3RvcnlQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpUeXBlOjpSZWFkT25seSwgbG9hZFBhcmFtZXRl
cnMuc2FuZGJveEV4dGVuc2lvbkhhbmRsZSk7CisjZW5kaWYKICAgICBhZGRQbGF0Zm9ybUxvYWRQ
YXJhbWV0ZXJzKGxvYWRQYXJhbWV0ZXJzKTsKIAogICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFj
Y2Vzc1RvQmFzZVVSTCgqdGhpcywgcmVzb3VyY2VEaXJlY3RvcnlVUkwpOworI2lmIEhBVkUoU0FO
REJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX1BJRCkKKyAgICBpZiAocHJv
Y2Vzc0lkZW50aWZpZXIoKSkKKyAgICAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpMb2FkUmVxdWVzdChsb2FkUGFyYW1ldGVycyksIG1fd2ViUGFnZUlEKTsKKyAgICBlbHNl
CisgICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TG9hZFJlcXVlc3RX
YWl0aW5nRm9yUElEKGxvYWRQYXJhbWV0ZXJzLCByZXNvdXJjZURpcmVjdG9yeVBhdGgpLCBtX3dl
YlBhZ2VJRCk7CisjZWxzZQogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
TG9hZFJlcXVlc3QobG9hZFBhcmFtZXRlcnMpLCBtX3dlYlBhZ2VJRCk7CisjZW5kaWYKICAgICBt
X3Byb2Nlc3MtPnJlc3BvbnNpdmVuZXNzVGltZXIoKS5zdGFydCgpOwogCiAgICAgcmV0dXJuIG5h
dmlnYXRpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAkocmV2aXNpb24gMjQ5NjI5KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NTMsNiArMTU1MywxMiBAQCB2
b2lkIFdlYlBhZ2U6OmxvYWRSZXF1ZXN0KExvYWRQYXJhbWV0ZXJzCiAgICAgQVNTRVJUKCFtX3Bl
bmRpbmdXZWJzaXRlUG9saWNpZXMpOwogfQogCisvLyBMb2FkUmVxdWVzdFdhaXRpbmdGb3JQSUQg
c2hvdWxkIG5ldmVyIGJlIHNlbnQgdG8gdGhlIFdlYlByb2Nlc3MuIEl0IG11c3QgYWx3YXlzIGJl
IGNvbnZlcnRlZCB0byBhIExvYWRSZXF1ZXN0IG1lc3NhZ2UuCitOT19SRVRVUk4gdm9pZCBXZWJQ
YWdlOjpsb2FkUmVxdWVzdFdhaXRpbmdGb3JQSUQoTG9hZFBhcmFtZXRlcnMmJiwgY29uc3QgU3Ry
aW5nJikKK3sKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCiB2b2lkIFdl
YlBhZ2U6OmxvYWREYXRhSW1wbCh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGJvb2wgc2hvdWxkVHJl
YXRBc0NvbnRpbnVpbmdMb2FkLCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNp
dGVQb2xpY2llcywgUmVmPFNoYXJlZEJ1ZmZlcj4mJiBzaGFyZWRCdWZmZXIsIGNvbnN0IFN0cmlu
ZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmdOYW1lLCBjb25zdCBVUkwmIGJhc2VV
UkwsIGNvbnN0IFVSTCYgdW5yZWFjaGFibGVVUkwsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSwg
U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
KQogewogICAgIFNlbmRTdG9wUmVzcG9uc2l2ZW5lc3NUaW1lciBzdG9wcGVyOwpJbmRleDogU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMjQ5NjI5
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzE3LDYgKzEzMTcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdHJ5Q2xvc2Uo
KTsKICAgICB2b2lkIHBsYXRmb3JtRGlkUmVjZWl2ZUxvYWRQYXJhbWV0ZXJzKGNvbnN0IExvYWRQ
YXJhbWV0ZXJzJik7CiAgICAgdm9pZCBsb2FkUmVxdWVzdChMb2FkUGFyYW1ldGVycyYmKTsKKyAg
ICB2b2lkIGxvYWRSZXF1ZXN0V2FpdGluZ0ZvclBJRChMb2FkUGFyYW1ldGVycyYmLCBjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIGxvYWREYXRhKExvYWRQYXJhbWV0ZXJzJiYpOwogICAgIHZvaWQg
bG9hZEFsdGVybmF0ZUhUTUwoTG9hZFBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBuYXZpZ2F0ZVRv
UERGTGlua1dpdGhTaW11bGF0ZWRDbGljayhjb25zdCBTdHJpbmcmIHVybCwgV2ViQ29yZTo6SW50
UG9pbnQgZG9jdW1lbnRQb2ludCwgV2ViQ29yZTo6SW50UG9pbnQgc2NyZWVuUG9pbnQpOwpJbmRl
eDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCShyZXZpc2lvbiAyNDk2MjkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNjUsNiArMTY1
LDcgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbgogICAgIExvYWRV
UkxJbkZyYW1lKFVSTCB1cmwsIFN0cmluZyByZWZlcnJlciwgV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQpCiAgICAgTG9hZERhdGFJbkZyYW1lKElQQzo6RGF0YVJlZmVyZW5jZSBkYXRh
LCBTdHJpbmcgTUlNRVR5cGUsIFN0cmluZyBlbmNvZGluZ05hbWUsIFVSTCBiYXNlVVJMLCBXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCkKICAgICBMb2FkUmVxdWVzdChzdHJ1Y3QgV2Vi
S2l0OjpMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycykKKyAgICBMb2FkUmVxdWVzdFdhaXRp
bmdGb3JQSUQoc3RydWN0IFdlYktpdDo6TG9hZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRlcnMsIFN0
cmluZyBzYW5kYm94RXh0ZW5zaW9uUGF0aCkKICAgICBMb2FkRGF0YShzdHJ1Y3QgV2ViS2l0OjpM
b2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycykKICAgICBMb2FkQWx0ZXJuYXRlSFRNTChzdHJ1
Y3QgV2ViS2l0OjpMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycykKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>