<?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>158688</bug_id>
          
          <creation_ts>2016-06-13 04:43:32 -0700</creation_ts>
          <short_desc>WebRTC: Imlement MediaEndpointPeerConnection::replaceTrack()</short_desc>
          <delta_ts>2016-06-14 02:05:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>143211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1201814</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-13 04:43:32 -0700</bug_when>
    <thetext>A call to RTCRtpSender.replaceTrack() [1] eventually ends up in MediaEndpointPeerConnection::replaceTrack().

[1] https://w3c.github.io/webrtc-pc/archives/20160513/webrtc.html#dom-rtcrtpsender-replacetrack</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201816</commentid>
    <comment_count>1</comment_count>
      <attachid>281166</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-13 04:58:37 -0700</bug_when>
    <thetext>Created attachment 281166
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201837</commentid>
    <comment_count>2</comment_count>
      <attachid>281166</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-06-13 08:08:51 -0700</bug_when>
    <thetext>Comment on attachment 281166
Proposed patch

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

&gt; Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp:634
&gt; +    const String&amp; mid = transceiver-&gt;mid();

Is it worth ASSERTing transceiver here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201900</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-13 12:18:14 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 281166 [details]
&gt; Proposed patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=281166&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp:634
&gt; &gt; +    const String&amp; mid = transceiver-&gt;mid();
&gt; 
&gt; Is it worth ASSERTing transceiver here?

We can do that to emphasize that it should always be found or something is broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201963</commentid>
    <comment_count>4</comment_count>
      <attachid>281203</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-13 14:35:02 -0700</bug_when>
    <thetext>Created attachment 281203
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202091</commentid>
    <comment_count>5</comment_count>
      <attachid>281203</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-06-13 22:39:57 -0700</bug_when>
    <thetext>Comment on attachment 281203
Patch for landing

Thanks for reviewing Eric!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202093</commentid>
    <comment_count>6</comment_count>
      <attachid>281203</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-13 23:02:53 -0700</bug_when>
    <thetext>Comment on attachment 281203
Patch for landing

Clearing flags on attachment: 281203

Committed r202026: &lt;http://trac.webkit.org/changeset/202026&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281166</attachid>
            <date>2016-06-13 04:58:37 -0700</date>
            <delta_ts>2016-06-13 08:08:51 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>mepc-replace-track_0.patch</filename>
            <type>text/plain</type>
            <size>18915</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZmNlZDg0Li4wMTIyZGI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTYtMDYt
MTMgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZXBsYWNl
VHJhY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIGV4aXN0aW5nIHRlc3QgZm9yIFJUQ1J0cFNlbmRlci5yZXBsYWNlVHJhY2suCisKKyAg
ICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2stZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLXJlcGxhY2VU
cmFjay5odG1sOgorICAgICAgICBBZGQgdGVzdCBjYXNlcyB3aGVyZSBhICJub3QgeWV0IG5lZ290
aWF0ZWQgdHJhY2siIGlzIGRpcmVjdGx5IHJlcGxhY2VkLiBBbHNvIGNoZWNrIHRoYXQgdGhlCisg
ICAgICAgIG9sZCB0cmFjayBpZCBpcyB1c2VkIGluIGxhdGVyIG9mZmVycy4KKyAgICAgICAgKiBm
YXN0L21lZGlhc3RyZWFtL3Jlc291cmNlcy9wcm9taXNlLXV0aWxzLmpzOgorICAgICAgICAocHJv
bWlzZVNob3VsZFJlc29sdmUpOgorICAgICAgICBBZGRlZCB1dGlsaXR5IG1ldGhvZCB0byB0ZXN0
IHByb21pc2UgZXhwcmVzc2lvbnMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gcmVzb2x2ZS4KKwogMjAx
Ni0wNi0xMCAgQWRhbSBCZXJna3Zpc3QgIDxhZGFtLmJlcmdrdmlzdEBlcmljc3Nvbi5jb20+CiAK
ICAgICAgICAgV2ViUlRDOiBJbWxlbWVudCBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmNy
ZWF0ZUFuc3dlcigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JU
Q1J0cFNlbmRlci1yZXBsYWNlVHJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9SVENSdHBTZW5kZXItcmVwbGFjZVRyYWNrLWV4cGVjdGVkLnR4dAppbmRleCBi
Y2M2M2U2Li5lZDdjM2QyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLXJlcGxhY2VUcmFjay1leHBlY3RlZC50eHQK
QEAgLTEyLDggKzEyLDEzIEBAIFBBU1MgcHJvbWlzZSBzZW5kZXIucmVwbGFjZVRyYWNrKG51bGwp
IHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBBcmd1bWVudCAxICgnd2l0CiBQQVNTIHByb21pc2Ug
c2VuZGVyLnJlcGxhY2VUcmFjayh7fSkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCd3aXRoVHJhY2snKSB0byBSVENSdHBTZW5kZXIucmVwbGFjZVRyYWNrIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgTWVkaWFTdHJlYW1UcmFjawogVGVzdCBtaXNtYXRjaGluZyB0cmFjayBraW5k
CiBQQVNTIHByb21pc2Ugc2VuZGVyLnJlcGxhY2VUcmFjayh2aWRlb1RyYWNrKSByZWplY3RlZCB3
aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvcgotVGhpcyBpcyBhIHZhbGlkIGNhbGwgYnV0IHdpbGwg
YmUgcmVqZWN0ZWQgdW50aWwgdGhlIFBlZXJDb25uZWN0aW9uQmFja2VuZCBpbXBsZW1lbnRhdGlv
biBoYXMgcHJvcGVyIHN1cHBvcnQKLVBBU1MgcHJvbWlzZSBzZW5kZXIucmVwbGFjZVRyYWNrKGF1
ZGlvVHJhY2syKSByZWplY3RlZCB3aXRoIEVycm9yOiBOb3RTdXBwb3J0ZWRFcnJvcjogRE9NIEV4
Y2VwdGlvbiA5CitQQVNTIHByb21pc2Ugc2VuZGVyLnJlcGxhY2VUcmFjayhhdWRpb1RyYWNrMikg
ZnVsZmlsbGVkIHdpdGggdW5kZWZpbmVkCitQQVNTIFRyYWNrIHN1Y2Nlc3NmdWxseSByZXBsYWNl
ZAorUEFTUyBzZW5kZXIudHJhY2sgaXMgYXVkaW9UcmFjazIKK1NlbmRlciBzaG91bGQgc3RpbGwg
dXNlIG9sZCB0cmFjayAoYXVkaW9UcmFjaykgaWQgaW4gbmVnb3RpYXRpb24uCitQQVNTIG9mZmVy
IGNyZWF0ZWQKK1BBU1Mgb2ZmZXIuc2RwLmluZGV4T2YoYXVkaW9UcmFjay5pZCkgaXMgbm90IC0x
CitQQVNTIG9mZmVyLnNkcC5pbmRleE9mKGF1ZGlvVHJhY2syLmlkKSBpcyAtMQogU3RvcCBzZW5k
ZXIsIGFuZCB0cnkgcmVwbGFjaW5nIHRoZSB0cmFjawogUEFTUyBwcm9taXNlIHNlbmRlci5yZXBs
YWNlVHJhY2soYXVkaW9UcmFjazIpIHJlamVjdGVkIHdpdGggRXJyb3I6IEludmFsaWRTdGF0ZUVy
cm9yOiBET00gRXhjZXB0aW9uIDExCiBDcmVhdGUgYSBuZXcgc2VuZGVyCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2suaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLXJlcGxhY2VUcmFj
ay5odG1sCmluZGV4IGIwYjI0ZGIuLjc3ZDE5ZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLXJlcGxhY2VUcmFjay5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLXJlcGxhY2VUcmFjay5odG1sCkBA
IC0yLDYgKzIsNyBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3Byb21pc2UtdXRpbHMuanMiPjwvc2NyaXB0PgogICAgIDwvaGVhZD4K
ICAgICA8Ym9keT4KICAgICAgICAgPHNjcmlwdD4KQEAgLTEwLDYgKzExLDcgQEAKICAgICAgICAg
ICAgIHZhciBhdWRpb1RyYWNrMjsKICAgICAgICAgICAgIHZhciB2aWRlb1RyYWNrOwogICAgICAg
ICAgICAgdmFyIHNlbmRlcjsKKyAgICAgICAgICAgIHZhciBvZmZlcjsKIAogICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRlc3QgYmFzaWMgYmVoYXZpb3Igb2YgUlRDUnRwU2VuZGVyLnJlcGxhY2VU
cmFjaygpIik7CiAKQEAgLTM4LDM1ICs0MCw1MCBAQAogICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJzZW5kZXIudHJhY2siLCAiYXVkaW9UcmFjayIpOwogCiAgICAgICAgICAgICAgICAgcHJvbWlz
ZVNob3VsZFJlamVjdCgic2VuZGVyLnJlcGxhY2VUcmFjaygpIikKLSAgICAgICAgICAgICAgICAu
Y2F0Y2goZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VTaG91bGRSZWplY3QoInNlbmRlci5y
ZXBsYWNlVHJhY2sobnVsbCkiKTsKICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAg
IC5jYXRjaChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkg
ewogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZVNob3VsZFJlamVjdCgic2VuZGVy
LnJlcGxhY2VUcmFjayh7fSkiKTsKICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAg
IC5jYXRjaChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkg
ewogICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiVGVzdCBtaXNtYXRjaGluZyB0cmFjayBraW5k
Iik7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9taXNlU2hvdWxkUmVqZWN0KCJzZW5k
ZXIucmVwbGFjZVRyYWNrKHZpZGVvVHJhY2spIik7CiAgICAgICAgICAgICAgICAgfSkKLSAgICAg
ICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBkZWJ1
ZygiVGhpcyBpcyBhIHZhbGlkIGNhbGwgYnV0IHdpbGwgYmUgcmVqZWN0ZWQgdW50aWwgdGhlIFBl
ZXJDb25uZWN0aW9uQmFja2VuZCBpbXBsZW1lbnRhdGlvbiBoYXMgcHJvcGVyIHN1cHBvcnQiKTsK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VTaG91bGRSZWplY3QoInNlbmRlci5y
ZXBsYWNlVHJhY2soYXVkaW9UcmFjazIpIik7CisgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rp
b24gKCkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZVNob3VsZFJlc29sdmUo
InNlbmRlci5yZXBsYWNlVHJhY2soYXVkaW9UcmFjazIpIik7CisgICAgICAgICAgICAgICAgfSkK
KyAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoIlRyYWNrIHN1Y2Nlc3NmdWxseSByZXBsYWNlZCIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgic2VuZGVyLnRyYWNrIiwgImF1ZGlvVHJhY2syIik7CisKKyAgICAg
ICAgICAgICAgICAgICAgZGVidWcoIlNlbmRlciBzaG91bGQgc3RpbGwgdXNlIG9sZCB0cmFjayAo
YXVkaW9UcmFjaykgaWQgaW4gbmVnb3RpYXRpb24uIik7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBwYy5jcmVhdGVPZmZlcigpOwogICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAg
ICAgLmNhdGNoKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAo
bykgeworICAgICAgICAgICAgICAgICAgICBvZmZlciA9IG87CisgICAgICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoIm9mZmVyIGNyZWF0ZWQiKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
Tm90QmUoIm9mZmVyLnNkcC5pbmRleE9mKGF1ZGlvVHJhY2suaWQpIiwgIi0xIik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJvZmZlci5zZHAuaW5kZXhPZihhdWRpb1RyYWNrMi5pZCki
LCAiLTEiKTsKKwogICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiU3RvcCBzZW5kZXIsIGFuZCB0
cnkgcmVwbGFjaW5nIHRoZSB0cmFjayIpOwogICAgICAgICAgICAgICAgICAgICBwYy5yZW1vdmVU
cmFjayhzZW5kZXIpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZVNob3VsZFJl
amVjdCgic2VuZGVyLnJlcGxhY2VUcmFjayhhdWRpb1RyYWNrMikiKTsKICAgICAgICAgICAgICAg
ICB9KQotICAgICAgICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAg
ICAgLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiQ3JlYXRl
IGEgbmV3IHNlbmRlciIpOwogICAgICAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygic2Vu
ZGVyID0gcGMuYWRkVHJhY2soYXVkaW9UcmFjazIsIHN0cmVhbSkiKTsKICAgICAgICAgICAgICAg
ICAgICAgZGVidWcoIkNsb3NlIHBjIGFuZCB0cnkgcmVwbGFjaW5nIHRoZSB0cmFjayIpOwogICAg
ICAgICAgICAgICAgICAgICBwYy5jbG9zZSgpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
cHJvbWlzZVNob3VsZFJlamVjdCgic2VuZGVyLnJlcGxhY2VUcmFjayhhdWRpb1RyYWNrMykiKTsK
ICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoKSB7
CisgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAg
ICBkZWJ1ZygiRW5kIG9mIHByb21pc2UgY2hhaW4iKTsKICAgICAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAgICAuY2F0Y2go
ZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkVycm9y
IGluIHByb21pc2UgY2hhaW46ICIgKyBlcnJvcik7CisgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSkKICAgICAgICAg
ICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsKQEAgLTc0LDMxICs5MSw2IEBACiAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgICAgICB9KTsKIAotICAgICAgICAgICAg
ZnVuY3Rpb24gcHJvbWlzZVNob3VsZFJlamVjdChleHByKSB7Ci0gICAgICAgICAgICAgICAgdmFy
IHA7Ci0gICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgcCA9IGV2YWwo
ZXhwcik7Ci0gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJldmFsdWF0aW5nICIgKyBleHByICsgIiB0aHJldyBleGNlcHRpb24gIiAr
IGUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoKTsKLSAgICAg
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAoIShwIGluc3RhbmNlb2YgUHJvbWlz
ZSkpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChleHByICsgIiBkb2VzIG5vdCBl
dmFsdWF0ZSB0byBhIHByb21pc2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdCgpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIHAudGhl
bihmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoInByb21pc2Ug
IiArIGV4cHIgKyAiIGZ1bGZpbGxlZCB1bmV4cGVjdGVkbHkuIik7Ci0gICAgICAgICAgICAgICAg
fSk7Ci0KLSAgICAgICAgICAgICAgICBwLmNhdGNoKGZ1bmN0aW9uIChyZWFzb24pIHsKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgicHJvbWlzZSAiICsgZXhwciArICIgcmVqZWN0ZWQg
d2l0aCAiICsgcmVhc29uKTsKLSAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAg
IHJldHVybiBwOwotICAgICAgICAgICAgfQotCiAgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CiAgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9yZXNvdXJjZXMv
cHJvbWlzZS11dGlscy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcmVzb3VyY2Vz
L3Byb21pc2UtdXRpbHMuanMKaW5kZXggMjBlMDc4ZC4uZmQwYzM5NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9yZXNvdXJjZXMvcHJvbWlzZS11dGlscy5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3Jlc291cmNlcy9wcm9taXNlLXV0aWxzLmpz
CkBAIC0xNSw2ICsxNSwyNSBAQCBmdW5jdGlvbiBlbnN1cmVQcm9taXNlKGV4cHIpIHsKICAgICBy
ZXR1cm4gcDsKIH0KIAorZnVuY3Rpb24gcHJvbWlzZVNob3VsZFJlc29sdmUoZXhwcikgeworICAg
IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoZG9uZSkgeworICAgICAgICB2YXIgcCA9IGVu
c3VyZVByb21pc2UoZXhwcik7CisgICAgICAgIGlmICghcCkgeworICAgICAgICAgICAgZG9uZSgp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgcC50aGVuKGZ1bmN0
aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgicHJvbWlzZSAiICsgZXhwciAr
ICIgZnVsZmlsbGVkIHdpdGggIiArIHZhbHVlKTsKKyAgICAgICAgICAgIGRvbmUoKTsKKyAgICAg
ICAgfSkKKyAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChyZWFzb24pIHsKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoInByb21pc2UgIiArIGV4cHIgKyAiIHJlamVjdGVkIHVuZXhwZWN0ZWRseS4iKTsK
KyAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKIGZ1bmN0aW9u
IHByb21pc2VTaG91bGRSZWplY3QoZXhwciwgcmVhc29uQXJnKSB7CiAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uIChkb25lKSB7CiAgICAgICAgIHZhciBwID0gZW5zdXJlUHJvbWlzZShl
eHByKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA3ZGRmYmViLi4zYmFmYmFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzYgQEAKKzIwMTYtMDYtMTMgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJp
Y3Nzb24uY29tPgorCisgICAgICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJD
b25uZWN0aW9uOjpyZXBsYWNlVHJhY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU4Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6
cmVwbGFjZVRyYWNrKCkgdGhhdCBpcyB0aGUgTWVkaWFFbmRwb2ludCBpbXBsZW1lbnRhdGlvbgor
ICAgICAgICBvZiBSVENSdHBTZW5kZXIucmVwbGFjZVRyYWNrKCkgWzFdLgorCisgICAgICAgIFsx
XSBodHRwczovL3czYy5naXRodWIuaW8vd2VicnRjLXBjL2FyY2hpdmVzLzIwMTYwNTEzL3dlYnJ0
Yy5odG1sI2RvbS1ydGNydHBzZW5kZXItcmVwbGFjZXRyYWNrCisKKyAgICAgICAgVXBkYXRlZCBm
YXN0L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2suaHRtbAorCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZXBsYWNlVHJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZXBs
YWNlVHJhY2tUYXNrKToKKyAgICAgICAgSW1wbGVtZW50ZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UlRDUGVlckNvbm5lY3Rpb246OnJlcGxhY2VUcmFjayk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oOgorICAgICAgICBNb3ZlIHRoZSBNZWRpYVN0cmVh
bVRyYWNrIGluc3RhbmNlIG9mIHNlbmRpbmcgYSByZWZlcmVuY2UgdG8gaXQuIFRoaXMgY2hhbmdl
IGlzIHRoZSBtYWluCisgICAgICAgIHJlYXNvbiBtYW55IGZpbGVzIGFyZSB0b3VjaGVkIGJ5IHRo
aXMgY2hhbmdlLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmg6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnQuaDoKKyAgICAgICAgVXNlIG1p
ZCBpbnN0ZWFkIG9mIG1kZXNjSW5kZXggdG8gaWRlbnRpZnkgdGhlIG1lZGlhIGRlc2NyaXB0aW9u
IGluIHRoZSBiYWNrZW5kLgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9p
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnJlcGxhY2VTZW5k
U291cmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50Lmg6CisK
IDIwMTYtMDYtMTAgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29t
PgogCiAgICAgICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9u
OjpjcmVhdGVBbnN3ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwCmluZGV4
IDAwNDMxYjYuLjBmNjJiMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAK
QEAgLTYyNSwxNSArNjI1LDM0IEBAIFJlZlB0cjxSVENSdHBSZWNlaXZlcj4gTWVkaWFFbmRwb2lu
dFBlZXJDb25uZWN0aW9uOjpjcmVhdGVSZWNlaXZlcihjb25zdCBTdHJpbmcmCiAgICAgcmV0dXJu
IFJUQ1J0cFJlY2VpdmVyOjpjcmVhdGUoV1RGTW92ZShyZW1vdGVUcmFjaykpOwogfQogCi12b2lk
IE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6cmVwbGFjZVRyYWNrKFJUQ1J0cFNlbmRlciYg
c2VuZGVyLCBNZWRpYVN0cmVhbVRyYWNrJiB3aXRoVHJhY2ssIFBlZXJDb25uZWN0aW9uOjpWb2lk
UHJvbWlzZSYmIHByb21pc2UpCit2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6cmVw
bGFjZVRyYWNrKFJUQ1J0cFNlbmRlciYgc2VuZGVyLCBSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4m
JiB3aXRoVHJhY2ssIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlzZSYmIHByb21pc2UpCiB7Ci0g
ICAgVU5VU0VEX1BBUkFNKHNlbmRlcik7Ci0gICAgVU5VU0VEX1BBUkFNKHdpdGhUcmFjayk7Ci0g
ICAgVU5VU0VEX1BBUkFNKHByb21pc2UpOworICAgIFJUQ1J0cFRyYW5zY2VpdmVyKiB0cmFuc2Nl
aXZlciA9IG1hdGNoVHJhbnNjZWl2ZXIobV9jbGllbnQtPmdldFRyYW5zY2VpdmVycygpLCBbJnNl
bmRlcl0gKFJUQ1J0cFRyYW5zY2VpdmVyJiBjdXJyZW50KSB7CisgICAgICAgIHJldHVybiBjdXJy
ZW50LnNlbmRlcigpID09ICZzZW5kZXI7CisgICAgfSk7CiAKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIGNvbnN0IFN0cmluZyYgbWlkID0gdHJhbnNjZWl2ZXItPm1pZCgpOworICAgIGlmICht
aWQuaXNOdWxsKCkpIHsKKyAgICAgICAgLy8gVHJhbnNjZWl2ZXIgaXMgbm90IGFzc29jaWF0ZWQg
d2l0aCBhIG1lZGlhIGRlc2NyaXB0aW9uIHlldC4KKyAgICAgICAgc2VuZGVyLnNldFRyYWNrKFdU
Rk1vdmUod2l0aFRyYWNrKSk7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShudWxscHRyKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIHByb21pc2UucmVqZWN0KE5PVF9TVVBQT1JURURf
RVJSKTsKKyAgICBydW5UYXNrKFt0aGlzLCBwcm90ZWN0ZWRTZW5kZXIgPSBSZWZQdHI8UlRDUnRw
U2VuZGVyPigmc2VuZGVyKSwgbWlkLCBwcm90ZWN0ZWRUcmFjayA9IFdURk1vdmUod2l0aFRyYWNr
KSwgcHJvdGVjdGVkUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAg
ICAgIHJlcGxhY2VUcmFja1Rhc2soKnByb3RlY3RlZFNlbmRlciwgbWlkLCBXVEZNb3ZlKHByb3Rl
Y3RlZFRyYWNrKSwgcHJvdGVjdGVkUHJvbWlzZSk7CisgICAgfSk7Cit9CisKK3ZvaWQgTWVkaWFF
bmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZXBsYWNlVHJhY2tUYXNrKFJUQ1J0cFNlbmRlciYgc2Vu
ZGVyLCBjb25zdCBTdHJpbmcmIG1pZCwgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+JiYgd2l0aFRy
YWNrLCBQZWVyQ29ubmVjdGlvbjo6Vm9pZFByb21pc2UmIHByb21pc2UpCit7CisgICAgaWYgKG1f
Y2xpZW50LT5pbnRlcm5hbFNpZ25hbGluZ1N0YXRlKCkgPT0gU2lnbmFsaW5nU3RhdGU6OkNsb3Nl
ZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9tZWRpYUVuZHBvaW50LT5yZXBsYWNlU2VuZFNv
dXJjZSh3aXRoVHJhY2stPnNvdXJjZSgpLCBtaWQpOworCisgICAgc2VuZGVyLnNldFRyYWNrKFdU
Rk1vdmUod2l0aFRyYWNrKSk7CisgICAgcHJvbWlzZS5yZXNvbHZlKG51bGxwdHIpOwogfQogCiB2
b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVl
ckNvbm5lY3Rpb24uaAppbmRleCBmMDE3YjJlLi5kZjFlOWQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBl
ZXJDb25uZWN0aW9uLmgKQEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0U3Rh
dHMoTWVkaWFTdHJlYW1UcmFjayosIFBlZXJDb25uZWN0aW9uOjpTdGF0c1Byb21pc2UmJikgb3Zl
cnJpZGU7CiAKICAgICBSZWZQdHI8UlRDUnRwUmVjZWl2ZXI+IGNyZWF0ZVJlY2VpdmVyKGNvbnN0
IFN0cmluZyYgdHJhbnNjZWl2ZXJNaWQsIGNvbnN0IFN0cmluZyYgdHJhY2tLaW5kLCBjb25zdCBT
dHJpbmcmIHRyYWNrSWQpIG92ZXJyaWRlOwotICAgIHZvaWQgcmVwbGFjZVRyYWNrKFJUQ1J0cFNl
bmRlciYsIE1lZGlhU3RyZWFtVHJhY2smLCBQZWVyQ29ubmVjdGlvbjo6Vm9pZFByb21pc2UmJikg
b3ZlcnJpZGU7CisgICAgdm9pZCByZXBsYWNlVHJhY2soUlRDUnRwU2VuZGVyJiwgUmVmUHRyPE1l
ZGlhU3RyZWFtVHJhY2s+JiYsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlzZSYmKSBvdmVycmlk
ZTsKIAogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwogCkBAIC05Miw2ICs5Miw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uVGFzayhSZWZQdHI8UlRDU2Vzc2lvbkRl
c2NyaXB0aW9uPiYmLCBQZWVyQ29ubmVjdGlvbjo6Vm9pZFByb21pc2UmKTsKICAgICB2b2lkIHNl
dFJlbW90ZURlc2NyaXB0aW9uVGFzayhSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiYmLCBQ
ZWVyQ29ubmVjdGlvbjo6Vm9pZFByb21pc2UmKTsKIAorICAgIHZvaWQgcmVwbGFjZVRyYWNrVGFz
ayhSVENSdHBTZW5kZXImLCBjb25zdCBTdHJpbmcmIG1pZCwgUmVmUHRyPE1lZGlhU3RyZWFtVHJh
Y2s+JiYsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlzZSYpOworCiAgICAgYm9vbCBsb2NhbERl
c2NyaXB0aW9uVHlwZVZhbGlkRm9yU3RhdGUoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpTZHBUeXBl
KSBjb25zdDsKICAgICBib29sIHJlbW90ZURlc2NyaXB0aW9uVHlwZVZhbGlkRm9yU3RhdGUoUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uOjpTZHBUeXBlKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgK
aW5kZXggNDA1M2IzNi4uNzU1MmIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCkBAIC0xMDcsNyAr
MTA3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZXRTdGF0cyhNZWRpYVN0cmVhbVRy
YWNrKiwgUGVlckNvbm5lY3Rpb246OlN0YXRzUHJvbWlzZSYmKSA9IDA7CiAKICAgICB2aXJ0dWFs
IFJlZlB0cjxSVENSdHBSZWNlaXZlcj4gY3JlYXRlUmVjZWl2ZXIoY29uc3QgU3RyaW5nJiB0cmFu
c2NlaXZlck1pZCwgY29uc3QgU3RyaW5nJiB0cmFja0tpbmQsIGNvbnN0IFN0cmluZyYgdHJhY2tJ
ZCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlVHJhY2soUlRDUnRwU2VuZGVyJiwgTWVk
aWFTdHJlYW1UcmFjayYsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlzZSYmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBSZWZQdHI8TWVkaWFTdHJl
YW1UcmFjaz4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYpID0gMDsKIAogICAgIHZp
cnR1YWwgdm9pZCBzdG9wKCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IGYzM2JkYjEuLjBj
MTg2ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC00OTUsOSArNDk1LDkgQEAgdm9pZCBSVENQZWVy
Q29ubmVjdGlvbjo6ZmlyZUV2ZW50KEV2ZW50JiBldmVudCkKICAgICBkaXNwYXRjaEV2ZW50KGV2
ZW50KTsKIH0KIAotdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6cmVwbGFjZVRyYWNrKFJUQ1J0cFNl
bmRlciYgc2VuZGVyLCBNZWRpYVN0cmVhbVRyYWNrJiB3aXRoVHJhY2ssIFBlZXJDb25uZWN0aW9u
OjpWb2lkUHJvbWlzZSYmIHByb21pc2UpCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpyZXBsYWNl
VHJhY2soUlRDUnRwU2VuZGVyJiBzZW5kZXIsIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiYmIHdp
dGhUcmFjaywgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYgcHJvbWlzZSkKIHsKLSAgICBt
X2JhY2tlbmQtPnJlcGxhY2VUcmFjayhzZW5kZXIsIHdpdGhUcmFjaywgV1RGTW92ZShwcm9taXNl
KSk7CisgICAgbV9iYWNrZW5kLT5yZXBsYWNlVHJhY2soc2VuZGVyLCBXVEZNb3ZlKHdpdGhUcmFj
ayksIFdURk1vdmUocHJvbWlzZSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLmgKaW5kZXggMDliMmE0NS4uZWYxNTg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaApAQCAtMTQ1LDcgKzE0
NSw3IEBAIHByaXZhdGU6CiAgICAgUGVlckNvbm5lY3Rpb25TdGF0ZXM6OkljZUNvbm5lY3Rpb25T
dGF0ZSBpbnRlcm5hbEljZUNvbm5lY3Rpb25TdGF0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IG1faWNlQ29ubmVjdGlvblN0YXRlOyB9CiAKICAgICAvLyBSVENSdHBTZW5kZXJDbGllbnQKLSAg
ICB2b2lkIHJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBNZWRpYVN0cmVhbVRyYWNrJiwgUGVl
ckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYpIG92ZXJyaWRlOworICAgIHZvaWQgcmVwbGFjZVRy
YWNrKFJUQ1J0cFNlbmRlciYsIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBQZWVyQ29ubmVj
dGlvbjo6Vm9pZFByb21pc2UmJikgb3ZlcnJpZGU7CiAKICAgICBQZWVyQ29ubmVjdGlvblN0YXRl
czo6U2lnbmFsaW5nU3RhdGUgbV9zaWduYWxpbmdTdGF0ZTsKICAgICBQZWVyQ29ubmVjdGlvblN0
YXRlczo6SWNlR2F0aGVyaW5nU3RhdGUgbV9pY2VHYXRoZXJpbmdTdGF0ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCmluZGV4IDkxMmQw
YjEuLmYzNTUwMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXIuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFJUQ1J0cFNlbmRlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB2b2lkIHJl
cGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBNZWRpYVN0cmVhbVRyYWNrJiwgUGVlckNvbm5lY3Rp
b246OlZvaWRQcm9taXNlJiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVwbGFjZVRyYWNrKFJU
Q1J0cFNlbmRlciYsIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBQZWVyQ29ubmVjdGlvbjo6
Vm9pZFByb21pc2UmJikgPSAwOwogCiAgICAgdmlydHVhbCB+UlRDUnRwU2VuZGVyQ2xpZW50KCkg
eyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTZW5kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuaWRsCmluZGV4IGRlNDEyNzUuLjQzNGQ3YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwKQEAgLTMxLDcgKzMx
LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1XRUJfUlRDLAogXSBpbnRlcmZhY2UgUlRDUnRwU2Vu
ZGVyIHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW1UcmFjayB0cmFjazsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW1UcmFjaz8gdHJhY2s7CiAKICAgICBbU3Ry
aWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIFByb21pc2UgcmVwbGFjZVRyYWNrKE1l
ZGlhU3RyZWFtVHJhY2sgd2l0aFRyYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50LmgKaW5kZXggYWQ5NmU5My4uM2RiZjAw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFF
bmRwb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
RW5kcG9pbnQuaApAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFk
ZFJlbW90ZUNhbmRpZGF0ZShJY2VDYW5kaWRhdGUmLCB1bnNpZ25lZCBtZGVzY0luZGV4LCBjb25z
dCBTdHJpbmcmIHVmcmFnLCBjb25zdCBTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CiAKICAgICB2aXJ0
dWFsIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBjcmVhdGVNdXRlZFJlbW90ZVNvdXJjZShjb25z
dCBTdHJpbmcmIG1pZCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSkgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCByZXBsYWNlU2VuZFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlJiwgdW5zaWduZWQg
bWRlc2NJbmRleCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlU2VuZFNvdXJjZShSZWFs
dGltZU1lZGlhU291cmNlJiwgY29uc3QgU3RyaW5nJiBtaWQpID0gMDsKIAogICAgIHZpcnR1YWwg
dm9pZCBzdG9wKCkgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKaW5kZXggNzk0OWY3ZS4uODllODRiYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKQEAg
LTE5MCwxMCArMTkwLDEwIEBAIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBNb2NrTWVkaWFFbmRw
b2ludDo6Y3JlYXRlTXV0ZWRSZW1vdGVTb3VyY2UoY29uc3QgU3RyaW5nCiAgICAgcmV0dXJuIE1v
Y2tSZWFsdGltZVZpZGVvU291cmNlOjpjcmVhdGVNdXRlZCgicmVtb3RlIHZpZGVvIik7CiB9CiAK
LXZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnJlcGxhY2VTZW5kU291cmNlKFJlYWx0aW1lTWVkaWFT
b3VyY2UmIG5ld1NvdXJjZSwgdW5zaWduZWQgbWRlc2NJbmRleCkKK3ZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OnJlcGxhY2VTZW5kU291cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2UmIG5ld1NvdXJjZSwg
Y29uc3QgU3RyaW5nJiBtaWQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKG5ld1NvdXJjZSk7Ci0gICAg
VU5VU0VEX1BBUkFNKG1kZXNjSW5kZXgpOworICAgIFVOVVNFRF9QQVJBTShtaWQpOwogfQogCiB2
b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuaAppbmRleCA2ZDE0YWMwLi5hMWI4ZTllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5oCkBA
IC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFJlbW90ZUNhbmRpZGF0ZShJY2VD
YW5kaWRhdGUmLCB1bnNpZ25lZCBtZGVzY0luZGV4LCBjb25zdCBTdHJpbmcmIHVmcmFnLCBjb25z
dCBTdHJpbmcmIHBhc3N3b3JkKSBvdmVycmlkZTsKIAogICAgIFJlZjxSZWFsdGltZU1lZGlhU291
cmNlPiBjcmVhdGVNdXRlZFJlbW90ZVNvdXJjZShjb25zdCBTdHJpbmcmIG1pZCwgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCByZXBsYWNlU2VuZFNvdXJjZShS
ZWFsdGltZU1lZGlhU291cmNlJiwgdW5zaWduZWQgbWRlc2NJbmRleCkgb3ZlcnJpZGU7CisgICAg
dm9pZCByZXBsYWNlU2VuZFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlJiwgY29uc3QgU3RyaW5n
JiBtaWQpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CiAK
</data>
<flag name="review"
          id="305021"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281203</attachid>
            <date>2016-06-13 14:35:02 -0700</date>
            <delta_ts>2016-06-13 23:02:53 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>mepc-replace-track_1.patch</filename>
            <type>text/plain</type>
            <size>18937</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZmNlZDg0Li43NjNmODg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTYtMDYt
MTMgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZXBsYWNl
VHJhY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFVw
ZGF0ZSBleGlzdGluZyB0ZXN0IGZvciBSVENSdHBTZW5kZXIucmVwbGFjZVRyYWNrLgorCisgICAg
ICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXItcmVwbGFjZVRyYWNrLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJh
Y2suaHRtbDoKKyAgICAgICAgQWRkIHRlc3QgY2FzZXMgd2hlcmUgYSAibm90IHlldCBuZWdvdGlh
dGVkIHRyYWNrIiBpcyBkaXJlY3RseSByZXBsYWNlZC4gQWxzbyBjaGVjayB0aGF0IHRoZQorICAg
ICAgICBvbGQgdHJhY2sgaWQgaXMgdXNlZCBpbiBsYXRlciBvZmZlcnMuCisgICAgICAgICogZmFz
dC9tZWRpYXN0cmVhbS9yZXNvdXJjZXMvcHJvbWlzZS11dGlscy5qczoKKyAgICAgICAgKHByb21p
c2VTaG91bGRSZXNvbHZlKToKKyAgICAgICAgQWRkZWQgdXRpbGl0eSBtZXRob2QgdG8gdGVzdCBw
cm9taXNlIGV4cHJlc3Npb25zIHRoYXQgYXJlIGV4cGVjdGVkIHRvIHJlc29sdmUuCisKIDIwMTYt
MDYtMTAgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgogCiAg
ICAgICAgIFdlYlJUQzogSW1sZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVh
dGVBbnN3ZXIoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXItcmVwbGFjZVRyYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vUlRDUnRwU2VuZGVyLXJlcGxhY2VUcmFjay1leHBlY3RlZC50eHQKaW5kZXggYmNj
NjNlNi4uZWQ3YzNkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENSdHBTZW5kZXItcmVwbGFjZVRyYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2stZXhwZWN0ZWQudHh0CkBA
IC0xMiw4ICsxMiwxMyBAQCBQQVNTIHByb21pc2Ugc2VuZGVyLnJlcGxhY2VUcmFjayhudWxsKSBy
ZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3dpdAogUEFTUyBwcm9taXNlIHNl
bmRlci5yZXBsYWNlVHJhY2soe30pIHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnd2l0aFRyYWNrJykgdG8gUlRDUnRwU2VuZGVyLnJlcGxhY2VUcmFjayBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIE1lZGlhU3RyZWFtVHJhY2sKIFRlc3QgbWlzbWF0Y2hpbmcgdHJhY2sga2luZAog
UEFTUyBwcm9taXNlIHNlbmRlci5yZXBsYWNlVHJhY2sodmlkZW9UcmFjaykgcmVqZWN0ZWQgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKLVRoaXMgaXMgYSB2YWxpZCBjYWxsIGJ1dCB3aWxsIGJl
IHJlamVjdGVkIHVudGlsIHRoZSBQZWVyQ29ubmVjdGlvbkJhY2tlbmQgaW1wbGVtZW50YXRpb24g
aGFzIHByb3BlciBzdXBwb3J0Ci1QQVNTIHByb21pc2Ugc2VuZGVyLnJlcGxhY2VUcmFjayhhdWRp
b1RyYWNrMikgcmVqZWN0ZWQgd2l0aCBFcnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBFeGNl
cHRpb24gOQorUEFTUyBwcm9taXNlIHNlbmRlci5yZXBsYWNlVHJhY2soYXVkaW9UcmFjazIpIGZ1
bGZpbGxlZCB3aXRoIHVuZGVmaW5lZAorUEFTUyBUcmFjayBzdWNjZXNzZnVsbHkgcmVwbGFjZWQK
K1BBU1Mgc2VuZGVyLnRyYWNrIGlzIGF1ZGlvVHJhY2syCitTZW5kZXIgc2hvdWxkIHN0aWxsIHVz
ZSBvbGQgdHJhY2sgKGF1ZGlvVHJhY2spIGlkIGluIG5lZ290aWF0aW9uLgorUEFTUyBvZmZlciBj
cmVhdGVkCitQQVNTIG9mZmVyLnNkcC5pbmRleE9mKGF1ZGlvVHJhY2suaWQpIGlzIG5vdCAtMQor
UEFTUyBvZmZlci5zZHAuaW5kZXhPZihhdWRpb1RyYWNrMi5pZCkgaXMgLTEKIFN0b3Agc2VuZGVy
LCBhbmQgdHJ5IHJlcGxhY2luZyB0aGUgdHJhY2sKIFBBU1MgcHJvbWlzZSBzZW5kZXIucmVwbGFj
ZVRyYWNrKGF1ZGlvVHJhY2syKSByZWplY3RlZCB3aXRoIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMQogQ3JlYXRlIGEgbmV3IHNlbmRlcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXItcmVwbGFjZVRyYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2su
aHRtbAppbmRleCBiMGIyNGRiLi43N2QxOWU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2suaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci1yZXBsYWNlVHJhY2suaHRtbApAQCAt
Miw2ICsyLDcgQEAKIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy9wcm9taXNlLXV0aWxzLmpzIj48L3NjcmlwdD4KICAgICA8L2hlYWQ+CiAg
ICAgPGJvZHk+CiAgICAgICAgIDxzY3JpcHQ+CkBAIC0xMCw2ICsxMSw3IEBACiAgICAgICAgICAg
ICB2YXIgYXVkaW9UcmFjazI7CiAgICAgICAgICAgICB2YXIgdmlkZW9UcmFjazsKICAgICAgICAg
ICAgIHZhciBzZW5kZXI7CisgICAgICAgICAgICB2YXIgb2ZmZXI7CiAKICAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUZXN0IGJhc2ljIGJlaGF2aW9yIG9mIFJUQ1J0cFNlbmRlci5yZXBsYWNlVHJh
Y2soKSIpOwogCkBAIC0zOCwzNSArNDAsNTAgQEAKICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
c2VuZGVyLnRyYWNrIiwgImF1ZGlvVHJhY2siKTsKIAogICAgICAgICAgICAgICAgIHByb21pc2VT
aG91bGRSZWplY3QoInNlbmRlci5yZXBsYWNlVHJhY2soKSIpCi0gICAgICAgICAgICAgICAgLmNh
dGNoKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7CiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9taXNlU2hvdWxkUmVqZWN0KCJzZW5kZXIucmVw
bGFjZVRyYWNrKG51bGwpIik7CiAgICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgICAgICAu
Y2F0Y2goZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VTaG91bGRSZWplY3QoInNlbmRlci5y
ZXBsYWNlVHJhY2soe30pIik7CiAgICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgICAgICAu
Y2F0Y2goZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgICAgICAgICAgICAgZGVidWcoIlRlc3QgbWlzbWF0Y2hpbmcgdHJhY2sga2luZCIp
OwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZVNob3VsZFJlamVjdCgic2VuZGVy
LnJlcGxhY2VUcmFjayh2aWRlb1RyYWNrKSIpOwogICAgICAgICAgICAgICAgIH0pCi0gICAgICAg
ICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgZGVidWco
IlRoaXMgaXMgYSB2YWxpZCBjYWxsIGJ1dCB3aWxsIGJlIHJlamVjdGVkIHVudGlsIHRoZSBQZWVy
Q29ubmVjdGlvbkJhY2tlbmQgaW1wbGVtZW50YXRpb24gaGFzIHByb3BlciBzdXBwb3J0Iik7Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9taXNlU2hvdWxkUmVqZWN0KCJzZW5kZXIucmVw
bGFjZVRyYWNrKGF1ZGlvVHJhY2syKSIpOworICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VTaG91bGRSZXNvbHZlKCJz
ZW5kZXIucmVwbGFjZVRyYWNrKGF1ZGlvVHJhY2syKSIpOworICAgICAgICAgICAgICAgIH0pCisg
ICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJUcmFjayBzdWNjZXNzZnVsbHkgcmVwbGFjZWQiKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoInNlbmRlci50cmFjayIsICJhdWRpb1RyYWNrMiIpOworCisgICAgICAg
ICAgICAgICAgICAgIGRlYnVnKCJTZW5kZXIgc2hvdWxkIHN0aWxsIHVzZSBvbGQgdHJhY2sgKGF1
ZGlvVHJhY2spIGlkIGluIG5lZ290aWF0aW9uLiIpOworICAgICAgICAgICAgICAgICAgICByZXR1
cm4gcGMuY3JlYXRlT2ZmZXIoKTsKICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAg
IC5jYXRjaChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKG8p
IHsKKyAgICAgICAgICAgICAgICAgICAgb2ZmZXIgPSBvOworICAgICAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJvZmZlciBjcmVhdGVkIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZE5v
dEJlKCJvZmZlci5zZHAuaW5kZXhPZihhdWRpb1RyYWNrLmlkKSIsICItMSIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZSgib2ZmZXIuc2RwLmluZGV4T2YoYXVkaW9UcmFjazIuaWQpIiwg
Ii0xIik7CisKICAgICAgICAgICAgICAgICAgICAgZGVidWcoIlN0b3Agc2VuZGVyLCBhbmQgdHJ5
IHJlcGxhY2luZyB0aGUgdHJhY2siKTsKICAgICAgICAgICAgICAgICAgICAgcGMucmVtb3ZlVHJh
Y2soc2VuZGVyKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VTaG91bGRSZWpl
Y3QoInNlbmRlci5yZXBsYWNlVHJhY2soYXVkaW9UcmFjazIpIik7CiAgICAgICAgICAgICAgICAg
fSkKLSAgICAgICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAg
IC50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgZGVidWcoIkNyZWF0ZSBh
IG5ldyBzZW5kZXIiKTsKICAgICAgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInNlbmRl
ciA9IHBjLmFkZFRyYWNrKGF1ZGlvVHJhY2syLCBzdHJlYW0pIik7CiAgICAgICAgICAgICAgICAg
ICAgIGRlYnVnKCJDbG9zZSBwYyBhbmQgdHJ5IHJlcGxhY2luZyB0aGUgdHJhY2siKTsKICAgICAg
ICAgICAgICAgICAgICAgcGMuY2xvc2UoKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBy
b21pc2VTaG91bGRSZWplY3QoInNlbmRlci5yZXBsYWNlVHJhY2soYXVkaW9UcmFjazMpIik7CiAg
ICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAg
ZGVidWcoIkVuZCBvZiBwcm9taXNlIGNoYWluIik7CiAgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgLmNhdGNoKGZ1
bmN0aW9uIChlcnJvcikgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJFcnJvciBp
biBwcm9taXNlIGNoYWluOiAiICsgZXJyb3IpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pCiAgICAgICAgICAg
ICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CkBAIC03NCwzMSArOTEsNiBAQAogICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgICAgIGZ1
bmN0aW9uIHByb21pc2VTaG91bGRSZWplY3QoZXhwcikgewotICAgICAgICAgICAgICAgIHZhciBw
OwotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIHAgPSBldmFsKGV4
cHIpOwotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiZXZhbHVhdGluZyAiICsgZXhwciArICIgdGhyZXcgZXhjZXB0aW9uICIgKyBl
KTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCk7Ci0gICAgICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKCEocCBpbnN0YW5jZW9mIFByb21pc2Up
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoZXhwciArICIgZG9lcyBub3QgZXZh
bHVhdGUgdG8gYSBwcm9taXNlLiIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlz
ZS5yZWplY3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBwLnRoZW4o
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJwcm9taXNlICIg
KyBleHByICsgIiBmdWxmaWxsZWQgdW5leHBlY3RlZGx5LiIpOwotICAgICAgICAgICAgICAgIH0p
OwotCi0gICAgICAgICAgICAgICAgcC5jYXRjaChmdW5jdGlvbiAocmVhc29uKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoInByb21pc2UgIiArIGV4cHIgKyAiIHJlamVjdGVkIHdp
dGggIiArIHJlYXNvbik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgICAgICBy
ZXR1cm4gcDsKLSAgICAgICAgICAgIH0KLQogICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOwogICAgICAgICAgICAgd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcmVzb3VyY2VzL3By
b21pc2UtdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3Jlc291cmNlcy9w
cm9taXNlLXV0aWxzLmpzCmluZGV4IDIwZTA3OGQuLmZkMGMzOTYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcmVzb3VyY2VzL3Byb21pc2UtdXRpbHMuanMKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9yZXNvdXJjZXMvcHJvbWlzZS11dGlscy5qcwpA
QCAtMTUsNiArMTUsMjUgQEAgZnVuY3Rpb24gZW5zdXJlUHJvbWlzZShleHByKSB7CiAgICAgcmV0
dXJuIHA7CiB9CiAKK2Z1bmN0aW9uIHByb21pc2VTaG91bGRSZXNvbHZlKGV4cHIpIHsKKyAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGRvbmUpIHsKKyAgICAgICAgdmFyIHAgPSBlbnN1
cmVQcm9taXNlKGV4cHIpOworICAgICAgICBpZiAoIXApIHsKKyAgICAgICAgICAgIGRvbmUoKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHAudGhlbihmdW5jdGlv
biAodmFsdWUpIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoInByb21pc2UgIiArIGV4cHIgKyAi
IGZ1bGZpbGxlZCB3aXRoICIgKyB2YWx1ZSk7CisgICAgICAgICAgICBkb25lKCk7CisgICAgICAg
IH0pCisgICAgICAgIC5jYXRjaChmdW5jdGlvbiAocmVhc29uKSB7CisgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJwcm9taXNlICIgKyBleHByICsgIiByZWplY3RlZCB1bmV4cGVjdGVkbHkuIik7Cisg
ICAgICAgICAgICBkb25lKCk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCiBmdW5jdGlvbiBw
cm9taXNlU2hvdWxkUmVqZWN0KGV4cHIsIHJlYXNvbkFyZykgewogICAgIHJldHVybiBuZXcgUHJv
bWlzZShmdW5jdGlvbiAoZG9uZSkgewogICAgICAgICB2YXIgcCA9IGVuc3VyZVByb21pc2UoZXhw
cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggN2RkZmJlYi4uOGQ5NzVmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM2IEBACisyMDE2LTA2LTEzICBBZGFtIEJlcmdrdmlzdCAgPGFkYW0uYmVyZ2t2aXN0QGVyaWNz
c29uLmNvbT4KKworICAgICAgICBXZWJSVEM6IEltbGVtZW50IE1lZGlhRW5kcG9pbnRQZWVyQ29u
bmVjdGlvbjo6cmVwbGFjZVRyYWNrKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1ODY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNv
bi4KKworICAgICAgICBJbXBsZW1lbnQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZXBs
YWNlVHJhY2soKSB0aGF0IGlzIHRoZSBNZWRpYUVuZHBvaW50IGltcGxlbWVudGF0aW9uCisgICAg
ICAgIG9mIFJUQ1J0cFNlbmRlci5yZXBsYWNlVHJhY2soKSBbMV0uCisKKyAgICAgICAgWzFdIGh0
dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJydGMtcGMvYXJjaGl2ZXMvMjAxNjA1MTMvd2VicnRjLmh0
bWwjZG9tLXJ0Y3J0cHNlbmRlci1yZXBsYWNldHJhY2sKKworICAgICAgICBVcGRhdGVkIGZhc3Qv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLXJlcGxhY2VUcmFjay5odG1sCisKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OnJlcGxhY2VUcmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OnJlcGxhY2VU
cmFja1Rhc2spOgorICAgICAgICBJbXBsZW1lbnRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQ
ZWVyQ29ubmVjdGlvbjo6cmVwbGFjZVRyYWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgIE1vdmUgdGhlIE1lZGlhU3RyZWFtVHJh
Y2sgaW5zdGFuY2Ugb2Ygc2VuZGluZyBhIHJlZmVyZW5jZSB0byBpdC4gVGhpcyBjaGFuZ2UgaXMg
dGhlIG1haW4KKyAgICAgICAgcmVhc29uIG1hbnkgZmlsZXMgYXJlIHRvdWNoZWQgYnkgdGhpcyBj
aGFuZ2UuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGw6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5oOgorICAgICAgICBVc2UgbWlkIGlu
c3RlYWQgb2YgbWRlc2NJbmRleCB0byBpZGVudGlmeSB0aGUgbWVkaWEgZGVzY3JpcHRpb24gaW4g
dGhlIGJhY2tlbmQuCisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6cmVwbGFjZVNlbmRTb3Vy
Y2UpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuaDoKKwogMjAx
Ni0wNi0xMCAgQWRhbSBCZXJna3Zpc3QgIDxhZGFtLmJlcmdrdmlzdEBlcmljc3Nvbi5jb20+CiAK
ICAgICAgICAgV2ViUlRDOiBJbWxlbWVudCBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmNy
ZWF0ZUFuc3dlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAKaW5kZXggMDA0
MzFiNi4uYjhjYTQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcApAQCAt
NjI1LDE1ICs2MjUsMzUgQEAgUmVmUHRyPFJUQ1J0cFJlY2VpdmVyPiBNZWRpYUVuZHBvaW50UGVl
ckNvbm5lY3Rpb246OmNyZWF0ZVJlY2VpdmVyKGNvbnN0IFN0cmluZyYKICAgICByZXR1cm4gUlRD
UnRwUmVjZWl2ZXI6OmNyZWF0ZShXVEZNb3ZlKHJlbW90ZVRyYWNrKSk7CiB9CiAKLXZvaWQgTWVk
aWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZXBsYWNlVHJhY2soUlRDUnRwU2VuZGVyJiBzZW5k
ZXIsIE1lZGlhU3RyZWFtVHJhY2smIHdpdGhUcmFjaywgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9t
aXNlJiYgcHJvbWlzZSkKK3ZvaWQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZXBsYWNl
VHJhY2soUlRDUnRwU2VuZGVyJiBzZW5kZXIsIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiYmIHdp
dGhUcmFjaywgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYgcHJvbWlzZSkKIHsKLSAgICBV
TlVTRURfUEFSQU0oc2VuZGVyKTsKLSAgICBVTlVTRURfUEFSQU0od2l0aFRyYWNrKTsKLSAgICBV
TlVTRURfUEFSQU0ocHJvbWlzZSk7CisgICAgUlRDUnRwVHJhbnNjZWl2ZXIqIHRyYW5zY2VpdmVy
ID0gbWF0Y2hUcmFuc2NlaXZlcihtX2NsaWVudC0+Z2V0VHJhbnNjZWl2ZXJzKCksIFsmc2VuZGVy
XSAoUlRDUnRwVHJhbnNjZWl2ZXImIGN1cnJlbnQpIHsKKyAgICAgICAgcmV0dXJuIGN1cnJlbnQu
c2VuZGVyKCkgPT0gJnNlbmRlcjsKKyAgICB9KTsKKyAgICBBU1NFUlQodHJhbnNjZWl2ZXIpOwog
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25zdCBTdHJpbmcmIG1pZCA9IHRyYW5zY2Vp
dmVyLT5taWQoKTsKKyAgICBpZiAobWlkLmlzTnVsbCgpKSB7CisgICAgICAgIC8vIFRyYW5zY2Vp
dmVyIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBtZWRpYSBkZXNjcmlwdGlvbiB5ZXQuCisgICAg
ICAgIHNlbmRlci5zZXRUcmFjayhXVEZNb3ZlKHdpdGhUcmFjaykpOworICAgICAgICBwcm9taXNl
LnJlc29sdmUobnVsbHB0cik7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBwcm9taXNl
LnJlamVjdChOT1RfU1VQUE9SVEVEX0VSUik7CisgICAgcnVuVGFzayhbdGhpcywgcHJvdGVjdGVk
U2VuZGVyID0gUmVmUHRyPFJUQ1J0cFNlbmRlcj4oJnNlbmRlciksIG1pZCwgcHJvdGVjdGVkVHJh
Y2sgPSBXVEZNb3ZlKHdpdGhUcmFjayksIHByb3RlY3RlZFByb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSgpIG11dGFibGUgeworICAgICAgICByZXBsYWNlVHJhY2tUYXNrKCpwcm90ZWN0ZWRTZW5k
ZXIsIG1pZCwgV1RGTW92ZShwcm90ZWN0ZWRUcmFjayksIHByb3RlY3RlZFByb21pc2UpOworICAg
IH0pOworfQorCit2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6cmVwbGFjZVRyYWNr
VGFzayhSVENSdHBTZW5kZXImIHNlbmRlciwgY29uc3QgU3RyaW5nJiBtaWQsIFJlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrPiYmIHdpdGhUcmFjaywgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiBw
cm9taXNlKQoreworICAgIGlmIChtX2NsaWVudC0+aW50ZXJuYWxTaWduYWxpbmdTdGF0ZSgpID09
IFNpZ25hbGluZ1N0YXRlOjpDbG9zZWQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbWVkaWFF
bmRwb2ludC0+cmVwbGFjZVNlbmRTb3VyY2Uod2l0aFRyYWNrLT5zb3VyY2UoKSwgbWlkKTsKKwor
ICAgIHNlbmRlci5zZXRUcmFjayhXVEZNb3ZlKHdpdGhUcmFjaykpOworICAgIHByb21pc2UucmVz
b2x2ZShudWxscHRyKTsKIH0KIAogdm9pZCBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OnN0
b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmgKaW5kZXggZjAxN2IyZS4uZGYxZTlk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oCkBAIC03NCw3ICs3NCw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2sqLCBQZWVyQ29ubmVjdGlv
bjo6U3RhdHNQcm9taXNlJiYpIG92ZXJyaWRlOwogCiAgICAgUmVmUHRyPFJUQ1J0cFJlY2VpdmVy
PiBjcmVhdGVSZWNlaXZlcihjb25zdCBTdHJpbmcmIHRyYW5zY2VpdmVyTWlkLCBjb25zdCBTdHJp
bmcmIHRyYWNrS2luZCwgY29uc3QgU3RyaW5nJiB0cmFja0lkKSBvdmVycmlkZTsKLSAgICB2b2lk
IHJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBNZWRpYVN0cmVhbVRyYWNrJiwgUGVlckNvbm5l
Y3Rpb246OlZvaWRQcm9taXNlJiYpIG92ZXJyaWRlOworICAgIHZvaWQgcmVwbGFjZVRyYWNrKFJU
Q1J0cFNlbmRlciYsIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBQZWVyQ29ubmVjdGlvbjo6
Vm9pZFByb21pc2UmJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKIApA
QCAtOTIsNiArOTIsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvblRh
c2soUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQ
cm9taXNlJik7CiAgICAgdm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvblRhc2soUmVmUHRyPFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbj4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJik7CiAKKyAg
ICB2b2lkIHJlcGxhY2VUcmFja1Rhc2soUlRDUnRwU2VuZGVyJiwgY29uc3QgU3RyaW5nJiBtaWQs
IFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBQZWVyQ29ubmVjdGlvbjo6Vm9pZFByb21pc2Um
KTsKKwogICAgIGJvb2wgbG9jYWxEZXNjcmlwdGlvblR5cGVWYWxpZEZvclN0YXRlKFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbjo6U2RwVHlwZSkgY29uc3Q7CiAgICAgYm9vbCByZW1vdGVEZXNjcmlwdGlv
blR5cGVWYWxpZEZvclN0YXRlKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6U2RwVHlwZSkgY29uc3Q7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNv
bm5lY3Rpb25CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Bl
ZXJDb25uZWN0aW9uQmFja2VuZC5oCmluZGV4IDQwNTNiMzYuLjc1NTJiMmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlv
bkJhY2tlbmQuaApAQCAtMTA3LDcgKzEwNyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
Z2V0U3RhdHMoTWVkaWFTdHJlYW1UcmFjayosIFBlZXJDb25uZWN0aW9uOjpTdGF0c1Byb21pc2Um
JikgPSAwOwogCiAgICAgdmlydHVhbCBSZWZQdHI8UlRDUnRwUmVjZWl2ZXI+IGNyZWF0ZVJlY2Vp
dmVyKGNvbnN0IFN0cmluZyYgdHJhbnNjZWl2ZXJNaWQsIGNvbnN0IFN0cmluZyYgdHJhY2tLaW5k
LCBjb25zdCBTdHJpbmcmIHRyYWNrSWQpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVwbGFjZVRy
YWNrKFJUQ1J0cFNlbmRlciYsIE1lZGlhU3RyZWFtVHJhY2smLCBQZWVyQ29ubmVjdGlvbjo6Vm9p
ZFByb21pc2UmJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlVHJhY2soUlRDUnRwU2Vu
ZGVyJiwgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+JiYsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJv
bWlzZSYmKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcAppbmRleCBmMzNiZGIxLi4wYzE4NjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcApAQCAtNDk1LDkg
KzQ5NSw5IEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OmZpcmVFdmVudChFdmVudCYgZXZlbnQp
CiAgICAgZGlzcGF0Y2hFdmVudChldmVudCk7CiB9CiAKLXZvaWQgUlRDUGVlckNvbm5lY3Rpb246
OnJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImIHNlbmRlciwgTWVkaWFTdHJlYW1UcmFjayYgd2l0
aFRyYWNrLCBQZWVyQ29ubmVjdGlvbjo6Vm9pZFByb21pc2UmJiBwcm9taXNlKQordm9pZCBSVENQ
ZWVyQ29ubmVjdGlvbjo6cmVwbGFjZVRyYWNrKFJUQ1J0cFNlbmRlciYgc2VuZGVyLCBSZWZQdHI8
TWVkaWFTdHJlYW1UcmFjaz4mJiB3aXRoVHJhY2ssIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlz
ZSYmIHByb21pc2UpCiB7Ci0gICAgbV9iYWNrZW5kLT5yZXBsYWNlVHJhY2soc2VuZGVyLCB3aXRo
VHJhY2ssIFdURk1vdmUocHJvbWlzZSkpOworICAgIG1fYmFja2VuZC0+cmVwbGFjZVRyYWNrKHNl
bmRlciwgV1RGTW92ZSh3aXRoVHJhY2spLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCmluZGV4IDA5YjJhNDUuLmVmMTU4N2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmgKQEAgLTE0NSw3ICsxNDUsNyBAQCBwcml2YXRlOgogICAgIFBlZXJDb25uZWN0aW9u
U3RhdGVzOjpJY2VDb25uZWN0aW9uU3RhdGUgaW50ZXJuYWxJY2VDb25uZWN0aW9uU3RhdGUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBtX2ljZUNvbm5lY3Rpb25TdGF0ZTsgfQogCiAgICAgLy8g
UlRDUnRwU2VuZGVyQ2xpZW50Ci0gICAgdm9pZCByZXBsYWNlVHJhY2soUlRDUnRwU2VuZGVyJiwg
TWVkaWFTdHJlYW1UcmFjayYsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlzZSYmKSBvdmVycmlk
ZTsKKyAgICB2b2lkIHJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBSZWZQdHI8TWVkaWFTdHJl
YW1UcmFjaz4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYpIG92ZXJyaWRlOwogCiAg
ICAgUGVlckNvbm5lY3Rpb25TdGF0ZXM6OlNpZ25hbGluZ1N0YXRlIG1fc2lnbmFsaW5nU3RhdGU7
CiAgICAgUGVlckNvbm5lY3Rpb25TdGF0ZXM6OkljZUdhdGhlcmluZ1N0YXRlIG1faWNlR2F0aGVy
aW5nU3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuaAppbmRleCA5MTJkMGIxLi5mMzU1MDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmgKQEAgLTQxLDcgKzQxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSVENSdHBTZW5kZXJDbGllbnQgewogcHVibGlj
OgotICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlVHJhY2soUlRDUnRwU2VuZGVyJiwgTWVkaWFTdHJl
YW1UcmFjayYsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlzZSYmKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBSZWZQdHI8TWVkaWFTdHJlYW1UcmFj
az4mJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYpID0gMDsKIAogICAgIHZpcnR1YWwg
flJUQ1J0cFNlbmRlckNsaWVudCgpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbAppbmRleCBkZTQxMjc1Li40MzRkN2E2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNl
bmRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXIuaWRsCkBAIC0zMSw3ICszMSw3IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywK
IF0gaW50ZXJmYWNlIFJUQ1J0cFNlbmRlciB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlh
U3RyZWFtVHJhY2sgdHJhY2s7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtVHJh
Y2s/IHRyYWNrOwogCiAgICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSBQ
cm9taXNlIHJlcGxhY2VUcmFjayhNZWRpYVN0cmVhbVRyYWNrIHdpdGhUcmFjayk7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2lu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5o
CmluZGV4IGFkOTZlOTMuLjNkYmYwMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50LmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBhZGRSZW1vdGVDYW5kaWRhdGUoSWNlQ2FuZGlkYXRlJiwgdW5z
aWduZWQgbWRlc2NJbmRleCwgY29uc3QgU3RyaW5nJiB1ZnJhZywgY29uc3QgU3RyaW5nJiBwYXNz
d29yZCkgPSAwOwogCiAgICAgdmlydHVhbCBSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4gY3JlYXRl
TXV0ZWRSZW1vdGVTb3VyY2UoY29uc3QgU3RyaW5nJiBtaWQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGUpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVwbGFjZVNlbmRTb3VyY2UoUmVhbHRpbWVN
ZWRpYVNvdXJjZSYsIHVuc2lnbmVkIG1kZXNjSW5kZXgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
cmVwbGFjZVNlbmRTb3VyY2UoUmVhbHRpbWVNZWRpYVNvdXJjZSYsIGNvbnN0IFN0cmluZyYgbWlk
KSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDc5NDlm
N2UuLjg5ZTg0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9j
a01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9j
a01lZGlhRW5kcG9pbnQuY3BwCkBAIC0xOTAsMTAgKzE5MCwxMCBAQCBSZWY8UmVhbHRpbWVNZWRp
YVNvdXJjZT4gTW9ja01lZGlhRW5kcG9pbnQ6OmNyZWF0ZU11dGVkUmVtb3RlU291cmNlKGNvbnN0
IFN0cmluZwogICAgIHJldHVybiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6Y3JlYXRlTXV0ZWQo
InJlbW90ZSB2aWRlbyIpOwogfQogCi12b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpyZXBsYWNlU2Vu
ZFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlJiBuZXdTb3VyY2UsIHVuc2lnbmVkIG1kZXNjSW5k
ZXgpCit2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpyZXBsYWNlU2VuZFNvdXJjZShSZWFsdGltZU1l
ZGlhU291cmNlJiBuZXdTb3VyY2UsIGNvbnN0IFN0cmluZyYgbWlkKQogewogICAgIFVOVVNFRF9Q
QVJBTShuZXdTb3VyY2UpOwotICAgIFVOVVNFRF9QQVJBTShtZGVzY0luZGV4KTsKKyAgICBVTlVT
RURfUEFSQU0obWlkKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6c3RvcCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmgKaW5kZXgg
NmQxNGFjMC4uYTFiOGU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9Nb2NrTWVkaWFFbmRwb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
TW9ja01lZGlhRW5kcG9pbnQuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBh
ZGRSZW1vdGVDYW5kaWRhdGUoSWNlQ2FuZGlkYXRlJiwgdW5zaWduZWQgbWRlc2NJbmRleCwgY29u
c3QgU3RyaW5nJiB1ZnJhZywgY29uc3QgU3RyaW5nJiBwYXNzd29yZCkgb3ZlcnJpZGU7CiAKICAg
ICBSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4gY3JlYXRlTXV0ZWRSZW1vdGVTb3VyY2UoY29uc3Qg
U3RyaW5nJiBtaWQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUpIG92ZXJyaWRlOwotICAgIHZv
aWQgcmVwbGFjZVNlbmRTb3VyY2UoUmVhbHRpbWVNZWRpYVNvdXJjZSYsIHVuc2lnbmVkIG1kZXNj
SW5kZXgpIG92ZXJyaWRlOworICAgIHZvaWQgcmVwbGFjZVNlbmRTb3VyY2UoUmVhbHRpbWVNZWRp
YVNvdXJjZSYsIGNvbnN0IFN0cmluZyYgbWlkKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc3RvcCgp
IG92ZXJyaWRlOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>