<?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>194830</bug_id>
          
          <creation_ts>2019-02-19 14:48:33 -0800</creation_ts>
          <short_desc>[WPE] Do not create a PlatformDisplay in the Service Worker process</short_desc>
          <delta_ts>2019-03-05 03:59:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Loïc Yhuel">loic.yhuel</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>olivier.blin</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1507838</commentid>
    <comment_count>0</comment_count>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-19 14:48:33 -0800</bug_when>
    <thetext>[WPE] Do not create a PlatformDisplay in the Service Worker process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507856</commentid>
    <comment_count>1</comment_count>
      <attachid>362440</attachid>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-19 15:01:54 -0800</bug_when>
    <thetext>Created attachment 362440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508021</commentid>
    <comment_count>2</comment_count>
      <attachid>362440</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-20 00:25:36 -0800</bug_when>
    <thetext>Comment on attachment 362440
Patch

I think this will be easier after bug #194494</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508039</commentid>
    <comment_count>3</comment_count>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-20 02:39:01 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #2)
&gt; Comment on attachment 362440 [details]
&gt; Patch
&gt; 
&gt; I think this will be easier after bug #194494

We would need to add a parameter to WebProcessPool::platformInitializeWebProcess (in WebProcessPool::initializeNewWebProcess, the argument would be process.isServiceWorkerProcess()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508040</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-20 02:46:41 -0800</bug_when>
    <thetext>(In reply to Loïc Yhuel from comment #3)
&gt; (In reply to Carlos Garcia Campos from comment #2)
&gt; &gt; Comment on attachment 362440 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; I think this will be easier after bug #194494
&gt; 
&gt; We would need to add a parameter to
&gt; WebProcessPool::platformInitializeWebProcess (in
&gt; WebProcessPool::initializeNewWebProcess, the argument would be
&gt; process.isServiceWorkerProcess()).

I would add an implementation of WebProcess::platformInitializeProcess to initialize m_processType (we need to make this non-mac specific in WebProcess.h). Then you can simply check m_pocessType from platformInitializeWebProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508050</commentid>
    <comment_count>5</comment_count>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-20 04:11:30 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #4)
&gt; (In reply to Loïc Yhuel from comment #3)
&gt; &gt; (In reply to Carlos Garcia Campos from comment #2)
&gt; &gt; &gt; Comment on attachment 362440 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; I think this will be easier after bug #194494
&gt; &gt; 
&gt; &gt; We would need to add a parameter to
&gt; &gt; WebProcessPool::platformInitializeWebProcess (in
&gt; &gt; WebProcessPool::initializeNewWebProcess, the argument would be
&gt; &gt; process.isServiceWorkerProcess()).
&gt; 
&gt; I would add an implementation of WebProcess::platformInitializeProcess to
&gt; initialize m_processType (we need to make this non-mac specific in
&gt; WebProcess.h). Then you can simply check m_pocessType from
&gt; platformInitializeWebProcess

WebProcess::platformInitializeProcess is on WebProcess side, we need a test on the UIProcess side to avoid creating the fd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509756</commentid>
    <comment_count>6</comment_count>
      <attachid>362919</attachid>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-25 13:12:22 -0800</bug_when>
    <thetext>Created attachment 362919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509998</commentid>
    <comment_count>7</comment_count>
      <attachid>362973</attachid>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-26 02:28:03 -0800</bug_when>
    <thetext>Created attachment 362973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510419</commentid>
    <comment_count>8</comment_count>
      <attachid>362973</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-02-27 05:29:31 -0800</bug_when>
    <thetext>Comment on attachment 362973
Patch

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

&gt; Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:95
&gt; -void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters&amp; parameters)
&gt; +void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters&amp; parameters, bool isServiceWorkerProcess)
&gt;  {
&gt;  #if PLATFORM(WPE)
&gt; -    parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();
&gt; +    if (!isServiceWorkerProcess)
&gt; +        parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();

Instead of the extra bool parameter to this method, there should be an extra bool variable `isServiceWorkerProcess` added to WebProcessCreationParameters for the WPE port. It would be initialized in WebProcessPool::initializeNewWebProcess() before the platformInitializeWebProcess() call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510434</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-27 07:26:54 -0800</bug_when>
    <thetext>Problem is it&apos;s not actually used in the web process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510466</commentid>
    <comment_count>10</comment_count>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-27 09:49:33 -0800</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #8)
&gt; Comment on attachment 362973 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=362973&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:95
&gt; &gt; -void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters&amp; parameters)
&gt; &gt; +void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters&amp; parameters, bool isServiceWorkerProcess)
&gt; &gt;  {
&gt; &gt;  #if PLATFORM(WPE)
&gt; &gt; -    parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();
&gt; &gt; +    if (!isServiceWorkerProcess)
&gt; &gt; +        parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();
&gt; 
&gt; Instead of the extra bool parameter to this method, there should be an extra
&gt; bool variable `isServiceWorkerProcess` added to WebProcessCreationParameters
&gt; for the WPE port. It would be initialized in
&gt; WebProcessPool::initializeNewWebProcess() before the
&gt; platformInitializeWebProcess() call.

So in WebProcessPool::initializeNewWebProcess :
#if PLATFORM(WPE) &amp;&amp; ENABLE(SERVICE_WORKER)
    parameters.isServiceWorkerProcess = process.isServiceWorkerProcess();
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510739</commentid>
    <comment_count>11</comment_count>
      <attachid>363167</attachid>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-27 17:39:25 -0800</bug_when>
    <thetext>Created attachment 363167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510746</commentid>
    <comment_count>12</comment_count>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-02-27 17:49:58 -0800</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #8)
&gt; Instead of the extra bool parameter to this method, there should be an extra
&gt; bool variable `isServiceWorkerProcess` added to WebProcessCreationParameters
&gt; for the WPE port. It would be initialized in
&gt; WebProcessPool::initializeNewWebProcess() before the
&gt; platformInitializeWebProcess() call.

Done.

I did put in under &quot;#if ENABLE(SERVICE_WORKER)&quot;, but I don&apos;t know if it&apos;s the right choice, since it makes the patch more complicated since those flags must be replicated in several places.

The code style guidelines also don&apos;t mention the case of flags mixed with blocks, and I didn&apos;t find examples when searching quickly.

First solution, with the &quot;if (1)&quot; to avoid any possible -Wmisleading-indentation :
#if ENABLE(SERVICE_WORKER)
    if (!parameters.isServiceWorkerProcess)
#else
    if (1)
#endif
        parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();

Second solution, with a one-line block (would be against the rules without the #if) :
#if ENABLE(SERVICE_WORKER)
    if (!parameters.isServiceWorkerProcess)
#endif
    {
        parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511334</commentid>
    <comment_count>13</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-03-01 00:29:50 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #9)
&gt; Problem is it&apos;s not actually used in the web process.

OK, let&apos;s then make this more WPE-specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511335</commentid>
    <comment_count>14</comment_count>
      <attachid>363167</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-03-01 00:34:58 -0800</bug_when>
    <thetext>Comment on attachment 363167
Patch

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

&gt; Source/WebKit/Shared/WebProcessCreationParameters.h:207
&gt; +#if ENABLE(SERVICE_WORKER)
&gt; +    bool isServiceWorkerProcess { false };
&gt; +#endif

Let&apos;s rename this to `isWPEClient`, and place it above the other two member variables here. Decoding/encoding sequencing should follow this order. It should also default to true, and not be guarded with ENABLE(SERVICE_WORKER).

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:944
&gt; +#if PLATFORM(WPE) &amp;&amp; ENABLE(SERVICE_WORKER)
&gt; +    parameters.isServiceWorkerProcess = process.isServiceWorkerProcess();
&gt; +#endif

Here, `isWPEClient` should be set to the negative value of `process.isServiceWorkerProcess()`. PLATFORM(WPE) build guards are fitting, SERVICE_WORKER maybe not since the `isServiceWorkerProcess()` getter isn&apos;t guarded with it.

&gt; Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:98
&gt; +#if ENABLE(SERVICE_WORKER)
&gt; +    if (!parameters.isServiceWorkerProcess)
&gt; +#else
&gt; +    if (1)
&gt; +#endif

This would now be a simple, unguarded check of `isWPEClient` value.

&gt; Source/WebKit/WebProcess/glib/WebProcessGLib.cpp:59
&gt; +#if ENABLE(SERVICE_WORKER)
&gt; +    if (!parameters.isServiceWorkerProcess)
&gt; +#endif

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511382</commentid>
    <comment_count>15</comment_count>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-03-01 05:22:10 -0800</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #14)
&gt; Comment on attachment 363167 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=363167&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/WebProcessCreationParameters.h:207
&gt; &gt; +#if ENABLE(SERVICE_WORKER)
&gt; &gt; +    bool isServiceWorkerProcess { false };
&gt; &gt; +#endif
&gt; 
&gt; Let&apos;s rename this to `isWPEClient`, and place it above the other two member
&gt; variables here. Decoding/encoding sequencing should follow this order. It
&gt; should also default to true, and not be guarded with ENABLE(SERVICE_WORKER).
&gt; 
Then, should it be tested for implementationLibraryName usage too (ie not calling wpe_loader_init in the Service Worker process) ?

The specific `isWPEClient` name might not be appropriate if we later find other things we can skip for Service Workers : for example the `WebCore::initializeGStreamer` in `WebProcess::platformInitializeWebProcess` is probably not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512136</commentid>
    <comment_count>16</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-03-04 05:59:32 -0800</bug_when>
    <thetext>(In reply to Loïc Yhuel from comment #15)
&gt; (In reply to Zan Dobersek from comment #14)
&gt; &gt; Comment on attachment 363167 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=363167&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/Shared/WebProcessCreationParameters.h:207
&gt; &gt; &gt; +#if ENABLE(SERVICE_WORKER)
&gt; &gt; &gt; +    bool isServiceWorkerProcess { false };
&gt; &gt; &gt; +#endif
&gt; &gt; 
&gt; &gt; Let&apos;s rename this to `isWPEClient`, and place it above the other two member
&gt; &gt; variables here. Decoding/encoding sequencing should follow this order. It
&gt; &gt; should also default to true, and not be guarded with ENABLE(SERVICE_WORKER).
&gt; &gt; 
&gt; Then, should it be tested for implementationLibraryName usage too (ie not
&gt; calling wpe_loader_init in the Service Worker process) ?
&gt; 

Yes, the wpe_loader_init() call should also be avoided.

&gt; The specific `isWPEClient` name might not be appropriate if we later find
&gt; other things we can skip for Service Workers : for example the
&gt; `WebCore::initializeGStreamer` in `WebProcess::platformInitializeWebProcess`
&gt; is probably not needed.

Makes sense. We can use the current name and expand its use over GStreamer in a future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512199</commentid>
    <comment_count>17</comment_count>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-03-04 09:26:07 -0800</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #16)
&gt; Makes sense. We can use the current name and expand its use over GStreamer
&gt; in a future patch.
What do you mean by current ? `isWPEClient` or `isServiceWorkerProcess` ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512222</commentid>
    <comment_count>18</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-03-04 10:19:45 -0800</bug_when>
    <thetext>(In reply to Loïc Yhuel from comment #17)
&gt; (In reply to Zan Dobersek from comment #16)
&gt; &gt; Makes sense. We can use the current name and expand its use over GStreamer
&gt; &gt; in a future patch.
&gt; What do you mean by current ? `isWPEClient` or `isServiceWorkerProcess` ?

`isServiceWorkerProcess` is fine. It can always be amended afterwards, anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512225</commentid>
    <comment_count>19</comment_count>
      <attachid>363524</attachid>
    <who name="Loïc Yhuel">loic.yhuel</who>
    <bug_when>2019-03-04 10:29:50 -0800</bug_when>
    <thetext>Created attachment 363524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512608</commentid>
    <comment_count>20</comment_count>
      <attachid>363524</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-05 03:59:33 -0800</bug_when>
    <thetext>Comment on attachment 363524
Patch

Clearing flags on attachment: 363524

Committed r242437: &lt;https://trac.webkit.org/changeset/242437&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512609</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-05 03:59:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362440</attachid>
            <date>2019-02-19 15:01:54 -0800</date>
            <delta_ts>2019-02-25 13:12:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194830-20190220000153.patch</filename>
            <type>text/plain</type>
            <size>3334</size>
            <attacher name="Loïc Yhuel">loic.yhuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxNzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYyNTZjOGFmMGVkZDk1NjU2
NjZlOWRmMzczZDE2N2I1NWU3NGFkMGMuLjAwMzkzZjBkMTQ5YzZhN2ZjZWEzYzY5NDQ5YjJmYWVh
Y2UzYzE1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDItMTkgIExvw69jIFlo
dWVsICA8bG9pYy55aHVlbEBzb2Z0YXRob21lLmNvbT4KKworICAgICAgICBbV1BFXSBEbyBub3Qg
Y3JlYXRlIGEgUGxhdGZvcm1EaXNwbGF5IGluIHRoZSBTZXJ2aWNlIFdvcmtlciBwcm9jZXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4MzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBhdm9pZHMg
b3BlbmluZyB0aGUgV2F5bGFuZCBzb2NrZXQgaW4gdGhpcyBXUEVXZWJQcm9jZXNzLCB3aGljaCBt
aWdodCBjYXVzZSBpc3N1ZXMKKyAgICAgICAgZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSwgYW5k
IGFsbG9jYXRlcyB1bm5lZWRlZCByZXNvdXJjZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1
bmNoZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJv
Y2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKTogTm8gd3BlU29ja2V0IGFyZ3VtZW50IGZvciBT
ZXJ2aWNlIFdvcmtlci4KKyAgICAgICAgKiBXZWJQcm9jZXNzL3dwZS9XZWJQcm9jZXNzTWFpbldQ
RS5jcHA6IFN1cHBvcnQgb3B0aW9uYWwgd3BlU29ja2V0IGFyZ3VtZW50LgorCiAyMDE5LTAyLTE4
ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2ZXJ0IGZ1bmN0aW9uYWwgcGFydCBvZiByMjQxNDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNw
cAppbmRleCAwYzM5MDczZmUxZGU3YWRhZjUzMTI2ODNkODE2NDYyZjY0ZDNlYzZmLi42ZDk5NzQ3
MDdmNDA0MjljNTRhZDU2NGRjZTU0MTE5OTI2NzNmZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvUHJvY2Vzc0xhdW5jaGVyR0xp
Yi5jcHAKQEAgLTEyMCw5ICsxMjAsMTUgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFBy
b2Nlc3MoKQogICAgICAgICB3cGVCYWNrZW5kTGlicmFyeVBhcmFtZXRlciA9IEZpbGVTeXN0ZW06
OmZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbih3cGVfbG9hZGVyX2dldF9sb2FkZWRfaW1wbGVtZW50
YXRpb25fbGlicmFyeV9uYW1lKCkpOwogI2VuZGlmCiAgICAgICAgIG5hcmdzKys7Ci0KLSAgICAg
ICAgd3BlU29ja2V0ID0gR1VuaXF1ZVB0cjxnY2hhcj4oZ19zdHJkdXBfcHJpbnRmKCIlZCIsIHdw
ZV9yZW5kZXJlcl9ob3N0X2NyZWF0ZV9jbGllbnQoKSkpOwotICAgICAgICBuYXJncysrOworI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgaWYgKCFtX2xhdW5jaE9wdGlvbnMuZXh0
cmFJbml0aWFsaXphdGlvbkRhdGEuY29udGFpbnMoInNlcnZpY2Utd29ya2VyLXByb2Nlc3MiKSkK
KyNlbHNlCisgICAgICAgIGlmICh0cnVlKQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgICAg
IHdwZVNvY2tldCA9IEdVbmlxdWVQdHI8Z2NoYXI+KGdfc3RyZHVwX3ByaW50ZigiJWQiLCB3cGVf
cmVuZGVyZXJfaG9zdF9jcmVhdGVfY2xpZW50KCkpKTsKKyAgICAgICAgICAgIG5hcmdzKys7Cisg
ICAgICAgIH0KICAgICB9CiAjZW5kaWYKIApAQCAtMTQ4LDcgKzE1NCw4IEBAIHZvaWQgUHJvY2Vz
c0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICNpZiBQTEFURk9STShXUEUpCiAgICAgaWYgKG1f
bGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBl
OjpXZWIpIHsKICAgICAgICAgYXJndltpKytdID0gY29uc3RfY2FzdDxjaGFyKj4od3BlQmFja2Vu
ZExpYnJhcnlQYXJhbWV0ZXIuaXNOdWxsKCkgPyAiLSIgOiB3cGVCYWNrZW5kTGlicmFyeVBhcmFt
ZXRlci5kYXRhKCkpOwotICAgICAgICBhcmd2W2krK10gPSB3cGVTb2NrZXQuZ2V0KCk7CisgICAg
ICAgIGlmICh3cGVTb2NrZXQpCisgICAgICAgICAgICBhcmd2W2krK10gPSB3cGVTb2NrZXQuZ2V0
KCk7CiAgICAgfQogI2VuZGlmCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCmlu
ZGV4IDEzMTkyYjQ0ZDQzNmUyMmU5NzRkM2I2NzMzZGE1NGVjN2MzMWU0ZDMuLjI1ZGM4MGEyNjk2
ZDA1ODY1MjY1OWRhZjM2ZmMwZTU4YTRjZWQwY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCkBAIC01Niw4ICs1Niw4IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgcGFyc2VDb21tYW5kTGluZShpbnQgYXJnYywgY2hhcioqIGFyZ3Yp
IG92ZXJyaWRlCiAgICAgewotICAgICAgICBBU1NFUlQoYXJnYyA9PSA1KTsKLSAgICAgICAgaWYg
KGFyZ2MgPCA1KQorICAgICAgICBBU1NFUlQoYXJnYyA9PSA0IHx8IGFyZ2MgPT0gNSk7CisgICAg
ICAgIGlmIChhcmdjIDwgNCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBp
ZiAoIUF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZTo6cGFyc2VDb21tYW5kTGluZShhcmdjLCBhcmd2
KSkKQEAgLTY3LDYgKzY3LDExIEBAIHB1YmxpYzoKICAgICAgICAgd3BlX2xvYWRlcl9pbml0KGFy
Z3ZbM10pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGlm
IChhcmdjIDwgNSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisKICAgICAgICAg
aW50IHdwZUZkID0gYXRvaShhcmd2WzRdKTsKICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3Bh
dGNoKAogICAgICAgICAgICAgW3dwZUZkXSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362919</attachid>
            <date>2019-02-25 13:12:22 -0800</date>
            <delta_ts>2019-02-26 02:27:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194830-20190225221221.patch</filename>
            <type>text/plain</type>
            <size>6980</size>
            <attacher name="Loïc Yhuel">loic.yhuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJmOWU4OWUyNDEzNjk4MWI3
ZjVlNDE4MzNmMGFmNDdjYTU2ZDNhODAuLjQ3NzVjYjc0ZjA3MjM4MWIyOTI5MzJkNDU0YmE1Yjcw
N2Q5ZTdiZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDItMjUgIExvw69jIFlo
dWVsICA8bG9pYy55aHVlbEBzb2Z0YXRob21lLmNvbT4KKworICAgICAgICBbV1BFXSBEbyBub3Qg
Y3JlYXRlIGEgUGxhdGZvcm1EaXNwbGF5IGluIHRoZSBTZXJ2aWNlIFdvcmtlciBwcm9jZXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4MzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBhdm9pZHMg
b3BlbmluZyB0aGUgV2F5bGFuZCBzb2NrZXQgaW4gdGhpcyBXUEVXZWJQcm9jZXNzLCB3aGljaCBt
aWdodCBjYXVzZSBpc3N1ZXMKKyAgICAgICAgZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSwgYW5k
IGFsbG9jYXRlcyB1bm5lZWRlZCByZXNvdXJjZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0
aWFsaXplTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
Lmg6IEFkZCBuZXcgcGFyYW1ldGVyIHRvIHBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MuCisg
ICAgICAgICogVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bvb2xHTGliLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOiBO
byBob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IgZm9yIFNlcnZpY2UgV29ya2VyLgorICAgICAgICAq
IFVJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6IE5vIFBsYXRmb3JtRGlzcGxh
eUxpYldQRSB3aXRob3V0IGhvc3RDbGllbnRGaWxlRGVzY3JpcHRvci4KKwogMjAxOS0wMi0yNSAg
UGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgQSBwcmV3YXJt
ZWQgV2ViIHByb2Nlc3Mgc2hvdWxkIGhhdmUgYSBwcm9jZXNzIGFzc2VydGlvbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmlu
ZGV4IDk4NzQ2YzM3YzUyNGM4Nzg0YjdhNmU4MjY2NzY2NjUxNzVmNmZiMGQuLjk2MzFhYjllMzM3
NjAzZTQ2NmQ4NTc3ZDQ4NDc2M2I0ZDI5ZGJhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMTU3LDcgKzE1Nyw3
IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtUmVzb2x2ZVBhdGhzRm9yU2FuZGJveEV4
dGVuc2lvbnMoKQogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCAvKmlzU2VydmljZVdv
cmtlclByb2Nlc3MqLykKIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfQkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAppbmRleCBjOTY3NGY5ZjcwNjE2YTM3ODE2NGE2MzY5ODNjNWMyYmNhY2VjMGUxLi43
Nzc1ZGM0MGU3YjAxYjlmMDg1NjU1MjE2NGVlYjU5OTZkMzQwNWU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC05NDAsNyArOTQwLDcgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5JiBw
cm9jZXNzLCBXZWJzaXRlRGEKICNlbmRpZgogCiAgICAgLy8gQWRkIGFueSBwbGF0Zm9ybSBzcGVj
aWZpYyBwYXJhbWV0ZXJzCi0gICAgcGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhwYXJhbWV0
ZXJzKTsKKyAgICBwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKHBhcmFtZXRlcnMsIHByb2Nl
c3MuaXNTZXJ2aWNlV29ya2VyUHJvY2VzcygpKTsKIAogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4g
aW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhID0gbV9pbmplY3RlZEJ1bmRsZUNs
aWVudC0+Z2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhKCp0aGlzKTsKICAg
ICBpZiAoIWluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGY0ZDUyMTNiZGE0ZjZiMmU4ZjMwYmQ2
NTZmNGJiMDgxNzc2OGQyYjIuLjJhNGIwOGYyMzRkNjAyNzY1ODExNDQ2Mzc3ZmRjOTdlY2M3N2Qx
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNDk3LDcg
KzQ5Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUo
KTsKIAotICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJik7CisgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNz
KFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmLCBib29sIGlzU2VydmljZVdvcmtlclByb2Nl
c3MpOwogICAgIHZvaWQgcGxhdGZvcm1JbnZhbGlkYXRlQ29udGV4dCgpOwogCiAgICAgdm9pZCBw
cm9jZXNzRm9yTmF2aWdhdGlvbkludGVybmFsKFdlYlBhZ2VQcm94eSYsIGNvbnN0IEFQSTo6TmF2
aWdhdGlvbiYsIFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgc291cmNlUHJvY2VzcywgY29uc3QgVVJM
JiBzb3VyY2VVUkwsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgU3VzcGVuZGVkUGFnZVByb3h5KiwgY29u
c3QgU3RyaW5nJik+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ2xp
Yi9XZWJQcm9jZXNzUG9vbEdMaWIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ2xpYi9X
ZWJQcm9jZXNzUG9vbEdMaWIuY3BwCmluZGV4IDIwNWZhNmJhYTU5ODBjNjZlYmMxNDNlNjEzZWY0
NjA2OWMyZGYzMWIuLmM0NzViNDQyYzFjNWJjMDhhMmZiMjZhMjQyMmRmNTc1MjgwMzQ4ZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bvb2xHTGli
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQb29sR0xp
Yi5jcHAKQEAgLTg4LDEwICs4OCwxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUlu
aXRpYWxpemUoKQogICAgICAgICBpbnN0YWxsTWVtb3J5UHJlc3N1cmVIYW5kbGVyKCk7CiB9CiAK
LXZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycywgYm9vbCBpc1NlcnZpY2VXb3JrZXJQcm9jZXNzKQogewogI2lmIFBMQVRG
T1JNKFdQRSkKLSAgICBwYXJhbWV0ZXJzLmhvc3RDbGllbnRGaWxlRGVzY3JpcHRvciA9IHdwZV9y
ZW5kZXJlcl9ob3N0X2NyZWF0ZV9jbGllbnQoKTsKKyAgICBpZiAoIWlzU2VydmljZVdvcmtlclBy
b2Nlc3MpCisgICAgICAgIHBhcmFtZXRlcnMuaG9zdENsaWVudEZpbGVEZXNjcmlwdG9yID0gd3Bl
X3JlbmRlcmVyX2hvc3RfY3JlYXRlX2NsaWVudCgpOwogI2lmIGRlZmluZWQoV1BFX0JBQ0tFTkRf
Q0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTigwLCAyLCAwKQogICAg
IHBhcmFtZXRlcnMuaW1wbGVtZW50YXRpb25MaWJyYXJ5TmFtZSA9IEZpbGVTeXN0ZW06OmZpbGVT
eXN0ZW1SZXByZXNlbnRhdGlvbih3cGVfbG9hZGVyX2dldF9sb2FkZWRfaW1wbGVtZW50YXRpb25f
bGlicmFyeV9uYW1lKCkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
d2luL1dlYlByb2Nlc3NQb29sV2luLmNwcAppbmRleCAzOTBhMGM5MDE5MjE5NDMzYzVmYTQ5ZDNl
Mzg0NGExYjgzNTUyOGNiLi5iZDNlMGI5NzYxOTUxNzg2MjU5YWJkZDYyZDY1OTA4ODBkMjNiOGU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xX
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNzUG9vbFdp
bi5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0
aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxp
emVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit2
b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgLyppc1NlcnZpY2VXb3JrZXJQ
cm9jZXNzKi8pCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcAppbmRleCAxOTJhMTE3NTY0MTAy
M2U4MzlhY2QwNjM0N2FiNzc2OTM0NjM0MGMwLi5hOTRjMGY1ODM0MmE0OTE5YjVhZGZiY2Q4MzQ4
YmFiNmZjODU2NjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ2xpYi9X
ZWJQcm9jZXNzR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2dsaWIvV2Vi
UHJvY2Vzc0dMaWIuY3BwCkBAIC01Myw4ICs1MywxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRm
b3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBh
cgogICAgIGF1dG8mIGltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUgPSBwYXJhbWV0ZXJzLmltcGxl
bWVudGF0aW9uTGlicmFyeU5hbWU7CiAgICAgaWYgKCFpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1l
LmlzTnVsbCgpICYmIGltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUuZGF0YSgpWzBdICE9ICdcMCcp
CiAgICAgICAgIHdwZV9sb2FkZXJfaW5pdChwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFy
eU5hbWUuZGF0YSgpKTsKLSAgICBSRUxFQVNFX0FTU0VSVChpczxQbGF0Zm9ybURpc3BsYXlMaWJX
UEU+KFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpKSk7Ci0gICAgZG93bmNhc3Q8UGxh
dGZvcm1EaXNwbGF5TGliV1BFPihQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSkuaW5p
dGlhbGl6ZShwYXJhbWV0ZXJzLmhvc3RDbGllbnRGaWxlRGVzY3JpcHRvci5yZWxlYXNlRmlsZURl
c2NyaXB0b3IoKSk7CisKKyAgICBpZiAocGFyYW1ldGVycy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0
b3IudHlwZSgpID09IElQQzo6QXR0YWNobWVudDo6U29ja2V0VHlwZSkgeworICAgICAgICBSRUxF
QVNFX0FTU0VSVChpczxQbGF0Zm9ybURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxheTo6c2hh
cmVkRGlzcGxheSgpKSk7CisgICAgICAgIGRvd25jYXN0PFBsYXRmb3JtRGlzcGxheUxpYldQRT4o
UGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkpLmluaXRpYWxpemUocGFyYW1ldGVycy5o
b3N0Q2xpZW50RmlsZURlc2NyaXB0b3IucmVsZWFzZUZpbGVEZXNjcmlwdG9yKCkpOworICAgIH0K
ICNlbmRpZgogI2lmIFBMQVRGT1JNKFdBWUxBTkQpCiAgICAgbV93YXlsYW5kQ29tcG9zaXRvckRp
c3BsYXkgPSBXYXlsYW5kQ29tcG9zaXRvckRpc3BsYXk6OmNyZWF0ZShwYXJhbWV0ZXJzLndheWxh
bmRDb21wb3NpdG9yRGlzcGxheU5hbWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362973</attachid>
            <date>2019-02-26 02:28:03 -0800</date>
            <delta_ts>2019-02-27 17:39:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194830-20190226112802.patch</filename>
            <type>text/plain</type>
            <size>6953</size>
            <attacher name="Loïc Yhuel">loic.yhuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRhNmJkNWJlMTQxZTFkNWQ0
NzFhOWI2OGU4YjUzMGQzZTVhOGIwMWQuLjFiNzBhZjFlZGNhZmIwN2E2MTM3MTY3OTIxMjYwYzc4
YjZlYTAyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDItMjUgIExvw69jIFlo
dWVsICA8bG9pYy55aHVlbEBzb2Z0YXRob21lLmNvbT4KKworICAgICAgICBbV1BFXSBEbyBub3Qg
Y3JlYXRlIGEgUGxhdGZvcm1EaXNwbGF5IGluIHRoZSBTZXJ2aWNlIFdvcmtlciBwcm9jZXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4MzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBhdm9pZHMg
b3BlbmluZyB0aGUgV2F5bGFuZCBzb2NrZXQgaW4gdGhpcyBXUEVXZWJQcm9jZXNzLCB3aGljaCBt
aWdodCBjYXVzZSBpc3N1ZXMKKyAgICAgICAgZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSwgYW5k
IGFsbG9jYXRlcyB1bm5lZWRlZCByZXNvdXJjZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0
aWFsaXplTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
Lmg6IEFkZCBuZXcgcGFyYW1ldGVyIHRvIHBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MuCisg
ICAgICAgICogVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bvb2xHTGliLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOiBO
byBob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IgZm9yIFNlcnZpY2UgV29ya2VyLgorICAgICAgICAq
IFVJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6IE5vIFBsYXRmb3JtRGlzcGxh
eUxpYldQRSB3aXRob3V0IGhvc3RDbGllbnRGaWxlRGVzY3JpcHRvci4KKwogMjAxOS0wMi0yNiAg
UGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4gYW5kIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdIEFkZCBBUEkgZm9y
IHdlYnZpZXcgYmFja2dyb3VuZCBjb2xvciBjb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA5ODc0
NmMzN2M1MjRjODc4NGI3YTZlODI2Njc2NjY1MTc1ZjZmYjBkLi45NjMxYWI5ZTMzNzYwM2U0NjZk
ODU3N2Q0ODQ3NjNiNGQyOWRiYWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTE1Nyw3ICsxNTcsNyBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybVJlc29sdmVQYXRoc0ZvclNhbmRib3hFeHRlbnNpb25z
KCkKICNlbmRpZgogfQogCi12b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit2b2lk
IFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgLyppc1NlcnZpY2VXb3JrZXJQcm9j
ZXNzKi8pCiB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFS
QVRJT05TX0JFR0lOCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
aW5kZXggYzk2NzRmOWY3MDYxNmEzNzgxNjRhNjM2OTgzYzVjMmJjYWNlYzBlMS4uNzc3NWRjNDBl
N2IwMWI5ZjA4NTY1NTIxNjRlZWI1OTk2ZDM0MDVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtOTQwLDcgKzk0MCw3IEBAIHZvaWQgV2ViUHJvY2Vz
c1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vzcywg
V2Vic2l0ZURhCiAjZW5kaWYKIAogICAgIC8vIEFkZCBhbnkgcGxhdGZvcm0gc3BlY2lmaWMgcGFy
YW1ldGVycwotICAgIHBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MocGFyYW1ldGVycyk7Cisg
ICAgcGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhwYXJhbWV0ZXJzLCBwcm9jZXNzLmlzU2Vy
dmljZVdvcmtlclByb2Nlc3MoKSk7CiAKICAgICBSZWZQdHI8QVBJOjpPYmplY3Q+IGluamVjdGVk
QnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YSA9IG1faW5qZWN0ZWRCdW5kbGVDbGllbnQtPmdl
dEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YSgqdGhpcyk7CiAgICAgaWYgKCFp
bmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCBmNGQ1MjEzYmRhNGY2YjJlOGYzMGJkNjU2ZjRiYjA4
MTc3NjhkMmIyLi4yYTRiMDhmMjM0ZDYwMjc2NTgxMTQ0NjM3N2ZkYzk3ZWNjNzdkMTRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTQ5Nyw3ICs0OTcsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CiAKLSAg
ICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyYpOworICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiwgYm9vbCBpc1NlcnZpY2VXb3JrZXJQcm9jZXNzKTsKICAg
ICB2b2lkIHBsYXRmb3JtSW52YWxpZGF0ZUNvbnRleHQoKTsKIAogICAgIHZvaWQgcHJvY2Vzc0Zv
ck5hdmlnYXRpb25JbnRlcm5hbChXZWJQYWdlUHJveHkmLCBjb25zdCBBUEk6Ok5hdmlnYXRpb24m
LCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHNvdXJjZVByb2Nlc3MsIGNvbnN0IFVSTCYgc291cmNl
VVJMLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIFN1c3BlbmRlZFBhZ2VQcm94eSosIGNvbnN0IFN0cmlu
ZyYpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2dsaWIvV2ViUHJv
Y2Vzc1Bvb2xHTGliLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vz
c1Bvb2xHTGliLmNwcAppbmRleCBiNWZkNmM0OTI4NGU4NDkzNzhiNzY3YmQ5YzVhZWZjNWY2M2Mx
ZmUyLi5mNzQ0NGFlYmQ3OGJkNTc2ZDcwMzA4Y2E3NGUxMjYyZGE0M2FlZTZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQb29sR0xpYi5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzUG9vbEdMaWIuY3BwCkBA
IC04OCwxMCArODgsMTEgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXpl
KCkKICAgICAgICAgaW5zdGFsbE1lbW9yeVByZXNzdXJlSGFuZGxlcigpOwogfQogCi12b2lkIFdl
YlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMsIGJvb2wgaXNTZXJ2aWNlV29ya2VyUHJvY2VzcykKIHsKICNpZiBQTEFURk9STShXUEUp
Ci0gICAgcGFyYW1ldGVycy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IgPSB3cGVfcmVuZGVyZXJf
aG9zdF9jcmVhdGVfY2xpZW50KCk7CisgICAgaWYgKCFpc1NlcnZpY2VXb3JrZXJQcm9jZXNzKQor
ICAgICAgICBwYXJhbWV0ZXJzLmhvc3RDbGllbnRGaWxlRGVzY3JpcHRvciA9IHdwZV9yZW5kZXJl
cl9ob3N0X2NyZWF0ZV9jbGllbnQoKTsKICAgICBwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGli
cmFyeU5hbWUgPSBGaWxlU3lzdGVtOjpmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24od3BlX2xvYWRl
cl9nZXRfbG9hZGVkX2ltcGxlbWVudGF0aW9uX2xpYnJhcnlfbmFtZSgpKTsKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4u
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByb2Nlc3NQb29sV2luLmNwcApp
bmRleCAzOTBhMGM5MDE5MjE5NDMzYzVmYTQ5ZDNlMzg0NGExYjgzNTUyOGNiLi5iZDNlMGI5NzYx
OTUxNzg2MjU5YWJkZDYyZDY1OTA4ODBkMjNiOGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNzUG9vbFdpbi5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmEKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdl
YlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMsIGJvb2wgLyppc1NlcnZpY2VXb3JrZXJQcm9jZXNzKi8pCiB7CiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dl
YlByb2Nlc3NHTGliLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nl
c3NHTGliLmNwcAppbmRleCAxOTJhMTE3NTY0MTAyM2U4MzlhY2QwNjM0N2FiNzc2OTM0NjM0MGMw
Li5hOTRjMGY1ODM0MmE0OTE5YjVhZGZiY2Q4MzQ4YmFiNmZjODU2NjQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwCkBAIC01Myw4ICs1
MywxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcgogICAgIGF1dG8mIGltcGxlbWVudGF0aW9u
TGlicmFyeU5hbWUgPSBwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWU7CiAgICAg
aWYgKCFpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lLmlzTnVsbCgpICYmIGltcGxlbWVudGF0aW9u
TGlicmFyeU5hbWUuZGF0YSgpWzBdICE9ICdcMCcpCiAgICAgICAgIHdwZV9sb2FkZXJfaW5pdChw
YXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUuZGF0YSgpKTsKLSAgICBSRUxFQVNF
X0FTU0VSVChpczxQbGF0Zm9ybURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxheTo6c2hhcmVk
RGlzcGxheSgpKSk7Ci0gICAgZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5TGliV1BFPihQbGF0Zm9y
bURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSkuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzLmhvc3RDbGll
bnRGaWxlRGVzY3JpcHRvci5yZWxlYXNlRmlsZURlc2NyaXB0b3IoKSk7CisKKyAgICBpZiAocGFy
YW1ldGVycy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IudHlwZSgpID09IElQQzo6QXR0YWNobWVu
dDo6U29ja2V0VHlwZSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChpczxQbGF0Zm9ybURpc3Bs
YXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpKSk7CisgICAgICAgIGRv
d25jYXN0PFBsYXRmb3JtRGlzcGxheUxpYldQRT4oUGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNw
bGF5KCkpLmluaXRpYWxpemUocGFyYW1ldGVycy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IucmVs
ZWFzZUZpbGVEZXNjcmlwdG9yKCkpOworICAgIH0KICNlbmRpZgogI2lmIFBMQVRGT1JNKFdBWUxB
TkQpCiAgICAgbV93YXlsYW5kQ29tcG9zaXRvckRpc3BsYXkgPSBXYXlsYW5kQ29tcG9zaXRvckRp
c3BsYXk6OmNyZWF0ZShwYXJhbWV0ZXJzLndheWxhbmRDb21wb3NpdG9yRGlzcGxheU5hbWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363167</attachid>
            <date>2019-02-27 17:39:25 -0800</date>
            <delta_ts>2019-03-04 10:29:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194830-20190228023924.patch</filename>
            <type>text/plain</type>
            <size>6074</size>
            <attacher name="Loïc Yhuel">loic.yhuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZlNTUxOTkyN2VjNTk0Yzhh
YTg1OTBkNjI4N2RlYmQ3ZWRhZGQzZWQuLmUxZjI3NjAwODlmMzU4M2Q5ZjI1YmZiZTljYmFkODMx
OWM5NzczNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTktMDItMjcgIExvw69jIFlo
dWVsICA8bG9pYy55aHVlbEBzb2Z0YXRob21lLmNvbT4KKworICAgICAgICBbV1BFXSBEbyBub3Qg
Y3JlYXRlIGEgUGxhdGZvcm1EaXNwbGF5IGluIHRoZSBTZXJ2aWNlIFdvcmtlciBwcm9jZXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4MzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBhdm9pZHMg
b3BlbmluZyB0aGUgV2F5bGFuZCBzb2NrZXQgaW4gdGhpcyBXUEVXZWJQcm9jZXNzLCB3aGljaCBt
aWdodCBjYXVzZSBpc3N1ZXMKKyAgICAgICAgZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSwgYW5k
IGFsbG9jYXRlcyB1bm5lZWRlZCByZXNvdXJjZXMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDogQWRkIG5ldyBpc1NlcnZpY2VXb3JrZXJQcm9jZXNz
IHBhcmFtZXRlci4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOiBT
ZXQgaXNTZXJ2aWNlV29ya2VyUHJvY2VzcyBwYXJhbWV0ZXIuCisgICAgICAgICogVUlQcm9jZXNz
L2dsaWIvV2ViUHJvY2Vzc1Bvb2xHTGliLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOiBObyBob3N0Q2xpZW50RmlsZURl
c2NyaXB0b3IgZm9yIFNlcnZpY2UgV29ya2VyLgorICAgICAgICAqIFdlYlByb2Nlc3MvZ2xpYi9X
ZWJQcm9jZXNzR0xpYi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZVdlYlByb2Nlc3MpOiBObyBQbGF0Zm9ybURpc3BsYXlMaWJXUEUgZm9yIFNlcnZp
Y2UgV29ya2VyLgorCiAyMDE5LTAyLTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIFdlYiBwYWdlcyBzaG91bGRuJ3QgYmUgYWJsZSB0byBw
cmVzZW50IGEga2V5Ym9hcmQgYWZ0ZXIgdGhlIHdlYiB2aWV3IHJlc2lnbnMgZmlyc3QgcmVzcG9u
ZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCmluZGV4IDNlY2IxZjE0NDU0ODJkNTBkYzEyNDc5NTllNjJkY2ExNDNmNDA0
NjUuLmVlMTQ3NTdhZjVlMDcyN2ZhNzNmYTQ2MDRkYTc2N2U5YzczZmUzZTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CkBAIC0xNjMsNiArMTYzLDkgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpl
bmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogI2lmIFBMQVRGT1JNKFdQRSkKICAg
ICBlbmNvZGVyIDw8IGhvc3RDbGllbnRGaWxlRGVzY3JpcHRvcjsKICAgICBlbmNvZGVyIDw8IGlt
cGxlbWVudGF0aW9uTGlicmFyeU5hbWU7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAg
IGVuY29kZXIgPDwgaXNTZXJ2aWNlV29ya2VyUHJvY2VzczsKKyNlbmRpZgogI2VuZGlmCiB9CiAK
QEAgLTQzMSw2ICs0MzQsMTAgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpk
ZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5pbXBsZW1lbnRh
dGlvbkxpYnJhcnlOYW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuaXNTZXJ2aWNl
V29ya2VyUHJvY2VzcykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogI2VuZGlmCiAK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCA4NmY1NWUxY2EzMzM4YmNlMmQ5ZWUwYTAwZDU0
MDFlNzFiODQxM2FjLi4yM2NiZjM2NWZmY2U3ZTk5Y2NmOTIwODgyYzFkYTdkNzA2YTE4MDA3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCkBAIC0yMDIsNiArMjAyLDkgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMgewogI2lmIFBMQVRGT1JNKFdQRSkKICAgICBJUEM6OkF0dGFjaG1lbnQgaG9zdENsaWVu
dEZpbGVEZXNjcmlwdG9yOwogICAgIENTdHJpbmcgaW1wbGVtZW50YXRpb25MaWJyYXJ5TmFtZTsK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgYm9vbCBpc1NlcnZpY2VXb3JrZXJQcm9j
ZXNzIHsgZmFsc2UgfTsKKyNlbmRpZgogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggN2JlMDJlNjBhYTllMDMzMzkxODk0ZmI5YWU5
OTVjNDEzYzUyYzM2Yy4uYzEyMDY0Zjk0NDg3ZmI4Mzc5NzYzZGExMGM4ODYwYmZlYTg0NzhjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtOTM5LDYg
KzkzOSwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2VzcyhX
ZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MsIFdlYnNpdGVEYQogICAgIHBhcmFtZXRlcnMubWVkaWFN
SU1FVHlwZXMgPSBwcm9jZXNzLm1lZGlhTUlNRVR5cGVzKCk7CiAjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKFdQRSkgJiYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIHBhcmFtZXRlcnMuaXNTZXJ2
aWNlV29ya2VyUHJvY2VzcyA9IHByb2Nlc3MuaXNTZXJ2aWNlV29ya2VyUHJvY2VzcygpOworI2Vu
ZGlmCisKICAgICAvLyBBZGQgYW55IHBsYXRmb3JtIHNwZWNpZmljIHBhcmFtZXRlcnMKICAgICBw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKHBhcmFtZXRlcnMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQb29sR0xpYi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQb29sR0xpYi5jcHAKaW5kZXggYjVm
ZDZjNDkyODRlODQ5Mzc4Yjc2N2JkOWM1YWVmYzVmNjNjMWZlMi4uZmZlOGFlYzY2ZmI0MDg3ZmU0
NjIyMTA3OGVlZjkwYmIyOWJkOTU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvZ2xpYi9XZWJQcm9jZXNzUG9vbEdMaWIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2dsaWIvV2ViUHJvY2Vzc1Bvb2xHTGliLmNwcApAQCAtOTEsNyArOTEsMTIgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplKCkKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKIHsKICNpZiBQTEFURk9STShXUEUpCi0gICAgcGFyYW1ldGVycy5ob3N0
Q2xpZW50RmlsZURlc2NyaXB0b3IgPSB3cGVfcmVuZGVyZXJfaG9zdF9jcmVhdGVfY2xpZW50KCk7
CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmICghcGFyYW1ldGVycy5pc1NlcnZp
Y2VXb3JrZXJQcm9jZXNzKQorI2Vsc2UKKyAgICBpZiAoMSkKKyNlbmRpZgorICAgICAgICBwYXJh
bWV0ZXJzLmhvc3RDbGllbnRGaWxlRGVzY3JpcHRvciA9IHdwZV9yZW5kZXJlcl9ob3N0X2NyZWF0
ZV9jbGllbnQoKTsKICAgICBwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUgPSBG
aWxlU3lzdGVtOjpmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24od3BlX2xvYWRlcl9nZXRfbG9hZGVk
X2ltcGxlbWVudGF0aW9uX2xpYnJhcnlfbmFtZSgpKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAKaW5kZXggMTkyYTExNzU2
NDEwMjNlODM5YWNkMDYzNDdhYjc3NjkzNDYzNDBjMC4uZmM3N2ExY2YwODk3MjJjYzM1ODY5NTA5
ZjRiNDFmYWJiMDZlMWRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2ds
aWIvV2ViUHJvY2Vzc0dMaWIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGli
L1dlYlByb2Nlc3NHTGliLmNwcApAQCAtNTMsOCArNTMsMTQgQEAgdm9pZCBXZWJQcm9jZXNzOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
JiBwYXIKICAgICBhdXRvJiBpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lID0gcGFyYW1ldGVycy5p
bXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lOwogICAgIGlmICghaW1wbGVtZW50YXRpb25MaWJyYXJ5
TmFtZS5pc051bGwoKSAmJiBpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lLmRhdGEoKVswXSAhPSAn
XDAnKQogICAgICAgICB3cGVfbG9hZGVyX2luaXQocGFyYW1ldGVycy5pbXBsZW1lbnRhdGlvbkxp
YnJhcnlOYW1lLmRhdGEoKSk7Ci0gICAgUkVMRUFTRV9BU1NFUlQoaXM8UGxhdGZvcm1EaXNwbGF5
TGliV1BFPihQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSkpOwotICAgIGRvd25jYXN0
PFBsYXRmb3JtRGlzcGxheUxpYldQRT4oUGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkp
LmluaXRpYWxpemUocGFyYW1ldGVycy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IucmVsZWFzZUZp
bGVEZXNjcmlwdG9yKCkpOworCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmICgh
cGFyYW1ldGVycy5pc1NlcnZpY2VXb3JrZXJQcm9jZXNzKQorI2VuZGlmCisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVChpczxQbGF0Zm9ybURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxh
eTo6c2hhcmVkRGlzcGxheSgpKSk7CisgICAgICAgIGRvd25jYXN0PFBsYXRmb3JtRGlzcGxheUxp
YldQRT4oUGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkpLmluaXRpYWxpemUocGFyYW1l
dGVycy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IucmVsZWFzZUZpbGVEZXNjcmlwdG9yKCkpOwor
ICAgIH0KICNlbmRpZgogI2lmIFBMQVRGT1JNKFdBWUxBTkQpCiAgICAgbV93YXlsYW5kQ29tcG9z
aXRvckRpc3BsYXkgPSBXYXlsYW5kQ29tcG9zaXRvckRpc3BsYXk6OmNyZWF0ZShwYXJhbWV0ZXJz
LndheWxhbmRDb21wb3NpdG9yRGlzcGxheU5hbWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363524</attachid>
            <date>2019-03-04 10:29:50 -0800</date>
            <delta_ts>2019-03-05 03:59:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194830-20190304192949.patch</filename>
            <type>text/plain</type>
            <size>6540</size>
            <attacher name="Loïc Yhuel">loic.yhuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJmOWNmMDkxZmIzNjRiN2Fi
NWQ0MGY4MDVkOTM2N2M3ZmRkY2QyNmYuLjI3MzQ2M2JjOTA3ZTFhMDk5MGIwZTMyYzc5ZGJjNTYy
NWY0MzQyN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTktMDMtMDQgIExvw69jIFlo
dWVsICA8bG9pYy55aHVlbEBzb2Z0YXRob21lLmNvbT4KKworICAgICAgICBbV1BFXSBEbyBub3Qg
Y3JlYXRlIGEgUGxhdGZvcm1EaXNwbGF5IGluIHRoZSBTZXJ2aWNlIFdvcmtlciBwcm9jZXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4MzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBhdm9pZHMg
b3BlbmluZyB0aGUgV2F5bGFuZCBzb2NrZXQgaW4gdGhpcyBXUEVXZWJQcm9jZXNzLCB3aGljaCBt
aWdodCBjYXVzZSBpc3N1ZXMKKyAgICAgICAgZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSwgYW5k
IGFsbG9jYXRlcyB1bm5lZWRlZCByZXNvdXJjZXMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDogQWRkIG5ldyBpc1NlcnZpY2VXb3JrZXJQcm9jZXNz
IHBhcmFtZXRlci4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOiBT
ZXQgaXNTZXJ2aWNlV29ya2VyUHJvY2VzcyBwYXJhbWV0ZXIuCisgICAgICAgICogVUlQcm9jZXNz
L2dsaWIvV2ViUHJvY2Vzc1Bvb2xHTGliLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOiBObyBpbXBsZW1lbnRhdGlvbkxp
YnJhcnlOYW1lIGFuZCBob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IgZm9yIFNlcnZpY2UgV29ya2Vy
LgorICAgICAgICAqIFdlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOiBObyB3
cGVfbG9hZGVyX2luaXQgbm9yIFBsYXRmb3JtRGlzcGxheUxpYldQRSBmb3IgU2VydmljZSBXb3Jr
ZXIuCisKIDIwMTktMDMtMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgU2hhcmUgbW9yZSBjb2RlIGJldHdlZW4gb3ZlcmZsb3cgYW5kIGZyYW1lIHNj
cm9sbGluZyBub2RlcywgZml4aW5nIG92ZXJmbG93IHNjcm9sbGJhciBkaXNwbGF5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CmluZGV4IDNlY2IxZjE0NDU0ODJkNTBkYzEyNDc5NTllNjJkY2ExNDNmNDA0NjUuLjFiNmVjMTZj
N2JmZDgyN2Q3ZGMzMDI3MTRlZTQwZWNjMThjZDQ2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC0xNjEsNiAr
MTYxLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAogI2VuZGlmCiAKICNpZiBQTEFURk9STShXUEUpCisgICAg
ZW5jb2RlciA8PCBpc1NlcnZpY2VXb3JrZXJQcm9jZXNzOwogICAgIGVuY29kZXIgPDwgaG9zdENs
aWVudEZpbGVEZXNjcmlwdG9yOwogICAgIGVuY29kZXIgPDwgaW1wbGVtZW50YXRpb25MaWJyYXJ5
TmFtZTsKICNlbmRpZgpAQCAtNDI3LDYgKzQyOCw4IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViUHJvY2Vzc0NyZWF0
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdQRSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBh
cmFtZXRlcnMuaXNTZXJ2aWNlV29ya2VyUHJvY2VzcykpCisgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuaG9zdENsaWVudEZpbGVEZXNjcmlw
dG9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFy
YW1ldGVycy5pbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCA4NmY1NWUxY2Ez
MzM4YmNlMmQ5ZWUwYTAwZDU0MDFlNzFiODQxM2FjLi4zM2E3ODMwZGM2YmQ5YTMzZDAwYzZhMmQz
M2I1ODA4YmRkYWU1ZmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0yMDAsNiArMjAwLDcgQEAgc3RydWN0IFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogI2VuZGlmCiAKICNpZiBQTEFURk9STShXUEUpCisg
ICAgYm9vbCBpc1NlcnZpY2VXb3JrZXJQcm9jZXNzIHsgZmFsc2UgfTsKICAgICBJUEM6OkF0dGFj
aG1lbnQgaG9zdENsaWVudEZpbGVEZXNjcmlwdG9yOwogICAgIENTdHJpbmcgaW1wbGVtZW50YXRp
b25MaWJyYXJ5TmFtZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCmluZGV4IDNjMjIwOTdhYzc5MjM4ZDFiZTEyNGZiYmRiMmEzMzVkY2JmYjE2ODEu
LjAxNDUwNTNmZmQ5N2EzNjU2MDNkNjkxNGY3MzYzYzU4YjFkZmMxY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTk0NSw2ICs5NDUsMTAgQEAgdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5
JiBwcm9jZXNzLCBXZWJzaXRlRGEKICAgICBwYXJhbWV0ZXJzLm1lZGlhTUlNRVR5cGVzID0gcHJv
Y2Vzcy5tZWRpYU1JTUVUeXBlcygpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXUEUpCisgICAg
cGFyYW1ldGVycy5pc1NlcnZpY2VXb3JrZXJQcm9jZXNzID0gcHJvY2Vzcy5pc1NlcnZpY2VXb3Jr
ZXJQcm9jZXNzKCk7CisjZW5kaWYKKwogICAgIC8vIEFkZCBhbnkgcGxhdGZvcm0gc3BlY2lmaWMg
cGFyYW1ldGVycwogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MocGFyYW1ldGVycyk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bv
b2xHTGliLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bvb2xH
TGliLmNwcAppbmRleCA0NWQ1MmUxNDJjZGFhNjVmODgyOGEyM2I4MGM0MTA2Mzk4M2EwZGEwLi40
NDE3NzExZTE2YjlmMjNhMjE1MjNhMDcwMGNiNDM0MTQ5ZWUwMzc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQb29sR0xpYi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzUG9vbEdMaWIuY3BwCkBAIC05NSw4
ICs5NSwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogI2lmIFBMQVRGT1JNKFdQRSkKLSAg
ICBwYXJhbWV0ZXJzLmhvc3RDbGllbnRGaWxlRGVzY3JpcHRvciA9IHdwZV9yZW5kZXJlcl9ob3N0
X2NyZWF0ZV9jbGllbnQoKTsKLSAgICBwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5h
bWUgPSBGaWxlU3lzdGVtOjpmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24od3BlX2xvYWRlcl9nZXRf
bG9hZGVkX2ltcGxlbWVudGF0aW9uX2xpYnJhcnlfbmFtZSgpKTsKKyAgICBpZiAoIXBhcmFtZXRl
cnMuaXNTZXJ2aWNlV29ya2VyUHJvY2VzcykgeworICAgICAgICBwYXJhbWV0ZXJzLmhvc3RDbGll
bnRGaWxlRGVzY3JpcHRvciA9IHdwZV9yZW5kZXJlcl9ob3N0X2NyZWF0ZV9jbGllbnQoKTsKKyAg
ICAgICAgcGFyYW1ldGVycy5pbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lID0gRmlsZVN5c3RlbTo6
ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHdwZV9sb2FkZXJfZ2V0X2xvYWRlZF9pbXBsZW1lbnRh
dGlvbl9saWJyYXJ5X25hbWUoKSk7CisgICAgfQogI2VuZGlmCiAKICAgICBwYXJhbWV0ZXJzLm1l
bW9yeUNhY2hlRGlzYWJsZWQgPSBtX21lbW9yeUNhY2hlRGlzYWJsZWQgfHwgY2FjaGVNb2RlbCgp
ID09IENhY2hlTW9kZWw6OkRvY3VtZW50Vmlld2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwCmluZGV4IDE5MmExMTc1NjQxMDIzZTgzOWFj
ZDA2MzQ3YWI3NzY5MzQ2MzQwYzAuLmZlODk2ZTJmNjIzMGU4NWEzY2VmZGU2MTk5ODVlMTg3ZGQ1
YjZmNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nl
c3NHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNz
R0xpYi5jcHAKQEAgLTUwLDExICs1MCwxNCBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0
Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiB2b2lkIFdlYlByb2Nlc3M6OnBsYXRm
b3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBh
cmFtZXRlcnMpCiB7CiAjaWYgUExBVEZPUk0oV1BFKQotICAgIGF1dG8mIGltcGxlbWVudGF0aW9u
TGlicmFyeU5hbWUgPSBwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWU7Ci0gICAg
aWYgKCFpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lLmlzTnVsbCgpICYmIGltcGxlbWVudGF0aW9u
TGlicmFyeU5hbWUuZGF0YSgpWzBdICE9ICdcMCcpCi0gICAgICAgIHdwZV9sb2FkZXJfaW5pdChw
YXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUuZGF0YSgpKTsKLSAgICBSRUxFQVNF
X0FTU0VSVChpczxQbGF0Zm9ybURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxheTo6c2hhcmVk
RGlzcGxheSgpKSk7Ci0gICAgZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5TGliV1BFPihQbGF0Zm9y
bURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSkuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzLmhvc3RDbGll
bnRGaWxlRGVzY3JpcHRvci5yZWxlYXNlRmlsZURlc2NyaXB0b3IoKSk7CisgICAgaWYgKCFwYXJh
bWV0ZXJzLmlzU2VydmljZVdvcmtlclByb2Nlc3MpIHsKKyAgICAgICAgYXV0byYgaW1wbGVtZW50
YXRpb25MaWJyYXJ5TmFtZSA9IHBhcmFtZXRlcnMuaW1wbGVtZW50YXRpb25MaWJyYXJ5TmFtZTsK
KyAgICAgICAgaWYgKCFpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lLmlzTnVsbCgpICYmIGltcGxl
bWVudGF0aW9uTGlicmFyeU5hbWUuZGF0YSgpWzBdICE9ICdcMCcpCisgICAgICAgICAgICB3cGVf
bG9hZGVyX2luaXQocGFyYW1ldGVycy5pbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lLmRhdGEoKSk7
CisKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXM8UGxhdGZvcm1EaXNwbGF5TGliV1BFPihQbGF0
Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSkpOworICAgICAgICBkb3duY2FzdDxQbGF0Zm9y
bURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpKS5pbml0aWFs
aXplKHBhcmFtZXRlcnMuaG9zdENsaWVudEZpbGVEZXNjcmlwdG9yLnJlbGVhc2VGaWxlRGVzY3Jp
cHRvcigpKTsKKyAgICB9CiAjZW5kaWYKICNpZiBQTEFURk9STShXQVlMQU5EKQogICAgIG1fd2F5
bGFuZENvbXBvc2l0b3JEaXNwbGF5ID0gV2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5OjpjcmVhdGUo
cGFyYW1ldGVycy53YXlsYW5kQ29tcG9zaXRvckRpc3BsYXlOYW1lKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>