<?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>180342</bug_id>
          
          <creation_ts>2017-12-03 19:48:25 -0800</creation_ts>
          <short_desc>replaceTrack triggers negotiationneeded</short_desc>
          <delta_ts>2018-03-15 15:36:48 -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>WebRTC</component>
          <version>Safari Technology Preview</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="Andrew Morris">andrew</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377582</commentid>
    <comment_count>0</comment_count>
    <who name="Andrew Morris">andrew</who>
    <bug_when>2017-12-03 19:48:25 -0800</bug_when>
    <thetext>1. Go to basic peer connection demo from webrtc samples: https://webrtc.github.io/samples/src/content/peerconnection/pc1/
2. Run this in the console:
(async () =&gt; {
  pc1.addEventListener(&apos;negotiationneeded&apos;, evt =&gt; console.log(&apos;pc1 negotiationneeded&apos;, evt));
  await new Promise(resolve =&gt; setTimeout(resolve, 250));
  const initialVideoTrack = pc1.getSenders()[1].track;
  await pc1.getSenders()[1].replaceTrack(initialVideoTrack);
  console.log(&apos;done&apos;);
})().catch(err =&gt; console.error(err));


Result: &apos;pc1 negotiationneeded [...]&apos; is logged
Expected: &apos;pc1 negotiationneeded [...]&apos; is not logged (and no visible changes really)

I could be wrong about this being a bug, but Firefox does not do this, and in my understanding the whole point of replaceTrack is that you can just start pulling frames from a new source and nothing much needs to happen.

Safari 11 stable is also affected. Tested on (non-high) Sierra.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377583</commentid>
    <comment_count>1</comment_count>
    <who name="Andrew Morris">andrew</who>
    <bug_when>2017-12-03 20:05:26 -0800</bug_when>
    <thetext>I&apos;m not sure why I can&apos;t reproduce this on the webrtc samples page but when I do the same kind of thing with the OpenTok SDK it generates a new offer in response to this new event and [[todo: add description]].

Initial offer:
-------------------
v=0
o=- 7609724054059362131 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS a40b4846-897a-4e39-bbda-58353279328c
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:MafM
a=ice-pwd:Ae6ygV1areELvRZVSKe+s9MM
a=ice-options:trickle
a=fingerprint:sha-256 90:62:6B:7A:D7:B0:F6:14:5C:E0:39:87:49:6A:ED:DE:6E:53:16:D1:F1:0A:61:27:9F:0A:EA:44:63:BF:14:C0
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:1371791958 cname:a2HB65MoahQnEdTo
a=ssrc:1371791958 msid:a40b4846-897a-4e39-bbda-58353279328c 220d2952-77dd-4b90-ba4b-55587f8734de
a=ssrc:1371791958 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:1371791958 label:220d2952-77dd-4b90-ba4b-55587f8734de
m=video 9 UDP/TLS/RTP/SAVPF 96 98 99 97 100
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:MafM
a=ice-pwd:Ae6ygV1areELvRZVSKe+s9MM
a=ice-options:trickle
a=fingerprint:sha-256 90:62:6B:7A:D7:B0:F6:14:5C:E0:39:87:49:6A:ED:DE:6E:53:16:D1:F1:0A:61:27:9F:0A:EA:44:63:BF:14:C0
a=setup:actpass
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 urn:3gpp:video-orientation
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 red/90000
a=rtpmap:98 ulpfec/90000
a=rtpmap:99 H264/90000
a=rtcp-fb:99 ccm fir
a=rtcp-fb:99 nack
a=rtcp-fb:99 nack pli
a=rtcp-fb:99 goog-remb
a=rtcp-fb:99 transport-cc
a=fmtp:99 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:100 rtx/90000
a=fmtp:100 apt=99
a=ssrc-group:FID 1703086589 1076479466
a=ssrc:1703086589 cname:a2HB65MoahQnEdTo
a=ssrc:1703086589 msid:a40b4846-897a-4e39-bbda-58353279328c d96e5f40-9467-4c26-b2d1-3152f459286d
a=ssrc:1703086589 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:1703086589 label:d96e5f40-9467-4c26-b2d1-3152f459286d
a=ssrc:1076479466 cname:a2HB65MoahQnEdTo
a=ssrc:1076479466 msid:a40b4846-897a-4e39-bbda-58353279328c d96e5f40-9467-4c26-b2d1-3152f459286d
a=ssrc:1076479466 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:1076479466 label:d96e5f40-9467-4c26-b2d1-3152f459286d
-------------------

Offer after replaceTrack:
-------------------
v=0
o=- 7609724054059362131 3 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS a40b4846-897a-4e39-bbda-58353279328c
m=audio 7724 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
c=IN IP4 61.88.29.110
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:3368096812 1 udp 2113937151 10.100.5.213 61969 typ host generation 0 network-cost 50
a=candidate:842163049 1 udp 1677729535 61.88.29.110 7724 typ srflx raddr 10.100.5.213 rport 61969 generation 0 network-cost 50
a=ice-ufrag:MafM
a=ice-pwd:Ae6ygV1areELvRZVSKe+s9MM
a=ice-options:trickle
a=fingerprint:sha-256 90:62:6B:7A:D7:B0:F6:14:5C:E0:39:87:49:6A:ED:DE:6E:53:16:D1:F1:0A:61:27:9F:0A:EA:44:63:BF:14:C0
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:1371791958 cname:a2HB65MoahQnEdTo
a=ssrc:1371791958 msid:a40b4846-897a-4e39-bbda-58353279328c 220d2952-77dd-4b90-ba4b-55587f8734de
a=ssrc:1371791958 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:1371791958 label:220d2952-77dd-4b90-ba4b-55587f8734de
m=video 12078 UDP/TLS/RTP/SAVPF 96 98 99 97 100
c=IN IP4 61.88.29.110
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:3368096812 1 udp 2113937151 10.100.5.213 59136 typ host generation 0 network-cost 50
a=candidate:842163049 1 udp 1677729535 61.88.29.110 12078 typ srflx raddr 10.100.5.213 rport 59136 generation 0 network-cost 50
a=ice-ufrag:MafM
a=ice-pwd:Ae6ygV1areELvRZVSKe+s9MM
a=ice-options:trickle
a=fingerprint:sha-256 90:62:6B:7A:D7:B0:F6:14:5C:E0:39:87:49:6A:ED:DE:6E:53:16:D1:F1:0A:61:27:9F:0A:EA:44:63:BF:14:C0
a=setup:actpass
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 urn:3gpp:video-orientation
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 red/90000
a=rtpmap:98 ulpfec/90000
a=rtpmap:99 H264/90000
a=rtcp-fb:99 ccm fir
a=rtcp-fb:99 nack
a=rtcp-fb:99 nack pli
a=rtcp-fb:99 goog-remb
a=rtcp-fb:99 transport-cc
a=fmtp:99 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:100 rtx/90000
a=fmtp:100 apt=99
a=ssrc-group:FID 1703086589 1076479466
a=ssrc:1703086589 cname:a2HB65MoahQnEdTo
a=ssrc:1703086589 msid:a40b4846-897a-4e39-bbda-58353279328c d96e5f40-9467-4c26-b2d1-3152f459286d
a=ssrc:1703086589 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:1703086589 label:d96e5f40-9467-4c26-b2d1-3152f459286d
a=ssrc:1076479466 cname:a2HB65MoahQnEdTo
a=ssrc:1076479466 msid:a40b4846-897a-4e39-bbda-58353279328c d96e5f40-9467-4c26-b2d1-3152f459286d
a=ssrc:1076479466 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:1076479466 label:d96e5f40-9467-4c26-b2d1-3152f459286d
a=ssrc-group:FID 1982847902 820166425
a=ssrc:1982847902 cname:a2HB65MoahQnEdTo
a=ssrc:1982847902 msid:a40b4846-897a-4e39-bbda-58353279328c f11c251f-1672-4755-ab37-9d764c14d05a
a=ssrc:1982847902 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:1982847902 label:f11c251f-1672-4755-ab37-9d764c14d05a
a=ssrc:820166425 cname:a2HB65MoahQnEdTo
a=ssrc:820166425 msid:a40b4846-897a-4e39-bbda-58353279328c f11c251f-1672-4755-ab37-9d764c14d05a
a=ssrc:820166425 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:820166425 label:f11c251f-1672-4755-ab37-9d764c14d05a
-------------------

The main change here is that a new ssrc-group has been added:

-------------------
a=ssrc-group:FID 1982847902 820166425
a=ssrc:1982847902 cname:a2HB65MoahQnEdTo
a=ssrc:1982847902 msid:a40b4846-897a-4e39-bbda-58353279328c f11c251f-1672-4755-ab37-9d764c14d05a
a=ssrc:1982847902 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:1982847902 label:f11c251f-1672-4755-ab37-9d764c14d05a
a=ssrc:820166425 cname:a2HB65MoahQnEdTo
a=ssrc:820166425 msid:a40b4846-897a-4e39-bbda-58353279328c f11c251f-1672-4755-ab37-9d764c14d05a
a=ssrc:820166425 mslabel:a40b4846-897a-4e39-bbda-58353279328c
a=ssrc:820166425 label:f11c251f-1672-4755-ab37-9d764c14d05a
-------------------

And every time this process is repeated there is another ssrc-group resulting in an ever-growing sdp.

By the way, when I try to reproduce this in the webrtc sample page, createOffer throws this exception:
OperationError (DOM Exception 34): CreateOffer called with invalid media streams.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377584</commentid>
    <comment_count>2</comment_count>
    <who name="Andrew Morris">andrew</who>
    <bug_when>2017-12-03 20:07:35 -0800</bug_when>
    <thetext>Ack, I forgot to replace [[todo: add description]] above, I should have replaced it with &apos;there is a new ssrc-group&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377585</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-03 20:08:18 -0800</bug_when>
    <thetext>&gt; in my understanding the whole point of replaceTrack is that you can just
&gt; start pulling frames from a new source and nothing much needs to happen.

That is also my understanding, there is probably a bug there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377586</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-03 20:09:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/35822426&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406791</commentid>
    <comment_count>5</comment_count>
      <attachid>335878</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-15 14:03:44 -0700</bug_when>
    <thetext>Created attachment 335878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406841</commentid>
    <comment_count>6</comment_count>
      <attachid>335878</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-15 15:36:47 -0700</bug_when>
    <thetext>Comment on attachment 335878
Patch

Clearing flags on attachment: 335878

Committed r229644: &lt;https://trac.webkit.org/changeset/229644&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406842</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-15 15:36:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335878</attachid>
            <date>2018-03-15 14:03:44 -0700</date>
            <delta_ts>2018-03-15 15:36:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180342-20180315140344.patch</filename>
            <type>text/plain</type>
            <size>4199</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQ4ZjgxMzk4NTJjMWY5
MThmNjNiZTFmZWI5NDdjY2E5ZWYyNTk5OS4uMTMxOGRjNWQ1ZWQ5MDdjODA2NWQ5MmRlZmU1ODU2
YTQwYjgzZWIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTAzLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICByZXBsYWNlVHJhY2sgdHJp
Z2dlcnMgbmVnb3RpYXRpb25uZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MDM0MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU4MjI0MjY+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJl
ZCBieSB1cGRhdGVkIHRlc3QuCisgICAgICAgIEZpeCB0aGUgY2FzZSBvZiByZXBsYWNpbmcgYSB0
cmFjayBmb3Igd2hpY2ggZGF0YSBpcyBhbHJlYWR5IGZsb3dpbmcuCisgICAgICAgIFdlIHNob3Vs
ZCBwcm9iYWJseSBkbyB0aGUgc2FtZSBmb3IgbnVsbCB0cmFja3Mgd2hlbiBmdWxseSBpbXBsZW1l
bnRpbmcgdHJhbnNjZWl2ZXJzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6
ZW5xdWV1ZVJlcGxhY2VUcmFja1Rhc2spOgorCiAyMDE4LTAzLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBCYWQgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJz
IHNob3VsZCBtYWtlIFJUQ1BlZXJDb25uZWN0aW9uIGNvbnN0cnVjdG9yIHRocm93CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uY3BwCmluZGV4IGYyNjU5ZGZmM2RkODA4MzVmMDM4MjI5NzcxMWM0MjQxNzYzYzYwMjMuLmM0
YWVhMWI0OWNlMjQ5MjdjNTk1NmU1MTBlOTdmYWU2MTAwYzQzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3Bw
CkBAIC01NzEsOCArNTcxLDEwIEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OmVucXVldWVSZXBs
YWNlVHJhY2tUYXNrKFJUQ1J0cFNlbmRlciYgc2VuZGVyLCBSZWY8TWVkaWFTCiAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFzayhbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBwcm90ZWN0ZWRTZW5kZXIgPSBtYWtlUmVmKHNlbmRlciksIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpLCB3aXRoVHJhY2sgPSBXVEZNb3ZlKHdpdGhUcmFjayldKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMtPmlzQ2xvc2Vk
KCkpCiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJvb2wgaGFzVHJhY2sgPSBwcm90ZWN0
ZWRTZW5kZXItPnRyYWNrKCk7CiAgICAgICAgIHByb3RlY3RlZFNlbmRlci0+c2V0VHJhY2soV1RG
TW92ZSh3aXRoVHJhY2spKTsKLSAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9iYWNrZW5kLT5ub3Rp
ZnlBZGRlZFRyYWNrKHByb3RlY3RlZFNlbmRlci5nZXQoKSk7CisgICAgICAgIGlmICghaGFzVHJh
Y2spCisgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX2JhY2tlbmQtPm5vdGlmeUFkZGVkVHJh
Y2socHJvdGVjdGVkU2VuZGVyLmdldCgpKTsKICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKCk7CiAg
ICAgfSk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYzc1YjhmZWYwN2QwODE5NDRjOGU3OTY3MTgyYTRkNmE0MzgyOTM4
MC4uOTI1MDE4OTAyNWU5ZjFjNTM0YjFlNDMwNzg2ZWUzZDY1MTJiMWMzYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDE4LTAzLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KworICAgICAgICByZXBsYWNlVHJhY2sgdHJpZ2dlcnMgbmVnb3RpYXRpb25uZWVkZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM0MgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzU4MjI0MjY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJydGMvdmlkZW8tcmVwbGFjZS10cmFjay5odG1sOgor
CiAyMDE4LTAzLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBCYWQgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIHNob3VsZCBtYWtlIFJUQ1BlZXJDb25uZWN0
aW9uIGNvbnN0cnVjdG9yIHRocm93CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvdmlk
ZW8tcmVwbGFjZS10cmFjay5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXJlcGxhY2Ut
dHJhY2suaHRtbAppbmRleCA3MTczOWFhYTBkYjdkOGUzYTc4N2IwNjZlMTlkMDY1ZWJlZTE1ZjQy
Li5lNTJjNzE5NGY5Nzk0YTFmODYxYWZhNDg0YTcyNWNkNDJlZGUxYmU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tcmVwbGFjZS10cmFjay5odG1sCisrKyBiL0xheW91dFRl
c3RzL3dlYnJ0Yy92aWRlby1yZXBsYWNlLXRyYWNrLmh0bWwKQEAgLTEwMSw2ICsxMDEsNyBAQCBw
cm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICB9KTsKIH0sICJTd2l0Y2hpbmcgZnJvbSBmcm9u
dCB0byBiYWNrIGNhbWVyYSIpOwogCit2YXIgZGlkUmVwbGFjZVRyYWNrID0gZmFsc2U7CiBwcm9t
aXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlck1lZGlhUGVybWlzc2lvbih0cnVlKTsKQEAgLTExNSw2ICsxMTYs
OSBAQCBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNl
KChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25zKChm
aXJzdENvbm5lY3Rpb24pID0+IHsKICAgICAgICAgICAgICAgICBzZW5kZXIgPSBmaXJzdENvbm5l
Y3Rpb24uYWRkVHJhY2soZnJvbnRTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXSwgZnJvbnRTdHJl
YW0pOworICAgICAgICAgICAgICAgIGZpcnN0Q29ubmVjdGlvbi5hZGRFdmVudExpc3RlbmVyKCdu
ZWdvdGlhdGlvbm5lZWRlZCcsIHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgYXNzZXJ0X2ZhbHNlKGRpZFJlcGxhY2VUcmFjaywgJ25lZ290aWF0aW9uZWVkZWQgc2hv
dWxkIG5vdCBiZSBjYWxsZWQgYWZ0ZXIgcmVwbGFjaW5nIGFuIG9uZ29pbmcgdHJhY2snKTsKKyAg
ICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikgPT4g
ewogICAgICAgICAgICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50
KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJlYW1zWzBd
KTsKQEAgLTEzMiw2ICsxMzYsNyBAQCBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICB9KS50
aGVuKChzdHJlYW0pID0+IHsKICAgICAgICAgYmFja1N0cmVhbSA9IHN0cmVhbTsKICAgICAgICAg
YXNzZXJ0X3RydWUoYmFja1N0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLmdldFNldHRpbmdzKCku
aGVpZ2h0ID09PSAyNDAsICJiYWNrU3RyZWFtIHNob3VsZCBiZSBzbWFsbCIpOworICAgICAgICBk
aWRSZXBsYWNlVHJhY2sgPSB0cnVlOwogICAgICAgICByZXR1cm4gc2VuZGVyLnJlcGxhY2VUcmFj
ayhiYWNrU3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0pOwogICAgIH0pLnRoZW4oKCkgPT4gewog
ICAgICAgICByZXR1cm4gdGVzdEJhY2tDYW1lcmFJbWFnZSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>