<?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>96412</bug_id>
          
          <creation_ts>2012-09-11 11:29:07 -0700</creation_ts>
          <short_desc>title attribute is not exposed as the AXDescription on AXImage when there is no other fallback content</short_desc>
          <delta_ts>2012-09-11 15:01:08 -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>Accessibility</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>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>dglazkov</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>717416</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-11 11:29:07 -0700</bug_when>
    <thetext>The bug here is that the title attribute does not become the label on AXImage if there is no alt tag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717455</commentid>
    <comment_count>1</comment_count>
      <attachid>163417</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-11 12:03:21 -0700</bug_when>
    <thetext>Created attachment 163417
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717457</commentid>
    <comment_count>2</comment_count>
      <attachid>163417</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-11 12:10:14 -0700</bug_when>
    <thetext>Comment on attachment 163417
patch

Attachment 163417 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13826335</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717458</commentid>
    <comment_count>3</comment_count>
      <attachid>163417</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-11 12:10:44 -0700</bug_when>
    <thetext>Comment on attachment 163417
patch

Attachment 163417 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13819431</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717460</commentid>
    <comment_count>4</comment_count>
      <attachid>163417</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 12:11:00 -0700</bug_when>
    <thetext>Comment on attachment 163417
patch

Attachment 163417 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13832041</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717462</commentid>
    <comment_count>5</comment_count>
      <attachid>163418</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-11 12:13:02 -0700</bug_when>
    <thetext>Created attachment 163418
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717472</commentid>
    <comment_count>6</comment_count>
      <attachid>163418</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2012-09-11 12:24:22 -0700</bug_when>
    <thetext>Comment on attachment 163418
patch

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

&gt; LayoutTests/accessibility/img-fallsback-to-title.html:12
&gt; +    &lt;img title=&quot;test1&quot; height=&quot;100&quot; width=&quot;100&quot;&gt;
&gt; +    &lt;img alt=&quot;alt&quot; title=&quot;test2&quot; height=&quot;100&quot; width=&quot;100&quot;&gt;
&gt; +    &lt;div role=&quot;img&quot; title=&quot;test3&quot; width=&quot;100&quot; height=&quot;100&quot;&gt;test&lt;/div&gt;
&gt; +    &lt;div role=&quot;img&quot; alt=&quot;alt&quot; title=&quot;test4&quot; width=&quot;100&quot; height=&quot;100&quot;&gt;test&lt;/div&gt;

Please add a test for the empty alt attribute case if we don&apos;t already have one.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717502</commentid>
    <comment_count>7</comment_count>
      <attachid>163418</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-09-11 13:27:29 -0700</bug_when>
    <thetext>Comment on attachment 163418
patch

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

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1508
&gt; -    Node* node = m_renderer-&gt;node();
&gt;      if (isImage() || isInputImage() || isNativeImage() || isCanvas()) {
&gt; -        if (node &amp;&amp; node-&gt;isHTMLElement()) {
&gt; -            const AtomicString&amp; alt = toHTMLElement(node)-&gt;getAttribute(altAttr);
&gt; -            if (alt.isEmpty())
&gt; -                return String();
&gt; +
&gt; +        // Images should use alt as long as the attribute is present, even if empty.
&gt; +        // Otherwise, it should fallback to other methods, like the title attribute.
&gt; +        const AtomicString&amp; alt = getAttribute(altAttr);
&gt; +        if (!alt.isNull())
&gt;              return alt;
&gt; -        }
&gt;      }

I understand the change from isEmpty to isNull. I don’t understand the removal of the HTMLElement check, nor does the test case seem to cover this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717537</commentid>
    <comment_count>8</comment_count>
      <attachid>163418</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-09-11 14:10:16 -0700</bug_when>
    <thetext>Comment on attachment 163418
patch

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

&gt;&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1508
&gt;&gt;      }
&gt; 
&gt; I understand the change from isEmpty to isNull. I don’t understand the removal of the HTMLElement check, nor does the test case seem to cover this.

AccessibilityObject::getAttribute already does the HTMLElement check</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717553</commentid>
    <comment_count>9</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-11 14:28:30 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 163418 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163418&amp;action=review
&gt; 
&gt; &gt; LayoutTests/accessibility/img-fallsback-to-title.html:12
&gt; &gt; +    &lt;img title=&quot;test1&quot; height=&quot;100&quot; width=&quot;100&quot;&gt;
&gt; &gt; +    &lt;img alt=&quot;alt&quot; title=&quot;test2&quot; height=&quot;100&quot; width=&quot;100&quot;&gt;
&gt; &gt; +    &lt;div role=&quot;img&quot; title=&quot;test3&quot; width=&quot;100&quot; height=&quot;100&quot;&gt;test&lt;/div&gt;
&gt; &gt; +    &lt;div role=&quot;img&quot; alt=&quot;alt&quot; title=&quot;test4&quot; width=&quot;100&quot; height=&quot;100&quot;&gt;test&lt;/div&gt;
&gt; 
&gt; Please add a test for the empty alt attribute case if we don&apos;t already have one.
&gt; 
&gt; r=me

Will add. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717574</commentid>
    <comment_count>10</comment_count>
      <attachid>163447</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-11 14:46:17 -0700</bug_when>
    <thetext>Created attachment 163447
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717575</commentid>
    <comment_count>11</comment_count>
      <attachid>163448</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-11 14:47:21 -0700</bug_when>
    <thetext>Created attachment 163448
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717590</commentid>
    <comment_count>12</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-11 15:00:58 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/128227</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717591</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-11 15:01:08 -0700</bug_when>
    <thetext>rdar://12061421</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163417</attachid>
            <date>2012-09-11 12:03:21 -0700</date>
            <delta_ts>2012-09-11 12:13:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>6053</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODIxMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTExICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IHRpdGxlIGF0dHJp
YnV0ZSBpcyBub3QgZXhwb3NlZCBhcyB0aGUgQVhEZXNjcmlwdGlvbiBvbiBBWEltYWdlIHdoZW4g
dGhlcmUgaXMgbm8gb3RoZXIgZmFsbGJhY2sgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgdGhhdCBpZiBhbiBpbWFnZSBoYXMgYSB0
aXRsZSBhdHRyaWJ1dGUsIGJ1dCBubyBhbHQgYXR0cmlidXRlLCBpdCB3aWxsIGZhbGxiYWNrIHRv
IHVzZSB0aGUgdGl0bGUgYXR0cmlidXRlIAorICAgICAgICBmb3IgdGhlIGRlc2NyaXB0aXZlIHRl
eHQuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxl
Lmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nl
c3NpYmlsaXR5RGVzY3JpcHRpb24pOgorCiAyMDEyLTA5LTExICBKb3NodWEgQmVsbCAgPGpzYmVs
bEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBPcHRpbWl6ZSBrZXkgZGVjb2Rl
IGFuZCBjb21wYXJpc29uIG9wZXJhdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkocmV2
aXNpb24gMTI4MTk5KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUwMCwxMiArMTUwMCwxMiBA
QAogICAgIAogICAgIE5vZGUqIG5vZGUgPSBtX3JlbmRlcmVyLT5ub2RlKCk7CiAgICAgaWYgKGlz
SW1hZ2UoKSB8fCBpc0lucHV0SW1hZ2UoKSB8fCBpc05hdGl2ZUltYWdlKCkgfHwgaXNDYW52YXMo
KSkgewotICAgICAgICBpZiAobm9kZSAmJiBub2RlLT5pc0hUTUxFbGVtZW50KCkpIHsKLSAgICAg
ICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYWx0ID0gdG9IVE1MRWxlbWVudChub2RlKS0+Z2V0
QXR0cmlidXRlKGFsdEF0dHIpOwotICAgICAgICAgICAgaWYgKGFsdC5pc0VtcHR5KCkpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgICAgIC8vIEltYWdlcyBzaG91bGQg
dXNlIGFsdCBhcyBsb25nIGFzIHRoZSBhdHRyaWJ1dGUgaXMgcHJlc2VudCwgZXZlbiBpZiBlbXB0
eS4KKyAgICAgICAgLy8gT3RoZXJ3aXNlLCBpdCBzaG91bGQgZmFsbGJhY2sgdG8gb3RoZXIgbWV0
aG9kcywgbGlrZSB0aGUgdGl0bGUgYXR0cmlidXRlLgorICAgICAgICBjb25zdCBBdG9taWNTdHJp
bmcmIGFsdCA9IGdldEF0dHJpYnV0ZShhbHRBdHRyKTsKKyAgICAgICAgaWYgKCFhbHQuaXNOdWxs
KCkpCiAgICAgICAgICAgICByZXR1cm4gYWx0OwotICAgICAgICB9CiAgICAgfQogICAgIAogI2lm
IEVOQUJMRShNQVRITUwpCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjgyMTMpCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wOS0xMSAg
Q2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIHRpdGxlIGF0
dHJpYnV0ZSBpcyBub3QgZXhwb3NlZCBhcyB0aGUgQVhEZXNjcmlwdGlvbiBvbiBBWEltYWdlIHdo
ZW4gdGhlcmUgaXMgbm8gb3RoZXIgZmFsbGJhY2sgY29udGVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY0MTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRo
ZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5j
dGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvaW1nLWZhbGxzYmFjay10by10aXRsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvYWNjZXNzaWJpbGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisKIDIwMTItMDktMTEgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBJbXByb3ZlIGNvbnNvbGUgZXJyb3IgbWVzc2FnZXMgd2hlbiAnZG9jdW1lbnQuZG9t
YWluJyBibG9ja3MgY3Jvc3Mtb3JpZ2luIHNjcmlwdCBhY2Nlc3MuCkluZGV4OiBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0bGUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0bGUuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW1nLWZhbGxzYmFjay10
by10aXRsZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGRpdiByb2xlPSJncm91cCIgdGFiaW5kZXg9IjAi
IGlkPSJpbWFnZXMiPgorICAgIDxpbWcgdGl0bGU9InRlc3QxIiBoZWlnaHQ9IjEwMCIgd2lkdGg9
IjEwMCI+CisgICAgPGltZyBhbHQ9ImFsdCIgdGl0bGU9InRlc3QyIiBoZWlnaHQ9IjEwMCIgd2lk
dGg9IjEwMCI+CisgICAgPGRpdiByb2xlPSJpbWciIHRpdGxlPSJ0ZXN0MyIgd2lkdGg9IjEwMCIg
aGVpZ2h0PSIxMDAiPnRlc3Q8L2Rpdj4KKyAgICA8ZGl2IHJvbGU9ImltZyIgYWx0PSJhbHQiIHRp
dGxlPSJ0ZXN0NCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiPnRlc3Q8L2Rpdj4KKzwvZGl2Pgor
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8
c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBpbWFnZXMgd2lsbCBm
YWxsYmFjayB0byB1c2luZyB0aGUgdGl0bGUgYXR0cmlidXRlIGlmIG5vIG90aGVyIGRlc2NyaXB0
aXZlIHRleHQgaXMgcHJlc2VudC4iKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpIHsKKworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1hZ2VzIiku
Zm9jdXMoKTsKKyAgICAgICAgdmFyIGltYWdlc0dyb3VwID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgLy8gRmlyc3QgaW1hZ2Ugc2hvdWxkIGhhdmUg
YSBkZXNjcmlwdGlvbiBvZiAidGVzdDEiIGJlY2F1c2UgdGhlcmUgaXMgbm8gYWx0IHRhZyAoaXQg
c2hvdWxkIHVzZSB0aGUgdGl0bGUpLgorICAgICAgICAvLyBUaGUgdGl0bGUgc2hvdWxkIE5PVCBi
ZSBpbiB0aGUgaGVscCB0ZXh0LgorICAgICAgICB2YXIgaW1hZ2UxID0gaW1hZ2VzR3JvdXAuY2hp
bGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgZGVidWcoIkltYWdlMSBkZXNj
cmlwdGlvbjogIiArIGltYWdlMS5kZXNjcmlwdGlvbik7CisgICAgICAgIGRlYnVnKCJJbWFnZTEg
aGVscDogIiArIGltYWdlMS5oZWxwVGV4dCArICI8YnI+Iik7CisKKyAgICAgICAgLy8gU2Vjb25k
IGltYWdlIHNob3VsZCB1c2UgdGhlIGRlc2NyaXB0aW9uIGZyb20gdGhlIGFsdCB0YWcgaW5zdGVh
ZCBvZiB0aGUgdGl0bGUuCisgICAgICAgIC8vIFRoZSBoZWxwIHRleHQgc2hvdWxkIHJlZmxlY3Qg
d2hhdCdzIGluIHRoZSB0aXRsZS4KKyAgICAgICAgdmFyIGltYWdlMiA9IGltYWdlc0dyb3VwLmNo
aWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMSk7CisgICAgICAgIGRlYnVnKCJJbWFnZTIgZGVz
Y3JpcHRpb246ICIgKyBpbWFnZTIuZGVzY3JpcHRpb24pOworICAgICAgICBkZWJ1ZygiSW1hZ2Uy
IGhlbHA6ICIgKyBpbWFnZTIuaGVscFRleHQgKyAiPGJyPiIpOworCisgICAgICAgIC8vIE5vdyBk
byB0aGUgc2FtZSBjaGVja3MgZm9yIEFSSUEgdHlwZSBpbWFnZXMuCisgICAgICAgIHZhciBpbWFn
ZTMgPSBpbWFnZXNHcm91cC5jaGlsZEF0SW5kZXgoMSk7CisgICAgICAgIGRlYnVnKCJJbWFnZTMg
ZGVzY3JpcHRpb246ICIgKyBpbWFnZTMuZGVzY3JpcHRpb24pOworICAgICAgICBkZWJ1ZygiSW1h
Z2UzIGhlbHA6ICIgKyBpbWFnZTMuaGVscFRleHQgKyAiPGJyPiIpOworCisgICAgICAgIC8vIE5v
dyBkbyB0aGUgc2FtZSBjaGVja3MgZm9yIEFSSUEgdHlwZSBpbWFnZXMuCisgICAgICAgIHZhciBp
bWFnZTQgPSBpbWFnZXNHcm91cC5jaGlsZEF0SW5kZXgoMik7CisgICAgICAgIGRlYnVnKCJJbWFn
ZTQgZGVzY3JpcHRpb246ICIgKyBpbWFnZTQuZGVzY3JpcHRpb24pOworICAgICAgICBkZWJ1Zygi
SW1hZ2U0IGhlbHA6ICIgKyBpbWFnZTQuaGVscFRleHQgKyAiPGJyPiIpOworICAgIH0KKworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1nLWZhbGxzYmFjay10by10aXRsZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1n
LWZhbGxzYmFjay10by10aXRsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxlLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBAQAorICAKK3Rlc3QKK3Rlc3QK
K1RoaXMgdGVzdHMgdGhhdCBpbWFnZXMgd2lsbCBmYWxsYmFjayB0byB1c2luZyB0aGUgdGl0bGUg
YXR0cmlidXRlIGlmIG5vIG90aGVyIGRlc2NyaXB0aXZlIHRleHQgaXMgcHJlc2VudC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ltYWdlMSBkZXNjcmlwdGlvbjogQVhEZXNjcmlw
dGlvbjogdGVzdDEKK0ltYWdlMSBoZWxwOiBBWEhlbHA6IAorCitJbWFnZTIgZGVzY3JpcHRpb246
IEFYRGVzY3JpcHRpb246IGFsdAorSW1hZ2UyIGhlbHA6IEFYSGVscDogdGVzdDIKKworSW1hZ2Uz
IGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiB0ZXN0MworSW1hZ2UzIGhlbHA6IEFYSGVscDog
CisKK0ltYWdlNCBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogYWx0CitJbWFnZTQgaGVscDog
QVhIZWxwOiB0ZXN0NAorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwo=
</data>
<flag name="commit-queue"
          id="174860"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163418</attachid>
            <date>2012-09-11 12:13:02 -0700</date>
            <delta_ts>2012-09-11 14:10:16 -0700</delta_ts>
            <desc>patch</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>6315</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODIxMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTExICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IHRpdGxlIGF0dHJp
YnV0ZSBpcyBub3QgZXhwb3NlZCBhcyB0aGUgQVhEZXNjcmlwdGlvbiBvbiBBWEltYWdlIHdoZW4g
dGhlcmUgaXMgbm8gb3RoZXIgZmFsbGJhY2sgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgdGhhdCBpZiBhbiBpbWFnZSBoYXMgYSB0
aXRsZSBhdHRyaWJ1dGUsIGJ1dCBubyBhbHQgYXR0cmlidXRlLCBpdCB3aWxsIGZhbGxiYWNrIHRv
IHVzZSB0aGUgdGl0bGUgYXR0cmlidXRlIAorICAgICAgICBmb3IgdGhlIGRlc2NyaXB0aXZlIHRl
eHQuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxl
Lmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nl
c3NpYmlsaXR5RGVzY3JpcHRpb24pOgorCiAyMDEyLTA5LTExICBKb3NodWEgQmVsbCAgPGpzYmVs
bEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBPcHRpbWl6ZSBrZXkgZGVjb2Rl
IGFuZCBjb21wYXJpc29uIG9wZXJhdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkocmV2
aXNpb24gMTI4MTk5KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5OCwxNyArMTQ5OCwxNyBA
QAogICAgIGlmICghYXJpYURlc2NyaXB0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGFy
aWFEZXNjcmlwdGlvbjsKICAgICAKLSAgICBOb2RlKiBub2RlID0gbV9yZW5kZXJlci0+bm9kZSgp
OwogICAgIGlmIChpc0ltYWdlKCkgfHwgaXNJbnB1dEltYWdlKCkgfHwgaXNOYXRpdmVJbWFnZSgp
IHx8IGlzQ2FudmFzKCkpIHsKLSAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNIVE1MRWxlbWVu
dCgpKSB7Ci0gICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFsdCA9IHRvSFRNTEVsZW1l
bnQobm9kZSktPmdldEF0dHJpYnV0ZShhbHRBdHRyKTsKLSAgICAgICAgICAgIGlmIChhbHQuaXNF
bXB0eSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgICAgICAvLyBJ
bWFnZXMgc2hvdWxkIHVzZSBhbHQgYXMgbG9uZyBhcyB0aGUgYXR0cmlidXRlIGlzIHByZXNlbnQs
IGV2ZW4gaWYgZW1wdHkuCisgICAgICAgIC8vIE90aGVyd2lzZSwgaXQgc2hvdWxkIGZhbGxiYWNr
IHRvIG90aGVyIG1ldGhvZHMsIGxpa2UgdGhlIHRpdGxlIGF0dHJpYnV0ZS4KKyAgICAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBhbHQgPSBnZXRBdHRyaWJ1dGUoYWx0QXR0cik7CisgICAgICAgIGlm
ICghYWx0LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGFsdDsKLSAgICAgICAgfQogICAg
IH0KICAgICAKICNpZiBFTkFCTEUoTUFUSE1MKQorICAgIE5vZGUqIG5vZGUgPSBtX3JlbmRlcmVy
LT5ub2RlKCk7CiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHN0YXRp
Y19jYXN0PEVsZW1lbnQqPihub2RlKS0+aXNNYXRoTUxFbGVtZW50KCkpCiAgICAgICAgIHJldHVy
biBnZXRBdHRyaWJ1dGUoTWF0aE1MTmFtZXM6OmFsdHRleHRBdHRyKTsKICNlbmRpZgpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTI4MjEzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICB0aXRsZSBhdHRyaWJ1dGUgaXMgbm90IGV4cG9zZWQg
YXMgdGhlIEFYRGVzY3JpcHRpb24gb24gQVhJbWFnZSB3aGVuIHRoZXJlIGlzIG5vIG90aGVyIGZh
bGxiYWNrIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk2NDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9h
Y2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93
IChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0
bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1n
LWZhbGxzYmFjay10by10aXRsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA5LTExICBN
aWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wcm92ZSBjb25zb2xl
IGVycm9yIG1lc3NhZ2VzIHdoZW4gJ2RvY3VtZW50LmRvbWFpbicgYmxvY2tzIGNyb3NzLW9yaWdp
biBzY3JpcHQgYWNjZXNzLgpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbWctZmFs
bHNiYWNrLXRvLXRpdGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0bGUuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw1NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+
CisKKzxkaXYgcm9sZT0iZ3JvdXAiIHRhYmluZGV4PSIwIiBpZD0iaW1hZ2VzIj4KKyAgICA8aW1n
IHRpdGxlPSJ0ZXN0MSIgaGVpZ2h0PSIxMDAiIHdpZHRoPSIxMDAiPgorICAgIDxpbWcgYWx0PSJh
bHQiIHRpdGxlPSJ0ZXN0MiIgaGVpZ2h0PSIxMDAiIHdpZHRoPSIxMDAiPgorICAgIDxkaXYgcm9s
ZT0iaW1nIiB0aXRsZT0idGVzdDMiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj50ZXN0PC9kaXY+
CisgICAgPGRpdiByb2xlPSJpbWciIGFsdD0iYWx0IiB0aXRsZT0idGVzdDQiIHdpZHRoPSIxMDAi
IGhlaWdodD0iMTAwIj50ZXN0PC9kaXY+Cis8L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3RzIHRoYXQgaW1hZ2VzIHdpbGwgZmFsbGJhY2sgdG8gdXNpbmcgdGhlIHRp
dGxlIGF0dHJpYnV0ZSBpZiBubyBvdGhlciBkZXNjcmlwdGl2ZSB0ZXh0IGlzIHByZXNlbnQuIik7
CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisKKyAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlcyIpLmZvY3VzKCk7CisgICAgICAgIHZhciBp
bWFnZXNHcm91cCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisg
ICAgICAgIC8vIEZpcnN0IGltYWdlIHNob3VsZCBoYXZlIGEgZGVzY3JpcHRpb24gb2YgInRlc3Qx
IiBiZWNhdXNlIHRoZXJlIGlzIG5vIGFsdCB0YWcgKGl0IHNob3VsZCB1c2UgdGhlIHRpdGxlKS4K
KyAgICAgICAgLy8gVGhlIHRpdGxlIHNob3VsZCBOT1QgYmUgaW4gdGhlIGhlbHAgdGV4dC4KKyAg
ICAgICAgdmFyIGltYWdlMSA9IGltYWdlc0dyb3VwLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5k
ZXgoMCk7CisgICAgICAgIGRlYnVnKCJJbWFnZTEgZGVzY3JpcHRpb246ICIgKyBpbWFnZTEuZGVz
Y3JpcHRpb24pOworICAgICAgICBkZWJ1ZygiSW1hZ2UxIGhlbHA6ICIgKyBpbWFnZTEuaGVscFRl
eHQgKyAiPGJyPiIpOworCisgICAgICAgIC8vIFNlY29uZCBpbWFnZSBzaG91bGQgdXNlIHRoZSBk
ZXNjcmlwdGlvbiBmcm9tIHRoZSBhbHQgdGFnIGluc3RlYWQgb2YgdGhlIHRpdGxlLgorICAgICAg
ICAvLyBUaGUgaGVscCB0ZXh0IHNob3VsZCByZWZsZWN0IHdoYXQncyBpbiB0aGUgdGl0bGUuCisg
ICAgICAgIHZhciBpbWFnZTIgPSBpbWFnZXNHcm91cC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdElu
ZGV4KDEpOworICAgICAgICBkZWJ1ZygiSW1hZ2UyIGRlc2NyaXB0aW9uOiAiICsgaW1hZ2UyLmRl
c2NyaXB0aW9uKTsKKyAgICAgICAgZGVidWcoIkltYWdlMiBoZWxwOiAiICsgaW1hZ2UyLmhlbHBU
ZXh0ICsgIjxicj4iKTsKKworICAgICAgICAvLyBOb3cgZG8gdGhlIHNhbWUgY2hlY2tzIGZvciBB
UklBIHR5cGUgaW1hZ2VzLgorICAgICAgICB2YXIgaW1hZ2UzID0gaW1hZ2VzR3JvdXAuY2hpbGRB
dEluZGV4KDEpOworICAgICAgICBkZWJ1ZygiSW1hZ2UzIGRlc2NyaXB0aW9uOiAiICsgaW1hZ2Uz
LmRlc2NyaXB0aW9uKTsKKyAgICAgICAgZGVidWcoIkltYWdlMyBoZWxwOiAiICsgaW1hZ2UzLmhl
bHBUZXh0ICsgIjxicj4iKTsKKworICAgICAgICAvLyBOb3cgZG8gdGhlIHNhbWUgY2hlY2tzIGZv
ciBBUklBIHR5cGUgaW1hZ2VzLgorICAgICAgICB2YXIgaW1hZ2U0ID0gaW1hZ2VzR3JvdXAuY2hp
bGRBdEluZGV4KDIpOworICAgICAgICBkZWJ1ZygiSW1hZ2U0IGRlc2NyaXB0aW9uOiAiICsgaW1h
Z2U0LmRlc2NyaXB0aW9uKTsKKyAgICAgICAgZGVidWcoIkltYWdlNCBoZWxwOiAiICsgaW1hZ2U0
LmhlbHBUZXh0ICsgIjxicj4iKTsKKyAgICB9CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2lt
Zy1mYWxsc2JhY2stdG8tdGl0bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0bGUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvaW1nLWZhbGxzYmFjay10by10aXRsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMjQgQEAKKyAgCit0ZXN0Cit0ZXN0CitUaGlzIHRlc3RzIHRoYXQgaW1hZ2Vz
IHdpbGwgZmFsbGJhY2sgdG8gdXNpbmcgdGhlIHRpdGxlIGF0dHJpYnV0ZSBpZiBubyBvdGhlciBk
ZXNjcmlwdGl2ZSB0ZXh0IGlzIHByZXNlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitJbWFnZTEgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IHRlc3QxCitJbWFnZTEgaGVs
cDogQVhIZWxwOiAKKworSW1hZ2UyIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBhbHQKK0lt
YWdlMiBoZWxwOiBBWEhlbHA6IHRlc3QyCisKK0ltYWdlMyBkZXNjcmlwdGlvbjogQVhEZXNjcmlw
dGlvbjogdGVzdDMKK0ltYWdlMyBoZWxwOiBBWEhlbHA6IAorCitJbWFnZTQgZGVzY3JpcHRpb246
IEFYRGVzY3JpcHRpb246IGFsdAorSW1hZ2U0IGhlbHA6IEFYSGVscDogdGVzdDQKKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
</data>
<flag name="review"
          id="174861"
          type_id="1"
          status="+"
          setter="jhoneycutt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163447</attachid>
            <date>2012-09-11 14:46:17 -0700</date>
            <delta_ts>2012-09-11 14:47:21 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>5704</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODIxMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTExICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IHRpdGxlIGF0dHJp
YnV0ZSBpcyBub3QgZXhwb3NlZCBhcyB0aGUgQVhEZXNjcmlwdGlvbiBvbiBBWEltYWdlIHdoZW4g
dGhlcmUgaXMgbm8gb3RoZXIgZmFsbGJhY2sgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgdGhhdCBpZiBhbiBpbWFnZSBoYXMgYSB0
aXRsZSBhdHRyaWJ1dGUsIGJ1dCBubyBhbHQgYXR0cmlidXRlLCBpdCB3aWxsIGZhbGxiYWNrIHRv
IHVzZSB0aGUgdGl0bGUgYXR0cmlidXRlIAorICAgICAgICBmb3IgdGhlIGRlc2NyaXB0aXZlIHRl
eHQuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxl
Lmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nl
c3NpYmlsaXR5RGVzY3JpcHRpb24pOgorCiAyMDEyLTA5LTExICBKb3NodWEgQmVsbCAgPGpzYmVs
bEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBPcHRpbWl6ZSBrZXkgZGVjb2Rl
IGFuZCBjb21wYXJpc29uIG9wZXJhdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkocmV2
aXNpb24gMTI4MTk5KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5OCwxNyArMTQ5OCwxNyBA
QAogICAgIGlmICghYXJpYURlc2NyaXB0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGFy
aWFEZXNjcmlwdGlvbjsKICAgICAKLSAgICBOb2RlKiBub2RlID0gbV9yZW5kZXJlci0+bm9kZSgp
OwogICAgIGlmIChpc0ltYWdlKCkgfHwgaXNJbnB1dEltYWdlKCkgfHwgaXNOYXRpdmVJbWFnZSgp
IHx8IGlzQ2FudmFzKCkpIHsKLSAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNIVE1MRWxlbWVu
dCgpKSB7Ci0gICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFsdCA9IHRvSFRNTEVsZW1l
bnQobm9kZSktPmdldEF0dHJpYnV0ZShhbHRBdHRyKTsKLSAgICAgICAgICAgIGlmIChhbHQuaXNF
bXB0eSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgICAgICAvLyBJ
bWFnZXMgc2hvdWxkIHVzZSBhbHQgYXMgbG9uZyBhcyB0aGUgYXR0cmlidXRlIGlzIHByZXNlbnQs
IGV2ZW4gaWYgZW1wdHkuCisgICAgICAgIC8vIE90aGVyd2lzZSwgaXQgc2hvdWxkIGZhbGxiYWNr
IHRvIG90aGVyIG1ldGhvZHMsIGxpa2UgdGhlIHRpdGxlIGF0dHJpYnV0ZS4KKyAgICAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBhbHQgPSBnZXRBdHRyaWJ1dGUoYWx0QXR0cik7CisgICAgICAgIGlm
ICghYWx0LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGFsdDsKLSAgICAgICAgfQogICAg
IH0KICAgICAKICNpZiBFTkFCTEUoTUFUSE1MKQorICAgIE5vZGUqIG5vZGUgPSBtX3JlbmRlcmVy
LT5ub2RlKCk7CiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHN0YXRp
Y19jYXN0PEVsZW1lbnQqPihub2RlKS0+aXNNYXRoTUxFbGVtZW50KCkpCiAgICAgICAgIHJldHVy
biBnZXRBdHRyaWJ1dGUoTWF0aE1MTmFtZXM6OmFsdHRleHRBdHRyKTsKICNlbmRpZgpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTI4MjEzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICB0aXRsZSBhdHRyaWJ1dGUgaXMgbm90IGV4cG9zZWQg
YXMgdGhlIEFYRGVzY3JpcHRpb24gb24gQVhJbWFnZSB3aGVuIHRoZXJlIGlzIG5vIG90aGVyIGZh
bGxiYWNrIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk2NDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9h
Y2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93
IChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0
bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1n
LWZhbGxzYmFjay10by10aXRsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA5LTExICBN
aWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wcm92ZSBjb25zb2xl
IGVycm9yIG1lc3NhZ2VzIHdoZW4gJ2RvY3VtZW50LmRvbWFpbicgYmxvY2tzIGNyb3NzLW9yaWdp
biBzY3JpcHQgYWNjZXNzLgpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbWctZmFs
bHNiYWNrLXRvLXRpdGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0bGUuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw1OSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+
CisKKzxkaXYgcm9sZT0iZ3JvdXAiIHRhYmluZGV4PSIwIiBpZD0iaW1hZ2VzIj4KKyAgICA8aW1n
IGFsdD0iIiBoZWlnaHQ9IjEwMCIgd2lkdGg9IjEwMCI+CisgICAgPGltZyB0aXRsZT0idGVzdDEi
IGhlaWdodD0iMTAwIiB3aWR0aD0iMTAwIj4KKyAgICA8aW1nIGFsdD0iYWx0IiB0aXRsZT0idGVz
dDIiIGhlaWdodD0iMTAwIiB3aWR0aD0iMTAwIj4KKyAgICA8ZGl2IHJvbGU9ImltZyIgdGl0bGU9
InRlc3QzIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+dGVzdDwvZGl2PgorICAgIDxkaXYgcm9s
ZT0iaW1nIiBhbHQ9ImFsdCIgdGl0bGU9InRlc3Q0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+
dGVzdDwvZGl2PgorPC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGF0IGltYWdlcyB3aWxsIGZhbGxiYWNrIHRvIHVzaW5nIHRoZSB0aXRsZSBhdHRyaWJ1dGUg
aWYgbm8gb3RoZXIgZGVzY3JpcHRpdmUgdGV4dCBpcyBwcmVzZW50LiIpOworCisgICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbWFnZXMiKS5mb2N1cygpOworICAgICAgICB2YXIgaW1hZ2VzR3JvdXAgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKworICAgICAgICAvLyBGaXJz
dCBpbWFnZSBzaG91bGQgaGF2ZSBhIGRlc2NyaXB0aW9uIG9mICJ0ZXN0MSIgYmVjYXVzZSB0aGVy
ZSBpcyBubyBhbHQgdGFnIChpdCBzaG91bGQgdXNlIHRoZSB0aXRsZSkuCisgICAgICAgIC8vIFRo
ZSB0aXRsZSBzaG91bGQgTk9UIGJlIGluIHRoZSBoZWxwIHRleHQuCisgICAgICAgIHZhciBpbWFn
ZTEgPSBpbWFnZXNHcm91cC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOworICAgICAg
ICBkZWJ1ZygiSW1hZ2UxIGRlc2NyaXB0aW9uOiAiICsgaW1hZ2UxLmRlc2NyaXB0aW9uKTsKKyAg
ICAgICAgZGVidWcoIkltYWdlMSBoZWxwOiAiICsgaW1hZ2UxLmhlbHBUZXh0ICsgIjxicj4iKTsK
KworICAgICAgICAvLyBTZWNvbmQgaW1hZ2Ugc2hvdWxkIHVzZSB0aGUgZGVzY3JpcHRpb24gZnJv
bSB0aGUgYWx0IHRhZyBpbnN0ZWFkIG9mIHRoZSB0aXRsZS4KKyAgICAgICAgLy8gVGhlIGhlbHAg
dGV4dCBzaG91bGQgcmVmbGVjdCB3aGF0J3MgaW4gdGhlIHRpdGxlLgorICAgICAgICB2YXIgaW1h
Z2UyID0gaW1hZ2VzR3JvdXAuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgxKTsKKyAgICAg
ICAgZGVidWcoIkltYWdlMiBkZXNjcmlwdGlvbjogIiArIGltYWdlMi5kZXNjcmlwdGlvbik7Cisg
ICAgICAgIGRlYnVnKCJJbWFnZTIgaGVscDogIiArIGltYWdlMi5oZWxwVGV4dCArICI8YnI+Iik7
CisKKyAgICAgICAgLy8gTm93IGRvIHRoZSBzYW1lIGNoZWNrcyBmb3IgQVJJQSB0eXBlIGltYWdl
cy4KKyAgICAgICAgdmFyIGltYWdlMyA9IGltYWdlc0dyb3VwLmNoaWxkQXRJbmRleCgxKTsKKyAg
ICAgICAgZGVidWcoIkltYWdlMyBkZXNjcmlwdGlvbjogIiArIGltYWdlMy5kZXNjcmlwdGlvbik7
CisgICAgICAgIGRlYnVnKCJJbWFnZTMgaGVscDogIiArIGltYWdlMy5oZWxwVGV4dCArICI8YnI+
Iik7CisKKyAgICAgICAgLy8gTm93IGRvIHRoZSBzYW1lIGNoZWNrcyBmb3IgQVJJQSB0eXBlIGlt
YWdlcy4KKyAgICAgICAgdmFyIGltYWdlNCA9IGltYWdlc0dyb3VwLmNoaWxkQXRJbmRleCgyKTsK
KyAgICAgICAgZGVidWcoIkltYWdlNCBkZXNjcmlwdGlvbjogIiArIGltYWdlNC5kZXNjcmlwdGlv
bik7CisgICAgICAgIGRlYnVnKCJJbWFnZTQgaGVscDogIiArIGltYWdlNC5oZWxwVGV4dCArICI8
YnI+Iik7CisKKyAgICAgICAgLy8gVmVyaWZ5IHRoYXQgdGhlIGZpcnN0IGltYWdlICh3aXRoIGFu
IGVtcHR5IGFsdCB0YWcpIGlzIGlnbm9yZWQKKyAgICAgICAgLy8gYnkgY2hlY2tpbmcgdGhlIGNo
aWxkcmVuIGNvdW50IG9mIHRoZSBncm91cCBjb250YWluaW5nIHRoZSBuYXRpdmUgaW1hZ2VzID09
IDIuCisgICAgICAgIHNob3VsZEJlKCJpbWFnZXNHcm91cC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRy
ZW5Db3VudCIsICIyIik7CisgICAgfQorCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163448</attachid>
            <date>2012-09-11 14:47:21 -0700</date>
            <delta_ts>2012-09-11 14:47:21 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>6650</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODIxMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTExICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IHRpdGxlIGF0dHJp
YnV0ZSBpcyBub3QgZXhwb3NlZCBhcyB0aGUgQVhEZXNjcmlwdGlvbiBvbiBBWEltYWdlIHdoZW4g
dGhlcmUgaXMgbm8gb3RoZXIgZmFsbGJhY2sgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgdGhhdCBpZiBhbiBpbWFnZSBoYXMgYSB0
aXRsZSBhdHRyaWJ1dGUsIGJ1dCBubyBhbHQgYXR0cmlidXRlLCBpdCB3aWxsIGZhbGxiYWNrIHRv
IHVzZSB0aGUgdGl0bGUgYXR0cmlidXRlIAorICAgICAgICBmb3IgdGhlIGRlc2NyaXB0aXZlIHRl
eHQuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxl
Lmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nl
c3NpYmlsaXR5RGVzY3JpcHRpb24pOgorCiAyMDEyLTA5LTExICBKb3NodWEgQmVsbCAgPGpzYmVs
bEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBPcHRpbWl6ZSBrZXkgZGVjb2Rl
IGFuZCBjb21wYXJpc29uIG9wZXJhdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkocmV2
aXNpb24gMTI4MTk5KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5OCwxNyArMTQ5OCwxNyBA
QAogICAgIGlmICghYXJpYURlc2NyaXB0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGFy
aWFEZXNjcmlwdGlvbjsKICAgICAKLSAgICBOb2RlKiBub2RlID0gbV9yZW5kZXJlci0+bm9kZSgp
OwogICAgIGlmIChpc0ltYWdlKCkgfHwgaXNJbnB1dEltYWdlKCkgfHwgaXNOYXRpdmVJbWFnZSgp
IHx8IGlzQ2FudmFzKCkpIHsKLSAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNIVE1MRWxlbWVu
dCgpKSB7Ci0gICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFsdCA9IHRvSFRNTEVsZW1l
bnQobm9kZSktPmdldEF0dHJpYnV0ZShhbHRBdHRyKTsKLSAgICAgICAgICAgIGlmIChhbHQuaXNF
bXB0eSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgICAgICAvLyBJ
bWFnZXMgc2hvdWxkIHVzZSBhbHQgYXMgbG9uZyBhcyB0aGUgYXR0cmlidXRlIGlzIHByZXNlbnQs
IGV2ZW4gaWYgZW1wdHkuCisgICAgICAgIC8vIE90aGVyd2lzZSwgaXQgc2hvdWxkIGZhbGxiYWNr
IHRvIG90aGVyIG1ldGhvZHMsIGxpa2UgdGhlIHRpdGxlIGF0dHJpYnV0ZS4KKyAgICAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBhbHQgPSBnZXRBdHRyaWJ1dGUoYWx0QXR0cik7CisgICAgICAgIGlm
ICghYWx0LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGFsdDsKLSAgICAgICAgfQogICAg
IH0KICAgICAKICNpZiBFTkFCTEUoTUFUSE1MKQorICAgIE5vZGUqIG5vZGUgPSBtX3JlbmRlcmVy
LT5ub2RlKCk7CiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHN0YXRp
Y19jYXN0PEVsZW1lbnQqPihub2RlKS0+aXNNYXRoTUxFbGVtZW50KCkpCiAgICAgICAgIHJldHVy
biBnZXRBdHRyaWJ1dGUoTWF0aE1MTmFtZXM6OmFsdHRleHRBdHRyKTsKICNlbmRpZgpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTI4MjEzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMTEgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICB0aXRsZSBhdHRyaWJ1dGUgaXMgbm90IGV4cG9zZWQg
YXMgdGhlIEFYRGVzY3JpcHRpb24gb24gQVhJbWFnZSB3aGVuIHRoZXJlIGlzIG5vIG90aGVyIGZh
bGxiYWNrIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk2NDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9h
Y2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93
IChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0
bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1n
LWZhbGxzYmFjay10by10aXRsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA5LTExICBN
aWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wcm92ZSBjb25zb2xl
IGVycm9yIG1lc3NhZ2VzIHdoZW4gJ2RvY3VtZW50LmRvbWFpbicgYmxvY2tzIGNyb3NzLW9yaWdp
biBzY3JpcHQgYWNjZXNzLgpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbWctZmFs
bHNiYWNrLXRvLXRpdGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0bGUuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw1OSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+
CisKKzxkaXYgcm9sZT0iZ3JvdXAiIHRhYmluZGV4PSIwIiBpZD0iaW1hZ2VzIj4KKyAgICA8aW1n
IGFsdD0iIiBoZWlnaHQ9IjEwMCIgd2lkdGg9IjEwMCI+CisgICAgPGltZyB0aXRsZT0idGVzdDEi
IGhlaWdodD0iMTAwIiB3aWR0aD0iMTAwIj4KKyAgICA8aW1nIGFsdD0iYWx0IiB0aXRsZT0idGVz
dDIiIGhlaWdodD0iMTAwIiB3aWR0aD0iMTAwIj4KKyAgICA8ZGl2IHJvbGU9ImltZyIgdGl0bGU9
InRlc3QzIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+dGVzdDwvZGl2PgorICAgIDxkaXYgcm9s
ZT0iaW1nIiBhbHQ9ImFsdCIgdGl0bGU9InRlc3Q0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+
dGVzdDwvZGl2PgorPC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGF0IGltYWdlcyB3aWxsIGZhbGxiYWNrIHRvIHVzaW5nIHRoZSB0aXRsZSBhdHRyaWJ1dGUg
aWYgbm8gb3RoZXIgZGVzY3JpcHRpdmUgdGV4dCBpcyBwcmVzZW50LiIpOworCisgICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbWFnZXMiKS5mb2N1cygpOworICAgICAgICB2YXIgaW1hZ2VzR3JvdXAgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKworICAgICAgICAvLyBGaXJz
dCBpbWFnZSBzaG91bGQgaGF2ZSBhIGRlc2NyaXB0aW9uIG9mICJ0ZXN0MSIgYmVjYXVzZSB0aGVy
ZSBpcyBubyBhbHQgdGFnIChpdCBzaG91bGQgdXNlIHRoZSB0aXRsZSkuCisgICAgICAgIC8vIFRo
ZSB0aXRsZSBzaG91bGQgTk9UIGJlIGluIHRoZSBoZWxwIHRleHQuCisgICAgICAgIHZhciBpbWFn
ZTEgPSBpbWFnZXNHcm91cC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOworICAgICAg
ICBkZWJ1ZygiSW1hZ2UxIGRlc2NyaXB0aW9uOiAiICsgaW1hZ2UxLmRlc2NyaXB0aW9uKTsKKyAg
ICAgICAgZGVidWcoIkltYWdlMSBoZWxwOiAiICsgaW1hZ2UxLmhlbHBUZXh0ICsgIjxicj4iKTsK
KworICAgICAgICAvLyBTZWNvbmQgaW1hZ2Ugc2hvdWxkIHVzZSB0aGUgZGVzY3JpcHRpb24gZnJv
bSB0aGUgYWx0IHRhZyBpbnN0ZWFkIG9mIHRoZSB0aXRsZS4KKyAgICAgICAgLy8gVGhlIGhlbHAg
dGV4dCBzaG91bGQgcmVmbGVjdCB3aGF0J3MgaW4gdGhlIHRpdGxlLgorICAgICAgICB2YXIgaW1h
Z2UyID0gaW1hZ2VzR3JvdXAuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgxKTsKKyAgICAg
ICAgZGVidWcoIkltYWdlMiBkZXNjcmlwdGlvbjogIiArIGltYWdlMi5kZXNjcmlwdGlvbik7Cisg
ICAgICAgIGRlYnVnKCJJbWFnZTIgaGVscDogIiArIGltYWdlMi5oZWxwVGV4dCArICI8YnI+Iik7
CisKKyAgICAgICAgLy8gTm93IGRvIHRoZSBzYW1lIGNoZWNrcyBmb3IgQVJJQSB0eXBlIGltYWdl
cy4KKyAgICAgICAgdmFyIGltYWdlMyA9IGltYWdlc0dyb3VwLmNoaWxkQXRJbmRleCgxKTsKKyAg
ICAgICAgZGVidWcoIkltYWdlMyBkZXNjcmlwdGlvbjogIiArIGltYWdlMy5kZXNjcmlwdGlvbik7
CisgICAgICAgIGRlYnVnKCJJbWFnZTMgaGVscDogIiArIGltYWdlMy5oZWxwVGV4dCArICI8YnI+
Iik7CisKKyAgICAgICAgLy8gTm93IGRvIHRoZSBzYW1lIGNoZWNrcyBmb3IgQVJJQSB0eXBlIGlt
YWdlcy4KKyAgICAgICAgdmFyIGltYWdlNCA9IGltYWdlc0dyb3VwLmNoaWxkQXRJbmRleCgyKTsK
KyAgICAgICAgZGVidWcoIkltYWdlNCBkZXNjcmlwdGlvbjogIiArIGltYWdlNC5kZXNjcmlwdGlv
bik7CisgICAgICAgIGRlYnVnKCJJbWFnZTQgaGVscDogIiArIGltYWdlNC5oZWxwVGV4dCArICI8
YnI+Iik7CisKKyAgICAgICAgLy8gVmVyaWZ5IHRoYXQgdGhlIGZpcnN0IGltYWdlICh3aXRoIGFu
IGVtcHR5IGFsdCB0YWcpIGlzIGlnbm9yZWQKKyAgICAgICAgLy8gYnkgY2hlY2tpbmcgdGhlIGNo
aWxkcmVuIGNvdW50IG9mIHRoZSBncm91cCBjb250YWluaW5nIHRoZSBuYXRpdmUgaW1hZ2VzID09
IDIuCisgICAgICAgIHNob3VsZEJlKCJpbWFnZXNHcm91cC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRy
ZW5Db3VudCIsICIyIik7CisgICAgfQorCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWctZmFs
bHNiYWNrLXRvLXRpdGxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWctZmFsbHNiYWNrLXRvLXRpdGxlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmls
aXR5L2ltZy1mYWxsc2JhY2stdG8tdGl0bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDI1IEBACisgICAgCit0ZXN0Cit0ZXN0CitUaGlzIHRlc3RzIHRoYXQgaW1hZ2VzIHdp
bGwgZmFsbGJhY2sgdG8gdXNpbmcgdGhlIHRpdGxlIGF0dHJpYnV0ZSBpZiBubyBvdGhlciBkZXNj
cmlwdGl2ZSB0ZXh0IGlzIHByZXNlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitJbWFnZTEgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IHRlc3QxCitJbWFnZTEgaGVscDog
QVhIZWxwOiAKKworSW1hZ2UyIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBhbHQKK0ltYWdl
MiBoZWxwOiBBWEhlbHA6IHRlc3QyCisKK0ltYWdlMyBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlv
bjogdGVzdDMKK0ltYWdlMyBoZWxwOiBBWEhlbHA6IAorCitJbWFnZTQgZGVzY3JpcHRpb246IEFY
RGVzY3JpcHRpb246IGFsdAorSW1hZ2U0IGhlbHA6IEFYSGVscDogdGVzdDQKKworUEFTUyBpbWFn
ZXNHcm91cC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRyZW5Db3VudCBpcyAyCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>