<?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>198376</bug_id>
          
          <creation_ts>2019-05-30 09:06:21 -0700</creation_ts>
          <short_desc>[GStreamer] Cannot play Bert&apos;s Bytes radio stream from http://radio.dos.nl/</short_desc>
          <delta_ts>2019-07-01 09:57:29 -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>WebKitGTK</component>
          <version>Other</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="Alberto Garcia">berto</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>aperez</cc>
    
    <cc>ap</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>mailinglists</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1540311</commentid>
    <comment_count>0</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-05-30 09:06:21 -0700</bug_when>
    <thetext>1. Go to http://radio.dos.nl/
2. Click on the menu button on the lower right corner
3. Select &quot;Jazz&quot;
4. Click on the &quot;Bert&apos;s Bytes&quot; icon.

This should play this radio stream, but it does nothing with WebKitGTK 2.24.2.

It reportedly works fine with 2.24.0 and fails with 2.24.1. It is likely related to bug 197410.

This bug was originally reported in Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929749</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540312</commentid>
    <comment_count>1</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-05-30 09:07:34 -0700</bug_when>
    <thetext>(In reply to Alberto Garcia from comment #0)
&gt; 2. Click on the menu button on the lower right corner

Sorry, I meant the lower *LEFT* corner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544045</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-06-12 05:22:42 -0700</bug_when>
    <thetext>That&apos;s not a live stream though, http://www.bertvandenbrink.com/bertsbytes/concert.mp3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544993</commentid>
    <comment_count>3</comment_count>
    <who name="Richard Lucassen">mailinglists</who>
    <bug_when>2019-06-15 01:30:32 -0700</bug_when>
    <thetext>No, it&apos;s not a live stream, but 2.24.0 plays it and 2.24.1 does not.

Richard</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545220</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-06-17 01:54:27 -0700</bug_when>
    <thetext>Actually it might if you wait long enough :D
It&apos;s an issue with the on-disk buffering, I started a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549167</commentid>
    <comment_count>5</comment_count>
      <attachid>373217</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 02:28:39 -0700</bug_when>
    <thetext>Created attachment 373217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549172</commentid>
    <comment_count>6</comment_count>
      <attachid>373217</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2019-07-01 03:48:55 -0700</bug_when>
    <thetext>Comment on attachment 373217
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        No new tests, existing media tests cover this patch.

Why is no test turning green associated with the bug then?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1474
&gt; +    auto updateMaxTimeLoaded = [&amp;]() {

Sometimes it is hard to choose when to use a lambda like this or just another regular object method. My preference in this case would be the latter.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1508
&gt; +    case GST_BUFFERING_TIMESHIFT:
&gt; +    case GST_BUFFERING_LIVE:

maybe just &quot;default:&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549174</commentid>
    <comment_count>7</comment_count>
      <attachid>373217</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2019-07-01 04:15:09 -0700</bug_when>
    <thetext>Comment on attachment 373217
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:16
&gt;&gt; +        No new tests, existing media tests cover this patch.
&gt; 
&gt; Why is no test turning green associated with the bug then?

There is no test and there should be. I know we are in a hurry for the release, so let&apos;s land it and open a bug for the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549193</commentid>
    <comment_count>8</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-01 05:57:02 -0700</bug_when>
    <thetext>I am testing gtk queue on new EWS and it seems to fail for this patch.

Can someone look if EWS caught a real issue or it&apos;s a false positive?

https://ews-build.webkit-uat.org/#/builders/7/builds/281
Retry: https://ews-build.webkit-uat.org/#/builders/7/builds/282</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549196</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 06:15:35 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #8)
&gt; I am testing gtk queue on new EWS and it seems to fail for this patch.
&gt; 
&gt; Can someone look if EWS caught a real issue or it&apos;s a false positive?
&gt; 
&gt; https://ews-build.webkit-uat.org/#/builders/7/builds/281
&gt; Retry: https://ews-build.webkit-uat.org/#/builders/7/builds/282

I&apos;ll check it, thanks for the heads-up!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549197</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 06:16:55 -0700</bug_when>
    <thetext>It&apos;s a WPE issue, not GTK. I forgot an include:

GLibUtilities.h:38:15: error: ‘GUniquePtr’ does not name a type; did you mean ‘GUniquePtr_h’?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549198</commentid>
    <comment_count>11</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-01 06:20:14 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #10)
&gt; It&apos;s a WPE issue, not GTK. 
Yeah, I confused that. Thanks for the correction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549220</commentid>
    <comment_count>12</comment_count>
      <attachid>373236</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 08:16:43 -0700</bug_when>
    <thetext>Created attachment 373236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549221</commentid>
    <comment_count>13</comment_count>
      <attachid>373236</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 08:18:23 -0700</bug_when>
    <thetext>Comment on attachment 373236
Patch

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

&gt; Source/WTF/wtf/glib/GUniquePtr.h:27
&gt; +#include &lt;memory.h&gt;

That was the EWS issue I think. Let&apos;s see if EWS likes it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549225</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 08:29:53 -0700</bug_when>
    <thetext>Still red, I&apos;ll check it :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549235</commentid>
    <comment_count>15</comment_count>
      <attachid>373239</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 09:21:41 -0700</bug_when>
    <thetext>Created attachment 373239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549236</commentid>
    <comment_count>16</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 09:22:26 -0700</bug_when>
    <thetext>One of those weird issues with Forwarding headers and unified builds :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549242</commentid>
    <comment_count>17</comment_count>
      <attachid>373242</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 09:51:05 -0700</bug_when>
    <thetext>Created attachment 373242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549244</commentid>
    <comment_count>18</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-01 09:57:29 -0700</bug_when>
    <thetext>Committed r247010: &lt;https://trac.webkit.org/changeset/247010&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373217</attachid>
            <date>2019-07-01 02:28:39 -0700</date>
            <delta_ts>2019-07-01 08:16:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198376-20190701102837.patch</filename>
            <type>text/plain</type>
            <size>16166</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZiNWI4MjgzODQ3YmI4ZDc3ZDQ3NGNk
OTExN2Q1YmYxMWIxODhjODIuLjJiNDkxZDViNTAyMThjNzhjODFiMGQ2ZGYxYjY0MzE1ZGE1NWI2
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMDEgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIENhbm5vdCBwbGF5IEJl
cnQncyBCeXRlcyByYWRpbyBzdHJlYW0gZnJvbSBodHRwOi8vcmFkaW8uZG9zLm5sLworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4Mzc2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvZ2xpYi9HTGli
VXRpbGl0aWVzLmg6CisgICAgICAgIChlbnVtVG9TdHJpbmcpOiBVdGlsaXR5IGZ1bmN0aW9uIHRv
IGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBvZiBhIEdMaWIgZW51bS4KKwogMjAxOS0w
Ni0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3RyZWFtbGlu
ZSBzb21lIHN0cmluZyBjb2RlLCBmb2N1c2luZyBvbiBmdW5jdGlvbnMgdGhhdCB3ZXJlIHVzaW5n
IHN1YnN0cmluZ1NoYXJpbmdJbXBsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTU3Y2VlNTkwYjg0ZGQ3MmJlODBi
YTgyY2RhYjI1NDkxNWRjZDIyYS4uMzRjNzE4OWI3ZDY5ZTBjNmE4MDdmYjRmZTQyMjgzMWVlOTU0
MmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA3LTAxICBQaGlsaXBwZSBO
b3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBDYW5u
b3QgcGxheSBCZXJ0J3MgQnl0ZXMgcmFkaW8gc3RyZWFtIGZyb20gaHR0cDovL3JhZGlvLmRvcy5u
bC8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODM3
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBk
ZWxheWVkIHN0YXJ0dXAgd2FzIGR1ZSB0byBhIG1peCBvZiBidWZmZXJpbmcgZmVlZGJhY2sKKyAg
ICAgICAgbWVzc2FnZXMgbm90IGhhbmRsZWQgY29ycmVjdGx5IGJ5IHRoZSBwbGF5ZXIuIFdlIHdl
cmUgaGFuZGxpbmcKKyAgICAgICAgZG93bmxvYWQgYW5kIHN0cmVhbWluZyBidWZmZXJpbmcgbWV0
cmljcyB3aXRob3V0IGRpc3RpbmN0aW9uLgorICAgICAgICBSYW5nZSByZXF1ZXN0cyAodXNlZCBm
b3Igc2Vla2luZykgd2VyZSBhbHNvIHRyaWdnZXJpbmcgb24tZGlzaworICAgICAgICBidWZmZXJp
bmcgaW4gc29tZSBjYXNlcy4gVGhlIGJ1ZmZlcmluZyBwZXJjZW50YWdlIGVzdGltYXRpb24gYmFz
ZWQKKyAgICAgICAgb24gbmV0d29yayByZWFkIHBvc2l0aW9uIHdhcyBub3Qgd29ya2luZyBlaXRo
ZXIgYmVjYXVzZSB1aW50NjRfdAorICAgICAgICBkaXZpc2lvbiBkb2Vzbid0IHJldHVybiBhIGZs
b2F0aW5nIHBvaW50IHZhbHVlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgZXhpc3RpbmcgbWVk
aWEgdGVzdHMgY292ZXIgdGhpcyBwYXRjaC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjb21taXRMb2FkKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6cGxheSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwcm9jZXNzQnVmZmVy
aW5nU3RhdHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
Ojp1cGRhdGVCdWZmZXJpbmdTdGF0dXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpmaWxsVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om1heFRpbWVMb2FkZWQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpkaWRMb2FkaW5nUHJvZ3Jlc3Mg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1
cGRhdGVTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjp1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWcpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQcmVsb2FkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1l
ci5jcHA6CisgICAgICAgICh3ZWJraXRXZWJTcmNSZXNldCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaDoK
KwogMjAxOS0wNy0wMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViU29ja2V0czogYWRkIHN1cHBvcnQgZm9yIHNlbmRpbmcgYmxvYiBtZXNz
YWdlcyB3aGVuIHVzaW5nIHdlYiBzb2NrZXRzIHBsYXRmb3JtIEFQSXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oIGIvU291cmNlL1dURi93dGYvZ2xpYi9H
TGliVXRpbGl0aWVzLmgKaW5kZXggMjk5Mzc4OWMyYmFmNTg4ZjFlZTQ3OTEyZWFhYTVmM2ViN2E0
ZDkyMi4uMWU3N2YwN2FmYTVjMDU5ZGU3MTcwYzA4Y2UzZDJmMzhhMjlhOGU5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dURi93
dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmgKQEAgLTE3LDEwICsxNywxMCBAQAogICogIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKLSNpZm5kZWYgR0xpYlV0aWxpdGllc19oCi0jZGVm
aW5lIEdMaWJVdGlsaXRpZXNfaAorI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKIENTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCk7CkBA
IC0zNSw0ICszNSwxNSBAQCBDU3RyaW5nIGdldEN1cnJlbnRFeGVjdXRhYmxlTmFtZSgpOwogI2Rl
ZmluZSBHUE9JTlRFUl9UT19VTE9ORyhwKSAoKGd1bG9uZykgKHApKQogI2VuZGlmCiAKK3N0YXRp
YyBpbmxpbmUgR1VuaXF1ZVB0cjxjaGFyPiBlbnVtVG9TdHJpbmcoR1R5cGUgdHlwZSwgZ3VpbnQg
dmFsdWUpCit7CisjaWYgR0xJQl9DSEVDS19WRVJTSU9OKDIsIDU0LCAwKQorICAgIHJldHVybiBH
VW5pcXVlUHRyPGNoYXI+KGdfZW51bV90b19zdHJpbmcodHlwZSwgdmFsdWUpKTsKKyNlbHNlCisg
ICAgR0VudW1DbGFzcyogZW51bUNsYXNzID0gcmVpbnRlcnByZXRfY2FzdDxHRW51bUNsYXNzKj4o
Z190eXBlX2NsYXNzX3JlZih0eXBlKSk7CisgICAgR0VudW1WYWx1ZSogZW51bVZhbHVlID0gZ19l
bnVtX2dldF92YWx1ZShlbnVtQ2xhc3MsIHZhbHVlKTsKKyAgICBjaGFyKiByZXByZXNlbnRhdGlv
biA9IGVudW1WYWx1ZSA/IGdfc3RyZHVwKGVudW1WYWx1ZS0+dmFsdWVfbmljaykgOiBudWxscHRy
OworICAgIGdfdHlwZV9jbGFzc191bnJlZihlbnVtQ2xhc3MpOworICAgIHJldHVybiBHVW5pcXVl
UHRyPGNoYXI+KHJlcHJlc2VudGF0aW9uKTsKICNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3MDlhMWI2Mjg0NjZhMTI1NDFi
Y2E4YTE0MmU5NjYxM2Y4N2FkY2RlLi4xNGFmOTdiMTU0ZWE4OTFlMGM5OWNiMGI5Y2U3YjBlYjU2
M2YxOGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcApAQCAtNDgsNyArNDgsNyBAQAogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5o
PgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlIDx3dGYvV2FsbFRpbWUuaD4KLSNpbmNs
dWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CisjaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxp
dGllcy5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL1J1bkxvb3BTb3VyY2VQcmlvcml0eS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25j
YXRlbmF0ZU51bWJlcnMuaD4KQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6Y29tbWl0TG9hZCgpCiAgICAgLy8gc3RhcnQgcHJvdmlkaW5nIGFueXRo
aW5nIHVzZWZ1bC4KICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9QQVVTRUQpOwog
Ci0gICAgc2V0RG93bmxvYWRCdWZmZXJpbmcoKTsKKyAgICB1cGRhdGVEb3dubG9hZEJ1ZmZlcmlu
Z0ZsYWcoKTsKICAgICB1cGRhdGVTdGF0ZXMoKTsKIH0KIApAQCAtNDU4LDcgKzQ1OCw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwbGF5KCkKICAgICAgICAgbV9pc0VuZFJl
YWNoZWQgPSBmYWxzZTsKICAgICAgICAgbV9kZWxheWluZ0xvYWQgPSBmYWxzZTsKICAgICAgICAg
bV9wcmVsb2FkID0gTWVkaWFQbGF5ZXI6OkF1dG87Ci0gICAgICAgIHNldERvd25sb2FkQnVmZmVy
aW5nKCk7CisgICAgICAgIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpOwogICAgICAgICBH
U1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIlBsYXkiKTsKICAgICB9IGVsc2UKICAgICAgICAg
bG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6RW1wdHkpOwpAQCAtMTM0OSw2ICsxMzQ5LDE0IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3Nh
Z2UqIG1lc3NhZ2UpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYm9vbCBpc1JhbmdlUmVxdWVzdCA9IGZh
bHNlOworICAgICAgICAgICAgR1VuaXF1ZU91dFB0cjxHc3RTdHJ1Y3R1cmU+IHJlcXVlc3RIZWFk
ZXJzOworICAgICAgICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0KHN0cnVjdHVyZSwgInJlcXVl
c3QtaGVhZGVycyIsIEdTVF9UWVBFX1NUUlVDVFVSRSwgJnJlcXVlc3RIZWFkZXJzLm91dFB0cigp
LCBudWxscHRyKSkKKyAgICAgICAgICAgICAgICBpc1JhbmdlUmVxdWVzdCA9IGdzdF9zdHJ1Y3R1
cmVfaGFzX2ZpZWxkKHJlcXVlc3RIZWFkZXJzLmdldCgpLCAiUmFuZ2UiKTsKKworICAgICAgICAg
ICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiSXMgcmFuZ2UgcmVxdWVzdDogJXMiLCBi
b29sRm9yUHJpbnRpbmcoaXNSYW5nZVJlcXVlc3QpKTsKKwogICAgICAgICAgICAgR1VuaXF1ZU91
dFB0cjxHc3RTdHJ1Y3R1cmU+IHJlc3BvbnNlSGVhZGVyczsKICAgICAgICAgICAgIGlmIChnc3Rf
c3RydWN0dXJlX2dldChzdHJ1Y3R1cmUsICJyZXNwb25zZS1oZWFkZXJzIiwgR1NUX1RZUEVfU1RS
VUNUVVJFLCAmcmVzcG9uc2VIZWFkZXJzLm91dFB0cigpLCBudWxscHRyKSkgewogICAgICAgICAg
ICAgICAgIGNvbnN0IGNoYXIqIGNvbnRlbnRMZW5ndGhIZWFkZXJOYW1lID0gaHR0cEhlYWRlck5h
bWVTdHJpbmcoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRMZW5ndGgpLnV0ZjgoKS5kYXRhKCk7CkBA
IC0xMzYzLDEwICsxMzcxLDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpo
YW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGVudExlbmd0aCA9IDA7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICIl
cyBzdHJlYW0gZGV0ZWN0ZWQiLCAhY29udGVudExlbmd0aCA/ICJMaXZlIiA6ICJOb24tbGl2ZSIp
OwotICAgICAgICAgICAgICAgIGlmICghY29udGVudExlbmd0aCkgewotICAgICAgICAgICAgICAg
ICAgICBtX2lzU3RyZWFtaW5nID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgc2V0RG93bmxv
YWRCdWZmZXJpbmcoKTsKKyAgICAgICAgICAgICAgICBpZiAoIWlzUmFuZ2VSZXF1ZXN0KSB7Cisg
ICAgICAgICAgICAgICAgICAgIG1faXNTdHJlYW1pbmcgPSAhY29udGVudExlbmd0aDsKKyAgICAg
ICAgICAgICAgICAgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICIlcyBzdHJlYW0gZGV0
ZWN0ZWQiLCBtX2lzU3RyZWFtaW5nID8gIkxpdmUiIDogIk5vbi1saXZlIik7CisgICAgICAgICAg
ICAgICAgICAgIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChnc3Rfc3RydWN0dXJlX2hhc19u
YW1lKHN0cnVjdHVyZSwgIndlYmtpdC1uZXR3b3JrLXN0YXRpc3RpY3MiKSkgewpAQCAtMTQ1MCwx
MyArMTQ1OCw1NyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVz
c2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6cHJvY2Vzc0J1ZmZlcmluZ1N0YXRzKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiB7Ci0gICAg
bV9idWZmZXJpbmcgPSB0cnVlOwotICAgIGdzdF9tZXNzYWdlX3BhcnNlX2J1ZmZlcmluZyhtZXNz
YWdlLCAmbV9idWZmZXJpbmdQZXJjZW50YWdlKTsKKyAgICBHc3RCdWZmZXJpbmdNb2RlIG1vZGU7
CisgICAgZ3N0X21lc3NhZ2VfcGFyc2VfYnVmZmVyaW5nX3N0YXRzKG1lc3NhZ2UsICZtb2RlLCBu
dWxscHRyLCBudWxscHRyLCBudWxscHRyKTsKKworICAgIGludCBwZXJjZW50YWdlOworICAgIGdz
dF9tZXNzYWdlX3BhcnNlX2J1ZmZlcmluZyhtZXNzYWdlLCAmcGVyY2VudGFnZSk7CisKKyAgICB1
cGRhdGVCdWZmZXJpbmdTdGF0dXMobW9kZSwgcGVyY2VudGFnZSk7Cit9CisKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVCdWZmZXJpbmdTdGF0dXMoR3N0QnVmZmVyaW5n
TW9kZSBtb2RlLCBkb3VibGUgcGVyY2VudGFnZSkKK3sKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBp
cGVsaW5lKCksICJbQnVmZmVyaW5nXSBtb2RlOiAlcywgc3RhdHVzOiAlZiUlIiwgZW51bVRvU3Ry
aW5nKEdTVF9UWVBFX0JVRkZFUklOR19NT0RFLCBtb2RlKS5nZXQoKSwgcGVyY2VudGFnZSk7CisK
KyAgICBhdXRvIHVwZGF0ZU1heFRpbWVMb2FkZWQgPSBbJl0oKSB7CisgICAgICAgIE1lZGlhVGlt
ZSBtZWRpYUR1cmF0aW9uID0gZHVyYXRpb25NZWRpYVRpbWUoKTsKKyAgICAgICAgaWYgKCFtZWRp
YUR1cmF0aW9uKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIG1fbWF4VGltZUxvYWRl
ZCA9IE1lZGlhVGltZShwZXJjZW50YWdlICogc3RhdGljX2Nhc3Q8ZG91YmxlPih0b0dzdFVuc2ln
bmVkNjRUaW1lKG1lZGlhRHVyYXRpb24pKSAvIDEwMCwgR1NUX1NFQ09ORCk7CisgICAgICAgIEdT
VF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIFVwZGF0ZWQgbWF4VGltZUxv
YWRlZDogJXMiLCB0b1N0cmluZyhtX21heFRpbWVMb2FkZWQpLnV0ZjgoKS5kYXRhKCkpOworICAg
IH07CisKKyAgICBtX2Rvd25sb2FkRmluaXNoZWQgPSBwZXJjZW50YWdlID09IDEwMDsKKyAgICBt
X2J1ZmZlcmluZyA9ICFtX2Rvd25sb2FkRmluaXNoZWQ7CisKKyAgICBzd2l0Y2ggKG1vZGUpIHsK
KyAgICBjYXNlIEdTVF9CVUZGRVJJTkdfU1RSRUFNOiB7CisgICAgICAgIHVwZGF0ZU1heFRpbWVM
b2FkZWQoKTsKIAotICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmdd
IEJ1ZmZlcmluZzogJWQlJS4iLCBtX2J1ZmZlcmluZ1BlcmNlbnRhZ2UpOworICAgICAgICBtX2J1
ZmZlcmluZ1BlcmNlbnRhZ2UgPSBwZXJjZW50YWdlOworICAgICAgICBpZiAobV9kb3dubG9hZEZp
bmlzaGVkKQorICAgICAgICAgICAgdXBkYXRlU3RhdGVzKCk7CisKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorICAgIGNhc2UgR1NUX0JVRkZFUklOR19ET1dOTE9BRDogeworICAgICAgICB1cGRhdGVN
YXhUaW1lTG9hZGVkKCk7CisKKyAgICAgICAgLy8gTWVkaWEgaXMgbm93IGZ1bGx5IGxvYWRlZC4g
SXQgd2lsbCBwbGF5IGV2ZW4gaWYgbmV0d29yayBjb25uZWN0aW9uIGlzCisgICAgICAgIC8vIGN1
dC4gQnVmZmVyaW5nIGlzIGRvbmUsIHJlbW92ZSB0aGUgZmlsbCBzb3VyY2UgZnJvbSB0aGUgbWFp
biBsb29wLgorICAgICAgICBpZiAobV9kb3dubG9hZEZpbmlzaGVkKQorICAgICAgICAgICAgbV9m
aWxsVGltZXIuc3RvcCgpOwogCi0gICAgaWYgKG1fYnVmZmVyaW5nUGVyY2VudGFnZSA9PSAxMDAp
CiAgICAgICAgIHVwZGF0ZVN0YXRlcygpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2Fz
ZSBHU1RfQlVGRkVSSU5HX1RJTUVTSElGVDoKKyAgICBjYXNlIEdTVF9CVUZGRVJJTkdfTElWRToK
KyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiVW5oYW5kbGVkIGJ1ZmZlcmlu
ZyBtb2RlOiAlcyIsIGVudW1Ub1N0cmluZyhHU1RfVFlQRV9CVUZGRVJJTkdfTU9ERSwgbW9kZSku
Z2V0KCkpOworICAgICAgICBicmVhazsKKyAgICB9CiB9CiAKICNpZiBFTkFCTEUoVklERU9fVFJB
Q0spICYmIFVTRShHU1RSRUFNRVJfTVBFR1RTKQpAQCAtMTU4NSw0OCArMTYzNywyMyBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZmlsbFRpbWVyRmlyZWQoKQogewogICAgIEdS
ZWZQdHI8R3N0UXVlcnk+IHF1ZXJ5ID0gYWRvcHRHUmVmKGdzdF9xdWVyeV9uZXdfYnVmZmVyaW5n
KEdTVF9GT1JNQVRfUEVSQ0VOVCkpOwogICAgIGRvdWJsZSBmaWxsU3RhdHVzID0gMTAwLjA7Cisg
ICAgR3N0QnVmZmVyaW5nTW9kZSBtb2RlID0gR1NUX0JVRkZFUklOR19ET1dOTE9BRDsKIAotICAg
IGlmIChnc3RfZWxlbWVudF9xdWVyeShtX3BpcGVsaW5lLmdldCgpLCBxdWVyeS5nZXQoKSkpIHsK
LSAgICAgICAgaW50NjRfdCBzdG9wOwotICAgICAgICBHc3RGb3JtYXQgZm9ybWF0OwotICAgICAg
ICBnc3RfcXVlcnlfcGFyc2VfYnVmZmVyaW5nX3JhbmdlKHF1ZXJ5LmdldCgpLCAmZm9ybWF0LCBu
dWxscHRyLCAmc3RvcCwgbnVsbHB0cik7Ci0gICAgICAgIEFTU0VSVChmb3JtYXQgPT0gR1NUX0ZP
Uk1BVF9QRVJDRU5UKTsKKyAgICBpZiAoZ3N0X2VsZW1lbnRfcXVlcnkobV9zb3VyY2UuZ2V0KCks
IHF1ZXJ5LmdldCgpKSkgeworICAgICAgICBnc3RfcXVlcnlfcGFyc2VfYnVmZmVyaW5nX3N0YXRz
KHF1ZXJ5LmdldCgpLCAmbW9kZSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cik7CiAKLSAgICAg
ICAgaWYgKHN0b3AgIT0gLTEpCi0gICAgICAgICAgICBmaWxsU3RhdHVzID0gMTAwLjAgKiBzdG9w
IC8gR1NUX0ZPUk1BVF9QRVJDRU5UX01BWDsKKyAgICAgICAgaW50IHBlcmNlbnRhZ2U7CisgICAg
ICAgIGdzdF9xdWVyeV9wYXJzZV9idWZmZXJpbmdfcGVyY2VudChxdWVyeS5nZXQoKSwgbnVsbHB0
ciwgJnBlcmNlbnRhZ2UpOworICAgICAgICBmaWxsU3RhdHVzID0gcGVyY2VudGFnZTsKICAgICB9
IGVsc2UgaWYgKG1faHR0cFJlc3BvbnNlVG90YWxTaXplKSB7CiAgICAgICAgIEdTVF9ERUJVR19P
QkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIFF1ZXJ5IGZhaWxlZCwgZmFsbGluZyBiYWNr
IHRvIG5ldHdvcmsgcmVhZCBwb3NpdGlvbiBlc3RpbWF0aW9uIik7Ci0gICAgICAgIGZpbGxTdGF0
dXMgPSAxMDAuMCAqIChtX25ldHdvcmtSZWFkUG9zaXRpb24gLyBtX2h0dHBSZXNwb25zZVRvdGFs
U2l6ZSk7CisgICAgICAgIGZpbGxTdGF0dXMgPSAxMDAuMCAqIChzdGF0aWNfY2FzdDxkb3VibGU+
KG1fbmV0d29ya1JlYWRQb3NpdGlvbikgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG1faHR0cFJlc3Bv
bnNlVG90YWxTaXplKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChw
aXBlbGluZSgpLCAiW0J1ZmZlcmluZ10gVW5hYmxlIHRvIGRldGVybWluZSBvbi1kaXNrIGJ1ZmZl
cmluZyBzdGF0dXMiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEdTVF9ERUJVR19P
QkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIERvd25sb2FkIGJ1ZmZlciBmaWxsZWQgdXAg
dG8gJWYlJSIsIGZpbGxTdGF0dXMpOwotCi0gICAgTWVkaWFUaW1lIG1lZGlhRHVyYXRpb24gPSBk
dXJhdGlvbk1lZGlhVGltZSgpOwotCi0gICAgLy8gVXBkYXRlIG1heFRpbWVMb2FkZWQgb25seSBp
ZiB0aGUgbWVkaWEgZHVyYXRpb24gaXMKLSAgICAvLyBhdmFpbGFibGUuIE90aGVyd2lzZSB3ZSBj
YW4ndCBjb21wdXRlIGl0LgotICAgIGlmIChtZWRpYUR1cmF0aW9uKSB7Ci0gICAgICAgIGlmIChm
aWxsU3RhdHVzID09IDEwMC4wKQotICAgICAgICAgICAgbV9tYXhUaW1lTG9hZGVkID0gbWVkaWFE
dXJhdGlvbjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9tYXhUaW1lTG9hZGVkID0gTWVk
aWFUaW1lKGZpbGxTdGF0dXMgKiBzdGF0aWNfY2FzdDxkb3VibGU+KHRvR3N0VW5zaWduZWQ2NFRp
bWUobWVkaWFEdXJhdGlvbikpIC8gMTAwLCBHU1RfU0VDT05EKTsKLSAgICAgICAgR1NUX0RFQlVH
X09CSkVDVChwaXBlbGluZSgpLCAiW0J1ZmZlcmluZ10gVXBkYXRlZCBtYXhUaW1lTG9hZGVkOiAl
cyIsIHRvU3RyaW5nKG1fbWF4VGltZUxvYWRlZCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgfQotCi0g
ICAgbV9kb3dubG9hZEZpbmlzaGVkID0gZmlsbFN0YXR1cyA9PSAxMDAuMDsKLSAgICBpZiAoIW1f
ZG93bmxvYWRGaW5pc2hlZCkgewotICAgICAgICB1cGRhdGVTdGF0ZXMoKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIC8vIE1lZGlhIGlzIG5vdyBmdWxseSBsb2FkZWQuIEl0IHdpbGwg
cGxheSBldmVuIGlmIG5ldHdvcmsKLSAgICAvLyBjb25uZWN0aW9uIGlzIGN1dC4gQnVmZmVyaW5n
IGlzIGRvbmUsIHJlbW92ZSB0aGUgZmlsbCBzb3VyY2UKLSAgICAvLyBmcm9tIHRoZSBtYWluIGxv
b3AuCi0gICAgbV9maWxsVGltZXIuc3RvcCgpOwotICAgIHVwZGF0ZVN0YXRlcygpOworICAgIHVw
ZGF0ZUJ1ZmZlcmluZ1N0YXR1cyhtb2RlLCBmaWxsU3RhdHVzKTsKIH0KIAogTWVkaWFUaW1lIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bWF4TWVkaWFUaW1lU2Vla2FibGUoKSBjb25zdApA
QCAtMTY1NSw3ICsxNjgyLDcgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6bWF4VGltZUxvYWRlZCgpIGNvbnN0CiAgICAgTWVkaWFUaW1lIGxvYWRlZCA9IG1fbWF4VGlt
ZUxvYWRlZDsKICAgICBpZiAobV9pc0VuZFJlYWNoZWQpCiAgICAgICAgIGxvYWRlZCA9IGR1cmF0
aW9uTWVkaWFUaW1lKCk7Ci0gICAgR1NUX0xPRygibWF4VGltZUxvYWRlZDogJXMiLCB0b1N0cmlu
Zyhsb2FkZWQpLnV0ZjgoKS5kYXRhKCkpOworICAgIEdTVF9MT0dfT0JKRUNUKHBpcGVsaW5lKCks
ICJtYXhUaW1lTG9hZGVkOiAlcyIsIHRvU3RyaW5nKGxvYWRlZCkudXRmOCgpLmRhdGEoKSk7CiAg
ICAgcmV0dXJuIGxvYWRlZDsKIH0KIApAQCAtMTY2Niw4ICsxNjkzLDkgQEAgYm9vbCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OmRpZExvYWRpbmdQcm9ncmVzcygpIGNvbnN0CiAKICAgICBp
ZiAoV0VCS0lUX0lTX1dFQl9TUkMobV9zb3VyY2UuZ2V0KCkpKSB7CiAgICAgICAgIEdTVF9MT0df
T0JKRUNUKHBpcGVsaW5lKCksICJMYXN0IG5ldHdvcmsgcmVhZCBwb3NpdGlvbjogJSIgR19HVUlO
VDY0X0ZPUk1BVCAiLCBjdXJyZW50OiAlIiBHX0dVSU5UNjRfRk9STUFULCBtX3JlYWRQb3NpdGlv
bkF0TGFzdERpZExvYWRpbmdQcm9ncmVzcywgbV9uZXR3b3JrUmVhZFBvc2l0aW9uKTsKLSAgICAg
ICAgYm9vbCBkaWRMb2FkaW5nUHJvZ3Jlc3MgPSBtX3JlYWRQb3NpdGlvbkF0TGFzdERpZExvYWRp
bmdQcm9ncmVzcyAhPSBtX25ldHdvcmtSZWFkUG9zaXRpb247CisgICAgICAgIGJvb2wgZGlkTG9h
ZGluZ1Byb2dyZXNzID0gbV9yZWFkUG9zaXRpb25BdExhc3REaWRMb2FkaW5nUHJvZ3Jlc3MgPCBt
X25ldHdvcmtSZWFkUG9zaXRpb247CiAgICAgICAgIG1fcmVhZFBvc2l0aW9uQXRMYXN0RGlkTG9h
ZGluZ1Byb2dyZXNzID0gbV9uZXR3b3JrUmVhZFBvc2l0aW9uOworICAgICAgICBHU1RfTE9HX09C
SkVDVChwaXBlbGluZSgpLCAiZGlkTG9hZGluZ1Byb2dyZXNzOiAlcyIsIGJvb2xGb3JQcmludGlu
ZyhkaWRMb2FkaW5nUHJvZ3Jlc3MpKTsKICAgICAgICAgcmV0dXJuIGRpZExvYWRpbmdQcm9ncmVz
czsKICAgICB9CiAKQEAgLTIwMDEsNyArMjAyOSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMoKQogCiAgICAgICAgIC8vIExpdmUgcGlwZWxpbmVzIGdv
IGluIFBBVVNFRCB3aXRob3V0IHByZXJvbGxpbmcuCiAgICAgICAgIG1faXNTdHJlYW1pbmcgPSB0
cnVlOwotICAgICAgICBzZXREb3dubG9hZEJ1ZmZlcmluZygpOworICAgICAgICB1cGRhdGVEb3du
bG9hZEJ1ZmZlcmluZ0ZsYWcoKTsKIAogICAgICAgICBpZiAobV9jdXJyZW50U3RhdGUgPT0gR1NU
X1NUQVRFX1JFQURZKQogICAgICAgICAgICAgbV9yZWFkeVN0YXRlID0gTWVkaWFQbGF5ZXI6Okhh
dmVOb3RoaW5nOwpAQCAtMjI1Niw3ICsyMjg0LDcgQEAgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlw
ZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnN1cHBvcnRzVHlwZShjb25zdCBNZWRpYUUK
ICAgICByZXR1cm4gZmluYWxSZXN1bHQ7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZygpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6dXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCkKIHsKICAgICBpZiAoIW1fcGlw
ZWxpbmUpCiAgICAgICAgIHJldHVybjsKQEAgLTIyOTEsNyArMjMxOSw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkIHBy
ZWxvYWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fcHJlbG9hZCA9IHByZWxvYWQ7Ci0gICAg
c2V0RG93bmxvYWRCdWZmZXJpbmcoKTsKKyAgICB1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWco
KTsKIAogICAgIGlmIChtX2RlbGF5aW5nTG9hZCAmJiBtX3ByZWxvYWQgIT0gTWVkaWFQbGF5ZXI6
Ok5vbmUpIHsKICAgICAgICAgbV9kZWxheWluZ0xvYWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA4ZTI1N2U2MjMwMzIwYjkzYmJh
Y2RjODI2ZjkwZjExYzMyNWViNDVjLi5lMzUxN2YxNTIzZGI3NzMyYzFjOWRmNjA0MjJlZjI2ZTFj
ODc3YzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
CkBAIC0xNTQsOCArMTU0LDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBsb2FkTmV4dExvY2F0aW9u
KCk7CiAgICAgdm9pZCBtZWRpYUxvY2F0aW9uQ2hhbmdlZChHc3RNZXNzYWdlKik7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0RG93bmxvYWRCdWZmZXJpbmcoKTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAgICAgdm9pZCBwcm9jZXNzQnVmZmVyaW5nU3Rh
dHMoR3N0TWVzc2FnZSopOworICAgIHZvaWQgdXBkYXRlQnVmZmVyaW5nU3RhdHVzKEdzdEJ1ZmZl
cmluZ01vZGUsIGRvdWJsZSBwZXJjZW50YWdlKTsKKwogI2lmIEVOQUJMRShWSURFT19UUkFDSykK
ICNpZiBVU0UoR1NUUkVBTUVSX01QRUdUUykKICAgICB2b2lkIHByb2Nlc3NNcGVnVHNTZWN0aW9u
KEdzdE1wZWd0c1NlY3Rpb24qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJl
YW1lci5jcHAKaW5kZXggY2ZmMTlhYjk0Mjg2NGYwNTQxMTc5NDFjMmU1Y2Y3MzE4NzVmOGQyMC4u
MTIxODg0YTEwYWQ1MTE1MWY5N2FjMDdjNTUwYzIzNmU5NWU2ZGVkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdT
dHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTIzNyw2ICsyMzcsNyBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRXZWJTcmNSZXNldChXZWJLaXRXZWJTcmMqIHNyYykKIHsKICAgICBXZWJL
aXRXZWJTcmNQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9TUkNfR0VUX1BSSVZBVEUoc3JjKTsK
IAorICAgIEdTVF9ERUJVR19PQkpFQ1Qoc3JjLCAiUmVzZXR0aW5nIGludGVybmFsIHN0YXRlIik7
CiAgICAgcHJpdi0+aGF2ZVNpemUgPSBmYWxzZTsKICAgICBwcml2LT53ZXJlSGVhZGVyc1JlY2Vp
dmVkID0gZmFsc2U7CiAgICAgcHJpdi0+aXNTZWVrYWJsZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJNU0UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKaW5kZXggN2Q3
NDA1N2I5YmU5ZGViODNkNzk4ZmY4OGJiODk1M2JkYzZjMWUwMC4uM2JjYzBmZGJhMzg4M2FlZWM2
ZTJlMjY1ODVlYWM4Y2JiZTBkNGVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBsb2FkKGNv
bnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogCi0gICAg
dm9pZCBzZXREb3dubG9hZEJ1ZmZlcmluZygpIG92ZXJyaWRlIHsgfTsKKyAgICB2b2lkIHVwZGF0
ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpIG92ZXJyaWRlIHsgfTsKIAogICAgIGJvb2wgaXNMaXZl
U3RyZWFtKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBNZWRpYVRpbWUg
Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373236</attachid>
            <date>2019-07-01 08:16:43 -0700</date>
            <delta_ts>2019-07-01 09:21:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198376-20190701161641.patch</filename>
            <type>text/plain</type>
            <size>16976</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZiNWI4MjgzODQ3YmI4ZDc3ZDQ3NGNk
OTExN2Q1YmYxMWIxODhjODIuLmMyZjMwNWU3NzAwNGUxZWExYTY1YzZiOWNmMGNlYjM1MmFhZjc4
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMDEgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIENhbm5vdCBwbGF5IEJl
cnQncyBCeXRlcyByYWRpbyBzdHJlYW0gZnJvbSBodHRwOi8vcmFkaW8uZG9zLm5sLworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4Mzc2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJvZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgKiB3dGYv
Z2xpYi9HTGliVXRpbGl0aWVzLmg6CisgICAgICAgIChlbnVtVG9TdHJpbmcpOiBVdGlsaXR5IGZ1
bmN0aW9uIHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBvZiBhIEdMaWIgZW51bS4K
KwogMjAxOS0wNi0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U3RyZWFtbGluZSBzb21lIHN0cmluZyBjb2RlLCBmb2N1c2luZyBvbiBmdW5jdGlvbnMgdGhhdCB3
ZXJlIHVzaW5nIHN1YnN0cmluZ1NoYXJpbmdJbXBsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE1YWQ2OGY5N2Ri
YmQ4NzQ2ZjM4MDljNmJhZGQzOWMwMWJiM2UwZC4uNzU4OTBhN2ZhYTUzMmU0MTg0MTFhZmZhNTA1
ODc1YjljNzg3YWI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA3LTAxICBQ
aGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVh
bWVyXSBDYW5ub3QgcGxheSBCZXJ0J3MgQnl0ZXMgcmFkaW8gc3RyZWFtIGZyb20gaHR0cDovL3Jh
ZGlvLmRvcy5ubC8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IFhhYmllciBSb2RyaWd1ZXotQ2FsdmFy
LgorCisgICAgICAgIFRoZSBkZWxheWVkIHN0YXJ0dXAgd2FzIGR1ZSB0byBhIG1peCBvZiBidWZm
ZXJpbmcgZmVlZGJhY2sKKyAgICAgICAgbWVzc2FnZXMgbm90IGhhbmRsZWQgY29ycmVjdGx5IGJ5
IHRoZSBwbGF5ZXIuIFdlIHdlcmUgaGFuZGxpbmcKKyAgICAgICAgZG93bmxvYWQgYW5kIHN0cmVh
bWluZyBidWZmZXJpbmcgbWV0cmljcyB3aXRob3V0IGRpc3RpbmN0aW9uLgorICAgICAgICBSYW5n
ZSByZXF1ZXN0cyAodXNlZCBmb3Igc2Vla2luZykgd2VyZSBhbHNvIHRyaWdnZXJpbmcgb24tZGlz
aworICAgICAgICBidWZmZXJpbmcgaW4gc29tZSBjYXNlcy4gVGhlIGJ1ZmZlcmluZyBwZXJjZW50
YWdlIGVzdGltYXRpb24gYmFzZWQKKyAgICAgICAgb24gbmV0d29yayByZWFkIHBvc2l0aW9uIHdh
cyBub3Qgd29ya2luZyBlaXRoZXIgYmVjYXVzZSB1aW50NjRfdAorICAgICAgICBkaXZpc2lvbiBk
b2Vzbid0IHJldHVybiBhIGZsb2F0aW5nIHBvaW50IHZhbHVlLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgZXhpc3RpbmcgbWVkaWEgdGVzdHMgY292ZXIgdGhpcyBwYXRjaC4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjb21t
aXRMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
cGxheSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Omhh
bmRsZU1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpwcm9jZXNzQnVmZmVyaW5nU3RhdHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVCdWZmZXJpbmdTdGF0dXMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpmaWxsVGltZXJGaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om1heFRpbWVMb2FkZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpk
aWRMb2FkaW5nUHJvZ3Jlc3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWcpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQcmVsb2FkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktp
dFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgICh3ZWJraXRXZWJTcmNSZXNldCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0UuaDoKKwogMjAxOS0wNy0wMSAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI0Njk2MykgR1RLJ3MgZGVidWcgYnVp
bGQgaXMgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dMaWJVdGlsaXRp
ZXMuY3BwIGIvU291cmNlL1dURi93dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmNwcAppbmRleCBmNDRi
OWU1ZTdmNDhmZDMxZDc2MTc5MTdmMWRhNGI5OWJkZTkxNTkyLi42ZWE0Nzc3YjE0MjNkMzVhYTZk
MDZjYmY2NzMyNTY2Yjg3YTYyOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dM
aWJVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5j
cHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+
CiAKICNpbmNsdWRlIDxnbGliLmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgog
CiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaCBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xp
YlV0aWxpdGllcy5oCmluZGV4IDI5OTM3ODljMmJhZjU4OGYxZWU0NzkxMmVhYWE1ZjNlYjdhNGQ5
MjIuLjFlNzdmMDdhZmE1YzA1OWRlNzE3MGMwOGNlM2QyZjM4YTI5YThlOTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L2dsaWIvR0xpYlV0aWxpdGllcy5oCkBAIC0xNywxMCArMTcsMTAgQEAKICAqICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaWZuZGVmIEdMaWJVdGlsaXRpZXNfaAotI2RlZmlu
ZSBHTGliVXRpbGl0aWVzX2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCiBDU3RyaW5nIGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpOwpAQCAt
MzUsNCArMzUsMTUgQEAgQ1N0cmluZyBnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKTsKICNkZWZp
bmUgR1BPSU5URVJfVE9fVUxPTkcocCkgKChndWxvbmcpIChwKSkKICNlbmRpZgogCitzdGF0aWMg
aW5saW5lIEdVbmlxdWVQdHI8Y2hhcj4gZW51bVRvU3RyaW5nKEdUeXBlIHR5cGUsIGd1aW50IHZh
bHVlKQoreworI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA1NCwgMCkKKyAgICByZXR1cm4gR1Vu
aXF1ZVB0cjxjaGFyPihnX2VudW1fdG9fc3RyaW5nKHR5cGUsIHZhbHVlKSk7CisjZWxzZQorICAg
IEdFbnVtQ2xhc3MqIGVudW1DbGFzcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8R0VudW1DbGFzcyo+KGdf
dHlwZV9jbGFzc19yZWYodHlwZSkpOworICAgIEdFbnVtVmFsdWUqIGVudW1WYWx1ZSA9IGdfZW51
bV9nZXRfdmFsdWUoZW51bUNsYXNzLCB2YWx1ZSk7CisgICAgY2hhciogcmVwcmVzZW50YXRpb24g
PSBlbnVtVmFsdWUgPyBnX3N0cmR1cChlbnVtVmFsdWUtPnZhbHVlX25pY2spIDogbnVsbHB0cjsK
KyAgICBnX3R5cGVfY2xhc3NfdW5yZWYoZW51bUNsYXNzKTsKKyAgICByZXR1cm4gR1VuaXF1ZVB0
cjxjaGFyPihyZXByZXNlbnRhdGlvbik7CiAjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL2dsaWIvR1VuaXF1ZVB0ci5oIGIvU291cmNlL1dURi93dGYvZ2xpYi9HVW5pcXVlUHRy
LmgKaW5kZXggZTFjZmY4ZGRlYTQ0ZjZkYTcyZmRmMGYwMGYxMWNhMTg4Mzk2YTZlZC4uMmQwMzc5
MzMyNDUwZTgxNjE4OTY5NzAwZjVlNzc0YTMyMjY5MzY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvZ2xpYi9HVW5pcXVlUHRyLmgKKysrIGIvU291cmNlL1dURi93dGYvZ2xpYi9HVW5pcXVl
UHRyLmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpZiBVU0UoR0xJQikKIAogI2luY2x1ZGUgPGdpby9n
aW8uaD4KKyNpbmNsdWRlIDxtZW1vcnkuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCmluZGV4IDcwOWExYjYyODQ2NmExMjU0MWJjYThhMTQyZTk2NjEzZjg3YWRj
ZGUuLjk3MTczZjMwNjE1MjQ3Njc4YmFiMGVkM2NlMjJlZTZjY2Y3MGRiNTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00OCw3ICs0OCw3
IEBACiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW5jbHVkZSA8d3RmL1VS
TC5oPgogI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlx
dWVQdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8
d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgpA
QCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjb21t
aXRMb2FkKCkKICAgICAvLyBzdGFydCBwcm92aWRpbmcgYW55dGhpbmcgdXNlZnVsLgogICAgIGNo
YW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1BBVVNFRCk7CiAKLSAgICBzZXREb3dubG9hZEJ1
ZmZlcmluZygpOworICAgIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpOwogICAgIHVwZGF0
ZVN0YXRlcygpOwogfQogCkBAIC00NTgsNyArNDU4LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OnBsYXkoKQogICAgICAgICBtX2lzRW5kUmVhY2hlZCA9IGZhbHNlOwogICAg
ICAgICBtX2RlbGF5aW5nTG9hZCA9IGZhbHNlOwogICAgICAgICBtX3ByZWxvYWQgPSBNZWRpYVBs
YXllcjo6QXV0bzsKLSAgICAgICAgc2V0RG93bmxvYWRCdWZmZXJpbmcoKTsKKyAgICAgICAgdXBk
YXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAgICAgICAgIEdTVF9JTkZPX09CSkVDVChwaXBl
bGluZSgpLCAiUGxheSIpOwogICAgIH0gZWxzZQogICAgICAgICBsb2FkaW5nRmFpbGVkKE1lZGlh
UGxheWVyOjpFbXB0eSk7CkBAIC0xMzQ5LDYgKzEzNDksMTQgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBib29sIGlzUmFuZ2VSZXF1ZXN0ID0gZmFsc2U7CisgICAgICAgICAgICBH
VW5pcXVlT3V0UHRyPEdzdFN0cnVjdHVyZT4gcmVxdWVzdEhlYWRlcnM7CisgICAgICAgICAgICBp
ZiAoZ3N0X3N0cnVjdHVyZV9nZXQoc3RydWN0dXJlLCAicmVxdWVzdC1oZWFkZXJzIiwgR1NUX1RZ
UEVfU1RSVUNUVVJFLCAmcmVxdWVzdEhlYWRlcnMub3V0UHRyKCksIG51bGxwdHIpKQorICAgICAg
ICAgICAgICAgIGlzUmFuZ2VSZXF1ZXN0ID0gZ3N0X3N0cnVjdHVyZV9oYXNfZmllbGQocmVxdWVz
dEhlYWRlcnMuZ2V0KCksICJSYW5nZSIpOworCisgICAgICAgICAgICBHU1RfREVCVUdfT0JKRUNU
KHBpcGVsaW5lKCksICJJcyByYW5nZSByZXF1ZXN0OiAlcyIsIGJvb2xGb3JQcmludGluZyhpc1Jh
bmdlUmVxdWVzdCkpOworCiAgICAgICAgICAgICBHVW5pcXVlT3V0UHRyPEdzdFN0cnVjdHVyZT4g
cmVzcG9uc2VIZWFkZXJzOwogICAgICAgICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0KHN0cnVj
dHVyZSwgInJlc3BvbnNlLWhlYWRlcnMiLCBHU1RfVFlQRV9TVFJVQ1RVUkUsICZyZXNwb25zZUhl
YWRlcnMub3V0UHRyKCksIG51bGxwdHIpKSB7CiAgICAgICAgICAgICAgICAgY29uc3QgY2hhciog
Y29udGVudExlbmd0aEhlYWRlck5hbWUgPSBodHRwSGVhZGVyTmFtZVN0cmluZyhIVFRQSGVhZGVy
TmFtZTo6Q29udGVudExlbmd0aCkudXRmOCgpLmRhdGEoKTsKQEAgLTEzNjMsMTAgKzEzNzEsMTAg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVz
c2FnZSogbWVzc2FnZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50TGVuZ3Ro
ID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIiVzIHN0cmVhbSBkZXRlY3RlZCIs
ICFjb250ZW50TGVuZ3RoID8gIkxpdmUiIDogIk5vbi1saXZlIik7Ci0gICAgICAgICAgICAgICAg
aWYgKCFjb250ZW50TGVuZ3RoKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1faXNTdHJlYW1pbmcg
PSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBzZXREb3dubG9hZEJ1ZmZlcmluZygpOworICAg
ICAgICAgICAgICAgIGlmICghaXNSYW5nZVJlcXVlc3QpIHsKKyAgICAgICAgICAgICAgICAgICAg
bV9pc1N0cmVhbWluZyA9ICFjb250ZW50TGVuZ3RoOworICAgICAgICAgICAgICAgICAgICBHU1Rf
SU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIiVzIHN0cmVhbSBkZXRlY3RlZCIsIG1faXNTdHJlYW1p
bmcgPyAiTGl2ZSIgOiAiTm9uLWxpdmUiKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlRG93
bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgaWYgKGdzdF9zdHJ1Y3R1cmVfaGFzX25hbWUoc3RydWN0dXJlLCAid2Vi
a2l0LW5ldHdvcmstc3RhdGlzdGljcyIpKSB7CkBAIC0xNDUwLDEzICsxNDU4LDU3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1l
c3NhZ2UpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwcm9jZXNzQnVmZmVy
aW5nU3RhdHMoR3N0TWVzc2FnZSogbWVzc2FnZSkKIHsKLSAgICBtX2J1ZmZlcmluZyA9IHRydWU7
Ci0gICAgZ3N0X21lc3NhZ2VfcGFyc2VfYnVmZmVyaW5nKG1lc3NhZ2UsICZtX2J1ZmZlcmluZ1Bl
cmNlbnRhZ2UpOworICAgIEdzdEJ1ZmZlcmluZ01vZGUgbW9kZTsKKyAgICBnc3RfbWVzc2FnZV9w
YXJzZV9idWZmZXJpbmdfc3RhdHMobWVzc2FnZSwgJm1vZGUsIG51bGxwdHIsIG51bGxwdHIsIG51
bGxwdHIpOworCisgICAgaW50IHBlcmNlbnRhZ2U7CisgICAgZ3N0X21lc3NhZ2VfcGFyc2VfYnVm
ZmVyaW5nKG1lc3NhZ2UsICZwZXJjZW50YWdlKTsKKworICAgIHVwZGF0ZUJ1ZmZlcmluZ1N0YXR1
cyhtb2RlLCBwZXJjZW50YWdlKTsKK30KIAotICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUo
KSwgIltCdWZmZXJpbmddIEJ1ZmZlcmluZzogJWQlJS4iLCBtX2J1ZmZlcmluZ1BlcmNlbnRhZ2Up
Owordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZU1heFRpbWVMb2FkZWQo
ZG91YmxlIHBlcmNlbnRhZ2UpCit7CisgICAgTWVkaWFUaW1lIG1lZGlhRHVyYXRpb24gPSBkdXJh
dGlvbk1lZGlhVGltZSgpOworICAgIGlmICghbWVkaWFEdXJhdGlvbikKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9tYXhUaW1lTG9hZGVkID0gTWVkaWFUaW1lKHBlcmNlbnRhZ2UgKiBzdGF0aWNf
Y2FzdDxkb3VibGU+KHRvR3N0VW5zaWduZWQ2NFRpbWUobWVkaWFEdXJhdGlvbikpIC8gMTAwLCBH
U1RfU0VDT05EKTsKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJbQnVmZmVyaW5n
XSBVcGRhdGVkIG1heFRpbWVMb2FkZWQ6ICVzIiwgdG9TdHJpbmcobV9tYXhUaW1lTG9hZGVkKS51
dGY4KCkuZGF0YSgpKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVw
ZGF0ZUJ1ZmZlcmluZ1N0YXR1cyhHc3RCdWZmZXJpbmdNb2RlIG1vZGUsIGRvdWJsZSBwZXJjZW50
YWdlKQoreworICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIG1v
ZGU6ICVzLCBzdGF0dXM6ICVmJSUiLCBlbnVtVG9TdHJpbmcoR1NUX1RZUEVfQlVGRkVSSU5HX01P
REUsIG1vZGUpLmdldCgpLCBwZXJjZW50YWdlKTsKKworICAgIG1fZG93bmxvYWRGaW5pc2hlZCA9
IHBlcmNlbnRhZ2UgPT0gMTAwOworICAgIG1fYnVmZmVyaW5nID0gIW1fZG93bmxvYWRGaW5pc2hl
ZDsKKworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgR1NUX0JVRkZFUklOR19TVFJFQU06
IHsKKyAgICAgICAgdXBkYXRlTWF4VGltZUxvYWRlZChwZXJjZW50YWdlKTsKKworICAgICAgICBt
X2J1ZmZlcmluZ1BlcmNlbnRhZ2UgPSBwZXJjZW50YWdlOworICAgICAgICBpZiAobV9kb3dubG9h
ZEZpbmlzaGVkKQorICAgICAgICAgICAgdXBkYXRlU3RhdGVzKCk7CisKKyAgICAgICAgYnJlYWs7
CisgICAgfQorICAgIGNhc2UgR1NUX0JVRkZFUklOR19ET1dOTE9BRDogeworICAgICAgICB1cGRh
dGVNYXhUaW1lTG9hZGVkKHBlcmNlbnRhZ2UpOworCisgICAgICAgIC8vIE1lZGlhIGlzIG5vdyBm
dWxseSBsb2FkZWQuIEl0IHdpbGwgcGxheSBldmVuIGlmIG5ldHdvcmsgY29ubmVjdGlvbiBpcwor
ICAgICAgICAvLyBjdXQuIEJ1ZmZlcmluZyBpcyBkb25lLCByZW1vdmUgdGhlIGZpbGwgc291cmNl
IGZyb20gdGhlIG1haW4gbG9vcC4KKyAgICAgICAgaWYgKG1fZG93bmxvYWRGaW5pc2hlZCkKKyAg
ICAgICAgICAgIG1fZmlsbFRpbWVyLnN0b3AoKTsKIAotICAgIGlmIChtX2J1ZmZlcmluZ1BlcmNl
bnRhZ2UgPT0gMTAwKQogICAgICAgICB1cGRhdGVTdGF0ZXMoKTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwg
IlVuaGFuZGxlZCBidWZmZXJpbmcgbW9kZTogJXMiLCBlbnVtVG9TdHJpbmcoR1NUX1RZUEVfQlVG
RkVSSU5HX01PREUsIG1vZGUpLmdldCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogfQogCiAj
aWYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiBVU0UoR1NUUkVBTUVSX01QRUdUUykKQEAgLTE1ODUs
NDggKzE2MzcsMjMgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmZpbGxUaW1l
ckZpcmVkKCkKIHsKICAgICBHUmVmUHRyPEdzdFF1ZXJ5PiBxdWVyeSA9IGFkb3B0R1JlZihnc3Rf
cXVlcnlfbmV3X2J1ZmZlcmluZyhHU1RfRk9STUFUX1BFUkNFTlQpKTsKICAgICBkb3VibGUgZmls
bFN0YXR1cyA9IDEwMC4wOworICAgIEdzdEJ1ZmZlcmluZ01vZGUgbW9kZSA9IEdTVF9CVUZGRVJJ
TkdfRE9XTkxPQUQ7CiAKLSAgICBpZiAoZ3N0X2VsZW1lbnRfcXVlcnkobV9waXBlbGluZS5nZXQo
KSwgcXVlcnkuZ2V0KCkpKSB7Ci0gICAgICAgIGludDY0X3Qgc3RvcDsKLSAgICAgICAgR3N0Rm9y
bWF0IGZvcm1hdDsKLSAgICAgICAgZ3N0X3F1ZXJ5X3BhcnNlX2J1ZmZlcmluZ19yYW5nZShxdWVy
eS5nZXQoKSwgJmZvcm1hdCwgbnVsbHB0ciwgJnN0b3AsIG51bGxwdHIpOwotICAgICAgICBBU1NF
UlQoZm9ybWF0ID09IEdTVF9GT1JNQVRfUEVSQ0VOVCk7CisgICAgaWYgKGdzdF9lbGVtZW50X3F1
ZXJ5KG1fc291cmNlLmdldCgpLCBxdWVyeS5nZXQoKSkpIHsKKyAgICAgICAgZ3N0X3F1ZXJ5X3Bh
cnNlX2J1ZmZlcmluZ19zdGF0cyhxdWVyeS5nZXQoKSwgJm1vZGUsIG51bGxwdHIsIG51bGxwdHIs
IG51bGxwdHIpOwogCi0gICAgICAgIGlmIChzdG9wICE9IC0xKQotICAgICAgICAgICAgZmlsbFN0
YXR1cyA9IDEwMC4wICogc3RvcCAvIEdTVF9GT1JNQVRfUEVSQ0VOVF9NQVg7CisgICAgICAgIGlu
dCBwZXJjZW50YWdlOworICAgICAgICBnc3RfcXVlcnlfcGFyc2VfYnVmZmVyaW5nX3BlcmNlbnQo
cXVlcnkuZ2V0KCksIG51bGxwdHIsICZwZXJjZW50YWdlKTsKKyAgICAgICAgZmlsbFN0YXR1cyA9
IHBlcmNlbnRhZ2U7CiAgICAgfSBlbHNlIGlmIChtX2h0dHBSZXNwb25zZVRvdGFsU2l6ZSkgewog
ICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJbQnVmZmVyaW5nXSBRdWVyeSBm
YWlsZWQsIGZhbGxpbmcgYmFjayB0byBuZXR3b3JrIHJlYWQgcG9zaXRpb24gZXN0aW1hdGlvbiIp
OwotICAgICAgICBmaWxsU3RhdHVzID0gMTAwLjAgKiAobV9uZXR3b3JrUmVhZFBvc2l0aW9uIC8g
bV9odHRwUmVzcG9uc2VUb3RhbFNpemUpOworICAgICAgICBmaWxsU3RhdHVzID0gMTAwLjAgKiAo
c3RhdGljX2Nhc3Q8ZG91YmxlPihtX25ldHdvcmtSZWFkUG9zaXRpb24pIC8gc3RhdGljX2Nhc3Q8
ZG91YmxlPihtX2h0dHBSZXNwb25zZVRvdGFsU2l6ZSkpOwogICAgIH0gZWxzZSB7CiAgICAgICAg
IEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIFVuYWJsZSB0byBkZXRl
cm1pbmUgb24tZGlzayBidWZmZXJpbmcgc3RhdHVzIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJbQnVmZmVyaW5nXSBEb3dubG9h
ZCBidWZmZXIgZmlsbGVkIHVwIHRvICVmJSUiLCBmaWxsU3RhdHVzKTsKLQotICAgIE1lZGlhVGlt
ZSBtZWRpYUR1cmF0aW9uID0gZHVyYXRpb25NZWRpYVRpbWUoKTsKLQotICAgIC8vIFVwZGF0ZSBt
YXhUaW1lTG9hZGVkIG9ubHkgaWYgdGhlIG1lZGlhIGR1cmF0aW9uIGlzCi0gICAgLy8gYXZhaWxh
YmxlLiBPdGhlcndpc2Ugd2UgY2FuJ3QgY29tcHV0ZSBpdC4KLSAgICBpZiAobWVkaWFEdXJhdGlv
bikgewotICAgICAgICBpZiAoZmlsbFN0YXR1cyA9PSAxMDAuMCkKLSAgICAgICAgICAgIG1fbWF4
VGltZUxvYWRlZCA9IG1lZGlhRHVyYXRpb247Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1f
bWF4VGltZUxvYWRlZCA9IE1lZGlhVGltZShmaWxsU3RhdHVzICogc3RhdGljX2Nhc3Q8ZG91Ymxl
Pih0b0dzdFVuc2lnbmVkNjRUaW1lKG1lZGlhRHVyYXRpb24pKSAvIDEwMCwgR1NUX1NFQ09ORCk7
Ci0gICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIFVwZGF0
ZWQgbWF4VGltZUxvYWRlZDogJXMiLCB0b1N0cmluZyhtX21heFRpbWVMb2FkZWQpLnV0ZjgoKS5k
YXRhKCkpOwotICAgIH0KLQotICAgIG1fZG93bmxvYWRGaW5pc2hlZCA9IGZpbGxTdGF0dXMgPT0g
MTAwLjA7Ci0gICAgaWYgKCFtX2Rvd25sb2FkRmluaXNoZWQpIHsKLSAgICAgICAgdXBkYXRlU3Rh
dGVzKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBNZWRpYSBpcyBub3cgZnVs
bHkgbG9hZGVkLiBJdCB3aWxsIHBsYXkgZXZlbiBpZiBuZXR3b3JrCi0gICAgLy8gY29ubmVjdGlv
biBpcyBjdXQuIEJ1ZmZlcmluZyBpcyBkb25lLCByZW1vdmUgdGhlIGZpbGwgc291cmNlCi0gICAg
Ly8gZnJvbSB0aGUgbWFpbiBsb29wLgotICAgIG1fZmlsbFRpbWVyLnN0b3AoKTsKLSAgICB1cGRh
dGVTdGF0ZXMoKTsKKyAgICB1cGRhdGVCdWZmZXJpbmdTdGF0dXMobW9kZSwgZmlsbFN0YXR1cyk7
CiB9CiAKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om1heE1lZGlhVGlt
ZVNlZWthYmxlKCkgY29uc3QKQEAgLTE2NTUsNyArMTY4Miw3IEBAIE1lZGlhVGltZSBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6Om1heFRpbWVMb2FkZWQoKSBjb25zdAogICAgIE1lZGlhVGlt
ZSBsb2FkZWQgPSBtX21heFRpbWVMb2FkZWQ7CiAgICAgaWYgKG1faXNFbmRSZWFjaGVkKQogICAg
ICAgICBsb2FkZWQgPSBkdXJhdGlvbk1lZGlhVGltZSgpOwotICAgIEdTVF9MT0coIm1heFRpbWVM
b2FkZWQ6ICVzIiwgdG9TdHJpbmcobG9hZGVkKS51dGY4KCkuZGF0YSgpKTsKKyAgICBHU1RfTE9H
X09CSkVDVChwaXBlbGluZSgpLCAibWF4VGltZUxvYWRlZDogJXMiLCB0b1N0cmluZyhsb2FkZWQp
LnV0ZjgoKS5kYXRhKCkpOwogICAgIHJldHVybiBsb2FkZWQ7CiB9CiAKQEAgLTE2NjYsOCArMTY5
Myw5IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpkaWRMb2FkaW5nUHJvZ3Jl
c3MoKSBjb25zdAogCiAgICAgaWYgKFdFQktJVF9JU19XRUJfU1JDKG1fc291cmNlLmdldCgpKSkg
ewogICAgICAgICBHU1RfTE9HX09CSkVDVChwaXBlbGluZSgpLCAiTGFzdCBuZXR3b3JrIHJlYWQg
cG9zaXRpb246ICUiIEdfR1VJTlQ2NF9GT1JNQVQgIiwgY3VycmVudDogJSIgR19HVUlOVDY0X0ZP
Uk1BVCwgbV9yZWFkUG9zaXRpb25BdExhc3REaWRMb2FkaW5nUHJvZ3Jlc3MsIG1fbmV0d29ya1Jl
YWRQb3NpdGlvbik7Ci0gICAgICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzID0gbV9yZWFkUG9z
aXRpb25BdExhc3REaWRMb2FkaW5nUHJvZ3Jlc3MgIT0gbV9uZXR3b3JrUmVhZFBvc2l0aW9uOwor
ICAgICAgICBib29sIGRpZExvYWRpbmdQcm9ncmVzcyA9IG1fcmVhZFBvc2l0aW9uQXRMYXN0RGlk
TG9hZGluZ1Byb2dyZXNzIDwgbV9uZXR3b3JrUmVhZFBvc2l0aW9uOwogICAgICAgICBtX3JlYWRQ
b3NpdGlvbkF0TGFzdERpZExvYWRpbmdQcm9ncmVzcyA9IG1fbmV0d29ya1JlYWRQb3NpdGlvbjsK
KyAgICAgICAgR1NUX0xPR19PQkpFQ1QocGlwZWxpbmUoKSwgImRpZExvYWRpbmdQcm9ncmVzczog
JXMiLCBib29sRm9yUHJpbnRpbmcoZGlkTG9hZGluZ1Byb2dyZXNzKSk7CiAgICAgICAgIHJldHVy
biBkaWRMb2FkaW5nUHJvZ3Jlc3M7CiAgICAgfQogCkBAIC0yMDAxLDcgKzIwMjksNyBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKIAogICAgICAgICAv
LyBMaXZlIHBpcGVsaW5lcyBnbyBpbiBQQVVTRUQgd2l0aG91dCBwcmVyb2xsaW5nLgogICAgICAg
ICBtX2lzU3RyZWFtaW5nID0gdHJ1ZTsKLSAgICAgICAgc2V0RG93bmxvYWRCdWZmZXJpbmcoKTsK
KyAgICAgICAgdXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAKICAgICAgICAgaWYgKG1f
Y3VycmVudFN0YXRlID09IEdTVF9TVEFURV9SRUFEWSkKICAgICAgICAgICAgIG1fcmVhZHlTdGF0
ZSA9IE1lZGlhUGxheWVyOjpIYXZlTm90aGluZzsKQEAgLTIyNTYsNyArMjI4NCw3IEBAIE1lZGlh
UGxheWVyOjpTdXBwb3J0c1R5cGUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzdXBwb3J0
c1R5cGUoY29uc3QgTWVkaWFFCiAgICAgcmV0dXJuIGZpbmFsUmVzdWx0OwogfQogCi12b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZmZXJpbmcoKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygp
CiB7CiAgICAgaWYgKCFtX3BpcGVsaW5lKQogICAgICAgICByZXR1cm47CkBAIC0yMjkxLDcgKzIz
MTksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UHJlbG9hZChNZWRp
YVBsYXllcjo6UHJlbG9hZCBwcmVsb2FkKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3ByZWxv
YWQgPSBwcmVsb2FkOwotICAgIHNldERvd25sb2FkQnVmZmVyaW5nKCk7CisgICAgdXBkYXRlRG93
bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAKICAgICBpZiAobV9kZWxheWluZ0xvYWQgJiYgbV9wcmVs
b2FkICE9IE1lZGlhUGxheWVyOjpOb25lKSB7CiAgICAgICAgIG1fZGVsYXlpbmdMb2FkID0gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXgg
OGUyNTdlNjIzMDMyMGI5M2JiYWNkYzgyNmY5MGYxMWMzMjVlYjQ1Yy4uNTExMzI1ZTQ5ZmUzMzc5
OWRkMGY1NTBhYTU2ZDhlOThkMDY3ODVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuaApAQCAtMTU0LDggKzE1NCwxMSBAQCBwcml2YXRlOgogICAgIGJv
b2wgbG9hZE5leHRMb2NhdGlvbigpOwogICAgIHZvaWQgbWVkaWFMb2NhdGlvbkNoYW5nZWQoR3N0
TWVzc2FnZSopOwogCi0gICAgdmlydHVhbCB2b2lkIHNldERvd25sb2FkQnVmZmVyaW5nKCk7Cisg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpOwogICAgIHZvaWQg
cHJvY2Vzc0J1ZmZlcmluZ1N0YXRzKEdzdE1lc3NhZ2UqKTsKKyAgICB2b2lkIHVwZGF0ZUJ1ZmZl
cmluZ1N0YXR1cyhHc3RCdWZmZXJpbmdNb2RlLCBkb3VibGUgcGVyY2VudGFnZSk7CisgICAgdm9p
ZCB1cGRhdGVNYXhUaW1lTG9hZGVkKGRvdWJsZSBwZXJjZW50YWdlKTsKKwogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICNpZiBVU0UoR1NUUkVBTUVSX01QRUdUUykKICAgICB2b2lkIHByb2Nlc3NN
cGVnVHNTZWN0aW9uKEdzdE1wZWd0c1NlY3Rpb24qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdl
YlNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggY2ZmMTlhYjk0Mjg2NGYwNTQxMTc5NDFjMmU1Y2Y3
MzE4NzVmOGQyMC4uMTIxODg0YTEwYWQ1MTE1MWY5N2FjMDdjNTUwYzIzNmU5NWU2ZGVkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktp
dFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTIzNyw2ICsy
MzcsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJTcmNSZXNldChXZWJLaXRXZWJTcmMqIHNyYykK
IHsKICAgICBXZWJLaXRXZWJTcmNQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9TUkNfR0VUX1BS
SVZBVEUoc3JjKTsKIAorICAgIEdTVF9ERUJVR19PQkpFQ1Qoc3JjLCAiUmVzZXR0aW5nIGludGVy
bmFsIHN0YXRlIik7CiAgICAgcHJpdi0+aGF2ZVNpemUgPSBmYWxzZTsKICAgICBwcml2LT53ZXJl
SGVhZGVyc1JlY2VpdmVkID0gZmFsc2U7CiAgICAgcHJpdi0+aXNTZWVrYWJsZSA9IGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNF
LmgKaW5kZXggN2Q3NDA1N2I5YmU5ZGViODNkNzk4ZmY4OGJiODk1M2JkYzZjMWUwMC4uM2JjYzBm
ZGJhMzg4M2FlZWM2ZTJlMjY1ODVlYWM4Y2JiZTBkNGVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCkBAIC01Miw3ICs1Miw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJy
aWRlOwogCi0gICAgdm9pZCBzZXREb3dubG9hZEJ1ZmZlcmluZygpIG92ZXJyaWRlIHsgfTsKKyAg
ICB2b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpIG92ZXJyaWRlIHsgfTsKIAogICAg
IGJvb2wgaXNMaXZlU3RyZWFtKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICBNZWRpYVRpbWUgY3VycmVudE1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373239</attachid>
            <date>2019-07-01 09:21:41 -0700</date>
            <delta_ts>2019-07-01 09:51:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198376-20190701172139.patch</filename>
            <type>text/plain</type>
            <size>16928</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZiNWI4MjgzODQ3YmI4ZDc3ZDQ3NGNk
OTExN2Q1YmYxMWIxODhjODIuLmMyZjMwNWU3NzAwNGUxZWExYTY1YzZiOWNmMGNlYjM1MmFhZjc4
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMDEgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIENhbm5vdCBwbGF5IEJl
cnQncyBCeXRlcyByYWRpbyBzdHJlYW0gZnJvbSBodHRwOi8vcmFkaW8uZG9zLm5sLworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4Mzc2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJvZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgKiB3dGYv
Z2xpYi9HTGliVXRpbGl0aWVzLmg6CisgICAgICAgIChlbnVtVG9TdHJpbmcpOiBVdGlsaXR5IGZ1
bmN0aW9uIHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBvZiBhIEdMaWIgZW51bS4K
KwogMjAxOS0wNi0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U3RyZWFtbGluZSBzb21lIHN0cmluZyBjb2RlLCBmb2N1c2luZyBvbiBmdW5jdGlvbnMgdGhhdCB3
ZXJlIHVzaW5nIHN1YnN0cmluZ1NoYXJpbmdJbXBsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE1YWQ2OGY5N2Ri
YmQ4NzQ2ZjM4MDljNmJhZGQzOWMwMWJiM2UwZC4uNzU4OTBhN2ZhYTUzMmU0MTg0MTFhZmZhNTA1
ODc1YjljNzg3YWI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA3LTAxICBQ
aGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVh
bWVyXSBDYW5ub3QgcGxheSBCZXJ0J3MgQnl0ZXMgcmFkaW8gc3RyZWFtIGZyb20gaHR0cDovL3Jh
ZGlvLmRvcy5ubC8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IFhhYmllciBSb2RyaWd1ZXotQ2FsdmFy
LgorCisgICAgICAgIFRoZSBkZWxheWVkIHN0YXJ0dXAgd2FzIGR1ZSB0byBhIG1peCBvZiBidWZm
ZXJpbmcgZmVlZGJhY2sKKyAgICAgICAgbWVzc2FnZXMgbm90IGhhbmRsZWQgY29ycmVjdGx5IGJ5
IHRoZSBwbGF5ZXIuIFdlIHdlcmUgaGFuZGxpbmcKKyAgICAgICAgZG93bmxvYWQgYW5kIHN0cmVh
bWluZyBidWZmZXJpbmcgbWV0cmljcyB3aXRob3V0IGRpc3RpbmN0aW9uLgorICAgICAgICBSYW5n
ZSByZXF1ZXN0cyAodXNlZCBmb3Igc2Vla2luZykgd2VyZSBhbHNvIHRyaWdnZXJpbmcgb24tZGlz
aworICAgICAgICBidWZmZXJpbmcgaW4gc29tZSBjYXNlcy4gVGhlIGJ1ZmZlcmluZyBwZXJjZW50
YWdlIGVzdGltYXRpb24gYmFzZWQKKyAgICAgICAgb24gbmV0d29yayByZWFkIHBvc2l0aW9uIHdh
cyBub3Qgd29ya2luZyBlaXRoZXIgYmVjYXVzZSB1aW50NjRfdAorICAgICAgICBkaXZpc2lvbiBk
b2Vzbid0IHJldHVybiBhIGZsb2F0aW5nIHBvaW50IHZhbHVlLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgZXhpc3RpbmcgbWVkaWEgdGVzdHMgY292ZXIgdGhpcyBwYXRjaC4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjb21t
aXRMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
cGxheSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Omhh
bmRsZU1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpwcm9jZXNzQnVmZmVyaW5nU3RhdHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVCdWZmZXJpbmdTdGF0dXMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpmaWxsVGltZXJGaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om1heFRpbWVMb2FkZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpk
aWRMb2FkaW5nUHJvZ3Jlc3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWcpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQcmVsb2FkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktp
dFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgICh3ZWJraXRXZWJTcmNSZXNldCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0UuaDoKKwogMjAxOS0wNy0wMSAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI0Njk2MykgR1RLJ3MgZGVidWcgYnVp
bGQgaXMgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dMaWJVdGlsaXRp
ZXMuY3BwIGIvU291cmNlL1dURi93dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmNwcAppbmRleCBmNDRi
OWU1ZTdmNDhmZDMxZDc2MTc5MTdmMWRhNGI5OWJkZTkxNTkyLi42ZWE0Nzc3YjE0MjNkMzVhYTZk
MDZjYmY2NzMyNTY2Yjg3YTYyOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dM
aWJVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5j
cHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+
CiAKICNpbmNsdWRlIDxnbGliLmg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgog
CiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaCBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xp
YlV0aWxpdGllcy5oCmluZGV4IDI5OTM3ODljMmJhZjU4OGYxZWU0NzkxMmVhYWE1ZjNlYjdhNGQ5
MjIuLjY3NzkxODQxZTgyNTQ3NTA5MWRlYjZmNjlmOTExMjk0Njc3MzA2ZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L2dsaWIvR0xpYlV0aWxpdGllcy5oCkBAIC0xNyw5ICsxNyw5IEBACiAgKiAgQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCiAgKi8KIAotI2lmbmRlZiBHTGliVXRpbGl0aWVzX2gKLSNkZWZpbmUg
R0xpYlV0aWxpdGllc19oCisjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkdVbmlxdWVQdHIuaCIK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIApAQCAtMzUsNCArMzUsMTUgQEAgQ1N0cmluZyBnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUo
KTsKICNkZWZpbmUgR1BPSU5URVJfVE9fVUxPTkcocCkgKChndWxvbmcpIChwKSkKICNlbmRpZgog
CitzdGF0aWMgaW5saW5lIEdVbmlxdWVQdHI8Y2hhcj4gZW51bVRvU3RyaW5nKEdUeXBlIHR5cGUs
IGd1aW50IHZhbHVlKQoreworI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA1NCwgMCkKKyAgICBy
ZXR1cm4gR1VuaXF1ZVB0cjxjaGFyPihnX2VudW1fdG9fc3RyaW5nKHR5cGUsIHZhbHVlKSk7Cisj
ZWxzZQorICAgIEdFbnVtQ2xhc3MqIGVudW1DbGFzcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8R0VudW1D
bGFzcyo+KGdfdHlwZV9jbGFzc19yZWYodHlwZSkpOworICAgIEdFbnVtVmFsdWUqIGVudW1WYWx1
ZSA9IGdfZW51bV9nZXRfdmFsdWUoZW51bUNsYXNzLCB2YWx1ZSk7CisgICAgY2hhciogcmVwcmVz
ZW50YXRpb24gPSBlbnVtVmFsdWUgPyBnX3N0cmR1cChlbnVtVmFsdWUtPnZhbHVlX25pY2spIDog
bnVsbHB0cjsKKyAgICBnX3R5cGVfY2xhc3NfdW5yZWYoZW51bUNsYXNzKTsKKyAgICByZXR1cm4g
R1VuaXF1ZVB0cjxjaGFyPihyZXByZXNlbnRhdGlvbik7CiAjZW5kaWYKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL2dsaWIvR1VuaXF1ZVB0ci5oIGIvU291cmNlL1dURi93dGYvZ2xpYi9H
VW5pcXVlUHRyLmgKaW5kZXggZTFjZmY4ZGRlYTQ0ZjZkYTcyZmRmMGYwMGYxMWNhMTg4Mzk2YTZl
ZC4uMmQwMzc5MzMyNDUwZTgxNjE4OTY5NzAwZjVlNzc0YTMyMjY5MzY5YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvZ2xpYi9HVW5pcXVlUHRyLmgKKysrIGIvU291cmNlL1dURi93dGYvZ2xp
Yi9HVW5pcXVlUHRyLmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpZiBVU0UoR0xJQikKIAogI2luY2x1
ZGUgPGdpby9naW8uaD4KKyNpbmNsdWRlIDxtZW1vcnkuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDcwOWExYjYyODQ2NmExMjU0MWJjYThhMTQyZTk2
NjEzZjg3YWRjZGUuLjk3MTczZjMwNjE1MjQ3Njc4YmFiMGVkM2NlMjJlZTZjY2Y3MGRiNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00
OCw3ICs0OCw3IEBACiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW5jbHVk
ZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgotI2luY2x1ZGUgPHd0Zi9n
bGliL0dVbmlxdWVQdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CiAj
aW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVt
YmVycy5oPgpAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpjb21taXRMb2FkKCkKICAgICAvLyBzdGFydCBwcm92aWRpbmcgYW55dGhpbmcgdXNlZnVs
LgogICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1BBVVNFRCk7CiAKLSAgICBzZXRE
b3dubG9hZEJ1ZmZlcmluZygpOworICAgIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpOwog
ICAgIHVwZGF0ZVN0YXRlcygpOwogfQogCkBAIC00NTgsNyArNDU4LDcgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnBsYXkoKQogICAgICAgICBtX2lzRW5kUmVhY2hlZCA9IGZh
bHNlOwogICAgICAgICBtX2RlbGF5aW5nTG9hZCA9IGZhbHNlOwogICAgICAgICBtX3ByZWxvYWQg
PSBNZWRpYVBsYXllcjo6QXV0bzsKLSAgICAgICAgc2V0RG93bmxvYWRCdWZmZXJpbmcoKTsKKyAg
ICAgICAgdXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAgICAgICAgIEdTVF9JTkZPX09C
SkVDVChwaXBlbGluZSgpLCAiUGxheSIpOwogICAgIH0gZWxzZQogICAgICAgICBsb2FkaW5nRmFp
bGVkKE1lZGlhUGxheWVyOjpFbXB0eSk7CkBAIC0xMzQ5LDYgKzEzNDksMTQgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2Fn
ZSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBib29sIGlzUmFuZ2VSZXF1ZXN0ID0gZmFsc2U7CisgICAg
ICAgICAgICBHVW5pcXVlT3V0UHRyPEdzdFN0cnVjdHVyZT4gcmVxdWVzdEhlYWRlcnM7CisgICAg
ICAgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXQoc3RydWN0dXJlLCAicmVxdWVzdC1oZWFkZXJz
IiwgR1NUX1RZUEVfU1RSVUNUVVJFLCAmcmVxdWVzdEhlYWRlcnMub3V0UHRyKCksIG51bGxwdHIp
KQorICAgICAgICAgICAgICAgIGlzUmFuZ2VSZXF1ZXN0ID0gZ3N0X3N0cnVjdHVyZV9oYXNfZmll
bGQocmVxdWVzdEhlYWRlcnMuZ2V0KCksICJSYW5nZSIpOworCisgICAgICAgICAgICBHU1RfREVC
VUdfT0JKRUNUKHBpcGVsaW5lKCksICJJcyByYW5nZSByZXF1ZXN0OiAlcyIsIGJvb2xGb3JQcmlu
dGluZyhpc1JhbmdlUmVxdWVzdCkpOworCiAgICAgICAgICAgICBHVW5pcXVlT3V0UHRyPEdzdFN0
cnVjdHVyZT4gcmVzcG9uc2VIZWFkZXJzOwogICAgICAgICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVf
Z2V0KHN0cnVjdHVyZSwgInJlc3BvbnNlLWhlYWRlcnMiLCBHU1RfVFlQRV9TVFJVQ1RVUkUsICZy
ZXNwb25zZUhlYWRlcnMub3V0UHRyKCksIG51bGxwdHIpKSB7CiAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciogY29udGVudExlbmd0aEhlYWRlck5hbWUgPSBodHRwSGVhZGVyTmFtZVN0cmluZyhI
VFRQSGVhZGVyTmFtZTo6Q29udGVudExlbmd0aCkudXRmOCgpLmRhdGEoKTsKQEAgLTEzNjMsMTAg
KzEzNzEsMTAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3Nh
Z2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250
ZW50TGVuZ3RoID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIiVzIHN0cmVhbSBk
ZXRlY3RlZCIsICFjb250ZW50TGVuZ3RoID8gIkxpdmUiIDogIk5vbi1saXZlIik7Ci0gICAgICAg
ICAgICAgICAgaWYgKCFjb250ZW50TGVuZ3RoKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1faXNT
dHJlYW1pbmcgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBzZXREb3dubG9hZEJ1ZmZlcmlu
ZygpOworICAgICAgICAgICAgICAgIGlmICghaXNSYW5nZVJlcXVlc3QpIHsKKyAgICAgICAgICAg
ICAgICAgICAgbV9pc1N0cmVhbWluZyA9ICFjb250ZW50TGVuZ3RoOworICAgICAgICAgICAgICAg
ICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIiVzIHN0cmVhbSBkZXRlY3RlZCIsIG1f
aXNTdHJlYW1pbmcgPyAiTGl2ZSIgOiAiTm9uLWxpdmUiKTsKKyAgICAgICAgICAgICAgICAgICAg
dXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKGdzdF9zdHJ1Y3R1cmVfaGFzX25hbWUoc3RydWN0
dXJlLCAid2Via2l0LW5ldHdvcmstc3RhdGlzdGljcyIpKSB7CkBAIC0xNDUwLDEzICsxNDU4LDU3
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1l
c3NhZ2UqIG1lc3NhZ2UpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwcm9j
ZXNzQnVmZmVyaW5nU3RhdHMoR3N0TWVzc2FnZSogbWVzc2FnZSkKIHsKLSAgICBtX2J1ZmZlcmlu
ZyA9IHRydWU7Ci0gICAgZ3N0X21lc3NhZ2VfcGFyc2VfYnVmZmVyaW5nKG1lc3NhZ2UsICZtX2J1
ZmZlcmluZ1BlcmNlbnRhZ2UpOworICAgIEdzdEJ1ZmZlcmluZ01vZGUgbW9kZTsKKyAgICBnc3Rf
bWVzc2FnZV9wYXJzZV9idWZmZXJpbmdfc3RhdHMobWVzc2FnZSwgJm1vZGUsIG51bGxwdHIsIG51
bGxwdHIsIG51bGxwdHIpOworCisgICAgaW50IHBlcmNlbnRhZ2U7CisgICAgZ3N0X21lc3NhZ2Vf
cGFyc2VfYnVmZmVyaW5nKG1lc3NhZ2UsICZwZXJjZW50YWdlKTsKKworICAgIHVwZGF0ZUJ1ZmZl
cmluZ1N0YXR1cyhtb2RlLCBwZXJjZW50YWdlKTsKK30KIAotICAgIEdTVF9ERUJVR19PQkpFQ1Qo
cGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIEJ1ZmZlcmluZzogJWQlJS4iLCBtX2J1ZmZlcmluZ1Bl
cmNlbnRhZ2UpOwordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZU1heFRp
bWVMb2FkZWQoZG91YmxlIHBlcmNlbnRhZ2UpCit7CisgICAgTWVkaWFUaW1lIG1lZGlhRHVyYXRp
b24gPSBkdXJhdGlvbk1lZGlhVGltZSgpOworICAgIGlmICghbWVkaWFEdXJhdGlvbikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9tYXhUaW1lTG9hZGVkID0gTWVkaWFUaW1lKHBlcmNlbnRhZ2Ug
KiBzdGF0aWNfY2FzdDxkb3VibGU+KHRvR3N0VW5zaWduZWQ2NFRpbWUobWVkaWFEdXJhdGlvbikp
IC8gMTAwLCBHU1RfU0VDT05EKTsKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJb
QnVmZmVyaW5nXSBVcGRhdGVkIG1heFRpbWVMb2FkZWQ6ICVzIiwgdG9TdHJpbmcobV9tYXhUaW1l
TG9hZGVkKS51dGY4KCkuZGF0YSgpKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OnVwZGF0ZUJ1ZmZlcmluZ1N0YXR1cyhHc3RCdWZmZXJpbmdNb2RlIG1vZGUsIGRvdWJs
ZSBwZXJjZW50YWdlKQoreworICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZm
ZXJpbmddIG1vZGU6ICVzLCBzdGF0dXM6ICVmJSUiLCBlbnVtVG9TdHJpbmcoR1NUX1RZUEVfQlVG
RkVSSU5HX01PREUsIG1vZGUpLmdldCgpLCBwZXJjZW50YWdlKTsKKworICAgIG1fZG93bmxvYWRG
aW5pc2hlZCA9IHBlcmNlbnRhZ2UgPT0gMTAwOworICAgIG1fYnVmZmVyaW5nID0gIW1fZG93bmxv
YWRGaW5pc2hlZDsKKworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgR1NUX0JVRkZFUklO
R19TVFJFQU06IHsKKyAgICAgICAgdXBkYXRlTWF4VGltZUxvYWRlZChwZXJjZW50YWdlKTsKKwor
ICAgICAgICBtX2J1ZmZlcmluZ1BlcmNlbnRhZ2UgPSBwZXJjZW50YWdlOworICAgICAgICBpZiAo
bV9kb3dubG9hZEZpbmlzaGVkKQorICAgICAgICAgICAgdXBkYXRlU3RhdGVzKCk7CisKKyAgICAg
ICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgR1NUX0JVRkZFUklOR19ET1dOTE9BRDogeworICAg
ICAgICB1cGRhdGVNYXhUaW1lTG9hZGVkKHBlcmNlbnRhZ2UpOworCisgICAgICAgIC8vIE1lZGlh
IGlzIG5vdyBmdWxseSBsb2FkZWQuIEl0IHdpbGwgcGxheSBldmVuIGlmIG5ldHdvcmsgY29ubmVj
dGlvbiBpcworICAgICAgICAvLyBjdXQuIEJ1ZmZlcmluZyBpcyBkb25lLCByZW1vdmUgdGhlIGZp
bGwgc291cmNlIGZyb20gdGhlIG1haW4gbG9vcC4KKyAgICAgICAgaWYgKG1fZG93bmxvYWRGaW5p
c2hlZCkKKyAgICAgICAgICAgIG1fZmlsbFRpbWVyLnN0b3AoKTsKIAotICAgIGlmIChtX2J1ZmZl
cmluZ1BlcmNlbnRhZ2UgPT0gMTAwKQogICAgICAgICB1cGRhdGVTdGF0ZXMoKTsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlw
ZWxpbmUoKSwgIlVuaGFuZGxlZCBidWZmZXJpbmcgbW9kZTogJXMiLCBlbnVtVG9TdHJpbmcoR1NU
X1RZUEVfQlVGRkVSSU5HX01PREUsIG1vZGUpLmdldCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQogfQogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiBVU0UoR1NUUkVBTUVSX01QRUdUUykK
QEAgLTE1ODUsNDggKzE2MzcsMjMgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OmZpbGxUaW1lckZpcmVkKCkKIHsKICAgICBHUmVmUHRyPEdzdFF1ZXJ5PiBxdWVyeSA9IGFkb3B0
R1JlZihnc3RfcXVlcnlfbmV3X2J1ZmZlcmluZyhHU1RfRk9STUFUX1BFUkNFTlQpKTsKICAgICBk
b3VibGUgZmlsbFN0YXR1cyA9IDEwMC4wOworICAgIEdzdEJ1ZmZlcmluZ01vZGUgbW9kZSA9IEdT
VF9CVUZGRVJJTkdfRE9XTkxPQUQ7CiAKLSAgICBpZiAoZ3N0X2VsZW1lbnRfcXVlcnkobV9waXBl
bGluZS5nZXQoKSwgcXVlcnkuZ2V0KCkpKSB7Ci0gICAgICAgIGludDY0X3Qgc3RvcDsKLSAgICAg
ICAgR3N0Rm9ybWF0IGZvcm1hdDsKLSAgICAgICAgZ3N0X3F1ZXJ5X3BhcnNlX2J1ZmZlcmluZ19y
YW5nZShxdWVyeS5nZXQoKSwgJmZvcm1hdCwgbnVsbHB0ciwgJnN0b3AsIG51bGxwdHIpOwotICAg
ICAgICBBU1NFUlQoZm9ybWF0ID09IEdTVF9GT1JNQVRfUEVSQ0VOVCk7CisgICAgaWYgKGdzdF9l
bGVtZW50X3F1ZXJ5KG1fc291cmNlLmdldCgpLCBxdWVyeS5nZXQoKSkpIHsKKyAgICAgICAgZ3N0
X3F1ZXJ5X3BhcnNlX2J1ZmZlcmluZ19zdGF0cyhxdWVyeS5nZXQoKSwgJm1vZGUsIG51bGxwdHIs
IG51bGxwdHIsIG51bGxwdHIpOwogCi0gICAgICAgIGlmIChzdG9wICE9IC0xKQotICAgICAgICAg
ICAgZmlsbFN0YXR1cyA9IDEwMC4wICogc3RvcCAvIEdTVF9GT1JNQVRfUEVSQ0VOVF9NQVg7Cisg
ICAgICAgIGludCBwZXJjZW50YWdlOworICAgICAgICBnc3RfcXVlcnlfcGFyc2VfYnVmZmVyaW5n
X3BlcmNlbnQocXVlcnkuZ2V0KCksIG51bGxwdHIsICZwZXJjZW50YWdlKTsKKyAgICAgICAgZmls
bFN0YXR1cyA9IHBlcmNlbnRhZ2U7CiAgICAgfSBlbHNlIGlmIChtX2h0dHBSZXNwb25zZVRvdGFs
U2l6ZSkgewogICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJbQnVmZmVyaW5n
XSBRdWVyeSBmYWlsZWQsIGZhbGxpbmcgYmFjayB0byBuZXR3b3JrIHJlYWQgcG9zaXRpb24gZXN0
aW1hdGlvbiIpOwotICAgICAgICBmaWxsU3RhdHVzID0gMTAwLjAgKiAobV9uZXR3b3JrUmVhZFBv
c2l0aW9uIC8gbV9odHRwUmVzcG9uc2VUb3RhbFNpemUpOworICAgICAgICBmaWxsU3RhdHVzID0g
MTAwLjAgKiAoc3RhdGljX2Nhc3Q8ZG91YmxlPihtX25ldHdvcmtSZWFkUG9zaXRpb24pIC8gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihtX2h0dHBSZXNwb25zZVRvdGFsU2l6ZSkpOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIFVuYWJs
ZSB0byBkZXRlcm1pbmUgb24tZGlzayBidWZmZXJpbmcgc3RhdHVzIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJbQnVmZmVyaW5n
XSBEb3dubG9hZCBidWZmZXIgZmlsbGVkIHVwIHRvICVmJSUiLCBmaWxsU3RhdHVzKTsKLQotICAg
IE1lZGlhVGltZSBtZWRpYUR1cmF0aW9uID0gZHVyYXRpb25NZWRpYVRpbWUoKTsKLQotICAgIC8v
IFVwZGF0ZSBtYXhUaW1lTG9hZGVkIG9ubHkgaWYgdGhlIG1lZGlhIGR1cmF0aW9uIGlzCi0gICAg
Ly8gYXZhaWxhYmxlLiBPdGhlcndpc2Ugd2UgY2FuJ3QgY29tcHV0ZSBpdC4KLSAgICBpZiAobWVk
aWFEdXJhdGlvbikgewotICAgICAgICBpZiAoZmlsbFN0YXR1cyA9PSAxMDAuMCkKLSAgICAgICAg
ICAgIG1fbWF4VGltZUxvYWRlZCA9IG1lZGlhRHVyYXRpb247Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIG1fbWF4VGltZUxvYWRlZCA9IE1lZGlhVGltZShmaWxsU3RhdHVzICogc3RhdGljX2Nh
c3Q8ZG91YmxlPih0b0dzdFVuc2lnbmVkNjRUaW1lKG1lZGlhRHVyYXRpb24pKSAvIDEwMCwgR1NU
X1NFQ09ORCk7Ci0gICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZmZXJp
bmddIFVwZGF0ZWQgbWF4VGltZUxvYWRlZDogJXMiLCB0b1N0cmluZyhtX21heFRpbWVMb2FkZWQp
LnV0ZjgoKS5kYXRhKCkpOwotICAgIH0KLQotICAgIG1fZG93bmxvYWRGaW5pc2hlZCA9IGZpbGxT
dGF0dXMgPT0gMTAwLjA7Ci0gICAgaWYgKCFtX2Rvd25sb2FkRmluaXNoZWQpIHsKLSAgICAgICAg
dXBkYXRlU3RhdGVzKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBNZWRpYSBp
cyBub3cgZnVsbHkgbG9hZGVkLiBJdCB3aWxsIHBsYXkgZXZlbiBpZiBuZXR3b3JrCi0gICAgLy8g
Y29ubmVjdGlvbiBpcyBjdXQuIEJ1ZmZlcmluZyBpcyBkb25lLCByZW1vdmUgdGhlIGZpbGwgc291
cmNlCi0gICAgLy8gZnJvbSB0aGUgbWFpbiBsb29wLgotICAgIG1fZmlsbFRpbWVyLnN0b3AoKTsK
LSAgICB1cGRhdGVTdGF0ZXMoKTsKKyAgICB1cGRhdGVCdWZmZXJpbmdTdGF0dXMobW9kZSwgZmls
bFN0YXR1cyk7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om1h
eE1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QKQEAgLTE2NTUsNyArMTY4Miw3IEBAIE1lZGlhVGlt
ZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om1heFRpbWVMb2FkZWQoKSBjb25zdAogICAg
IE1lZGlhVGltZSBsb2FkZWQgPSBtX21heFRpbWVMb2FkZWQ7CiAgICAgaWYgKG1faXNFbmRSZWFj
aGVkKQogICAgICAgICBsb2FkZWQgPSBkdXJhdGlvbk1lZGlhVGltZSgpOwotICAgIEdTVF9MT0co
Im1heFRpbWVMb2FkZWQ6ICVzIiwgdG9TdHJpbmcobG9hZGVkKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICBHU1RfTE9HX09CSkVDVChwaXBlbGluZSgpLCAibWF4VGltZUxvYWRlZDogJXMiLCB0b1N0cmlu
Zyhsb2FkZWQpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHJldHVybiBsb2FkZWQ7CiB9CiAKQEAgLTE2
NjYsOCArMTY5Myw5IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpkaWRMb2Fk
aW5nUHJvZ3Jlc3MoKSBjb25zdAogCiAgICAgaWYgKFdFQktJVF9JU19XRUJfU1JDKG1fc291cmNl
LmdldCgpKSkgewogICAgICAgICBHU1RfTE9HX09CSkVDVChwaXBlbGluZSgpLCAiTGFzdCBuZXR3
b3JrIHJlYWQgcG9zaXRpb246ICUiIEdfR1VJTlQ2NF9GT1JNQVQgIiwgY3VycmVudDogJSIgR19H
VUlOVDY0X0ZPUk1BVCwgbV9yZWFkUG9zaXRpb25BdExhc3REaWRMb2FkaW5nUHJvZ3Jlc3MsIG1f
bmV0d29ya1JlYWRQb3NpdGlvbik7Ci0gICAgICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzID0g
bV9yZWFkUG9zaXRpb25BdExhc3REaWRMb2FkaW5nUHJvZ3Jlc3MgIT0gbV9uZXR3b3JrUmVhZFBv
c2l0aW9uOworICAgICAgICBib29sIGRpZExvYWRpbmdQcm9ncmVzcyA9IG1fcmVhZFBvc2l0aW9u
QXRMYXN0RGlkTG9hZGluZ1Byb2dyZXNzIDwgbV9uZXR3b3JrUmVhZFBvc2l0aW9uOwogICAgICAg
ICBtX3JlYWRQb3NpdGlvbkF0TGFzdERpZExvYWRpbmdQcm9ncmVzcyA9IG1fbmV0d29ya1JlYWRQ
b3NpdGlvbjsKKyAgICAgICAgR1NUX0xPR19PQkpFQ1QocGlwZWxpbmUoKSwgImRpZExvYWRpbmdQ
cm9ncmVzczogJXMiLCBib29sRm9yUHJpbnRpbmcoZGlkTG9hZGluZ1Byb2dyZXNzKSk7CiAgICAg
ICAgIHJldHVybiBkaWRMb2FkaW5nUHJvZ3Jlc3M7CiAgICAgfQogCkBAIC0yMDAxLDcgKzIwMjks
NyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKIAog
ICAgICAgICAvLyBMaXZlIHBpcGVsaW5lcyBnbyBpbiBQQVVTRUQgd2l0aG91dCBwcmVyb2xsaW5n
LgogICAgICAgICBtX2lzU3RyZWFtaW5nID0gdHJ1ZTsKLSAgICAgICAgc2V0RG93bmxvYWRCdWZm
ZXJpbmcoKTsKKyAgICAgICAgdXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAKICAgICAg
ICAgaWYgKG1fY3VycmVudFN0YXRlID09IEdTVF9TVEFURV9SRUFEWSkKICAgICAgICAgICAgIG1f
cmVhZHlTdGF0ZSA9IE1lZGlhUGxheWVyOjpIYXZlTm90aGluZzsKQEAgLTIyNTYsNyArMjI4NCw3
IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpzdXBwb3J0c1R5cGUoY29uc3QgTWVkaWFFCiAgICAgcmV0dXJuIGZpbmFsUmVzdWx0OwogfQog
Ci12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZmZXJpbmco
KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZURvd25sb2FkQnVmZmVy
aW5nRmxhZygpCiB7CiAgICAgaWYgKCFtX3BpcGVsaW5lKQogICAgICAgICByZXR1cm47CkBAIC0y
MjkxLDcgKzIzMTksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UHJl
bG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVsb2FkKQogICAgICAgICByZXR1cm47CiAKICAg
ICBtX3ByZWxvYWQgPSBwcmVsb2FkOwotICAgIHNldERvd25sb2FkQnVmZmVyaW5nKCk7CisgICAg
dXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAKICAgICBpZiAobV9kZWxheWluZ0xvYWQg
JiYgbV9wcmVsb2FkICE9IE1lZGlhUGxheWVyOjpOb25lKSB7CiAgICAgICAgIG1fZGVsYXlpbmdM
b2FkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmgKaW5kZXggOGUyNTdlNjIzMDMyMGI5M2JiYWNkYzgyNmY5MGYxMWMzMjVlYjQ1Yy4uNTExMzI1
ZTQ5ZmUzMzc5OWRkMGY1NTBhYTU2ZDhlOThkMDY3ODVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtMTU0LDggKzE1NCwxMSBAQCBwcml2YXRl
OgogICAgIGJvb2wgbG9hZE5leHRMb2NhdGlvbigpOwogICAgIHZvaWQgbWVkaWFMb2NhdGlvbkNo
YW5nZWQoR3N0TWVzc2FnZSopOwogCi0gICAgdmlydHVhbCB2b2lkIHNldERvd25sb2FkQnVmZmVy
aW5nKCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpOwog
ICAgIHZvaWQgcHJvY2Vzc0J1ZmZlcmluZ1N0YXRzKEdzdE1lc3NhZ2UqKTsKKyAgICB2b2lkIHVw
ZGF0ZUJ1ZmZlcmluZ1N0YXR1cyhHc3RCdWZmZXJpbmdNb2RlLCBkb3VibGUgcGVyY2VudGFnZSk7
CisgICAgdm9pZCB1cGRhdGVNYXhUaW1lTG9hZGVkKGRvdWJsZSBwZXJjZW50YWdlKTsKKwogI2lm
IEVOQUJMRShWSURFT19UUkFDSykKICNpZiBVU0UoR1NUUkVBTUVSX01QRUdUUykKICAgICB2b2lk
IHByb2Nlc3NNcGVnVHNTZWN0aW9uKEdzdE1wZWd0c1NlY3Rpb24qKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggY2ZmMTlhYjk0Mjg2NGYwNTQxMTc5
NDFjMmU1Y2Y3MzE4NzVmOGQyMC4uMTIxODg0YTEwYWQ1MTE1MWY5N2FjMDdjNTUwYzIzNmU5NWU2
ZGVkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAg
LTIzNyw2ICsyMzcsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJTcmNSZXNldChXZWJLaXRXZWJT
cmMqIHNyYykKIHsKICAgICBXZWJLaXRXZWJTcmNQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9T
UkNfR0VUX1BSSVZBVEUoc3JjKTsKIAorICAgIEdTVF9ERUJVR19PQkpFQ1Qoc3JjLCAiUmVzZXR0
aW5nIGludGVybmFsIHN0YXRlIik7CiAgICAgcHJpdi0+aGF2ZVNpemUgPSBmYWxzZTsKICAgICBw
cml2LT53ZXJlSGVhZGVyc1JlY2VpdmVkID0gZmFsc2U7CiAgICAgcHJpdi0+aXNTZWVrYWJsZSA9
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFLmgKaW5kZXggN2Q3NDA1N2I5YmU5ZGViODNkNzk4ZmY4OGJiODk1M2JkYzZjMWUw
MC4uM2JjYzBmZGJhMzg4M2FlZWM2ZTJlMjY1ODVlYWM4Y2JiZTBkNGVhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJNU0UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCkBAIC01
Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dCopIG92ZXJyaWRlOwogCi0gICAgdm9pZCBzZXREb3dubG9hZEJ1ZmZlcmluZygpIG92ZXJyaWRl
IHsgfTsKKyAgICB2b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpIG92ZXJyaWRlIHsg
fTsKIAogICAgIGJvb2wgaXNMaXZlU3RyZWFtKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFs
c2U7IH0KICAgICBNZWRpYVRpbWUgY3VycmVudE1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373242</attachid>
            <date>2019-07-01 09:51:05 -0700</date>
            <delta_ts>2019-07-01 09:51:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198376-20190701175103.patch</filename>
            <type>text/plain</type>
            <size>16591</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZiNWI4MjgzODQ3YmI4ZDc3ZDQ3NGNk
OTExN2Q1YmYxMWIxODhjODIuLmMyZjMwNWU3NzAwNGUxZWExYTY1YzZiOWNmMGNlYjM1MmFhZjc4
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMDEgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIENhbm5vdCBwbGF5IEJl
cnQncyBCeXRlcyByYWRpbyBzdHJlYW0gZnJvbSBodHRwOi8vcmFkaW8uZG9zLm5sLworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4Mzc2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJvZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgKiB3dGYv
Z2xpYi9HTGliVXRpbGl0aWVzLmg6CisgICAgICAgIChlbnVtVG9TdHJpbmcpOiBVdGlsaXR5IGZ1
bmN0aW9uIHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBvZiBhIEdMaWIgZW51bS4K
KwogMjAxOS0wNi0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U3RyZWFtbGluZSBzb21lIHN0cmluZyBjb2RlLCBmb2N1c2luZyBvbiBmdW5jdGlvbnMgdGhhdCB3
ZXJlIHVzaW5nIHN1YnN0cmluZ1NoYXJpbmdJbXBsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE1YWQ2OGY5N2Ri
YmQ4NzQ2ZjM4MDljNmJhZGQzOWMwMWJiM2UwZC4uNzU4OTBhN2ZhYTUzMmU0MTg0MTFhZmZhNTA1
ODc1YjljNzg3YWI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA3LTAxICBQ
aGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVh
bWVyXSBDYW5ub3QgcGxheSBCZXJ0J3MgQnl0ZXMgcmFkaW8gc3RyZWFtIGZyb20gaHR0cDovL3Jh
ZGlvLmRvcy5ubC8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IFhhYmllciBSb2RyaWd1ZXotQ2FsdmFy
LgorCisgICAgICAgIFRoZSBkZWxheWVkIHN0YXJ0dXAgd2FzIGR1ZSB0byBhIG1peCBvZiBidWZm
ZXJpbmcgZmVlZGJhY2sKKyAgICAgICAgbWVzc2FnZXMgbm90IGhhbmRsZWQgY29ycmVjdGx5IGJ5
IHRoZSBwbGF5ZXIuIFdlIHdlcmUgaGFuZGxpbmcKKyAgICAgICAgZG93bmxvYWQgYW5kIHN0cmVh
bWluZyBidWZmZXJpbmcgbWV0cmljcyB3aXRob3V0IGRpc3RpbmN0aW9uLgorICAgICAgICBSYW5n
ZSByZXF1ZXN0cyAodXNlZCBmb3Igc2Vla2luZykgd2VyZSBhbHNvIHRyaWdnZXJpbmcgb24tZGlz
aworICAgICAgICBidWZmZXJpbmcgaW4gc29tZSBjYXNlcy4gVGhlIGJ1ZmZlcmluZyBwZXJjZW50
YWdlIGVzdGltYXRpb24gYmFzZWQKKyAgICAgICAgb24gbmV0d29yayByZWFkIHBvc2l0aW9uIHdh
cyBub3Qgd29ya2luZyBlaXRoZXIgYmVjYXVzZSB1aW50NjRfdAorICAgICAgICBkaXZpc2lvbiBk
b2Vzbid0IHJldHVybiBhIGZsb2F0aW5nIHBvaW50IHZhbHVlLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgZXhpc3RpbmcgbWVkaWEgdGVzdHMgY292ZXIgdGhpcyBwYXRjaC4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjb21t
aXRMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
cGxheSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Omhh
bmRsZU1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpwcm9jZXNzQnVmZmVyaW5nU3RhdHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVCdWZmZXJpbmdTdGF0dXMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpmaWxsVGltZXJGaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om1heFRpbWVMb2FkZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpk
aWRMb2FkaW5nUHJvZ3Jlc3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWcpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQcmVsb2FkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktp
dFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgICh3ZWJraXRXZWJTcmNSZXNldCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0UuaDoKKwogMjAxOS0wNy0wMSAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI0Njk2MykgR1RLJ3MgZGVidWcgYnVp
bGQgaXMgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dMaWJVdGlsaXRp
ZXMuY3BwIGIvU291cmNlL1dURi93dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmNwcAppbmRleCBmNDRi
OWU1ZTdmNDhmZDMxZDc2MTc5MTdmMWRhNGI5OWJkZTkxNTkyLi5jOTNhNzgyNGQ3MzRhZDgzY2Qx
Y2Q1YmM4YTYwZDc2Y2MzOTEyMzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dM
aWJVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5j
cHAKQEAgLTc3LDMgKzc3LDE4IEBAIENTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkK
IAogICAgIHJldHVybiBnX2dldF9wcmduYW1lKCk7CiB9CisKK0NTdHJpbmcgZW51bVRvU3RyaW5n
KEdUeXBlIHR5cGUsIGd1aW50IHZhbHVlKQoreworI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA1
NCwgMCkKKyAgICBHVW5pcXVlUHRyPGNoYXI+IHJlc3VsdChnX2VudW1fdG9fc3RyaW5nKHR5cGUs
IHZhbHVlKSk7CisgICAgcmV0dXJuIHJlc3VsdC5nZXQoKTsKKyNlbHNlCisgICAgR0VudW1DbGFz
cyogZW51bUNsYXNzID0gcmVpbnRlcnByZXRfY2FzdDxHRW51bUNsYXNzKj4oZ190eXBlX2NsYXNz
X3JlZih0eXBlKSk7CisgICAgR0VudW1WYWx1ZSogZW51bVZhbHVlID0gZ19lbnVtX2dldF92YWx1
ZShlbnVtQ2xhc3MsIHZhbHVlKTsKKyAgICBjaGFyKiByZXByZXNlbnRhdGlvbiA9IGVudW1WYWx1
ZSA/IGdfc3RyZHVwKGVudW1WYWx1ZS0+dmFsdWVfbmljaykgOiBudWxscHRyOworICAgIGdfdHlw
ZV9jbGFzc191bnJlZihlbnVtQ2xhc3MpOworICAgIEdVbmlxdWVQdHI8Y2hhcj4gcmVzdWx0KHJl
cHJlc2VudGF0aW9uKTsKKyAgICByZXR1cm4gcmVzdWx0LmdldCgpOworI2VuZGlmCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaCBiL1NvdXJjZS9XVEYv
d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oCmluZGV4IDI5OTM3ODljMmJhZjU4OGYxZWU0NzkxMmVh
YWE1ZjNlYjdhNGQ5MjIuLjA2NGNhYjRmODg2YmRjMGNlOTVmYmU0YTNkYTU5ZDA2ZjgyMjdjNTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oCkBAIC0yMCwxMSArMjAsMTMgQEAKICNp
Zm5kZWYgR0xpYlV0aWxpdGllc19oCiAjZGVmaW5lIEdMaWJVdGlsaXRpZXNfaAogCisjaW5jbHVk
ZSA8Z2xpYi1vYmplY3QuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogQ1N0cmluZyBnZXRDdXJyZW50RXhlY3V0YWJsZVBhdGgo
KTsKIENTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKCk7CitDU3RyaW5nIGVudW1Ub1N0
cmluZyhHVHlwZSwgZ3VpbnQgdmFsdWUpOwogCiAvLyBUaGVzZSBtaWdodCBiZSBhZGRlZCB0byBn
bGliIGluIHRoZSBmdXR1cmUsIGJ1dCBpbiB0aGUgbWVhbnRpbWUgdGhleSdyZSBkZWZpbmVkIGhl
cmUuCiAjaWZuZGVmIEdVTE9OR19UT19QT0lOVEVSCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDcwOWExYjYyODQ2NmExMjU0MWJjYThhMTQy
ZTk2NjEzZjg3YWRjZGUuLjlhOGEyYjg4ZGE1Y2RiNmRkZWE1OTI4NTM4YjM0YzY0MTU4ZTE4M2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBA
IC00OCw3ICs0OCw3IEBACiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAjaW5j
bHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgotI2luY2x1ZGUgPHd0
Zi9nbGliL0dVbmlxdWVQdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+
CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRl
TnVtYmVycy5oPgpAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpjb21taXRMb2FkKCkKICAgICAvLyBzdGFydCBwcm92aWRpbmcgYW55dGhpbmcgdXNl
ZnVsLgogICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX1BBVVNFRCk7CiAKLSAgICBz
ZXREb3dubG9hZEJ1ZmZlcmluZygpOworICAgIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygp
OwogICAgIHVwZGF0ZVN0YXRlcygpOwogfQogCkBAIC00NTgsNyArNDU4LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnBsYXkoKQogICAgICAgICBtX2lzRW5kUmVhY2hlZCA9
IGZhbHNlOwogICAgICAgICBtX2RlbGF5aW5nTG9hZCA9IGZhbHNlOwogICAgICAgICBtX3ByZWxv
YWQgPSBNZWRpYVBsYXllcjo6QXV0bzsKLSAgICAgICAgc2V0RG93bmxvYWRCdWZmZXJpbmcoKTsK
KyAgICAgICAgdXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAgICAgICAgIEdTVF9JTkZP
X09CSkVDVChwaXBlbGluZSgpLCAiUGxheSIpOwogICAgIH0gZWxzZQogICAgICAgICBsb2FkaW5n
RmFpbGVkKE1lZGlhUGxheWVyOjpFbXB0eSk7CkBAIC0xMzQ5LDYgKzEzNDksMTQgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVzc2FnZSogbWVz
c2FnZSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBib29sIGlzUmFuZ2VSZXF1ZXN0ID0gZmFsc2U7Cisg
ICAgICAgICAgICBHVW5pcXVlT3V0UHRyPEdzdFN0cnVjdHVyZT4gcmVxdWVzdEhlYWRlcnM7Cisg
ICAgICAgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXQoc3RydWN0dXJlLCAicmVxdWVzdC1oZWFk
ZXJzIiwgR1NUX1RZUEVfU1RSVUNUVVJFLCAmcmVxdWVzdEhlYWRlcnMub3V0UHRyKCksIG51bGxw
dHIpKQorICAgICAgICAgICAgICAgIGlzUmFuZ2VSZXF1ZXN0ID0gZ3N0X3N0cnVjdHVyZV9oYXNf
ZmllbGQocmVxdWVzdEhlYWRlcnMuZ2V0KCksICJSYW5nZSIpOworCisgICAgICAgICAgICBHU1Rf
REVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJJcyByYW5nZSByZXF1ZXN0OiAlcyIsIGJvb2xGb3JQ
cmludGluZyhpc1JhbmdlUmVxdWVzdCkpOworCiAgICAgICAgICAgICBHVW5pcXVlT3V0UHRyPEdz
dFN0cnVjdHVyZT4gcmVzcG9uc2VIZWFkZXJzOwogICAgICAgICAgICAgaWYgKGdzdF9zdHJ1Y3R1
cmVfZ2V0KHN0cnVjdHVyZSwgInJlc3BvbnNlLWhlYWRlcnMiLCBHU1RfVFlQRV9TVFJVQ1RVUkUs
ICZyZXNwb25zZUhlYWRlcnMub3V0UHRyKCksIG51bGxwdHIpKSB7CiAgICAgICAgICAgICAgICAg
Y29uc3QgY2hhciogY29udGVudExlbmd0aEhlYWRlck5hbWUgPSBodHRwSGVhZGVyTmFtZVN0cmlu
ZyhIVFRQSGVhZGVyTmFtZTo6Q29udGVudExlbmd0aCkudXRmOCgpLmRhdGEoKTsKQEAgLTEzNjMs
MTAgKzEzNzEsMTAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1l
c3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b250ZW50TGVuZ3RoID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIiVzIHN0cmVh
bSBkZXRlY3RlZCIsICFjb250ZW50TGVuZ3RoID8gIkxpdmUiIDogIk5vbi1saXZlIik7Ci0gICAg
ICAgICAgICAgICAgaWYgKCFjb250ZW50TGVuZ3RoKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1f
aXNTdHJlYW1pbmcgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBzZXREb3dubG9hZEJ1ZmZl
cmluZygpOworICAgICAgICAgICAgICAgIGlmICghaXNSYW5nZVJlcXVlc3QpIHsKKyAgICAgICAg
ICAgICAgICAgICAgbV9pc1N0cmVhbWluZyA9ICFjb250ZW50TGVuZ3RoOworICAgICAgICAgICAg
ICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIiVzIHN0cmVhbSBkZXRlY3RlZCIs
IG1faXNTdHJlYW1pbmcgPyAiTGl2ZSIgOiAiTm9uLWxpdmUiKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCk7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKGdzdF9zdHJ1Y3R1cmVfaGFzX25hbWUoc3Ry
dWN0dXJlLCAid2Via2l0LW5ldHdvcmstc3RhdGlzdGljcyIpKSB7CkBAIC0xNDUwLDEzICsxNDU4
LDU3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdz
dE1lc3NhZ2UqIG1lc3NhZ2UpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpw
cm9jZXNzQnVmZmVyaW5nU3RhdHMoR3N0TWVzc2FnZSogbWVzc2FnZSkKIHsKLSAgICBtX2J1ZmZl
cmluZyA9IHRydWU7Ci0gICAgZ3N0X21lc3NhZ2VfcGFyc2VfYnVmZmVyaW5nKG1lc3NhZ2UsICZt
X2J1ZmZlcmluZ1BlcmNlbnRhZ2UpOworICAgIEdzdEJ1ZmZlcmluZ01vZGUgbW9kZTsKKyAgICBn
c3RfbWVzc2FnZV9wYXJzZV9idWZmZXJpbmdfc3RhdHMobWVzc2FnZSwgJm1vZGUsIG51bGxwdHIs
IG51bGxwdHIsIG51bGxwdHIpOworCisgICAgaW50IHBlcmNlbnRhZ2U7CisgICAgZ3N0X21lc3Nh
Z2VfcGFyc2VfYnVmZmVyaW5nKG1lc3NhZ2UsICZwZXJjZW50YWdlKTsKKworICAgIHVwZGF0ZUJ1
ZmZlcmluZ1N0YXR1cyhtb2RlLCBwZXJjZW50YWdlKTsKK30KIAotICAgIEdTVF9ERUJVR19PQkpF
Q1QocGlwZWxpbmUoKSwgIltCdWZmZXJpbmddIEJ1ZmZlcmluZzogJWQlJS4iLCBtX2J1ZmZlcmlu
Z1BlcmNlbnRhZ2UpOwordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZU1h
eFRpbWVMb2FkZWQoZG91YmxlIHBlcmNlbnRhZ2UpCit7CisgICAgTWVkaWFUaW1lIG1lZGlhRHVy
YXRpb24gPSBkdXJhdGlvbk1lZGlhVGltZSgpOworICAgIGlmICghbWVkaWFEdXJhdGlvbikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV9tYXhUaW1lTG9hZGVkID0gTWVkaWFUaW1lKHBlcmNlbnRh
Z2UgKiBzdGF0aWNfY2FzdDxkb3VibGU+KHRvR3N0VW5zaWduZWQ2NFRpbWUobWVkaWFEdXJhdGlv
bikpIC8gMTAwLCBHU1RfU0VDT05EKTsKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCks
ICJbQnVmZmVyaW5nXSBVcGRhdGVkIG1heFRpbWVMb2FkZWQ6ICVzIiwgdG9TdHJpbmcobV9tYXhU
aW1lTG9hZGVkKS51dGY4KCkuZGF0YSgpKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnVwZGF0ZUJ1ZmZlcmluZ1N0YXR1cyhHc3RCdWZmZXJpbmdNb2RlIG1vZGUsIGRv
dWJsZSBwZXJjZW50YWdlKQoreworICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltC
dWZmZXJpbmddIG1vZGU6ICVzLCBzdGF0dXM6ICVmJSUiLCBlbnVtVG9TdHJpbmcoR1NUX1RZUEVf
QlVGRkVSSU5HX01PREUsIG1vZGUpLmRhdGEoKSwgcGVyY2VudGFnZSk7CisKKyAgICBtX2Rvd25s
b2FkRmluaXNoZWQgPSBwZXJjZW50YWdlID09IDEwMDsKKyAgICBtX2J1ZmZlcmluZyA9ICFtX2Rv
d25sb2FkRmluaXNoZWQ7CisKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIEdTVF9CVUZG
RVJJTkdfU1RSRUFNOiB7CisgICAgICAgIHVwZGF0ZU1heFRpbWVMb2FkZWQocGVyY2VudGFnZSk7
CisKKyAgICAgICAgbV9idWZmZXJpbmdQZXJjZW50YWdlID0gcGVyY2VudGFnZTsKKyAgICAgICAg
aWYgKG1fZG93bmxvYWRGaW5pc2hlZCkKKyAgICAgICAgICAgIHVwZGF0ZVN0YXRlcygpOworCisg
ICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIEdTVF9CVUZGRVJJTkdfRE9XTkxPQUQ6IHsK
KyAgICAgICAgdXBkYXRlTWF4VGltZUxvYWRlZChwZXJjZW50YWdlKTsKKworICAgICAgICAvLyBN
ZWRpYSBpcyBub3cgZnVsbHkgbG9hZGVkLiBJdCB3aWxsIHBsYXkgZXZlbiBpZiBuZXR3b3JrIGNv
bm5lY3Rpb24gaXMKKyAgICAgICAgLy8gY3V0LiBCdWZmZXJpbmcgaXMgZG9uZSwgcmVtb3ZlIHRo
ZSBmaWxsIHNvdXJjZSBmcm9tIHRoZSBtYWluIGxvb3AuCisgICAgICAgIGlmIChtX2Rvd25sb2Fk
RmluaXNoZWQpCisgICAgICAgICAgICBtX2ZpbGxUaW1lci5zdG9wKCk7CiAKLSAgICBpZiAobV9i
dWZmZXJpbmdQZXJjZW50YWdlID09IDEwMCkKICAgICAgICAgdXBkYXRlU3RhdGVzKCk7CisgICAg
ICAgIGJyZWFrOworICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAgICBHU1RfREVCVUdfT0JKRUNU
KHBpcGVsaW5lKCksICJVbmhhbmRsZWQgYnVmZmVyaW5nIG1vZGU6ICVzIiwgZW51bVRvU3RyaW5n
KEdTVF9UWVBFX0JVRkZFUklOR19NT0RFLCBtb2RlKS5kYXRhKCkpOworICAgICAgICBicmVhazsK
KyAgICB9CiB9CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmIFVTRShHU1RSRUFNRVJfTVBF
R1RTKQpAQCAtMTU4NSw0OCArMTYzNywyMyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6ZmlsbFRpbWVyRmlyZWQoKQogewogICAgIEdSZWZQdHI8R3N0UXVlcnk+IHF1ZXJ5ID0g
YWRvcHRHUmVmKGdzdF9xdWVyeV9uZXdfYnVmZmVyaW5nKEdTVF9GT1JNQVRfUEVSQ0VOVCkpOwog
ICAgIGRvdWJsZSBmaWxsU3RhdHVzID0gMTAwLjA7CisgICAgR3N0QnVmZmVyaW5nTW9kZSBtb2Rl
ID0gR1NUX0JVRkZFUklOR19ET1dOTE9BRDsKIAotICAgIGlmIChnc3RfZWxlbWVudF9xdWVyeSht
X3BpcGVsaW5lLmdldCgpLCBxdWVyeS5nZXQoKSkpIHsKLSAgICAgICAgaW50NjRfdCBzdG9wOwot
ICAgICAgICBHc3RGb3JtYXQgZm9ybWF0OwotICAgICAgICBnc3RfcXVlcnlfcGFyc2VfYnVmZmVy
aW5nX3JhbmdlKHF1ZXJ5LmdldCgpLCAmZm9ybWF0LCBudWxscHRyLCAmc3RvcCwgbnVsbHB0cik7
Ci0gICAgICAgIEFTU0VSVChmb3JtYXQgPT0gR1NUX0ZPUk1BVF9QRVJDRU5UKTsKKyAgICBpZiAo
Z3N0X2VsZW1lbnRfcXVlcnkobV9zb3VyY2UuZ2V0KCksIHF1ZXJ5LmdldCgpKSkgeworICAgICAg
ICBnc3RfcXVlcnlfcGFyc2VfYnVmZmVyaW5nX3N0YXRzKHF1ZXJ5LmdldCgpLCAmbW9kZSwgbnVs
bHB0ciwgbnVsbHB0ciwgbnVsbHB0cik7CiAKLSAgICAgICAgaWYgKHN0b3AgIT0gLTEpCi0gICAg
ICAgICAgICBmaWxsU3RhdHVzID0gMTAwLjAgKiBzdG9wIC8gR1NUX0ZPUk1BVF9QRVJDRU5UX01B
WDsKKyAgICAgICAgaW50IHBlcmNlbnRhZ2U7CisgICAgICAgIGdzdF9xdWVyeV9wYXJzZV9idWZm
ZXJpbmdfcGVyY2VudChxdWVyeS5nZXQoKSwgbnVsbHB0ciwgJnBlcmNlbnRhZ2UpOworICAgICAg
ICBmaWxsU3RhdHVzID0gcGVyY2VudGFnZTsKICAgICB9IGVsc2UgaWYgKG1faHR0cFJlc3BvbnNl
VG90YWxTaXplKSB7CiAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZm
ZXJpbmddIFF1ZXJ5IGZhaWxlZCwgZmFsbGluZyBiYWNrIHRvIG5ldHdvcmsgcmVhZCBwb3NpdGlv
biBlc3RpbWF0aW9uIik7Ci0gICAgICAgIGZpbGxTdGF0dXMgPSAxMDAuMCAqIChtX25ldHdvcmtS
ZWFkUG9zaXRpb24gLyBtX2h0dHBSZXNwb25zZVRvdGFsU2l6ZSk7CisgICAgICAgIGZpbGxTdGF0
dXMgPSAxMDAuMCAqIChzdGF0aWNfY2FzdDxkb3VibGU+KG1fbmV0d29ya1JlYWRQb3NpdGlvbikg
LyBzdGF0aWNfY2FzdDxkb3VibGU+KG1faHR0cFJlc3BvbnNlVG90YWxTaXplKSk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiW0J1ZmZlcmluZ10g
VW5hYmxlIHRvIGRldGVybWluZSBvbi1kaXNrIGJ1ZmZlcmluZyBzdGF0dXMiKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIltCdWZm
ZXJpbmddIERvd25sb2FkIGJ1ZmZlciBmaWxsZWQgdXAgdG8gJWYlJSIsIGZpbGxTdGF0dXMpOwot
Ci0gICAgTWVkaWFUaW1lIG1lZGlhRHVyYXRpb24gPSBkdXJhdGlvbk1lZGlhVGltZSgpOwotCi0g
ICAgLy8gVXBkYXRlIG1heFRpbWVMb2FkZWQgb25seSBpZiB0aGUgbWVkaWEgZHVyYXRpb24gaXMK
LSAgICAvLyBhdmFpbGFibGUuIE90aGVyd2lzZSB3ZSBjYW4ndCBjb21wdXRlIGl0LgotICAgIGlm
IChtZWRpYUR1cmF0aW9uKSB7Ci0gICAgICAgIGlmIChmaWxsU3RhdHVzID09IDEwMC4wKQotICAg
ICAgICAgICAgbV9tYXhUaW1lTG9hZGVkID0gbWVkaWFEdXJhdGlvbjsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbV9tYXhUaW1lTG9hZGVkID0gTWVkaWFUaW1lKGZpbGxTdGF0dXMgKiBzdGF0
aWNfY2FzdDxkb3VibGU+KHRvR3N0VW5zaWduZWQ2NFRpbWUobWVkaWFEdXJhdGlvbikpIC8gMTAw
LCBHU1RfU0VDT05EKTsKLSAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiW0J1
ZmZlcmluZ10gVXBkYXRlZCBtYXhUaW1lTG9hZGVkOiAlcyIsIHRvU3RyaW5nKG1fbWF4VGltZUxv
YWRlZCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgfQotCi0gICAgbV9kb3dubG9hZEZpbmlzaGVkID0g
ZmlsbFN0YXR1cyA9PSAxMDAuMDsKLSAgICBpZiAoIW1fZG93bmxvYWRGaW5pc2hlZCkgewotICAg
ICAgICB1cGRhdGVTdGF0ZXMoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIE1l
ZGlhIGlzIG5vdyBmdWxseSBsb2FkZWQuIEl0IHdpbGwgcGxheSBldmVuIGlmIG5ldHdvcmsKLSAg
ICAvLyBjb25uZWN0aW9uIGlzIGN1dC4gQnVmZmVyaW5nIGlzIGRvbmUsIHJlbW92ZSB0aGUgZmls
bCBzb3VyY2UKLSAgICAvLyBmcm9tIHRoZSBtYWluIGxvb3AuCi0gICAgbV9maWxsVGltZXIuc3Rv
cCgpOwotICAgIHVwZGF0ZVN0YXRlcygpOworICAgIHVwZGF0ZUJ1ZmZlcmluZ1N0YXR1cyhtb2Rl
LCBmaWxsU3RhdHVzKTsKIH0KIAogTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6bWF4TWVkaWFUaW1lU2Vla2FibGUoKSBjb25zdApAQCAtMTY1NSw3ICsxNjgyLDcgQEAgTWVk
aWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bWF4VGltZUxvYWRlZCgpIGNvbnN0
CiAgICAgTWVkaWFUaW1lIGxvYWRlZCA9IG1fbWF4VGltZUxvYWRlZDsKICAgICBpZiAobV9pc0Vu
ZFJlYWNoZWQpCiAgICAgICAgIGxvYWRlZCA9IGR1cmF0aW9uTWVkaWFUaW1lKCk7Ci0gICAgR1NU
X0xPRygibWF4VGltZUxvYWRlZDogJXMiLCB0b1N0cmluZyhsb2FkZWQpLnV0ZjgoKS5kYXRhKCkp
OworICAgIEdTVF9MT0dfT0JKRUNUKHBpcGVsaW5lKCksICJtYXhUaW1lTG9hZGVkOiAlcyIsIHRv
U3RyaW5nKGxvYWRlZCkudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0dXJuIGxvYWRlZDsKIH0KIApA
QCAtMTY2Niw4ICsxNjkzLDkgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmRp
ZExvYWRpbmdQcm9ncmVzcygpIGNvbnN0CiAKICAgICBpZiAoV0VCS0lUX0lTX1dFQl9TUkMobV9z
b3VyY2UuZ2V0KCkpKSB7CiAgICAgICAgIEdTVF9MT0dfT0JKRUNUKHBpcGVsaW5lKCksICJMYXN0
IG5ldHdvcmsgcmVhZCBwb3NpdGlvbjogJSIgR19HVUlOVDY0X0ZPUk1BVCAiLCBjdXJyZW50OiAl
IiBHX0dVSU5UNjRfRk9STUFULCBtX3JlYWRQb3NpdGlvbkF0TGFzdERpZExvYWRpbmdQcm9ncmVz
cywgbV9uZXR3b3JrUmVhZFBvc2l0aW9uKTsKLSAgICAgICAgYm9vbCBkaWRMb2FkaW5nUHJvZ3Jl
c3MgPSBtX3JlYWRQb3NpdGlvbkF0TGFzdERpZExvYWRpbmdQcm9ncmVzcyAhPSBtX25ldHdvcmtS
ZWFkUG9zaXRpb247CisgICAgICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzID0gbV9yZWFkUG9z
aXRpb25BdExhc3REaWRMb2FkaW5nUHJvZ3Jlc3MgPCBtX25ldHdvcmtSZWFkUG9zaXRpb247CiAg
ICAgICAgIG1fcmVhZFBvc2l0aW9uQXRMYXN0RGlkTG9hZGluZ1Byb2dyZXNzID0gbV9uZXR3b3Jr
UmVhZFBvc2l0aW9uOworICAgICAgICBHU1RfTE9HX09CSkVDVChwaXBlbGluZSgpLCAiZGlkTG9h
ZGluZ1Byb2dyZXNzOiAlcyIsIGJvb2xGb3JQcmludGluZyhkaWRMb2FkaW5nUHJvZ3Jlc3MpKTsK
ICAgICAgICAgcmV0dXJuIGRpZExvYWRpbmdQcm9ncmVzczsKICAgICB9CiAKQEAgLTIwMDEsNyAr
MjAyOSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVTdGF0ZXMo
KQogCiAgICAgICAgIC8vIExpdmUgcGlwZWxpbmVzIGdvIGluIFBBVVNFRCB3aXRob3V0IHByZXJv
bGxpbmcuCiAgICAgICAgIG1faXNTdHJlYW1pbmcgPSB0cnVlOwotICAgICAgICBzZXREb3dubG9h
ZEJ1ZmZlcmluZygpOworICAgICAgICB1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWcoKTsKIAog
ICAgICAgICBpZiAobV9jdXJyZW50U3RhdGUgPT0gR1NUX1NUQVRFX1JFQURZKQogICAgICAgICAg
ICAgbV9yZWFkeVN0YXRlID0gTWVkaWFQbGF5ZXI6OkhhdmVOb3RoaW5nOwpAQCAtMjI1Niw3ICsy
Mjg0LDcgQEAgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OnN1cHBvcnRzVHlwZShjb25zdCBNZWRpYUUKICAgICByZXR1cm4gZmluYWxSZXN1bHQ7
CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZl
cmluZygpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlRG93bmxvYWRC
dWZmZXJpbmdGbGFnKCkKIHsKICAgICBpZiAoIW1fcGlwZWxpbmUpCiAgICAgICAgIHJldHVybjsK
QEAgLTIyOTEsNyArMjMxOSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpz
ZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkIHByZWxvYWQpCiAgICAgICAgIHJldHVybjsK
IAogICAgIG1fcHJlbG9hZCA9IHByZWxvYWQ7Ci0gICAgc2V0RG93bmxvYWRCdWZmZXJpbmcoKTsK
KyAgICB1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWcoKTsKIAogICAgIGlmIChtX2RlbGF5aW5n
TG9hZCAmJiBtX3ByZWxvYWQgIT0gTWVkaWFQbGF5ZXI6Ok5vbmUpIHsKICAgICAgICAgbV9kZWxh
eWluZ0xvYWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaAppbmRleCA4ZTI1N2U2MjMwMzIwYjkzYmJhY2RjODI2ZjkwZjExYzMyNWViNDVjLi41
MTEzMjVlNDlmZTMzNzk5ZGQwZjU1MGFhNTZkOGU5OGQwNjc4NWFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0xNTQsOCArMTU0LDExIEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBsb2FkTmV4dExvY2F0aW9uKCk7CiAgICAgdm9pZCBtZWRpYUxvY2F0
aW9uQ2hhbmdlZChHc3RNZXNzYWdlKik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RG93bmxvYWRC
dWZmZXJpbmcoKTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFn
KCk7CiAgICAgdm9pZCBwcm9jZXNzQnVmZmVyaW5nU3RhdHMoR3N0TWVzc2FnZSopOworICAgIHZv
aWQgdXBkYXRlQnVmZmVyaW5nU3RhdHVzKEdzdEJ1ZmZlcmluZ01vZGUsIGRvdWJsZSBwZXJjZW50
YWdlKTsKKyAgICB2b2lkIHVwZGF0ZU1heFRpbWVMb2FkZWQoZG91YmxlIHBlcmNlbnRhZ2UpOwor
CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogI2lmIFVTRShHU1RSRUFNRVJfTVBFR1RTKQogICAg
IHZvaWQgcHJvY2Vzc01wZWdUc1NlY3Rpb24oR3N0TXBlZ3RzU2VjdGlvbiopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNv
dXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCBjZmYxOWFiOTQyODY0ZjA1
NDExNzk0MWMyZTVjZjczMTg3NWY4ZDIwLi4xMjE4ODRhMTBhZDUxMTUxZjk3YWMwN2M1NTBjMjM2
ZTk1ZTZkZWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNw
cApAQCAtMjM3LDYgKzIzNyw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlNyY1Jlc2V0KFdlYktp
dFdlYlNyYyogc3JjKQogewogICAgIFdlYktpdFdlYlNyY1ByaXZhdGUqIHByaXYgPSBXRUJLSVRf
V0VCX1NSQ19HRVRfUFJJVkFURShzcmMpOwogCisgICAgR1NUX0RFQlVHX09CSkVDVChzcmMsICJS
ZXNldHRpbmcgaW50ZXJuYWwgc3RhdGUiKTsKICAgICBwcml2LT5oYXZlU2l6ZSA9IGZhbHNlOwog
ICAgIHByaXYtPndlcmVIZWFkZXJzUmVjZWl2ZWQgPSBmYWxzZTsKICAgICBwcml2LT5pc1NlZWth
YmxlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0UuaAppbmRleCA3ZDc0MDU3YjliZTlkZWI4M2Q3OThmZjg4YmI4OTUzYmRj
NmMxZTAwLi4zYmNjMGZkYmEzODgzYWVlYzZlMmUyNjU4NWVhYzhjYmJlMGQ0ZWFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgK
QEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBv
dmVycmlkZTsKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50Kikgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIHNldERvd25sb2FkQnVmZmVyaW5nKCkgb3Zl
cnJpZGUgeyB9OworICAgIHZvaWQgdXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCkgb3ZlcnJp
ZGUgeyB9OwogCiAgICAgYm9vbCBpc0xpdmVTdHJlYW0oKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBmYWxzZTsgfQogICAgIE1lZGlhVGltZSBjdXJyZW50TWVkaWFUaW1lKCkgY29uc3Qgb3ZlcnJp
ZGU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>