<?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>184035</bug_id>
          
          <creation_ts>2018-03-27 05:59:58 -0700</creation_ts>
          <short_desc>[GStreamer] Enhance debugging in the BasePlayer</short_desc>
          <delta_ts>2018-03-27 09:26:15 -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="Nobody">webkit-unassigned</assigned_to>
          <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>1409514</commentid>
    <comment_count>0</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-03-27 05:59:58 -0700</bug_when>
    <thetext>[GStreamer] Enhance debugging in the BasePlayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409515</commentid>
    <comment_count>1</comment_count>
      <attachid>336574</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-03-27 06:04:22 -0700</bug_when>
    <thetext>Created attachment 336574
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409518</commentid>
    <comment_count>2</comment_count>
      <attachid>336575</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-03-27 06:21:46 -0700</bug_when>
    <thetext>Created attachment 336575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409542</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-03-27 07:41:15 -0700</bug_when>
    <thetext>Broke WPE build:


/home/ews/igalia-wpe-ews/WebKit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: In lambda function:
/home/ews/igalia-wpe-ews/WebKit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:384:39: error: ‘this’ was not captured for this lambda function
             GST_DEBUG_OBJECT(pipeline(), &quot;scheduling initializationDataEncountered event for %s with concatenated init datas size of %&quot; G_GSIZE_FORMAT, eventKeySystemIdString.utf8().data(), initData.size());
                                       ^
/home/ews/igalia-wpe-ews/WebKit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:384:39: error: cannot call member function ‘GstElement* WebCore::MediaPlayerPrivateGStreamerBase::pipeline() const’ without object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409551</commentid>
    <comment_count>4</comment_count>
      <attachid>336589</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-03-27 08:43:44 -0700</bug_when>
    <thetext>Created attachment 336589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409560</commentid>
    <comment_count>5</comment_count>
      <attachid>336589</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 09:25:57 -0700</bug_when>
    <thetext>Comment on attachment 336589
Patch

Clearing flags on attachment: 336589

Committed r229997: &lt;https://trac.webkit.org/changeset/229997&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409561</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 09:25:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409562</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-27 09:26:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/38913957&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336574</attachid>
            <date>2018-03-27 06:04:22 -0700</date>
            <delta_ts>2018-03-27 06:21:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184035-20180327100420.patch</filename>
            <type>text/plain</type>
            <size>14069</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggODJhYjdjOGYwMGZlODk0ZGQ0Y2E1
ZTllMGM2NzE3OGM2OTBjYmM2ZS4uNmZmYWIyNTRmNDQ4MzRiYzVlNWJhYzFmYmEwMmE5NGMzYWM0
MWFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcApAQCAtMzIzLDcgKzMyMyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZTo6aGFuZGxlU3luY01lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKIAogICAg
IGNvbnN0IGdjaGFyKiBjb250ZXh0VHlwZTsKICAgICBnc3RfbWVzc2FnZV9wYXJzZV9jb250ZXh0
X3R5cGUobWVzc2FnZSwgJmNvbnRleHRUeXBlKTsKLSAgICBHU1RfREVCVUcoIkhhbmRsaW5nICVz
IG5lZWQtY29udGV4dCBtZXNzYWdlIGZvciAlcyIsIGNvbnRleHRUeXBlLCBHU1RfTUVTU0FHRV9T
UkNfTkFNRShtZXNzYWdlKSk7CisgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiSGFu
ZGxpbmcgJXMgbmVlZC1jb250ZXh0IG1lc3NhZ2UgZm9yICVzIiwgY29udGV4dFR5cGUsIEdTVF9N
RVNTQUdFX1NSQ19OQU1FKG1lc3NhZ2UpKTsKIAogI2lmIFVTRShHU1RSRUFNRVJfR0wpCiAgICAg
R1JlZlB0cjxHc3RDb250ZXh0PiBlbGVtZW50Q29udGV4dCA9IGFkb3B0R1JlZihyZXF1ZXN0R0xD
b250ZXh0KGNvbnRleHRUeXBlKSk7CkBAIC0zNDAsNyArMzQwLDcgQEAgYm9vbCBNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNz
YWdlKQogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgR1NUX0RFQlVHKCJoYW5kbGluZyBkcm0tcHJl
ZmVycmVkLWRlY3J5cHRpb24tc3lzdGVtLWlkIG5lZWQgY29udGV4dCBtZXNzYWdlIik7CisgICAg
ICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgImhhbmRsaW5nIGRybS1wcmVmZXJyZWQt
ZGVjcnlwdGlvbi1zeXN0ZW0taWQgbmVlZCBjb250ZXh0IG1lc3NhZ2UiKTsKICAgICAgICAgTG9j
a0hvbGRlciBsb2NrKG1fcHJvdGVjdGlvbk11dGV4KTsKICAgICAgICAgc3RkOjpwYWlyPFZlY3Rv
cjxHUmVmUHRyPEdzdEV2ZW50Pj4sIFZlY3RvcjxTdHJpbmc+PiBzdHJlYW1FbmNyeXB0aW9uSW5m
b3JtYXRpb24gPSBleHRyYWN0RXZlbnRzQW5kU3lzdGVtc0Zyb21NZXNzYWdlKG1lc3NhZ2UpOwog
ICAgICAgICBHU1RfVFJBQ0UoImZvdW5kICUiIEdfR1NJWkVfRk9STUFUICIgcHJvdGVjdGlvbiBl
dmVudHMiLCBzdHJlYW1FbmNyeXB0aW9uSW5mb3JtYXRpb24uZmlyc3Quc2l6ZSgpKTsKQEAgLTM2
MCw3ICszNjAsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRs
ZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBHU1RfVFJBQ0UoImFwcGVuZGluZyBpbml0IGRh
dGEgZm9yICVzIG9mIHNpemUgJSIgR19HU0laRV9GT1JNQVQsIGV2ZW50S2V5U3lzdGVtSWQsIG1h
cEluZm8uc2l6ZSk7Ci0gICAgICAgICAgICBHU1RfTUVNRFVNUCgiaW5pdCBkYXRhIiwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyICo+KG1hcEluZm8uZGF0YSksIG1hcEluZm8u
c2l6ZSk7CisgICAgICAgICAgICBHU1RfTUVNRFVNUCgiaW5pdCBkYXRhIiwgcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4obWFwSW5mby5kYXRhKSwgbWFwSW5mby5zaXplKTsK
ICAgICAgICAgICAgIGNvbmNhdGVuYXRlZEluaXREYXRhQ2h1bmtzLmFwcGVuZChtYXBJbmZvLmRh
dGEsIG1hcEluZm8uc2l6ZSk7CiAgICAgICAgICAgICArK2NvbmNhdGVuYXRlZEluaXREYXRhQ2h1
bmtzTnVtYmVyOwogICAgICAgICAgICAgZXZlbnRLZXlTeXN0ZW1JZFN0cmluZyA9IGV2ZW50S2V5
U3lzdGVtSWQ7CkBAIC0zODEsMTggKzM4MSwxOCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2U6OmhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAg
ICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICAgICAgR1NUX0RFQlVHKCJzY2hlZHVsaW5nIGluaXRpYWxpemF0aW9uRGF0YUVuY291bnRlcmVk
IGV2ZW50IGZvciAlcyB3aXRoIGNvbmNhdGVuYXRlZCBpbml0IGRhdGFzIHNpemUgb2YgJSIgR19H
U0laRV9GT1JNQVQsIGV2ZW50S2V5U3lzdGVtSWRTdHJpbmcudXRmOCgpLmRhdGEoKSwgaW5pdERh
dGEuc2l6ZSgpKTsKKyAgICAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgInNj
aGVkdWxpbmcgaW5pdGlhbGl6YXRpb25EYXRhRW5jb3VudGVyZWQgZXZlbnQgZm9yICVzIHdpdGgg
Y29uY2F0ZW5hdGVkIGluaXQgZGF0YXMgc2l6ZSBvZiAlIiBHX0dTSVpFX0ZPUk1BVCwgZXZlbnRL
ZXlTeXN0ZW1JZFN0cmluZy51dGY4KCkuZGF0YSgpLCBpbml0RGF0YS5zaXplKCkpOwogICAgICAg
ICAgICAgR1NUX01FTURVTVAoImluaXQgZGF0YXMiLCBpbml0RGF0YS5kYXRhKCksIGluaXREYXRh
LnNpemUoKSk7CiAgICAgICAgICAgICB3ZWFrVGhpcy0+bV9wbGF5ZXItPmluaXRpYWxpemF0aW9u
RGF0YUVuY291bnRlcmVkKEFTQ0lJTGl0ZXJhbCgiY2VuYyIpLCBBcnJheUJ1ZmZlcjo6Y3JlYXRl
KGluaXREYXRhLmRhdGEoKSwgaW5pdERhdGEuc2l6ZSgpKSk7CiAgICAgICAgIH0pOwogCi0gICAg
ICAgIEdTVF9JTkZPKCJ3YWl0aW5nIGZvciBhIENETSBpbnN0YW5jZSIpOworICAgICAgICBHU1Rf
SU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIndhaXRpbmcgZm9yIGEgQ0RNIGluc3RhbmNlIik7CiAg
ICAgICAgIG1fcHJvdGVjdGlvbkNvbmRpdGlvbi53YWl0Rm9yKG1fcHJvdGVjdGlvbk11dGV4LCBT
ZWNvbmRzKDQpLCBbdGhpc10gewogICAgICAgICAgICAgcmV0dXJuIHRoaXMtPm1fY2RtSW5zdGFu
Y2U7CiAgICAgICAgIH0pOwogICAgICAgICBpZiAobV9jZG1JbnN0YW5jZSAmJiAhbV9jZG1JbnN0
YW5jZS0+a2V5U3lzdGVtKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBjb25zdCBjaGFyKiBw
cmVmZXJyZWRLZXlTeXN0ZW1VdWlkID0gR1N0cmVhbWVyRU1FVXRpbGl0aWVzOjprZXlTeXN0ZW1U
b1V1aWQobV9jZG1JbnN0YW5jZS0+a2V5U3lzdGVtKCkpOwotICAgICAgICAgICAgR1NUX0lORk8o
Indvcmtpbmcgd2l0aCAlcywgY29udGludWluZyB3aXRoICVzIG9uICVzIiwgbV9jZG1JbnN0YW5j
ZS0+a2V5U3lzdGVtKCkudXRmOCgpLmRhdGEoKSwgcHJlZmVycmVkS2V5U3lzdGVtVXVpZCwgR1NU
X01FU1NBR0VfU1JDX05BTUUobWVzc2FnZSkpOworICAgICAgICAgICAgR1NUX0lORk9fT0JKRUNU
KHBpcGVsaW5lKCksICJ3b3JraW5nIHdpdGggJXMsIGNvbnRpbnVpbmcgd2l0aCAlcyBvbiAlcyIs
IG1fY2RtSW5zdGFuY2UtPmtleVN5c3RlbSgpLnV0ZjgoKS5kYXRhKCksIHByZWZlcnJlZEtleVN5
c3RlbVV1aWQsIEdTVF9NRVNTQUdFX1NSQ19OQU1FKG1lc3NhZ2UpKTsKIAogICAgICAgICAgICAg
R1JlZlB0cjxHc3RDb250ZXh0PiBjb250ZXh0ID0gYWRvcHRHUmVmKGdzdF9jb250ZXh0X25ldygi
ZHJtLXByZWZlcnJlZC1kZWNyeXB0aW9uLXN5c3RlbS1pZCIsIEZBTFNFKSk7CiAgICAgICAgICAg
ICBHc3RTdHJ1Y3R1cmUqIGNvbnRleHRTdHJ1Y3R1cmUgPSBnc3RfY29udGV4dF93cml0YWJsZV9z
dHJ1Y3R1cmUoY29udGV4dC5nZXQoKSk7CkBAIC00NDcsNyArNDQ3LDcgQEAgYm9vbCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjplbnN1cmVHc3RHTENvbnRleHQoKQogI2lmIFBMQVRG
T1JNKFgxMSkKICNpZiBVU0UoR0xYKQogICAgICAgICBpZiAoaXM8UGxhdGZvcm1EaXNwbGF5WDEx
PihzaGFyZWREaXNwbGF5KSkgewotICAgICAgICAgICAgR1NUX0RFQlVHKCJDcmVhdGluZyBYMTEg
c2hhcmVkIEdMIGRpc3BsYXkiKTsKKyAgICAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxp
bmUoKSwgIkNyZWF0aW5nIFgxMSBzaGFyZWQgR0wgZGlzcGxheSIpOwogICAgICAgICAgICAgaWYg
KHNob3VsZEFkb3B0UmVmKQogICAgICAgICAgICAgICAgIG1fZ2xEaXNwbGF5ID0gYWRvcHRHUmVm
KEdTVF9HTF9ESVNQTEFZKGdzdF9nbF9kaXNwbGF5X3gxMV9uZXdfd2l0aF9kaXNwbGF5KGRvd25j
YXN0PFBsYXRmb3JtRGlzcGxheVgxMT4oc2hhcmVkRGlzcGxheSkubmF0aXZlKCkpKSk7CiAgICAg
ICAgICAgICBlbHNlCkBAIC00NTUsNyArNDU1LDcgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjplbnN1cmVHc3RHTENvbnRleHQoKQogICAgICAgICB9CiAjZWxpZiBVU0Uo
RUdMKQogICAgICAgICBpZiAoaXM8UGxhdGZvcm1EaXNwbGF5WDExPihzaGFyZWREaXNwbGF5KSkg
ewotICAgICAgICAgICAgR1NUX0RFQlVHKCJDcmVhdGluZyBYMTEgc2hhcmVkIEVHTCBkaXNwbGF5
Iik7CisgICAgICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJDcmVhdGluZyBY
MTEgc2hhcmVkIEVHTCBkaXNwbGF5Iik7CiAgICAgICAgICAgICBpZiAoc2hvdWxkQWRvcHRSZWYp
CiAgICAgICAgICAgICAgICAgbV9nbERpc3BsYXkgPSBhZG9wdEdSZWYoR1NUX0dMX0RJU1BMQVko
Z3N0X2dsX2Rpc3BsYXlfZWdsX25ld193aXRoX2VnbF9kaXNwbGF5KGRvd25jYXN0PFBsYXRmb3Jt
RGlzcGxheVgxMT4oc2hhcmVkRGlzcGxheSkuZWdsRGlzcGxheSgpKSkpOwogICAgICAgICAgICAg
ZWxzZQpAQCAtNDY2LDcgKzQ2Niw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZTo6ZW5zdXJlR3N0R0xDb250ZXh0KCkKIAogI2lmIFBMQVRGT1JNKFdBWUxBTkQpCiAgICAg
ICAgIGlmIChpczxQbGF0Zm9ybURpc3BsYXlXYXlsYW5kPihzaGFyZWREaXNwbGF5KSkgewotICAg
ICAgICAgICAgR1NUX0RFQlVHKCJDcmVhdGluZyBXYXlsYW5kIHNoYXJlZCBkaXNwbGF5Iik7Cisg
ICAgICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJDcmVhdGluZyBXYXlsYW5k
IHNoYXJlZCBkaXNwbGF5Iik7CiAgICAgICAgICAgICBpZiAoc2hvdWxkQWRvcHRSZWYpCiAgICAg
ICAgICAgICAgICAgbV9nbERpc3BsYXkgPSBhZG9wdEdSZWYoR1NUX0dMX0RJU1BMQVkoZ3N0X2ds
X2Rpc3BsYXlfZWdsX25ld193aXRoX2VnbF9kaXNwbGF5KGRvd25jYXN0PFBsYXRmb3JtRGlzcGxh
eVdheWxhbmQ+KHNoYXJlZERpc3BsYXkpLmVnbERpc3BsYXkoKSkpKTsKICAgICAgICAgICAgIGVs
c2UKQEAgLTQ3Niw3ICs0NzYsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OmVuc3VyZUdzdEdMQ29udGV4dCgpCiAKICNpZiBQTEFURk9STShXUEUpCiAgICAgICAgIEFT
U0VSVChpczxQbGF0Zm9ybURpc3BsYXlXUEU+KHNoYXJlZERpc3BsYXkpKTsKLSAgICAgICAgR1NU
X0RFQlVHKCJDcmVhdGluZyBXUEUgc2hhcmVkIEVHTCBkaXNwbGF5Iik7CisgICAgICAgIEdTVF9E
RUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIkNyZWF0aW5nIFdQRSBzaGFyZWQgRUdMIGRpc3BsYXki
KTsKICAgICAgICAgaWYgKHNob3VsZEFkb3B0UmVmKQogICAgICAgICAgICAgbV9nbERpc3BsYXkg
PSBhZG9wdEdSZWYoR1NUX0dMX0RJU1BMQVkoZ3N0X2dsX2Rpc3BsYXlfZWdsX25ld193aXRoX2Vn
bF9kaXNwbGF5KGRvd25jYXN0PFBsYXRmb3JtRGlzcGxheVdQRT4oc2hhcmVkRGlzcGxheSkuZWds
RGlzcGxheSgpKSkpOwogICAgICAgICBlbHNlCkBAIC01NTAsOCArNTUwLDggQEAgRmxvYXRTaXpl
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5hdHVyYWxTaXplKCkgY29uc3QKICAg
ICB9CiAjZW5kaWYKIAotICAgIEdTVF9ERUJVRygiT3JpZ2luYWwgdmlkZW8gc2l6ZTogJWR4JWQi
LCBvcmlnaW5hbFNpemUud2lkdGgoKSwgb3JpZ2luYWxTaXplLmhlaWdodCgpKTsKLSAgICBHU1Rf
REVCVUcoIlBpeGVsIGFzcGVjdCByYXRpbzogJWQvJWQiLCBwaXhlbEFzcGVjdFJhdGlvTnVtZXJh
dG9yLCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IpOworICAgIEdTVF9ERUJVR19PQkpFQ1Qo
cGlwZWxpbmUoKSwgIk9yaWdpbmFsIHZpZGVvIHNpemU6ICVkeCVkIiwgb3JpZ2luYWxTaXplLndp
ZHRoKCksIG9yaWdpbmFsU2l6ZS5oZWlnaHQoKSk7CisgICAgR1NUX0RFQlVHX09CSkVDVChwaXBl
bGluZSgpLCAiUGl4ZWwgYXNwZWN0IHJhdGlvOiAlZC8lZCIsIHBpeGVsQXNwZWN0UmF0aW9OdW1l
cmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvcik7CiAKICAgICAvLyBDYWxjdWxhdGUg
REFSIGJhc2VkIG9uIFBBUiBhbmQgdmlkZW8gc2l6ZS4KICAgICBpbnQgZGlzcGxheVdpZHRoID0g
b3JpZ2luYWxTaXplLndpZHRoKCkgKiBwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yOwpAQCAtNTY1
LDIwICs1NjUsMjAgQEAgRmxvYXRTaXplIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICAvLyBBcHBseSBEQVIgdG8gb3JpZ2luYWwgdmlkZW8g
c2l6ZS4gVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvciBhcyBpbiB4dmltYWdlc2luaydzIHNldGNh
cHMgZnVuY3Rpb24uCiAgICAgZ3VpbnQ2NCB3aWR0aCA9IDAsIGhlaWdodCA9IDA7CiAgICAgaWYg
KCEob3JpZ2luYWxTaXplLmhlaWdodCgpICUgZGlzcGxheUhlaWdodCkpIHsKLSAgICAgICAgR1NU
X0RFQlVHKCJLZWVwaW5nIHZpZGVvIG9yaWdpbmFsIGhlaWdodCIpOworICAgICAgICBHU1RfREVC
VUdfT0JKRUNUKHBpcGVsaW5lKCksICJLZWVwaW5nIHZpZGVvIG9yaWdpbmFsIGhlaWdodCIpOwog
ICAgICAgICB3aWR0aCA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQob3JpZ2luYWxTaXplLmhl
aWdodCgpLCBkaXNwbGF5V2lkdGgsIGRpc3BsYXlIZWlnaHQpOwogICAgICAgICBoZWlnaHQgPSBz
dGF0aWNfY2FzdDxndWludDY0PihvcmlnaW5hbFNpemUuaGVpZ2h0KCkpOwogICAgIH0gZWxzZSBp
ZiAoIShvcmlnaW5hbFNpemUud2lkdGgoKSAlIGRpc3BsYXlXaWR0aCkpIHsKLSAgICAgICAgR1NU
X0RFQlVHKCJLZWVwaW5nIHZpZGVvIG9yaWdpbmFsIHdpZHRoIik7CisgICAgICAgIEdTVF9ERUJV
R19PQkpFQ1QocGlwZWxpbmUoKSwgIktlZXBpbmcgdmlkZW8gb3JpZ2luYWwgd2lkdGgiKTsKICAg
ICAgICAgaGVpZ2h0ID0gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludChvcmlnaW5hbFNpemUud2lk
dGgoKSwgZGlzcGxheUhlaWdodCwgZGlzcGxheVdpZHRoKTsKICAgICAgICAgd2lkdGggPSBzdGF0
aWNfY2FzdDxndWludDY0PihvcmlnaW5hbFNpemUud2lkdGgoKSk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgR1NUX0RFQlVHKCJBcHByb3hpbWF0aW5nIHdoaWxlIGtlZXBpbmcgb3JpZ2luYWwgdmlk
ZW8gaGVpZ2h0Iik7CisgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIkFwcHJv
eGltYXRpbmcgd2hpbGUga2VlcGluZyBvcmlnaW5hbCB2aWRlbyBoZWlnaHQiKTsKICAgICAgICAg
d2lkdGggPSBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50KG9yaWdpbmFsU2l6ZS5oZWlnaHQoKSwg
ZGlzcGxheVdpZHRoLCBkaXNwbGF5SGVpZ2h0KTsKICAgICAgICAgaGVpZ2h0ID0gc3RhdGljX2Nh
c3Q8Z3VpbnQ2ND4ob3JpZ2luYWxTaXplLmhlaWdodCgpKTsKICAgICB9CiAKLSAgICBHU1RfREVC
VUcoIk5hdHVyYWwgc2l6ZTogJSIgR19HVUlOVDY0X0ZPUk1BVCAieCUiIEdfR1VJTlQ2NF9GT1JN
QVQsIHdpZHRoLCBoZWlnaHQpOworICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIk5h
dHVyYWwgc2l6ZTogJSIgR19HVUlOVDY0X0ZPUk1BVCAieCUiIEdfR1VJTlQ2NF9GT1JNQVQsIHdp
ZHRoLCBoZWlnaHQpOwogICAgIG1fdmlkZW9TaXplID0gRmxvYXRTaXplKHN0YXRpY19jYXN0PGlu
dD4od2lkdGgpLCBzdGF0aWNfY2FzdDxpbnQ+KGhlaWdodCkpOwogICAgIHJldHVybiBtX3ZpZGVv
U2l6ZTsKIH0KQEAgLTU4OCw3ICs1ODgsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCiAgICAgaWYgKCFtX3ZvbHVtZUVsZW1l
bnQpCiAgICAgICAgIHJldHVybjsKIAotICAgIEdTVF9ERUJVRygiU2V0dGluZyB2b2x1bWU6ICVm
Iiwgdm9sdW1lKTsKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJTZXR0aW5nIHZv
bHVtZTogJWYiLCB2b2x1bWUpOwogICAgIGdzdF9zdHJlYW1fdm9sdW1lX3NldF92b2x1bWUobV92
b2x1bWVFbGVtZW50LmdldCgpLCBHU1RfU1RSRUFNX1ZPTFVNRV9GT1JNQVRfQ1VCSUMsIHN0YXRp
Y19jYXN0PGRvdWJsZT4odm9sdW1lKSk7CiB9CiAKQEAgLTYxNyw3ICs2MTcsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5vdGlmeVBsYXllck9mVm9sdW1lQ2hhbmdl
KCkKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dm9sdW1lQ2hhbmdlZENh
bGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqIHBsYXllcikKIHsKICAgICAv
LyBUaGlzIGlzIGNhbGxlZCB3aGVuIG1fdm9sdW1lRWxlbWVudCByZWNlaXZlcyB0aGUgbm90aWZ5
Ojp2b2x1bWUgc2lnbmFsLgotICAgIEdTVF9ERUJVRygiVm9sdW1lIGNoYW5nZWQgdG86ICVmIiwg
cGxheWVyLT52b2x1bWUoKSk7CisgICAgR1NUX0RFQlVHX09CSkVDVChwbGF5ZXItPnBpcGVsaW5l
KCksICJWb2x1bWUgY2hhbmdlZCB0bzogJWYiLCBwbGF5ZXItPnZvbHVtZSgpKTsKIAogICAgIHBs
YXllci0+bV9ub3RpZmllci0+bm90aWZ5KE1haW5UaHJlYWROb3RpZmljYXRpb246OlZvbHVtZUNo
YW5nZWQsIFtwbGF5ZXJdIHsgcGxheWVyLT5ub3RpZnlQbGF5ZXJPZlZvbHVtZUNoYW5nZSgpOyB9
KTsKIH0KQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2U6OnNldE11dGVkKGJvb2wgbXV0ZSkKICAgICBpZiAoY3VycmVudFZhbHVlID09IG11dGUp
CiAgICAgICAgIHJldHVybjsKIAotICAgIEdTVF9JTkZPKCJTZXQgbXV0ZWQgdG8gJXMiLCB0b1N0
cmluZyhtdXRlKS51dGY4KCkuZGF0YSgpKTsKKyAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUo
KSwgIlNldCBtdXRlZCB0byAlcyIsIHRvU3RyaW5nKG11dGUpLnV0ZjgoKS5kYXRhKCkpOwogICAg
IGdfb2JqZWN0X3NldChtX3ZvbHVtZUVsZW1lbnQuZ2V0KCksICJtdXRlIiwgbXV0ZSwgbnVsbHB0
cik7CiB9CiAKQEAgLTY1Nyw3ICs2NTcsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6Om11dGVkKCkgY29uc3QKIAogICAgIGdib29sZWFuIG11dGVkOwogICAgIGdfb2Jq
ZWN0X2dldChtX3ZvbHVtZUVsZW1lbnQuZ2V0KCksICJtdXRlIiwgJm11dGVkLCBudWxscHRyKTsK
LSAgICBHU1RfSU5GTygiUGxheWVyIGlzIG11dGVkOiAlcyIsIHRvU3RyaW5nKHN0YXRpY19jYXN0
PGJvb2w+KG11dGVkKSkudXRmOCgpLmRhdGEoKSk7CisgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVs
aW5lKCksICJQbGF5ZXIgaXMgbXV0ZWQ6ICVzIiwgdG9TdHJpbmcoc3RhdGljX2Nhc3Q8Ym9vbD4o
bXV0ZWQpKS51dGY4KCkuZGF0YSgpKTsKICAgICByZXR1cm4gbXV0ZWQ7CiB9CiAKQEAgLTc5OSw3
ICs3OTksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJS
ZXBhaW50KEdzdFNhbXBsZSogc2FtcGxlKQogICAgIH0KIAogICAgIGlmICh0cmlnZ2VyUmVzaXpl
KSB7Ci0gICAgICAgIEdTVF9ERUJVRygiRmlyc3Qgc2FtcGxlIHJlYWNoZWQgdGhlIHNpbmssIHRy
aWdnZXJpbmcgdmlkZW8gZGltZW5zaW9ucyB1cGRhdGUiKTsKKyAgICAgICAgR1NUX0RFQlVHX09C
SkVDVChwaXBlbGluZSgpLCAiRmlyc3Qgc2FtcGxlIHJlYWNoZWQgdGhlIHNpbmssIHRyaWdnZXJp
bmcgdmlkZW8gZGltZW5zaW9ucyB1cGRhdGUiKTsKICAgICAgICAgbV9ub3RpZmllci0+bm90aWZ5
KE1haW5UaHJlYWROb3RpZmljYXRpb246OlNpemVDaGFuZ2VkLCBbdGhpc10geyBtX3BsYXllci0+
c2l6ZUNoYW5nZWQoKTsgfSk7CiAgICAgfQogCkBAIC04NjcsNyArODY3LDcgQEAgR3N0Rmxvd1Jl
dHVybiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuZXdQcmVyb2xsQ2FsbGJhY2so
R3N0RWxlbWVudCogc2kKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpm
bHVzaEN1cnJlbnRCdWZmZXIoKQogewotICAgIEdTVF9ERUJVRygiRmx1c2hpbmcgdmlkZW8gc2Ft
cGxlIik7CisgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiRmx1c2hpbmcgdmlkZW8g
c2FtcGxlIik7CiAgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrKG1fc2FtcGxlTXV0
ZXgpOwogICAgIG1fc2FtcGxlLmNsZWFyKCk7CiAKQEAgLTExNTQsMTIgKzExNTQsMTIgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRTdHJlYW1Wb2x1bWVFbGVtZW50
KEdzdFN0cmVhbVZvbHVtZSogdm8KICAgICAvLyBXZSBkb24ndCBzZXQgdGhlIGluaXRpYWwgdm9s
dW1lIGJlY2F1c2Ugd2UgdHJ1c3QgdGhlIHNpbmsgdG8ga2VlcCBpdCBmb3IgdXMuIFNlZQogICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg5NzQgZm9yIG1v
cmUgaW5mb3JtYXRpb24uCiAgICAgaWYgKCFtX3BsYXllci0+cGxhdGZvcm1Wb2x1bWVDb25maWd1
cmF0aW9uUmVxdWlyZWQoKSkgewotICAgICAgICBHU1RfREVCVUcoIlNldHRpbmcgc3RyZWFtIHZv
bHVtZSB0byAlZiIsIG1fcGxheWVyLT52b2x1bWUoKSk7CisgICAgICAgIEdTVF9ERUJVR19PQkpF
Q1QocGlwZWxpbmUoKSwgIlNldHRpbmcgc3RyZWFtIHZvbHVtZSB0byAlZiIsIG1fcGxheWVyLT52
b2x1bWUoKSk7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3ZvbHVtZUVsZW1lbnQuZ2V0KCksICJ2
b2x1bWUiLCBtX3BsYXllci0+dm9sdW1lKCksIG51bGxwdHIpOwogICAgIH0gZWxzZQotICAgICAg
ICBHU1RfREVCVUcoIk5vdCBzZXR0aW5nIHN0cmVhbSB2b2x1bWUsIHRydXN0aW5nIHN5c3RlbSBv
bmUiKTsKKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiTm90IHNldHRpbmcg
c3RyZWFtIHZvbHVtZSwgdHJ1c3Rpbmcgc3lzdGVtIG9uZSIpOwogCi0gICAgR1NUX0RFQlVHKCJT
ZXR0aW5nIHN0cmVhbSBtdXRlZCAlcyIsICB0b1N0cmluZyhtX3BsYXllci0+bXV0ZWQoKSkudXRm
OCgpLmRhdGEoKSk7CisgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiU2V0dGluZyBz
dHJlYW0gbXV0ZWQgJXMiLCB0b1N0cmluZyhtX3BsYXllci0+bXV0ZWQoKSkudXRmOCgpLmRhdGEo
KSk7CiAgICAgZ19vYmplY3Rfc2V0KG1fdm9sdW1lRWxlbWVudC5nZXQoKSwgIm11dGUiLCBtX3Bs
YXllci0+bXV0ZWQoKSwgbnVsbHB0cik7CiAKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQo
bV92b2x1bWVFbGVtZW50LmdldCgpLCAibm90aWZ5Ojp2b2x1bWUiLCBHX0NBTExCQUNLKHZvbHVt
ZUNoYW5nZWRDYWxsYmFjayksIHRoaXMpOwpAQCAtMTIxMSw3ICsxMjExLDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjZG1JbnN0YW5jZUF0dGFjaGVkKENETUluc3Rh
bmNlJiBpbnN0YW5jZSkKIHsKICAgICBBU1NFUlQoIW1fY2RtSW5zdGFuY2UpOwogICAgIG1fY2Rt
SW5zdGFuY2UgPSAmaW5zdGFuY2U7Ci0gICAgR1NUX0RFQlVHKCJDRE0gaW5zdGFuY2UgJXAgc2V0
IiwgbV9jZG1JbnN0YW5jZS5nZXQoKSk7CisgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgp
LCAiQ0RNIGluc3RhbmNlICVwIHNldCIsIG1fY2RtSW5zdGFuY2UuZ2V0KCkpOwogICAgIG1fcHJv
dGVjdGlvbkNvbmRpdGlvbi5ub3RpZnlBbGwoKTsKIH0KIApAQCAtMTIyMSw3ICsxMjIxLDcgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjZG1JbnN0YW5jZURldGFjaGVk
KENETUluc3RhbmNlJiBpbnN0YW5jZSkKICAgICBVTlVTRURfUEFSQU0oaW5zdGFuY2UpOwogI2Vu
ZGlmCiAgICAgQVNTRVJUKG1fY2RtSW5zdGFuY2UuZ2V0KCkgPT0gJmluc3RhbmNlKTsKLSAgICBH
U1RfREVCVUcoImRldGFjaGluZyBDRE0gaW5zdGFuY2UgJXAiLCBtX2NkbUluc3RhbmNlLmdldCgp
KTsKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJkZXRhY2hpbmcgQ0RNIGluc3Rh
bmNlICVwIiwgbV9jZG1JbnN0YW5jZS5nZXQoKSk7CiAgICAgbV9jZG1JbnN0YW5jZSA9IG51bGxw
dHI7CiAgICAgbV9wcm90ZWN0aW9uQ29uZGl0aW9uLm5vdGlmeUFsbCgpOwogfQpAQCAtMTI0MCw3
ICsxMjQwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjphdHRlbXB0
VG9EZWNyeXB0V2l0aExvY2FsSW5zdGFuY2UoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2U6OmRpc3BhdGNoRGVjcnlwdGlvbktleShHc3RCdWZmZXIqIGJ1ZmZlcikKIHsK
LSAgICBib29sIGV2ZW50SGFuZGxlZCA9IGdzdF9lbGVtZW50X3NlbmRfZXZlbnQobV9waXBlbGlu
ZS5nZXQoKSwgZ3N0X2V2ZW50X25ld19jdXN0b20oR1NUX0VWRU5UX0NVU1RPTV9ET1dOU1RSRUFN
X09PQiwKKyAgICBib29sIGV2ZW50SGFuZGxlZCA9IGdzdF9lbGVtZW50X3NlbmRfZXZlbnQocGlw
ZWxpbmUoKSwgZ3N0X2V2ZW50X25ld19jdXN0b20oR1NUX0VWRU5UX0NVU1RPTV9ET1dOU1RSRUFN
X09PQiwKICAgICAgICAgZ3N0X3N0cnVjdHVyZV9uZXcoImRybS1jaXBoZXIiLCAia2V5IiwgR1NU
X1RZUEVfQlVGRkVSLCBidWZmZXIsIG51bGxwdHIpKSk7CiAgICAgbV9uZWVkVG9SZXNlbmRDcmVk
ZW50aWFscyA9IG1faGFuZGxlZFByb3RlY3Rpb25FdmVudHMuc2l6ZSgpID4gMDsKICAgICBHU1Rf
VFJBQ0UoImVtaXR0ZWQgZGVjcnlwdGlvbiBjaXBoZXIga2V5IG9uIHBpcGVsaW5lLCBldmVudCBo
YW5kbGVkICVzLCBuZWVkIHRvIHJlc2VuZCBjcmVkZW50aWFscyAlcyIsIGJvb2xGb3JQcmludGlu
ZyhldmVudEhhbmRsZWQpLCBib29sRm9yUHJpbnRpbmcobV9uZWVkVG9SZXNlbmRDcmVkZW50aWFs
cykpOwpAQCAtMTI0OSwxMCArMTI0OSwxMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6OmRpc3BhdGNoRGVjcnlwdGlvbktleShHc3RCdWZmZXIqIGJ1ZmZlcikKIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlUHJvdGVjdGlvbkV2ZW50KEdz
dEV2ZW50KiBldmVudCkKIHsKICAgICBpZiAobV9oYW5kbGVkUHJvdGVjdGlvbkV2ZW50cy5jb250
YWlucyhHU1RfRVZFTlRfU0VRTlVNKGV2ZW50KSkpIHsKLSAgICAgICAgR1NUX0RFQlVHKCJldmVu
dCAldSBhbHJlYWR5IGhhbmRsZWQiLCBHU1RfRVZFTlRfU0VRTlVNKGV2ZW50KSk7CisgICAgICAg
IEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgImV2ZW50ICV1IGFscmVhZHkgaGFuZGxlZCIs
IEdTVF9FVkVOVF9TRVFOVU0oZXZlbnQpKTsKICAgICAgICAgbV9oYW5kbGVkUHJvdGVjdGlvbkV2
ZW50cy5yZW1vdmUoR1NUX0VWRU5UX1NFUU5VTShldmVudCkpOwogICAgICAgICBpZiAobV9uZWVk
VG9SZXNlbmRDcmVkZW50aWFscykgewotICAgICAgICAgICAgR1NUX0RFQlVHKCJyZXNlbmRpbmcg
Y3JlZGVudGlhbHMiKTsKKyAgICAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwg
InJlc2VuZGluZyBjcmVkZW50aWFscyIpOwogICAgICAgICAgICAgYXR0ZW1wdFRvRGVjcnlwdFdp
dGhMb2NhbEluc3RhbmNlKCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336575</attachid>
            <date>2018-03-27 06:21:46 -0700</date>
            <delta_ts>2018-03-27 08:43:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184035-20180327102144.patch</filename>
            <type>text/plain</type>
            <size>15804</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIxMWFiMTk0ODBmZjUz
NGVjNzY2ZGJkZGIyMmViNGMwODA0MTRkYy4uYjk0ZTFlMDEyN2MxYjVlNzVmYjExOGU2NzA5NzA3
MzIwOWJjMTdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTAzLTI3ICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBFbmhhbmNlIGRlYnVnZ2luZyBpbiB0aGUgQmFzZVBsYXllcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MDM1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gYmVoYXZpb3VyIGNoYW5nZXMgc28gbm8g
dGVzdCB3ZXJlIGFkZGVkL2VuYWJsZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2Fn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpl
bnN1cmVHc3RHTENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZTo6bmF0dXJhbFNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0Vm9sdW1lKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnZvbHVtZUNoYW5nZWRDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpz
ZXRNdXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjptdXRlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpmbHVzaEN1cnJlbnRCdWZmZXIpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0U3RyZWFtVm9sdW1l
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjpjZG1JbnN0YW5jZUF0dGFjaGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNkbUluc3RhbmNlRGV0YWNoZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZGlzcGF0Y2hEZWNyeXB0aW9u
S2V5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
OmhhbmRsZVByb3RlY3Rpb25FdmVudCk6CisKIDIwMTgtMDMtMjEgIFphbiBEb2JlcnNlayAgPHpk
b2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29yZEdyYXBoaWNzXSBUcmFjayBkaXJ0
eSByZWN0cyB0aGF0IG5lZWQgdXBkYXRlIGluIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmlu
ZGV4IDgyYWI3YzhmMDBmZTg5NGRkNGNhNWU5ZTBjNjcxNzhjNjkwY2JjNmUuLjZmZmFiMjU0ZjQ0
ODM0YmM1ZTViYWMxZmJhMDJhOTRjM2FjNDFhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTMyMyw3ICszMjMsNyBAQCBi
b29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVN5bmNNZXNzYWdlKEdz
dE1lc3NhZ2UqIG1lc3NhZ2UpCiAKICAgICBjb25zdCBnY2hhciogY29udGV4dFR5cGU7CiAgICAg
Z3N0X21lc3NhZ2VfcGFyc2VfY29udGV4dF90eXBlKG1lc3NhZ2UsICZjb250ZXh0VHlwZSk7Ci0g
ICAgR1NUX0RFQlVHKCJIYW5kbGluZyAlcyBuZWVkLWNvbnRleHQgbWVzc2FnZSBmb3IgJXMiLCBj
b250ZXh0VHlwZSwgR1NUX01FU1NBR0VfU1JDX05BTUUobWVzc2FnZSkpOworICAgIEdTVF9ERUJV
R19PQkpFQ1QocGlwZWxpbmUoKSwgIkhhbmRsaW5nICVzIG5lZWQtY29udGV4dCBtZXNzYWdlIGZv
ciAlcyIsIGNvbnRleHRUeXBlLCBHU1RfTUVTU0FHRV9TUkNfTkFNRShtZXNzYWdlKSk7CiAKICNp
ZiBVU0UoR1NUUkVBTUVSX0dMKQogICAgIEdSZWZQdHI8R3N0Q29udGV4dD4gZWxlbWVudENvbnRl
eHQgPSBhZG9wdEdSZWYocmVxdWVzdEdMQ29udGV4dChjb250ZXh0VHlwZSkpOwpAQCAtMzQwLDcg
KzM0MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3lu
Y01lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0gICAgICAgIEdT
VF9ERUJVRygiaGFuZGxpbmcgZHJtLXByZWZlcnJlZC1kZWNyeXB0aW9uLXN5c3RlbS1pZCBuZWVk
IGNvbnRleHQgbWVzc2FnZSIpOworICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCks
ICJoYW5kbGluZyBkcm0tcHJlZmVycmVkLWRlY3J5cHRpb24tc3lzdGVtLWlkIG5lZWQgY29udGV4
dCBtZXNzYWdlIik7CiAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3Byb3RlY3Rpb25NdXRleCk7
CiAgICAgICAgIHN0ZDo6cGFpcjxWZWN0b3I8R1JlZlB0cjxHc3RFdmVudD4+LCBWZWN0b3I8U3Ry
aW5nPj4gc3RyZWFtRW5jcnlwdGlvbkluZm9ybWF0aW9uID0gZXh0cmFjdEV2ZW50c0FuZFN5c3Rl
bXNGcm9tTWVzc2FnZShtZXNzYWdlKTsKICAgICAgICAgR1NUX1RSQUNFKCJmb3VuZCAlIiBHX0dT
SVpFX0ZPUk1BVCAiIHByb3RlY3Rpb24gZXZlbnRzIiwgc3RyZWFtRW5jcnlwdGlvbkluZm9ybWF0
aW9uLmZpcnN0LnNpemUoKSk7CkBAIC0zNjAsNyArMzYwLDcgQEAgYm9vbCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdl
KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgR1NU
X1RSQUNFKCJhcHBlbmRpbmcgaW5pdCBkYXRhIGZvciAlcyBvZiBzaXplICUiIEdfR1NJWkVfRk9S
TUFULCBldmVudEtleVN5c3RlbUlkLCBtYXBJbmZvLnNpemUpOwotICAgICAgICAgICAgR1NUX01F
TURVTVAoImluaXQgZGF0YSIsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhciAq
PihtYXBJbmZvLmRhdGEpLCBtYXBJbmZvLnNpemUpOworICAgICAgICAgICAgR1NUX01FTURVTVAo
ImluaXQgZGF0YSIsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KG1hcElu
Zm8uZGF0YSksIG1hcEluZm8uc2l6ZSk7CiAgICAgICAgICAgICBjb25jYXRlbmF0ZWRJbml0RGF0
YUNodW5rcy5hcHBlbmQobWFwSW5mby5kYXRhLCBtYXBJbmZvLnNpemUpOwogICAgICAgICAgICAg
Kytjb25jYXRlbmF0ZWRJbml0RGF0YUNodW5rc051bWJlcjsKICAgICAgICAgICAgIGV2ZW50S2V5
U3lzdGVtSWRTdHJpbmcgPSBldmVudEtleVN5c3RlbUlkOwpAQCAtMzgxLDE4ICszODEsMTggQEAg
Ym9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZShH
c3RNZXNzYWdlKiBtZXNzYWdlKQogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIEdTVF9ERUJVRygic2NoZWR1bGluZyBpbml0
aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZCBldmVudCBmb3IgJXMgd2l0aCBjb25jYXRlbmF0ZWQg
aW5pdCBkYXRhcyBzaXplIG9mICUiIEdfR1NJWkVfRk9STUFULCBldmVudEtleVN5c3RlbUlkU3Ry
aW5nLnV0ZjgoKS5kYXRhKCksIGluaXREYXRhLnNpemUoKSk7CisgICAgICAgICAgICBHU1RfREVC
VUdfT0JKRUNUKHBpcGVsaW5lKCksICJzY2hlZHVsaW5nIGluaXRpYWxpemF0aW9uRGF0YUVuY291
bnRlcmVkIGV2ZW50IGZvciAlcyB3aXRoIGNvbmNhdGVuYXRlZCBpbml0IGRhdGFzIHNpemUgb2Yg
JSIgR19HU0laRV9GT1JNQVQsIGV2ZW50S2V5U3lzdGVtSWRTdHJpbmcudXRmOCgpLmRhdGEoKSwg
aW5pdERhdGEuc2l6ZSgpKTsKICAgICAgICAgICAgIEdTVF9NRU1EVU1QKCJpbml0IGRhdGFzIiwg
aW5pdERhdGEuZGF0YSgpLCBpbml0RGF0YS5zaXplKCkpOwogICAgICAgICAgICAgd2Vha1RoaXMt
Pm1fcGxheWVyLT5pbml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZChBU0NJSUxpdGVyYWwoImNl
bmMiKSwgQXJyYXlCdWZmZXI6OmNyZWF0ZShpbml0RGF0YS5kYXRhKCksIGluaXREYXRhLnNpemUo
KSkpOwogICAgICAgICB9KTsKIAotICAgICAgICBHU1RfSU5GTygid2FpdGluZyBmb3IgYSBDRE0g
aW5zdGFuY2UiKTsKKyAgICAgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICJ3YWl0aW5n
IGZvciBhIENETSBpbnN0YW5jZSIpOwogICAgICAgICBtX3Byb3RlY3Rpb25Db25kaXRpb24ud2Fp
dEZvcihtX3Byb3RlY3Rpb25NdXRleCwgU2Vjb25kcyg0KSwgW3RoaXNdIHsKICAgICAgICAgICAg
IHJldHVybiB0aGlzLT5tX2NkbUluc3RhbmNlOwogICAgICAgICB9KTsKICAgICAgICAgaWYgKG1f
Y2RtSW5zdGFuY2UgJiYgIW1fY2RtSW5zdGFuY2UtPmtleVN5c3RlbSgpLmlzRW1wdHkoKSkgewog
ICAgICAgICAgICAgY29uc3QgY2hhciogcHJlZmVycmVkS2V5U3lzdGVtVXVpZCA9IEdTdHJlYW1l
ckVNRVV0aWxpdGllczo6a2V5U3lzdGVtVG9VdWlkKG1fY2RtSW5zdGFuY2UtPmtleVN5c3RlbSgp
KTsKLSAgICAgICAgICAgIEdTVF9JTkZPKCJ3b3JraW5nIHdpdGggJXMsIGNvbnRpbnVpbmcgd2l0
aCAlcyBvbiAlcyIsIG1fY2RtSW5zdGFuY2UtPmtleVN5c3RlbSgpLnV0ZjgoKS5kYXRhKCksIHBy
ZWZlcnJlZEtleVN5c3RlbVV1aWQsIEdTVF9NRVNTQUdFX1NSQ19OQU1FKG1lc3NhZ2UpKTsKKyAg
ICAgICAgICAgIEdTVF9JTkZPX09CSkVDVChwaXBlbGluZSgpLCAid29ya2luZyB3aXRoICVzLCBj
b250aW51aW5nIHdpdGggJXMgb24gJXMiLCBtX2NkbUluc3RhbmNlLT5rZXlTeXN0ZW0oKS51dGY4
KCkuZGF0YSgpLCBwcmVmZXJyZWRLZXlTeXN0ZW1VdWlkLCBHU1RfTUVTU0FHRV9TUkNfTkFNRSht
ZXNzYWdlKSk7CiAKICAgICAgICAgICAgIEdSZWZQdHI8R3N0Q29udGV4dD4gY29udGV4dCA9IGFk
b3B0R1JlZihnc3RfY29udGV4dF9uZXcoImRybS1wcmVmZXJyZWQtZGVjcnlwdGlvbi1zeXN0ZW0t
aWQiLCBGQUxTRSkpOwogICAgICAgICAgICAgR3N0U3RydWN0dXJlKiBjb250ZXh0U3RydWN0dXJl
ID0gZ3N0X2NvbnRleHRfd3JpdGFibGVfc3RydWN0dXJlKGNvbnRleHQuZ2V0KCkpOwpAQCAtNDQ3
LDcgKzQ0Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZW5zdXJl
R3N0R0xDb250ZXh0KCkKICNpZiBQTEFURk9STShYMTEpCiAjaWYgVVNFKEdMWCkKICAgICAgICAg
aWYgKGlzPFBsYXRmb3JtRGlzcGxheVgxMT4oc2hhcmVkRGlzcGxheSkpIHsKLSAgICAgICAgICAg
IEdTVF9ERUJVRygiQ3JlYXRpbmcgWDExIHNoYXJlZCBHTCBkaXNwbGF5Iik7CisgICAgICAgICAg
ICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJDcmVhdGluZyBYMTEgc2hhcmVkIEdMIGRp
c3BsYXkiKTsKICAgICAgICAgICAgIGlmIChzaG91bGRBZG9wdFJlZikKICAgICAgICAgICAgICAg
ICBtX2dsRGlzcGxheSA9IGFkb3B0R1JlZihHU1RfR0xfRElTUExBWShnc3RfZ2xfZGlzcGxheV94
MTFfbmV3X3dpdGhfZGlzcGxheShkb3duY2FzdDxQbGF0Zm9ybURpc3BsYXlYMTE+KHNoYXJlZERp
c3BsYXkpLm5hdGl2ZSgpKSkpOwogICAgICAgICAgICAgZWxzZQpAQCAtNDU1LDcgKzQ1NSw3IEBA
IGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZW5zdXJlR3N0R0xDb250ZXh0
KCkKICAgICAgICAgfQogI2VsaWYgVVNFKEVHTCkKICAgICAgICAgaWYgKGlzPFBsYXRmb3JtRGlz
cGxheVgxMT4oc2hhcmVkRGlzcGxheSkpIHsKLSAgICAgICAgICAgIEdTVF9ERUJVRygiQ3JlYXRp
bmcgWDExIHNoYXJlZCBFR0wgZGlzcGxheSIpOworICAgICAgICAgICAgR1NUX0RFQlVHX09CSkVD
VChwaXBlbGluZSgpLCAiQ3JlYXRpbmcgWDExIHNoYXJlZCBFR0wgZGlzcGxheSIpOwogICAgICAg
ICAgICAgaWYgKHNob3VsZEFkb3B0UmVmKQogICAgICAgICAgICAgICAgIG1fZ2xEaXNwbGF5ID0g
YWRvcHRHUmVmKEdTVF9HTF9ESVNQTEFZKGdzdF9nbF9kaXNwbGF5X2VnbF9uZXdfd2l0aF9lZ2xf
ZGlzcGxheShkb3duY2FzdDxQbGF0Zm9ybURpc3BsYXlYMTE+KHNoYXJlZERpc3BsYXkpLmVnbERp
c3BsYXkoKSkpKTsKICAgICAgICAgICAgIGVsc2UKQEAgLTQ2Niw3ICs0NjYsNyBAQCBib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmVuc3VyZUdzdEdMQ29udGV4dCgpCiAKICNp
ZiBQTEFURk9STShXQVlMQU5EKQogICAgICAgICBpZiAoaXM8UGxhdGZvcm1EaXNwbGF5V2F5bGFu
ZD4oc2hhcmVkRGlzcGxheSkpIHsKLSAgICAgICAgICAgIEdTVF9ERUJVRygiQ3JlYXRpbmcgV2F5
bGFuZCBzaGFyZWQgZGlzcGxheSIpOworICAgICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBl
bGluZSgpLCAiQ3JlYXRpbmcgV2F5bGFuZCBzaGFyZWQgZGlzcGxheSIpOwogICAgICAgICAgICAg
aWYgKHNob3VsZEFkb3B0UmVmKQogICAgICAgICAgICAgICAgIG1fZ2xEaXNwbGF5ID0gYWRvcHRH
UmVmKEdTVF9HTF9ESVNQTEFZKGdzdF9nbF9kaXNwbGF5X2VnbF9uZXdfd2l0aF9lZ2xfZGlzcGxh
eShkb3duY2FzdDxQbGF0Zm9ybURpc3BsYXlXYXlsYW5kPihzaGFyZWREaXNwbGF5KS5lZ2xEaXNw
bGF5KCkpKSk7CiAgICAgICAgICAgICBlbHNlCkBAIC00NzYsNyArNDc2LDcgQEAgYm9vbCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjplbnN1cmVHc3RHTENvbnRleHQoKQogCiAjaWYg
UExBVEZPUk0oV1BFKQogICAgICAgICBBU1NFUlQoaXM8UGxhdGZvcm1EaXNwbGF5V1BFPihzaGFy
ZWREaXNwbGF5KSk7Ci0gICAgICAgIEdTVF9ERUJVRygiQ3JlYXRpbmcgV1BFIHNoYXJlZCBFR0wg
ZGlzcGxheSIpOworICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJDcmVhdGlu
ZyBXUEUgc2hhcmVkIEVHTCBkaXNwbGF5Iik7CiAgICAgICAgIGlmIChzaG91bGRBZG9wdFJlZikK
ICAgICAgICAgICAgIG1fZ2xEaXNwbGF5ID0gYWRvcHRHUmVmKEdTVF9HTF9ESVNQTEFZKGdzdF9n
bF9kaXNwbGF5X2VnbF9uZXdfd2l0aF9lZ2xfZGlzcGxheShkb3duY2FzdDxQbGF0Zm9ybURpc3Bs
YXlXUEU+KHNoYXJlZERpc3BsYXkpLmVnbERpc3BsYXkoKSkpKTsKICAgICAgICAgZWxzZQpAQCAt
NTUwLDggKzU1MCw4IEBAIEZsb2F0U2l6ZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiAgICAgfQogI2VuZGlmCiAKLSAgICBHU1RfREVCVUcoIk9y
aWdpbmFsIHZpZGVvIHNpemU6ICVkeCVkIiwgb3JpZ2luYWxTaXplLndpZHRoKCksIG9yaWdpbmFs
U2l6ZS5oZWlnaHQoKSk7Ci0gICAgR1NUX0RFQlVHKCJQaXhlbCBhc3BlY3QgcmF0aW86ICVkLyVk
IiwgcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgcGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9y
KTsKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJPcmlnaW5hbCB2aWRlbyBzaXpl
OiAlZHglZCIsIG9yaWdpbmFsU2l6ZS53aWR0aCgpLCBvcmlnaW5hbFNpemUuaGVpZ2h0KCkpOwor
ICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIlBpeGVsIGFzcGVjdCByYXRpbzogJWQv
JWQiLCBwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yLCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0
b3IpOwogCiAgICAgLy8gQ2FsY3VsYXRlIERBUiBiYXNlZCBvbiBQQVIgYW5kIHZpZGVvIHNpemUu
CiAgICAgaW50IGRpc3BsYXlXaWR0aCA9IG9yaWdpbmFsU2l6ZS53aWR0aCgpICogcGl4ZWxBc3Bl
Y3RSYXRpb051bWVyYXRvcjsKQEAgLTU2NSwyMCArNTY1LDIwIEBAIEZsb2F0U2l6ZSBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiAgICAgLy8gQXBw
bHkgREFSIHRvIG9yaWdpbmFsIHZpZGVvIHNpemUuIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3Ig
YXMgaW4geHZpbWFnZXNpbmsncyBzZXRjYXBzIGZ1bmN0aW9uLgogICAgIGd1aW50NjQgd2lkdGgg
PSAwLCBoZWlnaHQgPSAwOwogICAgIGlmICghKG9yaWdpbmFsU2l6ZS5oZWlnaHQoKSAlIGRpc3Bs
YXlIZWlnaHQpKSB7Ci0gICAgICAgIEdTVF9ERUJVRygiS2VlcGluZyB2aWRlbyBvcmlnaW5hbCBo
ZWlnaHQiKTsKKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiS2VlcGluZyB2
aWRlbyBvcmlnaW5hbCBoZWlnaHQiKTsKICAgICAgICAgd2lkdGggPSBnc3RfdXRpbF91aW50NjRf
c2NhbGVfaW50KG9yaWdpbmFsU2l6ZS5oZWlnaHQoKSwgZGlzcGxheVdpZHRoLCBkaXNwbGF5SGVp
Z2h0KTsKICAgICAgICAgaGVpZ2h0ID0gc3RhdGljX2Nhc3Q8Z3VpbnQ2ND4ob3JpZ2luYWxTaXpl
LmhlaWdodCgpKTsKICAgICB9IGVsc2UgaWYgKCEob3JpZ2luYWxTaXplLndpZHRoKCkgJSBkaXNw
bGF5V2lkdGgpKSB7Ci0gICAgICAgIEdTVF9ERUJVRygiS2VlcGluZyB2aWRlbyBvcmlnaW5hbCB3
aWR0aCIpOworICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJLZWVwaW5nIHZp
ZGVvIG9yaWdpbmFsIHdpZHRoIik7CiAgICAgICAgIGhlaWdodCA9IGdzdF91dGlsX3VpbnQ2NF9z
Y2FsZV9pbnQob3JpZ2luYWxTaXplLndpZHRoKCksIGRpc3BsYXlIZWlnaHQsIGRpc3BsYXlXaWR0
aCk7CiAgICAgICAgIHdpZHRoID0gc3RhdGljX2Nhc3Q8Z3VpbnQ2ND4ob3JpZ2luYWxTaXplLndp
ZHRoKCkpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIEdTVF9ERUJVRygiQXBwcm94aW1hdGluZyB3
aGlsZSBrZWVwaW5nIG9yaWdpbmFsIHZpZGVvIGhlaWdodCIpOworICAgICAgICBHU1RfREVCVUdf
T0JKRUNUKHBpcGVsaW5lKCksICJBcHByb3hpbWF0aW5nIHdoaWxlIGtlZXBpbmcgb3JpZ2luYWwg
dmlkZW8gaGVpZ2h0Iik7CiAgICAgICAgIHdpZHRoID0gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2lu
dChvcmlnaW5hbFNpemUuaGVpZ2h0KCksIGRpc3BsYXlXaWR0aCwgZGlzcGxheUhlaWdodCk7CiAg
ICAgICAgIGhlaWdodCA9IHN0YXRpY19jYXN0PGd1aW50NjQ+KG9yaWdpbmFsU2l6ZS5oZWlnaHQo
KSk7CiAgICAgfQogCi0gICAgR1NUX0RFQlVHKCJOYXR1cmFsIHNpemU6ICUiIEdfR1VJTlQ2NF9G
T1JNQVQgInglIiBHX0dVSU5UNjRfRk9STUFULCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBHU1RfREVC
VUdfT0JKRUNUKHBpcGVsaW5lKCksICJOYXR1cmFsIHNpemU6ICUiIEdfR1VJTlQ2NF9GT1JNQVQg
InglIiBHX0dVSU5UNjRfRk9STUFULCB3aWR0aCwgaGVpZ2h0KTsKICAgICBtX3ZpZGVvU2l6ZSA9
IEZsb2F0U2l6ZShzdGF0aWNfY2FzdDxpbnQ+KHdpZHRoKSwgc3RhdGljX2Nhc3Q8aW50PihoZWln
aHQpKTsKICAgICByZXR1cm4gbV92aWRlb1NpemU7CiB9CkBAIC01ODgsNyArNTg4LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRWb2x1bWUoZmxvYXQgdm9sdW1l
KQogICAgIGlmICghbV92b2x1bWVFbGVtZW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBHU1Rf
REVCVUcoIlNldHRpbmcgdm9sdW1lOiAlZiIsIHZvbHVtZSk7CisgICAgR1NUX0RFQlVHX09CSkVD
VChwaXBlbGluZSgpLCAiU2V0dGluZyB2b2x1bWU6ICVmIiwgdm9sdW1lKTsKICAgICBnc3Rfc3Ry
ZWFtX3ZvbHVtZV9zZXRfdm9sdW1lKG1fdm9sdW1lRWxlbWVudC5nZXQoKSwgR1NUX1NUUkVBTV9W
T0xVTUVfRk9STUFUX0NVQklDLCBzdGF0aWNfY2FzdDxkb3VibGU+KHZvbHVtZSkpOwogfQogCkBA
IC02MTcsNyArNjE3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpu
b3RpZnlQbGF5ZXJPZlZvbHVtZUNoYW5nZSgpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6OnZvbHVtZUNoYW5nZWRDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlKiBwbGF5ZXIpCiB7CiAgICAgLy8gVGhpcyBpcyBjYWxsZWQgd2hlbiBtX3ZvbHVtZUVs
ZW1lbnQgcmVjZWl2ZXMgdGhlIG5vdGlmeTo6dm9sdW1lIHNpZ25hbC4KLSAgICBHU1RfREVCVUco
IlZvbHVtZSBjaGFuZ2VkIHRvOiAlZiIsIHBsYXllci0+dm9sdW1lKCkpOworICAgIEdTVF9ERUJV
R19PQkpFQ1QocGxheWVyLT5waXBlbGluZSgpLCAiVm9sdW1lIGNoYW5nZWQgdG86ICVmIiwgcGxh
eWVyLT52b2x1bWUoKSk7CiAKICAgICBwbGF5ZXItPm1fbm90aWZpZXItPm5vdGlmeShNYWluVGhy
ZWFkTm90aWZpY2F0aW9uOjpWb2x1bWVDaGFuZ2VkLCBbcGxheWVyXSB7IHBsYXllci0+bm90aWZ5
UGxheWVyT2ZWb2x1bWVDaGFuZ2UoKTsgfSk7CiB9CkBAIC02NDYsNyArNjQ2LDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRNdXRlZChib29sIG11dGUpCiAgICAg
aWYgKGN1cnJlbnRWYWx1ZSA9PSBtdXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBHU1RfSU5G
TygiU2V0IG11dGVkIHRvICVzIiwgdG9TdHJpbmcobXV0ZSkudXRmOCgpLmRhdGEoKSk7CisgICAg
R1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICJTZXQgbXV0ZWQgdG8gJXMiLCB0b1N0cmluZyht
dXRlKS51dGY4KCkuZGF0YSgpKTsKICAgICBnX29iamVjdF9zZXQobV92b2x1bWVFbGVtZW50Lmdl
dCgpLCAibXV0ZSIsIG11dGUsIG51bGxwdHIpOwogfQogCkBAIC02NTcsNyArNjU3LDcgQEAgYm9v
bCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjptdXRlZCgpIGNvbnN0CiAKICAgICBn
Ym9vbGVhbiBtdXRlZDsKICAgICBnX29iamVjdF9nZXQobV92b2x1bWVFbGVtZW50LmdldCgpLCAi
bXV0ZSIsICZtdXRlZCwgbnVsbHB0cik7Ci0gICAgR1NUX0lORk8oIlBsYXllciBpcyBtdXRlZDog
JXMiLCB0b1N0cmluZyhzdGF0aWNfY2FzdDxib29sPihtdXRlZCkpLnV0ZjgoKS5kYXRhKCkpOwor
ICAgIEdTVF9JTkZPX09CSkVDVChwaXBlbGluZSgpLCAiUGxheWVyIGlzIG11dGVkOiAlcyIsIHRv
U3RyaW5nKHN0YXRpY19jYXN0PGJvb2w+KG11dGVkKSkudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0
dXJuIG11dGVkOwogfQogCkBAIC03OTksNyArNzk5LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICAgICB9
CiAKICAgICBpZiAodHJpZ2dlclJlc2l6ZSkgewotICAgICAgICBHU1RfREVCVUcoIkZpcnN0IHNh
bXBsZSByZWFjaGVkIHRoZSBzaW5rLCB0cmlnZ2VyaW5nIHZpZGVvIGRpbWVuc2lvbnMgdXBkYXRl
Iik7CisgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIkZpcnN0IHNhbXBsZSBy
ZWFjaGVkIHRoZSBzaW5rLCB0cmlnZ2VyaW5nIHZpZGVvIGRpbWVuc2lvbnMgdXBkYXRlIik7CiAg
ICAgICAgIG1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFkTm90aWZpY2F0aW9uOjpTaXplQ2hh
bmdlZCwgW3RoaXNdIHsgbV9wbGF5ZXItPnNpemVDaGFuZ2VkKCk7IH0pOwogICAgIH0KIApAQCAt
ODY3LDcgKzg2Nyw3IEBAIEdzdEZsb3dSZXR1cm4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZTo6bmV3UHJlcm9sbENhbGxiYWNrKEdzdEVsZW1lbnQqIHNpCiAKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Zmx1c2hDdXJyZW50QnVmZmVyKCkKIHsKLSAgICBHU1Rf
REVCVUcoIkZsdXNoaW5nIHZpZGVvIHNhbXBsZSIpOworICAgIEdTVF9ERUJVR19PQkpFQ1QocGlw
ZWxpbmUoKSwgIkZsdXNoaW5nIHZpZGVvIHNhbXBsZSIpOwogICAgIFdURjo6R011dGV4TG9ja2Vy
PEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKICAgICBtX3NhbXBsZS5jbGVhcigpOwogCkBA
IC0xMTU0LDEyICsxMTU0LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6c2V0U3RyZWFtVm9sdW1lRWxlbWVudChHc3RTdHJlYW1Wb2x1bWUqIHZvCiAgICAgLy8gV2Ug
ZG9uJ3Qgc2V0IHRoZSBpbml0aWFsIHZvbHVtZSBiZWNhdXNlIHdlIHRydXN0IHRoZSBzaW5rIHRv
IGtlZXAgaXQgZm9yIHVzLiBTZWUKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE4OTc0IGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgIGlmICghbV9wbGF5
ZXItPnBsYXRmb3JtVm9sdW1lQ29uZmlndXJhdGlvblJlcXVpcmVkKCkpIHsKLSAgICAgICAgR1NU
X0RFQlVHKCJTZXR0aW5nIHN0cmVhbSB2b2x1bWUgdG8gJWYiLCBtX3BsYXllci0+dm9sdW1lKCkp
OworICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJTZXR0aW5nIHN0cmVhbSB2
b2x1bWUgdG8gJWYiLCBtX3BsYXllci0+dm9sdW1lKCkpOwogICAgICAgICBnX29iamVjdF9zZXQo
bV92b2x1bWVFbGVtZW50LmdldCgpLCAidm9sdW1lIiwgbV9wbGF5ZXItPnZvbHVtZSgpLCBudWxs
cHRyKTsKICAgICB9IGVsc2UKLSAgICAgICAgR1NUX0RFQlVHKCJOb3Qgc2V0dGluZyBzdHJlYW0g
dm9sdW1lLCB0cnVzdGluZyBzeXN0ZW0gb25lIik7CisgICAgICAgIEdTVF9ERUJVR19PQkpFQ1Qo
cGlwZWxpbmUoKSwgIk5vdCBzZXR0aW5nIHN0cmVhbSB2b2x1bWUsIHRydXN0aW5nIHN5c3RlbSBv
bmUiKTsKIAotICAgIEdTVF9ERUJVRygiU2V0dGluZyBzdHJlYW0gbXV0ZWQgJXMiLCAgdG9TdHJp
bmcobV9wbGF5ZXItPm11dGVkKCkpLnV0ZjgoKS5kYXRhKCkpOworICAgIEdTVF9ERUJVR19PQkpF
Q1QocGlwZWxpbmUoKSwgIlNldHRpbmcgc3RyZWFtIG11dGVkICVzIiwgdG9TdHJpbmcobV9wbGF5
ZXItPm11dGVkKCkpLnV0ZjgoKS5kYXRhKCkpOwogICAgIGdfb2JqZWN0X3NldChtX3ZvbHVtZUVs
ZW1lbnQuZ2V0KCksICJtdXRlIiwgbV9wbGF5ZXItPm11dGVkKCksIG51bGxwdHIpOwogCiAgICAg
Z19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1fdm9sdW1lRWxlbWVudC5nZXQoKSwgIm5vdGlmeTo6
dm9sdW1lIiwgR19DQUxMQkFDSyh2b2x1bWVDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKQEAgLTEy
MTEsNyArMTIxMSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Y2Rt
SW5zdGFuY2VBdHRhY2hlZChDRE1JbnN0YW5jZSYgaW5zdGFuY2UpCiB7CiAgICAgQVNTRVJUKCFt
X2NkbUluc3RhbmNlKTsKICAgICBtX2NkbUluc3RhbmNlID0gJmluc3RhbmNlOwotICAgIEdTVF9E
RUJVRygiQ0RNIGluc3RhbmNlICVwIHNldCIsIG1fY2RtSW5zdGFuY2UuZ2V0KCkpOworICAgIEdT
VF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIkNETSBpbnN0YW5jZSAlcCBzZXQiLCBtX2NkbUlu
c3RhbmNlLmdldCgpKTsKICAgICBtX3Byb3RlY3Rpb25Db25kaXRpb24ubm90aWZ5QWxsKCk7CiB9
CiAKQEAgLTEyMjEsNyArMTIyMSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZTo6Y2RtSW5zdGFuY2VEZXRhY2hlZChDRE1JbnN0YW5jZSYgaW5zdGFuY2UpCiAgICAgVU5V
U0VEX1BBUkFNKGluc3RhbmNlKTsKICNlbmRpZgogICAgIEFTU0VSVChtX2NkbUluc3RhbmNlLmdl
dCgpID09ICZpbnN0YW5jZSk7Ci0gICAgR1NUX0RFQlVHKCJkZXRhY2hpbmcgQ0RNIGluc3RhbmNl
ICVwIiwgbV9jZG1JbnN0YW5jZS5nZXQoKSk7CisgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGlu
ZSgpLCAiZGV0YWNoaW5nIENETSBpbnN0YW5jZSAlcCIsIG1fY2RtSW5zdGFuY2UuZ2V0KCkpOwog
ICAgIG1fY2RtSW5zdGFuY2UgPSBudWxscHRyOwogICAgIG1fcHJvdGVjdGlvbkNvbmRpdGlvbi5u
b3RpZnlBbGwoKTsKIH0KQEAgLTEyNDAsNyArMTI0MCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZTo6YXR0ZW1wdFRvRGVjcnlwdFdpdGhMb2NhbEluc3RhbmNlKCkKIAog
dm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpkaXNwYXRjaERlY3J5cHRpb25L
ZXkoR3N0QnVmZmVyKiBidWZmZXIpCiB7Ci0gICAgYm9vbCBldmVudEhhbmRsZWQgPSBnc3RfZWxl
bWVudF9zZW5kX2V2ZW50KG1fcGlwZWxpbmUuZ2V0KCksIGdzdF9ldmVudF9uZXdfY3VzdG9tKEdT
VF9FVkVOVF9DVVNUT01fRE9XTlNUUkVBTV9PT0IsCisgICAgYm9vbCBldmVudEhhbmRsZWQgPSBn
c3RfZWxlbWVudF9zZW5kX2V2ZW50KHBpcGVsaW5lKCksIGdzdF9ldmVudF9uZXdfY3VzdG9tKEdT
VF9FVkVOVF9DVVNUT01fRE9XTlNUUkVBTV9PT0IsCiAgICAgICAgIGdzdF9zdHJ1Y3R1cmVfbmV3
KCJkcm0tY2lwaGVyIiwgImtleSIsIEdTVF9UWVBFX0JVRkZFUiwgYnVmZmVyLCBudWxscHRyKSkp
OwogICAgIG1fbmVlZFRvUmVzZW5kQ3JlZGVudGlhbHMgPSBtX2hhbmRsZWRQcm90ZWN0aW9uRXZl
bnRzLnNpemUoKSA+IDA7CiAgICAgR1NUX1RSQUNFKCJlbWl0dGVkIGRlY3J5cHRpb24gY2lwaGVy
IGtleSBvbiBwaXBlbGluZSwgZXZlbnQgaGFuZGxlZCAlcywgbmVlZCB0byByZXNlbmQgY3JlZGVu
dGlhbHMgJXMiLCBib29sRm9yUHJpbnRpbmcoZXZlbnRIYW5kbGVkKSwgYm9vbEZvclByaW50aW5n
KG1fbmVlZFRvUmVzZW5kQ3JlZGVudGlhbHMpKTsKQEAgLTEyNDksMTAgKzEyNDksMTAgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpkaXNwYXRjaERlY3J5cHRpb25LZXko
R3N0QnVmZmVyKiBidWZmZXIpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
OmhhbmRsZVByb3RlY3Rpb25FdmVudChHc3RFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKG1faGFu
ZGxlZFByb3RlY3Rpb25FdmVudHMuY29udGFpbnMoR1NUX0VWRU5UX1NFUU5VTShldmVudCkpKSB7
Ci0gICAgICAgIEdTVF9ERUJVRygiZXZlbnQgJXUgYWxyZWFkeSBoYW5kbGVkIiwgR1NUX0VWRU5U
X1NFUU5VTShldmVudCkpOworICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJl
dmVudCAldSBhbHJlYWR5IGhhbmRsZWQiLCBHU1RfRVZFTlRfU0VRTlVNKGV2ZW50KSk7CiAgICAg
ICAgIG1faGFuZGxlZFByb3RlY3Rpb25FdmVudHMucmVtb3ZlKEdTVF9FVkVOVF9TRVFOVU0oZXZl
bnQpKTsKICAgICAgICAgaWYgKG1fbmVlZFRvUmVzZW5kQ3JlZGVudGlhbHMpIHsKLSAgICAgICAg
ICAgIEdTVF9ERUJVRygicmVzZW5kaW5nIGNyZWRlbnRpYWxzIik7CisgICAgICAgICAgICBHU1Rf
REVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJyZXNlbmRpbmcgY3JlZGVudGlhbHMiKTsKICAgICAg
ICAgICAgIGF0dGVtcHRUb0RlY3J5cHRXaXRoTG9jYWxJbnN0YW5jZSgpOwogICAgICAgICB9CiAg
ICAgICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336589</attachid>
            <date>2018-03-27 08:43:44 -0700</date>
            <delta_ts>2018-03-27 09:25:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184035-20180327124342.patch</filename>
            <type>text/plain</type>
            <size>15814</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIxMWFiMTk0ODBmZjUz
NGVjNzY2ZGJkZGIyMmViNGMwODA0MTRkYy4uYjk0ZTFlMDEyN2MxYjVlNzVmYjExOGU2NzA5NzA3
MzIwOWJjMTdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTAzLTI3ICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBFbmhhbmNlIGRlYnVnZ2luZyBpbiB0aGUgQmFzZVBsYXllcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MDM1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gYmVoYXZpb3VyIGNoYW5nZXMgc28gbm8g
dGVzdCB3ZXJlIGFkZGVkL2VuYWJsZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2Fn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpl
bnN1cmVHc3RHTENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZTo6bmF0dXJhbFNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0Vm9sdW1lKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnZvbHVtZUNoYW5nZWRDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpz
ZXRNdXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjptdXRlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpmbHVzaEN1cnJlbnRCdWZmZXIpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0U3RyZWFtVm9sdW1l
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjpjZG1JbnN0YW5jZUF0dGFjaGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNkbUluc3RhbmNlRGV0YWNoZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZGlzcGF0Y2hEZWNyeXB0aW9u
S2V5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
OmhhbmRsZVByb3RlY3Rpb25FdmVudCk6CisKIDIwMTgtMDMtMjEgIFphbiBEb2JlcnNlayAgPHpk
b2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29yZEdyYXBoaWNzXSBUcmFjayBkaXJ0
eSByZWN0cyB0aGF0IG5lZWQgdXBkYXRlIGluIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmlu
ZGV4IDgyYWI3YzhmMDBmZTg5NGRkNGNhNWU5ZTBjNjcxNzhjNjkwY2JjNmUuLjA2YTk3NTc2ZTY1
MDJmZDBkYWE3ZmM3N2E4MTA0NzhkMzhkNmY4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTMyMyw3ICszMjMsNyBAQCBi
b29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVN5bmNNZXNzYWdlKEdz
dE1lc3NhZ2UqIG1lc3NhZ2UpCiAKICAgICBjb25zdCBnY2hhciogY29udGV4dFR5cGU7CiAgICAg
Z3N0X21lc3NhZ2VfcGFyc2VfY29udGV4dF90eXBlKG1lc3NhZ2UsICZjb250ZXh0VHlwZSk7Ci0g
ICAgR1NUX0RFQlVHKCJIYW5kbGluZyAlcyBuZWVkLWNvbnRleHQgbWVzc2FnZSBmb3IgJXMiLCBj
b250ZXh0VHlwZSwgR1NUX01FU1NBR0VfU1JDX05BTUUobWVzc2FnZSkpOworICAgIEdTVF9ERUJV
R19PQkpFQ1QocGlwZWxpbmUoKSwgIkhhbmRsaW5nICVzIG5lZWQtY29udGV4dCBtZXNzYWdlIGZv
ciAlcyIsIGNvbnRleHRUeXBlLCBHU1RfTUVTU0FHRV9TUkNfTkFNRShtZXNzYWdlKSk7CiAKICNp
ZiBVU0UoR1NUUkVBTUVSX0dMKQogICAgIEdSZWZQdHI8R3N0Q29udGV4dD4gZWxlbWVudENvbnRl
eHQgPSBhZG9wdEdSZWYocmVxdWVzdEdMQ29udGV4dChjb250ZXh0VHlwZSkpOwpAQCAtMzQwLDcg
KzM0MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3lu
Y01lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0gICAgICAgIEdT
VF9ERUJVRygiaGFuZGxpbmcgZHJtLXByZWZlcnJlZC1kZWNyeXB0aW9uLXN5c3RlbS1pZCBuZWVk
IGNvbnRleHQgbWVzc2FnZSIpOworICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCks
ICJoYW5kbGluZyBkcm0tcHJlZmVycmVkLWRlY3J5cHRpb24tc3lzdGVtLWlkIG5lZWQgY29udGV4
dCBtZXNzYWdlIik7CiAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3Byb3RlY3Rpb25NdXRleCk7
CiAgICAgICAgIHN0ZDo6cGFpcjxWZWN0b3I8R1JlZlB0cjxHc3RFdmVudD4+LCBWZWN0b3I8U3Ry
aW5nPj4gc3RyZWFtRW5jcnlwdGlvbkluZm9ybWF0aW9uID0gZXh0cmFjdEV2ZW50c0FuZFN5c3Rl
bXNGcm9tTWVzc2FnZShtZXNzYWdlKTsKICAgICAgICAgR1NUX1RSQUNFKCJmb3VuZCAlIiBHX0dT
SVpFX0ZPUk1BVCAiIHByb3RlY3Rpb24gZXZlbnRzIiwgc3RyZWFtRW5jcnlwdGlvbkluZm9ybWF0
aW9uLmZpcnN0LnNpemUoKSk7CkBAIC0zNjAsNyArMzYwLDcgQEAgYm9vbCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdl
KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgR1NU
X1RSQUNFKCJhcHBlbmRpbmcgaW5pdCBkYXRhIGZvciAlcyBvZiBzaXplICUiIEdfR1NJWkVfRk9S
TUFULCBldmVudEtleVN5c3RlbUlkLCBtYXBJbmZvLnNpemUpOwotICAgICAgICAgICAgR1NUX01F
TURVTVAoImluaXQgZGF0YSIsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhciAq
PihtYXBJbmZvLmRhdGEpLCBtYXBJbmZvLnNpemUpOworICAgICAgICAgICAgR1NUX01FTURVTVAo
ImluaXQgZGF0YSIsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KG1hcElu
Zm8uZGF0YSksIG1hcEluZm8uc2l6ZSk7CiAgICAgICAgICAgICBjb25jYXRlbmF0ZWRJbml0RGF0
YUNodW5rcy5hcHBlbmQobWFwSW5mby5kYXRhLCBtYXBJbmZvLnNpemUpOwogICAgICAgICAgICAg
Kytjb25jYXRlbmF0ZWRJbml0RGF0YUNodW5rc051bWJlcjsKICAgICAgICAgICAgIGV2ZW50S2V5
U3lzdGVtSWRTdHJpbmcgPSBldmVudEtleVN5c3RlbUlkOwpAQCAtMzgxLDE4ICszODEsMTggQEAg
Ym9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZShH
c3RNZXNzYWdlKiBtZXNzYWdlKQogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIEdTVF9ERUJVRygic2NoZWR1bGluZyBpbml0
aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJlZCBldmVudCBmb3IgJXMgd2l0aCBjb25jYXRlbmF0ZWQg
aW5pdCBkYXRhcyBzaXplIG9mICUiIEdfR1NJWkVfRk9STUFULCBldmVudEtleVN5c3RlbUlkU3Ry
aW5nLnV0ZjgoKS5kYXRhKCksIGluaXREYXRhLnNpemUoKSk7CisgICAgICAgICAgICBHU1RfREVC
VUdfT0JKRUNUKHdlYWtUaGlzLT5waXBlbGluZSgpLCAic2NoZWR1bGluZyBpbml0aWFsaXphdGlv
bkRhdGFFbmNvdW50ZXJlZCBldmVudCBmb3IgJXMgd2l0aCBjb25jYXRlbmF0ZWQgaW5pdCBkYXRh
cyBzaXplIG9mICUiIEdfR1NJWkVfRk9STUFULCBldmVudEtleVN5c3RlbUlkU3RyaW5nLnV0Zjgo
KS5kYXRhKCksIGluaXREYXRhLnNpemUoKSk7CiAgICAgICAgICAgICBHU1RfTUVNRFVNUCgiaW5p
dCBkYXRhcyIsIGluaXREYXRhLmRhdGEoKSwgaW5pdERhdGEuc2l6ZSgpKTsKICAgICAgICAgICAg
IHdlYWtUaGlzLT5tX3BsYXllci0+aW5pdGlhbGl6YXRpb25EYXRhRW5jb3VudGVyZWQoQVNDSUlM
aXRlcmFsKCJjZW5jIiksIEFycmF5QnVmZmVyOjpjcmVhdGUoaW5pdERhdGEuZGF0YSgpLCBpbml0
RGF0YS5zaXplKCkpKTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgR1NUX0lORk8oIndhaXRpbmcg
Zm9yIGEgQ0RNIGluc3RhbmNlIik7CisgICAgICAgIEdTVF9JTkZPX09CSkVDVChwaXBlbGluZSgp
LCAid2FpdGluZyBmb3IgYSBDRE0gaW5zdGFuY2UiKTsKICAgICAgICAgbV9wcm90ZWN0aW9uQ29u
ZGl0aW9uLndhaXRGb3IobV9wcm90ZWN0aW9uTXV0ZXgsIFNlY29uZHMoNCksIFt0aGlzXSB7CiAg
ICAgICAgICAgICByZXR1cm4gdGhpcy0+bV9jZG1JbnN0YW5jZTsKICAgICAgICAgfSk7CiAgICAg
ICAgIGlmIChtX2NkbUluc3RhbmNlICYmICFtX2NkbUluc3RhbmNlLT5rZXlTeXN0ZW0oKS5pc0Vt
cHR5KCkpIHsKICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHByZWZlcnJlZEtleVN5c3RlbVV1aWQg
PSBHU3RyZWFtZXJFTUVVdGlsaXRpZXM6OmtleVN5c3RlbVRvVXVpZChtX2NkbUluc3RhbmNlLT5r
ZXlTeXN0ZW0oKSk7Ci0gICAgICAgICAgICBHU1RfSU5GTygid29ya2luZyB3aXRoICVzLCBjb250
aW51aW5nIHdpdGggJXMgb24gJXMiLCBtX2NkbUluc3RhbmNlLT5rZXlTeXN0ZW0oKS51dGY4KCku
ZGF0YSgpLCBwcmVmZXJyZWRLZXlTeXN0ZW1VdWlkLCBHU1RfTUVTU0FHRV9TUkNfTkFNRShtZXNz
YWdlKSk7CisgICAgICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIndvcmtpbmcg
d2l0aCAlcywgY29udGludWluZyB3aXRoICVzIG9uICVzIiwgbV9jZG1JbnN0YW5jZS0+a2V5U3lz
dGVtKCkudXRmOCgpLmRhdGEoKSwgcHJlZmVycmVkS2V5U3lzdGVtVXVpZCwgR1NUX01FU1NBR0Vf
U1JDX05BTUUobWVzc2FnZSkpOwogCiAgICAgICAgICAgICBHUmVmUHRyPEdzdENvbnRleHQ+IGNv
bnRleHQgPSBhZG9wdEdSZWYoZ3N0X2NvbnRleHRfbmV3KCJkcm0tcHJlZmVycmVkLWRlY3J5cHRp
b24tc3lzdGVtLWlkIiwgRkFMU0UpKTsKICAgICAgICAgICAgIEdzdFN0cnVjdHVyZSogY29udGV4
dFN0cnVjdHVyZSA9IGdzdF9jb250ZXh0X3dyaXRhYmxlX3N0cnVjdHVyZShjb250ZXh0LmdldCgp
KTsKQEAgLTQ0Nyw3ICs0NDcsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OmVuc3VyZUdzdEdMQ29udGV4dCgpCiAjaWYgUExBVEZPUk0oWDExKQogI2lmIFVTRShHTFgp
CiAgICAgICAgIGlmIChpczxQbGF0Zm9ybURpc3BsYXlYMTE+KHNoYXJlZERpc3BsYXkpKSB7Ci0g
ICAgICAgICAgICBHU1RfREVCVUcoIkNyZWF0aW5nIFgxMSBzaGFyZWQgR0wgZGlzcGxheSIpOwor
ICAgICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiQ3JlYXRpbmcgWDExIHNo
YXJlZCBHTCBkaXNwbGF5Iik7CiAgICAgICAgICAgICBpZiAoc2hvdWxkQWRvcHRSZWYpCiAgICAg
ICAgICAgICAgICAgbV9nbERpc3BsYXkgPSBhZG9wdEdSZWYoR1NUX0dMX0RJU1BMQVkoZ3N0X2ds
X2Rpc3BsYXlfeDExX25ld193aXRoX2Rpc3BsYXkoZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5WDEx
PihzaGFyZWREaXNwbGF5KS5uYXRpdmUoKSkpKTsKICAgICAgICAgICAgIGVsc2UKQEAgLTQ1NSw3
ICs0NTUsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmVuc3VyZUdz
dEdMQ29udGV4dCgpCiAgICAgICAgIH0KICNlbGlmIFVTRShFR0wpCiAgICAgICAgIGlmIChpczxQ
bGF0Zm9ybURpc3BsYXlYMTE+KHNoYXJlZERpc3BsYXkpKSB7Ci0gICAgICAgICAgICBHU1RfREVC
VUcoIkNyZWF0aW5nIFgxMSBzaGFyZWQgRUdMIGRpc3BsYXkiKTsKKyAgICAgICAgICAgIEdTVF9E
RUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIkNyZWF0aW5nIFgxMSBzaGFyZWQgRUdMIGRpc3BsYXki
KTsKICAgICAgICAgICAgIGlmIChzaG91bGRBZG9wdFJlZikKICAgICAgICAgICAgICAgICBtX2ds
RGlzcGxheSA9IGFkb3B0R1JlZihHU1RfR0xfRElTUExBWShnc3RfZ2xfZGlzcGxheV9lZ2xfbmV3
X3dpdGhfZWdsX2Rpc3BsYXkoZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5WDExPihzaGFyZWREaXNw
bGF5KS5lZ2xEaXNwbGF5KCkpKSk7CiAgICAgICAgICAgICBlbHNlCkBAIC00NjYsNyArNDY2LDcg
QEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjplbnN1cmVHc3RHTENvbnRl
eHQoKQogCiAjaWYgUExBVEZPUk0oV0FZTEFORCkKICAgICAgICAgaWYgKGlzPFBsYXRmb3JtRGlz
cGxheVdheWxhbmQ+KHNoYXJlZERpc3BsYXkpKSB7Ci0gICAgICAgICAgICBHU1RfREVCVUcoIkNy
ZWF0aW5nIFdheWxhbmQgc2hhcmVkIGRpc3BsYXkiKTsKKyAgICAgICAgICAgIEdTVF9ERUJVR19P
QkpFQ1QocGlwZWxpbmUoKSwgIkNyZWF0aW5nIFdheWxhbmQgc2hhcmVkIGRpc3BsYXkiKTsKICAg
ICAgICAgICAgIGlmIChzaG91bGRBZG9wdFJlZikKICAgICAgICAgICAgICAgICBtX2dsRGlzcGxh
eSA9IGFkb3B0R1JlZihHU1RfR0xfRElTUExBWShnc3RfZ2xfZGlzcGxheV9lZ2xfbmV3X3dpdGhf
ZWdsX2Rpc3BsYXkoZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5V2F5bGFuZD4oc2hhcmVkRGlzcGxh
eSkuZWdsRGlzcGxheSgpKSkpOwogICAgICAgICAgICAgZWxzZQpAQCAtNDc2LDcgKzQ3Niw3IEBA
IGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZW5zdXJlR3N0R0xDb250ZXh0
KCkKIAogI2lmIFBMQVRGT1JNKFdQRSkKICAgICAgICAgQVNTRVJUKGlzPFBsYXRmb3JtRGlzcGxh
eVdQRT4oc2hhcmVkRGlzcGxheSkpOwotICAgICAgICBHU1RfREVCVUcoIkNyZWF0aW5nIFdQRSBz
aGFyZWQgRUdMIGRpc3BsYXkiKTsKKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgp
LCAiQ3JlYXRpbmcgV1BFIHNoYXJlZCBFR0wgZGlzcGxheSIpOwogICAgICAgICBpZiAoc2hvdWxk
QWRvcHRSZWYpCiAgICAgICAgICAgICBtX2dsRGlzcGxheSA9IGFkb3B0R1JlZihHU1RfR0xfRElT
UExBWShnc3RfZ2xfZGlzcGxheV9lZ2xfbmV3X3dpdGhfZWdsX2Rpc3BsYXkoZG93bmNhc3Q8UGxh
dGZvcm1EaXNwbGF5V1BFPihzaGFyZWREaXNwbGF5KS5lZ2xEaXNwbGF5KCkpKSk7CiAgICAgICAg
IGVsc2UKQEAgLTU1MCw4ICs1NTAsOCBAQCBGbG9hdFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZTo6bmF0dXJhbFNpemUoKSBjb25zdAogICAgIH0KICNlbmRpZgogCi0gICAgR1NU
X0RFQlVHKCJPcmlnaW5hbCB2aWRlbyBzaXplOiAlZHglZCIsIG9yaWdpbmFsU2l6ZS53aWR0aCgp
LCBvcmlnaW5hbFNpemUuaGVpZ2h0KCkpOwotICAgIEdTVF9ERUJVRygiUGl4ZWwgYXNwZWN0IHJh
dGlvOiAlZC8lZCIsIHBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9E
ZW5vbWluYXRvcik7CisgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiT3JpZ2luYWwg
dmlkZW8gc2l6ZTogJWR4JWQiLCBvcmlnaW5hbFNpemUud2lkdGgoKSwgb3JpZ2luYWxTaXplLmhl
aWdodCgpKTsKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJQaXhlbCBhc3BlY3Qg
cmF0aW86ICVkLyVkIiwgcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgcGl4ZWxBc3BlY3RSYXRp
b0Rlbm9taW5hdG9yKTsKIAogICAgIC8vIENhbGN1bGF0ZSBEQVIgYmFzZWQgb24gUEFSIGFuZCB2
aWRlbyBzaXplLgogICAgIGludCBkaXNwbGF5V2lkdGggPSBvcmlnaW5hbFNpemUud2lkdGgoKSAq
IHBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3I7CkBAIC01NjUsMjAgKzU2NSwyMCBAQCBGbG9hdFNp
emUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0dXJhbFNpemUoKSBjb25zdAog
ICAgIC8vIEFwcGx5IERBUiB0byBvcmlnaW5hbCB2aWRlbyBzaXplLiBUaGlzIGlzIHRoZSBzYW1l
IGJlaGF2aW9yIGFzIGluIHh2aW1hZ2VzaW5rJ3Mgc2V0Y2FwcyBmdW5jdGlvbi4KICAgICBndWlu
dDY0IHdpZHRoID0gMCwgaGVpZ2h0ID0gMDsKICAgICBpZiAoIShvcmlnaW5hbFNpemUuaGVpZ2h0
KCkgJSBkaXNwbGF5SGVpZ2h0KSkgewotICAgICAgICBHU1RfREVCVUcoIktlZXBpbmcgdmlkZW8g
b3JpZ2luYWwgaGVpZ2h0Iik7CisgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QocGlwZWxpbmUoKSwg
IktlZXBpbmcgdmlkZW8gb3JpZ2luYWwgaGVpZ2h0Iik7CiAgICAgICAgIHdpZHRoID0gZ3N0X3V0
aWxfdWludDY0X3NjYWxlX2ludChvcmlnaW5hbFNpemUuaGVpZ2h0KCksIGRpc3BsYXlXaWR0aCwg
ZGlzcGxheUhlaWdodCk7CiAgICAgICAgIGhlaWdodCA9IHN0YXRpY19jYXN0PGd1aW50NjQ+KG9y
aWdpbmFsU2l6ZS5oZWlnaHQoKSk7CiAgICAgfSBlbHNlIGlmICghKG9yaWdpbmFsU2l6ZS53aWR0
aCgpICUgZGlzcGxheVdpZHRoKSkgewotICAgICAgICBHU1RfREVCVUcoIktlZXBpbmcgdmlkZW8g
b3JpZ2luYWwgd2lkdGgiKTsKKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAi
S2VlcGluZyB2aWRlbyBvcmlnaW5hbCB3aWR0aCIpOwogICAgICAgICBoZWlnaHQgPSBnc3RfdXRp
bF91aW50NjRfc2NhbGVfaW50KG9yaWdpbmFsU2l6ZS53aWR0aCgpLCBkaXNwbGF5SGVpZ2h0LCBk
aXNwbGF5V2lkdGgpOwogICAgICAgICB3aWR0aCA9IHN0YXRpY19jYXN0PGd1aW50NjQ+KG9yaWdp
bmFsU2l6ZS53aWR0aCgpKTsKICAgICB9IGVsc2UgewotICAgICAgICBHU1RfREVCVUcoIkFwcHJv
eGltYXRpbmcgd2hpbGUga2VlcGluZyBvcmlnaW5hbCB2aWRlbyBoZWlnaHQiKTsKKyAgICAgICAg
R1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiQXBwcm94aW1hdGluZyB3aGlsZSBrZWVwaW5n
IG9yaWdpbmFsIHZpZGVvIGhlaWdodCIpOwogICAgICAgICB3aWR0aCA9IGdzdF91dGlsX3VpbnQ2
NF9zY2FsZV9pbnQob3JpZ2luYWxTaXplLmhlaWdodCgpLCBkaXNwbGF5V2lkdGgsIGRpc3BsYXlI
ZWlnaHQpOwogICAgICAgICBoZWlnaHQgPSBzdGF0aWNfY2FzdDxndWludDY0PihvcmlnaW5hbFNp
emUuaGVpZ2h0KCkpOwogICAgIH0KIAotICAgIEdTVF9ERUJVRygiTmF0dXJhbCBzaXplOiAlIiBH
X0dVSU5UNjRfRk9STUFUICJ4JSIgR19HVUlOVDY0X0ZPUk1BVCwgd2lkdGgsIGhlaWdodCk7Cisg
ICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiTmF0dXJhbCBzaXplOiAlIiBHX0dVSU5U
NjRfRk9STUFUICJ4JSIgR19HVUlOVDY0X0ZPUk1BVCwgd2lkdGgsIGhlaWdodCk7CiAgICAgbV92
aWRlb1NpemUgPSBGbG9hdFNpemUoc3RhdGljX2Nhc3Q8aW50Pih3aWR0aCksIHN0YXRpY19jYXN0
PGludD4oaGVpZ2h0KSk7CiAgICAgcmV0dXJuIG1fdmlkZW9TaXplOwogfQpAQCAtNTg4LDcgKzU4
OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0Vm9sdW1lKGZs
b2F0IHZvbHVtZSkKICAgICBpZiAoIW1fdm9sdW1lRWxlbWVudCkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgR1NUX0RFQlVHKCJTZXR0aW5nIHZvbHVtZTogJWYiLCB2b2x1bWUpOworICAgIEdTVF9E
RUJVR19PQkpFQ1QocGlwZWxpbmUoKSwgIlNldHRpbmcgdm9sdW1lOiAlZiIsIHZvbHVtZSk7CiAg
ICAgZ3N0X3N0cmVhbV92b2x1bWVfc2V0X3ZvbHVtZShtX3ZvbHVtZUVsZW1lbnQuZ2V0KCksIEdT
VF9TVFJFQU1fVk9MVU1FX0ZPUk1BVF9DVUJJQywgc3RhdGljX2Nhc3Q8ZG91YmxlPih2b2x1bWUp
KTsKIH0KIApAQCAtNjE3LDcgKzYxNyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZTo6bm90aWZ5UGxheWVyT2ZWb2x1bWVDaGFuZ2UoKQogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjp2b2x1bWVDaGFuZ2VkQ2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZSogcGxheWVyKQogewogICAgIC8vIFRoaXMgaXMgY2FsbGVkIHdoZW4g
bV92b2x1bWVFbGVtZW50IHJlY2VpdmVzIHRoZSBub3RpZnk6OnZvbHVtZSBzaWduYWwuCi0gICAg
R1NUX0RFQlVHKCJWb2x1bWUgY2hhbmdlZCB0bzogJWYiLCBwbGF5ZXItPnZvbHVtZSgpKTsKKyAg
ICBHU1RfREVCVUdfT0JKRUNUKHBsYXllci0+cGlwZWxpbmUoKSwgIlZvbHVtZSBjaGFuZ2VkIHRv
OiAlZiIsIHBsYXllci0+dm9sdW1lKCkpOwogCiAgICAgcGxheWVyLT5tX25vdGlmaWVyLT5ub3Rp
ZnkoTWFpblRocmVhZE5vdGlmaWNhdGlvbjo6Vm9sdW1lQ2hhbmdlZCwgW3BsYXllcl0geyBwbGF5
ZXItPm5vdGlmeVBsYXllck9mVm9sdW1lQ2hhbmdlKCk7IH0pOwogfQpAQCAtNjQ2LDcgKzY0Niw3
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0TXV0ZWQoYm9vbCBt
dXRlKQogICAgIGlmIChjdXJyZW50VmFsdWUgPT0gbXV0ZSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgR1NUX0lORk8oIlNldCBtdXRlZCB0byAlcyIsIHRvU3RyaW5nKG11dGUpLnV0ZjgoKS5kYXRh
KCkpOworICAgIEdTVF9JTkZPX09CSkVDVChwaXBlbGluZSgpLCAiU2V0IG11dGVkIHRvICVzIiwg
dG9TdHJpbmcobXV0ZSkudXRmOCgpLmRhdGEoKSk7CiAgICAgZ19vYmplY3Rfc2V0KG1fdm9sdW1l
RWxlbWVudC5nZXQoKSwgIm11dGUiLCBtdXRlLCBudWxscHRyKTsKIH0KIApAQCAtNjU3LDcgKzY1
Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bXV0ZWQoKSBjb25z
dAogCiAgICAgZ2Jvb2xlYW4gbXV0ZWQ7CiAgICAgZ19vYmplY3RfZ2V0KG1fdm9sdW1lRWxlbWVu
dC5nZXQoKSwgIm11dGUiLCAmbXV0ZWQsIG51bGxwdHIpOwotICAgIEdTVF9JTkZPKCJQbGF5ZXIg
aXMgbXV0ZWQ6ICVzIiwgdG9TdHJpbmcoc3RhdGljX2Nhc3Q8Ym9vbD4obXV0ZWQpKS51dGY4KCku
ZGF0YSgpKTsKKyAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIlBsYXllciBpcyBtdXRl
ZDogJXMiLCB0b1N0cmluZyhzdGF0aWNfY2FzdDxib29sPihtdXRlZCkpLnV0ZjgoKS5kYXRhKCkp
OwogICAgIHJldHVybiBtdXRlZDsKIH0KIApAQCAtNzk5LDcgKzc5OSw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2FtcGxlKiBzYW1w
bGUpCiAgICAgfQogCiAgICAgaWYgKHRyaWdnZXJSZXNpemUpIHsKLSAgICAgICAgR1NUX0RFQlVH
KCJGaXJzdCBzYW1wbGUgcmVhY2hlZCB0aGUgc2luaywgdHJpZ2dlcmluZyB2aWRlbyBkaW1lbnNp
b25zIHVwZGF0ZSIpOworICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJGaXJz
dCBzYW1wbGUgcmVhY2hlZCB0aGUgc2luaywgdHJpZ2dlcmluZyB2aWRlbyBkaW1lbnNpb25zIHVw
ZGF0ZSIpOwogICAgICAgICBtX25vdGlmaWVyLT5ub3RpZnkoTWFpblRocmVhZE5vdGlmaWNhdGlv
bjo6U2l6ZUNoYW5nZWQsIFt0aGlzXSB7IG1fcGxheWVyLT5zaXplQ2hhbmdlZCgpOyB9KTsKICAg
ICB9CiAKQEAgLTg2Nyw3ICs4NjcsNyBAQCBHc3RGbG93UmV0dXJuIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2U6Om5ld1ByZXJvbGxDYWxsYmFjayhHc3RFbGVtZW50KiBzaQogCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmZsdXNoQ3VycmVudEJ1ZmZlcigpCiB7
Ci0gICAgR1NUX0RFQlVHKCJGbHVzaGluZyB2aWRlbyBzYW1wbGUiKTsKKyAgICBHU1RfREVCVUdf
T0JKRUNUKHBpcGVsaW5lKCksICJGbHVzaGluZyB2aWRlbyBzYW1wbGUiKTsKICAgICBXVEY6OkdN
dXRleExvY2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CiAgICAgbV9zYW1wbGUuY2xl
YXIoKTsKIApAQCAtMTE1NCwxMiArMTE1NCwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2U6OnNldFN0cmVhbVZvbHVtZUVsZW1lbnQoR3N0U3RyZWFtVm9sdW1lKiB2bwog
ICAgIC8vIFdlIGRvbid0IHNldCB0aGUgaW5pdGlhbCB2b2x1bWUgYmVjYXVzZSB3ZSB0cnVzdCB0
aGUgc2luayB0byBrZWVwIGl0IGZvciB1cy4gU2VlCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExODk3NCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICAgICBp
ZiAoIW1fcGxheWVyLT5wbGF0Zm9ybVZvbHVtZUNvbmZpZ3VyYXRpb25SZXF1aXJlZCgpKSB7Ci0g
ICAgICAgIEdTVF9ERUJVRygiU2V0dGluZyBzdHJlYW0gdm9sdW1lIHRvICVmIiwgbV9wbGF5ZXIt
PnZvbHVtZSgpKTsKKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiU2V0dGlu
ZyBzdHJlYW0gdm9sdW1lIHRvICVmIiwgbV9wbGF5ZXItPnZvbHVtZSgpKTsKICAgICAgICAgZ19v
YmplY3Rfc2V0KG1fdm9sdW1lRWxlbWVudC5nZXQoKSwgInZvbHVtZSIsIG1fcGxheWVyLT52b2x1
bWUoKSwgbnVsbHB0cik7CiAgICAgfSBlbHNlCi0gICAgICAgIEdTVF9ERUJVRygiTm90IHNldHRp
bmcgc3RyZWFtIHZvbHVtZSwgdHJ1c3Rpbmcgc3lzdGVtIG9uZSIpOworICAgICAgICBHU1RfREVC
VUdfT0JKRUNUKHBpcGVsaW5lKCksICJOb3Qgc2V0dGluZyBzdHJlYW0gdm9sdW1lLCB0cnVzdGlu
ZyBzeXN0ZW0gb25lIik7CiAKLSAgICBHU1RfREVCVUcoIlNldHRpbmcgc3RyZWFtIG11dGVkICVz
IiwgIHRvU3RyaW5nKG1fcGxheWVyLT5tdXRlZCgpKS51dGY4KCkuZGF0YSgpKTsKKyAgICBHU1Rf
REVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJTZXR0aW5nIHN0cmVhbSBtdXRlZCAlcyIsIHRvU3Ry
aW5nKG1fcGxheWVyLT5tdXRlZCgpKS51dGY4KCkuZGF0YSgpKTsKICAgICBnX29iamVjdF9zZXQo
bV92b2x1bWVFbGVtZW50LmdldCgpLCAibXV0ZSIsIG1fcGxheWVyLT5tdXRlZCgpLCBudWxscHRy
KTsKIAogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3ZvbHVtZUVsZW1lbnQuZ2V0KCks
ICJub3RpZnk6OnZvbHVtZSIsIEdfQ0FMTEJBQ0sodm9sdW1lQ2hhbmdlZENhbGxiYWNrKSwgdGhp
cyk7CkBAIC0xMjExLDcgKzEyMTEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2U6OmNkbUluc3RhbmNlQXR0YWNoZWQoQ0RNSW5zdGFuY2UmIGluc3RhbmNlKQogewogICAg
IEFTU0VSVCghbV9jZG1JbnN0YW5jZSk7CiAgICAgbV9jZG1JbnN0YW5jZSA9ICZpbnN0YW5jZTsK
LSAgICBHU1RfREVCVUcoIkNETSBpbnN0YW5jZSAlcCBzZXQiLCBtX2NkbUluc3RhbmNlLmdldCgp
KTsKKyAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJDRE0gaW5zdGFuY2UgJXAgc2V0
IiwgbV9jZG1JbnN0YW5jZS5nZXQoKSk7CiAgICAgbV9wcm90ZWN0aW9uQ29uZGl0aW9uLm5vdGlm
eUFsbCgpOwogfQogCkBAIC0xMjIxLDcgKzEyMjEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2U6OmNkbUluc3RhbmNlRGV0YWNoZWQoQ0RNSW5zdGFuY2UmIGluc3RhbmNl
KQogICAgIFVOVVNFRF9QQVJBTShpbnN0YW5jZSk7CiAjZW5kaWYKICAgICBBU1NFUlQobV9jZG1J
bnN0YW5jZS5nZXQoKSA9PSAmaW5zdGFuY2UpOwotICAgIEdTVF9ERUJVRygiZGV0YWNoaW5nIENE
TSBpbnN0YW5jZSAlcCIsIG1fY2RtSW5zdGFuY2UuZ2V0KCkpOworICAgIEdTVF9ERUJVR19PQkpF
Q1QocGlwZWxpbmUoKSwgImRldGFjaGluZyBDRE0gaW5zdGFuY2UgJXAiLCBtX2NkbUluc3RhbmNl
LmdldCgpKTsKICAgICBtX2NkbUluc3RhbmNlID0gbnVsbHB0cjsKICAgICBtX3Byb3RlY3Rpb25D
b25kaXRpb24ubm90aWZ5QWxsKCk7CiB9CkBAIC0xMjQwLDcgKzEyNDAsNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmF0dGVtcHRUb0RlY3J5cHRXaXRoTG9jYWxJbnN0
YW5jZSgpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZGlzcGF0Y2hE
ZWNyeXB0aW9uS2V5KEdzdEJ1ZmZlciogYnVmZmVyKQogewotICAgIGJvb2wgZXZlbnRIYW5kbGVk
ID0gZ3N0X2VsZW1lbnRfc2VuZF9ldmVudChtX3BpcGVsaW5lLmdldCgpLCBnc3RfZXZlbnRfbmV3
X2N1c3RvbShHU1RfRVZFTlRfQ1VTVE9NX0RPV05TVFJFQU1fT09CLAorICAgIGJvb2wgZXZlbnRI
YW5kbGVkID0gZ3N0X2VsZW1lbnRfc2VuZF9ldmVudChwaXBlbGluZSgpLCBnc3RfZXZlbnRfbmV3
X2N1c3RvbShHU1RfRVZFTlRfQ1VTVE9NX0RPV05TVFJFQU1fT09CLAogICAgICAgICBnc3Rfc3Ry
dWN0dXJlX25ldygiZHJtLWNpcGhlciIsICJrZXkiLCBHU1RfVFlQRV9CVUZGRVIsIGJ1ZmZlciwg
bnVsbHB0cikpKTsKICAgICBtX25lZWRUb1Jlc2VuZENyZWRlbnRpYWxzID0gbV9oYW5kbGVkUHJv
dGVjdGlvbkV2ZW50cy5zaXplKCkgPiAwOwogICAgIEdTVF9UUkFDRSgiZW1pdHRlZCBkZWNyeXB0
aW9uIGNpcGhlciBrZXkgb24gcGlwZWxpbmUsIGV2ZW50IGhhbmRsZWQgJXMsIG5lZWQgdG8gcmVz
ZW5kIGNyZWRlbnRpYWxzICVzIiwgYm9vbEZvclByaW50aW5nKGV2ZW50SGFuZGxlZCksIGJvb2xG
b3JQcmludGluZyhtX25lZWRUb1Jlc2VuZENyZWRlbnRpYWxzKSk7CkBAIC0xMjQ5LDEwICsxMjQ5
LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZGlzcGF0Y2hEZWNy
eXB0aW9uS2V5KEdzdEJ1ZmZlciogYnVmZmVyKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjpoYW5kbGVQcm90ZWN0aW9uRXZlbnQoR3N0RXZlbnQqIGV2ZW50KQogewogICAg
IGlmIChtX2hhbmRsZWRQcm90ZWN0aW9uRXZlbnRzLmNvbnRhaW5zKEdTVF9FVkVOVF9TRVFOVU0o
ZXZlbnQpKSkgewotICAgICAgICBHU1RfREVCVUcoImV2ZW50ICV1IGFscmVhZHkgaGFuZGxlZCIs
IEdTVF9FVkVOVF9TRVFOVU0oZXZlbnQpKTsKKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBl
bGluZSgpLCAiZXZlbnQgJXUgYWxyZWFkeSBoYW5kbGVkIiwgR1NUX0VWRU5UX1NFUU5VTShldmVu
dCkpOwogICAgICAgICBtX2hhbmRsZWRQcm90ZWN0aW9uRXZlbnRzLnJlbW92ZShHU1RfRVZFTlRf
U0VRTlVNKGV2ZW50KSk7CiAgICAgICAgIGlmIChtX25lZWRUb1Jlc2VuZENyZWRlbnRpYWxzKSB7
Ci0gICAgICAgICAgICBHU1RfREVCVUcoInJlc2VuZGluZyBjcmVkZW50aWFscyIpOworICAgICAg
ICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAicmVzZW5kaW5nIGNyZWRlbnRpYWxz
Iik7CiAgICAgICAgICAgICBhdHRlbXB0VG9EZWNyeXB0V2l0aExvY2FsSW5zdGFuY2UoKTsKICAg
ICAgICAgfQogICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>