<?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>111079</bug_id>
          
          <creation_ts>2013-02-28 07:33:14 -0800</creation_ts>
          <short_desc>MediaStream API: local addTrack() and removeTrack() operations should not fire events.</short_desc>
          <delta_ts>2013-03-04 02:25:07 -0800</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>528+ (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>56459</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>844064</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-02-28 07:33:14 -0800</bug_when>
    <thetext>According to the spec, addTrack() and removeTrack() called by local JavaScript must not fire &quot;addtrack&quot; and &quot;removetrack&quot; events. The events must however fire if the track set is modified externally (e.g., a track is removed at the other peer in a p2p scenario).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844067</commentid>
    <comment_count>1</comment_count>
      <attachid>190725</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-02-28 07:39:45 -0800</bug_when>
    <thetext>Created attachment 190725
Proposed patch

I replaced the entire test since the old one was driven by the event dispatching removed by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844294</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-28 11:42:07 -0800</bug_when>
    <thetext>@tommyw: Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844892</commentid>
    <comment_count>3</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2013-03-01 00:48:10 -0800</bug_when>
    <thetext>Since Adam is one of the main editors of the specification he very, very likely knows it better than me ;)

This patch looks just dandy to me, but maybe the spec needs a little bit of clarification exactly when the add/removeTrack events are thrown (only for streams originating from an remote peer).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845254</commentid>
    <comment_count>4</comment_count>
      <attachid>190725</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-01 09:57:04 -0800</bug_when>
    <thetext>Comment on attachment 190725
Proposed patch

ok :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846245</commentid>
    <comment_count>5</comment_count>
      <attachid>190725</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 02:09:40 -0800</bug_when>
    <thetext>Comment on attachment 190725
Proposed patch

Clearing flags on attachment: 190725

Committed r144610: &lt;http://trac.webkit.org/changeset/144610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846246</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 02:09:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846256</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-03-04 02:25:07 -0800</bug_when>
    <thetext>Thanks :)

(In reply to comment #3)
&gt; This patch looks just dandy to me, but maybe the spec needs a little bit of clarification exactly when the add/removeTrack events are thrown (only for streams originating from an remote peer).

I think the text describing these events suffered the most when we extracted the &quot;Media Capture and Streams&quot; stuff from the WebRTC spec. The events are defined in the &quot;Media Capture&quot; spec, but never used there; the usage is described in the WebRTC spec (Section &quot;9.2.2 Events on MediaStream&quot; [1]). Please provide some feedback if you think that section needs to be improved.

There&apos;s an non-normative &quot;Event Summary&quot; section in the &quot;Media Capture&quot; spec with short descriptive text for each event. The current text says: &quot;A new MediaStreamTrack has been added to this stream.&quot;. We could change the text to make it more clear that these events are used to notify the script about external modifications to the track lists.

[1] http://dev.w3.org/2011/webrtc/editor/webrtc.html#events-on-mediastream</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190725</attachid>
            <date>2013-02-28 07:39:45 -0800</date>
            <delta_ts>2013-03-04 02:09:40 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>ms_add_remove00.patch</filename>
            <type>text/plain</type>
            <size>12073</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZmJjNTdjLi5jZDk5ODY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDIt
MjggIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIE1lZGlhU3RyZWFtIEFQSTogbG9jYWwgYWRkVHJhY2soKSBhbmQgcmVtb3ZlVHJhY2soKSBv
cGVyYXRpb25zIHNob3VsZCBub3QgZmlyZSBldmVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlZCB0aGUgdGVzdCBzaW5jZSB0aGUgb2xk
IHRlc3Qgd2FzIGRyaXZlbiBieSB0aGUgZXZlbnQgZmlyaW5nCisgICAgICAgIHJlbW92ZWQgYnkg
dGhpcyBwYXRjaC4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tYWRk
LXJlbW92ZS10cmFja3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtLWFkZC1yZW1vdmUtdHJhY2tzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja0xpc3QtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja0xpc3Qu
aHRtbDogUmVtb3ZlZC4KKwogMjAxMy0wMi0yNCAgS2lob25nIEt3b24gIDxraWhvbmcua3dvbkBz
YW1zdW5nLmNvbT4KIAogICAgICAgICBBZGQgYW4gQVNTRVJUIHRvIGRpZENoYW5nZURldmljZVBy
b3hpbWl0eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbS1hZGQtcmVtb3ZlLXRyYWNrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC1yZW1vdmUtdHJhY2tzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjU3NDQxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1hZGQtcmVtb3ZlLXRy
YWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorVGVzdCBhZGRpbmcgYW5kIHJlbW92
aW5nIHRyYWNrcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3RyZWFt
MS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCBpcyAxCitQQVNTIHN0cmVhbTEuZ2V0VmlkZW9UcmFj
a3MoKS5sZW5ndGggaXMgMQorUEFTUyBzdHJlYW0yLmdldEF1ZGlvVHJhY2tzKCkubGVuZ3RoIGlz
IDEKK1BBU1Mgc3RyZWFtMi5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCBpcyAxCitQQVNTIHN0cmVh
bTEuZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGggaXMgMAorUEFTUyBzdHJlYW0xLmdldFZpZGVvVHJh
Y2tzKCkubGVuZ3RoIGlzIDAKK1BBU1Mgc3RyZWFtMS5nZXRUcmFja0J5SWQoYXVkaW9UcmFjay5p
ZCkgaXMgbnVsbAorUEFTUyBzdHJlYW0xLmdldFRyYWNrQnlJZCh2aWRlb1RyYWNrLmlkKSBpcyBu
dWxsCitQQVNTIHN0cmVhbTEuZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGggaXMgMQorUEFTUyBzdHJl
YW0xLmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoIGlzIDEKK1BBU1Mgc3RyZWFtMS5nZXRBdWRpb1Ry
YWNrcygpWzBdLmtpbmQgaXMgYXVkaW9UcmFjay5raW5kCitQQVNTIHN0cmVhbTEuZ2V0QXVkaW9U
cmFja3MoKVswXS5sYWJlbCBpcyBhdWRpb1RyYWNrLmxhYmVsCitQQVNTIHN0cmVhbTEuZ2V0Vmlk
ZW9UcmFja3MoKVswXS5raW5kIGlzIHZpZGVvVHJhY2sua2luZAorUEFTUyBzdHJlYW0xLmdldFZp
ZGVvVHJhY2tzKClbMF0ubGFiZWwgaXMgdmlkZW9UcmFjay5sYWJlbAorUEFTUyBzdHJlYW0xLmdl
dEF1ZGlvVHJhY2tzKCkubGVuZ3RoIGlzIDEKK1BBU1Mgc3RyZWFtMS5nZXRWaWRlb1RyYWNrcygp
Lmxlbmd0aCBpcyAxCitQQVNTIHN0cmVhbTEuZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGggaXMgMgor
UEFTUyBzdHJlYW0xLmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoIGlzIDIKK1BBU1Mgc3RyZWFtMS5h
ZGRUcmFjayhhdWRpb1RyYWNrKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVy
cm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBzdHJlYW0xLnJlbW92ZVRyYWNrKGF1ZGlvVHJh
Y2spIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRp
b24gMTEuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1h
ZGQtcmVtb3ZlLXRyYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS1hZGQtcmVtb3ZlLXRyYWNrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjFmYjJlY2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC1yZW1vdmUtdHJhY2tzLmh0bWwKQEAgLTAsMCArMSwx
MzQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
VGVzdCBhZGRpbmcgYW5kIHJlbW92aW5nIHRyYWNrcy4iKTsKKwordmFyIHN0cmVhbTE7Cit2YXIg
c3RyZWFtMjsKK3ZhciBhdWRpb1RyYWNrOwordmFyIHZpZGVvVHJhY2s7CisKK2Z1bmN0aW9uIGVy
cm9yKCkgeworICAgIHRlc3RGYWlsZWQoJ1N0cmVhbSBnZW5lcmF0aW9uIGZhaWxlZC4nKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gZ2V0VXNlck1lZGlhKGRpY3Rpb25hcnks
IGNhbGxiYWNrKSB7CisgICAgdHJ5IHsKKyAgICAgICAgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYShkaWN0aW9uYXJ5LCBjYWxsYmFjaywgZXJyb3IpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgdGVzdEZhaWxlZCgnd2Via2l0R2V0VXNlck1lZGlhIHRocmV3IGV4Y2VwdGlvbiA6JyAr
IGUpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRyeUFk
ZFRyYWNrKHN0cmVhbSwgdHJhY2spIHsKKyAgICB0cnkgeworICAgICAgICBzdHJlYW0uYWRkVHJh
Y2sodHJhY2spOworICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICB0ZXN0RmFpbGVk
KCJhZGRUcmFjayB0aHJldyBhbiBleGNlcHRpb24uIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgIH0KK30KKworZnVuY3Rpb24gdHJ5UmVtb3ZlVHJhY2soc3RyZWFtLCB0cmFjaykgewor
ICAgIHRyeSB7CisgICAgICAgIHN0cmVhbS5yZW1vdmVUcmFjayh0cmFjayk7CisgICAgfSBjYXRj
aCAoZXhjZXB0aW9uKSB7CisgICAgICAgIHRlc3RGYWlsZWQoInJlbW92ZVRyYWNrIHRocmV3IGFu
IGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfQorCitmdW5j
dGlvbiBzaG91bGROb3RGaXJlKCkgeworICAgIHRlc3RGYWlsZWQoIlwiYWRkdHJhY2tcIiBvciBc
InJlbW92ZXRyYWNrXCIgZXZlbnRzIHNob3VsZCBub3QgZmlyZSBhcyBhIHJlc3VsdCBvZiBsb2Nh
bCBhZGRUcmFjaygpIG9yIHJlbW92ZVRyYWNrKCkgb3BlcmF0aW9ucy4iKTsKK30KKworZnVuY3Rp
b24gZ290U3RyZWFtMihzKSB7CisgICAgc3RyZWFtMiA9IHM7CisKKyAgICBzaG91bGRCZSgnc3Ry
ZWFtMS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCcsICcxJyk7CisgICAgc2hvdWxkQmUoJ3N0cmVh
bTEuZ2V0VmlkZW9UcmFja3MoKS5sZW5ndGgnLCAnMScpOworCisgICAgc2hvdWxkQmUoJ3N0cmVh
bTIuZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGgnLCAnMScpOworICAgIHNob3VsZEJlKCdzdHJlYW0y
LmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoJywgJzEnKTsKKworICAgIHN0cmVhbTEub25hZGR0cmFj
ayA9IHNob3VsZE5vdEZpcmU7CisgICAgc3RyZWFtMS5vbnJlbW92ZXRyYWNrID0gc2hvdWxkTm90
RmlyZTsKKworICAgIC8vIHJlbW92ZSBhIHRyYWNrIG9mIGVhY2gga2luZAorICAgIGF1ZGlvVHJh
Y2sgPSBzdHJlYW0xLmdldEF1ZGlvVHJhY2tzKClbMF07CisgICAgdmlkZW9UcmFjayA9IHN0cmVh
bTEuZ2V0VmlkZW9UcmFja3MoKVswXTsKKworICAgIHRyeVJlbW92ZVRyYWNrKHN0cmVhbTEsIGF1
ZGlvVHJhY2spOworICAgIHRyeVJlbW92ZVRyYWNrKHN0cmVhbTEsIHZpZGVvVHJhY2spOworCisg
ICAgLy8gdmVyaWZ5IHJlbW92ZWQgdHJhY2tzCisgICAgc2hvdWxkQmUoJ3N0cmVhbTEuZ2V0QXVk
aW9UcmFja3MoKS5sZW5ndGgnLCAnMCcpOworICAgIHNob3VsZEJlKCdzdHJlYW0xLmdldFZpZGVv
VHJhY2tzKCkubGVuZ3RoJywgJzAnKTsKKworICAgIHNob3VsZEJlTnVsbCgnc3RyZWFtMS5nZXRU
cmFja0J5SWQoYXVkaW9UcmFjay5pZCknKTsKKyAgICBzaG91bGRCZU51bGwoJ3N0cmVhbTEuZ2V0
VHJhY2tCeUlkKHZpZGVvVHJhY2suaWQpJyk7CisKKyAgICAvLyByZW1vdmUgYSBub24tZXhpc3Rl
bnQgKGFscmVhZHkgcmVtb3ZlZCkgdHJhY2sgKHNob3VsZCBub3QgdGhyb3cpCisgICAgdHJ5UmVt
b3ZlVHJhY2soc3RyZWFtMSwgYXVkaW9UcmFjayk7CisgICAgdHJ5UmVtb3ZlVHJhY2soc3RyZWFt
MSwgdmlkZW9UcmFjayk7CisKKyAgICAvLyAocmUtKWFkZCB0cmFja3MKKyAgICB0cnlBZGRUcmFj
ayhzdHJlYW0xLCBhdWRpb1RyYWNrKTsKKyAgICB0cnlBZGRUcmFjayhzdHJlYW0xLCB2aWRlb1Ry
YWNrKTsgICAgCisKKyAgICAvLyB2ZXJpZnkgYWRkZWQgdHJhY2tzCisgICAgc2hvdWxkQmUoJ3N0
cmVhbTEuZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGgnLCAnMScpOworICAgIHNob3VsZEJlKCdzdHJl
YW0xLmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoJywgJzEnKTsKKworICAgIC8vIHZlcmlmeSB0aGF0
IGtpbmQgYW5kIGxhYmVsIGlzIHByZXNlcnZlZAorICAgIHNob3VsZEJlKCdzdHJlYW0xLmdldEF1
ZGlvVHJhY2tzKClbMF0ua2luZCcsICdhdWRpb1RyYWNrLmtpbmQnKTsKKyAgICBzaG91bGRCZSgn
c3RyZWFtMS5nZXRBdWRpb1RyYWNrcygpWzBdLmxhYmVsJywgJ2F1ZGlvVHJhY2subGFiZWwnKTsK
KyAgICBzaG91bGRCZSgnc3RyZWFtMS5nZXRWaWRlb1RyYWNrcygpWzBdLmtpbmQnLCAndmlkZW9U
cmFjay5raW5kJyk7CisgICAgc2hvdWxkQmUoJ3N0cmVhbTEuZ2V0VmlkZW9UcmFja3MoKVswXS5s
YWJlbCcsICd2aWRlb1RyYWNrLmxhYmVsJyk7CisKKyAgICAvLyB0cnkgYWRkaW5nIHN0cmVhbTEn
cyBvd24gdHJhY2tzCisgICAgdHJ5QWRkVHJhY2soc3RyZWFtMSwgc3RyZWFtMS5nZXRBdWRpb1Ry
YWNrcygpWzBdKTsKKyAgICB0cnlBZGRUcmFjayhzdHJlYW0xLCBzdHJlYW0xLmdldFZpZGVvVHJh
Y2tzKClbMF0pOworCisgICAgLy8gdmVyaWZ5IHRoYXQgbm90aGluZyBoYXMgY2hhbmdlZAorICAg
IHNob3VsZEJlKCdzdHJlYW0xLmdldEF1ZGlvVHJhY2tzKCkubGVuZ3RoJywgJzEnKTsKKyAgICBz
aG91bGRCZSgnc3RyZWFtMS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCcsICcxJyk7CisKKyAgICAv
LyBhZGQgbmV3IHRyYWNrcyAoZnJvbSBzdHJlYW0yKQorICAgIHRyeUFkZFRyYWNrKHN0cmVhbTEs
IHN0cmVhbTIuZ2V0QXVkaW9UcmFja3MoKVswXSk7CisgICAgdHJ5QWRkVHJhY2soc3RyZWFtMSwg
c3RyZWFtMi5nZXRWaWRlb1RyYWNrcygpWzBdKTsKKworICAgIC8vIHZlcmlmeSBhZGRlZCB0cmFj
a3MKKyAgICBzaG91bGRCZSgnc3RyZWFtMS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCcsICcyJyk7
CisgICAgc2hvdWxkQmUoJ3N0cmVhbTEuZ2V0VmlkZW9UcmFja3MoKS5sZW5ndGgnLCAnMicpOwor
CisgICAgc3RyZWFtMS5zdG9wKCk7CisKKyAgICBzaG91bGRUaHJvdygnc3RyZWFtMS5hZGRUcmFj
ayhhdWRpb1RyYWNrKScsICciRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9u
IDExIicpOworICAgIHNob3VsZFRocm93KCdzdHJlYW0xLnJlbW92ZVRyYWNrKGF1ZGlvVHJhY2sp
JywgJyJFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEiJyk7CisKKyAg
ICBzZXRUaW1lb3V0KGZpbmlzaEpTVGVzdCwgMCk7Cit9CisKK2Z1bmN0aW9uIGdvdFN0cmVhbTEo
cykgeworICAgIHN0cmVhbTEgPSBzOworICAgIGdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlk
ZW86dHJ1ZX0sIGdvdFN0cmVhbTIpOworfQorCitnZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZp
ZGVvOnRydWV9LCBnb3RTdHJlYW0xKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
d2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFja0xpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrTGlzdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA0ODllYmQuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrTGlzdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
NSArMCwwIEBACi1UZXN0cyBNZWRpYVN0cmVhbVRyYWNrTGlzdCBjYWxsYmFja3MuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN0cmVhbTEuZ2V0VHJhY2tCeUlkKHRyYWNr
LmlkKS5pZCBpcyB0cmFjay5pZAotUEFTUyBzdHJlYW0yLmdldFRyYWNrQnlJZCh0cmFjay5pZCkg
aXMgbnVsbAotUEFTUyBBZGQgdHJhY2sgY2FsbGJhY2sgc3VjY2VlZGVkLgotUEFTUyBSZW1vdmUg
dHJhY2sgY2FsbGJhY2sgc3VjY2VlZGVkLgotUEFTUyBzdHJlYW0xLmFkZFRyYWNrKHN0cmVhbTIu
Z2V0VmlkZW9UcmFja3MoKVswXSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KLVBBU1Mgc3RyZWFtMS5yZW1vdmVUcmFjayhzdHJlYW0y
LmdldFZpZGVvVHJhY2tzKClbMF0pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRl
RXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiODJiZmI3Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFja0xpc3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAK
LTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgot
PGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMg
TWVkaWFTdHJlYW1UcmFja0xpc3QgY2FsbGJhY2tzLiIpOwotCi12YXIgc3RyZWFtMTsKLXZhciBz
dHJlYW0yOwotCi1mdW5jdGlvbiBlcnJvcigpIHsKLSAgICB0ZXN0RmFpbGVkKCdTdHJlYW0gZ2Vu
ZXJhdGlvbiBmYWlsZWQuJyk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGdl
dFVzZXJNZWRpYShkaWN0aW9uYXJ5LCBjYWxsYmFjaykgewotICAgIHRyeSB7Ci0gICAgICAgIG5h
dmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoZGljdGlvbmFyeSwgY2FsbGJhY2ssIGVycm9yKTsK
LSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoJ3dlYmtpdEdldFVzZXJNZWRp
YSB0aHJldyBleGNlcHRpb24gOicgKyBlKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAg
fQotfQotCi1mdW5jdGlvbiBvblJlbW92ZVRyYWNrKGUpIHsKLSAgICB0ZXN0UGFzc2VkKCdSZW1v
dmUgdHJhY2sgY2FsbGJhY2sgc3VjY2VlZGVkLicpOwotCi0gICAgLy8gTm93IHRlc3QgdGhhdCBh
ZGQgZmFpbGVzIHdoZW4gdGhlIHBhcmVudCBzdHJlYW0gaGFzIGJlZW4gc3RvcHBlZC4KLSAgICBz
dHJlYW0xLnN0b3AoKTsKLSAgICBzaG91bGRUaHJvdygnc3RyZWFtMS5hZGRUcmFjayhzdHJlYW0y
LmdldFZpZGVvVHJhY2tzKClbMF0pJyk7Ci0gICAgc2hvdWxkVGhyb3coJ3N0cmVhbTEucmVtb3Zl
VHJhY2soc3RyZWFtMi5nZXRWaWRlb1RyYWNrcygpWzBdKScpOwotCi0gICAgZmluaXNoSlNUZXN0
KCk7Ci19Ci0KLWZ1bmN0aW9uIG9uQWRkVHJhY2soZSkgewotICAgIHRlc3RQYXNzZWQoJ0FkZCB0
cmFjayBjYWxsYmFjayBzdWNjZWVkZWQuJyk7Ci0gICAgZXZlbnQgPSBlOwotCi0gICAgc3RyZWFt
MS5vbnJlbW92ZXRyYWNrID0gb25SZW1vdmVUcmFjazsKLSAgICB0cnkgewotICAgICAgICBzdHJl
YW0xLnJlbW92ZVRyYWNrKGV2ZW50LnRyYWNrKTsKLSAgICB9IGNhdGNoIChleGNlcHRpb24pIHsK
LSAgICAgICAgdGVzdEZhaWxlZCgicmVtb3ZlIHRocmV3IGFuIGV4Y2VwdGlvbi4iKTsKLSAgICAg
ICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBnb3RTdHJlYW0yKHMpIHsK
LSAgICBzdHJlYW0yID0gczsKLSAgICBzdHJlYW0xLm9uYWRkdHJhY2sgPSBvbkFkZFRyYWNrOwot
Ci0gICAgdHJhY2sgPSBzdHJlYW0xLmdldFZpZGVvVHJhY2tzKClbMF07Ci0gICAgc2hvdWxkQmUo
J3N0cmVhbTEuZ2V0VHJhY2tCeUlkKHRyYWNrLmlkKS5pZCcsICd0cmFjay5pZCcpOwotICAgIHNo
b3VsZEJlTnVsbCgnc3RyZWFtMi5nZXRUcmFja0J5SWQodHJhY2suaWQpJyk7Ci0KLSAgICB0cnkg
ewotICAgICAgICBzdHJlYW0xLmFkZFRyYWNrKHN0cmVhbTIuZ2V0VmlkZW9UcmFja3MoKVswXSk7
Ci0gICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoImFkZCB0aHJl
dyBhbiBleGNlcHRpb24uIik7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQot
ZnVuY3Rpb24gZ290U3RyZWFtMShzKSB7Ci0gICAgc3RyZWFtMSA9IHM7Ci0KLSAgICBnZXRVc2Vy
TWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9LCBnb3RTdHJlYW0yKTsKLX0KLQotZ2V0VXNl
ck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSwgZ290U3RyZWFtMSk7Ci0KLXdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLXdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDIxMWFhMS4uMDU5NjQ5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAyLTI4ICBBZGFtIEJlcmdrdmlz
dCAgPGFkYW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbSBB
UEk6IGxvY2FsIGFkZFRyYWNrKCkgYW5kIHJlbW92ZVRyYWNrKCkgb3BlcmF0aW9ucyBzaG91bGQg
bm90IGZpcmUgZXZlbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTExMDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlZCB0aGUgc2NoZWR1bGluZyBvZiAiYWRkdHJhY2siIGFuZCAicmVtb3Zl
dHJhY2siIGV2ZW50cyBieQorICAgICAgICBhZGRUcmFjayBhbmQgcmVtb3ZlVHJhY2soKS4gUmVw
bGFjZWQgdGhlIHRlc3Qgc2luY2UgdGhlIG9sZCB0ZXN0IHdhcworICAgICAgICBkcml2ZW4gYnkg
dGhlIGV2ZW50IGZpcmluZyByZW1vdmVkIGJ5IHRoaXMgcGF0Y2guCisKKyAgICAgICAgVGVzdDog
ZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1hZGQtcmVtb3ZlLXRyYWNrcy5odG1sCisKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU3RyZWFtOjphZGRUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbTo6cmVtb3ZlVHJhY2spOgorCiAyMDEzLTAyLTI0ICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIGNsZWFudXAgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uIGFuZCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDJl
ZDk2NzcuLmJmYjU0YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uY3BwCkBAIC0xNjUsNyArMTY1LDYgQEAgdm9pZCBNZWRpYVN0cmVh
bTo6YWRkVHJhY2soUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBwcnBUcmFjaywgRXhjZXB0
aW9uQ29kZSYKICAgICB9CiAKICAgICBNZWRpYVN0cmVhbUNlbnRlcjo6aW5zdGFuY2UoKS5kaWRB
ZGRNZWRpYVN0cmVhbVRyYWNrKG1fZGVzY3JpcHRvci5nZXQoKSwgbmV3VHJhY2stPmNvbXBvbmVu
dCgpKTsKLSAgICBzY2hlZHVsZURpc3BhdGNoRXZlbnQoTWVkaWFTdHJlYW1UcmFja0V2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLmFkZHRyYWNrRXZlbnQsIGZhbHNlLCBmYWxzZSwgbmV3VHJhY2su
cmVsZWFzZSgpKSk7CiB9CiAKIHZvaWQgTWVkaWFTdHJlYW06OnJlbW92ZVRyYWNrKFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFjaz4gcHJwVHJhY2sgLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTIw
Miw3ICsyMDEsNiBAQCB2b2lkIE1lZGlhU3RyZWFtOjpyZW1vdmVUcmFjayhQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtVHJhY2s+IHBycFRyYWNrICwgRXhjZXB0aW9uQwogICAgIH0KIAogICAgIE1lZGlh
U3RyZWFtQ2VudGVyOjppbnN0YW5jZSgpLmRpZFJlbW92ZU1lZGlhU3RyZWFtVHJhY2sobV9kZXNj
cmlwdG9yLmdldCgpLCB0cmFjay0+Y29tcG9uZW50KCkpOwotICAgIHNjaGVkdWxlRGlzcGF0Y2hF
dmVudChNZWRpYVN0cmVhbVRyYWNrRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucmVtb3ZldHJh
Y2tFdmVudCwgZmFsc2UsIGZhbHNlLCB0cmFjay5yZWxlYXNlKCkpKTsKIH0KIAogTWVkaWFTdHJl
YW1UcmFjayogTWVkaWFTdHJlYW06OmdldFRyYWNrQnlJZChTdHJpbmcgaWQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>