<?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>160234</bug_id>
          
          <creation_ts>2016-07-26 23:20:42 -0700</creation_ts>
          <short_desc>Check if NSURLAuthenticationChallengeSender has implemented optional methods before calling them</short_desc>
          <delta_ts>2017-10-25 16:24:20 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=156947</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1214823</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-07-26 23:20:42 -0700</bug_when>
    <thetext>Check if NSURLAuthenticationChallengeSender has implemented optional methods before calling them</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214825</commentid>
    <comment_count>1</comment_count>
      <attachid>284676</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-07-26 23:32:32 -0700</bug_when>
    <thetext>Created attachment 284676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214831</commentid>
    <comment_count>2</comment_count>
      <attachid>284677</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-07-26 23:58:56 -0700</bug_when>
    <thetext>Created attachment 284677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214832</commentid>
    <comment_count>3</comment_count>
      <attachid>284678</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-07-27 00:32:02 -0700</bug_when>
    <thetext>Created attachment 284678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214931</commentid>
    <comment_count>4</comment_count>
      <attachid>284678</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-27 09:03:36 -0700</bug_when>
    <thetext>Comment on attachment 284678
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        This is clear from the stack traces in the radars and the fact that only the two optional methods are causing crashes.

Wasn&apos;t that WebCore challenge sender, which you already fixed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214933</commentid>
    <comment_count>5</comment_count>
      <attachid>284678</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-27 09:06:18 -0700</bug_when>
    <thetext>Comment on attachment 284678
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        If something is exploitable, then it does not become more exploitable with this check.

This is a strong statement when dealing with an impossible situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215075</commentid>
    <comment_count>6</comment_count>
      <attachid>284678</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-27 16:13:52 -0700</bug_when>
    <thetext>Comment on attachment 284678
Patch

Clearing review flag, as this doesn&apos;t seem needed at this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215091</commentid>
    <comment_count>7</comment_count>
      <attachid>284678</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-27 16:44:12 -0700</bug_when>
    <thetext>Comment on attachment 284678
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +        This is clear from the stack traces in the radars and the fact that only the two optional methods are causing crashes.
&gt; 
&gt; Wasn&apos;t that WebCore challenge sender, which you already fixed?

How do you know that WebCoreAuthenticationClientAsChallengeSender is the only type of object used in this code path?

The NSProtocol definition of NSURLAuthenticationChallengeSender states that the following methods are optional:

- performDefaultHandlingForAuthenticationChallenge:
- rejectProtectionSpaceAndContinueWithChallenge:

&lt;https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSURLAuthenticationChallengeSender_Protocol/&gt;

I don&apos;t understand the logic in assuming these optional methods always exist on whatever object is passed into this method unless it&apos;s provable that it&apos;s always a WebCoreAuthenticationClientAsChallengeSender object.

&gt;&gt; Source/WebCore/ChangeLog:16
&gt;&gt; +        If something is exploitable, then it does not become more exploitable with this check.
&gt; 
&gt; This is a strong statement when dealing with an impossible situation.

NOTE: This statement assumes that the only type of object ever passed into this method is a WebCoreAuthenticationClientAsChallengeSender created by WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215092</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-27 16:50:00 -0700</bug_when>
    <thetext>&gt; The NSProtocol definition of NSURLAuthenticationChallengeSender states that the following methods are optional:

We are not allowing arbitrary NSURLAuthenticationChallengeSenders here, so it is not relevant whether these methods are marked as optional in the protocol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245679</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-10-28 11:31:05 -0700</bug_when>
    <thetext>See also &lt;rdar://problem/27814853&gt;.

&lt;rdar://problem/27439617&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245681</commentid>
    <comment_count>10</comment_count>
      <attachid>284678</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-10-28 11:36:34 -0700</bug_when>
    <thetext>Comment on attachment 284678
Patch

r-, but only because I think we need to add logging for the type of object being used that doesn&apos;t respond to each of the selectors.

Then this patch will prevent crashes due to unimplemented selectors, and when unexpected authentication failures occur (as Alex notes in the ChangeLog), we&apos;ll capture what type of object is being used with a sysdiagnose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245684</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-10-28 11:38:32 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; The NSProtocol definition of NSURLAuthenticationChallengeSender states that the following methods are optional:
&gt; 
&gt; We are not allowing arbitrary NSURLAuthenticationChallengeSenders here, so
&gt; it is not relevant whether these methods are marked as optional in the
&gt; protocol.

The crashes are still occurring in iOS 10.x, so it seems like being defensive (plus logging to determine what the type of the failing objects is) would be a good path forward here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245728</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-10-28 13:27:12 -0700</bug_when>
    <thetext>Is there some other defensive fix? I think that discussing the latest attached patch takes us further away from addressing the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245855</commentid>
    <comment_count>13</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-10-28 16:25:17 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Is there some other defensive fix?

I don&apos;t know of one.  Do you have any?  I feel you&apos;re blocking 

&gt; I think that discussing the latest
&gt; attached patch takes us further away from addressing the problem.

I think the latest patch would fix the crash, and with the additional logging then any user-visible side-effect would be obvious and more easily fixed.  As it stands, we have no known individual bug reports about this crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245859</commentid>
    <comment_count>14</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-10-28 16:29:04 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; Is there some other defensive fix?
&gt; 
&gt; I don&apos;t know of one.  Do you have any?  I feel you&apos;re blocking 

...progress on fixing this crash without having a specific direction in mind.

I agree that this patch avoids the crash and doesn&apos;t address the root cause, but I also feel that not crashing is better than crashing in this case.

Do you feel that it&apos;s still better to crash in this case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245865</commentid>
    <comment_count>15</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-10-28 16:40:50 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; Is there some other defensive fix?
&gt; &gt; 
&gt; &gt; I don&apos;t know of one.  Do you have any?  I feel you&apos;re blocking 
&gt; 
&gt; ...progress on fixing this crash without having a specific direction in mind.
&gt; 
&gt; I agree that this patch avoids the crash and doesn&apos;t address the root cause,
&gt; but I also feel that not crashing is better than crashing in this case.
&gt; 
&gt; Do you feel that it&apos;s still better to crash in this case?

Just found some internal crashes that include the class name!

Taking discussion to &lt;rdar://problem/27439617&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245925</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-10-28 18:53:09 -0700</bug_when>
    <thetext>I&apos;m glad that I was blocking the patch :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267432</commentid>
    <comment_count>17</comment_count>
      <attachid>284678</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-01-17 11:30:26 -0800</bug_when>
    <thetext>Comment on attachment 284678
Patch

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

&gt;&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt;&gt; +        This is clear from the stack traces in the radars and the fact that only the two optional methods are causing crashes.
&gt;&gt; 
&gt;&gt; Wasn&apos;t that WebCore challenge sender, which you already fixed?
&gt; 
&gt; How do you know that WebCoreAuthenticationClientAsChallengeSender is the only type of object used in this code path?
&gt; 
&gt; The NSProtocol definition of NSURLAuthenticationChallengeSender states that the following methods are optional:
&gt; 
&gt; - performDefaultHandlingForAuthenticationChallenge:
&gt; - rejectProtectionSpaceAndContinueWithChallenge:
&gt; 
&gt; &lt;https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSURLAuthenticationChallengeSender_Protocol/&gt;
&gt; 
&gt; I don&apos;t understand the logic in assuming these optional methods always exist on whatever object is passed into this method unless it&apos;s provable that it&apos;s always a WebCoreAuthenticationClientAsChallengeSender object.

Since the two methods are not required, there is probably nothing in Xcode that notifies developers that their sender object is missing these delegate methods.

Given that these are documented to be optional, it really seems correct that the changes in ResourceHandleMac.mm and AuthenticationManagerCocoa.mm are NEEDED.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267440</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-01-17 11:52:25 -0800</bug_when>
    <thetext>Brent, I don&apos;t think that this is the case. 3rd party clients don&apos;t have a way to run custom code in the Networking process, so they can&apos;t introduce delegates that don&apos;t implement these methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274180</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-07 15:12:59 -0800</bug_when>
    <thetext>Hopefully obsoleted by the fix in bug 167951.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319219</commentid>
    <comment_count>20</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-06-14 10:48:09 -0700</bug_when>
    <thetext>*** Bug 173372 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319699</commentid>
    <comment_count>21</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-06-15 14:14:58 -0700</bug_when>
    <thetext>rdar://problem/30675510</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329680</commentid>
    <comment_count>22</comment_count>
      <attachid>284678</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-07-17 13:14:28 -0700</bug_when>
    <thetext>Comment on attachment 284678
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt;&gt;&gt; +        This is clear from the stack traces in the radars and the fact that only the two optional methods are causing crashes.
&gt;&gt;&gt; 
&gt;&gt;&gt; Wasn&apos;t that WebCore challenge sender, which you already fixed?
&gt;&gt; 
&gt;&gt; How do you know that WebCoreAuthenticationClientAsChallengeSender is the only type of object used in this code path?
&gt;&gt; 
&gt;&gt; The NSProtocol definition of NSURLAuthenticationChallengeSender states that the following methods are optional:
&gt;&gt; 
&gt;&gt; - performDefaultHandlingForAuthenticationChallenge:
&gt;&gt; - rejectProtectionSpaceAndContinueWithChallenge:
&gt;&gt; 
&gt;&gt; &lt;https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSURLAuthenticationChallengeSender_Protocol/&gt;
&gt;&gt; 
&gt;&gt; I don&apos;t understand the logic in assuming these optional methods always exist on whatever object is passed into this method unless it&apos;s provable that it&apos;s always a WebCoreAuthenticationClientAsChallengeSender object.
&gt; 
&gt; Since the two methods are not required, there is probably nothing in Xcode that notifies developers that their sender object is missing these delegate methods.
&gt; 
&gt; Given that these are documented to be optional, it really seems correct that the changes in ResourceHandleMac.mm and AuthenticationManagerCocoa.mm are NEEDED.

Even if the ChallengeSender was WebCoreAuthenticationClientAsChallengeSender, as far as I can tell, the implementation of [WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge] ends up calling AuthenticationClient::receivedChallengeRejection(). The AuthenticationClient I believe is the ResourceHandle. On Cocoa, ResourceHandle::receivedChallengeRejection() ends up calling:
[[d-&gt;m_currentMacChallenge sender] rejectProtectionSpaceAndContinueWithChallenge:d-&gt;m_currentMacChallenge];

It looks to me we are merely proxying to CFNetwork, no? And rejectProtectionSpaceAndContinueWithChallenge is unimplemented in CFNetwork.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329685</commentid>
    <comment_count>23</comment_count>
      <attachid>284678</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-07-17 13:33:10 -0700</bug_when>
    <thetext>Comment on attachment 284678
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt;&gt;&gt;&gt; +        This is clear from the stack traces in the radars and the fact that only the two optional methods are causing crashes.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Wasn&apos;t that WebCore challenge sender, which you already fixed?
&gt;&gt;&gt; 
&gt;&gt;&gt; How do you know that WebCoreAuthenticationClientAsChallengeSender is the only type of object used in this code path?
&gt;&gt;&gt; 
&gt;&gt;&gt; The NSProtocol definition of NSURLAuthenticationChallengeSender states that the following methods are optional:
&gt;&gt;&gt; 
&gt;&gt;&gt; - performDefaultHandlingForAuthenticationChallenge:
&gt;&gt;&gt; - rejectProtectionSpaceAndContinueWithChallenge:
&gt;&gt;&gt; 
&gt;&gt;&gt; &lt;https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSURLAuthenticationChallengeSender_Protocol/&gt;
&gt;&gt;&gt; 
&gt;&gt;&gt; I don&apos;t understand the logic in assuming these optional methods always exist on whatever object is passed into this method unless it&apos;s provable that it&apos;s always a WebCoreAuthenticationClientAsChallengeSender object.
&gt;&gt; 
&gt;&gt; Since the two methods are not required, there is probably nothing in Xcode that notifies developers that their sender object is missing these delegate methods.
&gt;&gt; 
&gt;&gt; Given that these are documented to be optional, it really seems correct that the changes in ResourceHandleMac.mm and AuthenticationManagerCocoa.mm are NEEDED.
&gt; 
&gt; Even if the ChallengeSender was WebCoreAuthenticationClientAsChallengeSender, as far as I can tell, the implementation of [WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge] ends up calling AuthenticationClient::receivedChallengeRejection(). The AuthenticationClient I believe is the ResourceHandle. On Cocoa, ResourceHandle::receivedChallengeRejection() ends up calling:
&gt; [[d-&gt;m_currentMacChallenge sender] rejectProtectionSpaceAndContinueWithChallenge:d-&gt;m_currentMacChallenge];
&gt; 
&gt; It looks to me we are merely proxying to CFNetwork, no? And rejectProtectionSpaceAndContinueWithChallenge is unimplemented in CFNetwork.

Actually, WebCoreAuthenticationClientAsChallengeSender is not used at all in the WebKit2 with NETWORK_SESSION enabled case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363905</commentid>
    <comment_count>24</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-24 14:27:10 -0700</bug_when>
    <thetext>We have an explanation for how we can end up with an NSURLAuthenticationChallengeSender that is not WebCoreAuthenticationClientAsChallengeSender: AVFoundation can supply its own challenge and sender. For example, we see in MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge that AVFoundation provides its own NSURLAuthenticationChallenge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363997</commentid>
    <comment_count>25</comment_count>
      <attachid>324749</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-24 16:27:52 -0700</bug_when>
    <thetext>Created attachment 324749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363998</commentid>
    <comment_count>26</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-24 16:30:47 -0700</bug_when>
    <thetext>(In reply to Per Arne Vollan from comment #25)
&gt; Created attachment 324749 [details]
&gt; Patch

This is basically just a rebase of Alex&apos;s original patch, without the parts of it that are not strictly needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364123</commentid>
    <comment_count>27</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-10-24 23:50:10 -0700</bug_when>
    <thetext>&gt; For example, we see in MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge that AVFoundation provides its own NSURLAuthenticationChallenge.

Isn&apos;t that in the WebContent process? How does that explain Networking process crashes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364125</commentid>
    <comment_count>28</comment_count>
      <attachid>324749</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-10-24 23:52:24 -0700</bug_when>
    <thetext>Comment on attachment 324749
Patch

From previous discussions with Alex, I thought that we had a different plan of attack, what changed?

In particular, it&apos;s not only wrong to call these methods, it&apos;s wrong to call any methods on the sender object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364214</commentid>
    <comment_count>29</comment_count>
      <attachid>324826</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-25 08:44:25 -0700</bug_when>
    <thetext>Created attachment 324826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364218</commentid>
    <comment_count>30</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-25 08:54:53 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #28)
&gt; Comment on attachment 324749 [details]
&gt; Patch
&gt; 
&gt; From previous discussions with Alex, I thought that we had a different plan
&gt; of attack, what changed?
&gt; 
&gt; In particular, it&apos;s not only wrong to call these methods, it&apos;s wrong to call
&gt; any methods on the sender object.

I have uploaded a new patch, where no methods are called on the authentication challenge sender when network session is used.

In the USE(NETWORK_SESSION) case, I believe we never need to call methods on the challenge sender, since the challenge sender in the network process will always be the internal CFNetwork challenge sender. The challenge sender is deprecated when network session is used, and only contains empty implementations, and also does not implement all methods. Is this a correct assumption?

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364220</commentid>
    <comment_count>31</comment_count>
      <attachid>324826</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-10-25 08:57:07 -0700</bug_when>
    <thetext>Comment on attachment 324826
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Check if NSURLAuthenticationChallengeSender has implemented optional methods before calling them

We should probably change this title, as the focus of the change has shifted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364244</commentid>
    <comment_count>32</comment_count>
      <attachid>324836</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-25 09:55:52 -0700</bug_when>
    <thetext>Created attachment 324836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364259</commentid>
    <comment_count>33</comment_count>
      <attachid>324836</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-10-25 10:10:17 -0700</bug_when>
    <thetext>Comment on attachment 324836
Patch

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

&gt; Source/WebKit/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=160234

Please include the relevant &lt;rdar&gt; here as well.

&gt; Source/WebKit/ChangeLog:9
&gt; +        challenge sender, which has not implemented the optional method. The methods on the authentication challenge

which DOES NOT implement THIS optional method.

&gt; Source/WebKit/ChangeLog:10
&gt; +        sender has been deprecated when network session is used, so we should not call them in that case.

sender ARE deprecated when ....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364264</commentid>
    <comment_count>34</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-25 10:13:46 -0700</bug_when>
    <thetext>Are we still surprised to receive a CFNetwork challenge sender, and do we still believe that might indicate a bug?

If so, we can also add an internal-build-only RELEASE_ASSERT at the point we first encounter a challenge to assert that it has the type we expect. That will give us backtraces to explain where these surprising challenges come from.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364304</commentid>
    <comment_count>35</comment_count>
      <attachid>324849</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-25 10:49:21 -0700</bug_when>
    <thetext>Created attachment 324849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364308</commentid>
    <comment_count>36</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-25 10:50:56 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #33)
&gt; Comment on attachment 324836 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=324836&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:4
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=160234
&gt; 
&gt; Please include the relevant &lt;rdar&gt; here as well.
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:9
&gt; &gt; +        challenge sender, which has not implemented the optional method. The methods on the authentication challenge
&gt; 
&gt; which DOES NOT implement THIS optional method.
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:10
&gt; &gt; +        sender has been deprecated when network session is used, so we should not call them in that case.
&gt; 
&gt; sender ARE deprecated when ....

Updated. Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364311</commentid>
    <comment_count>37</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-25 10:56:05 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #34)
&gt; Are we still surprised to receive a CFNetwork challenge sender, and do we
&gt; still believe that might indicate a bug?
&gt; 
&gt; If so, we can also add an internal-build-only RELEASE_ASSERT at the point we
&gt; first encounter a challenge to assert that it has the type we expect. That
&gt; will give us backtraces to explain where these surprising challenges come
&gt; from.

No, I believe we always should receive a CFNetwork challenge sender in the network process in the USE(NETWORK_SESSION) case. This patch is based on that assumption. If that assumption is incorrect, then this patch is incorrect. What is surprising is that both the completion handler and the authentication client is null, which makes us fall through to the place where we call the unimplemented method on the CFNetwork challenge sender. I can replace the ASSERTS in the current patch with RELEASE_ASSERTs for internal builds. Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364344</commentid>
    <comment_count>38</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-25 11:34:09 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #34)
&gt; Are we still surprised to receive a CFNetwork challenge sender, and do we
&gt; still believe that might indicate a bug?
&gt; 
&gt; If so, we can also add an internal-build-only RELEASE_ASSERT at the point we
&gt; first encounter a challenge to assert that it has the type we expect. That
&gt; will give us backtraces to explain where these surprising challenges come
&gt; from.

I can&apos;t seem to find any examples of RELEASE_ASSERTs for internal builds only, how would you do this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364355</commentid>
    <comment_count>39</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-25 11:49:30 -0700</bug_when>
    <thetext>&gt; I can&apos;t seem to find any examples of RELEASE_ASSERTs for internal builds
&gt; only, how would you do this?

The best way to write internal-only behavior is to use &lt;os/variant_private.h&gt;. I believe the right check in this case would be os_variant_has_internal_diagnostics.

That said, it sounds like your analysis is that a CFNetwork challenge sender is expected, and we were just handling it incorrectly before. So, an internal-only assert for the sake of investigation may not be necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364432</commentid>
    <comment_count>40</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-10-25 13:33:59 -0700</bug_when>
    <thetext>Here is my current understanding after talking to Alex.

This code should not be reachable at all on modern OS versions. As Per Arne said above, we get here because both completion handler and authentication handler are null. A couple ways that could happen are:

- bookkeeping problems in our networking code, so we lose track of the completion handler too early;
- incomplete/unexpected messages coming from media code in WebContent (but again, that shouldn&apos;t be happening in modern OS versions).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364549</commentid>
    <comment_count>41</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-25 15:48:55 -0700</bug_when>
    <thetext>It looks like we encountered a very similar problem before, and tried to work around its low-level consequences. See &lt;https://trac.webkit.org/changeset/197865/webkit&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364554</commentid>
    <comment_count>42</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-25 15:52:38 -0700</bug_when>
    <thetext>&gt; It looks like we encountered a very similar problem before, and tried to
&gt; work around its low-level consequences. See
&gt; &lt;https://trac.webkit.org/changeset/197865/webkit&gt;.

The central trigger point for this kind of bug might be NetworkDataTaskCocoa::didReceiveChallenge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364556</commentid>
    <comment_count>43</comment_count>
      <attachid>324849</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-25 15:57:13 -0700</bug_when>
    <thetext>Comment on attachment 324849
Patch

r=me

I think this is an improvement because it clarifies that NETWORK_SESSION code is never supposed to invoke the deprecated default... selector, and it removes the crash from customer builds.

To continue investigating the mystery of why we end up with an authentication challenge that has no client or completion handler, I&apos;d suggest adding code like this to NetworkDataTaskCocoa::didReceiveChallenge:

        if (internal_build())
            RELEASE_ASSERT_NOT_REACHED();
        else
            ASSERT_NOT_REACHED();

If we discover that we use this kind of technique more often, consider making a shared macro in Assertions.h that encapsulates this behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364557</commentid>
    <comment_count>44</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-25 16:01:25 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #43)
&gt; Comment on attachment 324849 [details]
&gt; Patch
&gt; 
&gt; r=me
&gt; 
&gt; I think this is an improvement because it clarifies that NETWORK_SESSION
&gt; code is never supposed to invoke the deprecated default... selector, and it
&gt; removes the crash from customer builds.
&gt; 
&gt; To continue investigating the mystery of why we end up with an
&gt; authentication challenge that has no client or completion handler, I&apos;d
&gt; suggest adding code like this to NetworkDataTaskCocoa::didReceiveChallenge:
&gt; 
&gt;         if (internal_build())
&gt;             RELEASE_ASSERT_NOT_REACHED();
&gt;         else
&gt;             ASSERT_NOT_REACHED();
&gt; 
&gt; If we discover that we use this kind of technique more often, consider
&gt; making a shared macro in Assertions.h that encapsulates this behavior.

I&apos;ll create a separate patch for this. Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364571</commentid>
    <comment_count>45</comment_count>
      <attachid>324849</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-25 16:24:18 -0700</bug_when>
    <thetext>Comment on attachment 324849
Patch

Clearing flags on attachment: 324849

Committed r223993: &lt;https://trac.webkit.org/changeset/223993&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364572</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-25 16:24:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284676</attachid>
            <date>2016-07-26 23:32:32 -0700</date>
            <delta_ts>2016-07-26 23:58:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160234-20160726233123.patch</filename>
            <type>text/plain</type>
            <size>3421</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzc2MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA3LTI2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2hlY2sgaWYg
TlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlciBoYXMgaW1wbGVtZW50ZWQgb3B0aW9u
YWwgbWV0aG9kcyBiZWZvcmUgY2FsbGluZyB0aGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAyMzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3
NDM5MzQ0PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc0Mzk2MTc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBzaG91bGQgYmUgaW1wb3Nz
aWJsZSwgYnV0IHNvbWV0aGluZyBpcyB1c2luZyB0aGUgb2xkIGF1dGhlbnRpY2F0aW9uIGNvZGUg
d2l0aAorICAgICAgICBOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU2VuZGVycyB0aGF0IGRv
IG5vdCBpbXBsZW1lbnQgdGhlIG9wdGlvbmFsIG1ldGhvZHMuCisgICAgICAgIFRoaXMgaXMgY2xl
YXIgZnJvbSB0aGUgc3RhY2sgdHJhY2VzIGluIHJhZGFyIGFuZCB0aGUgZmFjdCB0aGF0IG9ubHkg
dGhlIHR3byBvcHRpb25hbCBtZXRob2RzIGNhdXNlIGNyYXNoZXMuCisgICAgICAgIFRvIG1ha2Ug
dGhpcyBjb2RlIG1vcmUgcm9idXN0LCB3ZSBjaGVjayBpZiB0aGlzIGlzIGhhcHBlbmluZyBhbmQg
Y2FuY2VsIHRoZSBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UgaWYgaXQgaXMuCisgICAgICAgIFRo
aXMgbWlnaHQgY2F1c2UgdW5leHBlY3RlZCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlcywgYnV0IHRo
YXQncyBiZXR0ZXIgdGhhbiBsb3NpbmcgYW4gZW50aXJlIE5ldHdvcmtQcm9jZXNzLAorICAgICAg
ICB3aGljaCBhbHNvIGNhdXNlcyB0aGUgc2FtZSBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLgorICAg
ICAgICBJZiBzb21ldGhpbmcgaXMgZXhwbG9pdGFibGUsIHRoZW4gaXQgZG9lcyBub3QgYmVjb21l
IG1vcmUgZXhwbG9pdGFibGUgd2l0aCB0aGlzIGNoZWNrLgorICAgICAgICBJZiBub3QsIHRoZW4g
dGhpcyBpcyBwcmV2ZW50aW5nIHVud2FudGVkIGNyYXNoZXMuCisKKyAgICAgICAgKiBTaGFyZWQv
QXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9QZXJm
b3JtRGVmYXVsdEhhbmRsaW5nKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5h
Z2VyOjpyZWNlaXZlZENoYWxsZW5nZVJlamVjdGlvbik6CisKIDIwMTYtMDctMjYgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU29ydCB0aGUgcHJvamVj
dCBmaWxlcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9jb2Nv
YS9BdXRoZW50aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29j
b2EubW0JKHJldmlzaW9uIDIwMzc1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQkod29ya2luZyBjb3B5
KQpAQCAtNTQsMTQgKzU0LDIwIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZl
ZENhbmMKIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZFJlcXVlc3RUb1BlcmZv
cm1EZWZhdWx0SGFuZGxpbmcoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKQogewogI2lmICFVU0UoQ0ZORVRXT1JLKQotICAgIFthdXRoZW50aWNh
dGlvbkNoYWxsZW5nZS5zZW5kZXIoKSBwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSgpXTsKKyAgICBpZiAoW2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLnNlbmRlcigp
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvckF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOildKQorICAgICAgICBbYXV0aGVudGljYXRpb25DaGFsbGVu
Z2Uuc2VuZGVyKCkgcGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlOmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
KV07CisgICAgZWxzZQorICAgICAgICBbYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCkg
Y2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNV
UkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKICNlbmRpZgogfQogCiB2b2lkIEF1dGhlbnRp
Y2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY29uc3QgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewogI2lmICFVU0UoQ0ZO
RVRXT1JLKQotICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKSByZWplY3RQcm90
ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVu
Z2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKKyAgICBpZiAoW2F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLnNlbmRlcigpIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocmVqZWN0
UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVXaXRoQ2hhbGxlbmdlOildKQorICAgICAgICBbYXV0
aGVudGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCkgcmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29u
dGludWVXaXRoQ2hhbGxlbmdlOmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UoKV07CisgICAgZWxzZQorICAgICAgICBbYXV0aGVudGljYXRpb25DaGFs
bGVuZ2Uuc2VuZGVyKCkgY2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRp
b25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKICNlbmRpZgogfQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284677</attachid>
            <date>2016-07-26 23:58:56 -0700</date>
            <delta_ts>2016-07-27 00:31:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160234-20160726235746.patch</filename>
            <type>text/plain</type>
            <size>8434</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzc2NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA3LTI2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2hlY2sgaWYg
TlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlciBoYXMgaW1wbGVtZW50ZWQgb3B0aW9u
YWwgbWV0aG9kcyBiZWZvcmUgY2FsbGluZyB0aGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAyMzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3
NDM5MzQ0PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc0Mzk2MTc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBzaG91bGQgYmUgaW1wb3Nz
aWJsZSBpZiB3ZSBhcmUgb25seSBkb2luZyBhdXRoZW50aWNhdGlvbiB3aXRoIG9iamVjdHMgY3Vy
cmVudGx5IGltcGxlbWVudGVkIGluIENGTmV0d29yaywKKyAgICAgICAgYnV0IHNvbWV0aGluZyBp
cyB1c2luZyB0aGUgb2xkIGF1dGhlbnRpY2F0aW9uIGNvZGUgd2l0aCBOU1VSTEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlU2VuZGVycyB0aGF0IGRvIG5vdCBpbXBsZW1lbnQgdGhlIG9wdGlvbmFsIG1l
dGhvZHMuCisgICAgICAgIFRoaXMgaXMgY2xlYXIgZnJvbSB0aGUgc3RhY2sgdHJhY2VzIGluIHRo
ZSByYWRhcnMgYW5kIHRoZSBmYWN0IHRoYXQgb25seSB0aGUgdHdvIG9wdGlvbmFsIG1ldGhvZHMg
YXJlIGNhdXNpbmcgY3Jhc2hlcy4KKyAgICAgICAgVG8gbWFrZSB0aGlzIGNvZGUgbW9yZSByb2J1
c3QsIHdlIGNoZWNrIGlmIHRoaXMgaXMgaGFwcGVuaW5nIGFuZCBjYW5jZWwgdGhlIGF1dGhlbnRp
Y2F0aW9uIGNoYWxsZW5nZSBpZiBpdCBpcy4KKyAgICAgICAgVGhpcyBtaWdodCBjYXVzZSB1bmV4
cGVjdGVkIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmVzLCBidXQgdGhhdCdzIGJldHRlciB0aGFuIGxv
c2luZyBhbiBlbnRpcmUgTmV0d29ya1Byb2Nlc3MsCisgICAgICAgIHdoaWNoIGFsc28gY2F1c2Vz
IHRoZSBzYW1lIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuCisgICAgICAgIElmIHNvbWV0aGluZyBp
cyBleHBsb2l0YWJsZSwgdGhlbiBpdCBkb2VzIG5vdCBiZWNvbWUgbW9yZSBleHBsb2l0YWJsZSB3
aXRoIHRoaXMgY2hlY2suCisgICAgICAgIElmIG5vdCwgdGhlbiB0aGlzIGlzIHByZXZlbnRpbmcg
dW53YW50ZWQgY3Jhc2hlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpyZWNlaXZlZFJlcXVlc3RUb1Bl
cmZvcm1EZWZhdWx0SGFuZGxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKToKKwogMjAxNi0wNy0yNiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0ZldGNoIEFQSV0gUmVzcG9uc2UgY29u
c3RydWN0b3Igc2hvdWxkIGJlIGFibGUgdG8gdGFrZSBhIFJlYWRhYmxlU3RyZWFtIGFzIGJvZHkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkocmV2aXNpb24gMjAzNzU1KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDExLDE0ICs0MTEs
MjAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVmYXVs
dEhhbmRsaW5nKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikgb3ZlcnJpZGUKICAgICB7
Ci0gICAgICAgIGlmIChbW21fY2hhbGxlbmdlIHNlbmRlcl0gcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6
KV0pCi0gICAgICAgICAgICBbW21fY2hhbGxlbmdlIHNlbmRlcl0gcGVyZm9ybURlZmF1bHRIYW5k
bGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOm1fY2hhbGxlbmdlLmdldCgpXTsKKyAgICAg
ICAgYXV0byBzZW5kZXIgPSBbbV9jaGFsbGVuZ2Ugc2VuZGVyXTsKKyAgICAgICAgaWYgKFtzZW5k
ZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9y
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KV0pCisgICAgICAgICAgICBbc2VuZGVyIHBlcmZvcm1E
ZWZhdWx0SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTptX2NoYWxsZW5nZS5nZXQo
KV07CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFtzZW5kZXIgY2FuY2VsQXV0aGVudGljYXRp
b25DaGFsbGVuZ2U6bV9jaGFsbGVuZ2UuZ2V0KCldOwogICAgIH0KIAogICAgIHZvaWQgcmVjZWl2
ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKSBvdmVy
cmlkZQogICAgIHsKLSAgICAgICAgaWYgKFtbbV9jaGFsbGVuZ2Ugc2VuZGVyXSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKHJlamVjdFByb3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlV2l0aENo
YWxsZW5nZTopXSkKLSAgICAgICAgICAgIFtbbV9jaGFsbGVuZ2Ugc2VuZGVyXSByZWplY3RQcm90
ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6bV9jaGFsbGVuZ2UuZ2V0KCldOwor
ICAgICAgICBhdXRvIHNlbmRlciA9IFttX2NoYWxsZW5nZSBzZW5kZXJdOworICAgICAgICBpZiAo
W3NlbmRlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHJlamVjdFByb3RlY3Rpb25TcGFj
ZUFuZENvbnRpbnVlV2l0aENoYWxsZW5nZTopXSkKKyAgICAgICAgICAgIFtzZW5kZXIgcmVqZWN0
UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVXaXRoQ2hhbGxlbmdlOm1fY2hhbGxlbmdlLmdldCgp
XTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgW3NlbmRlciBjYW5jZWxBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZTptX2NoYWxsZW5nZS5nZXQoKV07CiAgICAgfQogCiAgICAgUmV0YWluUHRyPE5T
VVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2U+IG1fY2hhbGxlbmdlOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVN
YWMubW0JKHJldmlzaW9uIDIwMzc1NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NzMsNyArNTcz
LDExIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmRpZFJlY2VpdmVBdXRoZW50aWMKICAgICAgICAg
Y2xpZW50KCktPmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSh0aGlzLCBkLT5tX2N1
cnJlbnRXZWJDaGFsbGVuZ2UpOwogICAgIGVsc2UgewogICAgICAgICBjbGVhckF1dGhlbnRpY2F0
aW9uKCk7Ci0gICAgICAgIFtjaGFsbGVuZ2Uuc2VuZGVyKCkgcGVyZm9ybURlZmF1bHRIYW5kbGlu
Z0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmNoYWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKCldOworICAgICAgICBpZCBzZW5kZXIgPSBjaGFsbGVuZ2Uuc2VuZGVyKCk7Cisg
ICAgICAgIGlmIChbc2VuZGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocGVyZm9ybURl
ZmF1bHRIYW5kbGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOildKQorICAgICAgICAgICAg
W3NlbmRlciBwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6
Y2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIFtzZW5kZXIgY2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6Y2hhbGxl
bmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07CiAgICAgfQogfQogCkBAIC03MDYs
OCArNzEwLDExIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlY2VpdmVkUmVxdWVzdFRvUGUKICAg
ICBpZiAoY2hhbGxlbmdlICE9IGQtPm1fY3VycmVudFdlYkNoYWxsZW5nZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgW1tkLT5tX2N1cnJlbnRNYWNDaGFsbGVuZ2Ugc2VuZGVyXSBwZXJmb3JtRGVm
YXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6ZC0+bV9jdXJyZW50TWFjQ2hh
bGxlbmdlXTsKLQorICAgIGF1dG8gc2VuZGVyID0gW2QtPm1fY3VycmVudE1hY0NoYWxsZW5nZSBz
ZW5kZXJdOworICAgIGlmIChbc2VuZGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocGVy
Zm9ybURlZmF1bHRIYW5kbGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOildKQorICAgICAg
ICBbc2VuZGVyIHBlcmZvcm1EZWZhdWx0SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZTpkLT5tX2N1cnJlbnRNYWNDaGFsbGVuZ2VdOworICAgIGVsc2UKKyAgICAgICAgW3NlbmRlciBj
YW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpkLT5tX2N1cnJlbnRNYWNDaGFsbGVuZ2VdOwog
ICAgIGNsZWFyQXV0aGVudGljYXRpb24oKTsKIH0KIApAQCAtNzE5LDggKzcyNiwxMSBAQCB2b2lk
IFJlc291cmNlSGFuZGxlOjpyZWNlaXZlZENoYWxsZW5nZVJlCiAgICAgaWYgKGNoYWxsZW5nZSAh
PSBkLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIFtbZC0+
bV9jdXJyZW50TWFjQ2hhbGxlbmdlIHNlbmRlcl0gcmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29u
dGludWVXaXRoQ2hhbGxlbmdlOmQtPm1fY3VycmVudE1hY0NoYWxsZW5nZV07Ci0KKyAgICBhdXRv
IHNlbmRlciA9IFtkLT5tX2N1cnJlbnRNYWNDaGFsbGVuZ2Ugc2VuZGVyXTsKKyAgICBpZiAoW3Nl
bmRlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHJlamVjdFByb3RlY3Rpb25TcGFjZUFu
ZENvbnRpbnVlV2l0aENoYWxsZW5nZTopXSkKKyAgICAgICAgW3NlbmRlciByZWplY3RQcm90ZWN0
aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6ZC0+bV9jdXJyZW50TWFjQ2hhbGxlbmdl
XTsKKyAgICBlbHNlCisgICAgICAgIFtzZW5kZXIgY2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVu
Z2U6ZC0+bV9jdXJyZW50TWFjQ2hhbGxlbmdlXTsKICAgICBjbGVhckF1dGhlbnRpY2F0aW9uKCk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzc2MykKKysrIFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA3LTI2ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2hl
Y2sgaWYgTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlciBoYXMgaW1wbGVtZW50ZWQg
b3B0aW9uYWwgbWV0aG9kcyBiZWZvcmUgY2FsbGluZyB0aGVtCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAyMzQKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI3NDM5MzQ0PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc0Mzk2MTc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVu
dGljYXRpb24vY29jb2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVm
YXVsdEhhbmRsaW5nKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpy
ZWNlaXZlZENoYWxsZW5nZVJlamVjdGlvbik6CisKIDIwMTYtMDctMjYgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU29ydCB0aGUgcHJvamVjdCBmaWxl
cy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRo
ZW50aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2EubW0J
KHJldmlzaW9uIDIwMzc1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9jb2NvYS9BdXRoZW50aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAt
NTQsMTQgKzU0LDIyIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZENhbmMK
IHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZh
dWx0SGFuZGxpbmcoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKQogewogI2lmICFVU0UoQ0ZORVRXT1JLKQotICAgIFthdXRoZW50aWNhdGlvbkNo
YWxsZW5nZS5zZW5kZXIoKSBwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25D
aGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSgpXTsKKyAgICBpZCBzZW5kZXIgPSBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIo
KTsKKyAgICBpZiAoW3NlbmRlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHBlcmZvcm1E
ZWZhdWx0SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTopXSkKKyAgICAgICAgW3Nl
bmRlciBwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0
aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKKyAg
ICBlbHNlCisgICAgICAgIFtzZW5kZXIgY2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0
aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKICNl
bmRpZgogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDaGFsbGVuZ2VS
ZWplY3Rpb24oY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKQogewogI2lmICFVU0UoQ0ZORVRXT1JLKQotICAgIFthdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZS5zZW5kZXIoKSByZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVu
Z2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgp
XTsKKyAgICBpZCBzZW5kZXIgPSBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKTsKKyAg
ICBpZiAoW3NlbmRlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHJlamVjdFByb3RlY3Rp
b25TcGFjZUFuZENvbnRpbnVlV2l0aENoYWxsZW5nZTopXSkKKyAgICAgICAgW3NlbmRlciByZWpl
Y3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6YXV0aGVudGljYXRpb25D
aGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKKyAgICBlbHNlCisgICAg
ICAgIFtzZW5kZXIgY2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25D
aGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKICNlbmRpZgogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284678</attachid>
            <date>2016-07-27 00:32:02 -0700</date>
            <delta_ts>2017-10-24 16:27:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160234-20160727003052.patch</filename>
            <type>text/plain</type>
            <size>8426</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzc2NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA3LTI3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2hlY2sgaWYg
TlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlciBoYXMgaW1wbGVtZW50ZWQgb3B0aW9u
YWwgbWV0aG9kcyBiZWZvcmUgY2FsbGluZyB0aGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAyMzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3
NDM5MzQ0PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc0Mzk2MTc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBzaG91bGQgYmUgaW1wb3Nz
aWJsZSBpZiB3ZSBhcmUgb25seSBkb2luZyBhdXRoZW50aWNhdGlvbiB3aXRoIG9iamVjdHMgY3Vy
cmVudGx5IGltcGxlbWVudGVkIGluIENGTmV0d29yaywKKyAgICAgICAgYnV0IHNvbWV0aGluZyBp
cyB1c2luZyB0aGUgb2xkIGF1dGhlbnRpY2F0aW9uIGNvZGUgd2l0aCBOU1VSTEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlU2VuZGVycyB0aGF0IGRvIG5vdCBpbXBsZW1lbnQgdGhlIG9wdGlvbmFsIG1l
dGhvZHMuCisgICAgICAgIFRoaXMgaXMgY2xlYXIgZnJvbSB0aGUgc3RhY2sgdHJhY2VzIGluIHRo
ZSByYWRhcnMgYW5kIHRoZSBmYWN0IHRoYXQgb25seSB0aGUgdHdvIG9wdGlvbmFsIG1ldGhvZHMg
YXJlIGNhdXNpbmcgY3Jhc2hlcy4KKyAgICAgICAgVG8gbWFrZSB0aGlzIGNvZGUgbW9yZSByb2J1
c3QsIHdlIGNoZWNrIGlmIHRoaXMgaXMgaGFwcGVuaW5nIGFuZCBjYW5jZWwgdGhlIGF1dGhlbnRp
Y2F0aW9uIGNoYWxsZW5nZSBpZiBpdCBpcy4KKyAgICAgICAgVGhpcyBtaWdodCBjYXVzZSB1bmV4
cGVjdGVkIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmVzLCBidXQgdGhhdCdzIGJldHRlciB0aGFuIGxv
c2luZyBhbiBlbnRpcmUgTmV0d29ya1Byb2Nlc3MsCisgICAgICAgIHdoaWNoIGFsc28gY2F1c2Vz
IHRoZSBzYW1lIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuCisgICAgICAgIElmIHNvbWV0aGluZyBp
cyBleHBsb2l0YWJsZSwgdGhlbiBpdCBkb2VzIG5vdCBiZWNvbWUgbW9yZSBleHBsb2l0YWJsZSB3
aXRoIHRoaXMgY2hlY2suCisgICAgICAgIElmIG5vdCwgdGhlbiB0aGlzIGlzIHByZXZlbnRpbmcg
dW53YW50ZWQgY3Jhc2hlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpyZWNlaXZlZFJlcXVlc3RUb1Bl
cmZvcm1EZWZhdWx0SGFuZGxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKToKKwogMjAxNi0wNy0yNiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0ZldGNoIEFQSV0gUmVzcG9uc2UgY29u
c3RydWN0b3Igc2hvdWxkIGJlIGFibGUgdG8gdGFrZSBhIFJlYWRhYmxlU3RyZWFtIGFzIGJvZHkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkocmV2aXNpb24gMjAzNzU1KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDExLDE0ICs0MTEs
MjAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVmYXVs
dEhhbmRsaW5nKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikgb3ZlcnJpZGUKICAgICB7
Ci0gICAgICAgIGlmIChbW21fY2hhbGxlbmdlIHNlbmRlcl0gcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6
KV0pCi0gICAgICAgICAgICBbW21fY2hhbGxlbmdlIHNlbmRlcl0gcGVyZm9ybURlZmF1bHRIYW5k
bGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOm1fY2hhbGxlbmdlLmdldCgpXTsKKyAgICAg
ICAgaWQgc2VuZGVyID0gW21fY2hhbGxlbmdlIHNlbmRlcl07CisgICAgICAgIGlmIChbc2VuZGVy
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvckF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOildKQorICAgICAgICAgICAgW3NlbmRlciBwZXJmb3JtRGVm
YXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6bV9jaGFsbGVuZ2UuZ2V0KCld
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBbc2VuZGVyIGNhbmNlbEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOm1fY2hhbGxlbmdlLmdldCgpXTsKICAgICB9CiAKICAgICB2b2lkIHJlY2VpdmVk
Q2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikgb3ZlcnJp
ZGUKICAgICB7Ci0gICAgICAgIGlmIChbW21fY2hhbGxlbmdlIHNlbmRlcl0gcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3RvcihyZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFs
bGVuZ2U6KV0pCi0gICAgICAgICAgICBbW21fY2hhbGxlbmdlIHNlbmRlcl0gcmVqZWN0UHJvdGVj
dGlvblNwYWNlQW5kQ29udGludWVXaXRoQ2hhbGxlbmdlOm1fY2hhbGxlbmdlLmdldCgpXTsKKyAg
ICAgICAgaWQgc2VuZGVyID0gW21fY2hhbGxlbmdlIHNlbmRlcl07CisgICAgICAgIGlmIChbc2Vu
ZGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocmVqZWN0UHJvdGVjdGlvblNwYWNlQW5k
Q29udGludWVXaXRoQ2hhbGxlbmdlOildKQorICAgICAgICAgICAgW3NlbmRlciByZWplY3RQcm90
ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6bV9jaGFsbGVuZ2UuZ2V0KCldOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBbc2VuZGVyIGNhbmNlbEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlOm1fY2hhbGxlbmdlLmdldCgpXTsKICAgICB9CiAKICAgICBSZXRhaW5QdHI8TlNVUkxB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZT4gbV9jaGFsbGVuZ2U7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5t
bQkocmV2aXNpb24gMjAzNzU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTU3Myw3ICs1NzMsMTEg
QEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpYwogICAgICAgICBjbGll
bnQoKS0+ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHRoaXMsIGQtPm1fY3VycmVu
dFdlYkNoYWxsZW5nZSk7CiAgICAgZWxzZSB7CiAgICAgICAgIGNsZWFyQXV0aGVudGljYXRpb24o
KTsKLSAgICAgICAgW2NoYWxsZW5nZS5zZW5kZXIoKSBwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9y
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U6Y2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoKV07CisgICAgICAgIGlkIHNlbmRlciA9IGNoYWxsZW5nZS5zZW5kZXIoKTsKKyAgICAg
ICAgaWYgKFtzZW5kZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihwZXJmb3JtRGVmYXVs
dEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KV0pCisgICAgICAgICAgICBbc2Vu
ZGVyIHBlcmZvcm1EZWZhdWx0SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpjaGFs
bGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgW3NlbmRlciBjYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpjaGFsbGVuZ2Uu
bnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKICAgICB9CiB9CiAKQEAgLTcwNiw4ICs3
MTAsMTEgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cmVjZWl2ZWRSZXF1ZXN0VG9QZQogICAgIGlm
IChjaGFsbGVuZ2UgIT0gZC0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlKQogICAgICAgICByZXR1cm47
CiAKLSAgICBbW2QtPm1fY3VycmVudE1hY0NoYWxsZW5nZSBzZW5kZXJdIHBlcmZvcm1EZWZhdWx0
SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpkLT5tX2N1cnJlbnRNYWNDaGFsbGVu
Z2VdOwotCisgICAgaWQgc2VuZGVyID0gW2QtPm1fY3VycmVudE1hY0NoYWxsZW5nZSBzZW5kZXJd
OworICAgIGlmIChbc2VuZGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocGVyZm9ybURl
ZmF1bHRIYW5kbGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOildKQorICAgICAgICBbc2Vu
ZGVyIHBlcmZvcm1EZWZhdWx0SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpkLT5t
X2N1cnJlbnRNYWNDaGFsbGVuZ2VdOworICAgIGVsc2UKKyAgICAgICAgW3NlbmRlciBjYW5jZWxB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZTpkLT5tX2N1cnJlbnRNYWNDaGFsbGVuZ2VdOwogICAgIGNs
ZWFyQXV0aGVudGljYXRpb24oKTsKIH0KIApAQCAtNzE5LDggKzcyNiwxMSBAQCB2b2lkIFJlc291
cmNlSGFuZGxlOjpyZWNlaXZlZENoYWxsZW5nZVJlCiAgICAgaWYgKGNoYWxsZW5nZSAhPSBkLT5t
X2N1cnJlbnRXZWJDaGFsbGVuZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIFtbZC0+bV9jdXJy
ZW50TWFjQ2hhbGxlbmdlIHNlbmRlcl0gcmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVX
aXRoQ2hhbGxlbmdlOmQtPm1fY3VycmVudE1hY0NoYWxsZW5nZV07Ci0KKyAgICBpZCBzZW5kZXIg
PSBbZC0+bV9jdXJyZW50TWFjQ2hhbGxlbmdlIHNlbmRlcl07CisgICAgaWYgKFtzZW5kZXIgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihyZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51
ZVdpdGhDaGFsbGVuZ2U6KV0pCisgICAgICAgIFtzZW5kZXIgcmVqZWN0UHJvdGVjdGlvblNwYWNl
QW5kQ29udGludWVXaXRoQ2hhbGxlbmdlOmQtPm1fY3VycmVudE1hY0NoYWxsZW5nZV07CisgICAg
ZWxzZQorICAgICAgICBbc2VuZGVyIGNhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmQtPm1f
Y3VycmVudE1hY0NoYWxsZW5nZV07CiAgICAgY2xlYXJBdXRoZW50aWNhdGlvbigpOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDM3NjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0wNy0yNyAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIENoZWNrIGlmIE5T
VVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTZW5kZXIgaGFzIGltcGxlbWVudGVkIG9wdGlvbmFs
IG1ldGhvZHMgYmVmb3JlIGNhbGxpbmcgdGhlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMjM0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNzQz
OTM0ND4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3NDM5NjE3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L2NvY29hL0F1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpB
dXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5k
bGluZyk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRD
aGFsbGVuZ2VSZWplY3Rpb24pOgorCiAyMDE2LTA3LTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNvcnQgdGhlIHByb2plY3QgZmlsZXMuCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGljYXRp
b25NYW5hZ2VyQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29hLm1tCShyZXZpc2lv
biAyMDM3NTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vY29jb2Ev
QXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU0LDE0ICs1
NCwyMiBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDYW5jCiB2b2lkIEF1
dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVmYXVsdEhhbmRs
aW5nKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSkKIHsKICNpZiAhVVNFKENGTkVUV09SSykKLSAgICBbYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uu
c2VuZGVyKCkgcGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07
CisgICAgaWQgc2VuZGVyID0gYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCk7CisgICAg
aWYgKFtzZW5kZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihwZXJmb3JtRGVmYXVsdEhh
bmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KV0pCisgICAgICAgIFtzZW5kZXIgcGVy
Zm9ybURlZmF1bHRIYW5kbGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07CisgICAgZWxzZQor
ICAgICAgICBbc2VuZGVyIGNhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07CiAjZW5kaWYKIH0K
IAogdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9u
KGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkK
IHsKICNpZiAhVVNFKENGTkVUV09SSykKLSAgICBbYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uuc2Vu
ZGVyKCkgcmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVXaXRoQ2hhbGxlbmdlOmF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07CisgICAg
aWQgc2VuZGVyID0gYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCk7CisgICAgaWYgKFtz
ZW5kZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihyZWplY3RQcm90ZWN0aW9uU3BhY2VB
bmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6KV0pCisgICAgICAgIFtzZW5kZXIgcmVqZWN0UHJvdGVj
dGlvblNwYWNlQW5kQ29udGludWVXaXRoQ2hhbGxlbmdlOmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Lm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07CisgICAgZWxzZQorICAgICAgICBbc2Vu
ZGVyIGNhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Lm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07CiAjZW5kaWYKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324749</attachid>
            <date>2017-10-24 16:27:52 -0700</date>
            <delta_ts>2017-10-25 08:44:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160234-20171024162751.patch</filename>
            <type>text/plain</type>
            <size>3265</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjM5MTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTEwLTIzICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBDaGVjayBpZiBOU1VSTEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlU2VuZGVyIGhhcyBpbXBsZW1lbnRlZCBvcHRpb25hbCBtZXRob2Rz
IGJlZm9yZSBjYWxsaW5nIHRoZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjAyMzQKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzA2NzU1MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmFzaCBsb2dz
IHNob3cgdGhhdCB0aGUgQXV0aGVudGljYXRpb25NYW5hZ2VyIG1ldGhvZHMgcmVjZWl2ZWRSZXF1
ZXN0VG9QZXJmb3JtRGVmYXVsdEhhbmRsaW5nCisgICAgICAgIGFuZCByZWNlaXZlZENoYWxsZW5n
ZVJlamVjdGlvbiBhcmUgc29tZXRpbWVzIGNhbGxlZCB3aXRoIHRoZSBfX05TQ0ZVUkxMb2NhbFNl
c3Npb25Db25uZWN0aW9uCisgICAgICAgIGNoYWxsZW5nZSBzZW5kZXIsIHdoaWNoIGRvZXMgbm90
IHJlc3BvbmQgdG8gdGhlIHBlcmZvcm1EZWZhdWx0SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZQorICAgICAgICBhbmQgcmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVXaXRo
Q2hhbGxlbmdlIHNlbGVjdG9ycy4gVGhpcyBzaG91bGQgbm90IGhhcHBlbiwgYW5kIGl0IGlzCisg
ICAgICAgIG5vdCBjb21wbGV0ZWx5IHVuZGVyc3Rvb2Qgd2h5IGl0IHNvbWV0aW1lcyBkb2VzLiBT
aW5jZSB0aGVzZSB0d28gbWV0aG9kcyBhcmUgb3B0aW9uYWwsIHRoaXMgcGF0Y2gKKyAgICAgICAg
Y2hlY2tzIGlmIHRoZSBzZW5kZXIgd2lsbCByZXNwb25kIHRvIHRoZXNlIHNlbGVjdG9ycyBiZWZv
cmUgY2FsbGluZyB0aGVtLgorCisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL2NvY29h
L0F1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyk6
CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDaGFsbGVu
Z2VSZWplY3Rpb24pOgorCiAyMDE3LTEwLTI0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIEFkb3B0IG5ldyBzZWN1cmUgY29kaW5nIEFQSXMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uTWFu
YWdlckNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29hLm1tCShyZXZpc2lvbiAyMjM5
MTQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50
aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTQsMTQgKzU0LDI2IEBA
IHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZENhbmMKIHZvaWQgQXV0aGVudGlj
YXRpb25NYW5hZ2VyOjpyZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFuZGxpbmcoY29u
c3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewog
I2lmICFVU0UoQ0ZVUkxDT05ORUNUSU9OKQotICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5z
ZW5kZXIoKSBwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6
YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsK
KyAgICBpZCBzZW5kZXIgPSBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKTsKKyAgICBp
ZiAoW3NlbmRlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHBlcmZvcm1EZWZhdWx0SGFu
ZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTopXSkgeworICAgICAgICBbc2VuZGVyIHBl
cmZvcm1EZWZhdWx0SGFuZGxpbmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTphdXRoZW50aWNh
dGlvbkNoYWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCldOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFtzZW5kZXIgY2Fu
Y2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKICNlbmRpZgogfQogCiB2b2lkIEF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY29uc3QgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewogI2lmICFVU0UoQ0ZVUkxD
T05ORUNUSU9OKQotICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKSByZWplY3RQ
cm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFs
bGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKKyAgICBpZCBzZW5kZXIgPSBh
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKTsKKyAgICBpZiAoW3NlbmRlciByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHJlamVjdFByb3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlV2l0
aENoYWxsZW5nZTopXSkgeworICAgICAgICBbc2VuZGVyIHJlamVjdFByb3RlY3Rpb25TcGFjZUFu
ZENvbnRpbnVlV2l0aENoYWxsZW5nZTphdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5uc1VSTEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKCldOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIFtzZW5kZXIgY2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVu
Z2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgp
XTsKICNlbmRpZgogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324826</attachid>
            <date>2017-10-25 08:44:25 -0700</date>
            <delta_ts>2017-10-25 09:55:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160234-20171025084421.patch</filename>
            <type>text/plain</type>
            <size>7267</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjM5NTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE3LTEwLTI1ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBDaGVjayBpZiBOU1VSTEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlU2VuZGVyIGhhcyBpbXBsZW1lbnRlZCBvcHRpb25hbCBtZXRob2Rz
IGJlZm9yZSBjYWxsaW5nIHRoZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MDIzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSBtZXRob2RzIG9uIHRoZSBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2Ug
c2VuZGVyIGhhcyBiZWVuIGRlcHJlY2F0ZWQgd2hlbiBuZXR3b3JrIHNlc3Npb24gaXMgdXNlZCwg
c28gd2UKKyAgICAgICAgc2hvdWxkIG5vdCBjYWxsIHRoZW0gaW4gdGhhdCBjYXNlLgorCisgICAg
ICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvclNp
bmdsZUNoYWxsZW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6
Y29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSk6CisgICAgICAgIChX
ZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Y2FuY2VsU2luZ2xlQ2hhbGxlbmdlKToKKyAg
ICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpwZXJmb3JtRGVmYXVsdEhhbmRs
aW5nRm9yU2luZ2xlQ2hhbGxlbmdlKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25N
YW5hZ2VyOjpyZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZUZvclNpbmdsZUNoYWxsZW5n
ZSk6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9u
TWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6
OnJlY2VpdmVkQ3JlZGVudGlhbCk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZENhbmNlbGxhdGlvbik6
CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0
VG9QZXJmb3JtRGVmYXVsdEhhbmRsaW5nKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRp
b25NYW5hZ2VyOjpyZWNlaXZlZENoYWxsZW5nZVJlamVjdGlvbik6CisgICAgICAgICogU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVudGljYXRpb25NYW5hZ2VyU291cC5jcHA6CisKIDIw
MTctMTAtMjUgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbV1BFXSBSZW1vdmUgR0xpYiBBUEkgZnVuY3Rpb25zIHdoaWNoIHVzZSBDYWlybwpJ
bmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAyMjM5MTQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMjYsMTIgKzIyNiwxNSBAQCB2b2lkIEF1dGhlbnRpY2F0aW9u
TWFuYWdlcjo6dXNlQ3JlZGVudGlhCiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb246OlVzZUNyZWRlbnRpYWwsIGNyZWRlbnRpYWwpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQorICAgIEFTU0VSVChjb3JlQ2xpZW50KTsKICNlbmRpZgog
CiAgICAgaWYgKGNvcmVDbGllbnQpCiAgICAgICAgIGNvcmVDbGllbnQtPnJlY2VpdmVkQ3JlZGVu
dGlhbChjaGFsbGVuZ2UuY2hhbGxlbmdlLCBjcmVkZW50aWFsKTsKKyNpZiAhVVNFKENGVVJMQ09O
TkVDVElPTikgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCiAgICAgZWxzZQogICAgICAgICByZWNl
aXZlZENyZWRlbnRpYWwoY2hhbGxlbmdlLmNoYWxsZW5nZSwgY3JlZGVudGlhbCk7CisjZW5kaWYK
IH0KIAogdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmNvbnRpbnVlV2l0aG91dENyZWRlbnRp
YWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpCkBAIC0yNTQsMTIgKzI1NywxNSBA
QCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Y29udGludWVXaXRoCiAgICAgICAgIGNoYWxs
ZW5nZS5jb21wbGV0aW9uSGFuZGxlcihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9u
OjpVc2VDcmVkZW50aWFsLCBDcmVkZW50aWFsKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQor
ICAgIEFTU0VSVChjb3JlQ2xpZW50KTsKICNlbmRpZgogCiAgICAgaWYgKGNvcmVDbGllbnQpCiAg
ICAgICAgIGNvcmVDbGllbnQtPnJlY2VpdmVkUmVxdWVzdFRvQ29udGludWVXaXRob3V0Q3JlZGVu
dGlhbChjaGFsbGVuZ2UuY2hhbGxlbmdlKTsKKyNpZiAhVVNFKENGVVJMQ09OTkVDVElPTikgJiYg
IVVTRShORVRXT1JLX1NFU1NJT04pCiAgICAgZWxzZQogICAgICAgICByZWNlaXZlZFJlcXVlc3RU
b0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwoY2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjZW5kaWYK
IH0KIAogdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmNhbmNlbENoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCkKQEAgLTI4MiwxMiArMjg4LDE1IEBAIHZvaWQgQXV0aGVudGljYXRpb25N
YW5hZ2VyOjpjYW5jZWxTaW5nbGUKICAgICAgICAgY2hhbGxlbmdlLmNvbXBsZXRpb25IYW5kbGVy
KEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb246OkNhbmNlbCwgQ3JlZGVudGlhbCgp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBBU1NFUlQoY29yZUNsaWVudCk7CiAjZW5k
aWYKIAogICAgIGlmIChjb3JlQ2xpZW50KQogICAgICAgICBjb3JlQ2xpZW50LT5yZWNlaXZlZENh
bmNlbGxhdGlvbihjaGFsbGVuZ2UuY2hhbGxlbmdlKTsKKyNpZiAhVVNFKENGVVJMQ09OTkVDVElP
TikgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCiAgICAgZWxzZQogICAgICAgICByZWNlaXZlZENh
bmNlbGxhdGlvbihjaGFsbGVuZ2UuY2hhbGxlbmdlKTsKKyNlbmRpZgogfQogCiB2b2lkIEF1dGhl
bnRpY2F0aW9uTWFuYWdlcjo6cGVyZm9ybURlZmF1bHRIYW5kbGluZyh1aW50NjRfdCBjaGFsbGVu
Z2VJRCkKQEAgLTMxMCwxMiArMzE5LDE1IEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpw
ZXJmb3JtRGVmYXUKICAgICAgICAgY2hhbGxlbmdlLmNvbXBsZXRpb25IYW5kbGVyKEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb246OlBlcmZvcm1EZWZhdWx0SGFuZGxpbmcsIENyZWRl
bnRpYWwoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgQVNTRVJUKGNvcmVDbGllbnQp
OwogI2VuZGlmCiAKICAgICBpZiAoY29yZUNsaWVudCkKICAgICAgICAgY29yZUNsaWVudC0+cmVj
ZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVmYXVsdEhhbmRsaW5nKGNoYWxsZW5nZS5jaGFsbGVuZ2Up
OworI2lmICFVU0UoQ0ZVUkxDT05ORUNUSU9OKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKICAg
ICBlbHNlCiAgICAgICAgIHJlY2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyhj
aGFsbGVuZ2UuY2hhbGxlbmdlKTsKKyNlbmRpZgogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6cmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWUodWludDY0X3QgY2hhbGxlbmdl
SUQpCkBAIC0zMzgsMTIgKzM1MCwxNSBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVq
ZWN0UHJvdGVjCiAgICAgICAgIGNoYWxsZW5nZS5jb21wbGV0aW9uSGFuZGxlcihBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpSZWplY3RQcm90ZWN0aW9uU3BhY2UsIENyZWRlbnRp
YWwoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgQVNTRVJUKGNvcmVDbGllbnQpOwog
I2VuZGlmCiAKICAgICBpZiAoY29yZUNsaWVudCkKICAgICAgICAgY29yZUNsaWVudC0+cmVjZWl2
ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjaWYgIVVTRShDRlVS
TENPTk5FQ1RJT04pICYmICFVU0UoTkVUV09SS19TRVNTSU9OKQogICAgIGVsc2UKICAgICAgICAg
cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjZW5kaWYK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50
aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQkocmV2aXNpb24gMjIzOTE0KQorKysgU291cmNlL1dlYktp
dC9TaGFyZWQvQXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2Eu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDQzICsyNiwzNSBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKIAorI2lmICFVU0UoQ0ZVUkxDT05O
RUNUSU9OKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJl
Y2VpdmVkQ3JlZGVudGlhbChjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgYXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwpCiB7Ci0jaWYgIVVT
RShDRlVSTENPTk5FQ1RJT04pCiAgICAgW2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLnNlbmRlcigp
IHVzZUNyZWRlbnRpYWw6Y3JlZGVudGlhbC5uc0NyZWRlbnRpYWwoKSBmb3JBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZTphdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKCldOwotI2VuZGlmCiB9CiAKIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNl
aXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewotI2lmICFVU0UoQ0ZVUkxD
T05ORUNUSU9OKQogICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKSBjb250aW51
ZVdpdGhvdXRDcmVkZW50aWFsRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRp
b25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKLSNlbmRpZgogfQog
CiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDYW5jZWxsYXRpb24oY29uc3Qg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewotI2lm
ICFVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5k
ZXIoKSBjYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTphdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCldOwotI2VuZGlmCiB9CiAKIHZvaWQgQXV0
aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFuZGxp
bmcoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KQogewotI2lmICFVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFthdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZS5zZW5kZXIoKSBwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFs
bGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSgpXTsKLSNlbmRpZgogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRD
aGFsbGVuZ2VSZWplY3Rpb24oY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKQogewotI2lmICFVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFthdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKSByZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250
aW51ZVdpdGhDaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSgpXTsKLSNlbmRpZgogfQogCiB9CisjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVudGljYXRpb25NYW5hZ2VyU291
cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24v
c291cC9BdXRoZW50aWNhdGlvbk1hbmFnZXJTb3VwLmNwcAkocmV2aXNpb24gMjIzOTE0KQorKysg
U291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vc291cC9BdXRoZW50aWNhdGlvbk1h
bmFnZXJTb3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgogCisjaWYgIVVT
RShORVRXT1JLX1NFU1NJT04pCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CkBAIC01MSwzICs1Miw0IEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpy
ZWNlaXZlZENoYWwKIH0KIAogfQorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324836</attachid>
            <date>2017-10-25 09:55:52 -0700</date>
            <delta_ts>2017-10-25 10:49:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160234-20171025095549.patch</filename>
            <type>text/plain</type>
            <size>7468</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjM5NTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTEwLTI1ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrIHByb2Nlc3MgY3Jh
c2ggdW5kZXIgV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlamVjdFByb3RlY3Rpb25T
cGFjZUFuZENvbnRpbnVlRm9yU2luZ2xlQ2hhbGxlbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMjM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBiZWNhdXNl
IHdlIGNhbGwgdGhlIG1ldGhvZCByZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhD
aGFsbGVuZ2Ugb24gdGhlIENGTmV0d29yaworICAgICAgICBjaGFsbGVuZ2Ugc2VuZGVyLCB3aGlj
aCBoYXMgbm90IGltcGxlbWVudGVkIHRoZSBvcHRpb25hbCBtZXRob2QuIFRoZSBtZXRob2RzIG9u
IHRoZSBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UKKyAgICAgICAgc2VuZGVyIGhhcyBiZWVuIGRl
cHJlY2F0ZWQgd2hlbiBuZXR3b3JrIHNlc3Npb24gaXMgdXNlZCwgc28gd2Ugc2hvdWxkIG5vdCBj
YWxsIHRoZW0gaW4gdGhhdCBjYXNlLgorCisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSk6CisgICAgICAgIChX
ZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Y29udGludWVXaXRob3V0Q3JlZGVudGlhbEZv
clNpbmdsZUNoYWxsZW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6Y2FuY2VsU2luZ2xlQ2hhbGxlbmdlKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRp
b25NYW5hZ2VyOjpwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yU2luZ2xlQ2hhbGxlbmdlKToKKyAg
ICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWplY3RQcm90ZWN0aW9uU3Bh
Y2VBbmRDb250aW51ZUZvclNpbmdsZUNoYWxsZW5nZSk6CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkQ3JlZGVudGlhbCk6CisgICAg
ICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9Db250
aW51ZVdpdGhvdXRDcmVkZW50aWFsKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25N
YW5hZ2VyOjpyZWNlaXZlZENhbmNlbGxhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRp
Y2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVmYXVsdEhhbmRsaW5nKToK
KyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZENoYWxsZW5n
ZVJlamVjdGlvbik6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVu
dGljYXRpb25NYW5hZ2VyU291cC5jcHA6CisKIDIwMTctMTAtMjUgIEFkcmlhbiBQZXJleiBkZSBD
YXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBSZW1vdmUgR0xpYiBB
UEkgZnVuY3Rpb25zIHdoaWNoIHVzZSBDYWlybwpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
Y3BwCShyZXZpc2lvbiAyMjM5MTQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjYsMTIg
KzIyNiwxNSBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhCiAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb246
OlVzZUNyZWRlbnRpYWwsIGNyZWRlbnRpYWwpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAg
IEFTU0VSVChjb3JlQ2xpZW50KTsKICNlbmRpZgogCiAgICAgaWYgKGNvcmVDbGllbnQpCiAgICAg
ICAgIGNvcmVDbGllbnQtPnJlY2VpdmVkQ3JlZGVudGlhbChjaGFsbGVuZ2UuY2hhbGxlbmdlLCBj
cmVkZW50aWFsKTsKKyNpZiAhVVNFKENGVVJMQ09OTkVDVElPTikgJiYgIVVTRShORVRXT1JLX1NF
U1NJT04pCiAgICAgZWxzZQogICAgICAgICByZWNlaXZlZENyZWRlbnRpYWwoY2hhbGxlbmdlLmNo
YWxsZW5nZSwgY3JlZGVudGlhbCk7CisjZW5kaWYKIH0KIAogdm9pZCBBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OmNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQpCkBAIC0yNTQsMTIgKzI1NywxNSBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6Y29udGludWVXaXRoCiAgICAgICAgIGNoYWxsZW5nZS5jb21wbGV0aW9uSGFuZGxlcihBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpVc2VDcmVkZW50aWFsLCBDcmVkZW50aWFs
KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIEFTU0VSVChjb3JlQ2xpZW50KTsKICNl
bmRpZgogCiAgICAgaWYgKGNvcmVDbGllbnQpCiAgICAgICAgIGNvcmVDbGllbnQtPnJlY2VpdmVk
UmVxdWVzdFRvQ29udGludWVXaXRob3V0Q3JlZGVudGlhbChjaGFsbGVuZ2UuY2hhbGxlbmdlKTsK
KyNpZiAhVVNFKENGVVJMQ09OTkVDVElPTikgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCiAgICAg
ZWxzZQogICAgICAgICByZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwo
Y2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjZW5kaWYKIH0KIAogdm9pZCBBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OmNhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCkKQEAgLTI4MiwxMiAr
Mjg4LDE1IEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpjYW5jZWxTaW5nbGUKICAgICAg
ICAgY2hhbGxlbmdlLmNvbXBsZXRpb25IYW5kbGVyKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRGlz
cG9zaXRpb246OkNhbmNlbCwgQ3JlZGVudGlhbCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
KyAgICBBU1NFUlQoY29yZUNsaWVudCk7CiAjZW5kaWYKIAogICAgIGlmIChjb3JlQ2xpZW50KQog
ICAgICAgICBjb3JlQ2xpZW50LT5yZWNlaXZlZENhbmNlbGxhdGlvbihjaGFsbGVuZ2UuY2hhbGxl
bmdlKTsKKyNpZiAhVVNFKENGVVJMQ09OTkVDVElPTikgJiYgIVVTRShORVRXT1JLX1NFU1NJT04p
CiAgICAgZWxzZQogICAgICAgICByZWNlaXZlZENhbmNlbGxhdGlvbihjaGFsbGVuZ2UuY2hhbGxl
bmdlKTsKKyNlbmRpZgogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cGVyZm9ybURl
ZmF1bHRIYW5kbGluZyh1aW50NjRfdCBjaGFsbGVuZ2VJRCkKQEAgLTMxMCwxMiArMzE5LDE1IEBA
IHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpwZXJmb3JtRGVmYXUKICAgICAgICAgY2hhbGxl
bmdlLmNvbXBsZXRpb25IYW5kbGVyKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb246
OlBlcmZvcm1EZWZhdWx0SGFuZGxpbmcsIENyZWRlbnRpYWwoKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CisgICAgQVNTRVJUKGNvcmVDbGllbnQpOwogI2VuZGlmCiAKICAgICBpZiAoY29yZUNs
aWVudCkKICAgICAgICAgY29yZUNsaWVudC0+cmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVmYXVs
dEhhbmRsaW5nKGNoYWxsZW5nZS5jaGFsbGVuZ2UpOworI2lmICFVU0UoQ0ZVUkxDT05ORUNUSU9O
KSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKICAgICBlbHNlCiAgICAgICAgIHJlY2VpdmVkUmVx
dWVzdFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyhjaGFsbGVuZ2UuY2hhbGxlbmdlKTsKKyNlbmRp
ZgogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVqZWN0UHJvdGVjdGlvblNwYWNl
QW5kQ29udGludWUodWludDY0X3QgY2hhbGxlbmdlSUQpCkBAIC0zMzgsMTIgKzM1MCwxNSBAQCB2
b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVqZWN0UHJvdGVjCiAgICAgICAgIGNoYWxsZW5n
ZS5jb21wbGV0aW9uSGFuZGxlcihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpS
ZWplY3RQcm90ZWN0aW9uU3BhY2UsIENyZWRlbnRpYWwoKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CisgICAgQVNTRVJUKGNvcmVDbGllbnQpOwogI2VuZGlmCiAKICAgICBpZiAoY29yZUNsaWVu
dCkKICAgICAgICAgY29yZUNsaWVudC0+cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY2hhbGxl
bmdlLmNoYWxsZW5nZSk7CisjaWYgIVVTRShDRlVSTENPTk5FQ1RJT04pICYmICFVU0UoTkVUV09S
S19TRVNTSU9OKQogICAgIGVsc2UKICAgICAgICAgcmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24o
Y2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjZW5kaWYKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50
aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQkocmV2
aXNpb24gMjIzOTE0KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vY29j
b2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDQz
ICsyNiwzNSBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJBdXRoZW50aWNhdGlvbk1h
bmFnZXIuaCIKIAorI2lmICFVU0UoQ0ZVUkxDT05ORUNUSU9OKSAmJiAhVVNFKE5FVFdPUktfU0VT
U0lPTikKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
dm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkQ3JlZGVudGlhbChjb25zdCBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UsIGNvbnN0IENyZWRl
bnRpYWwmIGNyZWRlbnRpYWwpCiB7Ci0jaWYgIVVTRShDRlVSTENPTk5FQ1RJT04pCiAgICAgW2F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLnNlbmRlcigpIHVzZUNyZWRlbnRpYWw6Y3JlZGVudGlhbC5u
c0NyZWRlbnRpYWwoKSBmb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTphdXRoZW50aWNhdGlvbkNo
YWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCldOwotI2VuZGlmCiB9CiAKIHZv
aWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91
dENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKQogewotI2lmICFVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFthdXRoZW50aWNh
dGlvbkNoYWxsZW5nZS5zZW5kZXIoKSBjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSgpXTsKLSNlbmRpZgogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6cmVjZWl2ZWRDYW5jZWxsYXRpb24oY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewotI2lmICFVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAg
IFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKSBjYW5jZWxBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZTphdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKCldOwotI2VuZGlmCiB9CiAKIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZl
ZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFuZGxpbmcoY29uc3QgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewotI2lmICFVU0UoQ0ZVUkxDT05ORUNU
SU9OKQogICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKSBwZXJmb3JtRGVmYXVs
dEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVu
Z2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKLSNlbmRpZgogfQogCiB2b2lkIEF1
dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY29uc3QgQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQogewotI2lmICFV
U0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIo
KSByZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6YXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKLSNlbmRpZgog
fQogCiB9CisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L3NvdXAvQXV0aGVudGljYXRpb25NYW5hZ2VyU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vc291cC9BdXRoZW50aWNhdGlvbk1hbmFnZXJT
b3VwLmNwcAkocmV2aXNpb24gMjIzOTE0KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVu
dGljYXRpb24vc291cC9BdXRoZW50aWNhdGlvbk1hbmFnZXJTb3VwLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkF1dGhl
bnRpY2F0aW9uTWFuYWdlci5oIgogCisjaWYgIVVTRShORVRXT1JLX1NFU1NJT04pCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01MSwzICs1Miw0IEBA
IHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZENoYWwKIH0KIAogfQorI2VuZGlm
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324849</attachid>
            <date>2017-10-25 10:49:21 -0700</date>
            <delta_ts>2017-10-25 16:24:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160234-20171025104918.patch</filename>
            <type>text/plain</type>
            <size>7496</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjM5NTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTEwLTI1ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrIHByb2Nlc3MgY3Jh
c2ggdW5kZXIgV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlamVjdFByb3RlY3Rpb25T
cGFjZUFuZENvbnRpbnVlRm9yU2luZ2xlQ2hhbGxlbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMjM0CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzMwNjc1NTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBiZWNhdXNlIHdlIGNhbGwgdGhlIG1ldGhvZCByZWpl
Y3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2Ugb24gdGhlIENGTmV0d29y
aworICAgICAgICBjaGFsbGVuZ2Ugc2VuZGVyLCB3aGljaCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhp
cyBvcHRpb25hbCBtZXRob2QuIFRoZSBtZXRob2RzIG9uIHRoZSBhdXRoZW50aWNhdGlvbiBjaGFs
bGVuZ2UKKyAgICAgICAgc2VuZGVyIGFyZSBkZXByZWNhdGVkIHdoZW4gbmV0d29yayBzZXNzaW9u
IGlzIHVzZWQsIHNvIHdlIHNob3VsZCBub3QgY2FsbCB0aGVtIGluIHRoYXQgY2FzZS4KKworICAg
ICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JT
aW5nbGVDaGFsbGVuZ2UpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6
OmNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JTaW5nbGVDaGFsbGVuZ2UpOgorICAgICAgICAo
V2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmNhbmNlbFNpbmdsZUNoYWxsZW5nZSk6Cisg
ICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cGVyZm9ybURlZmF1bHRIYW5k
bGluZ0ZvclNpbmdsZUNoYWxsZW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9u
TWFuYWdlcjo6cmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVGb3JTaW5nbGVDaGFsbGVu
Z2UpOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNhdGlv
bk1hbmFnZXJDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2Vy
OjpyZWNlaXZlZENyZWRlbnRpYWwpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OnJlY2VpdmVkUmVxdWVzdFRvQ29udGludWVXaXRob3V0Q3JlZGVudGlhbCk6CisgICAg
ICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDYW5jZWxsYXRpb24p
OgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkUmVxdWVz
dFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24pOgorICAgICAgICAqIFNoYXJl
ZC9BdXRoZW50aWNhdGlvbi9zb3VwL0F1dGhlbnRpY2F0aW9uTWFuYWdlclNvdXAuY3BwOgorCiAy
MDE3LTEwLTI1ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW1dQRV0gUmVtb3ZlIEdMaWIgQVBJIGZ1bmN0aW9ucyB3aGljaCB1c2UgQ2Fpcm8K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAkocmV2aXNpb24gMjIzOTE0KQorKysgU291
cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjI2LDEyICsyMjYsMTUgQEAgdm9pZCBBdXRoZW50aWNhdGlv
bk1hbmFnZXI6OnVzZUNyZWRlbnRpYQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpVc2VDcmVkZW50aWFsLCBjcmVkZW50aWFsKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBBU1NFUlQoY29yZUNsaWVudCk7CiAjZW5kaWYK
IAogICAgIGlmIChjb3JlQ2xpZW50KQogICAgICAgICBjb3JlQ2xpZW50LT5yZWNlaXZlZENyZWRl
bnRpYWwoY2hhbGxlbmdlLmNoYWxsZW5nZSwgY3JlZGVudGlhbCk7CisjaWYgIVVTRShDRlVSTENP
Tk5FQ1RJT04pICYmICFVU0UoTkVUV09SS19TRVNTSU9OKQogICAgIGVsc2UKICAgICAgICAgcmVj
ZWl2ZWRDcmVkZW50aWFsKGNoYWxsZW5nZS5jaGFsbGVuZ2UsIGNyZWRlbnRpYWwpOworI2VuZGlm
CiB9CiAKIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpjb250aW51ZVdpdGhvdXRDcmVkZW50
aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKQpAQCAtMjU0LDEyICsyNTcsMTUg
QEAgdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmNvbnRpbnVlV2l0aAogICAgICAgICBjaGFs
bGVuZ2UuY29tcGxldGlvbkhhbmRsZXIoQXV0aGVudGljYXRpb25DaGFsbGVuZ2VEaXNwb3NpdGlv
bjo6VXNlQ3JlZGVudGlhbCwgQ3JlZGVudGlhbCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
KyAgICBBU1NFUlQoY29yZUNsaWVudCk7CiAjZW5kaWYKIAogICAgIGlmIChjb3JlQ2xpZW50KQog
ICAgICAgICBjb3JlQ2xpZW50LT5yZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRl
bnRpYWwoY2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjaWYgIVVTRShDRlVSTENPTk5FQ1RJT04pICYm
ICFVU0UoTkVUV09SS19TRVNTSU9OKQogICAgIGVsc2UKICAgICAgICAgcmVjZWl2ZWRSZXF1ZXN0
VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKGNoYWxsZW5nZS5jaGFsbGVuZ2UpOworI2VuZGlm
CiB9CiAKIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpjYW5jZWxDaGFsbGVuZ2UodWludDY0
X3QgY2hhbGxlbmdlSUQpCkBAIC0yODIsMTIgKzI4OCwxNSBAQCB2b2lkIEF1dGhlbnRpY2F0aW9u
TWFuYWdlcjo6Y2FuY2VsU2luZ2xlCiAgICAgICAgIGNoYWxsZW5nZS5jb21wbGV0aW9uSGFuZGxl
cihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpDYW5jZWwsIENyZWRlbnRpYWwo
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgQVNTRVJUKGNvcmVDbGllbnQpOwogI2Vu
ZGlmCiAKICAgICBpZiAoY29yZUNsaWVudCkKICAgICAgICAgY29yZUNsaWVudC0+cmVjZWl2ZWRD
YW5jZWxsYXRpb24oY2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjaWYgIVVTRShDRlVSTENPTk5FQ1RJ
T04pICYmICFVU0UoTkVUV09SS19TRVNTSU9OKQogICAgIGVsc2UKICAgICAgICAgcmVjZWl2ZWRD
YW5jZWxsYXRpb24oY2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjZW5kaWYKIH0KIAogdm9pZCBBdXRo
ZW50aWNhdGlvbk1hbmFnZXI6OnBlcmZvcm1EZWZhdWx0SGFuZGxpbmcodWludDY0X3QgY2hhbGxl
bmdlSUQpCkBAIC0zMTAsMTIgKzMxOSwxNSBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6
cGVyZm9ybURlZmF1CiAgICAgICAgIGNoYWxsZW5nZS5jb21wbGV0aW9uSGFuZGxlcihBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpQZXJmb3JtRGVmYXVsdEhhbmRsaW5nLCBDcmVk
ZW50aWFsKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIEFTU0VSVChjb3JlQ2xpZW50
KTsKICNlbmRpZgogCiAgICAgaWYgKGNvcmVDbGllbnQpCiAgICAgICAgIGNvcmVDbGllbnQtPnJl
Y2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyhjaGFsbGVuZ2UuY2hhbGxlbmdl
KTsKKyNpZiAhVVNFKENGVVJMQ09OTkVDVElPTikgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCiAg
ICAgZWxzZQogICAgICAgICByZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFuZGxpbmco
Y2hhbGxlbmdlLmNoYWxsZW5nZSk7CisjZW5kaWYKIH0KIAogdm9pZCBBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OnJlamVjdFByb3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlKHVpbnQ2NF90IGNoYWxsZW5n
ZUlEKQpAQCAtMzM4LDEyICszNTAsMTUgQEAgdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJl
amVjdFByb3RlYwogICAgICAgICBjaGFsbGVuZ2UuY29tcGxldGlvbkhhbmRsZXIoQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VEaXNwb3NpdGlvbjo6UmVqZWN0UHJvdGVjdGlvblNwYWNlLCBDcmVkZW50
aWFsKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIEFTU0VSVChjb3JlQ2xpZW50KTsK
ICNlbmRpZgogCiAgICAgaWYgKGNvcmVDbGllbnQpCiAgICAgICAgIGNvcmVDbGllbnQtPnJlY2Vp
dmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNoYWxsZW5nZS5jaGFsbGVuZ2UpOworI2lmICFVU0UoQ0ZV
UkxDT05ORUNUSU9OKSAmJiAhVVNFKE5FVFdPUktfU0VTU0lPTikKICAgICBlbHNlCiAgICAgICAg
IHJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNoYWxsZW5nZS5jaGFsbGVuZ2UpOworI2VuZGlm
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQv
QXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2EubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVu
dGljYXRpb25NYW5hZ2VyQ29jb2EubW0JKHJldmlzaW9uIDIyMzkxNCkKKysrIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw0MyArMjYsMzUgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCiAKKyNpZiAhVVNFKENGVVJMQ09O
TkVDVElPTikgJiYgIVVTRShORVRXT1JLX1NFU1NJT04pCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpy
ZWNlaXZlZENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlLCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsKQogewotI2lmICFV
U0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIo
KSB1c2VDcmVkZW50aWFsOmNyZWRlbnRpYWwubnNDcmVkZW50aWFsKCkgZm9yQXV0aGVudGljYXRp
b25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSgpXTsKLSNlbmRpZgogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVj
ZWl2ZWRSZXF1ZXN0VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKGNvbnN0IEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKIHsKLSNpZiAhVVNFKENGVVJM
Q09OTkVDVElPTikKICAgICBbYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCkgY29udGlu
dWVXaXRob3V0Q3JlZGVudGlhbEZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07Ci0jZW5kaWYKIH0K
IAogdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkQ2FuY2VsbGF0aW9uKGNvbnN0
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKIHsKLSNp
ZiAhVVNFKENGVVJMQ09OTkVDVElPTikKICAgICBbYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uuc2Vu
ZGVyKCkgY2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFsbGVu
Z2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKLSNlbmRpZgogfQogCiB2b2lkIEF1
dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVmYXVsdEhhbmRs
aW5nKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSkKIHsKLSNpZiAhVVNFKENGVVJMQ09OTkVDVElPTikKICAgICBbYXV0aGVudGljYXRpb25DaGFs
bGVuZ2Uuc2VuZGVyKCkgcGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvckF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlOmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoKV07Ci0jZW5kaWYKIH0KIAogdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVk
Q2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSkKIHsKLSNpZiAhVVNFKENGVVJMQ09OTkVDVElPTikKICAgICBbYXV0
aGVudGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCkgcmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29u
dGludWVXaXRoQ2hhbGxlbmdlOmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UoKV07Ci0jZW5kaWYKIH0KIAogfQorI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9zb3VwL0F1dGhlbnRpY2F0aW9uTWFuYWdlclNv
dXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L3NvdXAvQXV0aGVudGljYXRpb25NYW5hZ2VyU291cC5jcHAJKHJldmlzaW9uIDIyMzkxNCkKKysr
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVudGljYXRpb25N
YW5hZ2VyU291cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKIAorI2lmICFV
U0UoTkVUV09SS19TRVNTSU9OKQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtNTEsMyArNTIsNCBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6
cmVjZWl2ZWRDaGFsCiB9CiAKIH0KKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>