<?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>189921</bug_id>
          
          <creation_ts>2018-09-24 11:46:14 -0700</creation_ts>
          <short_desc>[WPE][GTK][WebRTC] Fixup VP8 encoding support</short_desc>
          <delta_ts>2018-09-25 11:42:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Thibault Saunier">tsaunier</reporter>
          <assigned_to name="Thibault Saunier">tsaunier</assigned_to>
          <cc>alex</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1462790</commentid>
    <comment_count>0</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-24 11:46:14 -0700</bug_when>
    <thetext>[WPE][GTK][WebRTC] Fixup VP8 encoding support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462793</commentid>
    <comment_count>1</comment_count>
      <attachid>350658</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-24 11:52:14 -0700</bug_when>
    <thetext>Created attachment 350658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463112</commentid>
    <comment_count>2</comment_count>
      <attachid>350658</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-09-25 01:58:29 -0700</bug_when>
    <thetext>Comment on attachment 350658
Patch

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

&gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:380
&gt;          fragmentationInfo-&gt;fragmentationTimeDiff[0] = 0;
&gt; +        gst_buffer_unmap(buffer, &amp;map);

You could use the GstMappedBuffer thing here maybe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463128</commentid>
    <comment_count>3</comment_count>
      <attachid>350746</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-25 04:56:23 -0700</bug_when>
    <thetext>Created attachment 350746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463130</commentid>
    <comment_count>4</comment_count>
      <attachid>350746</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-09-25 05:20:48 -0700</bug_when>
    <thetext>Comment on attachment 350746
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        + And do not raise a GStreamer error when GStreanerVideoEnclder::OnEncodedImage

typo Enclder

&gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:84
&gt; +        SetRestrictionCaps(WTFMove(caps));

Are all the SetRestrictionCaps call sites OK now?

&gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:255
&gt; +            GST_ERROR_OBJECT(m_pipeline.get(), &quot;Encode callback failed: %d&quot;, result.error);
&gt;  
&gt;          return GST_FLOW_OK;

Is it OK to return FLOW_OK also when an error is raised?

&gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:370
&gt; +        memcpy(encodedImage-&gt;_buffer, map.data(), map.size());

I know we had this before but would there be a way to avoid this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463131</commentid>
    <comment_count>5</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-25 05:31:38 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #4)
&gt; Comment on attachment 350746 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=350746&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:14
&gt; &gt; +        + And do not raise a GStreamer error when GStreanerVideoEnclder::OnEncodedImage
&gt; 
&gt; typo Enclder

Fixed.

&gt; &gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:84
&gt; &gt; +        SetRestrictionCaps(WTFMove(caps));
&gt; 
&gt; Are all the SetRestrictionCaps call sites OK now?

It is the only call yes.

&gt; &gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:255
&gt; &gt; +            GST_ERROR_OBJECT(m_pipeline.get(), &quot;Encode callback failed: %d&quot;, result.error);
&gt; &gt;  
&gt; &gt;          return GST_FLOW_OK;
&gt; 
&gt; Is it OK to return FLOW_OK also when an error is raised?

It is not raising an error anymore, just a &quot;small&quot; runtime `GST_ERROR`, the only 2 return values for `webrtc::EncodedImageCallback::Result` are:
  * OK
  * ERROR_SEND_FAILED

so basically we should not stop processing when `ERROR_SEND_FAILED` happens, so no reason to post an error on the bus.

&gt; &gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:370
&gt; &gt; +        memcpy(encodedImage-&gt;_buffer, map.data(), map.size());
&gt; 
&gt; I know we had this before but would there be a way to avoid this?

There might be a way but I can&apos;t see any encoder implementation avoiding this memcpy, it is an encoded frame so it shouldn&apos;t be a huge deal in practice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463132</commentid>
    <comment_count>6</comment_count>
      <attachid>350746</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-09-25 05:32:11 -0700</bug_when>
    <thetext>Comment on attachment 350746
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:14
&gt;&gt; +        + And do not raise a GStreamer error when GStreanerVideoEnclder::OnEncodedImage
&gt; 
&gt; typo Enclder

and GStreaner :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463133</commentid>
    <comment_count>7</comment_count>
      <attachid>350748</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-25 05:33:22 -0700</bug_when>
    <thetext>Created attachment 350748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463248</commentid>
    <comment_count>8</comment_count>
      <attachid>350748</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-25 11:41:18 -0700</bug_when>
    <thetext>Comment on attachment 350748
Patch

Clearing flags on attachment: 350748

Committed r236466: &lt;https://trac.webkit.org/changeset/236466&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463249</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-25 11:41:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463250</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-25 11:42:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/44768397&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350658</attachid>
            <date>2018-09-24 11:52:14 -0700</date>
            <delta_ts>2018-09-25 04:56:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189921-20180924155207.patch</filename>
            <type>text/plain</type>
            <size>8724</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjJkZjlhMWNlNGYzYTZk
N2I4ZmE4Yjc2MWE2NDg0NDc2Mzk1NzMxNC4uNDRjYWUxZTY2YTkyYzY0ODU3ZTUyNjFmMjY1ODhk
ZGExMzY1NGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE4LTA5LTI0ICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtHVEtd
W1dlYlJUQ10gRml4dXAgVlA4IGVuY29kaW5nIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTkyMQorCisgICAgICAgIFByZXZpb3VzIGxl
YWsgZml4aW5nIGNvbW1pdCBpbnRyb2R1Y2VkIGEgcmVncmVzc2lvbiBpbgorICAgICAgICB0aGUg
d2F5IHRoZSBlbmNvZGVkIGJ1ZmZlciB3ZXJlIHByZXBhcmVkIGluIHRoZSBkZWZhdWx0CisgICAg
ICAgIEdTdHJlYW1lclZpZGVvRW5jb2Rlcjo6RnJhZ21lbnRpemUgaW1wbGVtZW50YXRpb24gKHdo
ZW4KKyAgICAgICAgZW5jb2Rpbmcgd2l0aCBWUDggYmFzaWNhbGx5KS4KKworICAgICAgICArIEZp
eCBhIGJ1aWxkIHdhcm5pbmcgaW4gdGhlIGRlY29kZXIuCisgICAgICAgICsgRml4IHNvbWUgd3Jv
bmcgb2JqZWN0IGZpZWxkIG5hbWluZ3MuCisgICAgICAgICsgUHJvcGVybHkgbW92ZSB0aGUgY2Fw
cyByZWZlcmVuY2Ugd2hlbiBzZXR0aW5nIHJlc3RyaWN0aW9uIGNhcHMuCisgICAgICAgICsgQW5k
IGRvIG5vdCByYWlzZSBhIEdTdHJlYW1lciBlcnJvciB3aGVuIEdTdHJlYW5lclZpZGVvRW5jbGRl
cjo6T25FbmNvZGVkSW1hZ2UKKyAgICAgICAgICBmYWlscyAtIHRoaXMgbWlnaHQgYmUgYSBuZXR3
b3JrIGlzc3VlIGFuZCBvdGhlciBlbmNvZGVycyBkbyBub3QgY29uc2lkZXIgdGhhdAorICAgICAg
ICAgIGZhdGFsLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2Rl
ckZhY3RvcnkuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9H
U3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJl
YW1lclZpZGVvRW5jb2Rlcjo6SW5pdEVuY29kZSk6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFt
ZXJWaWRlb0VuY29kZXI6Om5ld1NhbXBsZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkdT
dHJlYW1lclZpZGVvRW5jb2Rlcjo6RnJhZ21lbnRpemUpOgorICAgICAgICAoV2ViQ29yZTo6R1N0
cmVhbWVyVmlkZW9FbmNvZGVyOjpTZXRSZXN0cmljdGlvbkNhcHMpOgorCiAyMDE4LTA5LTIwICBU
aGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXVtH
VEtdW1dlYlJUQ10gRml4IGxlYWtzIGluIHRoZSBsaWJ3ZWJydGMgRGVjb2RlciBhbmQgRW5jb2Rl
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3Rvcnku
Y3BwCmluZGV4IGRkZWI0ZDc3ZmEzMjMwOTI0NGRhZmJiNjJlYWNlODJkYjhkOWRkNGIuLjg4NjYx
ZDgyZTlhYzYwN2MxNWJkZDc2YTc3NTMyZDZiYWFjYjFjYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29k
ZXJGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5jcHAKQEAgLTE2NSw3ICsxNjUs
NyBAQCBwdWJsaWM6CiAgICAgICAgIEdTVF9CVUZGRVJfUFRTKGJ1ZmZlci5nZXQoKSkgPSAoc3Rh
dGljX2Nhc3Q8Z3VpbnQ2ND4ocmVuZGVyVGltZU1zKSAqIEdTVF9NU0VDT05EKSAtIG1fZmlyc3RC
dWZmZXJQdHM7CiAgICAgICAgIG1fZHRzUHRzTWFwW0dTVF9CVUZGRVJfUFRTKGJ1ZmZlci5nZXQo
KSldID0gaW5wdXRJbWFnZS5fdGltZVN0YW1wOwogCi0gICAgICAgIEdTVF9MT0dfT0JKRUNUKHBp
cGVsaW5lKCksICIlbGQgRGVjb2Rpbmc6ICUiIEdTVF9QVFJfRk9STUFULCByZW5kZXJUaW1lTXMs
IGJ1ZmZlcik7CisgICAgICAgIEdTVF9MT0dfT0JKRUNUKHBpcGVsaW5lKCksICIlbGQgRGVjb2Rp
bmc6ICUiIEdTVF9QVFJfRk9STUFULCByZW5kZXJUaW1lTXMsIGJ1ZmZlci5nZXQoKSk7CiAgICAg
ICAgIGF1dG8gc2FtcGxlID0gYWRvcHRHUmVmKGdzdF9zYW1wbGVfbmV3KGJ1ZmZlci5nZXQoKSwg
R2V0Q2Fwc0ZvckZyYW1lKGlucHV0SW1hZ2UpLCBudWxscHRyLCBudWxscHRyKSk7CiAgICAgICAg
IHN3aXRjaCAoZ3N0X2FwcF9zcmNfcHVzaF9zYW1wbGUoR1NUX0FQUF9TUkMobV9zcmMpLCBzYW1w
bGUuZ2V0KCkpKSB7CiAgICAgICAgIGNhc2UgR1NUX0ZMT1dfT0s6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9F
bmNvZGVyRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHAKaW5kZXggYmM3Njk4MWYx
MzRhYzhkY2M3ZTVkM2IzMTBiY2MyMTFlODkxYzljZC4uZThlMDMzNmFjYTgzMjhkMjY2MjRlNDk4
M2NmNWI1YzAzNDFjODI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJW
aWRlb0VuY29kZXJGYWN0b3J5LmNwcApAQCAtODEsNyArODEsNyBAQCBwdWJsaWM6CiAgICAgICAg
IGF1dG8gY2FwcyA9IGFkb3B0R1JlZihnc3RfY2Fwc19jb3B5KG1fcmVzdHJpY3Rpb25DYXBzLmdl
dCgpKSk7CiAgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUoY2Fwcy5nZXQoKSwgImZyYW1lcmF0
ZSIsIEdTVF9UWVBFX0ZSQUNUSU9OLCBmcmFtZVJhdGUsIDEsIG51bGxwdHIpOwogCi0gICAgICAg
IFNldFJlc3RyaWN0aW9uQ2FwcyhjYXBzKTsKKyAgICAgICAgU2V0UmVzdHJpY3Rpb25DYXBzKFdU
Rk1vdmUoY2FwcykpOwogCiAgICAgICAgIGlmIChtX2JpdHJhdGVTZXR0ZXIgJiYgbV9lbmNvZGVy
KQogICAgICAgICAgICAgbV9iaXRyYXRlU2V0dGVyKG1fZW5jb2RlciwgbmV3Qml0cmF0ZSk7CkBA
IC0xMDksNyArMTA5LDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9zaXpl
ID0gY29kZWNTZXR0aW5ncy0+d2lkdGggKiBjb2RlY1NldHRpbmdzLT5oZWlnaHQgKiAzOwogICAg
ICAgICBtX2VuY29kZWRGcmFtZS5fYnVmZmVyID0gbmV3IHVpbnQ4X3RbbV9lbmNvZGVkRnJhbWUu
X3NpemVdOwotICAgICAgICBlbmNvZGVkX2ltYWdlX2J1ZmZlcl8ucmVzZXQobV9lbmNvZGVkRnJh
bWUuX2J1ZmZlcik7CisgICAgICAgIG1fZW5jb2RlZEltYWdlQnVmZmVyLnJlc2V0KG1fZW5jb2Rl
ZEZyYW1lLl9idWZmZXIpOwogICAgICAgICBtX2VuY29kZWRGcmFtZS5fY29tcGxldGVGcmFtZSA9
IHRydWU7CiAgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9lbmNvZGVkV2lkdGggPSAwOwogICAgICAg
ICBtX2VuY29kZWRGcmFtZS5fZW5jb2RlZEhlaWdodCA9IDA7CkBAIC0xNTksNyArMTU5LDcgQEAg
cHVibGljOgogICAgIGludDMyX3QgUmVsZWFzZSgpIGZpbmFsCiAgICAgewogICAgICAgICBtX2Vu
Y29kZWRGcmFtZS5fYnVmZmVyID0gbnVsbHB0cjsKLSAgICAgICAgZW5jb2RlZF9pbWFnZV9idWZm
ZXJfLnJlc2V0KCk7CisgICAgICAgIG1fZW5jb2RlZEltYWdlQnVmZmVyLnJlc2V0KCk7CiAgICAg
ICAgIEdSZWZQdHI8R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMo
R1NUX1BJUEVMSU5FKG1fcGlwZWxpbmUuZ2V0KCkpKSk7CiAgICAgICAgIGdzdF9idXNfc2V0X3N5
bmNfaGFuZGxlcihidXMuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpOwogCkBAIC0y
MzAsNyArMjMwLDcgQEAgcHVibGljOgogICAgICAgICBhdXRvIGNhcHMgPSBnc3Rfc2FtcGxlX2dl
dF9jYXBzKHNhbXBsZS5nZXQoKSk7CiAKICAgICAgICAgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9u
SGVhZGVyIGZyYWdtZW50YXRpb25JbmZvOwotICAgICAgICBGcmFnbWVudGl6ZSgmbV9lbmNvZGVk
RnJhbWUsICZlbmNvZGVkX2ltYWdlX2J1ZmZlcl8sIGJ1ZmZlciwgJmZyYWdtZW50YXRpb25JbmZv
KTsKKyAgICAgICAgRnJhZ21lbnRpemUoJm1fZW5jb2RlZEZyYW1lLCAmbV9lbmNvZGVkSW1hZ2VC
dWZmZXIsICZtX2VuY29kZWRJbWFnZUJ1ZmZlclNpemUsIGJ1ZmZlciwgJmZyYWdtZW50YXRpb25J
bmZvKTsKICAgICAgICAgaWYgKCFtX2VuY29kZWRGcmFtZS5fc2l6ZSkKICAgICAgICAgICAgIHJl
dHVybiBHU1RfRkxPV19PSzsKIApAQCAtMjQ5LDEyICsyNDksOCBAQCBwdWJsaWM6CiAgICAgICAg
IFBvcHVsYXRlQ29kZWNTcGVjaWZpYygmY29kZWNTcGVjaWZpSW5mb3MsIGJ1ZmZlcik7CiAKICAg
ICAgICAgd2VicnRjOjpFbmNvZGVkSW1hZ2VDYWxsYmFjazo6UmVzdWx0IHJlc3VsdCA9IG1faW1h
Z2VSZWFkeUNiLT5PbkVuY29kZWRJbWFnZShtX2VuY29kZWRGcmFtZSwgJmNvZGVjU3BlY2lmaUlu
Zm9zLCAmZnJhZ21lbnRhdGlvbkluZm8pOwotICAgICAgICBpZiAocmVzdWx0LmVycm9yICE9IHdl
YnJ0Yzo6RW5jb2RlZEltYWdlQ2FsbGJhY2s6OlJlc3VsdDo6T0spIHsKLSAgICAgICAgICAgIEdT
VF9FTEVNRU5UX0VSUk9SKG1fcGlwZWxpbmUuZ2V0KCksIExJQlJBUlksIEZBSUxFRCwgKG51bGxw
dHIpLAotICAgICAgICAgICAgICAgICgiRW5jb2RlIGNhbGxiYWNrIGZhaWxlZDogJWQiLCByZXN1
bHQuZXJyb3IpKTsKLQotICAgICAgICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOwotICAgICAg
ICB9CisgICAgICAgIGlmIChyZXN1bHQuZXJyb3IgIT0gd2VicnRjOjpFbmNvZGVkSW1hZ2VDYWxs
YmFjazo6UmVzdWx0OjpPSykKKyAgICAgICAgICAgIEdTVF9FUlJPUl9PQkpFQ1QobV9waXBlbGlu
ZS5nZXQoKSwgIkVuY29kZSBjYWxsYmFjayBmYWlsZWQ6ICVkIiwgcmVzdWx0LmVycm9yKTsKIAog
ICAgICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CiAgICAgfQpAQCAtMzU5LDI1ICszNTUsMjkgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIFBvcHVsYXRlQ29kZWNTcGVjaWZpYyh3ZWJydGM6
OkNvZGVjU3BlY2lmaWNJbmZvKiwgR3N0QnVmZmVyKikgPSAwOwogCi0gICAgdmlydHVhbCB2b2lk
IEZyYWdtZW50aXplKHdlYnJ0Yzo6RW5jb2RlZEltYWdlKiBlbmNvZGVkSW1hZ2UsIHN0ZDo6dW5p
cXVlX3B0cjx1aW50OF90W10+KiBlbmNvZGVkX2ltYWdlX2J1ZmZlciwgR3N0QnVmZmVyKiBidWZm
ZXIsCi0gICAgICAgIHdlYnJ0Yzo6UlRQRnJhZ21lbnRhdGlvbkhlYWRlciogZnJhZ21lbnRhdGlv
bkluZm8pCisgICAgdmlydHVhbCB2b2lkIEZyYWdtZW50aXplKHdlYnJ0Yzo6RW5jb2RlZEltYWdl
KiBlbmNvZGVkSW1hZ2UsIHN0ZDo6dW5pcXVlX3B0cjx1aW50OF90W10+KiBlbmNvZGVkSW1hZ2VC
dWZmZXIsCisgICAgICAgIHNpemVfdCogYnVmZmVyU2l6ZSwgR3N0QnVmZmVyKiBidWZmZXIsIHdl
YnJ0Yzo6UlRQRnJhZ21lbnRhdGlvbkhlYWRlciogZnJhZ21lbnRhdGlvbkluZm8pCiAgICAgewog
ICAgICAgICBHc3RNYXBJbmZvIG1hcDsKIAogICAgICAgICBnc3RfYnVmZmVyX21hcChidWZmZXIs
ICZtYXAsIEdTVF9NQVBfUkVBRCk7Ci0gICAgICAgIGlmIChlbmNvZGVkSW1hZ2UtPl9zaXplIDwg
bWFwLnNpemUpIHsKKyAgICAgICAgaWYgKCpidWZmZXJTaXplIDwgbWFwLnNpemUpIHsKICAgICAg
ICAgICAgIGVuY29kZWRJbWFnZS0+X3NpemUgPSBtYXAuc2l6ZTsKICAgICAgICAgICAgIGVuY29k
ZWRJbWFnZS0+X2J1ZmZlciA9IG5ldyB1aW50OF90W2VuY29kZWRJbWFnZS0+X3NpemVdOwotICAg
ICAgICAgICAgZW5jb2RlZF9pbWFnZV9idWZmZXItPnJlc2V0KGVuY29kZWRJbWFnZS0+X2J1ZmZl
cik7Ci0gICAgICAgICAgICBtZW1jcHkoZW5jb2RlZEltYWdlLT5fYnVmZmVyLCBtYXAuZGF0YSwg
bWFwLnNpemUpOworICAgICAgICAgICAgZW5jb2RlZEltYWdlQnVmZmVyLT5yZXNldChlbmNvZGVk
SW1hZ2UtPl9idWZmZXIpOworICAgICAgICAgICAgKmJ1ZmZlclNpemUgPSBtYXAuc2l6ZTsKICAg
ICAgICAgfQotICAgICAgICBnc3RfYnVmZmVyX3VubWFwKGJ1ZmZlciwgJm1hcCk7CisKKyAgICAg
ICAgbWVtY3B5KGVuY29kZWRJbWFnZS0+X2J1ZmZlciwgbWFwLmRhdGEsIG1hcC5zaXplKTsKKyAg
ICAgICAgZW5jb2RlZEltYWdlLT5fbGVuZ3RoID0gbWFwLnNpemU7CisgICAgICAgIGVuY29kZWRJ
bWFnZS0+X3NpemUgPSBtYXAuc2l6ZTsKIAogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+VmVy
aWZ5QW5kQWxsb2NhdGVGcmFnbWVudGF0aW9uSGVhZGVyKDEpOwogICAgICAgICBmcmFnbWVudGF0
aW9uSW5mby0+ZnJhZ21lbnRhdGlvbk9mZnNldFswXSA9IDA7Ci0gICAgICAgIGZyYWdtZW50YXRp
b25JbmZvLT5mcmFnbWVudGF0aW9uTGVuZ3RoWzBdID0gZ3N0X2J1ZmZlcl9nZXRfc2l6ZShidWZm
ZXIpOworICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+ZnJhZ21lbnRhdGlvbkxlbmd0aFswXSA9
IG1hcC5zaXplOwogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+ZnJhZ21lbnRhdGlvblBsVHlw
ZVswXSA9IDA7CiAgICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5mcmFnbWVudGF0aW9uVGltZURp
ZmZbMF0gPSAwOworICAgICAgICBnc3RfYnVmZmVyX3VubWFwKGJ1ZmZlciwgJm1hcCk7CiAgICAg
fQogCiAgICAgY29uc3QgY2hhciogSW1wbGVtZW50YXRpb25OYW1lKCkgY29uc3QKQEAgLTM5Miw3
ICszOTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBTZXRSZXN0cmljdGlvbkNhcHMoR1JlZlB0cjxH
c3RDYXBzPiBjYXBzKQogICAgIHsKICAgICAgICAgaWYgKGNhcHMgJiYgbV9wcm9maWxlLmdldCgp
ICYmIGdzdF9jYXBzX2lzX2VxdWFsKG1fcmVzdHJpY3Rpb25DYXBzLmdldCgpLCBjYXBzLmdldCgp
KSkKLSAgICAgICAgICAgIGdfb2JqZWN0X3NldChtX3Byb2ZpbGUuZ2V0KCksICJyZXN0cmljdGlv
bi1jYXBzIiwgY2FwcywgbnVsbHB0cik7CisgICAgICAgICAgICBnX29iamVjdF9zZXQobV9wcm9m
aWxlLmdldCgpLCAicmVzdHJpY3Rpb24tY2FwcyIsIGNhcHMuZ2V0KCksIG51bGxwdHIpOwogCiAg
ICAgICAgIG1fcmVzdHJpY3Rpb25DYXBzID0gY2FwczsKICAgICB9CkBAIC00MTMsNyArNDEzLDgg
QEAgcHJpdmF0ZToKICAgICBHUmVmUHRyPEdzdEVuY29kaW5nUHJvZmlsZT4gbV9wcm9maWxlOwog
ICAgIEJpdHJhdGVTZXR0ZXIgbV9iaXRyYXRlU2V0dGVyOwogICAgIHdlYnJ0Yzo6RW5jb2RlZElt
YWdlIG1fZW5jb2RlZEZyYW1lOwotICAgIHN0ZDo6dW5pcXVlX3B0cjx1aW50OF90W10+IGVuY29k
ZWRfaW1hZ2VfYnVmZmVyXzsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8dWludDhfdFtdPiBtX2VuY29k
ZWRJbWFnZUJ1ZmZlcjsKKyAgICBzaXplX3QgbV9lbmNvZGVkSW1hZ2VCdWZmZXJTaXplOwogfTsK
IAogY2xhc3MgSDI2NEVuY29kZXIgOiBwdWJsaWMgR1N0cmVhbWVyVmlkZW9FbmNvZGVyIHsKQEAg
LTQzMSw3ICs0MzIsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gRklYTUUgLSBNVC4gc2Fm
ZXR5IQotICAgIHZvaWQgRnJhZ21lbnRpemUod2VicnRjOjpFbmNvZGVkSW1hZ2UqIGVuY29kZWRJ
bWFnZSwgc3RkOjp1bmlxdWVfcHRyPHVpbnQ4X3RbXT4qIGVuY29kZWRfaW1hZ2VfYnVmZmVyLAor
ICAgIHZvaWQgRnJhZ21lbnRpemUod2VicnRjOjpFbmNvZGVkSW1hZ2UqIGVuY29kZWRJbWFnZSwg
c3RkOjp1bmlxdWVfcHRyPHVpbnQ4X3RbXT4qIGVuY29kZWRJbWFnZUJ1ZmZlciwgc2l6ZV90ICpi
dWZmZXJTaXplLAogICAgICAgICBHc3RCdWZmZXIqIGdzdGJ1ZmZlciwgd2VicnRjOjpSVFBGcmFn
bWVudGF0aW9uSGVhZGVyKiBmcmFnbWVudGF0aW9uSGVhZGVyKSBmaW5hbAogICAgIHsKICAgICAg
ICAgR3N0TWFwSW5mbyBtYXA7CkBAIC00NjEsNyArNDYyLDggQEAgcHVibGljOgogICAgICAgICBp
ZiAoZW5jb2RlZEltYWdlLT5fc2l6ZSA8IHJlcXVpcmVkU2l6ZSkgewogICAgICAgICAgICAgZW5j
b2RlZEltYWdlLT5fc2l6ZSA9IHJlcXVpcmVkU2l6ZTsKICAgICAgICAgICAgIGVuY29kZWRJbWFn
ZS0+X2J1ZmZlciA9IG5ldyB1aW50OF90W2VuY29kZWRJbWFnZS0+X3NpemVdOwotICAgICAgICAg
ICAgZW5jb2RlZF9pbWFnZV9idWZmZXItPnJlc2V0KGVuY29kZWRJbWFnZS0+X2J1ZmZlcik7Cisg
ICAgICAgICAgICBlbmNvZGVkSW1hZ2VCdWZmZXItPnJlc2V0KGVuY29kZWRJbWFnZS0+X2J1ZmZl
cik7CisgICAgICAgICAgICAqYnVmZmVyU2l6ZSA9IG1hcC5zaXplOwogICAgICAgICB9CiAKICAg
ICAgICAgLy8gSXRlcmF0ZSBuYWwgdW5pdHMgYW5kIGZpbGwgdGhlIEZyYWdtZW50YXRpb24gaW5m
by4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350746</attachid>
            <date>2018-09-25 04:56:23 -0700</date>
            <delta_ts>2018-09-25 05:33:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189921-20180925085622.patch</filename>
            <type>text/plain</type>
            <size>10794</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjJkZjlhMWNlNGYzYTZk
N2I4ZmE4Yjc2MWE2NDg0NDc2Mzk1NzMxNC4uZDM2ZjY0ZTI3NWZiZWY4ZTc5MGE4MWY5YjhjY2Nj
MDU1NmRjZGI5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTA5LTI0ICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtHVEtd
W1dlYlJUQ10gRml4dXAgVlA4IGVuY29kaW5nIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTkyMQorCisgICAgICAgIFByZXZpb3VzIGxl
YWsgZml4aW5nIGNvbW1pdCBpbnRyb2R1Y2VkIGEgcmVncmVzc2lvbiBpbgorICAgICAgICB0aGUg
d2F5IHRoZSBlbmNvZGVkIGJ1ZmZlciB3ZXJlIHByZXBhcmVkIGluIHRoZSBkZWZhdWx0CisgICAg
ICAgIEdTdHJlYW1lclZpZGVvRW5jb2Rlcjo6RnJhZ21lbnRpemUgaW1wbGVtZW50YXRpb24gKHdo
ZW4KKyAgICAgICAgZW5jb2Rpbmcgd2l0aCBWUDggYmFzaWNhbGx5KS4KKworICAgICAgICArIEZp
eCBhIGJ1aWxkIHdhcm5pbmcgaW4gdGhlIGRlY29kZXIuCisgICAgICAgICsgRml4IHNvbWUgd3Jv
bmcgb2JqZWN0IGZpZWxkIG5hbWluZ3MuCisgICAgICAgICsgUHJvcGVybHkgbW92ZSB0aGUgY2Fw
cyByZWZlcmVuY2Ugd2hlbiBzZXR0aW5nIHJlc3RyaWN0aW9uIGNhcHMuCisgICAgICAgICsgQW5k
IGRvIG5vdCByYWlzZSBhIEdTdHJlYW1lciBlcnJvciB3aGVuIEdTdHJlYW5lclZpZGVvRW5jbGRl
cjo6T25FbmNvZGVkSW1hZ2UKKyAgICAgICAgICBmYWlscyAtIHRoaXMgbWlnaHQgYmUgYSBuZXR3
b3JrIGlzc3VlIGFuZCBvdGhlciBlbmNvZGVycyBkbyBub3QgY29uc2lkZXIgdGhhdAorICAgICAg
ICAgIGZhdGFsLgorICAgICAgICArIFVzZSBHc3RNYXBwZWRCdWZmZXIgd2hlcmUgYXBwcm9wcmlh
dGUuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9y
eS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1l
clZpZGVvRW5jb2RlckZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVyVmlk
ZW9FbmNvZGVyOjpJbml0RW5jb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVv
RW5jb2Rlcjo6bmV3U2FtcGxlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVy
VmlkZW9FbmNvZGVyOjpGcmFnbWVudGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFtZXJW
aWRlb0VuY29kZXI6OlNldFJlc3RyaWN0aW9uQ2Fwcyk6CisKIDIwMTgtMDktMjAgIFRoaWJhdWx0
IFNhdW5pZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdW0dUS11bV2Vi
UlRDXSBGaXggbGVha3MgaW4gdGhlIGxpYndlYnJ0YyBEZWNvZGVyIGFuZCBFbmNvZGVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0
cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5jcHAKaW5k
ZXggZGRlYjRkNzdmYTMyMzA5MjQ0ZGFmYmI2MmVhY2U4MmRiOGQ5ZGQ0Yi4uODg2NjFkODJlOWFj
NjA3YzE1YmRkNzZhNzc1MzJkNmJhYWNiMWNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3Rv
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9HU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5LmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHB1
YmxpYzoKICAgICAgICAgR1NUX0JVRkZFUl9QVFMoYnVmZmVyLmdldCgpKSA9IChzdGF0aWNfY2Fz
dDxndWludDY0PihyZW5kZXJUaW1lTXMpICogR1NUX01TRUNPTkQpIC0gbV9maXJzdEJ1ZmZlclB0
czsKICAgICAgICAgbV9kdHNQdHNNYXBbR1NUX0JVRkZFUl9QVFMoYnVmZmVyLmdldCgpKV0gPSBp
bnB1dEltYWdlLl90aW1lU3RhbXA7CiAKLSAgICAgICAgR1NUX0xPR19PQkpFQ1QocGlwZWxpbmUo
KSwgIiVsZCBEZWNvZGluZzogJSIgR1NUX1BUUl9GT1JNQVQsIHJlbmRlclRpbWVNcywgYnVmZmVy
KTsKKyAgICAgICAgR1NUX0xPR19PQkpFQ1QocGlwZWxpbmUoKSwgIiVsZCBEZWNvZGluZzogJSIg
R1NUX1BUUl9GT1JNQVQsIHJlbmRlclRpbWVNcywgYnVmZmVyLmdldCgpKTsKICAgICAgICAgYXV0
byBzYW1wbGUgPSBhZG9wdEdSZWYoZ3N0X3NhbXBsZV9uZXcoYnVmZmVyLmdldCgpLCBHZXRDYXBz
Rm9yRnJhbWUoaW5wdXRJbWFnZSksIG51bGxwdHIsIG51bGxwdHIpKTsKICAgICAgICAgc3dpdGNo
IChnc3RfYXBwX3NyY19wdXNoX3NhbXBsZShHU1RfQVBQX1NSQyhtX3NyYyksIHNhbXBsZS5nZXQo
KSkpIHsKICAgICAgICAgY2FzZSBHU1RfRkxPV19PSzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0VuY29kZXJG
YWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9HU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5LmNwcAppbmRleCBiYzc2OTgxZjEzNGFjOGRj
YzdlNWQzYjMxMGJjYzIxMWU4OTFjOWNkLi41MmQ0MjQ0MDc3Y2MzYTgzY2YzNTRlMmUxMjczOTEx
Mzk3YjkwNGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRW5j
b2RlckZhY3RvcnkuY3BwCkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICAgICAgYXV0byBj
YXBzID0gYWRvcHRHUmVmKGdzdF9jYXBzX2NvcHkobV9yZXN0cmljdGlvbkNhcHMuZ2V0KCkpKTsK
ICAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZShjYXBzLmdldCgpLCAiZnJhbWVyYXRlIiwgR1NU
X1RZUEVfRlJBQ1RJT04sIGZyYW1lUmF0ZSwgMSwgbnVsbHB0cik7CiAKLSAgICAgICAgU2V0UmVz
dHJpY3Rpb25DYXBzKGNhcHMpOworICAgICAgICBTZXRSZXN0cmljdGlvbkNhcHMoV1RGTW92ZShj
YXBzKSk7CiAKICAgICAgICAgaWYgKG1fYml0cmF0ZVNldHRlciAmJiBtX2VuY29kZXIpCiAgICAg
ICAgICAgICBtX2JpdHJhdGVTZXR0ZXIobV9lbmNvZGVyLCBuZXdCaXRyYXRlKTsKQEAgLTEwOSw3
ICsxMDksNyBAQCBwdWJsaWM6CiAKICAgICAgICAgbV9lbmNvZGVkRnJhbWUuX3NpemUgPSBjb2Rl
Y1NldHRpbmdzLT53aWR0aCAqIGNvZGVjU2V0dGluZ3MtPmhlaWdodCAqIDM7CiAgICAgICAgIG1f
ZW5jb2RlZEZyYW1lLl9idWZmZXIgPSBuZXcgdWludDhfdFttX2VuY29kZWRGcmFtZS5fc2l6ZV07
Ci0gICAgICAgIGVuY29kZWRfaW1hZ2VfYnVmZmVyXy5yZXNldChtX2VuY29kZWRGcmFtZS5fYnVm
ZmVyKTsKKyAgICAgICAgbV9lbmNvZGVkSW1hZ2VCdWZmZXIucmVzZXQobV9lbmNvZGVkRnJhbWUu
X2J1ZmZlcik7CiAgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9jb21wbGV0ZUZyYW1lID0gdHJ1ZTsK
ICAgICAgICAgbV9lbmNvZGVkRnJhbWUuX2VuY29kZWRXaWR0aCA9IDA7CiAgICAgICAgIG1fZW5j
b2RlZEZyYW1lLl9lbmNvZGVkSGVpZ2h0ID0gMDsKQEAgLTE1OSw3ICsxNTksNyBAQCBwdWJsaWM6
CiAgICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWwKICAgICB7CiAgICAgICAgIG1fZW5jb2RlZEZy
YW1lLl9idWZmZXIgPSBudWxscHRyOwotICAgICAgICBlbmNvZGVkX2ltYWdlX2J1ZmZlcl8ucmVz
ZXQoKTsKKyAgICAgICAgbV9lbmNvZGVkSW1hZ2VCdWZmZXIucmVzZXQoKTsKICAgICAgICAgR1Jl
ZlB0cjxHc3RCdXM+IGJ1cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQ
RUxJTkUobV9waXBlbGluZS5nZXQoKSkpKTsKICAgICAgICAgZ3N0X2J1c19zZXRfc3luY19oYW5k
bGVyKGJ1cy5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cik7CiAKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGF1dG8gY2FwcyA9IGdzdF9zYW1wbGVfZ2V0X2NhcHMo
c2FtcGxlLmdldCgpKTsKIAogICAgICAgICB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIg
ZnJhZ21lbnRhdGlvbkluZm87Ci0gICAgICAgIEZyYWdtZW50aXplKCZtX2VuY29kZWRGcmFtZSwg
JmVuY29kZWRfaW1hZ2VfYnVmZmVyXywgYnVmZmVyLCAmZnJhZ21lbnRhdGlvbkluZm8pOworICAg
ICAgICBGcmFnbWVudGl6ZSgmbV9lbmNvZGVkRnJhbWUsICZtX2VuY29kZWRJbWFnZUJ1ZmZlciwg
Jm1fZW5jb2RlZEltYWdlQnVmZmVyU2l6ZSwgYnVmZmVyLCAmZnJhZ21lbnRhdGlvbkluZm8pOwog
ICAgICAgICBpZiAoIW1fZW5jb2RlZEZyYW1lLl9zaXplKQogICAgICAgICAgICAgcmV0dXJuIEdT
VF9GTE9XX09LOwogCkBAIC0yNDksMTIgKzI0OSw4IEBAIHB1YmxpYzoKICAgICAgICAgUG9wdWxh
dGVDb2RlY1NwZWNpZmljKCZjb2RlY1NwZWNpZmlJbmZvcywgYnVmZmVyKTsKIAogICAgICAgICB3
ZWJydGM6OkVuY29kZWRJbWFnZUNhbGxiYWNrOjpSZXN1bHQgcmVzdWx0ID0gbV9pbWFnZVJlYWR5
Q2ItPk9uRW5jb2RlZEltYWdlKG1fZW5jb2RlZEZyYW1lLCAmY29kZWNTcGVjaWZpSW5mb3MsICZm
cmFnbWVudGF0aW9uSW5mbyk7Ci0gICAgICAgIGlmIChyZXN1bHQuZXJyb3IgIT0gd2VicnRjOjpF
bmNvZGVkSW1hZ2VDYWxsYmFjazo6UmVzdWx0OjpPSykgewotICAgICAgICAgICAgR1NUX0VMRU1F
TlRfRVJST1IobV9waXBlbGluZS5nZXQoKSwgTElCUkFSWSwgRkFJTEVELCAobnVsbHB0ciksCi0g
ICAgICAgICAgICAgICAgKCJFbmNvZGUgY2FsbGJhY2sgZmFpbGVkOiAlZCIsIHJlc3VsdC5lcnJv
cikpOwotCi0gICAgICAgICAgICByZXR1cm4gR1NUX0ZMT1dfRVJST1I7Ci0gICAgICAgIH0KKyAg
ICAgICAgaWYgKHJlc3VsdC5lcnJvciAhPSB3ZWJydGM6OkVuY29kZWRJbWFnZUNhbGxiYWNrOjpS
ZXN1bHQ6Ok9LKQorICAgICAgICAgICAgR1NUX0VSUk9SX09CSkVDVChtX3BpcGVsaW5lLmdldCgp
LCAiRW5jb2RlIGNhbGxiYWNrIGZhaWxlZDogJWQiLCByZXN1bHQuZXJyb3IpOwogCiAgICAgICAg
IHJldHVybiBHU1RfRkxPV19PSzsKICAgICB9CkBAIC0zNTksMjMgKzM1NSwyNSBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgUG9wdWxhdGVDb2RlY1NwZWNpZmljKHdlYnJ0Yzo6Q29kZWNT
cGVjaWZpY0luZm8qLCBHc3RCdWZmZXIqKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgRnJhZ21l
bnRpemUod2VicnRjOjpFbmNvZGVkSW1hZ2UqIGVuY29kZWRJbWFnZSwgc3RkOjp1bmlxdWVfcHRy
PHVpbnQ4X3RbXT4qIGVuY29kZWRfaW1hZ2VfYnVmZmVyLCBHc3RCdWZmZXIqIGJ1ZmZlciwKLSAg
ICAgICAgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVhZGVyKiBmcmFnbWVudGF0aW9uSW5mbykK
KyAgICB2aXJ0dWFsIHZvaWQgRnJhZ21lbnRpemUod2VicnRjOjpFbmNvZGVkSW1hZ2UqIGVuY29k
ZWRJbWFnZSwgc3RkOjp1bmlxdWVfcHRyPHVpbnQ4X3RbXT4qIGVuY29kZWRJbWFnZUJ1ZmZlciwK
KyAgICAgICAgc2l6ZV90KiBidWZmZXJTaXplLCBHc3RCdWZmZXIqIGJ1ZmZlciwgd2VicnRjOjpS
VFBGcmFnbWVudGF0aW9uSGVhZGVyKiBmcmFnbWVudGF0aW9uSW5mbykKICAgICB7Ci0gICAgICAg
IEdzdE1hcEluZm8gbWFwOworICAgICAgICBHc3RNYXBwZWRCdWZmZXIgbWFwKGJ1ZmZlciwgR1NU
X01BUF9SRUFEKTsKIAotICAgICAgICBnc3RfYnVmZmVyX21hcChidWZmZXIsICZtYXAsIEdTVF9N
QVBfUkVBRCk7Ci0gICAgICAgIGlmIChlbmNvZGVkSW1hZ2UtPl9zaXplIDwgbWFwLnNpemUpIHsK
LSAgICAgICAgICAgIGVuY29kZWRJbWFnZS0+X3NpemUgPSBtYXAuc2l6ZTsKKyAgICAgICAgaWYg
KCpidWZmZXJTaXplIDwgbWFwLnNpemUoKSkgeworICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5f
c2l6ZSA9IG1hcC5zaXplKCk7CiAgICAgICAgICAgICBlbmNvZGVkSW1hZ2UtPl9idWZmZXIgPSBu
ZXcgdWludDhfdFtlbmNvZGVkSW1hZ2UtPl9zaXplXTsKLSAgICAgICAgICAgIGVuY29kZWRfaW1h
Z2VfYnVmZmVyLT5yZXNldChlbmNvZGVkSW1hZ2UtPl9idWZmZXIpOwotICAgICAgICAgICAgbWVt
Y3B5KGVuY29kZWRJbWFnZS0+X2J1ZmZlciwgbWFwLmRhdGEsIG1hcC5zaXplKTsKKyAgICAgICAg
ICAgIGVuY29kZWRJbWFnZUJ1ZmZlci0+cmVzZXQoZW5jb2RlZEltYWdlLT5fYnVmZmVyKTsKKyAg
ICAgICAgICAgICpidWZmZXJTaXplID0gbWFwLnNpemUoKTsKICAgICAgICAgfQotICAgICAgICBn
c3RfYnVmZmVyX3VubWFwKGJ1ZmZlciwgJm1hcCk7CisKKyAgICAgICAgbWVtY3B5KGVuY29kZWRJ
bWFnZS0+X2J1ZmZlciwgbWFwLmRhdGEoKSwgbWFwLnNpemUoKSk7CisgICAgICAgIGVuY29kZWRJ
bWFnZS0+X2xlbmd0aCA9IG1hcC5zaXplKCk7CisgICAgICAgIGVuY29kZWRJbWFnZS0+X3NpemUg
PSBtYXAuc2l6ZSgpOwogCiAgICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5WZXJpZnlBbmRBbGxv
Y2F0ZUZyYWdtZW50YXRpb25IZWFkZXIoMSk7CiAgICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5m
cmFnbWVudGF0aW9uT2Zmc2V0WzBdID0gMDsKLSAgICAgICAgZnJhZ21lbnRhdGlvbkluZm8tPmZy
YWdtZW50YXRpb25MZW5ndGhbMF0gPSBnc3RfYnVmZmVyX2dldF9zaXplKGJ1ZmZlcik7CisgICAg
ICAgIGZyYWdtZW50YXRpb25JbmZvLT5mcmFnbWVudGF0aW9uTGVuZ3RoWzBdID0gbWFwLnNpemUo
KTsKICAgICAgICAgZnJhZ21lbnRhdGlvbkluZm8tPmZyYWdtZW50YXRpb25QbFR5cGVbMF0gPSAw
OwogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+ZnJhZ21lbnRhdGlvblRpbWVEaWZmWzBdID0g
MDsKICAgICB9CkBAIC0zOTIsNyArMzkwLDcgQEAgcHVibGljOgogICAgIHZvaWQgU2V0UmVzdHJp
Y3Rpb25DYXBzKEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcykKICAgICB7CiAgICAgICAgIGlmIChjYXBz
ICYmIG1fcHJvZmlsZS5nZXQoKSAmJiBnc3RfY2Fwc19pc19lcXVhbChtX3Jlc3RyaWN0aW9uQ2Fw
cy5nZXQoKSwgY2Fwcy5nZXQoKSkpCi0gICAgICAgICAgICBnX29iamVjdF9zZXQobV9wcm9maWxl
LmdldCgpLCAicmVzdHJpY3Rpb24tY2FwcyIsIGNhcHMsIG51bGxwdHIpOworICAgICAgICAgICAg
Z19vYmplY3Rfc2V0KG1fcHJvZmlsZS5nZXQoKSwgInJlc3RyaWN0aW9uLWNhcHMiLCBjYXBzLmdl
dCgpLCBudWxscHRyKTsKIAogICAgICAgICBtX3Jlc3RyaWN0aW9uQ2FwcyA9IGNhcHM7CiAgICAg
fQpAQCAtNDEzLDcgKzQxMSw4IEBAIHByaXZhdGU6CiAgICAgR1JlZlB0cjxHc3RFbmNvZGluZ1By
b2ZpbGU+IG1fcHJvZmlsZTsKICAgICBCaXRyYXRlU2V0dGVyIG1fYml0cmF0ZVNldHRlcjsKICAg
ICB3ZWJydGM6OkVuY29kZWRJbWFnZSBtX2VuY29kZWRGcmFtZTsKLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8dWludDhfdFtdPiBlbmNvZGVkX2ltYWdlX2J1ZmZlcl87CisgICAgc3RkOjp1bmlxdWVfcHRy
PHVpbnQ4X3RbXT4gbV9lbmNvZGVkSW1hZ2VCdWZmZXI7CisgICAgc2l6ZV90IG1fZW5jb2RlZElt
YWdlQnVmZmVyU2l6ZTsKIH07CiAKIGNsYXNzIEgyNjRFbmNvZGVyIDogcHVibGljIEdTdHJlYW1l
clZpZGVvRW5jb2RlciB7CkBAIC00MzEsMTAgKzQzMCw5IEBAIHB1YmxpYzoKICAgICB9CiAKICAg
ICAvLyBGSVhNRSAtIE1ULiBzYWZldHkhCi0gICAgdm9pZCBGcmFnbWVudGl6ZSh3ZWJydGM6OkVu
Y29kZWRJbWFnZSogZW5jb2RlZEltYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8dWludDhfdFtdPiogZW5j
b2RlZF9pbWFnZV9idWZmZXIsCisgICAgdm9pZCBGcmFnbWVudGl6ZSh3ZWJydGM6OkVuY29kZWRJ
bWFnZSogZW5jb2RlZEltYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8dWludDhfdFtdPiogZW5jb2RlZElt
YWdlQnVmZmVyLCBzaXplX3QgKmJ1ZmZlclNpemUsCiAgICAgICAgIEdzdEJ1ZmZlciogZ3N0YnVm
ZmVyLCB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqIGZyYWdtZW50YXRpb25IZWFkZXIp
IGZpbmFsCiAgICAgewotICAgICAgICBHc3RNYXBJbmZvIG1hcDsKICAgICAgICAgR3N0SDI2NE5h
bFVuaXQgbmFsdTsKICAgICAgICAgYXV0byBwYXJzZXJSZXN1bHQgPSBHU1RfSDI2NF9QQVJTRVJf
T0s7CiAKQEAgLTQ0NCw5ICs0NDIsOSBAQCBwdWJsaWM6CiAgICAgICAgIHN0ZDo6dmVjdG9yPEdz
dEgyNjROYWxVbml0PiBuYWxzOwogCiAgICAgICAgIGNvbnN0IHVpbnQ4X3Qgc3RhcnRDb2RlWzRd
ID0geyAwLCAwLCAwLCAxIH07Ci0gICAgICAgIGdzdF9idWZmZXJfbWFwKGdzdGJ1ZmZlciwgJm1h
cCwgR1NUX01BUF9SRUFEKTsKKyAgICAgICAgR3N0TWFwcGVkQnVmZmVyIG1hcChnc3RidWZmZXIs
IEdTVF9NQVBfUkVBRCk7CiAgICAgICAgIHdoaWxlIChwYXJzZXJSZXN1bHQgPT0gR1NUX0gyNjRf
UEFSU0VSX09LKSB7Ci0gICAgICAgICAgICBwYXJzZXJSZXN1bHQgPSBnc3RfaDI2NF9wYXJzZXJf
aWRlbnRpZnlfbmFsdShtX3BhcnNlciwgbWFwLmRhdGEsIG9mZnNldCwgbWFwLnNpemUsICZuYWx1
KTsKKyAgICAgICAgICAgIHBhcnNlclJlc3VsdCA9IGdzdF9oMjY0X3BhcnNlcl9pZGVudGlmeV9u
YWx1KG1fcGFyc2VyLCBtYXAuZGF0YSgpLCBvZmZzZXQsIG1hcC5zaXplKCksICZuYWx1KTsKIAog
ICAgICAgICAgICAgbmFsdS5zY19vZmZzZXQgPSBvZmZzZXQ7CiAgICAgICAgICAgICBuYWx1Lm9m
ZnNldCA9IG9mZnNldCArIHNpemVvZihzdGFydENvZGUpOwpAQCAtNDYxLDcgKzQ1OSw4IEBAIHB1
YmxpYzoKICAgICAgICAgaWYgKGVuY29kZWRJbWFnZS0+X3NpemUgPCByZXF1aXJlZFNpemUpIHsK
ICAgICAgICAgICAgIGVuY29kZWRJbWFnZS0+X3NpemUgPSByZXF1aXJlZFNpemU7CiAgICAgICAg
ICAgICBlbmNvZGVkSW1hZ2UtPl9idWZmZXIgPSBuZXcgdWludDhfdFtlbmNvZGVkSW1hZ2UtPl9z
aXplXTsKLSAgICAgICAgICAgIGVuY29kZWRfaW1hZ2VfYnVmZmVyLT5yZXNldChlbmNvZGVkSW1h
Z2UtPl9idWZmZXIpOworICAgICAgICAgICAgZW5jb2RlZEltYWdlQnVmZmVyLT5yZXNldChlbmNv
ZGVkSW1hZ2UtPl9idWZmZXIpOworICAgICAgICAgICAgKmJ1ZmZlclNpemUgPSBtYXAuc2l6ZSgp
OwogICAgICAgICB9CiAKICAgICAgICAgLy8gSXRlcmF0ZSBuYWwgdW5pdHMgYW5kIGZpbGwgdGhl
IEZyYWdtZW50YXRpb24gaW5mby4KQEAgLTQ3MCwyMCArNDY5LDE4IEBAIHB1YmxpYzoKICAgICAg
ICAgZW5jb2RlZEltYWdlLT5fbGVuZ3RoID0gMDsKICAgICAgICAgZm9yIChzdGQ6OnZlY3RvcjxH
c3RIMjY0TmFsVW5pdD46Oml0ZXJhdG9yIG5hbCA9IG5hbHMuYmVnaW4oKTsgbmFsICE9IG5hbHMu
ZW5kKCk7ICsrbmFsLCBmcmFnbWVudEluZGV4KyspIHsKIAotICAgICAgICAgICAgQVNTRVJUKG1h
cC5kYXRhW25hbC0+c2Nfb2Zmc2V0ICsgMF0gPT0gc3RhcnRDb2RlWzBdKTsKLSAgICAgICAgICAg
IEFTU0VSVChtYXAuZGF0YVtuYWwtPnNjX29mZnNldCArIDFdID09IHN0YXJ0Q29kZVsxXSk7Ci0g
ICAgICAgICAgICBBU1NFUlQobWFwLmRhdGFbbmFsLT5zY19vZmZzZXQgKyAyXSA9PSBzdGFydENv
ZGVbMl0pOwotICAgICAgICAgICAgQVNTRVJUKG1hcC5kYXRhW25hbC0+c2Nfb2Zmc2V0ICsgM10g
PT0gc3RhcnRDb2RlWzNdKTsKKyAgICAgICAgICAgIEFTU0VSVChtYXAuZGF0YSgpW25hbC0+c2Nf
b2Zmc2V0ICsgMF0gPT0gc3RhcnRDb2RlWzBdKTsKKyAgICAgICAgICAgIEFTU0VSVChtYXAuZGF0
YSgpW25hbC0+c2Nfb2Zmc2V0ICsgMV0gPT0gc3RhcnRDb2RlWzFdKTsKKyAgICAgICAgICAgIEFT
U0VSVChtYXAuZGF0YSgpW25hbC0+c2Nfb2Zmc2V0ICsgMl0gPT0gc3RhcnRDb2RlWzJdKTsKKyAg
ICAgICAgICAgIEFTU0VSVChtYXAuZGF0YSgpW25hbC0+c2Nfb2Zmc2V0ICsgM10gPT0gc3RhcnRD
b2RlWzNdKTsKIAogICAgICAgICAgICAgZnJhZ21lbnRhdGlvbkhlYWRlci0+ZnJhZ21lbnRhdGlv
bk9mZnNldFtmcmFnbWVudEluZGV4XSA9IG5hbC0+b2Zmc2V0OwogICAgICAgICAgICAgZnJhZ21l
bnRhdGlvbkhlYWRlci0+ZnJhZ21lbnRhdGlvbkxlbmd0aFtmcmFnbWVudEluZGV4XSA9IG5hbC0+
c2l6ZTsKIAotICAgICAgICAgICAgbWVtY3B5KGVuY29kZWRJbWFnZS0+X2J1ZmZlciArIGVuY29k
ZWRJbWFnZS0+X2xlbmd0aCwgJm1hcC5kYXRhW25hbC0+c2Nfb2Zmc2V0XSwKKyAgICAgICAgICAg
IG1lbWNweShlbmNvZGVkSW1hZ2UtPl9idWZmZXIgKyBlbmNvZGVkSW1hZ2UtPl9sZW5ndGgsICZt
YXAuZGF0YSgpW25hbC0+c2Nfb2Zmc2V0XSwKICAgICAgICAgICAgICAgICBzaXplb2Yoc3RhcnRD
b2RlKSArIG5hbC0+c2l6ZSk7CiAgICAgICAgICAgICBlbmNvZGVkSW1hZ2UtPl9sZW5ndGggKz0g
bmFsLT5zaXplICsgc2l6ZW9mKHN0YXJ0Q29kZSk7CiAgICAgICAgIH0KLQotICAgICAgICBnc3Rf
YnVmZmVyX3VubWFwKGdzdGJ1ZmZlciwgJm1hcCk7CiAgICAgfQogCiAgICAgR3N0RWxlbWVudCog
Q3JlYXRlRmlsdGVyKCkgZmluYWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350748</attachid>
            <date>2018-09-25 05:33:22 -0700</date>
            <delta_ts>2018-09-25 11:41:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189921-20180925093320.patch</filename>
            <type>text/plain</type>
            <size>10792</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjJkZjlhMWNlNGYzYTZk
N2I4ZmE4Yjc2MWE2NDg0NDc2Mzk1NzMxNC4uZWMyZmE5Y2UyNjVmMDljOTE1YzIyOWVlMzlkMmY4
MGQ5NWMwZTQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTA5LTI0ICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtHVEtd
W1dlYlJUQ10gRml4dXAgVlA4IGVuY29kaW5nIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTkyMQorCisgICAgICAgIFByZXZpb3VzIGxl
YWsgZml4aW5nIGNvbW1pdCBpbnRyb2R1Y2VkIGEgcmVncmVzc2lvbiBpbgorICAgICAgICB0aGUg
d2F5IHRoZSBlbmNvZGVkIGJ1ZmZlciB3ZXJlIHByZXBhcmVkIGluIHRoZSBkZWZhdWx0CisgICAg
ICAgIEdTdHJlYW1lclZpZGVvRW5jb2Rlcjo6RnJhZ21lbnRpemUgaW1wbGVtZW50YXRpb24gKHdo
ZW4KKyAgICAgICAgZW5jb2Rpbmcgd2l0aCBWUDggYmFzaWNhbGx5KS4KKworICAgICAgICArIEZp
eCBhIGJ1aWxkIHdhcm5pbmcgaW4gdGhlIGRlY29kZXIuCisgICAgICAgICsgRml4IHNvbWUgd3Jv
bmcgb2JqZWN0IG1lbWJlcnMgbmFtaW5ncy4KKyAgICAgICAgKyBQcm9wZXJseSBtb3ZlIHRoZSBj
YXBzIHJlZmVyZW5jZSB3aGVuIHNldHRpbmcgcmVzdHJpY3Rpb24gY2Fwcy4KKyAgICAgICAgKyBE
byBub3QgcmFpc2UgYSBHU3RyZWFtZXIgZXJyb3Igd2hlbiBHU3RyZWFtZXJWaWRlb0VuY29kZXI6
Ok9uRW5jb2RlZEltYWdlCisgICAgICAgICAgZmFpbHMgLSB0aGlzIG1pZ2h0IGJlIGEgbmV0d29y
ayBpc3N1ZSBhbmQgb3RoZXIgZW5jb2RlcnMgZG8gbm90IGNvbnNpZGVyIHRoYXQKKyAgICAgICAg
ICBmYXRhbC4KKyAgICAgICAgKyBVc2UgR3N0TWFwcGVkQnVmZmVyIHdoZXJlIGFwcHJvcHJpYXRl
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3Rvcnku
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJW
aWRlb0VuY29kZXJGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVv
RW5jb2Rlcjo6SW5pdEVuY29kZSk6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFtZXJWaWRlb0Vu
Y29kZXI6Om5ld1NhbXBsZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZp
ZGVvRW5jb2Rlcjo6RnJhZ21lbnRpemUpOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVyVmlk
ZW9FbmNvZGVyOjpTZXRSZXN0cmljdGlvbkNhcHMpOgorCiAyMDE4LTA5LTIwICBUaGliYXVsdCBT
YXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXVtHVEtdW1dlYlJU
Q10gRml4IGxlYWtzIGluIHRoZSBsaWJ3ZWJydGMgRGVjb2RlciBhbmQgRW5jb2RlcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJl
YW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwCmluZGV4
IGRkZWI0ZDc3ZmEzMjMwOTI0NGRhZmJiNjJlYWNlODJkYjhkOWRkNGIuLjg4NjYxZDgyZTlhYzYw
N2MxNWJkZDc2YTc3NTMyZDZiYWFjYjFjYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
R1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgIEdTVF9CVUZGRVJfUFRTKGJ1ZmZlci5nZXQoKSkgPSAoc3RhdGljX2Nhc3Q8
Z3VpbnQ2ND4ocmVuZGVyVGltZU1zKSAqIEdTVF9NU0VDT05EKSAtIG1fZmlyc3RCdWZmZXJQdHM7
CiAgICAgICAgIG1fZHRzUHRzTWFwW0dTVF9CVUZGRVJfUFRTKGJ1ZmZlci5nZXQoKSldID0gaW5w
dXRJbWFnZS5fdGltZVN0YW1wOwogCi0gICAgICAgIEdTVF9MT0dfT0JKRUNUKHBpcGVsaW5lKCks
ICIlbGQgRGVjb2Rpbmc6ICUiIEdTVF9QVFJfRk9STUFULCByZW5kZXJUaW1lTXMsIGJ1ZmZlcik7
CisgICAgICAgIEdTVF9MT0dfT0JKRUNUKHBpcGVsaW5lKCksICIlbGQgRGVjb2Rpbmc6ICUiIEdT
VF9QVFJfRk9STUFULCByZW5kZXJUaW1lTXMsIGJ1ZmZlci5nZXQoKSk7CiAgICAgICAgIGF1dG8g
c2FtcGxlID0gYWRvcHRHUmVmKGdzdF9zYW1wbGVfbmV3KGJ1ZmZlci5nZXQoKSwgR2V0Q2Fwc0Zv
ckZyYW1lKGlucHV0SW1hZ2UpLCBudWxscHRyLCBudWxscHRyKSk7CiAgICAgICAgIHN3aXRjaCAo
Z3N0X2FwcF9zcmNfcHVzaF9zYW1wbGUoR1NUX0FQUF9TUkMobV9zcmMpLCBzYW1wbGUuZ2V0KCkp
KSB7CiAgICAgICAgIGNhc2UgR1NUX0ZMT1dfT0s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFj
dG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
R1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHAKaW5kZXggYmM3Njk4MWYxMzRhYzhkY2M3
ZTVkM2IzMTBiY2MyMTFlODkxYzljZC4uNTJkNDI0NDA3N2NjM2E4M2NmMzU0ZTJlMTI3MzkxMTM5
N2I5MDRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bGlid2VicnRjL0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0VuY29k
ZXJGYWN0b3J5LmNwcApAQCAtODEsNyArODEsNyBAQCBwdWJsaWM6CiAgICAgICAgIGF1dG8gY2Fw
cyA9IGFkb3B0R1JlZihnc3RfY2Fwc19jb3B5KG1fcmVzdHJpY3Rpb25DYXBzLmdldCgpKSk7CiAg
ICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUoY2Fwcy5nZXQoKSwgImZyYW1lcmF0ZSIsIEdTVF9U
WVBFX0ZSQUNUSU9OLCBmcmFtZVJhdGUsIDEsIG51bGxwdHIpOwogCi0gICAgICAgIFNldFJlc3Ry
aWN0aW9uQ2FwcyhjYXBzKTsKKyAgICAgICAgU2V0UmVzdHJpY3Rpb25DYXBzKFdURk1vdmUoY2Fw
cykpOwogCiAgICAgICAgIGlmIChtX2JpdHJhdGVTZXR0ZXIgJiYgbV9lbmNvZGVyKQogICAgICAg
ICAgICAgbV9iaXRyYXRlU2V0dGVyKG1fZW5jb2RlciwgbmV3Qml0cmF0ZSk7CkBAIC0xMDksNyAr
MTA5LDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9zaXplID0gY29kZWNT
ZXR0aW5ncy0+d2lkdGggKiBjb2RlY1NldHRpbmdzLT5oZWlnaHQgKiAzOwogICAgICAgICBtX2Vu
Y29kZWRGcmFtZS5fYnVmZmVyID0gbmV3IHVpbnQ4X3RbbV9lbmNvZGVkRnJhbWUuX3NpemVdOwot
ICAgICAgICBlbmNvZGVkX2ltYWdlX2J1ZmZlcl8ucmVzZXQobV9lbmNvZGVkRnJhbWUuX2J1ZmZl
cik7CisgICAgICAgIG1fZW5jb2RlZEltYWdlQnVmZmVyLnJlc2V0KG1fZW5jb2RlZEZyYW1lLl9i
dWZmZXIpOwogICAgICAgICBtX2VuY29kZWRGcmFtZS5fY29tcGxldGVGcmFtZSA9IHRydWU7CiAg
ICAgICAgIG1fZW5jb2RlZEZyYW1lLl9lbmNvZGVkV2lkdGggPSAwOwogICAgICAgICBtX2VuY29k
ZWRGcmFtZS5fZW5jb2RlZEhlaWdodCA9IDA7CkBAIC0xNTksNyArMTU5LDcgQEAgcHVibGljOgog
ICAgIGludDMyX3QgUmVsZWFzZSgpIGZpbmFsCiAgICAgewogICAgICAgICBtX2VuY29kZWRGcmFt
ZS5fYnVmZmVyID0gbnVsbHB0cjsKLSAgICAgICAgZW5jb2RlZF9pbWFnZV9idWZmZXJfLnJlc2V0
KCk7CisgICAgICAgIG1fZW5jb2RlZEltYWdlQnVmZmVyLnJlc2V0KCk7CiAgICAgICAgIEdSZWZQ
dHI8R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVM
SU5FKG1fcGlwZWxpbmUuZ2V0KCkpKSk7CiAgICAgICAgIGdzdF9idXNfc2V0X3N5bmNfaGFuZGxl
cihidXMuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpOwogCkBAIC0yMzAsNyArMjMw
LDcgQEAgcHVibGljOgogICAgICAgICBhdXRvIGNhcHMgPSBnc3Rfc2FtcGxlX2dldF9jYXBzKHNh
bXBsZS5nZXQoKSk7CiAKICAgICAgICAgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVhZGVyIGZy
YWdtZW50YXRpb25JbmZvOwotICAgICAgICBGcmFnbWVudGl6ZSgmbV9lbmNvZGVkRnJhbWUsICZl
bmNvZGVkX2ltYWdlX2J1ZmZlcl8sIGJ1ZmZlciwgJmZyYWdtZW50YXRpb25JbmZvKTsKKyAgICAg
ICAgRnJhZ21lbnRpemUoJm1fZW5jb2RlZEZyYW1lLCAmbV9lbmNvZGVkSW1hZ2VCdWZmZXIsICZt
X2VuY29kZWRJbWFnZUJ1ZmZlclNpemUsIGJ1ZmZlciwgJmZyYWdtZW50YXRpb25JbmZvKTsKICAg
ICAgICAgaWYgKCFtX2VuY29kZWRGcmFtZS5fc2l6ZSkKICAgICAgICAgICAgIHJldHVybiBHU1Rf
RkxPV19PSzsKIApAQCAtMjQ5LDEyICsyNDksOCBAQCBwdWJsaWM6CiAgICAgICAgIFBvcHVsYXRl
Q29kZWNTcGVjaWZpYygmY29kZWNTcGVjaWZpSW5mb3MsIGJ1ZmZlcik7CiAKICAgICAgICAgd2Vi
cnRjOjpFbmNvZGVkSW1hZ2VDYWxsYmFjazo6UmVzdWx0IHJlc3VsdCA9IG1faW1hZ2VSZWFkeUNi
LT5PbkVuY29kZWRJbWFnZShtX2VuY29kZWRGcmFtZSwgJmNvZGVjU3BlY2lmaUluZm9zLCAmZnJh
Z21lbnRhdGlvbkluZm8pOwotICAgICAgICBpZiAocmVzdWx0LmVycm9yICE9IHdlYnJ0Yzo6RW5j
b2RlZEltYWdlQ2FsbGJhY2s6OlJlc3VsdDo6T0spIHsKLSAgICAgICAgICAgIEdTVF9FTEVNRU5U
X0VSUk9SKG1fcGlwZWxpbmUuZ2V0KCksIExJQlJBUlksIEZBSUxFRCwgKG51bGxwdHIpLAotICAg
ICAgICAgICAgICAgICgiRW5jb2RlIGNhbGxiYWNrIGZhaWxlZDogJWQiLCByZXN1bHQuZXJyb3Ip
KTsKLQotICAgICAgICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOwotICAgICAgICB9CisgICAg
ICAgIGlmIChyZXN1bHQuZXJyb3IgIT0gd2VicnRjOjpFbmNvZGVkSW1hZ2VDYWxsYmFjazo6UmVz
dWx0OjpPSykKKyAgICAgICAgICAgIEdTVF9FUlJPUl9PQkpFQ1QobV9waXBlbGluZS5nZXQoKSwg
IkVuY29kZSBjYWxsYmFjayBmYWlsZWQ6ICVkIiwgcmVzdWx0LmVycm9yKTsKIAogICAgICAgICBy
ZXR1cm4gR1NUX0ZMT1dfT0s7CiAgICAgfQpAQCAtMzU5LDIzICszNTUsMjUgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIFBvcHVsYXRlQ29kZWNTcGVjaWZpYyh3ZWJydGM6OkNvZGVjU3Bl
Y2lmaWNJbmZvKiwgR3N0QnVmZmVyKikgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIEZyYWdtZW50
aXplKHdlYnJ0Yzo6RW5jb2RlZEltYWdlKiBlbmNvZGVkSW1hZ2UsIHN0ZDo6dW5pcXVlX3B0cjx1
aW50OF90W10+KiBlbmNvZGVkX2ltYWdlX2J1ZmZlciwgR3N0QnVmZmVyKiBidWZmZXIsCi0gICAg
ICAgIHdlYnJ0Yzo6UlRQRnJhZ21lbnRhdGlvbkhlYWRlciogZnJhZ21lbnRhdGlvbkluZm8pCisg
ICAgdmlydHVhbCB2b2lkIEZyYWdtZW50aXplKHdlYnJ0Yzo6RW5jb2RlZEltYWdlKiBlbmNvZGVk
SW1hZ2UsIHN0ZDo6dW5pcXVlX3B0cjx1aW50OF90W10+KiBlbmNvZGVkSW1hZ2VCdWZmZXIsCisg
ICAgICAgIHNpemVfdCogYnVmZmVyU2l6ZSwgR3N0QnVmZmVyKiBidWZmZXIsIHdlYnJ0Yzo6UlRQ
RnJhZ21lbnRhdGlvbkhlYWRlciogZnJhZ21lbnRhdGlvbkluZm8pCiAgICAgewotICAgICAgICBH
c3RNYXBJbmZvIG1hcDsKKyAgICAgICAgR3N0TWFwcGVkQnVmZmVyIG1hcChidWZmZXIsIEdTVF9N
QVBfUkVBRCk7CiAKLSAgICAgICAgZ3N0X2J1ZmZlcl9tYXAoYnVmZmVyLCAmbWFwLCBHU1RfTUFQ
X1JFQUQpOwotICAgICAgICBpZiAoZW5jb2RlZEltYWdlLT5fc2l6ZSA8IG1hcC5zaXplKSB7Ci0g
ICAgICAgICAgICBlbmNvZGVkSW1hZ2UtPl9zaXplID0gbWFwLnNpemU7CisgICAgICAgIGlmICgq
YnVmZmVyU2l6ZSA8IG1hcC5zaXplKCkpIHsKKyAgICAgICAgICAgIGVuY29kZWRJbWFnZS0+X3Np
emUgPSBtYXAuc2l6ZSgpOwogICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5fYnVmZmVyID0gbmV3
IHVpbnQ4X3RbZW5jb2RlZEltYWdlLT5fc2l6ZV07Ci0gICAgICAgICAgICBlbmNvZGVkX2ltYWdl
X2J1ZmZlci0+cmVzZXQoZW5jb2RlZEltYWdlLT5fYnVmZmVyKTsKLSAgICAgICAgICAgIG1lbWNw
eShlbmNvZGVkSW1hZ2UtPl9idWZmZXIsIG1hcC5kYXRhLCBtYXAuc2l6ZSk7CisgICAgICAgICAg
ICBlbmNvZGVkSW1hZ2VCdWZmZXItPnJlc2V0KGVuY29kZWRJbWFnZS0+X2J1ZmZlcik7CisgICAg
ICAgICAgICAqYnVmZmVyU2l6ZSA9IG1hcC5zaXplKCk7CiAgICAgICAgIH0KLSAgICAgICAgZ3N0
X2J1ZmZlcl91bm1hcChidWZmZXIsICZtYXApOworCisgICAgICAgIG1lbWNweShlbmNvZGVkSW1h
Z2UtPl9idWZmZXIsIG1hcC5kYXRhKCksIG1hcC5zaXplKCkpOworICAgICAgICBlbmNvZGVkSW1h
Z2UtPl9sZW5ndGggPSBtYXAuc2l6ZSgpOworICAgICAgICBlbmNvZGVkSW1hZ2UtPl9zaXplID0g
bWFwLnNpemUoKTsKIAogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+VmVyaWZ5QW5kQWxsb2Nh
dGVGcmFnbWVudGF0aW9uSGVhZGVyKDEpOwogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+ZnJh
Z21lbnRhdGlvbk9mZnNldFswXSA9IDA7Ci0gICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5mcmFn
bWVudGF0aW9uTGVuZ3RoWzBdID0gZ3N0X2J1ZmZlcl9nZXRfc2l6ZShidWZmZXIpOworICAgICAg
ICBmcmFnbWVudGF0aW9uSW5mby0+ZnJhZ21lbnRhdGlvbkxlbmd0aFswXSA9IG1hcC5zaXplKCk7
CiAgICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5mcmFnbWVudGF0aW9uUGxUeXBlWzBdID0gMDsK
ICAgICAgICAgZnJhZ21lbnRhdGlvbkluZm8tPmZyYWdtZW50YXRpb25UaW1lRGlmZlswXSA9IDA7
CiAgICAgfQpAQCAtMzkyLDcgKzM5MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIFNldFJlc3RyaWN0
aW9uQ2FwcyhHUmVmUHRyPEdzdENhcHM+IGNhcHMpCiAgICAgewogICAgICAgICBpZiAoY2FwcyAm
JiBtX3Byb2ZpbGUuZ2V0KCkgJiYgZ3N0X2NhcHNfaXNfZXF1YWwobV9yZXN0cmljdGlvbkNhcHMu
Z2V0KCksIGNhcHMuZ2V0KCkpKQotICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcHJvZmlsZS5n
ZXQoKSwgInJlc3RyaWN0aW9uLWNhcHMiLCBjYXBzLCBudWxscHRyKTsKKyAgICAgICAgICAgIGdf
b2JqZWN0X3NldChtX3Byb2ZpbGUuZ2V0KCksICJyZXN0cmljdGlvbi1jYXBzIiwgY2Fwcy5nZXQo
KSwgbnVsbHB0cik7CiAKICAgICAgICAgbV9yZXN0cmljdGlvbkNhcHMgPSBjYXBzOwogICAgIH0K
QEAgLTQxMyw3ICs0MTEsOCBAQCBwcml2YXRlOgogICAgIEdSZWZQdHI8R3N0RW5jb2RpbmdQcm9m
aWxlPiBtX3Byb2ZpbGU7CiAgICAgQml0cmF0ZVNldHRlciBtX2JpdHJhdGVTZXR0ZXI7CiAgICAg
d2VicnRjOjpFbmNvZGVkSW1hZ2UgbV9lbmNvZGVkRnJhbWU7Ci0gICAgc3RkOjp1bmlxdWVfcHRy
PHVpbnQ4X3RbXT4gZW5jb2RlZF9pbWFnZV9idWZmZXJfOworICAgIHN0ZDo6dW5pcXVlX3B0cjx1
aW50OF90W10+IG1fZW5jb2RlZEltYWdlQnVmZmVyOworICAgIHNpemVfdCBtX2VuY29kZWRJbWFn
ZUJ1ZmZlclNpemU7CiB9OwogCiBjbGFzcyBIMjY0RW5jb2RlciA6IHB1YmxpYyBHU3RyZWFtZXJW
aWRlb0VuY29kZXIgewpAQCAtNDMxLDEwICs0MzAsOSBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAg
Ly8gRklYTUUgLSBNVC4gc2FmZXR5IQotICAgIHZvaWQgRnJhZ21lbnRpemUod2VicnRjOjpFbmNv
ZGVkSW1hZ2UqIGVuY29kZWRJbWFnZSwgc3RkOjp1bmlxdWVfcHRyPHVpbnQ4X3RbXT4qIGVuY29k
ZWRfaW1hZ2VfYnVmZmVyLAorICAgIHZvaWQgRnJhZ21lbnRpemUod2VicnRjOjpFbmNvZGVkSW1h
Z2UqIGVuY29kZWRJbWFnZSwgc3RkOjp1bmlxdWVfcHRyPHVpbnQ4X3RbXT4qIGVuY29kZWRJbWFn
ZUJ1ZmZlciwgc2l6ZV90ICpidWZmZXJTaXplLAogICAgICAgICBHc3RCdWZmZXIqIGdzdGJ1ZmZl
ciwgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVhZGVyKiBmcmFnbWVudGF0aW9uSGVhZGVyKSBm
aW5hbAogICAgIHsKLSAgICAgICAgR3N0TWFwSW5mbyBtYXA7CiAgICAgICAgIEdzdEgyNjROYWxV
bml0IG5hbHU7CiAgICAgICAgIGF1dG8gcGFyc2VyUmVzdWx0ID0gR1NUX0gyNjRfUEFSU0VSX09L
OwogCkBAIC00NDQsOSArNDQyLDkgQEAgcHVibGljOgogICAgICAgICBzdGQ6OnZlY3RvcjxHc3RI
MjY0TmFsVW5pdD4gbmFsczsKIAogICAgICAgICBjb25zdCB1aW50OF90IHN0YXJ0Q29kZVs0XSA9
IHsgMCwgMCwgMCwgMSB9OwotICAgICAgICBnc3RfYnVmZmVyX21hcChnc3RidWZmZXIsICZtYXAs
IEdTVF9NQVBfUkVBRCk7CisgICAgICAgIEdzdE1hcHBlZEJ1ZmZlciBtYXAoZ3N0YnVmZmVyLCBH
U1RfTUFQX1JFQUQpOwogICAgICAgICB3aGlsZSAocGFyc2VyUmVzdWx0ID09IEdTVF9IMjY0X1BB
UlNFUl9PSykgewotICAgICAgICAgICAgcGFyc2VyUmVzdWx0ID0gZ3N0X2gyNjRfcGFyc2VyX2lk
ZW50aWZ5X25hbHUobV9wYXJzZXIsIG1hcC5kYXRhLCBvZmZzZXQsIG1hcC5zaXplLCAmbmFsdSk7
CisgICAgICAgICAgICBwYXJzZXJSZXN1bHQgPSBnc3RfaDI2NF9wYXJzZXJfaWRlbnRpZnlfbmFs
dShtX3BhcnNlciwgbWFwLmRhdGEoKSwgb2Zmc2V0LCBtYXAuc2l6ZSgpLCAmbmFsdSk7CiAKICAg
ICAgICAgICAgIG5hbHUuc2Nfb2Zmc2V0ID0gb2Zmc2V0OwogICAgICAgICAgICAgbmFsdS5vZmZz
ZXQgPSBvZmZzZXQgKyBzaXplb2Yoc3RhcnRDb2RlKTsKQEAgLTQ2MSw3ICs0NTksOCBAQCBwdWJs
aWM6CiAgICAgICAgIGlmIChlbmNvZGVkSW1hZ2UtPl9zaXplIDwgcmVxdWlyZWRTaXplKSB7CiAg
ICAgICAgICAgICBlbmNvZGVkSW1hZ2UtPl9zaXplID0gcmVxdWlyZWRTaXplOwogICAgICAgICAg
ICAgZW5jb2RlZEltYWdlLT5fYnVmZmVyID0gbmV3IHVpbnQ4X3RbZW5jb2RlZEltYWdlLT5fc2l6
ZV07Ci0gICAgICAgICAgICBlbmNvZGVkX2ltYWdlX2J1ZmZlci0+cmVzZXQoZW5jb2RlZEltYWdl
LT5fYnVmZmVyKTsKKyAgICAgICAgICAgIGVuY29kZWRJbWFnZUJ1ZmZlci0+cmVzZXQoZW5jb2Rl
ZEltYWdlLT5fYnVmZmVyKTsKKyAgICAgICAgICAgICpidWZmZXJTaXplID0gbWFwLnNpemUoKTsK
ICAgICAgICAgfQogCiAgICAgICAgIC8vIEl0ZXJhdGUgbmFsIHVuaXRzIGFuZCBmaWxsIHRoZSBG
cmFnbWVudGF0aW9uIGluZm8uCkBAIC00NzAsMjAgKzQ2OSwxOCBAQCBwdWJsaWM6CiAgICAgICAg
IGVuY29kZWRJbWFnZS0+X2xlbmd0aCA9IDA7CiAgICAgICAgIGZvciAoc3RkOjp2ZWN0b3I8R3N0
SDI2NE5hbFVuaXQ+OjppdGVyYXRvciBuYWwgPSBuYWxzLmJlZ2luKCk7IG5hbCAhPSBuYWxzLmVu
ZCgpOyArK25hbCwgZnJhZ21lbnRJbmRleCsrKSB7CiAKLSAgICAgICAgICAgIEFTU0VSVChtYXAu
ZGF0YVtuYWwtPnNjX29mZnNldCArIDBdID09IHN0YXJ0Q29kZVswXSk7Ci0gICAgICAgICAgICBB
U1NFUlQobWFwLmRhdGFbbmFsLT5zY19vZmZzZXQgKyAxXSA9PSBzdGFydENvZGVbMV0pOwotICAg
ICAgICAgICAgQVNTRVJUKG1hcC5kYXRhW25hbC0+c2Nfb2Zmc2V0ICsgMl0gPT0gc3RhcnRDb2Rl
WzJdKTsKLSAgICAgICAgICAgIEFTU0VSVChtYXAuZGF0YVtuYWwtPnNjX29mZnNldCArIDNdID09
IHN0YXJ0Q29kZVszXSk7CisgICAgICAgICAgICBBU1NFUlQobWFwLmRhdGEoKVtuYWwtPnNjX29m
ZnNldCArIDBdID09IHN0YXJ0Q29kZVswXSk7CisgICAgICAgICAgICBBU1NFUlQobWFwLmRhdGEo
KVtuYWwtPnNjX29mZnNldCArIDFdID09IHN0YXJ0Q29kZVsxXSk7CisgICAgICAgICAgICBBU1NF
UlQobWFwLmRhdGEoKVtuYWwtPnNjX29mZnNldCArIDJdID09IHN0YXJ0Q29kZVsyXSk7CisgICAg
ICAgICAgICBBU1NFUlQobWFwLmRhdGEoKVtuYWwtPnNjX29mZnNldCArIDNdID09IHN0YXJ0Q29k
ZVszXSk7CiAKICAgICAgICAgICAgIGZyYWdtZW50YXRpb25IZWFkZXItPmZyYWdtZW50YXRpb25P
ZmZzZXRbZnJhZ21lbnRJbmRleF0gPSBuYWwtPm9mZnNldDsKICAgICAgICAgICAgIGZyYWdtZW50
YXRpb25IZWFkZXItPmZyYWdtZW50YXRpb25MZW5ndGhbZnJhZ21lbnRJbmRleF0gPSBuYWwtPnNp
emU7CiAKLSAgICAgICAgICAgIG1lbWNweShlbmNvZGVkSW1hZ2UtPl9idWZmZXIgKyBlbmNvZGVk
SW1hZ2UtPl9sZW5ndGgsICZtYXAuZGF0YVtuYWwtPnNjX29mZnNldF0sCisgICAgICAgICAgICBt
ZW1jcHkoZW5jb2RlZEltYWdlLT5fYnVmZmVyICsgZW5jb2RlZEltYWdlLT5fbGVuZ3RoLCAmbWFw
LmRhdGEoKVtuYWwtPnNjX29mZnNldF0sCiAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0YXJ0Q29k
ZSkgKyBuYWwtPnNpemUpOwogICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5fbGVuZ3RoICs9IG5h
bC0+c2l6ZSArIHNpemVvZihzdGFydENvZGUpOwogICAgICAgICB9Ci0KLSAgICAgICAgZ3N0X2J1
ZmZlcl91bm1hcChnc3RidWZmZXIsICZtYXApOwogICAgIH0KIAogICAgIEdzdEVsZW1lbnQqIENy
ZWF0ZUZpbHRlcigpIGZpbmFsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>