<?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>21605</bug_id>
          
          <creation_ts>2008-10-14 16:38:27 -0700</creation_ts>
          <short_desc>Support for HTML5 &quot;hashchange&quot; event</short_desc>
          <delta_ts>2009-08-07 08:37:45 -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>Page Loading</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tuom Larsen">tuom.larsen</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>arv</cc>
    
    <cc>beidson</cc>
    
    <cc>info</cc>
    
    <cc>kangax</cc>
    
    <cc>kuvik3</cc>
    
    <cc>leavengood</cc>
    
    <cc>me</cc>
    
    <cc>mike</cc>
    
    <cc>pmuellr</cc>
    
    <cc>scottt.tw</cc>
    
    <cc>techrazy.yang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>95371</commentid>
    <comment_count>0</comment_count>
    <who name="Tuom Larsen">tuom.larsen</who>
    <bug_when>2008-10-14 16:38:27 -0700</bug_when>
    <thetext>Please consider adding support for observing .hash change in Location object.

More info:
http://www.whatwg.org/specs/web-apps/current-work/#history-traversal (6th bullet)
http://ejohn.org/blog/javascript-in-internet-explorer-8/ (HTML 5: window.location.hash)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99854</commentid>
    <comment_count>1</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-11-23 16:42:49 -0800</bug_when>
    <thetext>Confirming the bug and moving its severity to enhancement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129712</commentid>
    <comment_count>2</comment_count>
    <who name="NovakP">kuvik3</who>
    <bug_when>2009-07-03 07:53:21 -0700</bug_when>
    <thetext>Firefox has added support for &quot;hashchange&quot; event in latest nightly

https://bugzilla.mozilla.org/show_bug.cgi?id=385434

Is this going to be implemented soon in WebKit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132507</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Leavengood">leavengood</who>
    <bug_when>2009-07-17 00:22:40 -0700</bug_when>
    <thetext>I am interested in implementing this. I&apos;ll probably need to make use of the tests from the Firefox implementation and/or play with IE8 a bit since there seems to be some trickiness.

I expect the WebKit code part of it should not be too hard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137793</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-08-06 22:24:42 -0700</bug_when>
    <thetext>This is in radar as part of &lt;rdar://problem/5838863&gt;

Assigning to myself as I have a patch for this.

It implements the behavior as specc&apos;ed.  Firefox doesn&apos;t seem to have any surprises the spec didn&apos;t cover.   I can&apos;t test IE8 but the event itself wasn&apos;t too crazy complex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137794</commentid>
    <comment_count>5</comment_count>
      <attachid>34251</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-08-06 22:31:04 -0700</bug_when>
    <thetext>Created attachment 34251
Fix + Layout Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137864</commentid>
    <comment_count>6</comment_count>
      <attachid>34251</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-07 07:07:41 -0700</bug_when>
    <thetext>Comment on attachment 34251
Fix + Layout Test

&gt; +    HashChangeEventTask(PassRefPtr&lt;Document&gt; document)
&gt; +    : m_document(document)
&gt; +    {
&gt; +        ASSERT(m_document);
&gt; +    }

We normally indent that one tab stop.

&gt; +    if (equalIgnoringRef(url, m_URL) &amp;&amp; !equalIgnoringNullity(url.ref(), m_URL.ref())) {
&gt; +        Document* currentDocument = frame()-&gt;document();
&gt; +        currentDocument-&gt;postTask(HashChangeEventTask::create(currentDocument));
&gt; +    }

If equalIgnoringRef(url, m_URL) ever false here?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137896</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-08-07 08:37:45 -0700</bug_when>
    <thetext>Fixed the style.  

I *think* the URLs should always be equalIgnoringRef().  I added an ASSERT then checked in, not thinking it through because it&apos;s too early and I haven&apos;t had enough coffee yet.

I&apos;m running the layout tests again post-ASSERT and hopefully it won&apos;t be firing all the time for some case we never thought of.  If it&apos;s a problem I&apos;ll remove it.

Sending        LayoutTests/ChangeLog
Adding         LayoutTests/fast/loader/hashchange-event-expected.txt
Adding         LayoutTests/fast/loader/hashchange-event.html
Sending        WebCore/ChangeLog
Sending        WebCore/dom/EventNames.h
Sending        WebCore/html/HTMLAttributeNames.in
Sending        WebCore/html/HTMLBodyElement.cpp
Sending        WebCore/html/HTMLFrameSetElement.cpp
Sending        WebCore/loader/FrameLoader.cpp
Sending        WebCore/platform/text/PlatformString.h
Sending        WebCore/platform/text/StringImpl.cpp
Sending        WebCore/platform/text/StringImpl.h
Transmitting file data ............
Committed revision 46892.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34251</attachid>
            <date>2009-08-06 22:31:04 -0700</date>
            <delta_ts>2009-08-07 07:07:41 -0700</delta_ts>
            <desc>Fix + Layout Test</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>14565</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Njg4NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMDktMDgtMDYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElt
cGxlbWVudCB0aGUgSFRNTDUgaGFzaGNoYW5nZSBldmVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjA1CisKKyAgICAgICAgVGVzdDogZmFzdC9s
b2FkZXIvaGFzaGNoYW5nZS1ldmVudC5odG1sCisKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5o
OiBBZGQgImhhc2hjaGFuZ2UiCisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46
IEFkZCAib25oYXNoY2hhbmdlIgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okhhc2hDaGFuZ2VFdmVudFRhc2s6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpIYXNoQ2hhbmdlRXZlbnRUYXNrOjpwZXJmb3JtVGFzayk6CisgICAgICAgIChX
ZWJDb3JlOjpIYXNoQ2hhbmdlRXZlbnRUYXNrOjpIYXNoQ2hhbmdlRXZlbnRUYXNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzY3JvbGxUb0FuY2hvcik6IFdoZW4gYW4gYW5jaG9y
IG5hdmlnYXRpb24gaXMgY29tcGxldGVkIGFuZCB0aGUKKyAgICAgICAgICBuZXcgZnJhZ21lbnQg
aWRlbnRpZmllciBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb2xkIG9uZSwgcXVldWUgYSBoYXNoIGNo
YW5nZSBldmVudAorICAgICAgICAgIG9uIHRoZSBEb2N1bWVudC4KKworICAgICAgICBBZGQgYSB3
aW5kb3cgZXZlbnQgbGlzdGVuZXIgZm9yIHRoZSBoYXNoY2hhbmdlIGV2ZW50IGlmIG9uaGFzaGNo
YW5nZSBpcyBlbmNvdW50ZXJlZDoKKyAgICAgICAgKiBodG1sL0hUTUxCb2R5RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KTogCisgICAgICAgICogaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxGcmFtZVNldEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKworICAg
ICAgICBBZGQgYSBuZXcgc3RyaW5nIHV0aWxpdHkgbWV0aG9kIHRoYXQgZ2l2ZXMgIm51bGwgYW5k
IGVtcHR5IGFyZSBlcXVpdmFsZW50IiBiZWhhdmlvcjoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0
L1BsYXRmb3JtU3RyaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjplcXVhbElnbm9yaW5nTnVsbGl0
eSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmVxdWFsSWdub3JpbmdOdWxsaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1N0
cmluZ0ltcGwuaDoKKwogMjAwOS0wOC0wNiAgWW9uZyBMaSAgPHlvbmcubGlAdG9yY2htb2JpbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAko
cmV2aXNpb24gNDY4ODApCisrKyBXZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU1LDYgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGRyb3Ap
IFwKICAgICBtYWNybyhlcnJvcikgXAogICAgIG1hY3JvKGZvY3VzKSBcCisgICAgbWFjcm8oaGFz
aGNoYW5nZSkgXAogICAgIG1hY3JvKGlucHV0KSBcCiAgICAgbWFjcm8oa2V5ZG93bikgXAogICAg
IG1hY3JvKGtleXByZXNzKSBcCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4JKHJl
dmlzaW9uIDQ2ODgwKQorKysgV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgkod29y
a2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIG9uZW1wdGllZAogb25lbmRlZAogb25lcnJv
cgogb25mb2N1cworb25oYXNoY2hhbmdlCiBvbmlucHV0CiBvbmtleWRvd24KIG9ua2V5cHJlc3MK
SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCShyZXZpc2lvbiA0Njg4MCkKKysrIFdlYkNv
cmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5
LDggQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidQogICAgICAgICBk
b2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5i
bHVyRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUo
KSwgYXR0cikpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmZvY3VzQXR0cikKICAg
ICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkuZm9jdXNFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVudCgp
LT5mcmFtZSgpLCBhdHRyKSk7CisgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9uaGFzaGNo
YW5nZUF0dHIpCisgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLmhhc2hjaGFuZ2VFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CiAgICAgZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IG9ucmVzaXplQXR0cikKICAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0
cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkucmVzaXplRXZlbnQsIGNyZWF0ZUF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOwogICAgIGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBvbnNjcm9sbEF0dHIpCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRN
TEZyYW1lU2V0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZVNldEVsZW1lbnQuY3BwCShyZXZpc2lvbiA0Njg4MCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MRnJh
bWVTZXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYgKzEzNSw4IEBAIHZvaWQg
SFRNTEZyYW1lU2V0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHQKICAgICAgICAgZG9jdW1lbnQoKS0+
c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYmx1ckV2ZW50LCBj
cmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsK
ICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25mb2N1c0F0dHIpCiAgICAgICAgIGRvY3Vt
ZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmZvY3Vz
RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwg
YXR0cikpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmhhc2hjaGFuZ2VBdHRyKQor
ICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5oYXNoY2hhbmdlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9j
dW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBv
bnJlc2l6ZUF0dHIpCiAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLnJlc2l6ZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKICAgICBlbHNlIGlmIChhdHRyLT5u
YW1lKCkgPT0gb25zY3JvbGxBdHRyKQpJbmRleDogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNp
b24gNDY4ODApCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIwMDIsMTAgKzIwMDIsMzggQEAgdm9pZCBGcmFtZUxvYWRlcjo6c2V0Rmlyc3RQYXJ0
eUZvckNvb2tpZQogICAgICAgICBjaGlsZC0+bG9hZGVyKCktPnNldEZpcnN0UGFydHlGb3JDb29r
aWVzKHVybCk7CiB9CiAKK2NsYXNzIEhhc2hDaGFuZ2VFdmVudFRhc2sgOiBwdWJsaWMgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
SGFzaENoYW5nZUV2ZW50VGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIYXNoQ2hhbmdlRXZlbnRUYXNr
KGRvY3VtZW50KSk7CisgICAgfQorICAgIAorICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VO
VVNFRChjb250ZXh0LCBjb250ZXh0LT5pc0RvY3VtZW50KCkpOworICAgICAgICBtX2RvY3VtZW50
LT5kaXNwYXRjaFdpbmRvd0V2ZW50KGV2ZW50TmFtZXMoKS5oYXNoY2hhbmdlRXZlbnQsIGZhbHNl
LCBmYWxzZSk7CisgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICBIYXNoQ2hhbmdlRXZlbnRUYXNr
KFBhc3NSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVu
dCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX2RvY3VtZW50KTsKKyAgICB9CisgICAgCisgICAg
UmVmUHRyPERvY3VtZW50PiBtX2RvY3VtZW50OworfTsKKyAgICAKIC8vIFRoaXMgZG9lcyB0aGUg
c2FtZSBraW5kIG9mIHdvcmsgdGhhdCBkaWRPcGVuVVJMIGRvZXMsIGV4Y2VwdCBpdCByZWxpZXMg
b24gdGhlIGZhY3QKIC8vIHRoYXQgYSBoaWdoZXIgbGV2ZWwgYWxyZWFkeSBjaGVja2VkIHRoYXQg
dGhlIFVSTHMgbWF0Y2ggYW5kIHRoZSBzY3JvbGxpbmcgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRv
Lgogdm9pZCBGcmFtZUxvYWRlcjo6c2Nyb2xsVG9BbmNob3IoY29uc3QgS1VSTCYgdXJsKQogewor
ICAgIGlmIChlcXVhbElnbm9yaW5nUmVmKHVybCwgbV9VUkwpICYmICFlcXVhbElnbm9yaW5nTnVs
bGl0eSh1cmwucmVmKCksIG1fVVJMLnJlZigpKSkgeworICAgICAgICBEb2N1bWVudCogY3VycmVu
dERvY3VtZW50ID0gZnJhbWUoKS0+ZG9jdW1lbnQoKTsKKyAgICAgICAgY3VycmVudERvY3VtZW50
LT5wb3N0VGFzayhIYXNoQ2hhbmdlRXZlbnRUYXNrOjpjcmVhdGUoY3VycmVudERvY3VtZW50KSk7
CisgICAgfQorICAgIAogICAgIG1fVVJMID0gdXJsOwogICAgIHVwZGF0ZUhpc3RvcnlGb3JBbmNo
b3JTY3JvbGwoKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtU3RyaW5n
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtU3RyaW5nLmgJ
KHJldmlzaW9uIDQ2ODgwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtU3RyaW5n
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3Miw2ICsyNzIsOCBAQCBpbmxpbmUgYm9vbCBlcXVhbEln
bm9yaW5nQ2FzZShjb25zdCBTdHJpCiBpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25z
dCBTdHJpbmcmIGEsIGNvbnN0IGNoYXIqIGIpIHsgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNlKGEu
aW1wbCgpLCBiKTsgfQogaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgY2hhciog
YSwgY29uc3QgU3RyaW5nJiBiKSB7IHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShhLCBiLmltcGwo
KSk7IH0KIAoraW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ051bGxpdHkoY29uc3QgU3RyaW5nJiBh
LCBjb25zdCBTdHJpbmcmIGIpIHsgcmV0dXJuIGVxdWFsSWdub3JpbmdOdWxsaXR5KGEuaW1wbCgp
LCBiLmltcGwoKSk7IH0KKwogaW5saW5lIGJvb2wgb3BlcmF0b3IhKGNvbnN0IFN0cmluZyYgc3Ry
KSB7IHJldHVybiBzdHIuaXNOdWxsKCk7IH0KIAogaW5saW5lIHZvaWQgc3dhcChTdHJpbmcmIGEs
IFN0cmluZyYgYikgeyBhLnN3YXAoYik7IH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9T
dHJpbmdJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5n
SW1wbC5jcHAJKHJldmlzaW9uIDQ2ODgwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmlu
Z0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MjgsNiArOTI4LDE4IEBAIGJvb2wgZXF1YWxJ
Z25vcmluZ0Nhc2UoU3RyaW5nSW1wbCogYSwgY28KICAgICByZXR1cm4gZXF1YWwgJiYgIWJbbGVu
Z3RoXTsKIH0KIAorYm9vbCBlcXVhbElnbm9yaW5nTnVsbGl0eShTdHJpbmdJbXBsKiBhLCBTdHJp
bmdJbXBsKiBiKQoreworICAgIGlmIChTdHJpbmdIYXNoOjplcXVhbChhLCBiKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgaWYgKCFhICYmIGIgJiYgIWItPmxlbmd0aCgpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICBpZiAoIWIgJiYgYSAmJiAhYS0+bGVuZ3RoKCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBWZWN0b3I8Y2hhcj4gU3RyaW5n
SW1wbDo6YXNjaWkoKQogewogICAgIFZlY3RvcjxjaGFyPiBidWZmZXIobV9sZW5ndGggKyAxKTsK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuaAkocmV2aXNpb24gNDY4ODApCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjMs
NiArMjIzLDggQEAgaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29uc3QgY2hhcgogYm9v
bCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBVQ2hhciogYSwgY29uc3QgY2hhciogYiwgdW5zaWdu
ZWQgbGVuZ3RoKTsKIGlubGluZSBib29sIGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0IGNoYXIqIGEs
IGNvbnN0IFVDaGFyKiBiLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIGVxdWFsSWdub3JpbmdD
YXNlKGIsIGEsIGxlbmd0aCk7IH0KIAorYm9vbCBlcXVhbElnbm9yaW5nTnVsbGl0eShTdHJpbmdJ
bXBsKiwgU3RyaW5nSW1wbCopOworCiAvLyBHb2xkZW4gcmF0aW8gLSBhcmJpdHJhcnkgc3RhcnQg
dmFsdWUgdG8gYXZvaWQgbWFwcGluZyBhbGwgMCdzIHRvIGFsbCAwJ3MKIC8vIG9yIGFueXRoaW5n
IGxpa2UgdGhhdC4KIGNvbnN0IHVuc2lnbmVkIHBoaSA9IDB4OWUzNzc5YjlVOwpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gNDY4ODQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAwOS0wOC0wNiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW1wbGVtZW50IHRoZSBIVE1MNSBoYXNoY2hhbmdlIGV2ZW50LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDUKKworICAgICAgICAqIGZhc3QvbG9h
ZGVyL2hhc2hjaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2xvYWRlci9oYXNoY2hhbmdlLWV2ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDA5LTA4LTA2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgdGhlIHRl
c3QgYSBsaXR0bGUgbW9yZSBzbG9wcHkgdG8gdHJ5IHRvIGZpeCBzcG9yYWRpYyBmYWlsdXJlcyBv
biBXaW5kb3dzLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaGFzaGNoYW5nZS1ldmVu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaGFz
aGNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2xvYWRlci9oYXNoY2hhbmdlLWV2ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw2MSBAQAorQUxFUlQ6IFRlc3QgbnVtYmVyIDEuCitoYXNoY2hhbmdlIGV2ZW50IHJl
Y2VpdmVkIGJ5IHdpbmRvdy1ldmVudC1saXN0ZW5lci4KK0EgdG90YWwgb2YgMSBldmVudHMgaGF2
ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDEuCitoYXNoY2hhbmdlIGV2ZW50
IHJlY2VpdmVkIGJ5IGJvZHktb25oYXNoY2hhbmdlLWF0dHJpYnV0ZS4KK0EgdG90YWwgb2YgMiBl
dmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDEuCitoYXNoY2hh
bmdlIGV2ZW50IHJlY2VpdmVkIGJ5IHdpbmRvdy1ldmVudC1saXN0ZW5lci4KK0EgdG90YWwgb2Yg
MyBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDEuCitoYXNo
Y2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IGJvZHktb25oYXNoY2hhbmdlLWF0dHJpYnV0ZS4KK0Eg
dG90YWwgb2YgNCBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVy
IDEuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IHdpbmRvdy1ldmVudC1saXN0ZW5lci4K
K0EgdG90YWwgb2YgNSBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVt
YmVyIDEuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IGJvZHktb25oYXNoY2hhbmdlLWF0
dHJpYnV0ZS4KK0EgdG90YWwgb2YgNiBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6
IFRlc3QgbnVtYmVyIDEuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IHdpbmRvdy1ldmVu
dC1saXN0ZW5lci4KK0EgdG90YWwgb2YgNyBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxF
UlQ6IFRlc3QgbnVtYmVyIDEuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IGJvZHktb25o
YXNoY2hhbmdlLWF0dHJpYnV0ZS4KK0EgdG90YWwgb2YgOCBldmVudHMgaGF2ZSBiZWVuIHJlY2Vp
dmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDIuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5
IHdpbmRvdy1ldmVudC1saXN0ZW5lci4KK0EgdG90YWwgb2YgMSBldmVudHMgaGF2ZSBiZWVuIHJl
Y2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDIuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVk
IGJ5IGJvZHktb25oYXNoY2hhbmdlLWF0dHJpYnV0ZS4KK0EgdG90YWwgb2YgMiBldmVudHMgaGF2
ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDIuCitoYXNoY2hhbmdlIGV2ZW50
IHJlY2VpdmVkIGJ5IHdpbmRvdy1ldmVudC1saXN0ZW5lci4KK0EgdG90YWwgb2YgMyBldmVudHMg
aGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDIuCitoYXNoY2hhbmdlIGV2
ZW50IHJlY2VpdmVkIGJ5IGJvZHktb25oYXNoY2hhbmdlLWF0dHJpYnV0ZS4KK0EgdG90YWwgb2Yg
NCBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDIuCitoYXNo
Y2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IHdpbmRvdy1ldmVudC1saXN0ZW5lci4KK0EgdG90YWwg
b2YgNSBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVtYmVyIDIuCito
YXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IGJvZHktb25oYXNoY2hhbmdlLWF0dHJpYnV0ZS4K
K0EgdG90YWwgb2YgNiBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3QgbnVt
YmVyIDIuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IHdpbmRvdy1ldmVudC1saXN0ZW5l
ci4KK0EgdG90YWwgb2YgNyBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxFUlQ6IFRlc3Qg
bnVtYmVyIDIuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IGJvZHktb25oYXNoY2hhbmdl
LWF0dHJpYnV0ZS4KK0EgdG90YWwgb2YgOCBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgorQUxF
UlQ6IFRlc3QgbnVtYmVyIDIuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IHdpbmRvdy1l
dmVudC1saXN0ZW5lci4KK0EgdG90YWwgb2YgOSBldmVudHMgaGF2ZSBiZWVuIHJlY2VpdmVkLgor
QUxFUlQ6IFRlc3QgbnVtYmVyIDIuCitoYXNoY2hhbmdlIGV2ZW50IHJlY2VpdmVkIGJ5IGJvZHkt
b25oYXNoY2hhbmdlLWF0dHJpYnV0ZS4KK0EgdG90YWwgb2YgMTAgZXZlbnRzIGhhdmUgYmVlbiBy
ZWNlaXZlZC4KK1RoaXMgdGVzdCBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBoYXNoY2hhbmdlIGV2
ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHZhbHVlIG9mIGxvY2F0aW9uLmhhc2ggY2hhbmdlcy4KK1Ro
aXMgaW5jbHVkZXMgdGVzdGluZyB0aGUgdHJhbnNpdGlvbiBmcm9tIG5vIGZyYWdtZW50IGlkZW50
aWZpZXIgdG8gYW4gZW1wdHkgZnJhZ21lbnQgaWRlbnRpZmllciAqbm90KiBnZW5lcmF0aW5nIGFu
IGV2ZW50LCBhcyB0aGVzZSBjYXNlcyBhcmUgZXF1aXZhbGVudCBhcyBmYXIgYXMgbG9jYXRpb24u
aGFzaCBpcyBjb25jZXJuZWQuCitDbGlja2luZyB0aGUgbGlua3MgYmVsb3cgbWFudWFsbHkgc2hv
dWxkIGFsc28gcmVzdWx0IGluIHRoZSBldmVudCBiZWluZyBmaXJlZCB3aGVuIHRoZSBoYXNoIGFj
dHVhbGx5IGNoYW5nZXMuCitHbyB0byBlbXB0eSBoYXNoCitHbyB0byBub24tZW1wdHkgaGFzaAor
RW1wdHkgaGFzaCBhbmNob3IKK05vbi1lbXB0eSBoYXNoIGFuY2hvcgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9sb2FkZXIvaGFzaGNoYW5nZS1ldmVudC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL2hhc2hjaGFuZ2UtZXZlbnQuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2hhc2hjaGFuZ2UtZXZlbnQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw3NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2lmICghd2lu
ZG93LnNlc3Npb25TdG9yYWdlKSB7CisgICAgYWxlcnQoIlRoaXMgdGVzdCBuZWVkcyBzZXNzaW9u
c3RvcmFnZSB0byBydW4gcHJvcGVybHkiKTsKKyAgICBsb2NhdGlvbi5ocmVmID0gImh0dHA6Ly93
ZWJraXQub3JnLyI7Cit9CisKK3ZhciB0YXJnZXROdW1iZXJPZkV2ZW50c0ZvckZpcnN0VGVzdCA9
IDg7Cit2YXIgdGFyZ2V0TnVtYmVyT2ZFdmVudHNGb3JTZWNvbmRUZXN0ID0gMTA7CisKK3ZhciB0
ZXN0TnVtYmVyID0gMTsKK2lmIChzZXNzaW9uU3RvcmFnZS50b3RhbEV2ZW50c0ZpcmVkID09IHRh
cmdldE51bWJlck9mRXZlbnRzRm9yRmlyc3RUZXN0KQorICAgIHRlc3ROdW1iZXIgPSAyOworCitz
ZXNzaW9uU3RvcmFnZS5jbGVhcigpOworc2Vzc2lvblN0b3JhZ2UudG90YWxFdmVudHNGaXJlZCA9
IDA7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBzdGFydFRlc3QoKQoreworICAgIGlmICh0ZXN0TnVt
YmVyID09IDEpIHsKKyAgICAgICAgbG9jYXRpb24uaGFzaD0nIyc7CisgICAgICAgIGxvY2F0aW9u
Lmhhc2g9JyMnOworICAgICAgICBsb2NhdGlvbi5oYXNoPScjc29tZUhhc2gnOworICAgICAgICBs
b2NhdGlvbi5oYXNoPScjJzsKKyAgICAgICAgbG9jYXRpb24uaGFzaD0nIyc7CisgICAgICAgIGxv
Y2F0aW9uLmhhc2g9JyNzb21lSGFzaCc7CisgICAgICAgIGxvY2F0aW9uLmhhc2g9JyNzb21lSGFz
aCc7CisgICAgICAgIGxvY2F0aW9uLmhhc2g9JyMnOworICAgIH0gZWxzZSBpZiAodGVzdE51bWJl
ciA9PSAyKSB7CisgICAgICAgIGxvY2F0aW9uLmhhc2g9JyNzb21lSGFzaCc7CisgICAgICAgIGxv
Y2F0aW9uLmhhc2g9JyNzb21lSGFzaCc7CisgICAgICAgIGxvY2F0aW9uLmhhc2g9JyMnOworICAg
ICAgICBsb2NhdGlvbi5oYXNoPScjc29tZUhhc2gnOworICAgICAgICBsb2NhdGlvbi5oYXNoPScj
c29tZUhhc2gnOworICAgICAgICBsb2NhdGlvbi5oYXNoPScjJzsKKyAgICAgICAgbG9jYXRpb24u
aGFzaD0nIyc7CisgICAgICAgIGxvY2F0aW9uLmhhc2g9JyNzb21lSGFzaCc7CisgICAgfSBlbHNl
CisgICAgICAgIGFsZXJ0KCJUaGlzIHNob3VsZG4ndCBoYXBwZW4uIik7Cit9CisKK3ZhciB0b3Rh
bEV2ZW50c0ZpcmVkID0gMDsKK2Z1bmN0aW9uIGhhc2hDaGFuZ2VkKGV2ZW50SGFuZGxlck5hbWUp
Cit7CisgICAgYWxlcnQoIlRlc3QgbnVtYmVyICIgKyB0ZXN0TnVtYmVyICsgIi5cbmhhc2hjaGFu
Z2UgZXZlbnQgcmVjZWl2ZWQgYnkgIiArIGV2ZW50SGFuZGxlck5hbWUgKyAiLlxuQSB0b3RhbCBv
ZiAiICsgKytzZXNzaW9uU3RvcmFnZS50b3RhbEV2ZW50c0ZpcmVkICsgIiBldmVudHMgaGF2ZSBi
ZWVuIHJlY2VpdmVkLiIpOworICAgIGlmICh0ZXN0TnVtYmVyID09IDEgJiYgc2Vzc2lvblN0b3Jh
Z2UudG90YWxFdmVudHNGaXJlZCA9PSB0YXJnZXROdW1iZXJPZkV2ZW50c0ZvckZpcnN0VGVzdCkg
eworICAgICAgICBsb2NhdGlvbi5oYXNoPSIiOworICAgICAgICBsb2NhdGlvbi5ocmVmPWxvY2F0
aW9uLmhyZWYuc3Vic3RyKDAsIGxvY2F0aW9uLmhyZWYubGVuZ3RoIC0gMSk7CisgICAgfQorICAg
IGlmICh0ZXN0TnVtYmVyID09IDIgJiYgc2Vzc2lvblN0b3JhZ2UudG90YWxFdmVudHNGaXJlZCA9
PSB0YXJnZXROdW1iZXJPZkV2ZW50c0ZvclNlY29uZFRlc3QgJiYgd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsKKyAgICB9Cit9CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIiwgZnVuY3Rpb24oKSB7IGhhc2hDaGFuZ2VkKCd3aW5k
b3ctZXZlbnQtbGlzdGVuZXInKTsgfSwgZmFsc2UpOworCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0ic2V0VGltZW91dCgnc3RhcnRUZXN0KCk7JywgMCk7IiBvbmhhc2hjaGFuZ2U9
Imhhc2hDaGFuZ2VkKCdib2R5LW9uaGFzaGNoYW5nZS1hdHRyaWJ1dGUnKTsiPgorVGhpcyB0ZXN0
IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhlIGhhc2hjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0
aGUgdmFsdWUgb2YgbG9jYXRpb24uaGFzaCBjaGFuZ2VzLjxicj4KK1RoaXMgaW5jbHVkZXMgdGVz
dGluZyB0aGUgdHJhbnNpdGlvbiBmcm9tIG5vIGZyYWdtZW50IGlkZW50aWZpZXIgdG8gYW4gZW1w
dHkgZnJhZ21lbnQgaWRlbnRpZmllciAqbm90KiBnZW5lcmF0aW5nIGFuIGV2ZW50LCBhcyB0aGVz
ZSBjYXNlcyBhcmUgZXF1aXZhbGVudCBhcyBmYXIgYXMgbG9jYXRpb24uaGFzaCBpcyBjb25jZXJu
ZWQuPGJyPgorQ2xpY2tpbmcgdGhlIGxpbmtzIGJlbG93IG1hbnVhbGx5IHNob3VsZCBhbHNvIHJl
c3VsdCBpbiB0aGUgZXZlbnQgYmVpbmcgZmlyZWQgd2hlbiB0aGUgaGFzaCBhY3R1YWxseSBjaGFu
Z2VzLjxicj4KKzxhIGhyZWY9IiMiPkdvIHRvIGVtcHR5IGhhc2g8L2E+PGJyPgorPGEgaHJlZj0i
I3NvbWVIYXNoIj5HbyB0byBub24tZW1wdHkgaGFzaDwvYT48YnI+Cis8YSBuYW1lPSIjIj5FbXB0
eSBoYXNoIGFuY2hvcjwvYT48YnI+Cis8YSBuYW1lPSIjc29tZUhhc2giPk5vbi1lbXB0eSBoYXNo
IGFuY2hvcjwvYT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="18420"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>