<?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>52400</bug_id>
          
          <creation_ts>2011-01-13 14:54:10 -0800</creation_ts>
          <short_desc>add container divs for diff blocks</short_desc>
          <delta_ts>2011-01-13 15:53:08 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>333953</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-13 14:54:10 -0800</bug_when>
    <thetext>add container divs for diff blocks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333960</commentid>
    <comment_count>1</comment_count>
      <attachid>78860</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-13 15:02:06 -0800</bug_when>
    <thetext>Created attachment 78860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333961</commentid>
    <comment_count>2</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-13 15:03:07 -0800</bug_when>
    <thetext>I don&apos;t really know ruby at all, so don&apos;t hesitate to let me know if I&apos;m doing something in a stupid way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333969</commentid>
    <comment_count>3</comment_count>
      <attachid>78860</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-13 15:09:17 -0800</bug_when>
    <thetext>Comment on attachment 78860
Patch

The JavaScript parts look good to me.  The ruby parts are mysterious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333977</commentid>
    <comment_count>4</comment_count>
      <attachid>78864</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-13 15:26:39 -0800</bug_when>
    <thetext>Created attachment 78864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333979</commentid>
    <comment_count>5</comment_count>
      <attachid>78860</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-01-13 15:28:59 -0800</bug_when>
    <thetext>Comment on attachment 78860
Patch

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

&gt; Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb:611
&gt; +            @blocks = []
&gt; +            diff_block_part = nil

It&apos;s strange that you declare diff_block_part here but not diff_block.

&gt; Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb:614
&gt; +            for index in 1...lines.length
&gt; +                line = lines[index]

A more idiomatic way of doing this is:

lines[1...lines.length].each do |line|

or:

for line in lines[1...lines.length]

&gt; Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb:619
&gt; +                    if (!diff_block_part or (diff_block_part.className != &apos;remove&apos; and diff_block_part.lines.length != 0))

It&apos;s more idiomatic to say diff_block_part.nil? instead of !diff_block_part. Similarly, !diff_block_part.lines.empty? is better than diff_block_part.lines.length != 0.

How would we end up with a DiffBlockPart that has no lines?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333988</commentid>
    <comment_count>6</comment_count>
      <attachid>78867</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-13 15:41:25 -0800</bug_when>
    <thetext>Created attachment 78867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333989</commentid>
    <comment_count>7</comment_count>
      <attachid>78860</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-13 15:42:29 -0800</bug_when>
    <thetext>Comment on attachment 78860
Patch

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

&gt;&gt; Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb:611
&gt;&gt; +            diff_block_part = nil
&gt; 
&gt; It&apos;s strange that you declare diff_block_part here but not diff_block.

Declared both. In practice, we always create a diff_block before accessing it, but this seems cleaner anyways.

&gt;&gt; Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb:614
&gt;&gt; +                line = lines[index]
&gt; 
&gt; A more idiomatic way of doing this is:
&gt; 
&gt; lines[1...lines.length].each do |line|
&gt; 
&gt; or:
&gt; 
&gt; for line in lines[1...lines.length]

Did the latter.

&gt;&gt; Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb:619
&gt;&gt; +                    if (!diff_block_part or (diff_block_part.className != &apos;remove&apos; and diff_block_part.lines.length != 0))
&gt; 
&gt; It&apos;s more idiomatic to say diff_block_part.nil? instead of !diff_block_part. Similarly, !diff_block_part.lines.empty? is better than diff_block_part.lines.length != 0.
&gt; 
&gt; How would we end up with a DiffBlockPart that has no lines?

Used nil? and removed the lines length checks. That was a leftover from a previous iteration that happened to be correct (whoops!).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333993</commentid>
    <comment_count>8</comment_count>
      <attachid>78867</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-13 15:48:56 -0800</bug_when>
    <thetext>Comment on attachment 78867
Patch

aroben said he was happy with the ruby and I&apos;m happy with the JS.  Let&apos;s rock and roll.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333998</commentid>
    <comment_count>9</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-13 15:53:08 -0800</bug_when>
    <thetext>Committed r75747: &lt;http://trac.webkit.org/changeset/75747&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78860</attachid>
            <date>2011-01-13 15:02:06 -0800</date>
            <delta_ts>2011-01-13 15:42:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52400-20110113150205.patch</filename>
            <type>text/plain</type>
            <size>9527</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRl
cy9idWdzLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDMzZWQ3ZGJlNGU5MGU0MzVjODA3MzVk
MWY3ZDdmMjBlMjg1YjQ0YzguLmYwOGFiNzA2MWUxODBkMGQ2MWZmNmY0Yzc4NTdlNGFlYTQwZTdk
Y2EgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFuZ2VMb2cKKysrIGIv
V2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEx
LTAxLTEzICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgYWRkIGNvbnRhaW5lciBkaXZzIGZvciBk
aWZmIGJsb2NrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTI0MDAKKworICAgICAgICBUaGlzIHdpbGwgaGVscCBzaW1wbGlmeSBhIGxvdCBvZiBjb2Rl
IGluIGNvZGUtcmV2aWV3LmpzCisgICAgICAgIGFuZCBtYWtlIHNpZGUtYnktc2lkZSBkaWZmcyBi
ZXR0ZXIgKGkuZS4gcHV0IHJlbW92ZWQgbGluZXMKKyAgICAgICAgdG8gdGhlIGxlZnQgb2YgY29y
cmVzcG9uZGluZyBhZGRlZCBsaW5lcykuCisKKyAgICAgICAgSSd2ZSBhbHNvIHJlbW92ZWQgdGhl
IGNvbnRleHQgbGluZXMuIFdlIGFscmVhZHkgcmVtb3ZlIHRoZW0gaW4KKyAgICAgICAgdGhlIEpT
LiBObyBwb2ludCBpbiBhZGRpbmcgdGhlbSBpbiB0aGUgZmlyc3QgcGxhY2UuIEkgZG9uJ3QgdGhp
bmsKKyAgICAgICAgdGhleSBhZGQgbXVjaCB0byB0aGUgZm9ybWF0dGVkIGRpZmYuCisKKyAgICAg
ICAgQWxzbywgYWxsb3cgZm9yIHJ1bm5pbmcgdGhlIEpTIGZyb20gYSBsb2NhbCBmaWxlLiBOb3cg
eW91IGNhbiBtb2RpZnkgY29kZS1yZXZpZXcuanMKKyAgICAgICAgdG8gcG9pbnQgdG8gYSBsb2Nh
bCBmaWxlIGFuZCB0aGVuIHJ1bjoKKyAgICAgICAgcnVieSBwcmV0dGlmeS5yYiA8IGZvby5kaWZm
ID4gZm9vLmh0bWwKKworICAgICAgICBmb28uaHRtbCB3aWxsIGxvYWQgYSBkdW1teSBjb2RlIHJl
dmlldyBtYXRjaGluZyBmb28uZGlmZi4KKworICAgICAgICBCZWZvcmUgc3RydWN0dXJlOgorICAg
ICAgICBMaW5lCisgICAgICAgIExpbmUgcmVtb3ZlCisgICAgICAgIExpbmUgYWRkCisgICAgICAg
IExpbmUgYWRkCisgICAgICAgIExpbmUKKworICAgICAgICBBZnRlciBzdHJ1Y3R1cmU6CisgICAg
ICAgIERpZmZCbG9jaworICAgICAgICAgIERpZmZCbG9ja1BhcnQgc2hhcmVkCisgICAgICAgICAg
ICBMaW5lIHNoYXJlZAorICAgICAgICBEaWZmQmxvY2sKKyAgICAgICAgICBEaWZmQmxvY2tQYXJ0
IHJlbW92ZQorICAgICAgICAgICAgTGluZSByZW1vdmUKKyAgICAgICAgICBEaWZmQmxvY2tQYXJ0
IGFkZAorICAgICAgICAgICAgTGluZSBhZGQKKyAgICAgICAgICAgIExpbmUgYWRkCisgICAgICAg
IERpZmZCbG9jaworICAgICAgICAgIERpZmZCbG9ja1BhcnQgc2hhcmVkCisgICAgICAgICAgICBM
aW5lIHNoYXJlZAorICAgICAgICAKKworICAgICAgICAqIFByZXR0eVBhdGNoL1ByZXR0eVBhdGNo
LnJiOgorICAgICAgICAqIGNvZGUtcmV2aWV3LmpzOgorCiAyMDExLTAxLTEyICBPamFuIFZhZmFp
ICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWloYWkgUGFycGFy
aXRhLgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL1ByZXR0eVBhdGNoL1By
ZXR0eVBhdGNoLnJiIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL1ByZXR0eVBhdGNoL1ByZXR0
eVBhdGNoLnJiCmluZGV4IGM3M2ViOTc2MjY5MTgzMDFlYzI3MzA3YThmODkzNzBmYTQ0OTRiYzku
LjljZjE2ZDlkMDRiZmQ0NTI4YmIwZTJlMWY4ZGIwMDcxYjVhMWI3N2UgMTAwNjQ0Ci0tLSBhL1dl
YnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9QcmV0dHlQYXRjaC9QcmV0dHlQYXRjaC5yYgorKysgYi9X
ZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKQEAgLTM5
NSw3ICszOTUsNyBAQCBib2R5IHsKIH0KIDwvc3R5bGU+CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9h
amF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS40LjIvanF1ZXJ5Lm1pbi5qcyI+
PC9zY3JpcHQ+IAotPHNjcmlwdCBzcmM9ImNvZGUtcmV2aWV3LmpzP3ZlcnNpb249MjEiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9ImNvZGUtcmV2aWV3LmpzP3ZlcnNpb249MjIiPjwvc2NyaXB0Pgog
RU9GCiAKICAgICBkZWYgc2VsZi5yZXZpc2lvbk9yRGVzY3JpcHRpb24oc3RyaW5nKQpAQCAtNTY4
LDYgKzU2OCwzOCBAQCBFTkQKICAgICAgICAgZW5kCiAgICAgZW5kCiAKKyAgICBjbGFzcyBEaWZm
QmxvY2sKKyAgICAgICAgYXR0cl9hY2Nlc3NvciA6cGFydHMKKworICAgICAgICBkZWYgaW5pdGlh
bGl6ZShjb250YWluZXIpCisgICAgICAgICAgICBAcGFydHMgPSBbXQorICAgICAgICAgICAgY29u
dGFpbmVyIDw8IHNlbGYKKyAgICAgICAgZW5kCisKKyAgICAgICAgZGVmIHRvX2h0bWwKKyAgICAg
ICAgICAgIHN0ciA9ICI8ZGl2IGNsYXNzPSdEaWZmQmxvY2snPlxuIgorICAgICAgICAgICAgc3Ry
ICs9IEBwYXJ0cy5jb2xsZWN0eyB8cGFydHwgcGFydC50b19odG1sIH0uam9pbgorICAgICAgICAg
ICAgc3RyICs9ICI8L2Rpdj5cbiIKKyAgICAgICAgZW5kCisgICAgZW5kCisKKyAgICBjbGFzcyBE
aWZmQmxvY2tQYXJ0CisgICAgICAgIGF0dHJfcmVhZGVyIDpjbGFzc05hbWUKKyAgICAgICAgYXR0
ciA6bGluZXMKKworICAgICAgICBkZWYgaW5pdGlhbGl6ZShjbGFzc05hbWUsIGNvbnRhaW5lcikK
KyAgICAgICAgICAgIEBjbGFzc05hbWUgPSBjbGFzc05hbWUKKyAgICAgICAgICAgIEBsaW5lcyA9
IFtdCisgICAgICAgICAgICBjb250YWluZXIucGFydHMgPDwgc2VsZgorICAgICAgICBlbmQKKwor
ICAgICAgICBkZWYgdG9faHRtbAorICAgICAgICAgICAgc3RyID0gIjxkaXYgY2xhc3M9J0RpZmZC
bG9ja1BhcnQgJXMnPlxuIiAlIEBjbGFzc05hbWUKKyAgICAgICAgICAgIHN0ciArPSBAbGluZXMu
Y29sbGVjdHsgfGxpbmV8IGxpbmUudG9faHRtbCB9LmpvaW4KKyAgICAgICAgICAgIHN0ciArPSAi
PC9kaXY+XG4iCisgICAgICAgIGVuZAorICAgIGVuZAorCiAgICAgY2xhc3MgRGlmZlNlY3Rpb24K
ICAgICAgICAgZGVmIGluaXRpYWxpemUobGluZXMpCiAgICAgICAgICAgICBsaW5lcy5sZW5ndGgg
Pj0gMSBvciByYWlzZSAiRGlmZlNlY3Rpb24ucGFyc2Ugb25seSByZWNlaXZlZCAlZCBsaW5lcyIg
JSBsaW5lcy5sZW5ndGgKQEAgLTU3NSwzNiArNjA3LDU4IEBAIEVORAogICAgICAgICAgICAgbWF0
Y2hlcyA9IFNUQVJUX09GX1NFQ1RJT05fRk9STUFULm1hdGNoKGxpbmVzWzBdKQogICAgICAgICAg
ICAgZnJvbSwgdG8gPSBbbWF0Y2hlc1sxXS50b19pLCBtYXRjaGVzWzJdLnRvX2ldIHVubGVzcyBt
YXRjaGVzLm5pbD8KIAotICAgICAgICAgICAgQGxpbmVzID0gbGluZXNbMS4uLmxpbmVzLmxlbmd0
aF0uY29sbGVjdCBkbyB8bGluZXwKKyAgICAgICAgICAgIEBibG9ja3MgPSBbXQorICAgICAgICAg
ICAgZGlmZl9ibG9ja19wYXJ0ID0gbmlsCisKKyAgICAgICAgICAgIGZvciBpbmRleCBpbiAxLi4u
bGluZXMubGVuZ3RoCisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVzW2luZGV4XQogICAgICAg
ICAgICAgICAgIHN0YXJ0T2ZMaW5lID0gbGluZSA9fiAvXlstXCsgXS8gPyAxIDogMAogICAgICAg
ICAgICAgICAgIHRleHQgPSBsaW5lW3N0YXJ0T2ZMaW5lLi4ubGluZS5sZW5ndGhdLmNob21wCiAg
ICAgICAgICAgICAgICAgY2FzZSBsaW5lWzBdCiAgICAgICAgICAgICAgICAgd2hlbiA/LQotICAg
ICAgICAgICAgICAgICAgICByZXN1bHQgPSBDb2RlTGluZS5uZXcoZnJvbSwgbmlsLCB0ZXh0KQor
ICAgICAgICAgICAgICAgICAgICBpZiAoIWRpZmZfYmxvY2tfcGFydCBvciAoZGlmZl9ibG9ja19w
YXJ0LmNsYXNzTmFtZSAhPSAncmVtb3ZlJyBhbmQgZGlmZl9ibG9ja19wYXJ0LmxpbmVzLmxlbmd0
aCAhPSAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpZmZfYmxvY2sgPSBEaWZmQmxvY2su
bmV3KEBibG9ja3MpCisgICAgICAgICAgICAgICAgICAgICAgICBkaWZmX2Jsb2NrX3BhcnQgPSBE
aWZmQmxvY2tQYXJ0Lm5ldygncmVtb3ZlJywgZGlmZl9ibG9jaykKKyAgICAgICAgICAgICAgICAg
ICAgZW5kCisKKyAgICAgICAgICAgICAgICAgICAgZGlmZl9ibG9ja19wYXJ0LmxpbmVzIDw8IENv
ZGVMaW5lLm5ldyhmcm9tLCBuaWwsIHRleHQpCiAgICAgICAgICAgICAgICAgICAgIGZyb20gKz0g
MSB1bmxlc3MgZnJvbS5uaWw/Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdAogICAgICAgICAg
ICAgICAgIHdoZW4gPysKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gQ29kZUxpbmUubmV3
KG5pbCwgdG8sIHRleHQpCisgICAgICAgICAgICAgICAgICAgIGlmICghZGlmZl9ibG9ja19wYXJ0
IG9yIChkaWZmX2Jsb2NrX3BhcnQuY2xhc3NOYW1lICE9ICdhZGQnIGFuZCBkaWZmX2Jsb2NrX3Bh
cnQubGluZXMubGVuZ3RoICE9IDApKQorICAgICAgICAgICAgICAgICAgICAgICAgIyBQdXQgYWRk
IGxpbmVzIHRoYXQgaW1tZWRpYXRlbHkgZm9sbG93IHJlbW92ZSBsaW5lcyBpbnRvIHRoZSBzYW1l
IERpZmZCbG9jay4KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZGlmZl9ibG9jayBvciBk
aWZmX2Jsb2NrX3BhcnQuY2xhc3NOYW1lICE9ICdyZW1vdmUnKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZmZfYmxvY2sgPSBEaWZmQmxvY2submV3KEBibG9ja3MpCisgICAgICAgICAg
ICAgICAgICAgICAgICBlbmQKKworICAgICAgICAgICAgICAgICAgICAgICAgZGlmZl9ibG9ja19w
YXJ0ID0gRGlmZkJsb2NrUGFydC5uZXcoJ2FkZCcsIGRpZmZfYmxvY2spCisgICAgICAgICAgICAg
ICAgICAgIGVuZAorCisgICAgICAgICAgICAgICAgICAgIGRpZmZfYmxvY2tfcGFydC5saW5lcyA8
PCBDb2RlTGluZS5uZXcobmlsLCB0bywgdGV4dCkKICAgICAgICAgICAgICAgICAgICAgdG8gKz0g
MSB1bmxlc3MgdG8ubmlsPwotICAgICAgICAgICAgICAgICAgICByZXN1bHQKICAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IENvZGVMaW5lLm5ldyhmcm9t
LCB0bywgdGV4dCkKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFkaWZmX2Jsb2NrX3BhcnQgb3Ig
KGRpZmZfYmxvY2tfcGFydC5jbGFzc05hbWUgIT0gJ3NoYXJlZCcgYW5kIGRpZmZfYmxvY2tfcGFy
dC5saW5lcy5sZW5ndGggIT0gMCkpCisgICAgICAgICAgICAgICAgICAgICAgICBkaWZmX2Jsb2Nr
ID0gRGlmZkJsb2NrLm5ldyhAYmxvY2tzKQorICAgICAgICAgICAgICAgICAgICAgICAgZGlmZl9i
bG9ja19wYXJ0ID0gRGlmZkJsb2NrUGFydC5uZXcoJ3NoYXJlZCcsIGRpZmZfYmxvY2spCisgICAg
ICAgICAgICAgICAgICAgIGVuZAorCisgICAgICAgICAgICAgICAgICAgIGRpZmZfYmxvY2tfcGFy
dC5saW5lcyA8PCBDb2RlTGluZS5uZXcoZnJvbSwgdG8sIHRleHQpCiAgICAgICAgICAgICAgICAg
ICAgIGZyb20gKz0gMSB1bmxlc3MgZnJvbS5uaWw/CiAgICAgICAgICAgICAgICAgICAgIHRvICs9
IDEgdW5sZXNzIHRvLm5pbD8KLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0CiAgICAgICAgICAg
ICAgICAgZW5kCiAgICAgICAgICAgICBlbmQKIAotICAgICAgICAgICAgQGxpbmVzLnVuc2hpZnQo
Q29udGV4dExpbmUubmV3KG1hdGNoZXNbM10pKSB1bmxlc3MgbWF0Y2hlcy5uaWw/IHx8IG1hdGNo
ZXNbM10uZW1wdHk/Ci0KICAgICAgICAgICAgIGNoYW5nZXMgPSBbIFsgW10sIFtdIF0gXQotICAg
ICAgICAgICAgZm9yIGxpbmUgaW4gQGxpbmVzCi0gICAgICAgICAgICAgICAgaWYgKCFsaW5lLmZy
b21MaW5lTnVtYmVyLm5pbD8gYW5kICFsaW5lLnRvTGluZU51bWJlci5uaWw/KSB0aGVuCi0gICAg
ICAgICAgICAgICAgICAgIGNoYW5nZXMgPDwgWyBbXSwgW10gXQotICAgICAgICAgICAgICAgICAg
ICBuZXh0CisgICAgICAgICAgICBmb3IgYmxvY2sgaW4gQGJsb2NrcworICAgICAgICAgICAgICAg
IGZvciBibG9ja19wYXJ0IGluIGJsb2NrLnBhcnRzCisgICAgICAgICAgICAgICAgICAgIGZvciBs
aW5lIGluIGJsb2NrX3BhcnQubGluZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbGlu
ZS5mcm9tTGluZU51bWJlci5uaWw/IGFuZCAhbGluZS50b0xpbmVOdW1iZXIubmlsPykgdGhlbgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgPDwgWyBbXSwgW10gXQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG5leHQKKyAgICAgICAgICAgICAgICAgICAgICAgIGVuZAor
ICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlcy5sYXN0LmZpcnN0IDw8IGxpbmUgaWYgbGlu
ZS50b0xpbmVOdW1iZXIubmlsPworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlcy5sYXN0
Lmxhc3QgPDwgbGluZSBpZiBsaW5lLmZyb21MaW5lTnVtYmVyLm5pbD8KKyAgICAgICAgICAgICAg
ICAgICAgZW5kCiAgICAgICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAgICAgY2hhbmdlcy5s
YXN0LmZpcnN0IDw8IGxpbmUgaWYgbGluZS50b0xpbmVOdW1iZXIubmlsPwotICAgICAgICAgICAg
ICAgIGNoYW5nZXMubGFzdC5sYXN0IDw8IGxpbmUgaWYgbGluZS5mcm9tTGluZU51bWJlci5uaWw/
CiAgICAgICAgICAgICBlbmQKIAogICAgICAgICAgICAgZm9yIGNoYW5nZSBpbiBjaGFuZ2VzCkBA
IC02MzQsNyArNjg4LDcgQEAgRU5ECiAKICAgICAgICAgZGVmIHRvX2h0bWwKICAgICAgICAgICAg
IHN0ciA9ICI8ZGl2IGNsYXNzPSdEaWZmU2VjdGlvbic+XG4iCi0gICAgICAgICAgICBzdHIgKz0g
QGxpbmVzLmNvbGxlY3R7IHxsaW5lfCBsaW5lLnRvX2h0bWwgfS5qb2luCisgICAgICAgICAgICBz
dHIgKz0gQGJsb2Nrcy5jb2xsZWN0eyB8YmxvY2t8IGJsb2NrLnRvX2h0bWwgfS5qb2luCiAgICAg
ICAgICAgICBzdHIgKz0gIjwvZGl2PlxuIgogICAgICAgICBlbmQKICAgICAgICAgCkBAIC02NjYs
NyArNzIwLDcgQEAgRU5ECiAgICAgICAgIGVuZAogCiAgICAgICAgIGRlZiBjbGFzc2VzCi0gICAg
ICAgICAgICBsaW5lQ2xhc3NlcyA9IFsiTGluZSJdCisgICAgICAgICAgICBsaW5lQ2xhc3NlcyA9
IFsiTGluZSIsICJMaW5lQ29udGFpbmVyIl0KICAgICAgICAgICAgIGxpbmVDbGFzc2VzIDw8IFsi
YWRkIl0gdW5sZXNzIEB0b0xpbmVOdW1iZXIubmlsPyBvciAhQGZyb21MaW5lTnVtYmVyLm5pbD8K
ICAgICAgICAgICAgIGxpbmVDbGFzc2VzIDw8IFsicmVtb3ZlIl0gdW5sZXNzIEBmcm9tTGluZU51
bWJlci5uaWw/IG9yICFAdG9MaW5lTnVtYmVyLm5pbD8KICAgICAgICAgICAgIGxpbmVDbGFzc2Vz
CkBAIC03MDUsMTQgKzc1OSw0IEBAIEVORAogICAgICAgICAgICAgaHRtbC5qb2luCiAgICAgICAg
IGVuZAogICAgIGVuZAotCi0gICAgY2xhc3MgQ29udGV4dExpbmUgPCBMaW5lCi0gICAgICAgIGRl
ZiBpbml0aWFsaXplKGNvbnRleHQpCi0gICAgICAgICAgICBzdXBlcigiQCIsICJAIiwgY29udGV4
dCkKLSAgICAgICAgZW5kCi0KLSAgICAgICAgZGVmIGNsYXNzZXMKLSAgICAgICAgICAgIHN1cGVy
IDw8ICJjb250ZXh0IgotICAgICAgICBlbmQKLSAgICBlbmQKIGVuZApkaWZmIC0tZ2l0IGEvV2Vi
c2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzIGIvV2Vic2l0ZXMvYnVncy53ZWJr
aXQub3JnL2NvZGUtcmV2aWV3LmpzCmluZGV4IDgxZWY2NGU4ODVhMzY3ZDYxYjkyOTFlZWUxMzEz
ZTliOTIwMmQwMzYuLjRmZTFiNjY2OTYxZmMwNzJlYmExMWMzZTJhOGE4Y2M3ZGNmNmI3NzIgMTAw
NjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcworKysgYi9X
ZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMKQEAgLTUzLDExICs1MywxNCBA
QAogICAvLyBBdHRlbXB0IHRvIGFjdGl2YXRlIG9ubHkgaW4gdGhlICJSZXZpZXcgUGF0Y2giIGNv
bnRleHQuCiAgIGlmICh3aW5kb3cudG9wICE9IHdpbmRvdykKICAgICByZXR1cm47Ci0gIGlmICgh
d2luZG93LmxvY2F0aW9uLnNlYXJjaC5tYXRjaCgvYWN0aW9uPXJldmlldy8pKQorCisgIGlmICgh
d2luZG93LmxvY2F0aW9uLnNlYXJjaC5tYXRjaCgvYWN0aW9uPXJldmlldy8pCisgICAgICAmJiAh
d2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkubWF0Y2goL2J1Z3NcLndlYmtpdFwub3JnXC9QcmV0
dHlQYXRjaC8pKQogICAgIHJldHVybjsKKwogICB2YXIgYXR0YWNobWVudF9pZCA9IGRldGVybWlu
ZUF0dGFjaG1lbnRJRCgpOwogICBpZiAoIWF0dGFjaG1lbnRfaWQpCi0gICAgcmV0dXJuOworICAg
IGNvbnNvbGUubG9nKCdObyBhdHRhY2htZW50IElEJyk7CiAKICAgdmFyIG5leHRfbGluZV9pZCA9
IDA7CiAgIHZhciBmaWxlcyA9IHt9OwpAQCAtODQsMTAgKzg3LDYgQEAKICAgICB0aGlzLmlkID0g
bmV4dExpbmVJRCgpOwogICB9CiAKLSAgZnVuY3Rpb24gY29udGFpbmVyaWZ5KCkgewotICAgICQo
dGhpcykuYWRkQ2xhc3MoJ0xpbmVDb250YWluZXInKTsKLSAgfQotCiAgIGZ1bmN0aW9uIGhvdmVy
aWZ5KCkgewogICAgICQodGhpcykuaG92ZXIoZnVuY3Rpb24oKSB7CiAgICAgICAkKHRoaXMpLmFk
ZENsYXNzKCdob3QnKTsKQEAgLTMxNCw3ICszMTMsNyBAQAogICB9CiAKICAgZnVuY3Rpb24gY3Jh
d2xEaWZmKCkgewotICAgICQoJy5MaW5lJykuZWFjaChpZGlmeSkuZWFjaChob3ZlcmlmeSkuZWFj
aChjb250YWluZXJpZnkpOworICAgICQoJy5MaW5lJykuZWFjaChpZGlmeSkuZWFjaChob3Zlcmlm
eSk7CiAgICAgJCgnLkZpbGVEaWZmJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgIHZhciBmaWxl
X25hbWUgPSAkKHRoaXMpLmNoaWxkcmVuKCdoMScpLnRleHQoKTsKICAgICAgIGZpbGVzW2ZpbGVf
bmFtZV0gPSB0aGlzOwpAQCAtMzM4LDggKzMzNyw2IEBACiAgICAgaWYgKCFmaXJzdF9saW5lKQog
ICAgICAgcmV0dXJuOwogCi0gICAgJCgnLmNvbnRleHQnLCBmaWxlX2RpZmYpLmRldGFjaCgpOwot
CiAgICAgdmFyIGV4cGFuZF9iYXJfaW5kZXggPSAwOwogICAgIGlmICghJChmaXJzdF9saW5lKS5o
YXNDbGFzcygnYWRkJykgJiYgISQoZmlyc3RfbGluZSkuaGFzQ2xhc3MoJ3JlbW92ZScpKQogICAg
ICAgJCgnaDEnLCBmaWxlX2RpZmYpLmFmdGVyKGV4cGFuZEJhckh0bWwoZmlsZV9uYW1lLCBCRUxP
VykpCkBAIC0xMDg2LDcgKzEwODMsNyBAQAogICB9CiAKICAgJCgnLmxpbmVOdW1iZXInKS5saXZl
KCdjbGljaycsIGZ1bmN0aW9uKCkgewotICAgIHZhciBsaW5lID0gJCh0aGlzKS5wYXJlbnQoKTsK
KyAgICB2YXIgbGluZSA9ICQodGhpcykucGFyZW50cygnLkxpbmUnKTsKICAgICBpZiAobGluZS5o
YXNDbGFzcygnY29tbWVudENvbnRleHQnKSkKICAgICAgIHRyaW1Db21tZW50Q29udGV4dFRvQmVm
b3JlKHByZXZpb3VzTGluZUZvcihsaW5lKSk7CiAgIH0pLmxpdmUoJ21vdXNlZG93bicsIGZ1bmN0
aW9uKCkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78864</attachid>
            <date>2011-01-13 15:26:39 -0800</date>
            <delta_ts>2011-01-13 15:41:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52400-20110113152638.patch</filename>
            <type>text/plain</type>
            <size>9202</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRl
cy9idWdzLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDMzZWQ3ZGJlNGU5MGU0MzVjODA3MzVk
MWY3ZDdmMjBlMjg1YjQ0YzguLjBhMWQzNjhjM2M1Yjg2YWEyYThkNzljNTZjZDY1MmVlNjFkY2Rm
NTIgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFuZ2VMb2cKKysrIGIv
V2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEx
LTAxLTEzICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgYWRkIGNvbnRhaW5lciBkaXZzIGZvciBk
aWZmIGJsb2NrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTI0MDAKKworICAgICAgICBUaGlzIHdpbGwgaGVscCBzaW1wbGlmeSBhIGxvdCBvZiBjb2Rl
IGluIGNvZGUtcmV2aWV3LmpzCisgICAgICAgIGFuZCBtYWtlIHNpZGUtYnktc2lkZSBkaWZmcyBi
ZXR0ZXIgKGkuZS4gcHV0IHJlbW92ZWQgbGluZXMKKyAgICAgICAgdG8gdGhlIGxlZnQgb2YgY29y
cmVzcG9uZGluZyBhZGRlZCBsaW5lcykuCisKKyAgICAgICAgQWxzbywgYWxsb3cgZm9yIHJ1bm5p
bmcgdGhlIEpTIGZyb20gYSBsb2NhbCBmaWxlLiBOb3cgeW91IGNhbiBtb2RpZnkgY29kZS1yZXZp
ZXcuanMKKyAgICAgICAgdG8gcG9pbnQgdG8gYSBsb2NhbCBmaWxlIGFuZCB0aGVuIHJ1bjoKKyAg
ICAgICAgcnVieSBwcmV0dGlmeS5yYiA8IGZvby5kaWZmID4gZm9vLmh0bWwKKworICAgICAgICBm
b28uaHRtbCB3aWxsIGxvYWQgYSBkdW1teSBjb2RlIHJldmlldyBtYXRjaGluZyBmb28uZGlmZi4K
KworICAgICAgICBCZWZvcmUgc3RydWN0dXJlOgorICAgICAgICBMaW5lCisgICAgICAgIExpbmUg
cmVtb3ZlCisgICAgICAgIExpbmUgYWRkCisgICAgICAgIExpbmUgYWRkCisgICAgICAgIExpbmUK
KworICAgICAgICBBZnRlciBzdHJ1Y3R1cmU6CisgICAgICAgIERpZmZCbG9jaworICAgICAgICAg
IERpZmZCbG9ja1BhcnQgc2hhcmVkCisgICAgICAgICAgICBMaW5lIHNoYXJlZAorICAgICAgICBE
aWZmQmxvY2sKKyAgICAgICAgICBEaWZmQmxvY2tQYXJ0IHJlbW92ZQorICAgICAgICAgICAgTGlu
ZSByZW1vdmUKKyAgICAgICAgICBEaWZmQmxvY2tQYXJ0IGFkZAorICAgICAgICAgICAgTGluZSBh
ZGQKKyAgICAgICAgICAgIExpbmUgYWRkCisgICAgICAgIERpZmZCbG9jaworICAgICAgICAgIERp
ZmZCbG9ja1BhcnQgc2hhcmVkCisgICAgICAgICAgICBMaW5lIHNoYXJlZAorCisgICAgICAgICog
UHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmI6CisgICAgICAgICogY29kZS1yZXZpZXcuanM6CisK
IDIwMTEtMDEtMTIgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBNaWhhaSBQYXJwYXJpdGEuCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIgYi9XZWJzaXRlcy9idWdzLndlYmtp
dC5vcmcvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKaW5kZXggYzczZWI5NzYyNjkxODMwMWVj
MjczMDdhOGY4OTM3MGZhNDQ5NGJjOS4uMjM4ZWI4YjZjYmM1YjJlMGFkZThmOTE5Nzg4NjI3Njhi
ZWVjYmEzOSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL1ByZXR0eVBhdGNo
L1ByZXR0eVBhdGNoLnJiCisrKyBiL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9QcmV0dHlQYXRj
aC9QcmV0dHlQYXRjaC5yYgpAQCAtMzk1LDcgKzM5NSwxMCBAQCBib2R5IHsKIH0KIDwvc3R5bGU+
CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVl
cnkvMS40LjIvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+IAotPHNjcmlwdCBzcmM9ImNvZGUtcmV2
aWV3LmpzP3ZlcnNpb249MjEiPjwvc2NyaXB0PgorPCEtLQorPHNjcmlwdCBzcmM9ImNvZGUtcmV2
aWV3LmpzP3ZlcnNpb249MjIiPjwvc2NyaXB0PgorLS0+Cis8c2NyaXB0IHNyYz0iZmlsZTovLy9X
ZWJLaXQvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzIj48L3NjcmlwdD4K
IEVPRgogCiAgICAgZGVmIHNlbGYucmV2aXNpb25PckRlc2NyaXB0aW9uKHN0cmluZykKQEAgLTU2
OCw2ICs1NzEsMzggQEAgRU5ECiAgICAgICAgIGVuZAogICAgIGVuZAogCisgICAgY2xhc3MgRGlm
ZkJsb2NrCisgICAgICAgIGF0dHJfYWNjZXNzb3IgOnBhcnRzCisKKyAgICAgICAgZGVmIGluaXRp
YWxpemUoY29udGFpbmVyKQorICAgICAgICAgICAgQHBhcnRzID0gW10KKyAgICAgICAgICAgIGNv
bnRhaW5lciA8PCBzZWxmCisgICAgICAgIGVuZAorCisgICAgICAgIGRlZiB0b19odG1sCisgICAg
ICAgICAgICBzdHIgPSAiPGRpdiBjbGFzcz0nRGlmZkJsb2NrJz5cbiIKKyAgICAgICAgICAgIHN0
ciArPSBAcGFydHMuY29sbGVjdHsgfHBhcnR8IHBhcnQudG9faHRtbCB9LmpvaW4KKyAgICAgICAg
ICAgIHN0ciArPSAiPC9kaXY+XG4iCisgICAgICAgIGVuZAorICAgIGVuZAorCisgICAgY2xhc3Mg
RGlmZkJsb2NrUGFydAorICAgICAgICBhdHRyX3JlYWRlciA6Y2xhc3NOYW1lCisgICAgICAgIGF0
dHIgOmxpbmVzCisKKyAgICAgICAgZGVmIGluaXRpYWxpemUoY2xhc3NOYW1lLCBjb250YWluZXIp
CisgICAgICAgICAgICBAY2xhc3NOYW1lID0gY2xhc3NOYW1lCisgICAgICAgICAgICBAbGluZXMg
PSBbXQorICAgICAgICAgICAgY29udGFpbmVyLnBhcnRzIDw8IHNlbGYKKyAgICAgICAgZW5kCisK
KyAgICAgICAgZGVmIHRvX2h0bWwKKyAgICAgICAgICAgIHN0ciA9ICI8ZGl2IGNsYXNzPSdEaWZm
QmxvY2tQYXJ0ICVzJz5cbiIgJSBAY2xhc3NOYW1lCisgICAgICAgICAgICBzdHIgKz0gQGxpbmVz
LmNvbGxlY3R7IHxsaW5lfCBsaW5lLnRvX2h0bWwgfS5qb2luCisgICAgICAgICAgICBzdHIgKz0g
IjwvZGl2PlxuIgorICAgICAgICBlbmQKKyAgICBlbmQKKwogICAgIGNsYXNzIERpZmZTZWN0aW9u
CiAgICAgICAgIGRlZiBpbml0aWFsaXplKGxpbmVzKQogICAgICAgICAgICAgbGluZXMubGVuZ3Ro
ID49IDEgb3IgcmFpc2UgIkRpZmZTZWN0aW9uLnBhcnNlIG9ubHkgcmVjZWl2ZWQgJWQgbGluZXMi
ICUgbGluZXMubGVuZ3RoCkBAIC01NzUsMzYgKzYxMCw1OCBAQCBFTkQKICAgICAgICAgICAgIG1h
dGNoZXMgPSBTVEFSVF9PRl9TRUNUSU9OX0ZPUk1BVC5tYXRjaChsaW5lc1swXSkKICAgICAgICAg
ICAgIGZyb20sIHRvID0gW21hdGNoZXNbMV0udG9faSwgbWF0Y2hlc1syXS50b19pXSB1bmxlc3Mg
bWF0Y2hlcy5uaWw/CiAKLSAgICAgICAgICAgIEBsaW5lcyA9IGxpbmVzWzEuLi5saW5lcy5sZW5n
dGhdLmNvbGxlY3QgZG8gfGxpbmV8CisgICAgICAgICAgICBAYmxvY2tzID0gW10KKyAgICAgICAg
ICAgIGRpZmZfYmxvY2tfcGFydCA9IG5pbAorCisgICAgICAgICAgICBmb3IgaW5kZXggaW4gMS4u
LmxpbmVzLmxlbmd0aAorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lc1tpbmRleF0KICAgICAg
ICAgICAgICAgICBzdGFydE9mTGluZSA9IGxpbmUgPX4gL15bLVwrIF0vID8gMSA6IDAKICAgICAg
ICAgICAgICAgICB0ZXh0ID0gbGluZVtzdGFydE9mTGluZS4uLmxpbmUubGVuZ3RoXS5jaG9tcAog
ICAgICAgICAgICAgICAgIGNhc2UgbGluZVswXQogICAgICAgICAgICAgICAgIHdoZW4gPy0KLSAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gQ29kZUxpbmUubmV3KGZyb20sIG5pbCwgdGV4dCkK
KyAgICAgICAgICAgICAgICAgICAgaWYgKCFkaWZmX2Jsb2NrX3BhcnQgb3IgKGRpZmZfYmxvY2tf
cGFydC5jbGFzc05hbWUgIT0gJ3JlbW92ZScgYW5kIGRpZmZfYmxvY2tfcGFydC5saW5lcy5sZW5n
dGggIT0gMCkpCisgICAgICAgICAgICAgICAgICAgICAgICBkaWZmX2Jsb2NrID0gRGlmZkJsb2Nr
Lm5ldyhAYmxvY2tzKQorICAgICAgICAgICAgICAgICAgICAgICAgZGlmZl9ibG9ja19wYXJ0ID0g
RGlmZkJsb2NrUGFydC5uZXcoJ3JlbW92ZScsIGRpZmZfYmxvY2spCisgICAgICAgICAgICAgICAg
ICAgIGVuZAorCisgICAgICAgICAgICAgICAgICAgIGRpZmZfYmxvY2tfcGFydC5saW5lcyA8PCBD
b2RlTGluZS5uZXcoZnJvbSwgbmlsLCB0ZXh0KQogICAgICAgICAgICAgICAgICAgICBmcm9tICs9
IDEgdW5sZXNzIGZyb20ubmlsPwotICAgICAgICAgICAgICAgICAgICByZXN1bHQKICAgICAgICAg
ICAgICAgICB3aGVuID8rCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IENvZGVMaW5lLm5l
dyhuaWwsIHRvLCB0ZXh0KQorICAgICAgICAgICAgICAgICAgICBpZiAoIWRpZmZfYmxvY2tfcGFy
dCBvciAoZGlmZl9ibG9ja19wYXJ0LmNsYXNzTmFtZSAhPSAnYWRkJyBhbmQgZGlmZl9ibG9ja19w
YXJ0LmxpbmVzLmxlbmd0aCAhPSAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgUHV0IGFk
ZCBsaW5lcyB0aGF0IGltbWVkaWF0ZWx5IGZvbGxvdyByZW1vdmUgbGluZXMgaW50byB0aGUgc2Ft
ZSBEaWZmQmxvY2suCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRpZmZfYmxvY2sgb3Ig
ZGlmZl9ibG9ja19wYXJ0LmNsYXNzTmFtZSAhPSAncmVtb3ZlJykKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkaWZmX2Jsb2NrID0gRGlmZkJsb2NrLm5ldyhAYmxvY2tzKQorICAgICAgICAg
ICAgICAgICAgICAgICAgZW5kCisKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpZmZfYmxvY2tf
cGFydCA9IERpZmZCbG9ja1BhcnQubmV3KCdhZGQnLCBkaWZmX2Jsb2NrKQorICAgICAgICAgICAg
ICAgICAgICBlbmQKKworICAgICAgICAgICAgICAgICAgICBkaWZmX2Jsb2NrX3BhcnQubGluZXMg
PDwgQ29kZUxpbmUubmV3KG5pbCwgdG8sIHRleHQpCiAgICAgICAgICAgICAgICAgICAgIHRvICs9
IDEgdW5sZXNzIHRvLm5pbD8KLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0CiAgICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBDb2RlTGluZS5uZXcoZnJv
bSwgdG8sIHRleHQpCisgICAgICAgICAgICAgICAgICAgIGlmICghZGlmZl9ibG9ja19wYXJ0IG9y
IChkaWZmX2Jsb2NrX3BhcnQuY2xhc3NOYW1lICE9ICdzaGFyZWQnIGFuZCBkaWZmX2Jsb2NrX3Bh
cnQubGluZXMubGVuZ3RoICE9IDApKQorICAgICAgICAgICAgICAgICAgICAgICAgZGlmZl9ibG9j
ayA9IERpZmZCbG9jay5uZXcoQGJsb2NrcykKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpZmZf
YmxvY2tfcGFydCA9IERpZmZCbG9ja1BhcnQubmV3KCdzaGFyZWQnLCBkaWZmX2Jsb2NrKQorICAg
ICAgICAgICAgICAgICAgICBlbmQKKworICAgICAgICAgICAgICAgICAgICBkaWZmX2Jsb2NrX3Bh
cnQubGluZXMgPDwgQ29kZUxpbmUubmV3KGZyb20sIHRvLCB0ZXh0KQogICAgICAgICAgICAgICAg
ICAgICBmcm9tICs9IDEgdW5sZXNzIGZyb20ubmlsPwogICAgICAgICAgICAgICAgICAgICB0byAr
PSAxIHVubGVzcyB0by5uaWw/Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdAogICAgICAgICAg
ICAgICAgIGVuZAogICAgICAgICAgICAgZW5kCiAKLSAgICAgICAgICAgIEBsaW5lcy51bnNoaWZ0
KENvbnRleHRMaW5lLm5ldyhtYXRjaGVzWzNdKSkgdW5sZXNzIG1hdGNoZXMubmlsPyB8fCBtYXRj
aGVzWzNdLmVtcHR5PwotCiAgICAgICAgICAgICBjaGFuZ2VzID0gWyBbIFtdLCBbXSBdIF0KLSAg
ICAgICAgICAgIGZvciBsaW5lIGluIEBsaW5lcwotICAgICAgICAgICAgICAgIGlmICghbGluZS5m
cm9tTGluZU51bWJlci5uaWw/IGFuZCAhbGluZS50b0xpbmVOdW1iZXIubmlsPykgdGhlbgotICAg
ICAgICAgICAgICAgICAgICBjaGFuZ2VzIDw8IFsgW10sIFtdIF0KLSAgICAgICAgICAgICAgICAg
ICAgbmV4dAorICAgICAgICAgICAgZm9yIGJsb2NrIGluIEBibG9ja3MKKyAgICAgICAgICAgICAg
ICBmb3IgYmxvY2tfcGFydCBpbiBibG9jay5wYXJ0cworICAgICAgICAgICAgICAgICAgICBmb3Ig
bGluZSBpbiBibG9ja19wYXJ0LmxpbmVzCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWxp
bmUuZnJvbUxpbmVOdW1iZXIubmlsPyBhbmQgIWxpbmUudG9MaW5lTnVtYmVyLm5pbD8pIHRoZW4K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzIDw8IFsgW10sIFtdIF0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBuZXh0CisgICAgICAgICAgICAgICAgICAgICAgICBlbmQK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMubGFzdC5maXJzdCA8PCBsaW5lIGlmIGxp
bmUudG9MaW5lTnVtYmVyLm5pbD8KKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMubGFz
dC5sYXN0IDw8IGxpbmUgaWYgbGluZS5mcm9tTGluZU51bWJlci5uaWw/CisgICAgICAgICAgICAg
ICAgICAgIGVuZAogICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAgICAgIGNoYW5nZXMu
bGFzdC5maXJzdCA8PCBsaW5lIGlmIGxpbmUudG9MaW5lTnVtYmVyLm5pbD8KLSAgICAgICAgICAg
ICAgICBjaGFuZ2VzLmxhc3QubGFzdCA8PCBsaW5lIGlmIGxpbmUuZnJvbUxpbmVOdW1iZXIubmls
PwogICAgICAgICAgICAgZW5kCiAKICAgICAgICAgICAgIGZvciBjaGFuZ2UgaW4gY2hhbmdlcwpA
QCAtNjMwLDExICs2ODcsMTMgQEAgRU5ECiAgICAgICAgICAgICAgICAgICAgIGNoYW5nZS5sYXN0
W2ldLm9wZXJhdGlvbnMgPSBvcGVyYXRpb25zCiAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAg
ICAgICBlbmQKKworICAgICAgICAgICAgQGJsb2Nrcy51bnNoaWZ0KENvbnRleHRMaW5lLm5ldyht
YXRjaGVzWzNdKSkgdW5sZXNzIG1hdGNoZXMubmlsPyB8fCBtYXRjaGVzWzNdLmVtcHR5PwogICAg
ICAgICBlbmQKIAogICAgICAgICBkZWYgdG9faHRtbAogICAgICAgICAgICAgc3RyID0gIjxkaXYg
Y2xhc3M9J0RpZmZTZWN0aW9uJz5cbiIKLSAgICAgICAgICAgIHN0ciArPSBAbGluZXMuY29sbGVj
dHsgfGxpbmV8IGxpbmUudG9faHRtbCB9LmpvaW4KKyAgICAgICAgICAgIHN0ciArPSBAYmxvY2tz
LmNvbGxlY3R7IHxibG9ja3wgYmxvY2sudG9faHRtbCB9LmpvaW4KICAgICAgICAgICAgIHN0ciAr
PSAiPC9kaXY+XG4iCiAgICAgICAgIGVuZAogICAgICAgICAKQEAgLTY2Niw3ICs3MjUsNyBAQCBF
TkQKICAgICAgICAgZW5kCiAKICAgICAgICAgZGVmIGNsYXNzZXMKLSAgICAgICAgICAgIGxpbmVD
bGFzc2VzID0gWyJMaW5lIl0KKyAgICAgICAgICAgIGxpbmVDbGFzc2VzID0gWyJMaW5lIiwgIkxp
bmVDb250YWluZXIiXQogICAgICAgICAgICAgbGluZUNsYXNzZXMgPDwgWyJhZGQiXSB1bmxlc3Mg
QHRvTGluZU51bWJlci5uaWw/IG9yICFAZnJvbUxpbmVOdW1iZXIubmlsPwogICAgICAgICAgICAg
bGluZUNsYXNzZXMgPDwgWyJyZW1vdmUiXSB1bmxlc3MgQGZyb21MaW5lTnVtYmVyLm5pbD8gb3Ig
IUB0b0xpbmVOdW1iZXIubmlsPwogICAgICAgICAgICAgbGluZUNsYXNzZXMKQEAgLTcxNCw1ICs3
NzMsNSBAQCBFTkQKICAgICAgICAgZGVmIGNsYXNzZXMKICAgICAgICAgICAgIHN1cGVyIDw8ICJj
b250ZXh0IgogICAgICAgICBlbmQKLSAgICBlbmQKKyAgICBlbmQgICAgCiBlbmQKZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcyBiL1dlYnNpdGVzL2J1
Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcwppbmRleCA4MWVmNjRlODg1YTM2N2Q2MWI5Mjkx
ZWVlMTMxM2U5YjkyMDJkMDM2Li5mMmNmOGE5MDgxNjRiMmNlOWRmMzk2MWNlNDhhNzczZjU1OTE1
NGIxIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMK
KysrIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCkBAIC01MywxMSAr
NTMsMTQgQEAKICAgLy8gQXR0ZW1wdCB0byBhY3RpdmF0ZSBvbmx5IGluIHRoZSAiUmV2aWV3IFBh
dGNoIiBjb250ZXh0LgogICBpZiAod2luZG93LnRvcCAhPSB3aW5kb3cpCiAgICAgcmV0dXJuOwot
ICBpZiAoIXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2goL2FjdGlvbj1yZXZpZXcvKSkKKwor
ICBpZiAoIXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2goL2FjdGlvbj1yZXZpZXcvKQorICAg
ICAgJiYgIXdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpLm1hdGNoKC9idWdzXC53ZWJraXRcLm9y
Z1wvUHJldHR5UGF0Y2gvKSkKICAgICByZXR1cm47CisKICAgdmFyIGF0dGFjaG1lbnRfaWQgPSBk
ZXRlcm1pbmVBdHRhY2htZW50SUQoKTsKICAgaWYgKCFhdHRhY2htZW50X2lkKQotICAgIHJldHVy
bjsKKyAgICBjb25zb2xlLmxvZygnTm8gYXR0YWNobWVudCBJRCcpOwogCiAgIHZhciBuZXh0X2xp
bmVfaWQgPSAwOwogICB2YXIgZmlsZXMgPSB7fTsKQEAgLTg0LDEwICs4Nyw2IEBACiAgICAgdGhp
cy5pZCA9IG5leHRMaW5lSUQoKTsKICAgfQogCi0gIGZ1bmN0aW9uIGNvbnRhaW5lcmlmeSgpIHsK
LSAgICAkKHRoaXMpLmFkZENsYXNzKCdMaW5lQ29udGFpbmVyJyk7Ci0gIH0KLQogICBmdW5jdGlv
biBob3ZlcmlmeSgpIHsKICAgICAkKHRoaXMpLmhvdmVyKGZ1bmN0aW9uKCkgewogICAgICAgJCh0
aGlzKS5hZGRDbGFzcygnaG90Jyk7CkBAIC0zMTQsNyArMzEzLDcgQEAKICAgfQogCiAgIGZ1bmN0
aW9uIGNyYXdsRGlmZigpIHsKLSAgICAkKCcuTGluZScpLmVhY2goaWRpZnkpLmVhY2goaG92ZXJp
ZnkpLmVhY2goY29udGFpbmVyaWZ5KTsKKyAgICAkKCcuTGluZScpLmVhY2goaWRpZnkpLmVhY2go
aG92ZXJpZnkpOwogICAgICQoJy5GaWxlRGlmZicpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICB2
YXIgZmlsZV9uYW1lID0gJCh0aGlzKS5jaGlsZHJlbignaDEnKS50ZXh0KCk7CiAgICAgICBmaWxl
c1tmaWxlX25hbWVdID0gdGhpczsKQEAgLTEwODYsNyArMTA4NSw3IEBACiAgIH0KIAogICAkKCcu
bGluZU51bWJlcicpLmxpdmUoJ2NsaWNrJywgZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGxpbmUgPSAk
KHRoaXMpLnBhcmVudCgpOworICAgIHZhciBsaW5lID0gJCh0aGlzKS5wYXJlbnRzKCcuTGluZScp
OwogICAgIGlmIChsaW5lLmhhc0NsYXNzKCdjb21tZW50Q29udGV4dCcpKQogICAgICAgdHJpbUNv
bW1lbnRDb250ZXh0VG9CZWZvcmUocHJldmlvdXNMaW5lRm9yKGxpbmUpKTsKICAgfSkubGl2ZSgn
bW91c2Vkb3duJywgZnVuY3Rpb24oKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78867</attachid>
            <date>2011-01-13 15:41:25 -0800</date>
            <delta_ts>2011-01-13 15:48:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52400-20110113154124.patch</filename>
            <type>text/plain</type>
            <size>9258</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRl
cy9idWdzLndlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDMzZWQ3ZGJlNGU5MGU0MzVjODA3MzVk
MWY3ZDdmMjBlMjg1YjQ0YzguLjBhMWQzNjhjM2M1Yjg2YWEyYThkNzljNTZjZDY1MmVlNjFkY2Rm
NTIgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFuZ2VMb2cKKysrIGIv
V2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEx
LTAxLTEzICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgYWRkIGNvbnRhaW5lciBkaXZzIGZvciBk
aWZmIGJsb2NrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTI0MDAKKworICAgICAgICBUaGlzIHdpbGwgaGVscCBzaW1wbGlmeSBhIGxvdCBvZiBjb2Rl
IGluIGNvZGUtcmV2aWV3LmpzCisgICAgICAgIGFuZCBtYWtlIHNpZGUtYnktc2lkZSBkaWZmcyBi
ZXR0ZXIgKGkuZS4gcHV0IHJlbW92ZWQgbGluZXMKKyAgICAgICAgdG8gdGhlIGxlZnQgb2YgY29y
cmVzcG9uZGluZyBhZGRlZCBsaW5lcykuCisKKyAgICAgICAgQWxzbywgYWxsb3cgZm9yIHJ1bm5p
bmcgdGhlIEpTIGZyb20gYSBsb2NhbCBmaWxlLiBOb3cgeW91IGNhbiBtb2RpZnkgY29kZS1yZXZp
ZXcuanMKKyAgICAgICAgdG8gcG9pbnQgdG8gYSBsb2NhbCBmaWxlIGFuZCB0aGVuIHJ1bjoKKyAg
ICAgICAgcnVieSBwcmV0dGlmeS5yYiA8IGZvby5kaWZmID4gZm9vLmh0bWwKKworICAgICAgICBm
b28uaHRtbCB3aWxsIGxvYWQgYSBkdW1teSBjb2RlIHJldmlldyBtYXRjaGluZyBmb28uZGlmZi4K
KworICAgICAgICBCZWZvcmUgc3RydWN0dXJlOgorICAgICAgICBMaW5lCisgICAgICAgIExpbmUg
cmVtb3ZlCisgICAgICAgIExpbmUgYWRkCisgICAgICAgIExpbmUgYWRkCisgICAgICAgIExpbmUK
KworICAgICAgICBBZnRlciBzdHJ1Y3R1cmU6CisgICAgICAgIERpZmZCbG9jaworICAgICAgICAg
IERpZmZCbG9ja1BhcnQgc2hhcmVkCisgICAgICAgICAgICBMaW5lIHNoYXJlZAorICAgICAgICBE
aWZmQmxvY2sKKyAgICAgICAgICBEaWZmQmxvY2tQYXJ0IHJlbW92ZQorICAgICAgICAgICAgTGlu
ZSByZW1vdmUKKyAgICAgICAgICBEaWZmQmxvY2tQYXJ0IGFkZAorICAgICAgICAgICAgTGluZSBh
ZGQKKyAgICAgICAgICAgIExpbmUgYWRkCisgICAgICAgIERpZmZCbG9jaworICAgICAgICAgIERp
ZmZCbG9ja1BhcnQgc2hhcmVkCisgICAgICAgICAgICBMaW5lIHNoYXJlZAorCisgICAgICAgICog
UHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmI6CisgICAgICAgICogY29kZS1yZXZpZXcuanM6CisK
IDIwMTEtMDEtMTIgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBNaWhhaSBQYXJwYXJpdGEuCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIgYi9XZWJzaXRlcy9idWdzLndlYmtp
dC5vcmcvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKaW5kZXggYzczZWI5NzYyNjkxODMwMWVj
MjczMDdhOGY4OTM3MGZhNDQ5NGJjOS4uODgwYjhhNzJiZmEyMDUzODNjMzQ2MjUxN2VmNGJkNzVj
NWIwYzBlNiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL1ByZXR0eVBhdGNo
L1ByZXR0eVBhdGNoLnJiCisrKyBiL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9QcmV0dHlQYXRj
aC9QcmV0dHlQYXRjaC5yYgpAQCAtMjA0LDIwICsyMDQsMjAgQEAgaDEgOmhvdmVyIHsKICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiAjZmVmOwogfQogCi0uYWRkIHsKKy5MaW5lLmFkZCB7CiAgICAgYmFj
a2dyb3VuZC1jb2xvcjogI2RmZDsKIH0KIAotLmFkZCBpbnMgeworLkxpbmUuYWRkIGlucyB7CiAg
ICAgYmFja2dyb3VuZC1jb2xvcjogIzllOTsKICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiB9
CiAKLS5yZW1vdmUgeworLkxpbmUucmVtb3ZlIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRk
OwogfQogCi0ucmVtb3ZlIGRlbCB7CisuTGluZS5yZW1vdmUgZGVsIHsKICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiAjZTk5OwogICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKIH0KQEAgLTM5NSw3ICsz
OTUsNyBAQCBib2R5IHsKIH0KIDwvc3R5bGU+CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdv
b2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS40LjIvanF1ZXJ5Lm1pbi5qcyI+PC9zY3Jp
cHQ+IAotPHNjcmlwdCBzcmM9ImNvZGUtcmV2aWV3LmpzP3ZlcnNpb249MjEiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9ImNvZGUtcmV2aWV3LmpzP3ZlcnNpb249MjIiPjwvc2NyaXB0PgogRU9GCiAK
ICAgICBkZWYgc2VsZi5yZXZpc2lvbk9yRGVzY3JpcHRpb24oc3RyaW5nKQpAQCAtNTY4LDYgKzU2
OCwzOCBAQCBFTkQKICAgICAgICAgZW5kCiAgICAgZW5kCiAKKyAgICBjbGFzcyBEaWZmQmxvY2sK
KyAgICAgICAgYXR0cl9hY2Nlc3NvciA6cGFydHMKKworICAgICAgICBkZWYgaW5pdGlhbGl6ZShj
b250YWluZXIpCisgICAgICAgICAgICBAcGFydHMgPSBbXQorICAgICAgICAgICAgY29udGFpbmVy
IDw8IHNlbGYKKyAgICAgICAgZW5kCisKKyAgICAgICAgZGVmIHRvX2h0bWwKKyAgICAgICAgICAg
IHN0ciA9ICI8ZGl2IGNsYXNzPSdEaWZmQmxvY2snPlxuIgorICAgICAgICAgICAgc3RyICs9IEBw
YXJ0cy5jb2xsZWN0eyB8cGFydHwgcGFydC50b19odG1sIH0uam9pbgorICAgICAgICAgICAgc3Ry
ICs9ICI8L2Rpdj5cbiIKKyAgICAgICAgZW5kCisgICAgZW5kCisKKyAgICBjbGFzcyBEaWZmQmxv
Y2tQYXJ0CisgICAgICAgIGF0dHJfcmVhZGVyIDpjbGFzc05hbWUKKyAgICAgICAgYXR0ciA6bGlu
ZXMKKworICAgICAgICBkZWYgaW5pdGlhbGl6ZShjbGFzc05hbWUsIGNvbnRhaW5lcikKKyAgICAg
ICAgICAgIEBjbGFzc05hbWUgPSBjbGFzc05hbWUKKyAgICAgICAgICAgIEBsaW5lcyA9IFtdCisg
ICAgICAgICAgICBjb250YWluZXIucGFydHMgPDwgc2VsZgorICAgICAgICBlbmQKKworICAgICAg
ICBkZWYgdG9faHRtbAorICAgICAgICAgICAgc3RyID0gIjxkaXYgY2xhc3M9J0RpZmZCbG9ja1Bh
cnQgJXMnPlxuIiAlIEBjbGFzc05hbWUKKyAgICAgICAgICAgIHN0ciArPSBAbGluZXMuY29sbGVj
dHsgfGxpbmV8IGxpbmUudG9faHRtbCB9LmpvaW4KKyAgICAgICAgICAgIHN0ciArPSAiPC9kaXY+
XG4iCisgICAgICAgIGVuZAorICAgIGVuZAorCiAgICAgY2xhc3MgRGlmZlNlY3Rpb24KICAgICAg
ICAgZGVmIGluaXRpYWxpemUobGluZXMpCiAgICAgICAgICAgICBsaW5lcy5sZW5ndGggPj0gMSBv
ciByYWlzZSAiRGlmZlNlY3Rpb24ucGFyc2Ugb25seSByZWNlaXZlZCAlZCBsaW5lcyIgJSBsaW5l
cy5sZW5ndGgKQEAgLTU3NSwzNiArNjA3LDU4IEBAIEVORAogICAgICAgICAgICAgbWF0Y2hlcyA9
IFNUQVJUX09GX1NFQ1RJT05fRk9STUFULm1hdGNoKGxpbmVzWzBdKQogICAgICAgICAgICAgZnJv
bSwgdG8gPSBbbWF0Y2hlc1sxXS50b19pLCBtYXRjaGVzWzJdLnRvX2ldIHVubGVzcyBtYXRjaGVz
Lm5pbD8KIAotICAgICAgICAgICAgQGxpbmVzID0gbGluZXNbMS4uLmxpbmVzLmxlbmd0aF0uY29s
bGVjdCBkbyB8bGluZXwKKyAgICAgICAgICAgIEBibG9ja3MgPSBbXQorICAgICAgICAgICAgZGlm
Zl9ibG9jayA9IG5pbAorICAgICAgICAgICAgZGlmZl9ibG9ja19wYXJ0ID0gbmlsCisKKyAgICAg
ICAgICAgIGZvciBsaW5lIGluIGxpbmVzWzEuLi5saW5lcy5sZW5ndGhdCiAgICAgICAgICAgICAg
ICAgc3RhcnRPZkxpbmUgPSBsaW5lID1+IC9eWy1cKyBdLyA/IDEgOiAwCiAgICAgICAgICAgICAg
ICAgdGV4dCA9IGxpbmVbc3RhcnRPZkxpbmUuLi5saW5lLmxlbmd0aF0uY2hvbXAKICAgICAgICAg
ICAgICAgICBjYXNlIGxpbmVbMF0KICAgICAgICAgICAgICAgICB3aGVuID8tCi0gICAgICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IENvZGVMaW5lLm5ldyhmcm9tLCBuaWwsIHRleHQpCisgICAgICAg
ICAgICAgICAgICAgIGlmIChkaWZmX2Jsb2NrX3BhcnQubmlsPyBvciBkaWZmX2Jsb2NrX3BhcnQu
Y2xhc3NOYW1lICE9ICdyZW1vdmUnKQorICAgICAgICAgICAgICAgICAgICAgICAgZGlmZl9ibG9j
ayA9IERpZmZCbG9jay5uZXcoQGJsb2NrcykKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpZmZf
YmxvY2tfcGFydCA9IERpZmZCbG9ja1BhcnQubmV3KCdyZW1vdmUnLCBkaWZmX2Jsb2NrKQorICAg
ICAgICAgICAgICAgICAgICBlbmQKKworICAgICAgICAgICAgICAgICAgICBkaWZmX2Jsb2NrX3Bh
cnQubGluZXMgPDwgQ29kZUxpbmUubmV3KGZyb20sIG5pbCwgdGV4dCkKICAgICAgICAgICAgICAg
ICAgICAgZnJvbSArPSAxIHVubGVzcyBmcm9tLm5pbD8KLSAgICAgICAgICAgICAgICAgICAgcmVz
dWx0CiAgICAgICAgICAgICAgICAgd2hlbiA/KwotICAgICAgICAgICAgICAgICAgICByZXN1bHQg
PSBDb2RlTGluZS5uZXcobmlsLCB0bywgdGV4dCkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGRp
ZmZfYmxvY2tfcGFydC5uaWw/IG9yIGRpZmZfYmxvY2tfcGFydC5jbGFzc05hbWUgIT0gJ2FkZCcp
CisgICAgICAgICAgICAgICAgICAgICAgICAjIFB1dCBhZGQgbGluZXMgdGhhdCBpbW1lZGlhdGVs
eSBmb2xsb3cgcmVtb3ZlIGxpbmVzIGludG8gdGhlIHNhbWUgRGlmZkJsb2NrLgorICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGRpZmZfYmxvY2submlsPyBvciBkaWZmX2Jsb2NrX3BhcnQuY2xh
c3NOYW1lICE9ICdyZW1vdmUnKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZmZfYmxv
Y2sgPSBEaWZmQmxvY2submV3KEBibG9ja3MpCisgICAgICAgICAgICAgICAgICAgICAgICBlbmQK
KworICAgICAgICAgICAgICAgICAgICAgICAgZGlmZl9ibG9ja19wYXJ0ID0gRGlmZkJsb2NrUGFy
dC5uZXcoJ2FkZCcsIGRpZmZfYmxvY2spCisgICAgICAgICAgICAgICAgICAgIGVuZAorCisgICAg
ICAgICAgICAgICAgICAgIGRpZmZfYmxvY2tfcGFydC5saW5lcyA8PCBDb2RlTGluZS5uZXcobmls
LCB0bywgdGV4dCkKICAgICAgICAgICAgICAgICAgICAgdG8gKz0gMSB1bmxlc3MgdG8ubmlsPwot
ICAgICAgICAgICAgICAgICAgICByZXN1bHQKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IENvZGVMaW5lLm5ldyhmcm9tLCB0bywgdGV4dCkKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKGRpZmZfYmxvY2tfcGFydC5uaWw/IG9yIGRpZmZfYmxvY2tfcGFy
dC5jbGFzc05hbWUgIT0gJ3NoYXJlZCcpCisgICAgICAgICAgICAgICAgICAgICAgICBkaWZmX2Js
b2NrID0gRGlmZkJsb2NrLm5ldyhAYmxvY2tzKQorICAgICAgICAgICAgICAgICAgICAgICAgZGlm
Zl9ibG9ja19wYXJ0ID0gRGlmZkJsb2NrUGFydC5uZXcoJ3NoYXJlZCcsIGRpZmZfYmxvY2spCisg
ICAgICAgICAgICAgICAgICAgIGVuZAorCisgICAgICAgICAgICAgICAgICAgIGRpZmZfYmxvY2tf
cGFydC5saW5lcyA8PCBDb2RlTGluZS5uZXcoZnJvbSwgdG8sIHRleHQpCiAgICAgICAgICAgICAg
ICAgICAgIGZyb20gKz0gMSB1bmxlc3MgZnJvbS5uaWw/CiAgICAgICAgICAgICAgICAgICAgIHRv
ICs9IDEgdW5sZXNzIHRvLm5pbD8KLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0CiAgICAgICAg
ICAgICAgICAgZW5kCiAgICAgICAgICAgICBlbmQKIAotICAgICAgICAgICAgQGxpbmVzLnVuc2hp
ZnQoQ29udGV4dExpbmUubmV3KG1hdGNoZXNbM10pKSB1bmxlc3MgbWF0Y2hlcy5uaWw/IHx8IG1h
dGNoZXNbM10uZW1wdHk/Ci0KICAgICAgICAgICAgIGNoYW5nZXMgPSBbIFsgW10sIFtdIF0gXQot
ICAgICAgICAgICAgZm9yIGxpbmUgaW4gQGxpbmVzCi0gICAgICAgICAgICAgICAgaWYgKCFsaW5l
LmZyb21MaW5lTnVtYmVyLm5pbD8gYW5kICFsaW5lLnRvTGluZU51bWJlci5uaWw/KSB0aGVuCi0g
ICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgPDwgWyBbXSwgW10gXQotICAgICAgICAgICAgICAg
ICAgICBuZXh0CisgICAgICAgICAgICBmb3IgYmxvY2sgaW4gQGJsb2NrcworICAgICAgICAgICAg
ICAgIGZvciBibG9ja19wYXJ0IGluIGJsb2NrLnBhcnRzCisgICAgICAgICAgICAgICAgICAgIGZv
ciBsaW5lIGluIGJsb2NrX3BhcnQubGluZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgh
bGluZS5mcm9tTGluZU51bWJlci5uaWw/IGFuZCAhbGluZS50b0xpbmVOdW1iZXIubmlsPykgdGhl
bgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgPDwgWyBbXSwgW10gXQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQKKyAgICAgICAgICAgICAgICAgICAgICAgIGVu
ZAorICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlcy5sYXN0LmZpcnN0IDw8IGxpbmUgaWYg
bGluZS50b0xpbmVOdW1iZXIubmlsPworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlcy5s
YXN0Lmxhc3QgPDwgbGluZSBpZiBsaW5lLmZyb21MaW5lTnVtYmVyLm5pbD8KKyAgICAgICAgICAg
ICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAgICAgY2hhbmdl
cy5sYXN0LmZpcnN0IDw8IGxpbmUgaWYgbGluZS50b0xpbmVOdW1iZXIubmlsPwotICAgICAgICAg
ICAgICAgIGNoYW5nZXMubGFzdC5sYXN0IDw8IGxpbmUgaWYgbGluZS5mcm9tTGluZU51bWJlci5u
aWw/CiAgICAgICAgICAgICBlbmQKIAogICAgICAgICAgICAgZm9yIGNoYW5nZSBpbiBjaGFuZ2Vz
CkBAIC02MzAsMTEgKzY4NCwxMyBAQCBFTkQKICAgICAgICAgICAgICAgICAgICAgY2hhbmdlLmxh
c3RbaV0ub3BlcmF0aW9ucyA9IG9wZXJhdGlvbnMKICAgICAgICAgICAgICAgICBlbmQKICAgICAg
ICAgICAgIGVuZAorCisgICAgICAgICAgICBAYmxvY2tzLnVuc2hpZnQoQ29udGV4dExpbmUubmV3
KG1hdGNoZXNbM10pKSB1bmxlc3MgbWF0Y2hlcy5uaWw/IHx8IG1hdGNoZXNbM10uZW1wdHk/CiAg
ICAgICAgIGVuZAogCiAgICAgICAgIGRlZiB0b19odG1sCiAgICAgICAgICAgICBzdHIgPSAiPGRp
diBjbGFzcz0nRGlmZlNlY3Rpb24nPlxuIgotICAgICAgICAgICAgc3RyICs9IEBsaW5lcy5jb2xs
ZWN0eyB8bGluZXwgbGluZS50b19odG1sIH0uam9pbgorICAgICAgICAgICAgc3RyICs9IEBibG9j
a3MuY29sbGVjdHsgfGJsb2NrfCBibG9jay50b19odG1sIH0uam9pbgogICAgICAgICAgICAgc3Ry
ICs9ICI8L2Rpdj5cbiIKICAgICAgICAgZW5kCiAgICAgICAgIApAQCAtNjY2LDcgKzcyMiw3IEBA
IEVORAogICAgICAgICBlbmQKIAogICAgICAgICBkZWYgY2xhc3NlcwotICAgICAgICAgICAgbGlu
ZUNsYXNzZXMgPSBbIkxpbmUiXQorICAgICAgICAgICAgbGluZUNsYXNzZXMgPSBbIkxpbmUiLCAi
TGluZUNvbnRhaW5lciJdCiAgICAgICAgICAgICBsaW5lQ2xhc3NlcyA8PCBbImFkZCJdIHVubGVz
cyBAdG9MaW5lTnVtYmVyLm5pbD8gb3IgIUBmcm9tTGluZU51bWJlci5uaWw/CiAgICAgICAgICAg
ICBsaW5lQ2xhc3NlcyA8PCBbInJlbW92ZSJdIHVubGVzcyBAZnJvbUxpbmVOdW1iZXIubmlsPyBv
ciAhQHRvTGluZU51bWJlci5uaWw/CiAgICAgICAgICAgICBsaW5lQ2xhc3NlcwpkaWZmIC0tZ2l0
IGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzIGIvV2Vic2l0ZXMvYnVn
cy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCmluZGV4IDgxZWY2NGU4ODVhMzY3ZDYxYjkyOTFl
ZWUxMzEzZTliOTIwMmQwMzYuLmYyY2Y4YTkwODE2NGIyY2U5ZGYzOTYxY2U0OGE3NzNmNTU5MTU0
YjEgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcwor
KysgYi9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMKQEAgLTUzLDExICs1
MywxNCBAQAogICAvLyBBdHRlbXB0IHRvIGFjdGl2YXRlIG9ubHkgaW4gdGhlICJSZXZpZXcgUGF0
Y2giIGNvbnRleHQuCiAgIGlmICh3aW5kb3cudG9wICE9IHdpbmRvdykKICAgICByZXR1cm47Ci0g
IGlmICghd2luZG93LmxvY2F0aW9uLnNlYXJjaC5tYXRjaCgvYWN0aW9uPXJldmlldy8pKQorCisg
IGlmICghd2luZG93LmxvY2F0aW9uLnNlYXJjaC5tYXRjaCgvYWN0aW9uPXJldmlldy8pCisgICAg
ICAmJiAhd2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkubWF0Y2goL2J1Z3NcLndlYmtpdFwub3Jn
XC9QcmV0dHlQYXRjaC8pKQogICAgIHJldHVybjsKKwogICB2YXIgYXR0YWNobWVudF9pZCA9IGRl
dGVybWluZUF0dGFjaG1lbnRJRCgpOwogICBpZiAoIWF0dGFjaG1lbnRfaWQpCi0gICAgcmV0dXJu
OworICAgIGNvbnNvbGUubG9nKCdObyBhdHRhY2htZW50IElEJyk7CiAKICAgdmFyIG5leHRfbGlu
ZV9pZCA9IDA7CiAgIHZhciBmaWxlcyA9IHt9OwpAQCAtODQsMTAgKzg3LDYgQEAKICAgICB0aGlz
LmlkID0gbmV4dExpbmVJRCgpOwogICB9CiAKLSAgZnVuY3Rpb24gY29udGFpbmVyaWZ5KCkgewot
ICAgICQodGhpcykuYWRkQ2xhc3MoJ0xpbmVDb250YWluZXInKTsKLSAgfQotCiAgIGZ1bmN0aW9u
IGhvdmVyaWZ5KCkgewogICAgICQodGhpcykuaG92ZXIoZnVuY3Rpb24oKSB7CiAgICAgICAkKHRo
aXMpLmFkZENsYXNzKCdob3QnKTsKQEAgLTMxNCw3ICszMTMsNyBAQAogICB9CiAKICAgZnVuY3Rp
b24gY3Jhd2xEaWZmKCkgewotICAgICQoJy5MaW5lJykuZWFjaChpZGlmeSkuZWFjaChob3Zlcmlm
eSkuZWFjaChjb250YWluZXJpZnkpOworICAgICQoJy5MaW5lJykuZWFjaChpZGlmeSkuZWFjaCho
b3ZlcmlmeSk7CiAgICAgJCgnLkZpbGVEaWZmJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgIHZh
ciBmaWxlX25hbWUgPSAkKHRoaXMpLmNoaWxkcmVuKCdoMScpLnRleHQoKTsKICAgICAgIGZpbGVz
W2ZpbGVfbmFtZV0gPSB0aGlzOwpAQCAtMTA4Niw3ICsxMDg1LDcgQEAKICAgfQogCiAgICQoJy5s
aW5lTnVtYmVyJykubGl2ZSgnY2xpY2snLCBmdW5jdGlvbigpIHsKLSAgICB2YXIgbGluZSA9ICQo
dGhpcykucGFyZW50KCk7CisgICAgdmFyIGxpbmUgPSAkKHRoaXMpLnBhcmVudHMoJy5MaW5lJyk7
CiAgICAgaWYgKGxpbmUuaGFzQ2xhc3MoJ2NvbW1lbnRDb250ZXh0JykpCiAgICAgICB0cmltQ29t
bWVudENvbnRleHRUb0JlZm9yZShwcmV2aW91c0xpbmVGb3IobGluZSkpOwogICB9KS5saXZlKCdt
b3VzZWRvd24nLCBmdW5jdGlvbigpIHsK
</data>
<flag name="review"
          id="70238"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>