<?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>55281</bug_id>
          
          <creation_ts>2011-02-25 17:48:46 -0800</creation_ts>
          <short_desc>WK2: Cannot set focus on an element when focus is outside of WKView</short_desc>
          <delta_ts>2011-03-08 12:05:03 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>358319</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-25 17:48:46 -0800</bug_when>
    <thetext>If focus is set on a DOM object programmatically (for example, through accessibility) and focus is outside of the web area, 
then focus does not actually change.

This is because in Widget:setFocus() it assumes there is a platformWidget() to call

In this case we need to propagate the message back to the WKView so it can become the first responder again and focus will be updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358320</commentid>
    <comment_count>1</comment_count>
      <attachid>83909</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-25 17:53:20 -0800</bug_when>
    <thetext>Created attachment 83909
patch

Not sure if this is the best way to do it, but it does address the issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358321</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-25 17:54:19 -0800</bug_when>
    <thetext>ignore the momentumPhase change, that won&apos;t be committed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358344</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-25 18:43:42 -0800</bug_when>
    <thetext>Attachment 83909 did not build on win:
Build output: http://queues.webkit.org/results/8035504</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358347</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-25 18:58:59 -0800</bug_when>
    <thetext>Attachment 83909 did not build on qt:
Build output: http://queues.webkit.org/results/8032509</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358351</commentid>
    <comment_count>5</comment_count>
      <attachid>83916</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-25 19:17:40 -0800</bug_when>
    <thetext>Created attachment 83916
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363825</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-07 22:33:49 -0800</bug_when>
    <thetext>I don&apos;t understand how focusing works, so I can only offer some nitpicks. Sam or Anders would be better reviewers.

+        WK2: Cannot set focus on an element when focus is outside of WKView
+        https://bugs.webkit.org/show_bug.cgi?id=55281

Please cross-link this with Radar bug(s).

+    // If there&apos;s no platformWidget(), we are likely in WK2 and should call
+    // focus to propagate the message.

This comment is somewhat confusing - it&apos;s unclear what a message is in this context.

+void PageClientImpl::setFocus(bool focused)
+{
+    if (focused)
+        [[m_wkView window] makeFirstResponder:m_wkView];
+    else
+        takeFocus(true);
+}

It&apos;s surprising that setFocus(false) turns into takeFocus(true)!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363961</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-03-08 07:35:59 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; I don&apos;t understand how focusing works, so I can only offer some nitpicks. Sam or Anders would be better reviewers.
&gt; 
&gt; +        WK2: Cannot set focus on an element when focus is outside of WKView
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=55281
&gt; 
&gt; Please cross-link this with Radar bug(s).
&gt; 
&gt; +    // If there&apos;s no platformWidget(), we are likely in WK2 and should call
&gt; +    // focus to propagate the message.
&gt; 
&gt; This comment is somewhat confusing - it&apos;s unclear what a message is in this context.
&gt; 
&gt; +void PageClientImpl::setFocus(bool focused)
&gt; +{
&gt; +    if (focused)
&gt; +        [[m_wkView window] makeFirstResponder:m_wkView];
&gt; +    else
&gt; +        takeFocus(true);
&gt; +}
&gt; 

This is strange, but I think takeFocus will takeFocus away from WKView and send it forward to the next view. I may be wrong however and this may not be the right way to accomplish removing focus.

&gt; It&apos;s surprising that setFocus(false) turns into takeFocus(true)!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364019</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-03-08 10:23:20 -0800</bug_when>
    <thetext>rdar://9055113</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364032</commentid>
    <comment_count>9</comment_count>
      <attachid>83916</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-08 10:53:11 -0800</bug_when>
    <thetext>Comment on attachment 83916
patch

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

&gt; WebKit2/UIProcess/API/mac/PageClientImpl.mm:204
&gt; +}

I don&apos;t understand the logic here, could you elaborate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364034</commentid>
    <comment_count>10</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-03-08 10:55:59 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 83916 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=83916&amp;action=review
&gt; 
&gt; &gt; WebKit2/UIProcess/API/mac/PageClientImpl.mm:204
&gt; &gt; +}
&gt; 
&gt; I don&apos;t understand the logic here, could you elaborate?

If we want to focus onto the WKView, makeFirstResponder is the way to do it. If we want to remove focus from the WKView, takeFocus actually takes focus away from the current view

- (void)_takeFocus:(BOOL)forward
{
    if (forward)
        [[self window] selectKeyViewFollowingView:self];
    else
        [[self window] selectKeyViewPrecedingView:self];
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364089</commentid>
    <comment_count>11</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-03-08 12:05:03 -0800</bug_when>
    <thetext>Thanks!
http://trac.webkit.org/changeset/80578</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83909</attachid>
            <date>2011-02-25 17:53:20 -0800</date>
            <delta_ts>2011-02-25 19:17:40 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6982</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XaWRnZXRNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dpZGdldE1hYy5tbQkocmV2aXNpb24g
Nzk3MDgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2lkZ2V0TWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTUsMTAgKzExNSwxNSBAQAogCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOwogIAorICAgIC8vIElmIHRoZXJlJ3Mgbm8gcGxhdGZvcm1XaWRnZXQoKSwgd2Ug
YXJlIGxpa2VseSBpbiBXSzIgYW5kIHNob3VsZCBjYWxsCisgICAgLy8gZm9jdXMgdG8gcHJvcGFn
YXRlIHRoZSBtZXNzYWdlLgogICAgIE5TVmlldyAqdmlldyA9IFtwbGF0Zm9ybVdpZGdldCgpIF93
ZWJjb3JlX2VmZmVjdGl2ZUZpcnN0UmVzcG9uZGVyXTsKLSAgICBpZiAoUGFnZSogcGFnZSA9IGZy
YW1lLT5wYWdlKCkpCi0gICAgICAgIHBhZ2UtPmNocm9tZSgpLT5mb2N1c05TVmlldyh2aWV3KTsK
LSAgICAKKyAgICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCkpIHsKKyAgICAgICAgaWYg
KHZpZXcpCisgICAgICAgICAgICBwYWdlLT5jaHJvbWUoKS0+Zm9jdXNOU1ZpZXcodmlldyk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5mb2N1cygpOworICAgIH0K
ICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZp
c2lvbiA3OTc1MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI3IEBACisyMDExLTAyLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV0syOiBDYW5ub3Qgc2V0IGZvY3VzIG9uIGFuIGVsZW1lbnQgd2hlbiBmb2N1cyBpcyBvdXRz
aWRlIG9mIFdLVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTUyODEKKworICAgICAgICBJbXBsZW1lbnQgdGhlIGZvY3VzKCkgbWV0aG9kIHNvIHRo
YXQgdGhlIFVJIHByb2Nlc3MgY2FuIGluZm9ybQorICAgICAgICB0aGUgb3RoZXIgc2lkZSB0aGF0
IGEgZm9jdXMgZXZlbnQgaGFzIG9jY3VycmVkLgorCisgICAgICAgICogU2hhcmVkL21hYy9XZWJF
dmVudEZhY3RvcnkubW06CisgICAgICAgIChXZWJLaXQ6OnBoYXNlRm9yRXZlbnQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpzZXRGb2N1cyk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpzZXRGb2N1cyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmZvY3VzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q2hyb21lQ2xpZW50Ojp1bmZvY3VzKToKKwogMjAxMS0wMi0yNSAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJ
bmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJFdmVudEZhY3RvcnkubW0JKHJl
dmlzaW9uIDc5NzA4KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJFdmVudEZhY3Rv
cnkubW0JKHdvcmtpbmcgY29weSkKQEAgLTE3NCwxNSArMTc0LDE1IEBACiB7CiAjaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIHVpbnQzMl90IHBoYXNlID0gV2ViV2hl
ZWxFdmVudDo6UGhhc2VOb25lOyAKLSAgICBpZiAoW2V2ZW50IHBoYXNlXSAmIE5TRXZlbnRQaGFz
ZUJlZ2FuKQorICAgIGlmIChbZXZlbnQgbW9tZW50dW1QaGFzZV0gJiBOU0V2ZW50UGhhc2VCZWdh
bikKICAgICAgICAgcGhhc2UgfD0gV2ViV2hlZWxFdmVudDo6UGhhc2VCZWdhbjsKLSAgICBpZiAo
W2V2ZW50IHBoYXNlXSAmIE5TRXZlbnRQaGFzZVN0YXRpb25hcnkpCisgICAgaWYgKFtldmVudCBt
b21lbnR1bVBoYXNlXSAmIE5TRXZlbnRQaGFzZVN0YXRpb25hcnkpCiAgICAgICAgIHBoYXNlIHw9
IFdlYldoZWVsRXZlbnQ6OlBoYXNlU3RhdGlvbmFyeTsKLSAgICBpZiAoW2V2ZW50IHBoYXNlXSAm
IE5TRXZlbnRQaGFzZUNoYW5nZWQpCisgICAgaWYgKFtldmVudCBtb21lbnR1bVBoYXNlXSAmIE5T
RXZlbnRQaGFzZUNoYW5nZWQpCiAgICAgICAgIHBoYXNlIHw9IFdlYldoZWVsRXZlbnQ6OlBoYXNl
Q2hhbmdlZDsKLSAgICBpZiAoW2V2ZW50IHBoYXNlXSAmIE5TRXZlbnRQaGFzZUVuZGVkKQorICAg
IGlmIChbZXZlbnQgbW9tZW50dW1QaGFzZV0gJiBOU0V2ZW50UGhhc2VFbmRlZCkKICAgICAgICAg
cGhhc2UgfD0gV2ViV2hlZWxFdmVudDo6UGhhc2VFbmRlZDsKLSAgICBpZiAoW2V2ZW50IHBoYXNl
XSAmIE5TRXZlbnRQaGFzZUNhbmNlbGxlZCkKKyAgICBpZiAoW2V2ZW50IG1vbWVudHVtUGhhc2Vd
ICYgTlNFdmVudFBoYXNlQ2FuY2VsbGVkKQogICAgICAgICBwaGFzZSB8PSBXZWJXaGVlbEV2ZW50
OjpQaGFzZUNhbmNlbGxlZDsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViV2hlZWxFdmVudDo6
UGhhc2U+KHBoYXNlKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZp
c2lvbiA3OTcwOCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxLDEyICsxMjEsMTIgQEAK
IAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmZvY3VzKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRGb2N1cyh0cnVl
KSk7CiB9CiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp1bmZvY3VzKCkKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRG
b2N1cyhmYWxzZSkpOwogfQogCiBib29sIFdlYkNocm9tZUNsaWVudDo6Y2FuVGFrZUZvY3VzKEZv
Y3VzRGlyZWN0aW9uKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAJKHJldmlzaW9uIDc5NzA4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMTcsNiArMjMxNywxMSBAQAogCiAvLyBP
dGhlcgogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Rm9jdXMoYm9vbCBmb2N1c2VkKQoreworICAg
IG1fcGFnZUNsaWVudC0+c2V0Rm9jdXMoZm9jdXNlZCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5
Ojp0YWtlRm9jdXMoYm9vbCBkaXJlY3Rpb24pCiB7CiAgICAgbV9wYWdlQ2xpZW50LT50YWtlRm9j
dXMoZGlyZWN0aW9uKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1Bh
Z2VDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvUGFnZUNsaWVudEltcGwuaAkocmV2aXNpb24gNzk3MDgpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02
Miw2ICs2Miw3IEBACiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NEaWRDcmFzaCgpOwogICAgIHZp
cnR1YWwgdm9pZCBwYWdlQ2xvc2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbGF1bmNoUHJv
Y2VzcygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGb2N1cyhib29sIGZvY3VzZWQpOwogICAgIHZp
cnR1YWwgdm9pZCB0YWtlRm9jdXMoYm9vbCBkaXJlY3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0
b29sVGlwQ2hhbmdlZChjb25zdCBTdHJpbmcmIG9sZFRvb2xUaXAsIGNvbnN0IFN0cmluZyYgbmV3
VG9vbFRpcCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJz
b3ImKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJ
bXBsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1Bh
Z2VDbGllbnRJbXBsLm1tCShyZXZpc2lvbiA3OTcwOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsNiAr
MTk1LDE0IEBACiAgICAgW21fd2tWaWV3IF9kaWRSZWxhdW5jaFByb2Nlc3NdOwogfQogCit2b2lk
IFBhZ2VDbGllbnRJbXBsOjpzZXRGb2N1cyhib29sIGZvY3VzZWQpCit7CisgICAgaWYgKGZvY3Vz
ZWQpCisgICAgICAgIFtbbV93a1ZpZXcgd2luZG93XSBtYWtlRmlyc3RSZXNwb25kZXI6bV93a1Zp
ZXddOworICAgIGVsc2UKKyAgICAgICAgdGFrZUZvY3VzKHRydWUpOworfQorICAgIAogdm9pZCBQ
YWdlQ2xpZW50SW1wbDo6dGFrZUZvY3VzKGJvb2wgZGlyZWN0aW9uKQogewogICAgIFttX3drVmll
dyBfdGFrZUZvY3VzOmRpcmVjdGlvbl07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCShyZXZpc2lvbiA3OTcwOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNTYxLDYgKzU2MSw3IEBACiAgICAg
dm9pZCBsZWFybldvcmQoY29uc3QgU3RyaW5nJiB3b3JkKTsKICAgICB2b2lkIGlnbm9yZVdvcmQo
Y29uc3QgU3RyaW5nJiB3b3JkKTsKIAorICAgIHZvaWQgc2V0Rm9jdXMoYm9vbCBmb2N1c2VkKTsK
ICAgICB2b2lkIHRha2VGb2N1cyhib29sIGRpcmVjdGlvbik7CiAgICAgdm9pZCBzZXRUb29sVGlw
KGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNv
ciYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiA3OTcwOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcg
QEAKICAgICBTZXRDdXJzb3IoV2ViQ29yZTo6Q3Vyc29yIGN1cnNvcikKICAgICBTZXRTdGF0dXNU
ZXh0KFdURjo6U3RyaW5nIHN0YXR1c1RleHQpCiAgICAgU2V0VG9vbFRpcChXVEY6OlN0cmluZyB0
b29sVGlwKQorICAgIFNldEZvY3VzKGJvb2wgZm9jdXNlZCkKICAgICBUYWtlRm9jdXMoYm9vbCBk
aXJlY3Rpb24pCiAgICAgRm9jdXNlZEZyYW1lQ2hhbmdlZCh1aW50NjRfdCBmcmFtZUlEKQogICAg
IEZyYW1lU2V0TGFyZ2VzdEZyYW1lQ2hhbmdlZCh1aW50NjRfdCBmcmFtZUlEKQpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCShyZXZpc2lvbiA3OTcwOCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDYg
KzgxLDcgQEAKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBwYWdlQ2xvc2VkKCkgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIHNldEZv
Y3VzKGJvb2wgZm9jdXNlZCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoYm9vbCBk
aXJlY3Rpb24pID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdG9vbFRpcENoYW5nZWQoY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJikgPSAwOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83916</attachid>
            <date>2011-02-25 19:17:40 -0800</date>
            <delta_ts>2011-03-08 11:00:08 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7448</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3OTczMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTEtMDItMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXSzI6IENhbm5vdCBzZXQgZm9jdXMgb24gYW4gZWxlbWVudCB3aGVuIGZvY3VzIGlzIG91dHNp
ZGUgb2YgV0tWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NTI4MQorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1dpZGdldE1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OldpZGdldDo6c2V0Rm9jdXMpOgorCiAyMDExLTAyLTI1ICBEYXZpZCBIeWF0
dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2lkZ2V0TWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vbWFjL1dpZGdldE1hYy5tbQkocmV2aXNpb24gNzk3MzMpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL21hYy9XaWRnZXRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExNSwxMCAr
MTE1LDE1IEBACiAKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAgCisgICAgLy8g
SWYgdGhlcmUncyBubyBwbGF0Zm9ybVdpZGdldCgpLCB3ZSBhcmUgbGlrZWx5IGluIFdLMiBhbmQg
c2hvdWxkIGNhbGwKKyAgICAvLyBmb2N1cyB0byBwcm9wYWdhdGUgdGhlIG1lc3NhZ2UuCiAgICAg
TlNWaWV3ICp2aWV3ID0gW3BsYXRmb3JtV2lkZ2V0KCkgX3dlYmNvcmVfZWZmZWN0aXZlRmlyc3RS
ZXNwb25kZXJdOwotICAgIGlmIChQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAg
cGFnZS0+Y2hyb21lKCktPmZvY3VzTlNWaWV3KHZpZXcpOwotICAgIAorICAgIGlmIChQYWdlKiBw
YWdlID0gZnJhbWUtPnBhZ2UoKSkgeworICAgICAgICBpZiAodmlldykKKyAgICAgICAgICAgIHBh
Z2UtPmNocm9tZSgpLT5mb2N1c05TVmlldyh2aWV3KTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcGFnZS0+Y2hyb21lKCktPmZvY3VzKCk7CisgICAgfQogICAgIEVORF9CTE9DS19PQkpDX0VY
Q0VQVElPTlM7CiB9CiAKSW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA3OTczMykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDItMjUgIENocmlzIEZsZWl6YWNo
ICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXSzI6IENhbm5vdCBzZXQgZm9jdXMgb24gYW4gZWxlbWVudCB3aGVu
IGZvY3VzIGlzIG91dHNpZGUgb2YgV0tWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01NTI4MQorCisgICAgICAgIEltcGxlbWVudCB0aGUgZm9jdXMo
KSBtZXRob2Qgc28gdGhhdCB0aGUgVUkgcHJvY2VzcyBjYW4gaW5mb3JtCisgICAgICAgIHRoZSBv
dGhlciBzaWRlIHRoYXQgYSBmb2N1cyBldmVudCBoYXMgb2NjdXJyZWQuCisKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5tbToKKyAgICAgICAgKFdlYktpdDo6cGhhc2VGb3JF
dmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnNldEZvY3VzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFn
ZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldEZvY3VzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6Zm9jdXMpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnVuZm9jdXMpOgorCiAyMDExLTAyLTI1ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkocmV2aXNpb24gNzk3MzMpCisrKyBXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTIxLDEyICsxMjEsMTIgQEAKIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmZvY3Vz
KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpTZXRGb2N1cyh0cnVlKSk7CiB9CiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50
Ojp1bmZvY3VzKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fcGFnZS0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRGb2N1cyhmYWxzZSkpOwogfQogCiBib29sIFdlYkNo
cm9tZUNsaWVudDo6Y2FuVGFrZUZvY3VzKEZvY3VzRGlyZWN0aW9uKQpJbmRleDogV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA3OTczMykKKysrIFdlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMjAsNiArMjMyMCwxMSBAQAog
CiAvLyBPdGhlcgogCit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Rm9jdXMoYm9vbCBmb2N1c2VkKQor
eworICAgIG1fcGFnZUNsaWVudC0+c2V0Rm9jdXMoZm9jdXNlZCk7Cit9CisKIHZvaWQgV2ViUGFn
ZVByb3h5Ojp0YWtlRm9jdXMoYm9vbCBkaXJlY3Rpb24pCiB7CiAgICAgbV9wYWdlQ2xpZW50LT50
YWtlRm9jdXMoZGlyZWN0aW9uKTsKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFn
ZUNsaWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1Bh
Z2VDbGllbnRJbXBsLmgJKHJldmlzaW9uIDc5NzMzKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9QYWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBACiAg
ICAgdmlydHVhbCB2b2lkIHByb2Nlc3NEaWRDcmFzaCgpOwogICAgIHZpcnR1YWwgdm9pZCBwYWdl
Q2xvc2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbGF1bmNoUHJvY2VzcygpOworICAgIHZp
cnR1YWwgdm9pZCBzZXRGb2N1cyhib29sIGZvY3VzZWQpOwogICAgIHZpcnR1YWwgdm9pZCB0YWtl
Rm9jdXMoYm9vbCBkaXJlY3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCB0b29sVGlwQ2hhbmdlZChj
b25zdCBTdHJpbmcmIG9sZFRvb2xUaXAsIGNvbnN0IFN0cmluZyYgbmV3VG9vbFRpcCk7CiAgICAg
dmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKSW5kZXg6IFdl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbQkocmV2aXNpb24gNzk3
MzMpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTUsNiArMTk1LDE0IEBACiAgICAgW21fd2tWaWV3IF9kaWRSZWxhdW5j
aFByb2Nlc3NdOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRGb2N1cyhib29sIGZvY3Vz
ZWQpCit7CisgICAgaWYgKGZvY3VzZWQpCisgICAgICAgIFtbbV93a1ZpZXcgd2luZG93XSBtYWtl
Rmlyc3RSZXNwb25kZXI6bV93a1ZpZXddOworICAgIGVsc2UKKyAgICAgICAgdGFrZUZvY3VzKHRy
dWUpOworfQorICAgIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6dGFrZUZvY3VzKGJvb2wgZGlyZWN0
aW9uKQogewogICAgIFttX3drVmlldyBfdGFrZUZvY3VzOmRpcmVjdGlvbl07CkluZGV4OiBXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZV9wLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2VfcC5oCShyZXZpc2lvbiA3OTczMykKKysrIFdlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlX3AuaAkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIs
NyBAQAogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJik7
CiAgICAgdmlydHVhbCB2b2lkIHNldFZpZXdwb3J0QXJndW1lbnRzKGNvbnN0IFdlYkNvcmU6OlZp
ZXdwb3J0QXJndW1lbnRzJik7CiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhib29sIGRpcmVj
dGlvbik7CisgICAgdmlydHVhbCB2b2lkIHNldEZvY3VzKGJvb2wgZm9jdXNlZCkgeyB9CiAgICAg
dmlydHVhbCB2b2lkIHRvb2xUaXBDaGFuZ2VkKGNvbnN0IFdURjo6U3RyaW5nJiwgY29uc3QgV1RG
OjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJFZGl0Q29tbWFuZChQYXNzUmVm
UHRyPFdlYktpdDo6V2ViRWRpdENvbW1hbmRQcm94eT4sIFdlYktpdDo6V2ViUGFnZVByb3h5OjpV
bmRvT3JSZWRvKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJBbGxFZGl0Q29tbWFuZHMoKTsKSW5k
ZXg6IFdlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuaAkocmV2aXNpb24gNzk3MzMpCisrKyBXZWJLaXQyL1VJ
UHJvY2Vzcy93aW4vV2ViVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNiArMTQzLDcgQEAK
ICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZENyYXNoKCk7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlbGF1bmNoUHJvY2VzcygpOwogICAgIHZpcnR1YWwgdm9pZCBwYWdlQ2xvc2VkKCk7CisgICAg
dmlydHVhbCB2b2lkIHNldEZvY3VzKGJvb2wgZm9jdXNlZCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHRha2VGb2N1cyhib29sIGRpcmVjdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHRvb2xUaXBDaGFu
Z2VkKGNvbnN0IFdURjo6U3RyaW5nJiwgY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpOwpJbmRleDogV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDc5NzMzKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTU2MSw2ICs1NjEsNyBAQAogICAgIHZvaWQg
bGVhcm5Xb3JkKGNvbnN0IFN0cmluZyYgd29yZCk7CiAgICAgdm9pZCBpZ25vcmVXb3JkKGNvbnN0
IFN0cmluZyYgd29yZCk7CiAKKyAgICB2b2lkIHNldEZvY3VzKGJvb2wgZm9jdXNlZCk7CiAgICAg
dm9pZCB0YWtlRm9jdXMoYm9vbCBkaXJlY3Rpb24pOwogICAgIHZvaWQgc2V0VG9vbFRpcChjb25z
dCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsK
SW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHJldmlz
aW9uIDc5NzMzKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAgICAgU2V0Q3Vyc29yKFdlYkNvcmU6
OkN1cnNvciBjdXJzb3IpCiAgICAgU2V0U3RhdHVzVGV4dChXVEY6OlN0cmluZyBzdGF0dXNUZXh0
KQogICAgIFNldFRvb2xUaXAoV1RGOjpTdHJpbmcgdG9vbFRpcCkKKyAgICBTZXRGb2N1cyhib29s
IGZvY3VzZWQpCiAgICAgVGFrZUZvY3VzKGJvb2wgZGlyZWN0aW9uKQogICAgIEZvY3VzZWRGcmFt
ZUNoYW5nZWQodWludDY0X3QgZnJhbWVJRCkKICAgICBGcmFtZVNldExhcmdlc3RGcmFtZUNoYW5n
ZWQodWludDY0X3QgZnJhbWVJRCkKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHJldmlzaW9u
IDc5NzMzKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC04MSw2ICs4MSw3IEBACiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbGF1bmNoUHJvY2Vzcygp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZUNsb3NlZCgpID0gMDsKIAorICAgIHZpcnR1YWwg
dm9pZCBzZXRGb2N1cyhib29sIGZvY3VzZWQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGFrZUZv
Y3VzKGJvb2wgZGlyZWN0aW9uKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRvb2xUaXBDaGFuZ2Vk
KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpID0gMDsKIAo=
</data>
<flag name="review"
          id="75818"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>