<?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>72545</bug_id>
          
          <creation_ts>2011-11-16 14:07:01 -0800</creation_ts>
          <short_desc>TextTrackList not sorted correctly</short_desc>
          <delta_ts>2011-11-17 06:56:11 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>43668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>annacc</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>504232</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-16 14:07:01 -0800</bug_when>
    <thetext>The spec mandates the sort order of the text tracks in a TextTrackList:

A media element can have a group of associated text tracks, known as the media element&apos;s list of text tracks. The text tracks are sorted as follows:

1. The text tracks corresponding to track element children of the media element, in tree order.
2. Any text tracks added using the addTextTrack() method, in the order they were added, oldest first.
3. Any media-resource-specific text tracks (text tracks corresponding to data in the media resource), in the order defined by the media resource&apos;s format specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504233</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-11-16 14:07:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/10457840&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504264</commentid>
    <comment_count>2</comment_count>
      <attachid>115451</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-16 14:33:11 -0800</bug_when>
    <thetext>Created attachment 115451
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504370</commentid>
    <comment_count>3</comment_count>
      <attachid>115451</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-16 16:10:56 -0800</bug_when>
    <thetext>Comment on attachment 115451
Proposed patch

Attachment 115451 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10483897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504396</commentid>
    <comment_count>4</comment_count>
      <attachid>115451</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-16 16:48:50 -0800</bug_when>
    <thetext>Comment on attachment 115451
Proposed patch

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

&gt; Source/WebCore/html/LoadableTextTrack.cpp:128
&gt; +    for (Node* node = m_trackElement-&gt;parentNode()-&gt;firstChild(); node; node = node-&gt;nextSibling()) {

What guarantees the track element has a non-zero parent?

&gt; Source/WebCore/html/LoadableTextTrack.cpp:131
&gt; +        if (static_cast&lt;HTMLTrackElement*&gt;(node) == m_trackElement)

This cast shouldn’t be needed because m_trackElement should automatically convert to a Node*.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504823</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-17 06:55:06 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 115451 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=115451&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/LoadableTextTrack.cpp:128
&gt; &gt; +    for (Node* node = m_trackElement-&gt;parentNode()-&gt;firstChild(); node; node = node-&gt;nextSibling()) {
&gt; 
&gt; What guarantees the track element has a non-zero parent?
&gt; 
That should not happen because a track element are only added to the list when insertedIntoTree is called, and it is always removed from the list when willRemove is called, but I added an ASSERT.

&gt; &gt; Source/WebCore/html/LoadableTextTrack.cpp:131
&gt; &gt; +        if (static_cast&lt;HTMLTrackElement*&gt;(node) == m_trackElement)
&gt; 
&gt; This cast shouldn’t be needed because m_trackElement should automatically convert to a Node*.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504824</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-17 06:55:35 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/100616</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504825</commentid>
    <comment_count>7</comment_count>
      <attachid>115451</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-17 06:56:11 -0800</bug_when>
    <thetext>Comment on attachment 115451
Proposed patch

Clearing flags, changes committed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115451</attachid>
            <date>2011-11-16 14:33:11 -0800</date>
            <delta_ts>2011-11-17 06:56:10 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch_track_order_1.txt</filename>
            <type>text/plain</type>
            <size>14833</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMDUwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDExLTExLTE2ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFRleHRUcmFja0xpc3Qg
bm90IHNvcnRlZCBjb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcyNTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdDogbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy5odG1sCisKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBUZXh0VHJhY2su
aCB0byBXZWJDb3JlIHByaXZhdGUgaGVhZGVycyBiZWNhdXNlIAorICAgICAgICAgICAgaXQgaXMg
aW5jbHVkZWQgYnkgSFRNTE1lZGlhRWxlbWVudC5oLgorICAgICAgICAqIGh0bWwvTG9hZGFibGVU
ZXh0VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OkxvYWRh
YmxlVGV4dFRyYWNrKTogUGFzcyB0cmFjayB0eXBlIHRvIGJhc2UgY2xhc3MgY29uc3RydWN0b3Iu
CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6dHJhY2tFbGVtZW50SW5kZXgp
OiBOZXcsIHJldHVybiB0aGUgPHRyYWNrPiBlbGVtZW50J3MgdHJlZSBvcmRlcgorICAgICAgICAg
ICAgZm9yIHNvcnRpbmcuCisgICAgICAgICogaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5oOgorCisg
ICAgICAgICogaHRtbC9UZXh0VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNr
OjpUZXh0VHJhY2spOiBTZXQgdHJhY2sgdHlwZS4KKyAgICAgICAgKiBodG1sL1RleHRUcmFjay5o
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFjazo6dHJhY2tUeXBlKTogRGl0dG8uCisKKyAgICAgICAgKiBodG1s
L3RyYWNrL1RleHRUcmFja0xpc3QuY3BwOgorICAgICAgICAoVGV4dFRyYWNrTGlzdDo6bGVuZ3Ro
KTogVXBkYXRlIHRvIGRlYWwgd2l0aCB0d28gVGV4dFRyYWNrIHZlY3RvcnMuCisgICAgICAgIChU
ZXh0VHJhY2tMaXN0OjppdGVtKTogRGl0dG8uCisgICAgICAgIChUZXh0VHJhY2tMaXN0OjphcHBl
bmQpOiBEaXR0by4KKyAgICAgICAgKFRleHRUcmFja0xpc3Q6OnJlbW92ZSk6IERpdHRvCisgICAg
ICAgICogaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0Lmg6IFN0b3JlIHRoZSB0d28gdHlwZXMgb2Yg
VGV4dFRyYWNrcyBpbiBzZXBhcmF0ZSBWZWN0b3JzIHRvIG1ha2UKKyAgICAgICAgICAgIGl0IHNp
bXBsZXIgdG8ga2VlcCB0aGVtIGluIHRoZSBjb3JyZWN0IG9yZGVyLgorCiAyMDExLTExLTE2ICBO
YXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IGluY29ycmVj
dCBtdWx0aXBhcnQgaGFuZGxpbmcgaW4gcjEwMDMxMS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDEwMDQ0OCkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNDE3NCw3ICs0MTc0LDcgQEAKIAkJQjFBRDRFNjYxM0ExMkEwQjAwODQ2
QjI3IC8qIFRleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMUFENEU1NTEzQTEyQTBCMDA4NDZCMjcgLyogVGV4dFRyYWNrLmNwcCAqLzsg
fTsKIAkJQjFBRDRFNjcxM0ExMkEwQjAwODQ2QjI3IC8qIFRleHRUcmFjay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFBRDRFNTYxM0ExMkEwQjAwODQ2
QjI3IC8qIFRleHRUcmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUIxQUQ0RTY4MTNBMTJBMEIwMDg0NkIyNyAvKiBUZXh0VHJhY2tDdWUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFBRDRFNTcx
M0ExMkEwQjAwODQ2QjI3IC8qIFRleHRUcmFja0N1ZS5jcHAgKi87IH07Ci0JCUIxQUQ0RTY5MTNB
MTJBMEIwMDg0NkIyNyAvKiBUZXh0VHJhY2tDdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxQUQ0RTU4MTNBMTJBMEIwMDg0NkIyNyAvKiBUZXh0VHJh
Y2tDdWUuaCAqLzsgfTsKKwkJQjFBRDRFNjkxM0ExMkEwQjAwODQ2QjI3IC8qIFRleHRUcmFja0N1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFBRDRF
NTgxM0ExMkEwQjAwODQ2QjI3IC8qIFRleHRUcmFja0N1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUIxQUQ0RTZBMTNBMTJBMEIwMDg0NkIyNyAv
KiBUZXh0VHJhY2tDdWVMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxQUQ0RTU5MTNBMTJBMEIwMDg0NkIyNyAvKiBUZXh0VHJhY2tDdWVMaXN0
LmNwcCAqLzsgfTsKIAkJQjFBRDRFNkIxM0ExMkEwQjAwODQ2QjI3IC8qIFRleHRUcmFja0N1ZUxp
c3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxQUQ0
RTVBMTNBMTJBMEIwMDg0NkIyNyAvKiBUZXh0VHJhY2tDdWVMaXN0LmggKi87IH07CiAJCUIxQUQ0
RTczMTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFBRDRFNzExM0ExMkE0NjAwODQ2QjI3
IC8qIFRleHRUcmFja0xvYWRlci5jcHAgKi87IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0xvYWRhYmxlVGV4dFRyYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0xvYWRhYmxlVGV4dFRyYWNrLmNwcAkocmV2aXNpb24gMTAwNDQ4KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTG9hZGFibGVUZXh0VHJhY2s6OkxvYWRhYmxl
VGV4dFRyYWNrKEhUTUxUcmFja0VsZW1lbnQqIHRyYWNrLCBjb25zdCBTdHJpbmcmIGtpbmQsIGNv
bnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UsIGJvb2wgaXNEZWZhdWx0
KQotICAgIDogVGV4dFRyYWNrKHRyYWNrLT5kb2N1bWVudCgpLCB0cmFjaywga2luZCwgbGFiZWws
IGxhbmd1YWdlKQorICAgIDogVGV4dFRyYWNrKHRyYWNrLT5kb2N1bWVudCgpLCB0cmFjaywga2lu
ZCwgbGFiZWwsIGxhbmd1YWdlLCBUcmFja0VsZW1lbnQpCiAgICAgLCBtX3RyYWNrRWxlbWVudCh0
cmFjaykKICAgICAsIG1fbG9hZFRpbWVyKHRoaXMsICZMb2FkYWJsZVRleHRUcmFjazo6bG9hZFRp
bWVyRmlyZWQpCiAgICAgLCBtX2lzRGVmYXVsdChpc0RlZmF1bHQpCkBAIC0xMjAsNiArMTIwLDIz
IEBAIHZvaWQgTG9hZGFibGVUZXh0VHJhY2s6OmZpcmVDdWVDaGFuZ2VFdmUKICAgICBtX3RyYWNr
RWxlbWVudC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jdWVjaGFu
Z2VFdmVudCwgZmFsc2UsIGZhbHNlKSwgZWMpOwogfQogCitzaXplX3QgTG9hZGFibGVUZXh0VHJh
Y2s6OnRyYWNrRWxlbWVudEluZGV4KCkKK3sKKyAgICBBU1NFUlQobV90cmFja0VsZW1lbnQpOwor
CisgICAgc2l6ZV90IGluZGV4ID0gMDsKKyAgICBmb3IgKE5vZGUqIG5vZGUgPSBtX3RyYWNrRWxl
bWVudC0+cGFyZW50Tm9kZSgpLT5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5uZXh0
U2libGluZygpKSB7CisgICAgICAgIGlmICghbm9kZS0+aGFzVGFnTmFtZSh0cmFja1RhZykpCisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKHN0YXRpY19jYXN0PEhUTUxUcmFja0Vs
ZW1lbnQqPihub2RlKSA9PSBtX3RyYWNrRWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiBpbmRl
eDsKKyAgICAgICAgKytpbmRleDsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisK
KyAgICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTG9hZGFibGVUZXh0VHJhY2suaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0xvYWRhYmxlVGV4dFRyYWNrLmgJKHJldmlzaW9uIDEwMDQ0
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvTG9hZGFibGVUZXh0VHJhY2suaAkod29ya2luZyBj
b3B5KQpAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY2hlZHVsZUxvYWQoY29u
c3QgS1VSTCYpOwogCiAgICAgdmlydHVhbCB2b2lkIGNsZWFyQ2xpZW50KCk7CisgICAgCisgICAg
c2l6ZV90IHRyYWNrRWxlbWVudEluZGV4KCk7CiAKIHByaXZhdGU6CiAgICAgLy8gVGV4dFRyYWNr
TG9hZGVyQ2xpZW50CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suY3BwCShyZXZpc2lvbiAx
MDA0NTMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcxLDEzICs3MSwxNCBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFRleHRUcmFjazo6bWV0
YWRhdGFLCiAgICAgcmV0dXJuIG1ldGFkYXRhOwogfQogCi1UZXh0VHJhY2s6OlRleHRUcmFjayhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBUZXh0VHJhY2tDbGllbnQqIGNsaWVudCwg
Y29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxh
bmd1YWdlKQorVGV4dFRyYWNrOjpUZXh0VHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgVGV4dFRyYWNrQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3Qg
U3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgVGV4dFRyYWNrVHlwZSB0eXBl
KQogICAgIDogVHJhY2tCYXNlKGNvbnRleHQsIFRyYWNrQmFzZTo6VGV4dFRyYWNrKQogICAgICwg
bV9sYWJlbChsYWJlbCkKICAgICAsIG1fbGFuZ3VhZ2UobGFuZ3VhZ2UpCiAgICAgLCBtX3JlYWR5
U3RhdGUoVGV4dFRyYWNrOjpOT05FKQogICAgICwgbV9tb2RlKFRleHRUcmFjazo6SElEREVOKQog
ICAgICwgbV9jbGllbnQoY2xpZW50KQorICAgICwgbV90cmFja1R5cGUodHlwZSkKIHsKICAgICBz
ZXRLaW5kKGtpbmQpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5oCShyZXZpc2lvbiAx
MDA0NTMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Niw3ICs1Niw3IEBAIGNsYXNzIFRleHRUcmFjayA6IHB1YmxpYyBUcmFja0Jhc2Ugewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRleHRUcmFjaz4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRleHRUcmFja0NsaWVudCogY2xpZW50LCBjb25zdCBT
dHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2Up
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRleHRUcmFjayhjb250ZXh0LCBj
bGllbnQsIGtpbmQsIGxhYmVsLCBsYW5ndWFnZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFRleHRUcmFjayhjb250ZXh0LCBjbGllbnQsIGtpbmQsIGxhYmVsLCBsYW5ndWFnZSwgQWRk
VHJhY2spKTsKICAgICB9CiAgICAgdmlydHVhbCB+VGV4dFRyYWNrKCk7CiAKQEAgLTEwMSw4ICsx
MDEsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmaXJlQ3VlQ2hhbmdlRXZlbnQoKTsK
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGN1ZWNoYW5nZSk7CiAKKyAgICBl
bnVtIFRleHRUcmFja1R5cGUgeyBUcmFja0VsZW1lbnQsIEFkZFRyYWNrLCBJbkJhbmQgfTsKKyAg
ICBUZXh0VHJhY2tUeXBlIHRyYWNrVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2tUeXBlOyB9
CisKIHByb3RlY3RlZDoKLSAgICBUZXh0VHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFRl
eHRUcmFja0NsaWVudCosIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwg
Y29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7CisgICAgVGV4dFRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBUZXh0VHJhY2tDbGllbnQqLCBjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmlu
ZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UsIFRleHRUcmFja1R5cGUpOwogCiAgICAg
dm9pZCBzZXRSZWFkeVN0YXRlKFJlYWR5U3RhdGUpOwogCkBAIC0xMTUsNiArMTE4LDcgQEAgcHJp
dmF0ZToKICAgICBUZXh0VHJhY2s6OlJlYWR5U3RhdGUgbV9yZWFkeVN0YXRlOwogICAgIFRleHRU
cmFjazo6TW9kZSBtX21vZGU7CiAgICAgVGV4dFRyYWNrQ2xpZW50KiBtX2NsaWVudDsKKyAgICBU
ZXh0VHJhY2tUeXBlIG1fdHJhY2tUeXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3QuY3BwCShyZXZp
c2lvbiAxMDA0NDgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiVGV4dFRyYWNr
TGlzdC5oIgogCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkxvYWRhYmxlVGV4
dFRyYWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUg
IlRleHRUcmFjay5oIgogI2luY2x1ZGUgIlRyYWNrRXZlbnQuaCIKQEAgLTUxLDI5ICs1Miw2MCBA
QCBUZXh0VHJhY2tMaXN0Ojp+VGV4dFRyYWNrTGlzdCgpCiAKIHVuc2lnbmVkIFRleHRUcmFja0xp
c3Q6Omxlbmd0aCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fdHJhY2tzLnNpemUoKTsKKyAgICBy
ZXR1cm4gbV9hZGRUcmFja1RyYWNrcy5zaXplKCkgKyBtX2VsZW1lbnRUcmFja3Muc2l6ZSgpOwog
fQogCiBUZXh0VHJhY2sqIFRleHRUcmFja0xpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpCiB7Ci0g
ICAgaWYgKGluZGV4IDwgbV90cmFja3Muc2l6ZSgpKQotICAgICAgICByZXR1cm4gbV90cmFja3Nb
aW5kZXhdLmdldCgpOworICAgIC8vIDQuOC4xMC4xMi4xIFRleHQgdHJhY2sgbW9kZWwKKyAgICAv
LyBUaGUgdGV4dCB0cmFja3MgYXJlIHNvcnRlZCBhcyBmb2xsb3dzOgorICAgIC8vIDEuIFRoZSB0
ZXh0IHRyYWNrcyBjb3JyZXNwb25kaW5nIHRvIHRyYWNrIGVsZW1lbnQgY2hpbGRyZW4gb2YgdGhl
IG1lZGlhIGVsZW1lbnQsIGluIHRyZWUgb3JkZXIuCisgICAgLy8gMi4gQW55IHRleHQgdHJhY2tz
IGFkZGVkIHVzaW5nIHRoZSBhZGRUZXh0VHJhY2soKSBtZXRob2QsIGluIHRoZSBvcmRlciB0aGV5
IHdlcmUgYWRkZWQsIG9sZGVzdCBmaXJzdC4KKyAgICAvLyAzLiBBbnkgbWVkaWEtcmVzb3VyY2Ut
c3BlY2lmaWMgdGV4dCB0cmFja3MgKHRleHQgdHJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gZGF0YSBp
biB0aGUgbWVkaWEKKyAgICAvLyByZXNvdXJjZSksIGluIHRoZSBvcmRlciBkZWZpbmVkIGJ5IHRo
ZSBtZWRpYSByZXNvdXJjZSdzIGZvcm1hdCBzcGVjaWZpY2F0aW9uLgorCisgICAgaWYgKGluZGV4
IDwgbV9lbGVtZW50VHJhY2tzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIG1fZWxlbWVudFRyYWNr
c1tpbmRleF0uZ2V0KCk7CisKKyAgICBpbmRleCAtPSBtX2VsZW1lbnRUcmFja3Muc2l6ZSgpOwor
ICAgIGlmIChpbmRleCA8IG1fYWRkVHJhY2tUcmFja3Muc2l6ZSgpKQorICAgICAgICByZXR1cm4g
bV9hZGRUcmFja1RyYWNrc1tpbmRleF0uZ2V0KCk7CisKICAgICByZXR1cm4gMDsKIH0KIAogdm9p
ZCBUZXh0VHJhY2tMaXN0OjphcHBlbmQoUGFzc1JlZlB0cjxUZXh0VHJhY2s+IHRyYWNrKQogewog
ICAgIFJlZlB0cjxUZXh0VHJhY2s+IHRyYWNrUmVmID0gdHJhY2s7Ci0gICAgbV90cmFja3MuYXBw
ZW5kKHRyYWNrUmVmKTsKKyAgICAKKyAgICBpZiAodHJhY2tSZWYtPnRyYWNrVHlwZSgpID09IFRl
eHRUcmFjazo6QWRkVHJhY2spCisgICAgICAgIG1fYWRkVHJhY2tUcmFja3MuYXBwZW5kKHRyYWNr
UmVmKTsKKyAgICBlbHNlIGlmICh0cmFja1JlZi0+dHJhY2tUeXBlKCkgPT0gVGV4dFRyYWNrOjpU
cmFja0VsZW1lbnQpIHsKKyAgICAgICAgLy8gSW5zZXJ0IHRyYWNrcyBhZGRlZCBmb3IgPHRyYWNr
PiBlbGVtZW50IGluIHRyZWUgb3JkZXIuCisgICAgICAgIHNpemVfdCBpbmRleCA9IHN0YXRpY19j
YXN0PExvYWRhYmxlVGV4dFRyYWNrKj4odHJhY2tSZWYuZ2V0KCkpLT50cmFja0VsZW1lbnRJbmRl
eCgpOworICAgICAgICBtX2VsZW1lbnRUcmFja3MuaW5zZXJ0KGluZGV4LCB0cmFja1JlZik7Cisg
ICAgfSBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworCiAgICAgc2NoZWR1bGVB
ZGRUcmFja0V2ZW50KHRyYWNrUmVmKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tMaXN0OjpyZW1vdmUo
UGFzc1JlZlB0cjxUZXh0VHJhY2s+IHRyYWNrKQogewotICAgIHNpemVfdCBpbmRleCA9IG1fdHJh
Y2tzLmZpbmQodHJhY2spOworICAgIFZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPiA+KiB0cmFja3M7
CisKKyAgICBpZiAodHJhY2stPnRyYWNrVHlwZSgpID09IFRleHRUcmFjazo6VHJhY2tFbGVtZW50
KQorICAgICAgICB0cmFja3MgPSAmbV9lbGVtZW50VHJhY2tzOworICAgIGVsc2UgaWYgKHRyYWNr
LT50cmFja1R5cGUoKSA9PSBUZXh0VHJhY2s6OkFkZFRyYWNrKQorICAgICAgICB0cmFja3MgPSAm
bV9hZGRUcmFja1RyYWNrczsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworCisgICAgc2l6ZV90IGluZGV4ID0gdHJhY2tzLT5maW5kKHRyYWNrKTsKICAgICBpZiAoaW5k
ZXggPT0gbm90Rm91bmQpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3RyYWNrcy5yZW1vdmUoaW5k
ZXgpOworICAgIHRyYWNrcy0+cmVtb3ZlKGluZGV4KTsKKwogfQogCiBjb25zdCBBdG9taWNTdHJp
bmcmIFRleHRUcmFja0xpc3Q6OmludGVyZmFjZU5hbWUoKSBjb25zdApJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmgJKHJldmlzaW9uIDEwMDQ0OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC04Nyw3ICs4Nyw4IEBAIHByaXZhdGU6CiAgICAgVGltZXI8VGV4dFRyYWNrTGlzdD4gbV9wZW5k
aW5nRXZlbnRUaW1lcjsKIAogICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsK
LSAgICBWZWN0b3I8UmVmUHRyPFRleHRUcmFjaz4gPiBtX3RyYWNrczsKKyAgICBWZWN0b3I8UmVm
UHRyPFRleHRUcmFjaz4gPiBtX2FkZFRyYWNrVHJhY2tzOworICAgIFZlY3RvcjxSZWZQdHI8VGV4
dFRyYWNrPiA+IG1fZWxlbWVudFRyYWNrczsKICAgICAKICAgICBpbnQgbV9kaXNwYXRjaGluZ0V2
ZW50czsKIH07CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDA1MDMpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0xNiAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBUZXh0VHJhY2tMaXN0
IG5vdCBzb3J0ZWQgY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MjU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXRleHR0cmFja3MuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMTEtMTYgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZW1vdmUgQ1JBU0ggZXhwZWN0YXRpb24gZm9yCkluZGV4OiBMYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay10ZXh0dHJhY2tzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay10ZXh0dHJhY2tzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXRleHR0cmFja3MtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI4IEBACitUZXN0cyB0aGF0IFRleHRU
cmFja3MgaW4gYSBUZXh0VHJhY2tMaXN0IGFyZSBrZXB0IGluIHRoZSBjb3JyZWN0IG9yZGVyLgor
CisqKiBBZGQgYSB0cmFjayB3aXRoIHZpZGVvLmFkZFRyYWNrKCkuCitSVU4odmlkZW8uYWRkVHJh
Y2soJ2Rlc2NyaXB0aW9ucycsICdEZXNjcmlwdGlvbnMgVHJhY2snLCAnZW4nKSkKKworKiogQWRk
IGEgPHRyYWNrPiBlbGVtZW50IHdpdGggRE9NIEFQSS4KK1JVTih0cmFja0VsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd0cmFjaycpKQorUlVOKHRyYWNrRWxlbWVudC5zZXRBdHRyaWJ1
dGUoJ2tpbmQnLCAnY2hhcHRlcnMnKSkKK1JVTih2aWRlby5hcHBlbmRDaGlsZCh0cmFja0VsZW1l
bnQpKQorCisqKiBWZXJpZnkgdHJhY2sgb3JkZXIuCitFWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNr
cy5sZW5ndGggPT0gJzMnKSBPSworRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMF0ua2luZCA9
PSAnY2FwdGlvbnMnKSBPSworRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMV0ua2luZCA9PSAn
Y2hhcHRlcnMnKSBPSworRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMl0ua2luZCA9PSAnZGVz
Y3JpcHRpb25zJykgT0sKKworKiogQWRkIGFub3RoZXIgPHRyYWNrPiBlbGVtZW50LCBpcyBzaG91
bGQgaW5zZXJ0IGJlZm9yZSB0aGUgYWRkVHJhY2soKSB0cmFjay4KK1JVTih0cmFja0VsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cmFjaycpKQorUlVOKHRyYWNrRWxlbWVudC5zZXRB
dHRyaWJ1dGUoJ2tpbmQnLCAnbWV0YWRhdGEnKSkKK1JVTih2aWRlby5hcHBlbmRDaGlsZCh0cmFj
a0VsZW1lbnQpKQorRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3MubGVuZ3RoID09ICc0JykgT0sK
K0VYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLmtpbmQgPT0gJ2NhcHRpb25zJykgT0sKK0VY
UEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzFdLmtpbmQgPT0gJ2NoYXB0ZXJzJykgT0sKK0VYUEVD
VEVEICh2aWRlby50ZXh0VHJhY2tzWzJdLmtpbmQgPT0gJ21ldGFkYXRhJykgT0sKK0VYUEVDVEVE
ICh2aWRlby50ZXh0VHJhY2tzWzNdLmtpbmQgPT0gJ2Rlc2NyaXB0aW9ucycpIE9LCisKK0VORCBP
RiBURVNUCisKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXRleHR0cmFja3Mu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay10ZXh0dHJh
Y2tzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay10
ZXh0dHJhY2tzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgorCisgICAgICAg
IDxzY3JpcHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisKKyAgICAg
ICAgICAgIHZhciB0cmFja0VsZW1lbnQ7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIioqIEFkZCBhIHRyYWNrIHdpdGggdmlkZW8uYWRk
VHJhY2soKS4iKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLmFkZFRyYWNrKCdkZXNjcmlw
dGlvbnMnLCAnRGVzY3JpcHRpb25zIFRyYWNrJywgJ2VuJykiKTsKKworICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiPGJyPioqIEFkZCBhICZsdDt0cmFjayZndDsgZWxlbWVudCB3aXRoIERP
TSBBUEkuIik7CisgICAgICAgICAgICAgICAgcnVuKCJ0cmFja0VsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCd0cmFjaycpIik7CisgICAgICAgICAgICAgICAgcnVuKCJ0cmFja0VsZW1l
bnQuc2V0QXR0cmlidXRlKCdraW5kJywgJ2NoYXB0ZXJzJykiKTsKKyAgICAgICAgICAgICAgICBy
dW4oInZpZGVvLmFwcGVuZENoaWxkKHRyYWNrRWxlbWVudCkiKTsKKworICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiPGJyPioqIFZlcmlmeSB0cmFjayBvcmRlci4iKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnRleHRUcmFja3MubGVuZ3RoIiwgMyk7CisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzBdLmtpbmQiLCAiY2FwdGlv
bnMiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnRleHRUcmFja3NbMV0u
a2luZCIsICJjaGFwdGVycyIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8u
dGV4dFRyYWNrc1syXS5raW5kIiwgImRlc2NyaXB0aW9ucyIpOworCisgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCI8YnI+KiogQWRkIGFub3RoZXIgJmx0O3RyYWNrJmd0OyBlbGVtZW50LCBp
cyBzaG91bGQgaW5zZXJ0IGJlZm9yZSB0aGUgYWRkVHJhY2soKSB0cmFjay4iKTsKKyAgICAgICAg
ICAgICAgICBydW4oInRyYWNrRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyYWNr
JykiKTsKKyAgICAgICAgICAgICAgICBydW4oInRyYWNrRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2tp
bmQnLCAnbWV0YWRhdGEnKSIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8uYXBwZW5kQ2hp
bGQodHJhY2tFbGVtZW50KSIpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRl
by50ZXh0VHJhY2tzLmxlbmd0aCIsIDQpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
dmlkZW8udGV4dFRyYWNrc1swXS5raW5kIiwgImNhcHRpb25zIik7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzFdLmtpbmQiLCAiY2hhcHRlcnMiKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnRleHRUcmFja3NbMl0ua2luZCIsICJt
ZXRhZGF0YSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNr
c1szXS5raW5kIiwgImRlc2NyaXB0aW9ucyIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCIiKTsKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+
CisgICAgICAgIDxwPlRlc3RzIHRoYXQgVGV4dFRyYWNrcyBpbiBhIFRleHRUcmFja0xpc3QgYXJl
IGtlcHQgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuPC9wPgorICAgICAgICA8dmlkZW8+CisgICAgICAg
ICAgICA8dHJhY2sgaWQ9InRyYWNrXzEiIGtpbmQ9ImNhcHRpb25zIiBzcmM9ImNhcHRpb25zLXdl
YnZ0dC90YzAwNC13ZWJ2dHQtZmlsZS52dHQiID4KKyAgICAgICAgPC92aWRlbz4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>