<?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>183923</bug_id>
          
          <creation_ts>2018-03-22 16:24:38 -0700</creation_ts>
          <short_desc>The layout test fast/canvas/webgl/read-pixels-test.html is timing out.</short_desc>
          <delta_ts>2018-03-27 16:39:45 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1408532</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-22 16:24:38 -0700</bug_when>
    <thetext>This happens when there is no WindowServer connection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408534</commentid>
    <comment_count>1</comment_count>
      <attachid>336325</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-22 16:28:41 -0700</bug_when>
    <thetext>Created attachment 336325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408538</commentid>
    <comment_count>2</comment_count>
      <attachid>336325</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-03-22 16:33:41 -0700</bug_when>
    <thetext>Comment on attachment 336325
Patch

I assume there&apos;s a reason that we&apos;re not setting this bit if we don&apos;t have a mux-capable GPU, and also this is not the only caller of that function. We need to carefully consider each caller and what it means if this function now lies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408539</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-03-22 16:34:02 -0700</bug_when>
    <thetext>Ccing Dean, who IIRC wrote this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408542</commentid>
    <comment_count>4</comment_count>
      <attachid>336325</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-03-22 16:40:13 -0700</bug_when>
    <thetext>Comment on attachment 336325
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:337
&gt;          attribs.append(kCGLPFAAllowOfflineRenderers);

I actually don&apos;t understand why we need to decide whether to set this or not. It seems like for modern WebKit, all of our OpenGL drawing is in an &quot;offline renderer&quot; mode, isn&apos;t? We don&apos;t throw bits directly from the GPU to the display, do we? I thought it all had to pass to the UIProcess for display?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408545</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-03-22 16:42:38 -0700</bug_when>
    <thetext>This is not about whatever you’re talking about, this is about discrete vs. integrated GPU.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408683</commentid>
    <comment_count>6</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-23 07:18:05 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #2)
&gt; Comment on attachment 336325 [details]
&gt; Patch
&gt; 
&gt; I assume there&apos;s a reason that we&apos;re not setting this bit if we don&apos;t have a
&gt; mux-capable GPU, and also this is not the only caller of that function. We
&gt; need to carefully consider each caller and what it means if this function
&gt; now lies.

Thanks for reviewing! I will look more closely into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409432</commentid>
    <comment_count>7</comment_count>
      <attachid>336546</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-26 15:29:04 -0700</bug_when>
    <thetext>Created attachment 336546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409435</commentid>
    <comment_count>8</comment_count>
      <attachid>336548</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-26 15:39:53 -0700</bug_when>
    <thetext>Created attachment 336548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409453</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-26 17:10:49 -0700</bug_when>
    <thetext>(In reply to Per Arne Vollan from comment #8)
&gt; Created attachment 336548 [details]
&gt; Patch

We should probably use CGLQueryRendererInfo, instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409596</commentid>
    <comment_count>10</comment_count>
      <attachid>336600</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-27 11:25:48 -0700</bug_when>
    <thetext>Created attachment 336600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409619</commentid>
    <comment_count>11</comment_count>
      <attachid>336608</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-27 12:08:04 -0700</bug_when>
    <thetext>Created attachment 336608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409624</commentid>
    <comment_count>12</comment_count>
      <attachid>336609</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-27 12:11:34 -0700</bug_when>
    <thetext>Created attachment 336609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409628</commentid>
    <comment_count>13</comment_count>
      <attachid>336609</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-03-27 12:27:36 -0700</bug_when>
    <thetext>Comment on attachment 336609
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:486
&gt; +    if (m_displayMask &amp;&amp; m_contextObj) {

I feel like this might be better as a function, &quot;identifyAndSetCurrentGPU&quot; or something like that.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:2651
&gt; +    CGOpenGLDisplayMask currentDisplaymask = CGDisplayIDToOpenGLDisplayMask(displayID);

auto?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409634</commentid>
    <comment_count>14</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-27 12:38:50 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #13)
&gt; Comment on attachment 336609 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=336609&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:486
&gt; &gt; +    if (m_displayMask &amp;&amp; m_contextObj) {
&gt; 
&gt; I feel like this might be better as a function, &quot;identifyAndSetCurrentGPU&quot;
&gt; or something like that.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:2651
&gt; &gt; +    CGOpenGLDisplayMask currentDisplaymask = CGDisplayIDToOpenGLDisplayMask(displayID);
&gt; 
&gt; auto?

Thanks for reviewing! I will update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409670</commentid>
    <comment_count>15</comment_count>
      <attachid>336616</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-27 14:09:41 -0700</bug_when>
    <thetext>Created attachment 336616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409680</commentid>
    <comment_count>16</comment_count>
      <attachid>336616</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-03-27 14:37:39 -0700</bug_when>
    <thetext>Comment on attachment 336616
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        The test is timing out because software rendering is being used when there is no WindowServer access.

The test is timing out when we do not interact directly with the WindowServer, causing
OpenGL to fall back to software rendering. In this mode, any call to CGLChoosePixelFormat
requesting an accelerated pixel format will fail because it cannot determine which GPU is
connected to the display.

OpenGL treats all GPUs as if they were offline when used in a process (like the WebContent
process) that does not directly control the display.

We can get correct behavior if we tell OpenGL which GPU is currently connected to the
display, and if we instruct CGLChoosePixelFormat to create an offline renderer pixel format
by including the &apos;kCGLPFAAllowOfflineRenderers&apos; flag in its arguments.

We can use CGLSetVirtualScreen with an OpenGL display mask that tells the OpenGL framework
which GPU it should use.

See https://developer.apple.com/library/content/technotes/tn2229/_index.html#//apple_ref/doc/uid/DTS40008924-CH1-SUBSECTION7
for details on how the virtual screen is found from the OpenGL display mask.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:1273
&gt; +		49C7B9FC1042D3650009D447 /* GraphicsContext3D.h in Headers */ = {isa = PBXBuildFile; fileRef = 49C7B9FB1042D3650009D447 /* GraphicsContext3D.h */; settings = {ATTRIBUTES = (Private, ); }; };

Were these two changes intentional?

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:406
&gt; +    // To help OpenGL choose GPU, it is possible to use the function CGLSetVirtualScreen.

// CGLSetVirtualScreen can be used to tell OpenGL which GPU it should be using.

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:412
&gt; +    for (int virtualScreen = 0; virtualScreen &lt; numPixelFormats; virtualScreen++) {

++virtualScreen

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:468
&gt; +    setPixelFormat(attribs, 32, 32, !attrs.forceSoftwareRenderer, true, false, useMultisampling, attrs.useGLES3, allowOfflineRenderers());

How do we know m_displayMask is set properly here? Does the WebPage always receive OpenGLDisplayMaskChanged when a new Web Process is launched?

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:808
&gt; +    if (!hasWindowServerConnection)

Isn&apos;t this just:

if (!!m_displayMask)
    return true;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409689</commentid>
    <comment_count>17</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-27 15:02:02 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #16)
&gt; Comment on attachment 336616 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=336616&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        The test is timing out because software rendering is being used when there is no WindowServer access.
&gt; 
&gt; The test is timing out when we do not interact directly with the
&gt; WindowServer, causing
&gt; OpenGL to fall back to software rendering. In this mode, any call to
&gt; CGLChoosePixelFormat
&gt; requesting an accelerated pixel format will fail because it cannot determine
&gt; which GPU is
&gt; connected to the display.
&gt; 
&gt; OpenGL treats all GPUs as if they were offline when used in a process (like
&gt; the WebContent
&gt; process) that does not directly control the display.
&gt; 
&gt; We can get correct behavior if we tell OpenGL which GPU is currently
&gt; connected to the
&gt; display, and if we instruct CGLChoosePixelFormat to create an offline
&gt; renderer pixel format
&gt; by including the &apos;kCGLPFAAllowOfflineRenderers&apos; flag in its arguments.
&gt; 
&gt; We can use CGLSetVirtualScreen with an OpenGL display mask that tells the
&gt; OpenGL framework
&gt; which GPU it should use.
&gt; 
&gt; See
&gt; https://developer.apple.com/library/content/technotes/tn2229/_index.html#//
&gt; apple_ref/doc/uid/DTS40008924-CH1-SUBSECTION7
&gt; for details on how the virtual screen is found from the OpenGL display mask.
&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:1273
&gt; &gt; +		49C7B9FC1042D3650009D447 /* GraphicsContext3D.h in Headers */ = {isa = PBXBuildFile; fileRef = 49C7B9FB1042D3650009D447 /* GraphicsContext3D.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; 
&gt; Were these two changes intentional?
&gt; 

Yes, these WebCore files are now included from WebKit.

&gt; &gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:406
&gt; &gt; +    // To help OpenGL choose GPU, it is possible to use the function CGLSetVirtualScreen.
&gt; 
&gt; // CGLSetVirtualScreen can be used to tell OpenGL which GPU it should be
&gt; using.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:412
&gt; &gt; +    for (int virtualScreen = 0; virtualScreen &lt; numPixelFormats; virtualScreen++) {
&gt; 
&gt; ++virtualScreen
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:468
&gt; &gt; +    setPixelFormat(attribs, 32, 32, !attrs.forceSoftwareRenderer, true, false, useMultisampling, attrs.useGLES3, allowOfflineRenderers());
&gt; 
&gt; How do we know m_displayMask is set properly here? Does the WebPage always
&gt; receive OpenGLDisplayMaskChanged when a new Web Process is launched?
&gt; 

Yes, we should always get a display mask when a Web Process is launched, since the display mask is sent when the display ID is sent.

&gt; &gt; Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm:808
&gt; &gt; +    if (!hasWindowServerConnection)
&gt; 
&gt; Isn&apos;t this just:
&gt; 
&gt; if (!!m_displayMask)
&gt;     return true;

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409703</commentid>
    <comment_count>18</comment_count>
      <attachid>336625</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-27 15:35:14 -0700</bug_when>
    <thetext>Created attachment 336625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409710</commentid>
    <comment_count>19</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-27 15:54:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/38931912&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409715</commentid>
    <comment_count>20</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-27 16:17:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/38756869&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409723</commentid>
    <comment_count>21</comment_count>
      <attachid>336625</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 16:39:45 -0700</bug_when>
    <thetext>Comment on attachment 336625
Patch

Clearing flags on attachment: 336625

Committed r230015: &lt;https://trac.webkit.org/changeset/230015&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336325</attachid>
            <date>2018-03-22 16:28:41 -0700</date>
            <delta_ts>2018-03-26 15:29:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183923-20180322162841.patch</filename>
            <type>text/plain</type>
            <size>1862</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAzLTIyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3Qg
ZmFzdC9jYW52YXMvd2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE9wZW5HTCB3aWxsIG5vdCBnaXZlIHVzIGFueSBhY2Nl
bGVyYXRlZCBjb250ZXh0cyBpZiB0aGUgJ2tDR0xQRkFBbGxvd09mZmxpbmVSZW5kZXJlcnMnIGZs
YWcgaXMgbm90IHNldCB3aGVuCisgICAgICAgIGNob29zaW5nIHBpeGVsIGZvcm1hdCwgYW5kIHRo
ZXJlIGlzIG5vIGNvbm5lY3Rpb24gdG8gdGhlIFdpbmRvd1NlcnZlci4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6c2V0UGl4ZWxGb3JtYXQpOgorCiAyMDE4LTAzLTIyICBNaWNoYWVsIENhdGFuemFybyAg
PG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCBmb3JtYXQg
c3RyaW5nIHdhcm5pbmdzIGluIHNlcnZpY2Ugd29ya2VyIGNvZGUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhp
Y3NDb250ZXh0M0RDb2NvYS5tbQkocmV2aXNpb24gMjI5ODM2KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzMwLDcgKzMzMCwxMCBAQCBzdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChW
ZWN0b3I8Q0dMUGl4CiAgICAgLy8gYWxsb3dpbmcgdXMgdG8gcmVxdWVzdCB0aGUgaW50ZWdyYXRl
ZCBncmFwaGljcyBvbiBhIGR1YWwgR1BVCiAgICAgLy8gc3lzdGVtLCBhbmQgbm90IGZvcmNlIHRo
ZSBkaXNjcmV0ZSBHUFUuCiAgICAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9s
aWJyYXJ5L21hYy90ZWNobm90ZXMvdG4yMjI5L19pbmRleC5odG1sCi0gICAgaWYgKGhhc011eGFi
bGVHUFUoKSkKKyAgICAvLyBBbHNvLCBPcGVuR0wgd2lsbCBub3QgZ2l2ZSB1cyBhbnkgYWNjZWxl
cmF0ZWQgY29udGV4dHMgaWYgdGhpcyBmbGFnIGlzIG5vdAorICAgIC8vIHNldCB3aGVuIHRoZXJl
IGlzIG5vIGNvbm5lY3Rpb24gdG8gdGhlIFdpbmRvd1NlcnZlci4KKyAgICBzdGF0aWMgQ0dTQ29u
bmVjdGlvbklEIGNpZCA9IENHU01haW5Db25uZWN0aW9uSUQoKTsKKyAgICBpZiAoaGFzTXV4YWJs
ZUdQVSgpIHx8ICFjaWQpCiAgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFBbGxvd09mZmxp
bmVSZW5kZXJlcnMpOwogCiAgICAgaWYgKGFjY2VsZXJhdGVkKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336546</attachid>
            <date>2018-03-26 15:29:04 -0700</date>
            <delta_ts>2018-03-26 15:39:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183923-20180326152903.patch</filename>
            <type>text/plain</type>
            <size>13509</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE4LTAzLTI2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3Qg
ZmFzdC9jYW52YXMvd2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIHRpbWluZyBvdXQgYmVjYXVzZSBz
b2Z0d2FyZSByZW5kZXJpbmcgaXMgYmVpbmcgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFdpbmRvd1Nl
cnZlciBhY2Nlc3MuCisgICAgICAgIENHTENob29zZVBpeGVsRm9ybWF0IHdpbGwgZmFpbCB3aGVu
IGFuIGFjY2VsZXJhdGVkIHBpeGVsIGZvcm1hdCBpcyByZXF1ZXN0ZWQsIGFuZCB0aGUgV2luZG93
U2VydmVyCisgICAgICAgIGlzIGJsb2NrZWQsIHNpbmNlIHRoZXJlIGlzIG5vIHdheSBmb3IgT3Bl
bkdMIHRvIGRlY2lkZSB3aGljaCBHUFUgaXMgY29ubmVjdGVkIHRvIHRoZSBkaXNwbGF5LCB0aGVu
LgorICAgICAgICBUaGlzIGlzIG9ubHkgdGhlIGNhc2Ugd2hlbiB0aGUgYXR0cmlidXRlcyBmb3Ig
Q0dMQ2hvb3NlUGl4ZWxGb3JtYXQgZG8gbm90IGluY2x1ZGUgdGhlIGF0dHJpYnV0ZQorICAgICAg
ICAna0NHTFBGQUFsbG93T2ZmbGluZVJlbmRlcmVycycuIFdoZW4gV2luZG93U2VydmVyIGFjY2Vz
cyBpcyBibG9ja2VkLCBPcGVuR0wgd2lsbCBjb25zaWRlciBhbGwKKyAgICAgICAgR1BVcyBvciBy
ZW5kZXJlcnMgYXMgb2ZmbGluZSwgd2hpY2ggbWVhbnMgb2ZmbGluZSByZW5kZXJlcnMgaGFzIHRv
IGJlIGFsbG93ZWQgaW4gdGhhdCBjYXNlLgorICAgICAgICBUaGUgZnVuY3Rpb24gQ0dMU2V0Vmly
dHVhbFNjcmVlbiBpcyB1c2VkIHRvIGhlbHAgT3BlbkdMIHNlbGVjdCBHUFUuIFRoZSBjb21wdXRh
dGlvbiBvZiB0aGUgdmlydHVhbAorICAgICAgICBzY3JlZW4gaXMgYmFzZWQgb24gdGhlIE9wZW5H
TCBkaXNwbGF5IG1hc2ssIHdoaWNoIGlzIGJlaW5nIHNlbnQgZnJvbSB0aGUgVUkgcHJvY2Vzcywg
c2luY2UgdGhlCisgICAgICAgIFdlYkNvbnRlbnQgcHJvY2VzcyB3aWxsIG5vdCBiZSBhYmxlIHRv
IGluZmVyIHRoZSBkaXNwbGF5IG1hc2sgd2hlbiB0aGUgV2luZG93U2VydmVyIGlzIGJsb2NrZWQu
CisgICAgICAgIFNlZSBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50
L3RlY2hub3Rlcy90bjIyMjkvX2luZGV4Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAw
ODkyNC1DSDEtU1VCU0VDVElPTjcKKyAgICAgICAgZm9yIGRldGFpbHMgb24gaG93IHRoZSB2aXJ0
dWFsIHNjcmVlbiBpcyBmb3VuZCBmcm9tIHRoZSBPcGVuR0wgZGlzcGxheSBtYXNrLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRQ
aXhlbEZvcm1hdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhp
Y3NDb250ZXh0M0QpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnNldE9w
ZW5HTERpc3BsYXlNYXNrKToKKwogMjAxOC0wMy0yNiAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBsb2FkIGNvcnJlY3QgYnVmZmVyIGlu
IEJpdG1hcFRleHR1cmVHTDo6dXBkYXRlQ29udGVudHMoKQpJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjI5OTc0
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjIzLDcgKzEyMjMsNyBAQAogCQk0NkVGQUYxMjFFNUZCOUYxMDBF
N0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RUZBRjEwMUU1RkI5RTEwMEU3RjM0QiAvKiBMb3dQb3dl
ck1vZGVOb3RpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQ2RkNCNjE4MUE3MDgyMEUwMEM1QTIxRSAvKiBEaWFnbm9zdGljTG9nZ2luZ0tl
eXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMzdC
Mzc1MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTA3MDdFNjEyMTlDMDQz
MDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkwNzA3RTQxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xF
V2ViS2l0QnJpZGdlLmNwcCAqLzsgfTsKLQkJNDkwNzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFO
R0xFV2ViS2l0QnJpZGdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0OTA3MDdFNTEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAq
LzsgfTsKKwkJNDkwNzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEy
MTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTI5MUU0QjEzNDE3MkM4MDBFNzUzREUg
LyogSW1hZ2VSZW5kZXJpbmdNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OTI5MUU0QTEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdN
b2RlLmggKi87IH07CiAJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5
ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ5M0U1RTA4MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTQ1QkZENDEz
Q0Y4MDkwMDBDQzNCMzggLyogVHJhbnNmb3JtU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5NDVCRkQyMTNDRjgwOTAwMENDM0IzOCAvKiBUcmFu
c2Zvcm1TdGF0ZS5oICovOyB9OwpAQCAtMTI3MCw3ICsxMjcwLDcgQEAKIAkJNDlDN0I5RTMxMDQy
RDMyRjAwMDlENDQ3IC8qIFdlYkdMU2hhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlDMzEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xTaGFk
ZXIuaCAqLzsgfTsKIAkJNDlDN0I5RTUxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlD
NTEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xUZXh0dXJlLmNwcCAqLzsgfTsKIAkJNDlDN0I5RTYx
MDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5QzYxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdM
VGV4dHVyZS5oICovOyB9OwotCQk0OUM3QjlGQzEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3ND
b250ZXh0M0QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ5QzdCOUZCMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oICovOyB9Owor
CQk0OUM3QjlGQzEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUw
MDA5RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5RDVEQzJDMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRy
aXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDlENURDMjgwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNm
b3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3Jt
T3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OUQ1REMyQTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
OUU5MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUI0MEVGODZENDcw
MDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgJKHJldmlzaW9uIDIyOTk3NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyODIsNiArMTI4MiwxMCBAQCBwdWJsaWM6CiAgICAgR0MzRGVu
dW0gY3VycmVudEJvdW5kVGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5jdXJyZW50Qm91
bmRUYXJnZXQoKTsgfQogICAgIHVuc2lnbmVkIHRleHR1cmVTZWVkKEdDM0R1aW50IHRleHR1cmUp
IHsgcmV0dXJuIG1fc3RhdGUudGV4dHVyZVNlZWRDb3VudC5jb3VudCh0ZXh0dXJlKTsgfQogCisj
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTMwMAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldE9wZW5HTERpc3BsYXlNYXNr
KENHT3BlbkdMRGlzcGxheU1hc2spOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgR3JhcGhpY3ND
b250ZXh0M0QoR3JhcGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzLCBIb3N0V2luZG93KiwgUmVuZGVy
U3R5bGUgPSBSZW5kZXJPZmZzY3JlZW4sIEdyYXBoaWNzQ29udGV4dDNEKiBzaGFyZWRDb250ZXh0
ID0gbnVsbHB0cik7CiAKQEAgLTE0OTMsNiArMTQ5Nyw5IEBAIHByaXZhdGU6CiAgICAgUGxhdGZv
cm0zRE9iamVjdCBtX3ZhbyB7IDAgfTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorICAgIHN0YXRpYyBDR09w
ZW5HTERpc3BsYXlNYXNrIG1fZGlzcGxheU1hc2s7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbQkocmV2aXNp
b24gMjI5OTc0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3Jh
cGhpY3NDb250ZXh0M0RDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgc3RhdHVzQ2hlY2tU
aHJlc2hvbGQgPSA1OwogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTMwMAorQ0dPcGVuR0xEaXNwbGF5TWFzayBHcmFwaGljc0NvbnRl
eHQzRDo6bV9kaXNwbGF5TWFzayA9IDA7CisjZW5kaWYKKwogI2lmIEhBVkUoQVBQTEVfR1JBUEhJ
Q1NfQ09OVFJPTCkKIAogZW51bSB7CkBAIC0zMjUsMTQgKzMyOSwyMCBAQCBzdGF0aWMgdm9pZCBz
ZXRQaXhlbEZvcm1hdChWZWN0b3I8Q0dMUGl4CiAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQURl
cHRoU2l6ZSk7CiAgICAgYXR0cmlicy5hcHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRB
dHRyaWJ1dGU+KGRlcHRoQml0cykpOwogCisjaWYgSEFWRShBUFBMRV9HUkFQSElDU19DT05UUk9M
KQorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEzMDAKKyAgICAvLyBXaGVuIFdpbmRvd1NlcnZlciBhY2Nlc3MgaXMgYmxvY2tlZCBpbiB0
aGUgV2ViUHJvY2VzcywgdGhlcmUgaXMgbm8gd2F5IGZvciBPcGVuR0wgdG8gZGVjaWRlIHdoaWNo
IEdQVSBpcyBjb25uZWN0ZWQgdG8gYSBkaXNwbGF5IChvbmxpbmUvb2ZmbGluZSkuCisgICAgLy8g
T3BlbkdMIHdpbGwgdGhlbiBjb25zaWRlciBhbGwgR1BVcywgb3IgcmVuZGVyZXJzLCBhcyBvZmZs
aW5lLCB3aGljaCBtZWFucyBhbGwgb2ZmbGluZSByZW5kZXJlcnMgbmVlZCB0byBiZSBjb25zaWRl
cmVkIHdoZW4gZmluZGluZyBhIHBpeGVsIGZvcm1hdC4KKyAgICBhdHRyaWJzLmFwcGVuZChrQ0dM
UEZBQWxsb3dPZmZsaW5lUmVuZGVyZXJzKTsKKyNlbHNlCiAgICAgLy8gVGhpcyBhdHRyaWJ1dGUs
IHdoaWxlIG1lbnRpb25pbmcgb2ZmbGluZSByZW5kZXJlcnMsIGlzIGFjdHVhbGx5CiAgICAgLy8g
YWxsb3dpbmcgdXMgdG8gcmVxdWVzdCB0aGUgaW50ZWdyYXRlZCBncmFwaGljcyBvbiBhIGR1YWwg
R1BVCiAgICAgLy8gc3lzdGVtLCBhbmQgbm90IGZvcmNlIHRoZSBkaXNjcmV0ZSBHUFUuCiAgICAg
Ly8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy90ZWNobm90ZXMv
dG4yMjI5L19pbmRleC5odG1sCi0jaWYgSEFWRShBUFBMRV9HUkFQSElDU19DT05UUk9MKQogICAg
IGlmIChoYXNNdXhhYmxlR1BVKCkpCiAgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFBbGxv
d09mZmxpbmVSZW5kZXJlcnMpOwogI2VuZGlmCisjZW5kaWYKIAogICAgIGlmIChhY2NlbGVyYXRl
ZCkKICAgICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQUFjY2VsZXJhdGVkKTsKQEAgLTQ2Myw2
ICs0NzMsMjkgQEAgR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKEdyYQogICAg
IENHTEVycm9yIGVyciA9IENHTENyZWF0ZUNvbnRleHQocGl4ZWxGb3JtYXRPYmosIHNoYXJlZENv
bnRleHQgPyBzaGFyZWRDb250ZXh0LT5tX2NvbnRleHRPYmogOiBudWxscHRyLCAmbV9jb250ZXh0
T2JqKTsKICAgICBHTGludCBhYm9ydE9uQmxhY2tsaXN0ID0gMDsKICAgICBDR0xTZXRQYXJhbWV0
ZXIobV9jb250ZXh0T2JqLCBrQ0dMQ1BBYm9ydE9uR1BVUmVzdGFydFN0YXR1c0JsYWNrbGlzdGVk
LCAmYWJvcnRPbkJsYWNrbGlzdCk7CisgICAgCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorICAgIGlmIChtX2Rpc3BsYXlNYXNr
ICYmIG1fY29udGV4dE9iaikgeworICAgICAgICAvLyBXaGVuIHRoZSBXZWJQcm9jZXNzIGRvZXMg
bm90IGhhdmUgYWNjZXNzIHRvIHRoZSBXaW5kb3dTZXJ2ZXIsIHRoZXJlIGlzIG5vIHdheSBmb3Ig
T3BlbkdMIHRvIHRlbGwgd2hpY2ggR1BVIGlzIGNvbm5lY3RlZCB0byBhIGRpc3BsYXkuCisgICAg
ICAgIC8vIFRvIGhlbHAgT3BlbkdMIGNob29zZSBHUFUsIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0
aGUgZnVuY3Rpb24gQ0dMU2V0VmlydHVhbFNjcmVlbi4KKyAgICAgICAgLy8gU2VlIGNvZGUgZXhh
bXBsZSBhdCBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L3RlY2hu
b3Rlcy90bjIyMjkvX2luZGV4Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAwODkyNC1D
SDEtU1VCU0VDVElPTjcKKyAgICAgICAgR0xpbnQgdmlydHVhbFNjcmVlbiA9IC0xOworICAgICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBpeGVsRm9ybWF0czsgaSsrKSB7CisgICAgICAgICAg
ICBHTGludCBzY3JlZW5Db3VudCA9IDA7CisgICAgICAgICAgICBDR0xFcnJvciBlcnJvciA9IENH
TERlc2NyaWJlUGl4ZWxGb3JtYXQocGl4ZWxGb3JtYXRPYmosIGksIGtDR0xQRkFWaXJ0dWFsU2Ny
ZWVuQ291bnQsICZzY3JlZW5Db3VudCk7CisgICAgICAgICAgICBBU1NFUlQoc2NyZWVuQ291bnQg
PT0gbnVtUGl4ZWxGb3JtYXRzKTsKKyAgICAgICAgICAgIEdMaW50IGRpc3BsYXlNYXNrID0gMDsK
KyAgICAgICAgICAgIGVycm9yID0gQ0dMRGVzY3JpYmVQaXhlbEZvcm1hdChwaXhlbEZvcm1hdE9i
aiwgaSwga0NHTFBGQURpc3BsYXlNYXNrLCAmZGlzcGxheU1hc2spOworICAgICAgICAgICAgaWYg
KGRpc3BsYXlNYXNrICYgbV9kaXNwbGF5TWFzaykgeworICAgICAgICAgICAgICAgIHZpcnR1YWxT
Y3JlZW4gPSBpOworICAgICAgICAgICAgICAgIGVycm9yID0gQ0dMU2V0VmlydHVhbFNjcmVlbiht
X2NvbnRleHRPYmosIHZpcnR1YWxTY3JlZW4pOworICAgICAgICAgICAgICAgIEFTU0VSVChlcnJv
ciA9PSBrQ0dMTm9FcnJvcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKwogICAgIENHTERlc3Ryb3lQaXhlbEZvcm1hdChw
aXhlbEZvcm1hdE9iaik7CiAgICAgCiAgICAgaWYgKGVyciAhPSBrQ0dMTm9FcnJvciB8fCAhbV9j
b250ZXh0T2JqKSB7CkBAIC03NTYsNiArNzg5LDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnNpbXVsYXRlQ29udGV4dEMKICAgICBtYW5hZ2VyKCkudXBkYXRlQWxsQ29udGV4dHMoKTsKIH0K
IAorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEzMDAKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3BsYXlNYXNrKENH
T3BlbkdMRGlzcGxheU1hc2sgZGlzcGxheU1hc2spCit7CisgICAgbV9kaXNwbGF5TWFzayA9IGRp
c3BsYXlNYXNrOworfQorI2VuZGlmCisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShHUkFQSElDU19D
T05URVhUXzNEKQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTk4OSkKKysrIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDMtMjYg
IFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFRoZSBsYXlv
dXQgdGVzdCBmYXN0L2NhbnZhcy93ZWJnbC9yZWFkLXBpeGVscy10ZXN0Lmh0bWwgaXMgdGltaW5n
IG91dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MzkyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6b3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKToKKwogMjAx
OC0wMy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbRXh0cmEgem9vbSBtb2RlXSBSZWZhY3RvciBpbnB1dCB2aWV3IGNvbnRyb2xsZXIgcHJlc2Vu
dGF0aW9uIGFuZCBkaXNtaXNzYWwgaGVscGVycwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQ2LDYgKzI2NDYs
MTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd1NjcmVlbkRpZENoYW5nZQogICAgICAgICBy
ZXR1cm47CiAKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OldpbmRvd1Nj
cmVlbkRpZENoYW5nZShkaXNwbGF5SUQpLCBtX3BhZ2VJRCk7CisKKyNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAgQ0dPcGVu
R0xEaXNwbGF5TWFzayBjdXJyZW50RGlzcGxheW1hc2sgPSBDR0Rpc3BsYXlJRFRvT3BlbkdMRGlz
cGxheU1hc2soZGlzcGxheUlEKTsKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6Ok9wZW5HTERpc3BsYXlNYXNrQ2hhbmdlZChjdXJyZW50RGlzcGxheW1hc2spLCBtX3BhZ2VJ
RCk7CisjZW5kaWYKIH0KIAogZmxvYXQgV2ViUGFnZVByb3h5OjpkZXZpY2VTY2FsZUZhY3Rvcigp
IGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNjQsNiArMTA2NCwxMCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nQXBwbGljYXRpb25NYW5pZmVzdCh1aW50NjRfdCwgY29u
c3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0PiYpOwogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMzAwCisgICAgdm9pZCBvcGVuR0xEaXNwbGF5TWFza0NoYW5nZWQodWludDMyX3QgZGlz
cGxheU1hc2spOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdl
SUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkocmV2aXNp
b24gMjI5OTc0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNTA4LDQgKzUwOCw4IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVT
VCkKICAgICBHZXRBcHBsaWNhdGlvbk1hbmlmZXN0KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQogI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAgT3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQz
Ml90IGRpc3BsYXlNYXNrKQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkocmV2aXNpb24gMjI5OTc0KQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVMb2Fk
ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dy
YXBoaWNzQ29udGV4dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQzRC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9IVE1MQ29udmVydGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5oPgpA
QCAtMTE5MCw2ICsxMTkxLDEyIEBAIHZvaWQgV2ViUGFnZTo6c2V0U2hvdWxkUGxheVRvUGxheWJh
Y2tUYXIKIH0KICNlbmRpZgogCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEzMDAKK3ZvaWQgV2ViUGFnZTo6b3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQzMl90
IGRpc3BsYXlNYXNrKQoreworICAgIEdyYXBoaWNzQ29udGV4dDNEOjpzZXRPcGVuR0xEaXNwbGF5
TWFzayhkaXNwbGF5TWFzayk7Cit9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336548</attachid>
            <date>2018-03-26 15:39:53 -0700</date>
            <delta_ts>2018-03-27 11:25:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183923-20180326153953.patch</filename>
            <type>text/plain</type>
            <size>13407</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE4LTAzLTI2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3Qg
ZmFzdC9jYW52YXMvd2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIHRpbWluZyBvdXQgYmVjYXVzZSBz
b2Z0d2FyZSByZW5kZXJpbmcgaXMgYmVpbmcgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFdpbmRvd1Nl
cnZlciBhY2Nlc3MuCisgICAgICAgIENHTENob29zZVBpeGVsRm9ybWF0IHdpbGwgZmFpbCB3aGVu
IGFuIGFjY2VsZXJhdGVkIHBpeGVsIGZvcm1hdCBpcyByZXF1ZXN0ZWQsIGFuZCB0aGUgV2luZG93
U2VydmVyCisgICAgICAgIGlzIGJsb2NrZWQsIHNpbmNlIHRoZXJlIGlzIG5vIHdheSBmb3IgT3Bl
bkdMIHRvIGRlY2lkZSB3aGljaCBHUFUgaXMgY29ubmVjdGVkIHRvIHRoZSBkaXNwbGF5LCB0aGVu
LgorICAgICAgICBUaGlzIGlzIG9ubHkgdGhlIGNhc2Ugd2hlbiB0aGUgYXR0cmlidXRlcyBmb3Ig
Q0dMQ2hvb3NlUGl4ZWxGb3JtYXQgZG8gbm90IGluY2x1ZGUgdGhlIGF0dHJpYnV0ZQorICAgICAg
ICAna0NHTFBGQUFsbG93T2ZmbGluZVJlbmRlcmVycycuIFdoZW4gV2luZG93U2VydmVyIGFjY2Vz
cyBpcyBibG9ja2VkLCBPcGVuR0wgd2lsbCBjb25zaWRlciBhbGwKKyAgICAgICAgR1BVcyBvciBy
ZW5kZXJlcnMgYXMgb2ZmbGluZSwgd2hpY2ggbWVhbnMgb2ZmbGluZSByZW5kZXJlcnMgaGFzIHRv
IGJlIGFsbG93ZWQgaW4gdGhhdCBjYXNlLgorICAgICAgICBUaGUgZnVuY3Rpb24gQ0dMU2V0Vmly
dHVhbFNjcmVlbiBpcyB1c2VkIHRvIGhlbHAgT3BlbkdMIHNlbGVjdCBHUFUuIFRoZSBjb21wdXRh
dGlvbiBvZiB0aGUgdmlydHVhbAorICAgICAgICBzY3JlZW4gaXMgYmFzZWQgb24gdGhlIE9wZW5H
TCBkaXNwbGF5IG1hc2ssIHdoaWNoIGlzIGJlaW5nIHNlbnQgZnJvbSB0aGUgVUkgcHJvY2Vzcywg
c2luY2UgdGhlCisgICAgICAgIFdlYkNvbnRlbnQgcHJvY2VzcyB3aWxsIG5vdCBiZSBhYmxlIHRv
IGluZmVyIHRoZSBkaXNwbGF5IG1hc2sgd2hlbiB0aGUgV2luZG93U2VydmVyIGlzIGJsb2NrZWQu
CisgICAgICAgIFNlZSBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50
L3RlY2hub3Rlcy90bjIyMjkvX2luZGV4Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAw
ODkyNC1DSDEtU1VCU0VDVElPTjcKKyAgICAgICAgZm9yIGRldGFpbHMgb24gaG93IHRoZSB2aXJ0
dWFsIHNjcmVlbiBpcyBmb3VuZCBmcm9tIHRoZSBPcGVuR0wgZGlzcGxheSBtYXNrLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRQ
aXhlbEZvcm1hdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhp
Y3NDb250ZXh0M0QpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnNldE9w
ZW5HTERpc3BsYXlNYXNrKToKKwogMjAxOC0wMy0yNiAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBsb2FkIGNvcnJlY3QgYnVmZmVyIGlu
IEJpdG1hcFRleHR1cmVHTDo6dXBkYXRlQ29udGVudHMoKQpJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjI5OTc0
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjIzLDcgKzEyMjMsNyBAQAogCQk0NkVGQUYxMjFFNUZCOUYxMDBF
N0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RUZBRjEwMUU1RkI5RTEwMEU3RjM0QiAvKiBMb3dQb3dl
ck1vZGVOb3RpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQ2RkNCNjE4MUE3MDgyMEUwMEM1QTIxRSAvKiBEaWFnbm9zdGljTG9nZ2luZ0tl
eXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMzdC
Mzc1MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTA3MDdFNjEyMTlDMDQz
MDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkwNzA3RTQxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xF
V2ViS2l0QnJpZGdlLmNwcCAqLzsgfTsKLQkJNDkwNzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFO
R0xFV2ViS2l0QnJpZGdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0OTA3MDdFNTEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAq
LzsgfTsKKwkJNDkwNzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEy
MTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTI5MUU0QjEzNDE3MkM4MDBFNzUzREUg
LyogSW1hZ2VSZW5kZXJpbmdNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OTI5MUU0QTEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdN
b2RlLmggKi87IH07CiAJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5
ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ5M0U1RTA4MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTQ1QkZENDEz
Q0Y4MDkwMDBDQzNCMzggLyogVHJhbnNmb3JtU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5NDVCRkQyMTNDRjgwOTAwMENDM0IzOCAvKiBUcmFu
c2Zvcm1TdGF0ZS5oICovOyB9OwpAQCAtMTI3MCw3ICsxMjcwLDcgQEAKIAkJNDlDN0I5RTMxMDQy
RDMyRjAwMDlENDQ3IC8qIFdlYkdMU2hhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlDMzEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xTaGFk
ZXIuaCAqLzsgfTsKIAkJNDlDN0I5RTUxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlD
NTEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xUZXh0dXJlLmNwcCAqLzsgfTsKIAkJNDlDN0I5RTYx
MDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5QzYxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdM
VGV4dHVyZS5oICovOyB9OwotCQk0OUM3QjlGQzEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3ND
b250ZXh0M0QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ5QzdCOUZCMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oICovOyB9Owor
CQk0OUM3QjlGQzEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUw
MDA5RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5RDVEQzJDMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRy
aXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDlENURDMjgwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNm
b3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3Jt
T3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OUQ1REMyQTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
OUU5MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUI0MEVGODZENDcw
MDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgJKHJldmlzaW9uIDIyOTk3NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyODIsNiArMTI4MiwxMCBAQCBwdWJsaWM6CiAgICAgR0MzRGVu
dW0gY3VycmVudEJvdW5kVGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5jdXJyZW50Qm91
bmRUYXJnZXQoKTsgfQogICAgIHVuc2lnbmVkIHRleHR1cmVTZWVkKEdDM0R1aW50IHRleHR1cmUp
IHsgcmV0dXJuIG1fc3RhdGUudGV4dHVyZVNlZWRDb3VudC5jb3VudCh0ZXh0dXJlKTsgfQogCisj
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTMwMAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldE9wZW5HTERpc3BsYXlNYXNr
KENHT3BlbkdMRGlzcGxheU1hc2spOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgR3JhcGhpY3ND
b250ZXh0M0QoR3JhcGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzLCBIb3N0V2luZG93KiwgUmVuZGVy
U3R5bGUgPSBSZW5kZXJPZmZzY3JlZW4sIEdyYXBoaWNzQ29udGV4dDNEKiBzaGFyZWRDb250ZXh0
ID0gbnVsbHB0cik7CiAKQEAgLTE0OTMsNiArMTQ5Nyw5IEBAIHByaXZhdGU6CiAgICAgUGxhdGZv
cm0zRE9iamVjdCBtX3ZhbyB7IDAgfTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorICAgIHN0YXRpYyBDR09w
ZW5HTERpc3BsYXlNYXNrIG1fZGlzcGxheU1hc2s7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbQkocmV2aXNp
b24gMjI5OTc0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3Jh
cGhpY3NDb250ZXh0M0RDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgc3RhdHVzQ2hlY2tU
aHJlc2hvbGQgPSA1OwogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTMwMAorQ0dPcGVuR0xEaXNwbGF5TWFzayBHcmFwaGljc0NvbnRl
eHQzRDo6bV9kaXNwbGF5TWFzayA9IDA7CisjZW5kaWYKKwogI2lmIEhBVkUoQVBQTEVfR1JBUEhJ
Q1NfQ09OVFJPTCkKIAogZW51bSB7CkBAIC0zMjUsNiArMzI5LDEzIEBAIHN0YXRpYyB2b2lkIHNl
dFBpeGVsRm9ybWF0KFZlY3RvcjxDR0xQaXgKICAgICBhdHRyaWJzLmFwcGVuZChrQ0dMUEZBRGVw
dGhTaXplKTsKICAgICBhdHRyaWJzLmFwcGVuZChzdGF0aWNfY2FzdDxDR0xQaXhlbEZvcm1hdEF0
dHJpYnV0ZT4oZGVwdGhCaXRzKSk7CiAKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAgLy8gV2hlbiBXaW5kb3dTZXJ2ZXIg
YWNjZXNzIGlzIGJsb2NrZWQgaW4gdGhlIFdlYlByb2Nlc3MsIHRoZXJlIGlzIG5vIHdheQorICAg
IC8vIGZvciBPcGVuR0wgdG8gZGVjaWRlIHdoaWNoIEdQVSBpcyBjb25uZWN0ZWQgdG8gYSBkaXNw
bGF5IChvbmxpbmUvb2ZmbGluZSkuCisgICAgLy8gT3BlbkdMIHdpbGwgdGhlbiBjb25zaWRlciBh
bGwgR1BVcywgb3IgcmVuZGVyZXJzLCBhcyBvZmZsaW5lLCB3aGljaCBtZWFucworICAgIC8vIGFs
bCBvZmZsaW5lIHJlbmRlcmVycyBuZWVkIHRvIGJlIGNvbnNpZGVyZWQgd2hlbiBmaW5kaW5nIGEg
cGl4ZWwgZm9ybWF0LgorICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFBbGxvd09mZmxpbmVSZW5k
ZXJlcnMpOworI2Vsc2UKICAgICAvLyBUaGlzIGF0dHJpYnV0ZSwgd2hpbGUgbWVudGlvbmluZyBv
ZmZsaW5lIHJlbmRlcmVycywgaXMgYWN0dWFsbHkKICAgICAvLyBhbGxvd2luZyB1cyB0byByZXF1
ZXN0IHRoZSBpbnRlZ3JhdGVkIGdyYXBoaWNzIG9uIGEgZHVhbCBHUFUKICAgICAvLyBzeXN0ZW0s
IGFuZCBub3QgZm9yY2UgdGhlIGRpc2NyZXRlIEdQVS4KQEAgLTMzMyw2ICszNDQsNyBAQCBzdGF0
aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8Q0dMUGl4CiAgICAgaWYgKGhhc011eGFibGVH
UFUoKSkKICAgICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQUFsbG93T2ZmbGluZVJlbmRlcmVy
cyk7CiAjZW5kaWYKKyNlbmRpZgogCiAgICAgaWYgKGFjY2VsZXJhdGVkKQogICAgICAgICBhdHRy
aWJzLmFwcGVuZChrQ0dMUEZBQWNjZWxlcmF0ZWQpOwpAQCAtNDYzLDYgKzQ3NSwyOCBAQCBHcmFw
aGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QoR3JhCiAgICAgQ0dMRXJyb3IgZXJyID0g
Q0dMQ3JlYXRlQ29udGV4dChwaXhlbEZvcm1hdE9iaiwgc2hhcmVkQ29udGV4dCA/IHNoYXJlZENv
bnRleHQtPm1fY29udGV4dE9iaiA6IG51bGxwdHIsICZtX2NvbnRleHRPYmopOwogICAgIEdMaW50
IGFib3J0T25CbGFja2xpc3QgPSAwOwogICAgIENHTFNldFBhcmFtZXRlcihtX2NvbnRleHRPYmos
IGtDR0xDUEFib3J0T25HUFVSZXN0YXJ0U3RhdHVzQmxhY2tsaXN0ZWQsICZhYm9ydE9uQmxhY2ts
aXN0KTsKKyAgICAKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxMzAwCisgICAgaWYgKG1fZGlzcGxheU1hc2sgJiYgbV9jb250ZXh0T2Jq
KSB7CisgICAgICAgIC8vIFdoZW4gdGhlIFdlYlByb2Nlc3MgZG9lcyBub3QgaGF2ZSBhY2Nlc3Mg
dG8gdGhlIFdpbmRvd1NlcnZlciwgdGhlcmUgaXMgbm8gd2F5IGZvciBPcGVuR0wgdG8gdGVsbCB3
aGljaCBHUFUgaXMgY29ubmVjdGVkIHRvIGEgZGlzcGxheS4KKyAgICAgICAgLy8gVG8gaGVscCBP
cGVuR0wgY2hvb3NlIEdQVSwgaXQgaXMgcG9zc2libGUgdG8gdXNlIHRoZSBmdW5jdGlvbiBDR0xT
ZXRWaXJ0dWFsU2NyZWVuLgorICAgICAgICAvLyBTZWUgY29kZSBleGFtcGxlIGF0IGh0dHBzOi8v
ZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2NvbnRlbnQvdGVjaG5vdGVzL3RuMjIyOS9faW5k
ZXguaHRtbCMvL2FwcGxlX3JlZi9kb2MvdWlkL0RUUzQwMDA4OTI0LUNIMS1TVUJTRUNUSU9ONwor
ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBpeGVsRm9ybWF0czsgaSsrKSB7CisgICAg
ICAgICAgICBHTGludCBzY3JlZW5Db3VudCA9IDA7CisgICAgICAgICAgICBDR0xFcnJvciBlcnJv
ciA9IENHTERlc2NyaWJlUGl4ZWxGb3JtYXQocGl4ZWxGb3JtYXRPYmosIGksIGtDR0xQRkFWaXJ0
dWFsU2NyZWVuQ291bnQsICZzY3JlZW5Db3VudCk7CisgICAgICAgICAgICBBU1NFUlQoc2NyZWVu
Q291bnQgPT0gbnVtUGl4ZWxGb3JtYXRzKTsKKyAgICAgICAgICAgIEdMaW50IGRpc3BsYXlNYXNr
ID0gMDsKKyAgICAgICAgICAgIGVycm9yID0gQ0dMRGVzY3JpYmVQaXhlbEZvcm1hdChwaXhlbEZv
cm1hdE9iaiwgaSwga0NHTFBGQURpc3BsYXlNYXNrLCAmZGlzcGxheU1hc2spOworICAgICAgICAg
ICAgaWYgKGRpc3BsYXlNYXNrICYgbV9kaXNwbGF5TWFzaykgeworICAgICAgICAgICAgICAgIEdM
aW50IHZpcnR1YWxTY3JlZW4gPSBpOworICAgICAgICAgICAgICAgIGVycm9yID0gQ0dMU2V0Vmly
dHVhbFNjcmVlbihtX2NvbnRleHRPYmosIHZpcnR1YWxTY3JlZW4pOworICAgICAgICAgICAgICAg
IEFTU0VSVChlcnJvciA9PSBrQ0dMTm9FcnJvcik7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKwogICAgIENHTERlc3Ryb3lQ
aXhlbEZvcm1hdChwaXhlbEZvcm1hdE9iaik7CiAgICAgCiAgICAgaWYgKGVyciAhPSBrQ0dMTm9F
cnJvciB8fCAhbV9jb250ZXh0T2JqKSB7CkBAIC03NTYsNiArNzkwLDEzIEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnNpbXVsYXRlQ29udGV4dEMKICAgICBtYW5hZ2VyKCkudXBkYXRlQWxsQ29u
dGV4dHMoKTsKIH0KIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDAKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERp
c3BsYXlNYXNrKENHT3BlbkdMRGlzcGxheU1hc2sgZGlzcGxheU1hc2spCit7CisgICAgbV9kaXNw
bGF5TWFzayA9IGRpc3BsYXlNYXNrOworfQorI2VuZGlmCisKIH0KIAogI2VuZGlmIC8vIEVOQUJM
RShHUkFQSElDU19DT05URVhUXzNEKQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTk4OSkKKysr
IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTgtMDMtMjYgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFRoZSBsYXlvdXQgdGVzdCBmYXN0L2NhbnZhcy93ZWJnbC9yZWFkLXBpeGVscy10ZXN0Lmh0
bWwgaXMgdGltaW5nIG91dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MzkyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFn
ZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6b3BlbkdMRGlzcGxheU1hc2tDaGFu
Z2VkKToKKwogMjAxOC0wMy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBbRXh0cmEgem9vbSBtb2RlXSBSZWZhY3RvciBpbnB1dCB2aWV3IGNvbnRy
b2xsZXIgcHJlc2VudGF0aW9uIGFuZCBkaXNtaXNzYWwgaGVscGVycwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NjQ2LDYgKzI2NDYsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd1NjcmVlbkRpZENoYW5n
ZQogICAgICAgICByZXR1cm47CiAKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OldpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQpLCBtX3BhZ2VJRCk7CisKKyNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAw
CisgICAgQ0dPcGVuR0xEaXNwbGF5TWFzayBjdXJyZW50RGlzcGxheW1hc2sgPSBDR0Rpc3BsYXlJ
RFRvT3BlbkdMRGlzcGxheU1hc2soZGlzcGxheUlEKTsKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6Ok9wZW5HTERpc3BsYXlNYXNrQ2hhbmdlZChjdXJyZW50RGlzcGxheW1h
c2spLCBtX3BhZ2VJRCk7CisjZW5kaWYKIH0KIAogZmxvYXQgV2ViUGFnZVByb3h5OjpkZXZpY2VT
Y2FsZUZhY3RvcigpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNjQsNiArMTA2NCwxMCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nQXBwbGljYXRpb25NYW5pZmVzdCh1
aW50NjRfdCwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0
PiYpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAgdm9pZCBvcGVuR0xEaXNwbGF5TWFza0NoYW5nZWQo
dWludDMyX3QgZGlzcGxheU1hc2spOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1
aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbgkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNTA4LDQgKzUwOCw4IEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogI2lmIEVOQUJMRShBUFBMSUNB
VElPTl9NQU5JRkVTVCkKICAgICBHZXRBcHBsaWNhdGlvbk1hbmlmZXN0KFdlYktpdDo6Q2FsbGJh
Y2tJRCBjYWxsYmFja0lEKQogI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAgT3BlbkdMRGlzcGxheU1hc2tD
aGFuZ2VkKHVpbnQzMl90IGRpc3BsYXlNYXNrKQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkocmV2aXNp
b24gMjI5OTc0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBh
Z2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAKICNpbXBvcnQgPFdlYkNv
cmUvRnJhbWVMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0Nv
bnRleHQzRC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IVE1MQ29udmVydGVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVz
dFJlc3VsdC5oPgpAQCAtMTE5MCw2ICsxMTkxLDEyIEBAIHZvaWQgV2ViUGFnZTo6c2V0U2hvdWxk
UGxheVRvUGxheWJhY2tUYXIKIH0KICNlbmRpZgogCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDAKK3ZvaWQgV2ViUGFnZTo6b3BlbkdMRGlzcGxheU1hc2tDaGFu
Z2VkKHVpbnQzMl90IGRpc3BsYXlNYXNrKQoreworICAgIEdyYXBoaWNzQ29udGV4dDNEOjpzZXRP
cGVuR0xEaXNwbGF5TWFzayhkaXNwbGF5TWFzayk7Cit9CisjZW5kaWYKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336600</attachid>
            <date>2018-03-27 11:25:48 -0700</date>
            <delta_ts>2018-03-27 12:08:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183923-20180327112548.patch</filename>
            <type>text/plain</type>
            <size>14737</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjk5OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAzLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMv
d2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBjb21waWxlIGd1YXJkIGZvciBibG9ja2luZyBvZiB0aGUgV2luZG93
U2VydmVyIGluIHRoZSBXZWJQcm9jZXNzLgorCisgICAgICAgICogd3RmL0ZlYXR1cmVEZWZpbmVz
Lmg6CisKIDIwMTgtMDMtMjYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGFuZCBhZG9wdCBIQVZFKENPUkVfQU5JTUFUSU9OX1JFTkRFUl9TRVJW
RVIpCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw2ICsy
MzEsMTAgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0LgogI2RlZmlu
ZSBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTIDEKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5B
QkxFX1dFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorI2RlZmluZSBFTkFCTEVfV0VC
UFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcgMQorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFU
Rk9STShNQUMpICovCiAKICNpZiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDMyIEBACisyMDE4LTAzLTI2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMvd2ViZ2wvcmVh
ZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSB0ZXN0IGlzIHRpbWluZyBvdXQgYmVjYXVzZSBzb2Z0d2FyZSByZW5kZXJpbmcgaXMg
YmVpbmcgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3MuCisgICAgICAg
IENHTENob29zZVBpeGVsRm9ybWF0IHdpbGwgZmFpbCB3aGVuIGFuIGFjY2VsZXJhdGVkIHBpeGVs
IGZvcm1hdCBpcyByZXF1ZXN0ZWQsIGFuZCB0aGUgV2luZG93U2VydmVyCisgICAgICAgIGlzIGJs
b2NrZWQsIHNpbmNlIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIGRlY2lkZSB3aGljaCBH
UFUgaXMgY29ubmVjdGVkIHRvIHRoZSBkaXNwbGF5LCB0aGVuLgorICAgICAgICBUaGlzIGlzIG9u
bHkgdGhlIGNhc2Ugd2hlbiB0aGUgYXR0cmlidXRlcyBmb3IgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQg
ZG8gbm90IGluY2x1ZGUgdGhlIGF0dHJpYnV0ZQorICAgICAgICAna0NHTFBGQUFsbG93T2ZmbGlu
ZVJlbmRlcmVycycuIFdoZW4gV2luZG93U2VydmVyIGFjY2VzcyBpcyBibG9ja2VkLCBPcGVuR0wg
d2lsbCBjb25zaWRlciBhbGwKKyAgICAgICAgR1BVcyBvciByZW5kZXJlcnMgYXMgb2ZmbGluZSwg
d2hpY2ggbWVhbnMgb2ZmbGluZSByZW5kZXJlcnMgaGFzIHRvIGJlIGFsbG93ZWQgaW4gdGhhdCBj
YXNlLgorICAgICAgICBUaGUgZnVuY3Rpb24gQ0dMU2V0VmlydHVhbFNjcmVlbiBpcyB1c2VkIHRv
IGhlbHAgT3BlbkdMIHNlbGVjdCBHUFUuIFRoZSBjb21wdXRhdGlvbiBvZiB0aGUgdmlydHVhbAor
ICAgICAgICBzY3JlZW4gaXMgYmFzZWQgb24gdGhlIE9wZW5HTCBkaXNwbGF5IG1hc2ssIHdoaWNo
IGlzIGJlaW5nIHNlbnQgZnJvbSB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhlCisgICAgICAgIFdl
YkNvbnRlbnQgcHJvY2VzcyB3aWxsIG5vdCBiZSBhYmxlIHRvIGluZmVyIHRoZSBkaXNwbGF5IG1h
c2sgd2hlbiB0aGUgV2luZG93U2VydmVyIGlzIGJsb2NrZWQuCisgICAgICAgIFNlZSBodHRwczov
L2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L3RlY2hub3Rlcy90bjIyMjkvX2lu
ZGV4Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAwODkyNC1DSDEtU1VCU0VDVElPTjcK
KyAgICAgICAgZm9yIGRldGFpbHMgb24gaG93IHRoZSB2aXJ0dWFsIHNjcmVlbiBpcyBmb3VuZCBm
cm9tIHRoZSBPcGVuR0wgZGlzcGxheSBtYXNrLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4
dDNEQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRQaXhlbEZvcm1hdCk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3BsYXlNYXNrKToKKwog
MjAxOC0wMy0yNiAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW1dQRV0gVXBsb2FkIGNvcnJlY3QgYnVmZmVyIGluIEJpdG1hcFRleHR1cmVHTDo6dXBk
YXRlQ29udGVudHMoKQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIz
LDcgKzEyMjMsNyBAQAogCQk0NkVGQUYxMjFFNUZCOUYxMDBFN0YzNEIgLyogTG93UG93ZXJNb2Rl
Tm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2RUZBRjEwMUU1RkI5RTEwMEU3RjM0QiAvKiBMb3dQb3dlck1vZGVOb3RpZmllci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RkNCNjE4MUE3
MDgyMEUwMEM1QTIxRSAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMzdCMzc1MTVDMUE3RTEwMDZEQzg5OCAv
KiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0OTA3MDdFNjEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJL
aXRCcmlkZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDkwNzA3RTQxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCAqLzsg
fTsKLQkJNDkwNzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEyMTlD
MDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAqLzsgfTsKKwkJNDkwNzA3RTcxMjE5
QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEyMTlDMDQzMDBEOTBFNTEgLyogQU5H
TEVXZWJLaXRCcmlkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0OTI5MUU0QjEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdNb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTI5MUU0
QTEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdNb2RlLmggKi87IH07CiAJCTQ5M0U1
RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5M0U1RTA4MTJENjQyMDUwMDAy
MDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTQ1QkZENDEzQ0Y4MDkwMDBDQzNCMzggLyogVHJh
bnNmb3JtU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5NDVCRkQyMTNDRjgwOTAwMENDM0IzOCAvKiBUcmFuc2Zvcm1TdGF0ZS5oICovOyB9OwpA
QCAtMTI3MCw3ICsxMjcwLDcgQEAKIAkJNDlDN0I5RTMxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdM
U2hhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
OUM3QjlDMzEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xTaGFkZXIuaCAqLzsgfTsKIAkJNDlDN0I5
RTUxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlDNTEwNDJEMzJGMDAwOUQ0NDcgLyog
V2ViR0xUZXh0dXJlLmNwcCAqLzsgfTsKIAkJNDlDN0I5RTYxMDQyRDMyRjAwMDlENDQ3IC8qIFdl
YkdMVGV4dHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDlDN0I5QzYxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5oICovOyB9OwotCQk0
OUM3QjlGQzEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUwMDA5
RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oICovOyB9OworCQk0OUM3QjlGQzEwNDJEMzY1MDAw
OUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGljc0Nv
bnRleHQzRC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQ5RDVEQzJDMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlENURD
MjgwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlENURDMkUwRjQy
M0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUQ1REMyQTBGNDIzQTczMDA4
RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUU5MTFDNDBFRjg2RDQ3MDA5RDBD
QUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUI0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgJKHdvcmtpbmcgY29weSkKQEAgLTEy
ODIsNiArMTI4MiwxMCBAQCBwdWJsaWM6CiAgICAgR0MzRGVudW0gY3VycmVudEJvdW5kVGFyZ2V0
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5jdXJyZW50Qm91bmRUYXJnZXQoKTsgfQogICAgIHVu
c2lnbmVkIHRleHR1cmVTZWVkKEdDM0R1aW50IHRleHR1cmUpIHsgcmV0dXJuIG1fc3RhdGUudGV4
dHVyZVNlZWRDb3VudC5jb3VudCh0ZXh0dXJlKTsgfQogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBF
TkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgc2V0T3BlbkdMRGlzcGxheU1hc2soQ0dPcGVuR0xEaXNwbGF5TWFzayk7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBHcmFwaGljc0NvbnRleHQzRChHcmFwaGljc0NvbnRl
eHQzREF0dHJpYnV0ZXMsIEhvc3RXaW5kb3cqLCBSZW5kZXJTdHlsZSA9IFJlbmRlck9mZnNjcmVl
biwgR3JhcGhpY3NDb250ZXh0M0QqIHNoYXJlZENvbnRleHQgPSBudWxscHRyKTsKIApAQCAtMTQ5
Myw2ICsxNDk3LDkgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybTNET2JqZWN0IG1fdmFvIHsgMCB9
OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRP
V1NFUlZFUl9CTE9DS0lORykKKyAgICBzdGF0aWMgQ0dPcGVuR0xEaXNwbGF5TWFzayBtX2Rpc3Bs
YXlNYXNrOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0JKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIGNvbnN0IHVuc2lnbmVkIHN0YXR1c0NoZWNrVGhyZXNob2xkID0gNTsKIAorI2lmIFBM
QVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQor
Q0dPcGVuR0xEaXNwbGF5TWFzayBHcmFwaGljc0NvbnRleHQzRDo6bV9kaXNwbGF5TWFzayA9IDA7
CisjZW5kaWYKKwogI2lmIEhBVkUoQVBQTEVfR1JBUEhJQ1NfQ09OVFJPTCkKIAogZW51bSB7CkBA
IC0zMjUsMTQgKzMyOSwyOCBAQCBzdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8Q0dM
UGl4CiAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQURlcHRoU2l6ZSk7CiAgICAgYXR0cmlicy5h
cHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KGRlcHRoQml0cykpOwog
CisgICAgYm9vbCBhbGxvd09mZmxpbmVSZW5kZXJlcnMgPSBmYWxzZTsKKworI2lmIFBMQVRGT1JN
KE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorICAgIC8v
IFdoZW4gV2luZG93U2VydmVyIGFjY2VzcyBpcyBibG9ja2VkIGluIHRoZSBXZWJQcm9jZXNzLCB0
aGVyZSBpcyBubyB3YXkKKyAgICAvLyBmb3IgT3BlbkdMIHRvIGRlY2lkZSB3aGljaCBHUFUgaXMg
Y29ubmVjdGVkIHRvIGEgZGlzcGxheSAob25saW5lL29mZmxpbmUpLgorICAgIC8vIE9wZW5HTCB3
aWxsIHRoZW4gY29uc2lkZXIgYWxsIEdQVXMsIG9yIHJlbmRlcmVycywgYXMgb2ZmbGluZSwgd2hp
Y2ggbWVhbnMKKyAgICAvLyBhbGwgb2ZmbGluZSByZW5kZXJlcnMgbmVlZCB0byBiZSBjb25zaWRl
cmVkIHdoZW4gZmluZGluZyBhIHBpeGVsIGZvcm1hdC4KKyAgICBzdGF0aWMgYm9vbCBoYXNXaW5k
b3dTZXJ2ZXJDb25uZWN0aW9uID0gQ0dTTWFpbkNvbm5lY3Rpb25JRCgpOworICAgIGlmICghaGFz
V2luZG93U2VydmVyQ29ubmVjdGlvbikKKyAgICAgICAgYWxsb3dPZmZsaW5lUmVuZGVyZXJzID0g
dHJ1ZTsKKyNlbmRpZgorCisjaWYgSEFWRShBUFBMRV9HUkFQSElDU19DT05UUk9MKQorICAgIGFs
bG93T2ZmbGluZVJlbmRlcmVycyB8PSBoYXNNdXhhYmxlR1BVKCk7CisjZW5kaWYKKwogICAgIC8v
IFRoaXMgYXR0cmlidXRlLCB3aGlsZSBtZW50aW9uaW5nIG9mZmxpbmUgcmVuZGVyZXJzLCBpcyBh
Y3R1YWxseQogICAgIC8vIGFsbG93aW5nIHVzIHRvIHJlcXVlc3QgdGhlIGludGVncmF0ZWQgZ3Jh
cGhpY3Mgb24gYSBkdWFsIEdQVQogICAgIC8vIHN5c3RlbSwgYW5kIG5vdCBmb3JjZSB0aGUgZGlz
Y3JldGUgR1BVLgogICAgIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFy
eS9tYWMvdGVjaG5vdGVzL3RuMjIyOS9faW5kZXguaHRtbAotI2lmIEhBVkUoQVBQTEVfR1JBUEhJ
Q1NfQ09OVFJPTCkKLSAgICBpZiAoaGFzTXV4YWJsZUdQVSgpKQorICAgIGlmIChhbGxvd09mZmxp
bmVSZW5kZXJlcnMpCiAgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFBbGxvd09mZmxpbmVS
ZW5kZXJlcnMpOwotI2VuZGlmCiAKICAgICBpZiAoYWNjZWxlcmF0ZWQpCiAgICAgICAgIGF0dHJp
YnMuYXBwZW5kKGtDR0xQRkFBY2NlbGVyYXRlZCk7CkBAIC00NjMsNiArNDgxLDI1IEBAIEdyYXBo
aWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmEKICAgICBDR0xFcnJvciBlcnIgPSBD
R0xDcmVhdGVDb250ZXh0KHBpeGVsRm9ybWF0T2JqLCBzaGFyZWRDb250ZXh0ID8gc2hhcmVkQ29u
dGV4dC0+bV9jb250ZXh0T2JqIDogbnVsbHB0ciwgJm1fY29udGV4dE9iaik7CiAgICAgR0xpbnQg
YWJvcnRPbkJsYWNrbGlzdCA9IDA7CiAgICAgQ0dMU2V0UGFyYW1ldGVyKG1fY29udGV4dE9iaiwg
a0NHTENQQWJvcnRPbkdQVVJlc3RhcnRTdGF0dXNCbGFja2xpc3RlZCwgJmFib3J0T25CbGFja2xp
c3QpOworICAgIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9X
U0VSVkVSX0JMT0NLSU5HKQorICAgIGlmIChtX2Rpc3BsYXlNYXNrICYmIG1fY29udGV4dE9iaikg
eworICAgICAgICAvLyBXaGVuIHRoZSBXZWJQcm9jZXNzIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRv
IHRoZSBXaW5kb3dTZXJ2ZXIsIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIHRlbGwgd2hp
Y2ggR1BVIGlzIGNvbm5lY3RlZCB0byBhIGRpc3BsYXkuCisgICAgICAgIC8vIFRvIGhlbHAgT3Bl
bkdMIGNob29zZSBHUFUsIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgZnVuY3Rpb24gQ0dMU2V0
VmlydHVhbFNjcmVlbi4KKyAgICAgICAgLy8gU2VlIGNvZGUgZXhhbXBsZSBhdCBodHRwczovL2Rl
dmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L3RlY2hub3Rlcy90bjIyMjkvX2luZGV4
Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAwODkyNC1DSDEtU1VCU0VDVElPTjcKKyAg
ICAgICAgZm9yIChpbnQgdmlydHVhbFNjcmVlbiA9IDA7IHZpcnR1YWxTY3JlZW4gPCBudW1QaXhl
bEZvcm1hdHM7IHZpcnR1YWxTY3JlZW4rKykgeworICAgICAgICAgICAgR0xpbnQgZGlzcGxheU1h
c2sgPSAwOworICAgICAgICAgICAgQ0dMRXJyb3IgZXJyb3IgPSBDR0xEZXNjcmliZVBpeGVsRm9y
bWF0KHBpeGVsRm9ybWF0T2JqLCB2aXJ0dWFsU2NyZWVuLCBrQ0dMUEZBRGlzcGxheU1hc2ssICZk
aXNwbGF5TWFzayk7CisgICAgICAgICAgICBBU1NFUlQoZXJyb3IgPT0ga0NHTE5vRXJyb3IpOwor
ICAgICAgICAgICAgaWYgKGRpc3BsYXlNYXNrICYgbV9kaXNwbGF5TWFzaykgeworICAgICAgICAg
ICAgICAgIGVycm9yID0gQ0dMU2V0VmlydHVhbFNjcmVlbihtX2NvbnRleHRPYmosIHZpcnR1YWxT
Y3JlZW4pOworICAgICAgICAgICAgICAgIEFTU0VSVChlcnJvciA9PSBrQ0dMTm9FcnJvcik7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cisj
ZW5kaWYKKwogICAgIENHTERlc3Ryb3lQaXhlbEZvcm1hdChwaXhlbEZvcm1hdE9iaik7CiAgICAg
CiAgICAgaWYgKGVyciAhPSBrQ0dMTm9FcnJvciB8fCAhbV9jb250ZXh0T2JqKSB7CkBAIC03NTYs
NiArNzkzLDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnNpbXVsYXRlQ29udGV4dEMKICAg
ICBtYW5hZ2VyKCkudXBkYXRlQWxsQ29udGV4dHMoKTsKIH0KIAorI2lmIFBMQVRGT1JNKE1BQykg
JiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6c2V0T3BlbkdMRGlzcGxheU1hc2soQ0dPcGVuR0xEaXNwbGF5TWFzayBkaXNw
bGF5TWFzaykKK3sKKyAgICBtX2Rpc3BsYXlNYXNrID0gZGlzcGxheU1hc2s7Cit9CisjZW5kaWYK
KwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdSQVBISUNTX0NPTlRFWFRfM0QpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwkocmV2aXNpb24gMjI5OTg5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0wMy0yNiAgUGVyIEFybmUgVm9sbGFuICA8cHZv
bGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIGxheW91dCB0ZXN0IGZhc3QvY2FudmFzL3dl
YmdsL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBpcyB0aW1pbmcgb3V0LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzOTIzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp3aW5kb3dTY3JlZW5EaWRDaGFu
Z2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpvcGVuR0xEaXNwbGF5TWFza0NoYW5nZWQpOgorCiAyMDE4LTAzLTI2ICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtFeHRyYSB6b29tIG1vZGVdIFJl
ZmFjdG9yIGlucHV0IHZpZXcgY29udHJvbGxlciBwcmVzZW50YXRpb24gYW5kIGRpc21pc3NhbCBo
ZWxwZXJzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJl
dmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI2NDYsNiArMjY0NiwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6V2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJ
RCksIG1fcGFnZUlEKTsKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1Nf
V0lORE9XU0VSVkVSX0JMT0NLSU5HKQorICAgIENHT3BlbkdMRGlzcGxheU1hc2sgY3VycmVudERp
c3BsYXltYXNrID0gQ0dEaXNwbGF5SURUb09wZW5HTERpc3BsYXlNYXNrKGRpc3BsYXlJRCk7Cisg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpPcGVuR0xEaXNwbGF5TWFza0No
YW5nZWQoY3VycmVudERpc3BsYXltYXNrKSwgbV9wYWdlSUQpOworI2VuZGlmCiB9CiAKIGZsb2F0
IFdlYlBhZ2VQcm94eTo6ZGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdApJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMjI5OTc0KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDY0LDYgKzEwNjQsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRmluaXNoTG9hZGlu
Z0FwcGxpY2F0aW9uTWFuaWZlc3QodWludDY0X3QsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6QXBwbGljYXRpb25NYW5pZmVzdD4mKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKSAm
JiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAgdm9pZCBvcGVu
R0xEaXNwbGF5TWFza0NoYW5nZWQodWludDMyX3QgZGlzcGxheU1hc2spOworI2VuZGlmCisKIHBy
aXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMmJik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5
KQpAQCAtNTA4LDQgKzUwOCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIg
ewogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKICAgICBHZXRBcHBsaWNhdGlvbk1h
bmlmZXN0KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogI2VuZGlmCisKKyNpZiBQTEFU
Rk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKKyAg
ICBPcGVuR0xEaXNwbGF5TWFza0NoYW5nZWQodWludDMyX3QgZGlzcGxheU1hc2spCisjZW5kaWYK
IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJQYWdlTWFjLm1tCShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYs
NyBAQAogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZUxvYWRlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9G
cmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CisjaW1wb3J0
IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dDNELmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxDb252
ZXJ0ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9IaXRUZXN0UmVzdWx0Lmg+CkBAIC0xMTkwLDYgKzExOTEsMTIgQEAgdm9p
ZCBXZWJQYWdlOjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcgogfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCit2b2lkIFdlYlBhZ2U6Om9w
ZW5HTERpc3BsYXlNYXNrQ2hhbmdlZCh1aW50MzJfdCBkaXNwbGF5TWFzaykKK3sKKyAgICBHcmFw
aGljc0NvbnRleHQzRDo6c2V0T3BlbkdMRGlzcGxheU1hc2soZGlzcGxheU1hc2spOworfQorI2Vu
ZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336608</attachid>
            <date>2018-03-27 12:08:04 -0700</date>
            <delta_ts>2018-03-27 12:11:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183923-20180327120803.patch</filename>
            <type>text/plain</type>
            <size>14867</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjk5OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAzLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMv
d2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBjb21waWxlIGd1YXJkIGZvciBibG9ja2luZyBvZiB0aGUgV2luZG93
U2VydmVyIGluIHRoZSBXZWJQcm9jZXNzLgorCisgICAgICAgICogd3RmL0ZlYXR1cmVEZWZpbmVz
Lmg6CisKIDIwMTgtMDMtMjYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGFuZCBhZG9wdCBIQVZFKENPUkVfQU5JTUFUSU9OX1JFTkRFUl9TRVJW
RVIpCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw2ICsy
MzEsMTAgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0LgogI2RlZmlu
ZSBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTIDEKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5B
QkxFX1dFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorI2RlZmluZSBFTkFCTEVfV0VC
UFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcgMAorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFU
Rk9STShNQUMpICovCiAKICNpZiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDMyIEBACisyMDE4LTAzLTI2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMvd2ViZ2wvcmVh
ZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSB0ZXN0IGlzIHRpbWluZyBvdXQgYmVjYXVzZSBzb2Z0d2FyZSByZW5kZXJpbmcgaXMg
YmVpbmcgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3MuCisgICAgICAg
IENHTENob29zZVBpeGVsRm9ybWF0IHdpbGwgZmFpbCB3aGVuIGFuIGFjY2VsZXJhdGVkIHBpeGVs
IGZvcm1hdCBpcyByZXF1ZXN0ZWQsIGFuZCB0aGUgV2luZG93U2VydmVyCisgICAgICAgIGlzIGJs
b2NrZWQsIHNpbmNlIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIGRlY2lkZSB3aGljaCBH
UFUgaXMgY29ubmVjdGVkIHRvIHRoZSBkaXNwbGF5LCB0aGVuLgorICAgICAgICBUaGlzIGlzIG9u
bHkgdGhlIGNhc2Ugd2hlbiB0aGUgYXR0cmlidXRlcyBmb3IgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQg
ZG8gbm90IGluY2x1ZGUgdGhlIGF0dHJpYnV0ZQorICAgICAgICAna0NHTFBGQUFsbG93T2ZmbGlu
ZVJlbmRlcmVycycuIFdoZW4gV2luZG93U2VydmVyIGFjY2VzcyBpcyBibG9ja2VkLCBPcGVuR0wg
d2lsbCBjb25zaWRlciBhbGwKKyAgICAgICAgR1BVcyBvciByZW5kZXJlcnMgYXMgb2ZmbGluZSwg
d2hpY2ggbWVhbnMgb2ZmbGluZSByZW5kZXJlcnMgaGFzIHRvIGJlIGFsbG93ZWQgaW4gdGhhdCBj
YXNlLgorICAgICAgICBUaGUgZnVuY3Rpb24gQ0dMU2V0VmlydHVhbFNjcmVlbiBpcyB1c2VkIHRv
IGhlbHAgT3BlbkdMIHNlbGVjdCBHUFUuIFRoZSBjb21wdXRhdGlvbiBvZiB0aGUgdmlydHVhbAor
ICAgICAgICBzY3JlZW4gaXMgYmFzZWQgb24gdGhlIE9wZW5HTCBkaXNwbGF5IG1hc2ssIHdoaWNo
IGlzIGJlaW5nIHNlbnQgZnJvbSB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhlCisgICAgICAgIFdl
YkNvbnRlbnQgcHJvY2VzcyB3aWxsIG5vdCBiZSBhYmxlIHRvIGluZmVyIHRoZSBkaXNwbGF5IG1h
c2sgd2hlbiB0aGUgV2luZG93U2VydmVyIGlzIGJsb2NrZWQuCisgICAgICAgIFNlZSBodHRwczov
L2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L3RlY2hub3Rlcy90bjIyMjkvX2lu
ZGV4Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAwODkyNC1DSDEtU1VCU0VDVElPTjcK
KyAgICAgICAgZm9yIGRldGFpbHMgb24gaG93IHRoZSB2aXJ0dWFsIHNjcmVlbiBpcyBmb3VuZCBm
cm9tIHRoZSBPcGVuR0wgZGlzcGxheSBtYXNrLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4
dDNEQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRQaXhlbEZvcm1hdCk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3BsYXlNYXNrKToKKwog
MjAxOC0wMy0yNiAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW1dQRV0gVXBsb2FkIGNvcnJlY3QgYnVmZmVyIGluIEJpdG1hcFRleHR1cmVHTDo6dXBk
YXRlQ29udGVudHMoKQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIz
LDcgKzEyMjMsNyBAQAogCQk0NkVGQUYxMjFFNUZCOUYxMDBFN0YzNEIgLyogTG93UG93ZXJNb2Rl
Tm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2RUZBRjEwMUU1RkI5RTEwMEU3RjM0QiAvKiBMb3dQb3dlck1vZGVOb3RpZmllci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RkNCNjE4MUE3
MDgyMEUwMEM1QTIxRSAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMzdCMzc1MTVDMUE3RTEwMDZEQzg5OCAv
KiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0OTA3MDdFNjEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJL
aXRCcmlkZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDkwNzA3RTQxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCAqLzsg
fTsKLQkJNDkwNzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEyMTlD
MDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAqLzsgfTsKKwkJNDkwNzA3RTcxMjE5
QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEyMTlDMDQzMDBEOTBFNTEgLyogQU5H
TEVXZWJLaXRCcmlkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0OTI5MUU0QjEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdNb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTI5MUU0
QTEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdNb2RlLmggKi87IH07CiAJCTQ5M0U1
RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5M0U1RTA4MTJENjQyMDUwMDAy
MDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTQ1QkZENDEzQ0Y4MDkwMDBDQzNCMzggLyogVHJh
bnNmb3JtU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5NDVCRkQyMTNDRjgwOTAwMENDM0IzOCAvKiBUcmFuc2Zvcm1TdGF0ZS5oICovOyB9OwpA
QCAtMTI3MCw3ICsxMjcwLDcgQEAKIAkJNDlDN0I5RTMxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdM
U2hhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
OUM3QjlDMzEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xTaGFkZXIuaCAqLzsgfTsKIAkJNDlDN0I5
RTUxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlDNTEwNDJEMzJGMDAwOUQ0NDcgLyog
V2ViR0xUZXh0dXJlLmNwcCAqLzsgfTsKIAkJNDlDN0I5RTYxMDQyRDMyRjAwMDlENDQ3IC8qIFdl
YkdMVGV4dHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDlDN0I5QzYxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5oICovOyB9OwotCQk0
OUM3QjlGQzEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUwMDA5
RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oICovOyB9OworCQk0OUM3QjlGQzEwNDJEMzY1MDAw
OUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGljc0Nv
bnRleHQzRC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQ5RDVEQzJDMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlENURD
MjgwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlENURDMkUwRjQy
M0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUQ1REMyQTBGNDIzQTczMDA4
RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUU5MTFDNDBFRjg2RDQ3MDA5RDBD
QUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUI0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgJKHdvcmtpbmcgY29weSkKQEAgLTEy
ODIsNiArMTI4MiwxMCBAQCBwdWJsaWM6CiAgICAgR0MzRGVudW0gY3VycmVudEJvdW5kVGFyZ2V0
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5jdXJyZW50Qm91bmRUYXJnZXQoKTsgfQogICAgIHVu
c2lnbmVkIHRleHR1cmVTZWVkKEdDM0R1aW50IHRleHR1cmUpIHsgcmV0dXJuIG1fc3RhdGUudGV4
dHVyZVNlZWRDb3VudC5jb3VudCh0ZXh0dXJlKTsgfQogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBF
TkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgc2V0T3BlbkdMRGlzcGxheU1hc2soQ0dPcGVuR0xEaXNwbGF5TWFzayk7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBHcmFwaGljc0NvbnRleHQzRChHcmFwaGljc0NvbnRl
eHQzREF0dHJpYnV0ZXMsIEhvc3RXaW5kb3cqLCBSZW5kZXJTdHlsZSA9IFJlbmRlck9mZnNjcmVl
biwgR3JhcGhpY3NDb250ZXh0M0QqIHNoYXJlZENvbnRleHQgPSBudWxscHRyKTsKIApAQCAtMTQ5
Myw2ICsxNDk3LDkgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybTNET2JqZWN0IG1fdmFvIHsgMCB9
OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRP
V1NFUlZFUl9CTE9DS0lORykKKyAgICBzdGF0aWMgQ0dPcGVuR0xEaXNwbGF5TWFzayBtX2Rpc3Bs
YXlNYXNrOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0JKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIGNvbnN0IHVuc2lnbmVkIHN0YXR1c0NoZWNrVGhyZXNob2xkID0gNTsKIAorI2lmIFBM
QVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQor
Q0dPcGVuR0xEaXNwbGF5TWFzayBHcmFwaGljc0NvbnRleHQzRDo6bV9kaXNwbGF5TWFzayA9IDA7
CisjZW5kaWYKKwogI2lmIEhBVkUoQVBQTEVfR1JBUEhJQ1NfQ09OVFJPTCkKIAogZW51bSB7CkBA
IC0zMjUsMTQgKzMyOSwyOCBAQCBzdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8Q0dM
UGl4CiAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQURlcHRoU2l6ZSk7CiAgICAgYXR0cmlicy5h
cHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KGRlcHRoQml0cykpOwog
CisgICAgYm9vbCBhbGxvd09mZmxpbmVSZW5kZXJlcnMgPSBmYWxzZTsKKworI2lmIFBMQVRGT1JN
KE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorICAgIC8v
IFdoZW4gV2luZG93U2VydmVyIGFjY2VzcyBpcyBibG9ja2VkIGluIHRoZSBXZWJQcm9jZXNzLCB0
aGVyZSBpcyBubyB3YXkKKyAgICAvLyBmb3IgT3BlbkdMIHRvIGRlY2lkZSB3aGljaCBHUFUgaXMg
Y29ubmVjdGVkIHRvIGEgZGlzcGxheSAob25saW5lL29mZmxpbmUpLgorICAgIC8vIE9wZW5HTCB3
aWxsIHRoZW4gY29uc2lkZXIgYWxsIEdQVXMsIG9yIHJlbmRlcmVycywgYXMgb2ZmbGluZSwgd2hp
Y2ggbWVhbnMKKyAgICAvLyBhbGwgb2ZmbGluZSByZW5kZXJlcnMgbmVlZCB0byBiZSBjb25zaWRl
cmVkIHdoZW4gZmluZGluZyBhIHBpeGVsIGZvcm1hdC4KKyAgICBzdGF0aWMgYm9vbCBoYXNXaW5k
b3dTZXJ2ZXJDb25uZWN0aW9uID0gQ0dTTWFpbkNvbm5lY3Rpb25JRCgpOworICAgIGlmICghaGFz
V2luZG93U2VydmVyQ29ubmVjdGlvbikKKyAgICAgICAgYWxsb3dPZmZsaW5lUmVuZGVyZXJzID0g
dHJ1ZTsKKyNlbmRpZgorCisjaWYgSEFWRShBUFBMRV9HUkFQSElDU19DT05UUk9MKQorICAgIGFs
bG93T2ZmbGluZVJlbmRlcmVycyB8PSBoYXNNdXhhYmxlR1BVKCk7CisjZW5kaWYKKwogICAgIC8v
IFRoaXMgYXR0cmlidXRlLCB3aGlsZSBtZW50aW9uaW5nIG9mZmxpbmUgcmVuZGVyZXJzLCBpcyBh
Y3R1YWxseQogICAgIC8vIGFsbG93aW5nIHVzIHRvIHJlcXVlc3QgdGhlIGludGVncmF0ZWQgZ3Jh
cGhpY3Mgb24gYSBkdWFsIEdQVQogICAgIC8vIHN5c3RlbSwgYW5kIG5vdCBmb3JjZSB0aGUgZGlz
Y3JldGUgR1BVLgogICAgIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFy
eS9tYWMvdGVjaG5vdGVzL3RuMjIyOS9faW5kZXguaHRtbAotI2lmIEhBVkUoQVBQTEVfR1JBUEhJ
Q1NfQ09OVFJPTCkKLSAgICBpZiAoaGFzTXV4YWJsZUdQVSgpKQorICAgIGlmIChhbGxvd09mZmxp
bmVSZW5kZXJlcnMpCiAgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFBbGxvd09mZmxpbmVS
ZW5kZXJlcnMpOwotI2VuZGlmCiAKICAgICBpZiAoYWNjZWxlcmF0ZWQpCiAgICAgICAgIGF0dHJp
YnMuYXBwZW5kKGtDR0xQRkFBY2NlbGVyYXRlZCk7CkBAIC00NjMsNiArNDgxLDI1IEBAIEdyYXBo
aWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmEKICAgICBDR0xFcnJvciBlcnIgPSBD
R0xDcmVhdGVDb250ZXh0KHBpeGVsRm9ybWF0T2JqLCBzaGFyZWRDb250ZXh0ID8gc2hhcmVkQ29u
dGV4dC0+bV9jb250ZXh0T2JqIDogbnVsbHB0ciwgJm1fY29udGV4dE9iaik7CiAgICAgR0xpbnQg
YWJvcnRPbkJsYWNrbGlzdCA9IDA7CiAgICAgQ0dMU2V0UGFyYW1ldGVyKG1fY29udGV4dE9iaiwg
a0NHTENQQWJvcnRPbkdQVVJlc3RhcnRTdGF0dXNCbGFja2xpc3RlZCwgJmFib3J0T25CbGFja2xp
c3QpOworICAgIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9X
U0VSVkVSX0JMT0NLSU5HKQorICAgIGlmIChtX2Rpc3BsYXlNYXNrICYmIG1fY29udGV4dE9iaikg
eworICAgICAgICAvLyBXaGVuIHRoZSBXZWJQcm9jZXNzIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRv
IHRoZSBXaW5kb3dTZXJ2ZXIsIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIHRlbGwgd2hp
Y2ggR1BVIGlzIGNvbm5lY3RlZCB0byBhIGRpc3BsYXkuCisgICAgICAgIC8vIFRvIGhlbHAgT3Bl
bkdMIGNob29zZSBHUFUsIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgZnVuY3Rpb24gQ0dMU2V0
VmlydHVhbFNjcmVlbi4KKyAgICAgICAgLy8gU2VlIGNvZGUgZXhhbXBsZSBhdCBodHRwczovL2Rl
dmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L3RlY2hub3Rlcy90bjIyMjkvX2luZGV4
Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAwODkyNC1DSDEtU1VCU0VDVElPTjcKKyAg
ICAgICAgZm9yIChpbnQgdmlydHVhbFNjcmVlbiA9IDA7IHZpcnR1YWxTY3JlZW4gPCBudW1QaXhl
bEZvcm1hdHM7IHZpcnR1YWxTY3JlZW4rKykgeworICAgICAgICAgICAgR0xpbnQgZGlzcGxheU1h
c2sgPSAwOworICAgICAgICAgICAgQ0dMRXJyb3IgZXJyb3IgPSBDR0xEZXNjcmliZVBpeGVsRm9y
bWF0KHBpeGVsRm9ybWF0T2JqLCB2aXJ0dWFsU2NyZWVuLCBrQ0dMUEZBRGlzcGxheU1hc2ssICZk
aXNwbGF5TWFzayk7CisgICAgICAgICAgICBBU1NFUlQoZXJyb3IgPT0ga0NHTE5vRXJyb3IpOwor
ICAgICAgICAgICAgaWYgKGRpc3BsYXlNYXNrICYgbV9kaXNwbGF5TWFzaykgeworICAgICAgICAg
ICAgICAgIGVycm9yID0gQ0dMU2V0VmlydHVhbFNjcmVlbihtX2NvbnRleHRPYmosIHZpcnR1YWxT
Y3JlZW4pOworICAgICAgICAgICAgICAgIEFTU0VSVChlcnJvciA9PSBrQ0dMTm9FcnJvcik7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cisj
ZW5kaWYKKwogICAgIENHTERlc3Ryb3lQaXhlbEZvcm1hdChwaXhlbEZvcm1hdE9iaik7CiAgICAg
CiAgICAgaWYgKGVyciAhPSBrQ0dMTm9FcnJvciB8fCAhbV9jb250ZXh0T2JqKSB7CkBAIC03NTYs
NiArNzkzLDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnNpbXVsYXRlQ29udGV4dEMKICAg
ICBtYW5hZ2VyKCkudXBkYXRlQWxsQ29udGV4dHMoKTsKIH0KIAorI2lmIFBMQVRGT1JNKE1BQykg
JiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6c2V0T3BlbkdMRGlzcGxheU1hc2soQ0dPcGVuR0xEaXNwbGF5TWFzayBkaXNw
bGF5TWFzaykKK3sKKyAgICBtX2Rpc3BsYXlNYXNrID0gZGlzcGxheU1hc2s7Cit9CisjZW5kaWYK
KwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdSQVBISUNTX0NPTlRFWFRfM0QpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwkocmV2aXNpb24gMjI5OTg5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0wMy0yNiAgUGVyIEFybmUgVm9sbGFuICA8cHZv
bGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIGxheW91dCB0ZXN0IGZhc3QvY2FudmFzL3dl
YmdsL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBpcyB0aW1pbmcgb3V0LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzOTIzCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8zODc1Njg2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZW5kIE9wZW5HTCBkaXNwbGF5IG1hc2sgdG8gdGhlIFdlYkNvbnRlbnQgcHJv
Y2VzcyB3aGVuIHRoZSBkaXNwbGF5IElEIGlzIGNoYW5naW5nLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2lu
ZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6b3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKToKKwogMjAxOC0wMy0y
NiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbRXh0
cmEgem9vbSBtb2RlXSBSZWZhY3RvciBpbnB1dCB2aWV3IGNvbnRyb2xsZXIgcHJlc2VudGF0aW9u
IGFuZCBkaXNtaXNzYWwgaGVscGVycwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQ2LDYgKzI2NDYsMTEgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd1NjcmVlbkRpZENoYW5nZQogICAgICAgICByZXR1cm47
CiAKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OldpbmRvd1NjcmVlbkRp
ZENoYW5nZShkaXNwbGF5SUQpLCBtX3BhZ2VJRCk7CisKKyNpZiBQTEFURk9STShNQUMpICYmIEVO
QUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKKyAgICBDR09wZW5HTERpc3Bs
YXlNYXNrIGN1cnJlbnREaXNwbGF5bWFzayA9IENHRGlzcGxheUlEVG9PcGVuR0xEaXNwbGF5TWFz
ayhkaXNwbGF5SUQpOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6T3Bl
bkdMRGlzcGxheU1hc2tDaGFuZ2VkKGN1cnJlbnREaXNwbGF5bWFzayksIG1fcGFnZUlEKTsKKyNl
bmRpZgogfQogCiBmbG9hdCBXZWJQYWdlUHJveHk6OmRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlz
aW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMTA2NCw2ICsxMDY0LDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpZEZpbmlzaExvYWRpbmdBcHBsaWNhdGlvbk1hbmlmZXN0KHVpbnQ2NF90LCBjb25zdCBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+Jik7CiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5H
KQorICAgIHZvaWQgb3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQzMl90IGRpc3BsYXlNYXNr
KTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDIyOTk3
NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4JKHdvcmtpbmcgY29weSkKQEAgLTUwOCw0ICs1MDgsOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
IExlZ2FjeVJlY2VpdmVyIHsKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAg
R2V0QXBwbGljYXRpb25NYW5pZmVzdChXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICNl
bmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJW
RVJfQkxPQ0tJTkcpCisgICAgT3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQzMl90IGRpc3Bs
YXlNYXNrKQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTY2LDYgKzY2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVMb2FkZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29u
dGV4dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQzRC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9IVE1MQ29udmVydGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5oPgpAQCAtMTE5MCw2
ICsxMTkxLDEyIEBAIHZvaWQgV2ViUGFnZTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXIKIH0K
ICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQor
dm9pZCBXZWJQYWdlOjpvcGVuR0xEaXNwbGF5TWFza0NoYW5nZWQodWludDMyX3QgZGlzcGxheU1h
c2spCit7CisgICAgR3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3BsYXlNYXNrKGRpc3Bs
YXlNYXNrKTsKK30KKyNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336609</attachid>
            <date>2018-03-27 12:11:34 -0700</date>
            <delta_ts>2018-03-27 14:09:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183923-20180327121133.patch</filename>
            <type>text/plain</type>
            <size>14933</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjk5OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAzLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMv
d2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBjb21waWxlIGd1YXJkIGZvciBibG9ja2luZyBvZiB0aGUgV2luZG93
U2VydmVyIGluIHRoZSBXZWJQcm9jZXNzLgorCisgICAgICAgICogd3RmL0ZlYXR1cmVEZWZpbmVz
Lmg6CisKIDIwMTgtMDMtMjYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGFuZCBhZG9wdCBIQVZFKENPUkVfQU5JTUFUSU9OX1JFTkRFUl9TRVJW
RVIpCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw2ICsy
MzEsMTAgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0LgogI2RlZmlu
ZSBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTIDEKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5B
QkxFX1dFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorI2RlZmluZSBFTkFCTEVfV0VC
UFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcgMAorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFU
Rk9STShNQUMpICovCiAKICNpZiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDMyIEBACisyMDE4LTAzLTI2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMvd2ViZ2wvcmVh
ZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSB0ZXN0IGlzIHRpbWluZyBvdXQgYmVjYXVzZSBzb2Z0d2FyZSByZW5kZXJpbmcgaXMg
YmVpbmcgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3MuCisgICAgICAg
IENHTENob29zZVBpeGVsRm9ybWF0IHdpbGwgZmFpbCB3aGVuIGFuIGFjY2VsZXJhdGVkIHBpeGVs
IGZvcm1hdCBpcyByZXF1ZXN0ZWQsIGFuZCB0aGUgV2luZG93U2VydmVyCisgICAgICAgIGlzIGJs
b2NrZWQsIHNpbmNlIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIGRlY2lkZSB3aGljaCBH
UFUgaXMgY29ubmVjdGVkIHRvIHRoZSBkaXNwbGF5LCB0aGVuLgorICAgICAgICBUaGlzIGlzIG9u
bHkgdGhlIGNhc2Ugd2hlbiB0aGUgYXR0cmlidXRlcyBmb3IgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQg
ZG8gbm90IGluY2x1ZGUgdGhlIGF0dHJpYnV0ZQorICAgICAgICAna0NHTFBGQUFsbG93T2ZmbGlu
ZVJlbmRlcmVycycuIFdoZW4gV2luZG93U2VydmVyIGFjY2VzcyBpcyBibG9ja2VkLCBPcGVuR0wg
d2lsbCBjb25zaWRlciBhbGwKKyAgICAgICAgR1BVcyBvciByZW5kZXJlcnMgYXMgb2ZmbGluZSwg
d2hpY2ggbWVhbnMgb2ZmbGluZSByZW5kZXJlcnMgaGFzIHRvIGJlIGFsbG93ZWQgaW4gdGhhdCBj
YXNlLgorICAgICAgICBUaGUgZnVuY3Rpb24gQ0dMU2V0VmlydHVhbFNjcmVlbiBpcyB1c2VkIHRv
IGhlbHAgT3BlbkdMIHNlbGVjdCBHUFUuIFRoZSBjb21wdXRhdGlvbiBvZiB0aGUgdmlydHVhbAor
ICAgICAgICBzY3JlZW4gaXMgYmFzZWQgb24gdGhlIE9wZW5HTCBkaXNwbGF5IG1hc2ssIHdoaWNo
IGlzIGJlaW5nIHNlbnQgZnJvbSB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhlCisgICAgICAgIFdl
YkNvbnRlbnQgcHJvY2VzcyB3aWxsIG5vdCBiZSBhYmxlIHRvIGluZmVyIHRoZSBkaXNwbGF5IG1h
c2sgd2hlbiB0aGUgV2luZG93U2VydmVyIGlzIGJsb2NrZWQuCisgICAgICAgIFNlZSBodHRwczov
L2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L3RlY2hub3Rlcy90bjIyMjkvX2lu
ZGV4Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAwODkyNC1DSDEtU1VCU0VDVElPTjcK
KyAgICAgICAgZm9yIGRldGFpbHMgb24gaG93IHRoZSB2aXJ0dWFsIHNjcmVlbiBpcyBmb3VuZCBm
cm9tIHRoZSBPcGVuR0wgZGlzcGxheSBtYXNrLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4
dDNEQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRQaXhlbEZvcm1hdCk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3BsYXlNYXNrKToKKwog
MjAxOC0wMy0yNiAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW1dQRV0gVXBsb2FkIGNvcnJlY3QgYnVmZmVyIGluIEJpdG1hcFRleHR1cmVHTDo6dXBk
YXRlQ29udGVudHMoKQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIz
LDcgKzEyMjMsNyBAQAogCQk0NkVGQUYxMjFFNUZCOUYxMDBFN0YzNEIgLyogTG93UG93ZXJNb2Rl
Tm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2RUZBRjEwMUU1RkI5RTEwMEU3RjM0QiAvKiBMb3dQb3dlck1vZGVOb3RpZmllci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RkNCNjE4MUE3
MDgyMEUwMEM1QTIxRSAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMzdCMzc1MTVDMUE3RTEwMDZEQzg5OCAv
KiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0OTA3MDdFNjEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJL
aXRCcmlkZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDkwNzA3RTQxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCAqLzsg
fTsKLQkJNDkwNzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEyMTlD
MDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAqLzsgfTsKKwkJNDkwNzA3RTcxMjE5
QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEyMTlDMDQzMDBEOTBFNTEgLyogQU5H
TEVXZWJLaXRCcmlkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0OTI5MUU0QjEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdNb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTI5MUU0
QTEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdNb2RlLmggKi87IH07CiAJCTQ5M0U1
RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5M0U1RTA4MTJENjQyMDUwMDAy
MDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTQ1QkZENDEzQ0Y4MDkwMDBDQzNCMzggLyogVHJh
bnNmb3JtU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5NDVCRkQyMTNDRjgwOTAwMENDM0IzOCAvKiBUcmFuc2Zvcm1TdGF0ZS5oICovOyB9OwpA
QCAtMTI3MCw3ICsxMjcwLDcgQEAKIAkJNDlDN0I5RTMxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdM
U2hhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
OUM3QjlDMzEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xTaGFkZXIuaCAqLzsgfTsKIAkJNDlDN0I5
RTUxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlDNTEwNDJEMzJGMDAwOUQ0NDcgLyog
V2ViR0xUZXh0dXJlLmNwcCAqLzsgfTsKIAkJNDlDN0I5RTYxMDQyRDMyRjAwMDlENDQ3IC8qIFdl
YkdMVGV4dHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDlDN0I5QzYxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5oICovOyB9OwotCQk0
OUM3QjlGQzEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUwMDA5
RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5oICovOyB9OworCQk0OUM3QjlGQzEwNDJEMzY1MDAw
OUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGljc0Nv
bnRleHQzRC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQ5RDVEQzJDMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlENURD
MjgwRjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlENURDMkUwRjQy
M0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUQ1REMyQTBGNDIzQTczMDA4
RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUU5MTFDNDBFRjg2RDQ3MDA5RDBD
QUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUI0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgJKHdvcmtpbmcgY29weSkKQEAgLTEy
ODIsNiArMTI4MiwxMCBAQCBwdWJsaWM6CiAgICAgR0MzRGVudW0gY3VycmVudEJvdW5kVGFyZ2V0
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5jdXJyZW50Qm91bmRUYXJnZXQoKTsgfQogICAgIHVu
c2lnbmVkIHRleHR1cmVTZWVkKEdDM0R1aW50IHRleHR1cmUpIHsgcmV0dXJuIG1fc3RhdGUudGV4
dHVyZVNlZWRDb3VudC5jb3VudCh0ZXh0dXJlKTsgfQogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBF
TkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgc2V0T3BlbkdMRGlzcGxheU1hc2soQ0dPcGVuR0xEaXNwbGF5TWFzayk7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBHcmFwaGljc0NvbnRleHQzRChHcmFwaGljc0NvbnRl
eHQzREF0dHJpYnV0ZXMsIEhvc3RXaW5kb3cqLCBSZW5kZXJTdHlsZSA9IFJlbmRlck9mZnNjcmVl
biwgR3JhcGhpY3NDb250ZXh0M0QqIHNoYXJlZENvbnRleHQgPSBudWxscHRyKTsKIApAQCAtMTQ5
Myw2ICsxNDk3LDkgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybTNET2JqZWN0IG1fdmFvIHsgMCB9
OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRP
V1NFUlZFUl9CTE9DS0lORykKKyAgICBzdGF0aWMgQ0dPcGVuR0xEaXNwbGF5TWFzayBtX2Rpc3Bs
YXlNYXNrOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHQzRENvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0JKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIGNvbnN0IHVuc2lnbmVkIHN0YXR1c0NoZWNrVGhyZXNob2xkID0gNTsKIAorI2lmIFBM
QVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQor
Q0dPcGVuR0xEaXNwbGF5TWFzayBHcmFwaGljc0NvbnRleHQzRDo6bV9kaXNwbGF5TWFzayA9IDA7
CisjZW5kaWYKKwogI2lmIEhBVkUoQVBQTEVfR1JBUEhJQ1NfQ09OVFJPTCkKIAogZW51bSB7CkBA
IC0zMjUsMTQgKzMyOSwyOCBAQCBzdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8Q0dM
UGl4CiAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQURlcHRoU2l6ZSk7CiAgICAgYXR0cmlicy5h
cHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KGRlcHRoQml0cykpOwog
CisgICAgYm9vbCBhbGxvd09mZmxpbmVSZW5kZXJlcnMgPSBmYWxzZTsKKworI2lmIFBMQVRGT1JN
KE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorICAgIC8v
IFdoZW4gV2luZG93U2VydmVyIGFjY2VzcyBpcyBibG9ja2VkIGluIHRoZSBXZWJQcm9jZXNzLCB0
aGVyZSBpcyBubyB3YXkKKyAgICAvLyBmb3IgT3BlbkdMIHRvIGRlY2lkZSB3aGljaCBHUFUgaXMg
Y29ubmVjdGVkIHRvIGEgZGlzcGxheSAob25saW5lL29mZmxpbmUpLgorICAgIC8vIE9wZW5HTCB3
aWxsIHRoZW4gY29uc2lkZXIgYWxsIEdQVXMsIG9yIHJlbmRlcmVycywgYXMgb2ZmbGluZSwgd2hp
Y2ggbWVhbnMKKyAgICAvLyBhbGwgb2ZmbGluZSByZW5kZXJlcnMgbmVlZCB0byBiZSBjb25zaWRl
cmVkIHdoZW4gZmluZGluZyBhIHBpeGVsIGZvcm1hdC4KKyAgICBzdGF0aWMgYm9vbCBoYXNXaW5k
b3dTZXJ2ZXJDb25uZWN0aW9uID0gQ0dTTWFpbkNvbm5lY3Rpb25JRCgpOworICAgIGlmICghaGFz
V2luZG93U2VydmVyQ29ubmVjdGlvbikKKyAgICAgICAgYWxsb3dPZmZsaW5lUmVuZGVyZXJzID0g
dHJ1ZTsKKyNlbmRpZgorCisjaWYgSEFWRShBUFBMRV9HUkFQSElDU19DT05UUk9MKQorICAgIGFs
bG93T2ZmbGluZVJlbmRlcmVycyB8PSBoYXNNdXhhYmxlR1BVKCk7CisjZW5kaWYKKwogICAgIC8v
IFRoaXMgYXR0cmlidXRlLCB3aGlsZSBtZW50aW9uaW5nIG9mZmxpbmUgcmVuZGVyZXJzLCBpcyBh
Y3R1YWxseQogICAgIC8vIGFsbG93aW5nIHVzIHRvIHJlcXVlc3QgdGhlIGludGVncmF0ZWQgZ3Jh
cGhpY3Mgb24gYSBkdWFsIEdQVQogICAgIC8vIHN5c3RlbSwgYW5kIG5vdCBmb3JjZSB0aGUgZGlz
Y3JldGUgR1BVLgogICAgIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFy
eS9tYWMvdGVjaG5vdGVzL3RuMjIyOS9faW5kZXguaHRtbAotI2lmIEhBVkUoQVBQTEVfR1JBUEhJ
Q1NfQ09OVFJPTCkKLSAgICBpZiAoaGFzTXV4YWJsZUdQVSgpKQorICAgIGlmIChhbGxvd09mZmxp
bmVSZW5kZXJlcnMpCiAgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFBbGxvd09mZmxpbmVS
ZW5kZXJlcnMpOwotI2VuZGlmCiAKICAgICBpZiAoYWNjZWxlcmF0ZWQpCiAgICAgICAgIGF0dHJp
YnMuYXBwZW5kKGtDR0xQRkFBY2NlbGVyYXRlZCk7CkBAIC00NjMsNiArNDgxLDI3IEBAIEdyYXBo
aWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmEKICAgICBDR0xFcnJvciBlcnIgPSBD
R0xDcmVhdGVDb250ZXh0KHBpeGVsRm9ybWF0T2JqLCBzaGFyZWRDb250ZXh0ID8gc2hhcmVkQ29u
dGV4dC0+bV9jb250ZXh0T2JqIDogbnVsbHB0ciwgJm1fY29udGV4dE9iaik7CiAgICAgR0xpbnQg
YWJvcnRPbkJsYWNrbGlzdCA9IDA7CiAgICAgQ0dMU2V0UGFyYW1ldGVyKG1fY29udGV4dE9iaiwg
a0NHTENQQWJvcnRPbkdQVVJlc3RhcnRTdGF0dXNCbGFja2xpc3RlZCwgJmFib3J0T25CbGFja2xp
c3QpOworICAgIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9X
U0VSVkVSX0JMT0NLSU5HKQorICAgIGlmIChtX2Rpc3BsYXlNYXNrICYmIG1fY29udGV4dE9iaikg
eworICAgICAgICAvLyBXaGVuIHRoZSBXZWJQcm9jZXNzIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRv
IHRoZSBXaW5kb3dTZXJ2ZXIsIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIHRlbGwgd2hp
Y2ggR1BVIGlzIGNvbm5lY3RlZCB0byBhIGRpc3BsYXkuCisgICAgICAgIC8vIFRvIGhlbHAgT3Bl
bkdMIGNob29zZSBHUFUsIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgZnVuY3Rpb24gQ0dMU2V0
VmlydHVhbFNjcmVlbi4KKyAgICAgICAgLy8gU2VlIGNvZGUgZXhhbXBsZSBhdCBodHRwczovL2Rl
dmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L3RlY2hub3Rlcy90bjIyMjkvX2luZGV4
Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAwODkyNC1DSDEtU1VCU0VDVElPTjcKKyAg
ICAgICAgZm9yIChpbnQgdmlydHVhbFNjcmVlbiA9IDA7IHZpcnR1YWxTY3JlZW4gPCBudW1QaXhl
bEZvcm1hdHM7IHZpcnR1YWxTY3JlZW4rKykgeworICAgICAgICAgICAgR0xpbnQgZGlzcGxheU1h
c2sgPSAwOworICAgICAgICAgICAgQ0dMRXJyb3IgZXJyb3IgPSBDR0xEZXNjcmliZVBpeGVsRm9y
bWF0KHBpeGVsRm9ybWF0T2JqLCB2aXJ0dWFsU2NyZWVuLCBrQ0dMUEZBRGlzcGxheU1hc2ssICZk
aXNwbGF5TWFzayk7CisgICAgICAgICAgICBBU1NFUlQoZXJyb3IgPT0ga0NHTE5vRXJyb3IpOwor
ICAgICAgICAgICAgaWYgKGVycm9yICE9IGtDR0xOb0Vycm9yKQorICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAgICAgaWYgKGRpc3BsYXlNYXNrICYgbV9kaXNwbGF5TWFzaykgewor
ICAgICAgICAgICAgICAgIGVycm9yID0gQ0dMU2V0VmlydHVhbFNjcmVlbihtX2NvbnRleHRPYmos
IHZpcnR1YWxTY3JlZW4pOworICAgICAgICAgICAgICAgIEFTU0VSVChlcnJvciA9PSBrQ0dMTm9F
cnJvcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9CisjZW5kaWYKKwogICAgIENHTERlc3Ryb3lQaXhlbEZvcm1hdChwaXhlbEZvcm1hdE9i
aik7CiAgICAgCiAgICAgaWYgKGVyciAhPSBrQ0dMTm9FcnJvciB8fCAhbV9jb250ZXh0T2JqKSB7
CkBAIC03NTYsNiArNzk1LDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnNpbXVsYXRlQ29u
dGV4dEMKICAgICBtYW5hZ2VyKCkudXBkYXRlQWxsQ29udGV4dHMoKTsKIH0KIAorI2lmIFBMQVRG
T1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6c2V0T3BlbkdMRGlzcGxheU1hc2soQ0dPcGVuR0xEaXNwbGF5
TWFzayBkaXNwbGF5TWFzaykKK3sKKyAgICBtX2Rpc3BsYXlNYXNrID0gZGlzcGxheU1hc2s7Cit9
CisjZW5kaWYKKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdSQVBISUNTX0NPTlRFWFRfM0QpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkocmV2aXNpb24gMjI5OTg5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0wMy0yNiAgUGVyIEFybmUgVm9s
bGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIGxheW91dCB0ZXN0IGZhc3Qv
Y2FudmFzL3dlYmdsL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBpcyB0aW1pbmcgb3V0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzOTIzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zODc1Njg2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTZW5kIE9wZW5HTCBkaXNwbGF5IG1hc2sgdG8gdGhlIFdlYkNv
bnRlbnQgcHJvY2VzcyB3aGVuIHRoZSBkaXNwbGF5IElEIGlzIGNoYW5naW5nLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6b3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKToKKwog
MjAxOC0wMy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbRXh0cmEgem9vbSBtb2RlXSBSZWZhY3RvciBpbnB1dCB2aWV3IGNvbnRyb2xsZXIgcHJl
c2VudGF0aW9uIGFuZCBkaXNtaXNzYWwgaGVscGVycwpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQ2LDYgKzI2
NDYsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd1NjcmVlbkRpZENoYW5nZQogICAgICAg
ICByZXR1cm47CiAKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OldpbmRv
d1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQpLCBtX3BhZ2VJRCk7CisKKyNpZiBQTEFURk9STShN
QUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKKyAgICBDR09w
ZW5HTERpc3BsYXlNYXNrIGN1cnJlbnREaXNwbGF5bWFzayA9IENHRGlzcGxheUlEVG9PcGVuR0xE
aXNwbGF5TWFzayhkaXNwbGF5SUQpOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6T3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKGN1cnJlbnREaXNwbGF5bWFzayksIG1fcGFn
ZUlEKTsKKyNlbmRpZgogfQogCiBmbG9hdCBXZWJQYWdlUHJveHk6OmRldmljZVNjYWxlRmFjdG9y
KCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTA2NCw2ICsxMDY0LDEwIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmdBcHBsaWNhdGlvbk1hbmlmZXN0KHVpbnQ2NF90LCBj
b25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+Jik7CiAjZW5k
aWYKIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVS
X0JMT0NLSU5HKQorICAgIHZvaWQgb3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQzMl90IGRp
c3BsYXlNYXNrKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3QgcGFn
ZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHJldmlz
aW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTUwOCw0ICs1MDgsOCBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCiAgICAgR2V0QXBwbGljYXRpb25NYW5pZmVzdChXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJh
Y2tJRCkKICNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19X
SU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAgT3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQz
Ml90IGRpc3BsYXlNYXNrKQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkocmV2aXNpb24gMjI5OTc0KQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVMb2Fk
ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dy
YXBoaWNzQ29udGV4dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQzRC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9IVE1MQ29udmVydGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5oPgpA
QCAtMTE5MCw2ICsxMTkxLDEyIEBAIHZvaWQgV2ViUGFnZTo6c2V0U2hvdWxkUGxheVRvUGxheWJh
Y2tUYXIKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JM
T0NLSU5HKQordm9pZCBXZWJQYWdlOjpvcGVuR0xEaXNwbGF5TWFza0NoYW5nZWQodWludDMyX3Qg
ZGlzcGxheU1hc2spCit7CisgICAgR3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3BsYXlN
YXNrKGRpc3BsYXlNYXNrKTsKK30KKyNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336616</attachid>
            <date>2018-03-27 14:09:41 -0700</date>
            <delta_ts>2018-03-27 14:38:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183923-20180327140941.patch</filename>
            <type>text/plain</type>
            <size>18074</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjk5OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAzLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMv
d2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBjb21waWxlIGd1YXJkIGZvciBibG9ja2luZyBvZiB0aGUgV2luZG93
U2VydmVyIGluIHRoZSBXZWJQcm9jZXNzLgorCisgICAgICAgICogd3RmL0ZlYXR1cmVEZWZpbmVz
Lmg6CisKIDIwMTgtMDMtMjYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGFuZCBhZG9wdCBIQVZFKENPUkVfQU5JTUFUSU9OX1JFTkRFUl9TRVJW
RVIpCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw2ICsy
MzEsMTAgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0LgogI2RlZmlu
ZSBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTIDEKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5B
QkxFX1dFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorI2RlZmluZSBFTkFCTEVfV0VC
UFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcgMAorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFU
Rk9STShNQUMpICovCiAKICNpZiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIzMDAwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDM0IEBACisyMDE4LTAzLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMvd2ViZ2wvcmVh
ZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZSB0ZXN0IGlzIHRpbWluZyBvdXQgYmVjYXVzZSBzb2Z0d2FyZSByZW5kZXJpbmcgaXMg
YmVpbmcgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3MuCisgICAgICAg
IENHTENob29zZVBpeGVsRm9ybWF0IHdpbGwgZmFpbCB3aGVuIGFuIGFjY2VsZXJhdGVkIHBpeGVs
IGZvcm1hdCBpcyByZXF1ZXN0ZWQsIGFuZCB0aGUgV2luZG93U2VydmVyCisgICAgICAgIGlzIGJs
b2NrZWQsIHNpbmNlIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIGRlY2lkZSB3aGljaCBH
UFUgaXMgY29ubmVjdGVkIHRvIHRoZSBkaXNwbGF5LCB0aGVuLgorICAgICAgICBUaGlzIGlzIG9u
bHkgdGhlIGNhc2Ugd2hlbiB0aGUgYXR0cmlidXRlcyBmb3IgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQg
ZG8gbm90IGluY2x1ZGUgdGhlIGF0dHJpYnV0ZQorICAgICAgICAna0NHTFBGQUFsbG93T2ZmbGlu
ZVJlbmRlcmVycycuIFdoZW4gV2luZG93U2VydmVyIGFjY2VzcyBpcyBibG9ja2VkLCBPcGVuR0wg
d2lsbCBjb25zaWRlciBhbGwKKyAgICAgICAgR1BVcyBvciByZW5kZXJlcnMgYXMgb2ZmbGluZSwg
d2hpY2ggbWVhbnMgb2ZmbGluZSByZW5kZXJlcnMgaGFzIHRvIGJlIGFsbG93ZWQgaW4gdGhhdCBj
YXNlLgorICAgICAgICBUaGUgZnVuY3Rpb24gQ0dMU2V0VmlydHVhbFNjcmVlbiBpcyB1c2VkIHRv
IGhlbHAgT3BlbkdMIHNlbGVjdCBHUFUuIFRoZSBjb21wdXRhdGlvbiBvZiB0aGUgdmlydHVhbAor
ICAgICAgICBzY3JlZW4gaXMgYmFzZWQgb24gdGhlIE9wZW5HTCBkaXNwbGF5IG1hc2ssIHdoaWNo
IGlzIGJlaW5nIHNlbnQgZnJvbSB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhlCisgICAgICAgIFdl
YkNvbnRlbnQgcHJvY2VzcyB3aWxsIG5vdCBiZSBhYmxlIHRvIGluZmVyIHRoZSBkaXNwbGF5IG1h
c2sgd2hlbiB0aGUgV2luZG93U2VydmVyIGlzIGJsb2NrZWQuCisgICAgICAgIFNlZSBodHRwczov
L2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L3RlY2hub3Rlcy90bjIyMjkvX2lu
ZGV4Lmh0bWwjLy9hcHBsZV9yZWYvZG9jL3VpZC9EVFM0MDAwODkyNC1DSDEtU1VCU0VDVElPTjcK
KyAgICAgICAgZm9yIGRldGFpbHMgb24gaG93IHRoZSB2aXJ0dWFsIHNjcmVlbiBpcyBmb3VuZCBm
cm9tIHRoZSBPcGVuR0wgZGlzcGxheSBtYXNrLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4
dDNEQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRQaXhlbEZvcm1hdCk6CisgICAgICAg
IChXZWJDb3JlOjppZGVudGlmeUFuZFNldEN1cnJlbnRHUFUpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjpzZXRPcGVuR0xEaXNwbGF5TWFzayk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6YWxsb3dPZmZsaW5lUmVuZGVyZXJzKToKKwogMjAxOC0w
My0yNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgb25s
aW5lIHN0YXRlIGRldGVjdGlvbiBmcm9tIHRoZSBXZWJQcm9jZXNzIHRvIHRoZSBOZXR3b3JrUHJv
Y2VzcwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIzLDcgKzEyMjMs
NyBAQAogCQk0NkVGQUYxMjFFNUZCOUYxMDBFN0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RUZBRjEw
MUU1RkI5RTEwMEU3RjM0QiAvKiBMb3dQb3dlck1vZGVOb3RpZmllci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RkNCNjE4MUE3MDgyMEUwMEM1
QTIxRSAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMzdCMzc1MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9z
dGljTG9nZ2luZ0tleXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0OTA3MDdFNjEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkwNzA3
RTQxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCAqLzsgfTsKLQkJNDkw
NzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEyMTlDMDQzMDBEOTBF
NTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAqLzsgfTsKKwkJNDkwNzA3RTcxMjE5QzA0MzAwRDkw
RTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRC
cmlkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0OTI5MUU0QjEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdNb2RlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTI5MUU0QTEzNDE3MkM4
MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdNb2RlLmggKi87IH07CiAJCTQ5M0U1RTA5MTJENjQy
MDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5M0U1RTA4MTJENjQyMDUwMDAyMDA4MSAvKiBQ
bGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0OTQ1QkZENDEzQ0Y4MDkwMDBDQzNCMzggLyogVHJhbnNmb3JtU3Rh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5NDVC
RkQyMTNDRjgwOTAwMENDM0IzOCAvKiBUcmFuc2Zvcm1TdGF0ZS5oICovOyB9OwpAQCAtMTI3MCw3
ICsxMjcwLDcgQEAKIAkJNDlDN0I5RTMxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMU2hhZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlDMzEw
NDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xTaGFkZXIuaCAqLzsgfTsKIAkJNDlDN0I5RTUxMDQyRDMy
RjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlDNTEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xUZXh0
dXJlLmNwcCAqLzsgfTsKIAkJNDlDN0I5RTYxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVy
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5
QzYxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5oICovOyB9OwotCQk0OUM3QjlGQzEw
NDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUwMDA5RDQ0NyAvKiBH
cmFwaGljc0NvbnRleHQzRC5oICovOyB9OworCQk0OUM3QjlGQzEwNDJEMzY1MDAwOUQ0NDcgLyog
R3JhcGhpY3NDb250ZXh0M0QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ5QzdCOUZCMTA0MkQzNjUwMDA5RDQ0NyAvKiBHcmFwaGljc0NvbnRleHQzRC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5RDVE
QzJDMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlENURDMjgwRjQyM0E3
MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlENURDMkUwRjQyM0E3MzAwOEYy
MEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUQ1REMyQTBGNDIzQTczMDA4RjIwRkQgLyog
UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUU5MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJh
bnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ5RTkxMUI0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgJKHdvcmtpbmcgY29weSkKQEAgLTEyODIsNiArMTI4
MiwxMCBAQCBwdWJsaWM6CiAgICAgR0MzRGVudW0gY3VycmVudEJvdW5kVGFyZ2V0KCkgY29uc3Qg
eyByZXR1cm4gbV9zdGF0ZS5jdXJyZW50Qm91bmRUYXJnZXQoKTsgfQogICAgIHVuc2lnbmVkIHRl
eHR1cmVTZWVkKEdDM0R1aW50IHRleHR1cmUpIHsgcmV0dXJuIG1fc3RhdGUudGV4dHVyZVNlZWRD
b3VudC5jb3VudCh0ZXh0dXJlKTsgfQogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VC
UFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHZvaWQgc2V0T3BlbkdMRGlzcGxheU1hc2soQ0dPcGVuR0xEaXNwbGF5TWFzayk7CisjZW5kaWYK
KwogcHJpdmF0ZToKICAgICBHcmFwaGljc0NvbnRleHQzRChHcmFwaGljc0NvbnRleHQzREF0dHJp
YnV0ZXMsIEhvc3RXaW5kb3cqLCBSZW5kZXJTdHlsZSA9IFJlbmRlck9mZnNjcmVlbiwgR3JhcGhp
Y3NDb250ZXh0M0QqIHNoYXJlZENvbnRleHQgPSBudWxscHRyKTsKIApAQCAtMTMxNSw2ICsxMzE5
LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5
KGNvbnN0IEludFJlY3QmID0gSW50UmVjdCgpKTsKICAgICB2b2lkIGF0dGFjaERlcHRoQW5kU3Rl
bmNpbEJ1ZmZlcklmTmVlZGVkKEdMdWludCBpbnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgaW50
IHdpZHRoLCBpbnQgaGVpZ2h0KTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGJvb2wgYWxs
b3dPZmZsaW5lUmVuZGVyZXJzKCk7CisjZW5kaWYKKwogICAgIGludCBtX2N1cnJlbnRXaWR0aCB7
IDAgfTsKICAgICBpbnQgbV9jdXJyZW50SGVpZ2h0IHsgMCB9OwogCkBAIC0xNDkzLDYgKzE1MDEs
OSBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtM0RPYmplY3QgbV92YW8geyAwIH07CiAjZW5kaWYK
IAorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JM
T0NLSU5HKQorICAgIHN0YXRpYyBDR09wZW5HTERpc3BsYXlNYXNrIG1fZGlzcGxheU1hc2s7Cisj
ZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3ND
b250ZXh0M0RDb2NvYS5tbQkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbQkod29ya2luZyBj
b3B5KQpAQCAtNjQsNiArNjQsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29u
c3QgdW5zaWduZWQgc3RhdHVzQ2hlY2tUaHJlc2hvbGQgPSA1OwogCisjaWYgUExBVEZPUk0oTUFD
KSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCitDR09wZW5HTERp
c3BsYXlNYXNrIEdyYXBoaWNzQ29udGV4dDNEOjptX2Rpc3BsYXlNYXNrID0gMDsKKyNlbmRpZgor
CiAjaWYgSEFWRShBUFBMRV9HUkFQSElDU19DT05UUk9MKQogCiBlbnVtIHsKQEAgLTMxNiw3ICsz
MjAsNyBAQCBwdWJsaWM6CiAKICNpZiBVU0UoT1BFTkdMKQogCi1zdGF0aWMgdm9pZCBzZXRQaXhl
bEZvcm1hdChWZWN0b3I8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+JiBhdHRyaWJzLCBpbnQgY29s
b3JCaXRzLCBpbnQgZGVwdGhCaXRzLCBib29sIGFjY2VsZXJhdGVkLCBib29sIHN1cGVyc2FtcGxl
LCBib29sIGNsb3Nlc3QsIGJvb2wgYW50aWFsaWFzLCBib29sIHVzZUdMRVMzKQorc3RhdGljIHZv
aWQgc2V0UGl4ZWxGb3JtYXQoVmVjdG9yPENHTFBpeGVsRm9ybWF0QXR0cmlidXRlPiYgYXR0cmli
cywgaW50IGNvbG9yQml0cywgaW50IGRlcHRoQml0cywgYm9vbCBhY2NlbGVyYXRlZCwgYm9vbCBz
dXBlcnNhbXBsZSwgYm9vbCBjbG9zZXN0LCBib29sIGFudGlhbGlhcywgYm9vbCB1c2VHTEVTMywg
Ym9vbCBhbGxvd09mZmxpbmVSZW5kZXJlcnMpCiB7CiAgICAgYXR0cmlicy5jbGVhcigpOwogICAg
IApAQCAtMzI5LDEwICszMzMsOCBAQCBzdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8
Q0dMUGl4CiAgICAgLy8gYWxsb3dpbmcgdXMgdG8gcmVxdWVzdCB0aGUgaW50ZWdyYXRlZCBncmFw
aGljcyBvbiBhIGR1YWwgR1BVCiAgICAgLy8gc3lzdGVtLCBhbmQgbm90IGZvcmNlIHRoZSBkaXNj
cmV0ZSBHUFUuCiAgICAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5
L21hYy90ZWNobm90ZXMvdG4yMjI5L19pbmRleC5odG1sCi0jaWYgSEFWRShBUFBMRV9HUkFQSElD
U19DT05UUk9MKQotICAgIGlmIChoYXNNdXhhYmxlR1BVKCkpCisgICAgaWYgKGFsbG93T2ZmbGlu
ZVJlbmRlcmVycykKICAgICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQUFsbG93T2ZmbGluZVJl
bmRlcmVycyk7Ci0jZW5kaWYKIAogICAgIGlmIChhY2NlbGVyYXRlZCkKICAgICAgICAgYXR0cmli
cy5hcHBlbmQoa0NHTFBGQUFjY2VsZXJhdGVkKTsKQEAgLTM5Nyw2ICszOTksMzEgQEAgUmVmPEdy
YXBoaWNzQ29udGV4dDNEPiBHcmFwaGljc0NvbnRleHQzRAogICAgIHJldHVybiBjb250ZXh0Owog
fQogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJf
QkxPQ0tJTkcpCitzdGF0aWMgdm9pZCBpZGVudGlmeUFuZFNldEN1cnJlbnRHUFUoQ0dMUGl4ZWxG
b3JtYXRPYmogcGl4ZWxGb3JtYXRPYmosIGludCBudW1QaXhlbEZvcm1hdHMsIENHT3BlbkdMRGlz
cGxheU1hc2sgZGlzcGxheU1hc2tPcGVuR0wsIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QgY29u
dGV4dE9iaikKK3sKKyAgICAvLyBXaGVuIHRoZSBXZWJQcm9jZXNzIGRvZXMgbm90IGhhdmUgYWNj
ZXNzIHRvIHRoZSBXaW5kb3dTZXJ2ZXIsIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIHRl
bGwgd2hpY2ggR1BVIGlzIGNvbm5lY3RlZCB0byBhIGRpc3BsYXkuCisgICAgLy8gVG8gaGVscCBP
cGVuR0wgY2hvb3NlIEdQVSwgaXQgaXMgcG9zc2libGUgdG8gdXNlIHRoZSBmdW5jdGlvbiBDR0xT
ZXRWaXJ0dWFsU2NyZWVuLgorICAgIC8vIFNlZSBjb2RlIGV4YW1wbGUgYXQgaHR0cHM6Ly9kZXZl
bG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvY29udGVudC90ZWNobm90ZXMvdG4yMjI5L19pbmRleC5o
dG1sIy8vYXBwbGVfcmVmL2RvYy91aWQvRFRTNDAwMDg5MjQtQ0gxLVNVQlNFQ1RJT043CisgICAg
CisgICAgaWYgKCFkaXNwbGF5TWFza09wZW5HTCB8fCAhY29udGV4dE9iaikKKyAgICAgICAgcmV0
dXJuOworCisgICAgZm9yIChpbnQgdmlydHVhbFNjcmVlbiA9IDA7IHZpcnR1YWxTY3JlZW4gPCBu
dW1QaXhlbEZvcm1hdHM7IHZpcnR1YWxTY3JlZW4rKykgeworICAgICAgICBHTGludCBkaXNwbGF5
TWFzayA9IDA7CisgICAgICAgIENHTEVycm9yIGVycm9yID0gQ0dMRGVzY3JpYmVQaXhlbEZvcm1h
dChwaXhlbEZvcm1hdE9iaiwgdmlydHVhbFNjcmVlbiwga0NHTFBGQURpc3BsYXlNYXNrLCAmZGlz
cGxheU1hc2spOworICAgICAgICBBU1NFUlQoZXJyb3IgPT0ga0NHTE5vRXJyb3IpOworICAgICAg
ICBpZiAoZXJyb3IgIT0ga0NHTE5vRXJyb3IpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgaWYgKGRpc3BsYXlNYXNrICYgZGlzcGxheU1hc2tPcGVuR0wpIHsKKyAgICAgICAgICAgIGVy
cm9yID0gQ0dMU2V0VmlydHVhbFNjcmVlbihjb250ZXh0T2JqLCB2aXJ0dWFsU2NyZWVuKTsKKyAg
ICAgICAgICAgIEFTU0VSVChlcnJvciA9PSBrQ0dMTm9FcnJvcik7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgIH0KK30KKyNlbmRpZgorCiBHcmFwaGljc0NvbnRleHQzRDo6R3Jh
cGhpY3NDb250ZXh0M0QoR3JhcGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzIGF0dHJzLCBIb3N0V2lu
ZG93KiwgR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlclN0eWxlLCBHcmFwaGljc0NvbnRleHQzRCog
c2hhcmVkQ29udGV4dCkKICAgICA6IG1fYXR0cnMoYXR0cnMpCiAjaWYgUExBVEZPUk0oSU9TKQpA
QCAtNDM4LDE5ICs0NjUsMTkgQEAgR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNE
KEdyYQogICAgIG1fcG93ZXJQcmVmZXJlbmNlVXNlZEZvckNyZWF0aW9uID0gR3JhcGhpY3NDb250
ZXh0M0RQb3dlclByZWZlcmVuY2U6OkRlZmF1bHQ7CiAjZW5kaWYKIAotICAgIHNldFBpeGVsRm9y
bWF0KGF0dHJpYnMsIDMyLCAzMiwgIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciwgdHJ1ZSwg
ZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnVzZUdMRVMzKTsKKyAgICBzZXRQaXhlbEZv
cm1hdChhdHRyaWJzLCAzMiwgMzIsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIsIHRydWUs
IGZhbHNlLCB1c2VNdWx0aXNhbXBsaW5nLCBhdHRycy51c2VHTEVTMywgYWxsb3dPZmZsaW5lUmVu
ZGVyZXJzKCkpOwogICAgIENHTENob29zZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4
ZWxGb3JtYXRPYmosICZudW1QaXhlbEZvcm1hdHMpOwogCiAgICAgaWYgKCFudW1QaXhlbEZvcm1h
dHMpIHsKLSAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9y
Y2VTb2Z0d2FyZVJlbmRlcmVyLCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJz
LnVzZUdMRVMzKTsKKyAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0
cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyLCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcs
IGF0dHJzLnVzZUdMRVMzLCBhbGxvd09mZmxpbmVSZW5kZXJlcnMoKSk7CiAgICAgICAgIENHTENo
b29zZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1QaXhl
bEZvcm1hdHMpOwogCiAgICAgICAgIGlmICghbnVtUGl4ZWxGb3JtYXRzKSB7Ci0gICAgICAgICAg
ICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMTYsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVu
ZGVyZXIsIGZhbHNlLCBmYWxzZSwgdXNlTXVsdGlzYW1wbGluZywgYXR0cnMudXNlR0xFUzMpOwor
ICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDE2LCAhYXR0cnMuZm9yY2VT
b2Z0d2FyZVJlbmRlcmVyLCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnVz
ZUdMRVMzLCBhbGxvd09mZmxpbmVSZW5kZXJlcnMoKSk7CiAgICAgICAgICAgICBDR0xDaG9vc2VQ
aXhlbEZvcm1hdChhdHRyaWJzLmRhdGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3Jt
YXRzKTsKIAogICAgICAgICAgICAgaWYgKCFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIgJiYg
IW51bVBpeGVsRm9ybWF0cykgewotICAgICAgICAgICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJp
YnMsIDMyLCAxNiwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgYXR0cnMudXNlR0xFUzMpOwor
ICAgICAgICAgICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAxNiwgZmFsc2UsIGZh
bHNlLCB0cnVlLCBmYWxzZSwgYXR0cnMudXNlR0xFUzMsIGFsbG93T2ZmbGluZVJlbmRlcmVycygp
KTsKICAgICAgICAgICAgICAgICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJzLmRhdGEoKSwg
JnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKICAgICAgICAgICAgICAgICB1c2VN
dWx0aXNhbXBsaW5nID0gZmFsc2U7CiAgICAgICAgICAgICB9CkBAIC00NjMsNiArNDkwLDExIEBA
IEdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmEKICAgICBDR0xFcnJvciBl
cnIgPSBDR0xDcmVhdGVDb250ZXh0KHBpeGVsRm9ybWF0T2JqLCBzaGFyZWRDb250ZXh0ID8gc2hh
cmVkQ29udGV4dC0+bV9jb250ZXh0T2JqIDogbnVsbHB0ciwgJm1fY29udGV4dE9iaik7CiAgICAg
R0xpbnQgYWJvcnRPbkJsYWNrbGlzdCA9IDA7CiAgICAgQ0dMU2V0UGFyYW1ldGVyKG1fY29udGV4
dE9iaiwga0NHTENQQWJvcnRPbkdQVVJlc3RhcnRTdGF0dXNCbGFja2xpc3RlZCwgJmFib3J0T25C
bGFja2xpc3QpOworICAgIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1Nf
V0lORE9XU0VSVkVSX0JMT0NLSU5HKQorICAgIGlkZW50aWZ5QW5kU2V0Q3VycmVudEdQVShwaXhl
bEZvcm1hdE9iaiwgbnVtUGl4ZWxGb3JtYXRzLCBtX2Rpc3BsYXlNYXNrLCBtX2NvbnRleHRPYmop
OworI2VuZGlmCisKICAgICBDR0xEZXN0cm95UGl4ZWxGb3JtYXQocGl4ZWxGb3JtYXRPYmopOwog
ICAgIAogICAgIGlmIChlcnIgIT0ga0NHTE5vRXJyb3IgfHwgIW1fY29udGV4dE9iaikgewpAQCAt
NzU2LDYgKzc4OCwzNSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpzaW11bGF0ZUNvbnRleHRD
CiAgICAgbWFuYWdlcigpLnVwZGF0ZUFsbENvbnRleHRzKCk7CiB9CiAKKyNpZiBQTEFURk9STShN
QUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3BsYXlNYXNrKENHT3BlbkdMRGlzcGxheU1hc2sg
ZGlzcGxheU1hc2spCit7CisgICAgbV9kaXNwbGF5TWFzayA9IGRpc3BsYXlNYXNrOworfQorI2Vu
ZGlmCisKK2Jvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OmFsbG93T2ZmbGluZVJlbmRlcmVycygpCit7
CisjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxP
Q0tJTkcpCisgICAgLy8gV2hlbiBXaW5kb3dTZXJ2ZXIgYWNjZXNzIGlzIGJsb2NrZWQgaW4gdGhl
IFdlYlByb2Nlc3MsIHRoZXJlIGlzIG5vIHdheQorICAgIC8vIGZvciBPcGVuR0wgdG8gZGVjaWRl
IHdoaWNoIEdQVSBpcyBjb25uZWN0ZWQgdG8gYSBkaXNwbGF5IChvbmxpbmUvb2ZmbGluZSkuCisg
ICAgLy8gT3BlbkdMIHdpbGwgdGhlbiBjb25zaWRlciBhbGwgR1BVcywgb3IgcmVuZGVyZXJzLCBh
cyBvZmZsaW5lLCB3aGljaCBtZWFucworICAgIC8vIGFsbCBvZmZsaW5lIHJlbmRlcmVycyBuZWVk
IHRvIGJlIGNvbnNpZGVyZWQgd2hlbiBmaW5kaW5nIGEgcGl4ZWwgZm9ybWF0LgorICAgIC8vIElu
IFdlYktpdCBsZWdhY3ksIHRoZXJlIHdpbGwgc3RpbGwgYmUgYSBXaW5kb3dTZXJ2ZXIgY29ubmVj
dGlvbiwgYW5kCisgICAgLy8gbV9kaXNwbGF5TWFzayB3aWxsIGFsd2F5cyBiZSB6ZXJvIGluIHRo
aXMgY2FzZS4KKyAgICBib29sIGhhc1dpbmRvd1NlcnZlckNvbm5lY3Rpb24gPSAhbV9kaXNwbGF5
TWFzazsKKyAgICBpZiAoIWhhc1dpbmRvd1NlcnZlckNvbm5lY3Rpb24pCisgICAgICAgIHJldHVy
biB0cnVlOworI2VuZGlmCisgICAgICAgIAorI2lmIEhBVkUoQVBQTEVfR1JBUEhJQ1NfQ09OVFJP
TCkKKyAgICBpZiAoaGFzTXV4YWJsZUdQVSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRp
ZgorICAgIAorICAgIHJldHVybiBmYWxzZTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdS
QVBISUNTX0NPTlRFWFRfM0QpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjI5OTg5KQorKysgU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAx
OC0wMy0yNiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
VGhlIGxheW91dCB0ZXN0IGZhc3QvY2FudmFzL3dlYmdsL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBp
cyB0aW1pbmcgb3V0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgzOTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODc1Njg2OT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIE9wZW5HTCBkaXNw
bGF5IG1hc2sgdG8gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyB3aGVuIHRoZSBkaXNwbGF5IElEIGlz
IGNoYW5naW5nLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6b3BlbkdMRGlz
cGxheU1hc2tDaGFuZ2VkKToKKwogMjAxOC0wMy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbRXh0cmEgem9vbSBtb2RlXSBSZWZhY3RvciBpbnB1
dCB2aWV3IGNvbnRyb2xsZXIgcHJlc2VudGF0aW9uIGFuZCBkaXNtaXNzYWwgaGVscGVycwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyMjk5
NzQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNjQ2LDYgKzI2NDYsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd1Nj
cmVlbkRpZENoYW5nZQogICAgICAgICByZXR1cm47CiAKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OldpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQpLCBtX3BhZ2VJ
RCk7CisKKyNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZF
Ul9CTE9DS0lORykKKyAgICBhdXRvIGN1cnJlbnREaXNwbGF5bWFzayA9IENHRGlzcGxheUlEVG9P
cGVuR0xEaXNwbGF5TWFzayhkaXNwbGF5SUQpOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6T3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKGN1cnJlbnREaXNwbGF5bWFzayks
IG1fcGFnZUlEKTsKKyNlbmRpZgogfQogCiBmbG9hdCBXZWJQYWdlUHJveHk6OmRldmljZVNjYWxl
RmFjdG9yKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTA2NCw2ICsxMDY0LDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmdBcHBsaWNhdGlvbk1hbmlmZXN0KHVpbnQ2
NF90LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+Jik7
CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9X
U0VSVkVSX0JMT0NLSU5HKQorICAgIHZvaWQgb3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQz
Ml90IGRpc3BsYXlNYXNrKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0
X3QgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4J
KHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTUwOCw0ICs1MDgsOCBAQCBtZXNz
YWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICNpZiBFTkFCTEUoQVBQTElDQVRJT05f
TUFOSUZFU1QpCiAgICAgR2V0QXBwbGljYXRpb25NYW5pZmVzdChXZWJLaXQ6OkNhbGxiYWNrSUQg
Y2FsbGJhY2tJRCkKICNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJP
Q0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAgT3BlbkdMRGlzcGxheU1hc2tDaGFuZ2Vk
KHVpbnQzMl90IGRpc3BsYXlNYXNrKQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkocmV2aXNpb24gMjI5
OTc0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRnJh
bWVMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQz
RC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IVE1MQ29udmVydGVyLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVzdFJlc3Vs
dC5oPgpAQCAtMTE5MCw2ICsxMTkxLDEyIEBAIHZvaWQgV2ViUGFnZTo6c2V0U2hvdWxkUGxheVRv
UGxheWJhY2tUYXIKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VS
VkVSX0JMT0NLSU5HKQordm9pZCBXZWJQYWdlOjpvcGVuR0xEaXNwbGF5TWFza0NoYW5nZWQodWlu
dDMyX3QgZGlzcGxheU1hc2spCit7CisgICAgR3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERp
c3BsYXlNYXNrKGRpc3BsYXlNYXNrKTsKK30KKyNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAo=
</data>
<flag name="review"
          id="355140"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
    <flag name="commit-queue"
          id="355143"
          type_id="3"
          status="-"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336625</attachid>
            <date>2018-03-27 15:35:14 -0700</date>
            <delta_ts>2018-03-27 16:39:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183923-20180327153513.patch</filename>
            <type>text/plain</type>
            <size>18047</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjk5OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAzLTI3ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgbGF5b3V0IHRlc3QgZmFzdC9jYW52YXMv
d2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sIGlzIHRpbWluZyBvdXQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MjMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM4NzU2ODY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0u
CisKKyAgICAgICAgQWRkIGNvbXBpbGUgZ3VhcmQgZm9yIGJsb2NraW5nIG9mIHRoZSBXaW5kb3dT
ZXJ2ZXIgaW4gdGhlIFdlYlByb2Nlc3MuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMu
aDoKKwogMjAxOC0wMy0yNiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgYW5kIGFkb3B0IEhBVkUoQ09SRV9BTklNQVRJT05fUkVOREVSX1NFUlZF
UikKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAkocmV2aXNpb24gMjI5OTc0KQorKysgU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjMxLDYgKzIz
MSwxMCBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjZGVmaW5l
IEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFC
TEVfV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisjZGVmaW5lIEVOQUJMRV9XRUJQ
Uk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORyAwCisjZW5kaWYKKwogI2VuZGlmIC8qIFBMQVRG
T1JNKE1BQykgKi8KIAogI2lmIFBMQVRGT1JNKENPQ09BKQpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMjMwMDA3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDAgQEAKKzIwMTgtMDMtMjcgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFRoZSBsYXlvdXQgdGVzdCBmYXN0L2NhbnZhcy93ZWJnbC9yZWFk
LXBpeGVscy10ZXN0Lmh0bWwgaXMgdGltaW5nIG91dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzkyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
Mzg3NTY4Njk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAg
ICBUaGUgdGVzdCBpcyB0aW1pbmcgb3V0IHdoZW4gd2UgZG8gbm90IGludGVyYWN0IGRpcmVjdGx5
IHdpdGggdGhlIFdpbmRvd1NlcnZlciwgY2F1c2luZworICAgICAgICBPcGVuR0wgdG8gZmFsbCBi
YWNrIHRvIHNvZnR3YXJlIHJlbmRlcmluZy4gSW4gdGhpcyBtb2RlLCBhbnkgY2FsbCB0byBDR0xD
aG9vc2VQaXhlbEZvcm1hdAorICAgICAgICByZXF1ZXN0aW5nIGFuIGFjY2VsZXJhdGVkIHBpeGVs
IGZvcm1hdCB3aWxsIGZhaWwgYmVjYXVzZSBpdCBjYW5ub3QgZGV0ZXJtaW5lIHdoaWNoIEdQVSBp
cworICAgICAgICBjb25uZWN0ZWQgdG8gdGhlIGRpc3BsYXkuCisKKyAgICAgICAgT3BlbkdMIHRy
ZWF0cyBhbGwgR1BVcyBhcyBpZiB0aGV5IHdlcmUgb2ZmbGluZSB3aGVuIHVzZWQgaW4gYSBwcm9j
ZXNzIChsaWtlIHRoZSBXZWJDb250ZW50CisgICAgICAgIHByb2Nlc3MpIHRoYXQgZG9lcyBub3Qg
ZGlyZWN0bHkgY29udHJvbCB0aGUgZGlzcGxheS4KKworICAgICAgICBXZSBjYW4gZ2V0IGNvcnJl
Y3QgYmVoYXZpb3IgaWYgd2UgdGVsbCBPcGVuR0wgd2hpY2ggR1BVIGlzIGN1cnJlbnRseSBjb25u
ZWN0ZWQgdG8gdGhlCisgICAgICAgIGRpc3BsYXksIGFuZCBpZiB3ZSBpbnN0cnVjdCBDR0xDaG9v
c2VQaXhlbEZvcm1hdCB0byBjcmVhdGUgYW4gb2ZmbGluZSByZW5kZXJlciBwaXhlbCBmb3JtYXQK
KyAgICAgICAgYnkgaW5jbHVkaW5nIHRoZSAna0NHTFBGQUFsbG93T2ZmbGluZVJlbmRlcmVycycg
ZmxhZyBpbiBpdHMgYXJndW1lbnRzLgorCisgICAgICAgIFdlIGNhbiB1c2UgQ0dMU2V0VmlydHVh
bFNjcmVlbiB3aXRoIGFuIE9wZW5HTCBkaXNwbGF5IG1hc2sgdGhhdCB0ZWxscyB0aGUgT3BlbkdM
IGZyYW1ld29yaworICAgICAgICB3aGljaCBHUFUgaXQgc2hvdWxkIHVzZS4KKworICAgICAgICBT
ZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvY29udGVudC90ZWNobm90ZXMv
dG4yMjI5L19pbmRleC5odG1sIy8vYXBwbGVfcmVmL2RvYy91aWQvRFRTNDAwMDg5MjQtQ0gxLVNV
QlNFQ1RJT043CisgICAgICAgIGZvciBkZXRhaWxzIG9uIGhvdyB0aGUgdmlydHVhbCBzY3JlZW4g
aXMgZm91bmQgZnJvbSB0aGUgT3BlbkdMIGRpc3BsYXkgbWFzay4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFw
aGljc0NvbnRleHQzRENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6c2V0UGl4ZWxGb3JtYXQp
OgorICAgICAgICAoV2ViQ29yZTo6aWRlbnRpZnlBbmRTZXRDdXJyZW50R1BVKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRCk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6c2V0T3BlbkdMRGlzcGxheU1hc2spOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmFsbG93T2ZmbGluZVJlbmRlcmVycyk6
CisKIDIwMTgtMDMtMjcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBNb3ZlIG9ubGluZSBzdGF0ZSBkZXRlY3Rpb24gZnJvbSB0aGUgV2ViUHJvY2VzcyB0byB0aGUg
TmV0d29ya1Byb2Nlc3MKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTIy
Myw3ICsxMjIzLDcgQEAKIAkJNDZFRkFGMTIxRTVGQjlGMTAwRTdGMzRCIC8qIExvd1Bvd2VyTW9k
ZU5vdGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NkVGQUYxMDFFNUZCOUUxMDBFN0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkZDQjYxODFB
NzA4MjBFMDBDNUEyMUUgLyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDM3QjM3NTE1QzFBN0UxMDA2REM4OTgg
LyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDkwNzA3RTYxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2Vi
S2l0QnJpZGdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5MDcwN0U0MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgKi87
IH07Ci0JCTQ5MDcwN0U3MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkwNzA3RTUxMjE5
QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggKi87IH07CisJCTQ5MDcwN0U3MTIx
OUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkwNzA3RTUxMjE5QzA0MzAwRDkwRTUxIC8qIEFO
R0xFV2ViS2l0QnJpZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDkyOTFFNEIxMzQxNzJDODAwRTc1M0RFIC8qIEltYWdlUmVuZGVyaW5nTW9k
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkyOTFF
NEExMzQxNzJDODAwRTc1M0RFIC8qIEltYWdlUmVuZGVyaW5nTW9kZS5oICovOyB9OwogCQk0OTNF
NUUwOTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTNFNUUwODEyRDY0MjA1MDAw
MjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDk0NUJGRDQxM0NGODA5MDAwQ0MzQjM4IC8qIFRy
YW5zZm9ybVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTQ1QkZEMjEzQ0Y4MDkwMDBDQzNCMzggLyogVHJhbnNmb3JtU3RhdGUuaCAqLzsgfTsK
QEAgLTEyNzAsNyArMTI3MCw3IEBACiAJCTQ5QzdCOUUzMTA0MkQzMkYwMDA5RDQ0NyAvKiBXZWJH
TFNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDlDN0I5QzMxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMU2hhZGVyLmggKi87IH07CiAJCTQ5QzdC
OUU1MTA0MkQzMkYwMDA5RDQ0NyAvKiBXZWJHTFRleHR1cmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlDN0I5QzUxMDQyRDMyRjAwMDlENDQ3IC8q
IFdlYkdMVGV4dHVyZS5jcHAgKi87IH07CiAJCTQ5QzdCOUU2MTA0MkQzMkYwMDA5RDQ0NyAvKiBX
ZWJHTFRleHR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5QzdCOUM2MTA0MkQzMkYwMDA5RDQ0NyAvKiBXZWJHTFRleHR1cmUuaCAqLzsgfTsKLQkJ
NDlDN0I5RkMxMDQyRDM2NTAwMDlENDQ3IC8qIEdyYXBoaWNzQ29udGV4dDNELmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlGQjEwNDJEMzY1MDAw
OUQ0NDcgLyogR3JhcGhpY3NDb250ZXh0M0QuaCAqLzsgfTsKKwkJNDlDN0I5RkMxMDQyRDM2NTAw
MDlENDQ3IC8qIEdyYXBoaWNzQ29udGV4dDNELmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QjlGQjEwNDJEMzY1MDAwOUQ0NDcgLyogR3JhcGhpY3ND
b250ZXh0M0QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0OUQ1REMyQzBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RDVE
QzI4MEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5RDVEQzJFMEY0
MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlENURDMkEwRjQyM0E3MzAw
OEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlFOTExQzQwRUY4NkQ0NzAwOUQw
Q0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUU5MTFCNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3Jt
YXRpb25NYXRyaXguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0M0QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oCShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjgyLDYgKzEyODIsMTAgQEAgcHVibGljOgogICAgIEdDM0RlbnVtIGN1cnJlbnRCb3VuZFRhcmdl
dCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUuY3VycmVudEJvdW5kVGFyZ2V0KCk7IH0KICAgICB1
bnNpZ25lZCB0ZXh0dXJlU2VlZChHQzNEdWludCB0ZXh0dXJlKSB7IHJldHVybiBtX3N0YXRlLnRl
eHR1cmVTZWVkQ291bnQuY291bnQodGV4dHVyZSk7IH0KIAorI2lmIFBMQVRGT1JNKE1BQykgJiYg
RU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyB2b2lkIHNldE9wZW5HTERpc3BsYXlNYXNrKENHT3BlbkdMRGlzcGxheU1hc2sp
OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgR3JhcGhpY3NDb250ZXh0M0QoR3JhcGhpY3NDb250
ZXh0M0RBdHRyaWJ1dGVzLCBIb3N0V2luZG93KiwgUmVuZGVyU3R5bGUgPSBSZW5kZXJPZmZzY3Jl
ZW4sIEdyYXBoaWNzQ29udGV4dDNEKiBzaGFyZWRDb250ZXh0ID0gbnVsbHB0cik7CiAKQEAgLTEz
MTUsNiArMTMxOSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVzb2x2ZU11bHRpc2FtcGxpbmdJ
Zk5lY2Vzc2FyeShjb25zdCBJbnRSZWN0JiA9IEludFJlY3QoKSk7CiAgICAgdm9pZCBhdHRhY2hE
ZXB0aEFuZFN0ZW5jaWxCdWZmZXJJZk5lZWRlZChHTHVpbnQgaW50ZXJuYWxEZXB0aFN0ZW5jaWxG
b3JtYXQsIGludCB3aWR0aCwgaW50IGhlaWdodCk7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAg
ICBib29sIGFsbG93T2ZmbGluZVJlbmRlcmVycygpIGNvbnN0OworI2VuZGlmCisKICAgICBpbnQg
bV9jdXJyZW50V2lkdGggeyAwIH07CiAgICAgaW50IG1fY3VycmVudEhlaWdodCB7IDAgfTsKIApA
QCAtMTQ5Myw2ICsxNTAxLDkgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybTNET2JqZWN0IG1fdmFv
IHsgMCB9OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNT
X1dJTkRPV1NFUlZFUl9CTE9DS0lORykKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxDR09wZW5H
TERpc3BsYXlNYXNrPiBtX2Rpc3BsYXlNYXNrOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9H
cmFwaGljc0NvbnRleHQzRENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0JKHJldmlzaW9u
IDIyOTk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBo
aWNzQ29udGV4dDNEQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIHN0YXR1c0NoZWNrVGhy
ZXNob2xkID0gNTsKIAorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lO
RE9XU0VSVkVSX0JMT0NLSU5HKQorc3RkOjpvcHRpb25hbDxDR09wZW5HTERpc3BsYXlNYXNrPiBH
cmFwaGljc0NvbnRleHQzRDo6bV9kaXNwbGF5TWFzazsKKyNlbmRpZgorCiAjaWYgSEFWRShBUFBM
RV9HUkFQSElDU19DT05UUk9MKQogCiBlbnVtIHsKQEAgLTMxNiw3ICszMjAsNyBAQCBwdWJsaWM6
CiAKICNpZiBVU0UoT1BFTkdMKQogCi1zdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8
Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+JiBhdHRyaWJzLCBpbnQgY29sb3JCaXRzLCBpbnQgZGVw
dGhCaXRzLCBib29sIGFjY2VsZXJhdGVkLCBib29sIHN1cGVyc2FtcGxlLCBib29sIGNsb3Nlc3Qs
IGJvb2wgYW50aWFsaWFzLCBib29sIHVzZUdMRVMzKQorc3RhdGljIHZvaWQgc2V0UGl4ZWxGb3Jt
YXQoVmVjdG9yPENHTFBpeGVsRm9ybWF0QXR0cmlidXRlPiYgYXR0cmlicywgaW50IGNvbG9yQml0
cywgaW50IGRlcHRoQml0cywgYm9vbCBhY2NlbGVyYXRlZCwgYm9vbCBzdXBlcnNhbXBsZSwgYm9v
bCBjbG9zZXN0LCBib29sIGFudGlhbGlhcywgYm9vbCB1c2VHTEVTMywgYm9vbCBhbGxvd09mZmxp
bmVSZW5kZXJlcnMpCiB7CiAgICAgYXR0cmlicy5jbGVhcigpOwogICAgIApAQCAtMzI5LDEwICsz
MzMsOCBAQCBzdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8Q0dMUGl4CiAgICAgLy8g
YWxsb3dpbmcgdXMgdG8gcmVxdWVzdCB0aGUgaW50ZWdyYXRlZCBncmFwaGljcyBvbiBhIGR1YWwg
R1BVCiAgICAgLy8gc3lzdGVtLCBhbmQgbm90IGZvcmNlIHRoZSBkaXNjcmV0ZSBHUFUuCiAgICAg
Ly8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy90ZWNobm90ZXMv
dG4yMjI5L19pbmRleC5odG1sCi0jaWYgSEFWRShBUFBMRV9HUkFQSElDU19DT05UUk9MKQotICAg
IGlmIChoYXNNdXhhYmxlR1BVKCkpCisgICAgaWYgKGFsbG93T2ZmbGluZVJlbmRlcmVycykKICAg
ICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQUFsbG93T2ZmbGluZVJlbmRlcmVycyk7Ci0jZW5k
aWYKIAogICAgIGlmIChhY2NlbGVyYXRlZCkKICAgICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBG
QUFjY2VsZXJhdGVkKTsKQEAgLTM5Nyw2ICszOTksMzEgQEAgUmVmPEdyYXBoaWNzQ29udGV4dDNE
PiBHcmFwaGljc0NvbnRleHQzRAogICAgIHJldHVybiBjb250ZXh0OwogfQogCisjaWYgUExBVEZP
Uk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCitzdGF0
aWMgdm9pZCBpZGVudGlmeUFuZFNldEN1cnJlbnRHUFUoQ0dMUGl4ZWxGb3JtYXRPYmogcGl4ZWxG
b3JtYXRPYmosIGludCBudW1QaXhlbEZvcm1hdHMsIENHT3BlbkdMRGlzcGxheU1hc2sgZGlzcGxh
eU1hc2tPcGVuR0wsIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QgY29udGV4dE9iaikKK3sKKyAg
ICAvLyBXaGVuIHRoZSBXZWJQcm9jZXNzIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRvIHRoZSBXaW5k
b3dTZXJ2ZXIsIHRoZXJlIGlzIG5vIHdheSBmb3IgT3BlbkdMIHRvIHRlbGwgd2hpY2ggR1BVIGlz
IGNvbm5lY3RlZCB0byBhIGRpc3BsYXkuCisgICAgLy8gQ0dMU2V0VmlydHVhbFNjcmVlbiBjYW4g
YmUgdXNlZCB0byB0ZWxsIE9wZW5HTCB3aGljaCBHUFUgaXQgc2hvdWxkIGJlIHVzaW5nLgorICAg
IC8vIFNlZSBjb2RlIGV4YW1wbGUgYXQgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJh
cnkvY29udGVudC90ZWNobm90ZXMvdG4yMjI5L19pbmRleC5odG1sIy8vYXBwbGVfcmVmL2RvYy91
aWQvRFRTNDAwMDg5MjQtQ0gxLVNVQlNFQ1RJT043CisgICAgCisgICAgaWYgKCFkaXNwbGF5TWFz
a09wZW5HTCB8fCAhY29udGV4dE9iaikKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yIChpbnQg
dmlydHVhbFNjcmVlbiA9IDA7IHZpcnR1YWxTY3JlZW4gPCBudW1QaXhlbEZvcm1hdHM7ICsrdmly
dHVhbFNjcmVlbikgeworICAgICAgICBHTGludCBkaXNwbGF5TWFzayA9IDA7CisgICAgICAgIENH
TEVycm9yIGVycm9yID0gQ0dMRGVzY3JpYmVQaXhlbEZvcm1hdChwaXhlbEZvcm1hdE9iaiwgdmly
dHVhbFNjcmVlbiwga0NHTFBGQURpc3BsYXlNYXNrLCAmZGlzcGxheU1hc2spOworICAgICAgICBB
U1NFUlQoZXJyb3IgPT0ga0NHTE5vRXJyb3IpOworICAgICAgICBpZiAoZXJyb3IgIT0ga0NHTE5v
RXJyb3IpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKGRpc3BsYXlNYXNrICYg
ZGlzcGxheU1hc2tPcGVuR0wpIHsKKyAgICAgICAgICAgIGVycm9yID0gQ0dMU2V0VmlydHVhbFNj
cmVlbihjb250ZXh0T2JqLCB2aXJ0dWFsU2NyZWVuKTsKKyAgICAgICAgICAgIEFTU0VSVChlcnJv
ciA9PSBrQ0dMTm9FcnJvcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0K
K30KKyNlbmRpZgorCiBHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QoR3JhcGhp
Y3NDb250ZXh0M0RBdHRyaWJ1dGVzIGF0dHJzLCBIb3N0V2luZG93KiwgR3JhcGhpY3NDb250ZXh0
M0Q6OlJlbmRlclN0eWxlLCBHcmFwaGljc0NvbnRleHQzRCogc2hhcmVkQ29udGV4dCkKICAgICA6
IG1fYXR0cnMoYXR0cnMpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNDM4LDE5ICs0NjUsMTkgQEAg
R3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKEdyYQogICAgIG1fcG93ZXJQcmVm
ZXJlbmNlVXNlZEZvckNyZWF0aW9uID0gR3JhcGhpY3NDb250ZXh0M0RQb3dlclByZWZlcmVuY2U6
OkRlZmF1bHQ7CiAjZW5kaWYKIAotICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAzMiwg
IWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciwgdHJ1ZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxp
bmcsIGF0dHJzLnVzZUdMRVMzKTsKKyAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMzIs
ICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIsIHRydWUsIGZhbHNlLCB1c2VNdWx0aXNhbXBs
aW5nLCBhdHRycy51c2VHTEVTMywgYWxsb3dPZmZsaW5lUmVuZGVyZXJzKCkpOwogICAgIENHTENo
b29zZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1QaXhl
bEZvcm1hdHMpOwogCiAgICAgaWYgKCFudW1QaXhlbEZvcm1hdHMpIHsKLSAgICAgICAgc2V0UGl4
ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyLCBm
YWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnVzZUdMRVMzKTsKKyAgICAgICAg
c2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRl
cmVyLCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnVzZUdMRVMzLCBhbGxv
d09mZmxpbmVSZW5kZXJlcnMoKSk7CiAgICAgICAgIENHTENob29zZVBpeGVsRm9ybWF0KGF0dHJp
YnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1QaXhlbEZvcm1hdHMpOwogCiAgICAgICAg
IGlmICghbnVtUGl4ZWxGb3JtYXRzKSB7Ci0gICAgICAgICAgICBzZXRQaXhlbEZvcm1hdChhdHRy
aWJzLCAzMiwgMTYsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIsIGZhbHNlLCBmYWxzZSwg
dXNlTXVsdGlzYW1wbGluZywgYXR0cnMudXNlR0xFUzMpOworICAgICAgICAgICAgc2V0UGl4ZWxG
b3JtYXQoYXR0cmlicywgMzIsIDE2LCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyLCBmYWxz
ZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnVzZUdMRVMzLCBhbGxvd09mZmxpbmVS
ZW5kZXJlcnMoKSk7CiAgICAgICAgICAgICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJzLmRh
dGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKIAogICAgICAgICAgICAg
aWYgKCFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIgJiYgIW51bVBpeGVsRm9ybWF0cykgewot
ICAgICAgICAgICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAxNiwgZmFsc2UsIGZh
bHNlLCB0cnVlLCBmYWxzZSwgYXR0cnMudXNlR0xFUzMpOworICAgICAgICAgICAgICAgIHNldFBp
eGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAxNiwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgYXR0
cnMudXNlR0xFUzMsIGFsbG93T2ZmbGluZVJlbmRlcmVycygpKTsKICAgICAgICAgICAgICAgICBD
R0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJzLmRhdGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVt
UGl4ZWxGb3JtYXRzKTsKICAgICAgICAgICAgICAgICB1c2VNdWx0aXNhbXBsaW5nID0gZmFsc2U7
CiAgICAgICAgICAgICB9CkBAIC00NjMsNiArNDkwLDEyIEBAIEdyYXBoaWNzQ29udGV4dDNEOjpH
cmFwaGljc0NvbnRleHQzRChHcmEKICAgICBDR0xFcnJvciBlcnIgPSBDR0xDcmVhdGVDb250ZXh0
KHBpeGVsRm9ybWF0T2JqLCBzaGFyZWRDb250ZXh0ID8gc2hhcmVkQ29udGV4dC0+bV9jb250ZXh0
T2JqIDogbnVsbHB0ciwgJm1fY29udGV4dE9iaik7CiAgICAgR0xpbnQgYWJvcnRPbkJsYWNrbGlz
dCA9IDA7CiAgICAgQ0dMU2V0UGFyYW1ldGVyKG1fY29udGV4dE9iaiwga0NHTENQQWJvcnRPbkdQ
VVJlc3RhcnRTdGF0dXNCbGFja2xpc3RlZCwgJmFib3J0T25CbGFja2xpc3QpOworICAgIAorI2lm
IFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5H
KQorICAgIGlmIChtX2Rpc3BsYXlNYXNrLmhhc192YWx1ZSgpKQorICAgICAgICBpZGVudGlmeUFu
ZFNldEN1cnJlbnRHUFUocGl4ZWxGb3JtYXRPYmosIG51bVBpeGVsRm9ybWF0cywgbV9kaXNwbGF5
TWFzay52YWx1ZSgpLCBtX2NvbnRleHRPYmopOworI2VuZGlmCisKICAgICBDR0xEZXN0cm95UGl4
ZWxGb3JtYXQocGl4ZWxGb3JtYXRPYmopOwogICAgIAogICAgIGlmIChlcnIgIT0ga0NHTE5vRXJy
b3IgfHwgIW1fY29udGV4dE9iaikgewpAQCAtNzU2LDYgKzc4OSwzNCBAQCB2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjpzaW11bGF0ZUNvbnRleHRDCiAgICAgbWFuYWdlcigpLnVwZGF0ZUFsbENvbnRl
eHRzKCk7CiB9CiAKKyNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRP
V1NFUlZFUl9CTE9DS0lORykKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3Bs
YXlNYXNrKENHT3BlbkdMRGlzcGxheU1hc2sgZGlzcGxheU1hc2spCit7CisgICAgbV9kaXNwbGF5
TWFzayA9IGRpc3BsYXlNYXNrOworfQorI2VuZGlmCisKK2Jvb2wgR3JhcGhpY3NDb250ZXh0M0Q6
OmFsbG93T2ZmbGluZVJlbmRlcmVycygpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0oTUFDKSAmJiBF
TkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAgLy8gV2hlbiBXaW5k
b3dTZXJ2ZXIgYWNjZXNzIGlzIGJsb2NrZWQgaW4gdGhlIFdlYlByb2Nlc3MsIHRoZXJlIGlzIG5v
IHdheQorICAgIC8vIGZvciBPcGVuR0wgdG8gZGVjaWRlIHdoaWNoIEdQVSBpcyBjb25uZWN0ZWQg
dG8gYSBkaXNwbGF5IChvbmxpbmUvb2ZmbGluZSkuCisgICAgLy8gT3BlbkdMIHdpbGwgdGhlbiBj
b25zaWRlciBhbGwgR1BVcywgb3IgcmVuZGVyZXJzLCBhcyBvZmZsaW5lLCB3aGljaCBtZWFucwor
ICAgIC8vIGFsbCBvZmZsaW5lIHJlbmRlcmVycyBuZWVkIHRvIGJlIGNvbnNpZGVyZWQgd2hlbiBm
aW5kaW5nIGEgcGl4ZWwgZm9ybWF0LgorICAgIC8vIEluIFdlYktpdCBsZWdhY3ksIHRoZXJlIHdp
bGwgc3RpbGwgYmUgYSBXaW5kb3dTZXJ2ZXIgY29ubmVjdGlvbiwgYW5kCisgICAgLy8gbV9kaXNw
bGF5TWFzayB3aWxsIG5vdCBiZSBzZXQgaW4gdGhpcyBjYXNlLgorICAgIGlmIChtX2Rpc3BsYXlN
YXNrLmhhc192YWx1ZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorICAgICAgICAK
KyNpZiBIQVZFKEFQUExFX0dSQVBISUNTX0NPTlRST0wpCisgICAgaWYgKGhhc011eGFibGVHUFUo
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKyAgICAKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShHUkFQSElDU19DT05URVhUXzNEKQpJbmRleDog
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cJKHJldmlzaW9uIDIyOTk4OSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTgtMDMtMjYgIFBlciBBcm5lIFZvbGxhbiAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFRoZSBsYXlvdXQgdGVzdCBmYXN0L2NhbnZh
cy93ZWJnbC9yZWFkLXBpeGVscy10ZXN0Lmh0bWwgaXMgdGltaW5nIG91dC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzkyMworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzg3NTY4Njk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hh
bS4KKworICAgICAgICBTZW5kIE9wZW5HTCBkaXNwbGF5IG1hc2sgdG8gdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aGVuIHRoZSBkaXNwbGF5IElEIGlzIGNoYW5naW5nLgorCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6b3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKToKKwogMjAxOC0w
My0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBb
RXh0cmEgem9vbSBtb2RlXSBSZWZhY3RvciBpbnB1dCB2aWV3IGNvbnRyb2xsZXIgcHJlc2VudGF0
aW9uIGFuZCBkaXNtaXNzYWwgaGVscGVycwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyMjk5NzQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQ2LDYgKzI2NDYsMTEg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd1NjcmVlbkRpZENoYW5nZQogICAgICAgICByZXR1
cm47CiAKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OldpbmRvd1NjcmVl
bkRpZENoYW5nZShkaXNwbGF5SUQpLCBtX3BhZ2VJRCk7CisKKyNpZiBQTEFURk9STShNQUMpICYm
IEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKKyAgICBhdXRvIGN1cnJl
bnREaXNwbGF5bWFzayA9IENHRGlzcGxheUlEVG9PcGVuR0xEaXNwbGF5TWFzayhkaXNwbGF5SUQp
OworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6T3BlbkdMRGlzcGxheU1h
c2tDaGFuZ2VkKGN1cnJlbnREaXNwbGF5bWFzayksIG1fcGFnZUlEKTsKKyNlbmRpZgogfQogCiBm
bG9hdCBXZWJQYWdlUHJveHk6OmRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDIyOTk3NCkK
KysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBj
b3B5KQpAQCAtMTA2NCw2ICsxMDY0LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEZpbmlzaExv
YWRpbmdBcHBsaWNhdGlvbk1hbmlmZXN0KHVpbnQ2NF90LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+Jik7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1B
QykgJiYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQorICAgIHZvaWQg
b3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQzMl90IGRpc3BsYXlNYXNrKTsKKyNlbmRpZgor
CiBwcml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzJiYpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDIyOTk3NCkKKysrIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtpbmcg
Y29weSkKQEAgLTUwOCw0ICs1MDgsOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2Vp
dmVyIHsKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgR2V0QXBwbGljYXRp
b25NYW5pZmVzdChXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICNlbmRpZgorCisjaWYg
UExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcp
CisgICAgT3BlbkdMRGlzcGxheU1hc2tDaGFuZ2VkKHVpbnQzMl90IGRpc3BsYXlNYXNrKQorI2Vu
ZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFn
ZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvV2ViUGFnZU1hYy5tbQkocmV2aXNpb24gMjI5OTc0KQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY2LDYg
KzY2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2lt
cG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQzRC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IVE1M
Q29udmVydGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5oPgpAQCAtMTE5MCw2ICsxMTkxLDEyIEBA
IHZvaWQgV2ViUGFnZTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXIKIH0KICNlbmRpZgogCisj
aWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQordm9pZCBXZWJQYWdl
OjpvcGVuR0xEaXNwbGF5TWFza0NoYW5nZWQodWludDMyX3QgZGlzcGxheU1hc2spCit7CisgICAg
R3JhcGhpY3NDb250ZXh0M0Q6OnNldE9wZW5HTERpc3BsYXlNYXNrKGRpc3BsYXlNYXNrKTsKK30K
KyNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>