<?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>21108</bug_id>
          
          <creation_ts>2008-09-25 10:05:54 -0700</creation_ts>
          <short_desc>Impossible to add an attribute to a node without attributes</short_desc>
          <delta_ts>2012-07-26 21:44:51 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anthony Ricaud">rik</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>dev+webkit</cc>
    
    <cc>joepeck</cc>
    
    <cc>kmccullough</cc>
    
    <cc>ssoonh</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>92746</commentid>
    <comment_count>0</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2008-09-25 10:05:54 -0700</bug_when>
    <thetext>Double clicking a node without attributes scopes the view. There&apos;s no way to easily add new attributes to a node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133650</commentid>
    <comment_count>1</comment_count>
      <attachid>33226</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-21 16:36:58 -0700</bug_when>
    <thetext>Created attachment 33226
Add Attributes to Nodes

This allows users to add attributes to nodes from the Elements Panel in the Tree.

NOTES: 

1. Only nodes that are of type Node.ELEMENT_NODE will exhibit the behavior mentioned below, and only in the Elements Panel, not in the console when inspecting a node.
2. When hovering over the Node in the Tree view an ellipsis (…) will appear to the right of the text on the hovered line
3. Double Clicking the ellipsis (I didn&apos;t both with a single click at the moment) will trigger the usual dblclick
4. This notices it is inside the &apos;add-attribute&apos; ellipsis and will dynamically create an attribute to start editing, like normal.

Give it a whirl.  Make suggestions on how to improve the User Interface to a tool like this.  Sometimes I really wish I had a designer to work with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133756</commentid>
    <comment_count>2</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2009-07-22 06:30:41 -0700</bug_when>
    <thetext>Great !

Two comments :
Make the ellipsis more button-like to help understand that it is clickable.

Add a space before the editable zone to show that it&apos;s different from the previous attribute.

Otherwise it&apos;s looking fine and it&apos;s a nice addition to the inspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133825</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-07-22 11:55:14 -0700</bug_when>
    <thetext>Please attach a screenshot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134117</commentid>
    <comment_count>4</comment_count>
      <attachid>33337</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-23 09:04:15 -0700</bug_when>
    <thetext>Created attachment 33337
Video of Usage

Maybe a video would have been better so I gave it a shot.  Please forgive my improper use of terminology in the video. Doctypes, Text, and Comments are their own NODE Types (DOCUMENT_TYPE_NODE, TEXT_NODE, and COMMENT_NODE respectively). The ellipsis should only show up for element nodes (ELEMENT_NODE).
http://screencast.com/t/PMZy8R419pD</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134128</commentid>
    <comment_count>5</comment_count>
      <attachid>33339</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-23 09:33:49 -0700</bug_when>
    <thetext>Created attachment 33339
Add Attributes to Nodes

This has slightly better margins.  When you add a new attribute the textfield is no longer overlapping text from the attribute/text before it.  This was because the .editing class was giving it a negative margin.  I overrule that with a direct style property for the new attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134147</commentid>
    <comment_count>6</comment_count>
      <attachid>33339</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-07-23 10:33:35 -0700</bug_when>
    <thetext>Comment on attachment 33339
Add Attributes to Nodes

Thanks for the video! It helped a lot.

I wonder if a icon (button looking) would be better than the text ellipsis. Or move the ellipsis to the inside of the tag so it is where the new attribute will be insterted? What do you think?

&gt; +            var span = document.createElement(&apos;span&apos;);
&gt; +            span.className = &apos;add-attribute&apos;;
&gt; +            span.innerText = &apos;â¦&apos;;
&gt; +            this.listItemElement.appendChild(span);
&gt; +            this._addAttributeElement = span;

Better to use a escaped character (\uXXXX) instead of UTF8 here. Also we use double quotes for string almost esclusivly in our JS.

The textContent property is better to use than innerText. It has no IE weirdness and is standard.

&gt; +                this._addAttributeElement.parentNode.removeChild( this._addAttributeElement );

No spaces needed here.

&gt; +        if ( tag.getElementsByClassName(&apos;webkit-html-attribute&apos;).length &gt; 0 ) {

No spaces needed here.

&gt; +        return this._startEditingAttribute(attr, { target: attr });

No spaces needed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134149</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-07-23 10:34:44 -0700</bug_when>
    <thetext>&gt; +        if ( tag.getElementsByClassName(&apos;webkit-html-attribute&apos;).length &gt; 0 ) {

I mean no spaces needed here next to the parenthesis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134206</commentid>
    <comment_count>8</comment_count>
      <attachid>33355</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-23 12:47:45 -0700</bug_when>
    <thetext>Created attachment 33355
Add Attributes to Nodes Improved

NOTES:

- I kept it a &quot;...&quot; but now everything else is out of the way so it will be easy to experiment with this.
- Moved the &quot;...&quot; inside the tag.
- Refactored to add _insertInLastAttributePosition function.
- Still double-click, without cursor: pointer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134208</commentid>
    <comment_count>9</comment_count>
      <attachid>33355</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-07-23 12:55:14 -0700</bug_when>
    <thetext>Comment on attachment 33355
Add Attributes to Nodes Improved


&gt; +            var nodeName = tag.textContent.match(/^&lt;(.*?)&gt;$/)[1];
&gt; +            tag.textContent = &apos;&apos;;
&gt; +            tag.appendChild(document.createTextNode(&apos;&lt;&apos;+nodeName));
&gt; +            tag.appendChild(node);
&gt; +            tag.appendChild(document.createTextNode(&apos;&gt;&apos;));

Double quote strings and spaces around &quot;+&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134221</commentid>
    <comment_count>10</comment_count>
      <attachid>33360</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-23 13:22:39 -0700</bug_when>
    <thetext>Created attachment 33360
Add Attributes to Nodes More Improved

Fixes those styles issues and the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134455</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-24 01:33:12 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/ElementsTreeOutline.js
	M	WebCore/inspector/front-end/inspector.css
Committed r46339
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/ElementsTreeOutline.js
	M	WebCore/inspector/front-end/inspector.css
r46339 = 8f096edd27f484633afdef0d31ec1e2b7dc5e327 (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/46339</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33226</attachid>
            <date>2009-07-21 16:36:58 -0700</date>
            <delta_ts>2009-07-23 09:33:49 -0700</delta_ts>
            <desc>Add Attributes to Nodes</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>6311</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzczNTFhZC4uZDAwZmZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wNy0yMSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnNwZWN0b3I6IEltcG9zc2libGUgdG8gYWRkIGFuIGF0dHJp
YnV0ZSB0byBhIG5vZGUgd2l0aG91dCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEwOAorCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzVHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVs
ZW1lbnQucHJvdG90eXBlLnNldCBob3ZlcmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZS50b2dnbGVOZXdCdXR0b24pOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uZGJsY2xpY2spOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLl9zdGFydEVk
aXRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90
eXBlLl9hZGROZXdBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJl
ZUVsZW1lbnQucHJvdG90eXBlLl9hdHRyaWJ1dGVFZGl0aW5nQ29tbWl0dGVkKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisKIDIwMDktMDctMjAgIEFkYW0g
TGFuZ2xleSAgPGFnbEBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJl
ZU91dGxpbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0
bGluZS5qcwppbmRleCAyZGEyZjEwLi5mNTA0NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcworKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcwpAQCAtMjU1LDYgKzI1NSwxMCBA
QCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKG5vZGUpCiAKICAg
ICAvLyBUaGUgdGl0bGUgd2lsbCBiZSB1cGRhdGVkIGluIG9uYXR0YWNoLgogICAgIFRyZWVFbGVt
ZW50LmNhbGwodGhpcywgIiIsIG5vZGUsIHRpdGxlSW5mby5oYXNDaGlsZHJlbik7CisgICAgCisg
ICAgLy8gQ2FuIGFkZCBhdHRyaWJ1dGVzCisgICAgaWYgKHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
bm9kZVR5cGUgPT0gTm9kZS5FTEVNRU5UX05PREUpCisgICAgICAgIHRoaXMuX2NhbkFkZEF0dHJp
YnV0ZXMgPSB0cnVlOwogfQogCiBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90
b3R5cGUgPSB7CkBAIC0yOTYsOSArMzAwLDI2IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVu
dC5hZGRTdHlsZUNsYXNzKCJob3ZlcmVkIik7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJob3ZlcmVkIik7
CisgICAgICAgICAgICBpZiAodGhpcy5fY2FuQWRkQXR0cmlidXRlcykKKyAgICAgICAgICAgICAg
ICB0aGlzLnRvZ2dsZU5ld0J1dHRvbigpOwogICAgICAgICB9CiAgICAgfSwKIAorICAgIHRvZ2ds
ZU5ld0J1dHRvbjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9hZGRBdHRy
aWJ1dGVFbGVtZW50ICYmIHRoaXMuX2hvdmVyZWQpIHsKKyAgICAgICAgICAgIHZhciBzcGFuID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOworICAgICAgICAgICAgc3Bhbi5jbGFzc05h
bWUgPSAnYWRkLWF0dHJpYnV0ZSc7CisgICAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9ICfigKYn
OworICAgICAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQuYXBwZW5kQ2hpbGQoc3Bhbik7Cisg
ICAgICAgICAgICB0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50ID0gc3BhbjsKKyAgICAgICAgfSBl
bHNlIGlmICghdGhpcy5faG92ZXJlZCAmJiB0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50KSB7Cisg
ICAgICAgICAgICBpZiAodGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudC5wYXJlbnROb2RlKQorICAg
ICAgICAgICAgICAgIHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVD
aGlsZCggdGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudCApOworICAgICAgICAgICAgZGVsZXRlIHRo
aXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQ7CisgICAgICAgIH0KKyAgICB9LAorICAgIAogICAgIHVw
ZGF0ZVNlbGVjdGlvbjogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdmFyIGxpc3RJdGVtRWxl
bWVudCA9IHRoaXMubGlzdEl0ZW1FbGVtZW50OwpAQCAtNDgzLDcgKzUwNCw3IEBAIFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRoaXMu
X2VkaXRpbmcpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX3N0YXJ0
RWRpdGluZyhldmVudCkpCisgICAgICAgIGlmICh0aGlzLl9zdGFydEVkaXRpbmcoZXZlbnQsIHRy
ZWVFbGVtZW50KSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodGhpcy50cmVl
T3V0bGluZS5wYW5lbCkgewpAQCAtNDk1LDcgKzUxNiw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50
c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuZXhwYW5kKCk7CiAg
ICAgfSwKIAotICAgIF9zdGFydEVkaXRpbmc6IGZ1bmN0aW9uKGV2ZW50KQorICAgIF9zdGFydEVk
aXRpbmc6IGZ1bmN0aW9uKGV2ZW50LCB0cmVlRWxlbWVudCkKICAgICB7CiAgICAgICAgIGlmICh0
aGlzLnRyZWVPdXRsaW5lLmZvY3VzZWRET01Ob2RlICE9IHRoaXMucmVwcmVzZW50ZWRPYmplY3Qp
CiAgICAgICAgICAgICByZXR1cm47CkBAIC01MTAsMTAgKzUzMSw0NCBAQCBXZWJJbnNwZWN0b3Iu
RWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBhdHRyaWJ1dGUg
PSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhDbGFzcygid2Via2l0LWh0bWwt
YXR0cmlidXRlIik7CiAgICAgICAgIGlmIChhdHRyaWJ1dGUpCiAgICAgICAgICAgICByZXR1cm4g
dGhpcy5fc3RhcnRFZGl0aW5nQXR0cmlidXRlKGF0dHJpYnV0ZSwgZXZlbnQpOworICAgICAgICAg
ICAgCisgICAgICAgIHZhciBuZXdBdHRyaWJ1dGUgPSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9k
ZU9yU2VsZldpdGhDbGFzcygnYWRkLWF0dHJpYnV0ZScpOworICAgICAgICBpZiAoIG5ld0F0dHJp
YnV0ZSApCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRkTmV3QXR0cmlidXRlKGV2ZW50LCB0
cmVlRWxlbWVudCk7CiAKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0sCiAKKyAgICBfYWRk
TmV3QXR0cmlidXRlOiBmdW5jdGlvbihldmVudCwgdHJlZUVsZW1lbnQpCisgICAgeworICAgICAg
ICB2YXIgYXR0ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKKyAgICAgICAgYXR0
ci5jbGFzc05hbWUgPSAnd2Via2l0LWh0bWwtYXR0cmlidXRlJzsKKyAgICAgICAgdmFyIG5hbWUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CisgICAgICAgIG5hbWUuY2xhc3NOYW1l
ID0gJ3dlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lJzsKKyAgICAgICAgbmFtZS5pbm5lclRleHQg
PSAnICc7CisgICAgICAgIHZhciB2YWx1ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4n
KTsKKyAgICAgICAgdmFsdWUuY2xhc3NOYW1lID0gJ3dlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1
ZSc7CisgICAgICAgIGF0dHIuYXBwZW5kQ2hpbGQobmFtZSk7CisgICAgICAgIGF0dHIuYXBwZW5k
Q2hpbGQodmFsdWUpOworCisgICAgICAgIHZhciB0YWcgPSB0cmVlRWxlbWVudC5saXN0SXRlbUVs
ZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnd2Via2l0LWh0bWwtdGFnJylbMF07CisgICAg
ICAgIGlmICggdGFnLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3dlYmtpdC1odG1sLWF0dHJpYnV0
ZScpLmxlbmd0aCA+IDAgKQorICAgICAgICAgICAgdGFnLmluc2VydEJlZm9yZShhdHRyLCB0YWcu
bGFzdENoaWxkKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICB2YXIgbm9kZU5hbWUgPSB0
YWcuaW5uZXJUZXh0Lm1hdGNoKC9ePCguKj8pPiQvKVsxXTsKKyAgICAgICAgICAgIHRhZy5pbm5l
clRleHQgPSAnJzsKKyAgICAgICAgICAgIHRhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSgnPCcrbm9kZU5hbWUpKTsKKyAgICAgICAgICAgIHRhZy5hcHBlbmRDaGlsZChhdHRy
KTsKKyAgICAgICAgICAgIHRhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgn
PicpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFN0YXJ0IGVkaXRpbmcgdGhlIGF0dHIgc3Bh
biBhbmQgaGlnaGxpZ2h0IGl0IGZpcnN0CisgICAgICAgIC8vIE5PVEU6IF9zdGFydEVkaXRpbmdB
dHRyaWJ1dGUgb25seSBsb29rcyBhdCB0aGUgInRhcmdldCIsIHNvIHdlCisgICAgICAgIC8vIGNh
biBmYWtlIGFuIG9iamVjdCBoZXJlIGluc3RlYWQgb2YgcGFzc2luZyB0aGUgImV2ZW50IiB3aXRo
IHRoZQorICAgICAgICAvLyB3cm9uZyB0YXJnZXQgZWxlbWVudAorICAgICAgICByZXR1cm4gdGhp
cy5fc3RhcnRFZGl0aW5nQXR0cmlidXRlKGF0dHIsIHsgdGFyZ2V0OiBhdHRyIH0pOworICAgIH0s
CisKICAgICBfc3RhcnRFZGl0aW5nQXR0cmlidXRlOiBmdW5jdGlvbihhdHRyaWJ1dGUsIGV2ZW50
KQogICAgIHsKICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5pc0JlaW5nRWRpdGVkKGF0dHJpYnV0
ZSkpCkBAIC01NzEsNyArNjI2LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQu
cHJvdG90eXBlID0gewogICAgICAgICBwYXJzZUNvbnRhaW5lckVsZW1lbnQuaW5uZXJIVE1MID0g
IjxzcGFuICIgKyBuZXdUZXh0ICsgIj48L3NwYW4+IjsKICAgICAgICAgdmFyIHBhcnNlRWxlbWVu
dCA9IHBhcnNlQ29udGFpbmVyRWxlbWVudC5maXJzdENoaWxkOwogICAgICAgICBpZiAoIXBhcnNl
RWxlbWVudCB8fCAhcGFyc2VFbGVtZW50Lmhhc0F0dHJpYnV0ZXMoKSkgewotICAgICAgICAgICAg
dGhpcy5fZWRpdGluZ0NhbmNlbGxlZChlbGVtZW50LCBjb250ZXh0KTsKKyAgICAgICAgICAgIHRo
aXMuX2VkaXRpbmdDYW5jZWxsZWQoZWxlbWVudCwgYXR0cmlidXRlTmFtZSk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5jc3MgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmNzcwppbmRleCA5MjljYWEyLi40MmNkZTVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtNjQ0LDYgKzY0NCwxMCBAQCBib2R5LmNvbnNvbGUtdmlz
aWJsZSAjY29uc29sZSB7CiAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OwogfQogCisuY29uc29sZS1n
cm91cC1tZXNzYWdlcyAuYWRkLWF0dHJpYnV0ZSB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKwog
LmNvbnNvbGUtZm9ybWF0dGVkLW9iamVjdCwgLmNvbnNvbGUtZm9ybWF0dGVkLW5vZGUgewogICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CkBAIC0xMDkw
LDYgKzEwOTQsMTEgQEAgYm9keS5jb25zb2xlLXZpc2libGUgI2NvbnNvbGUgewogICAgIHRleHQt
ZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogfQogCisuYWRkLWF0dHJpYnV0ZSB7CisgICAgbWFyZ2lu
LWxlZnQ6IDFweDsKKyAgICBjdXJzb3I6IHBvaW50ZXI7Cit9CisKIC5wbGFjYXJkIHsKICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CiAgICAgbWFyZ2luLXRvcDogMXB4Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>33337</attachid>
            <date>2009-07-23 09:04:15 -0700</date>
            <delta_ts>2009-07-23 09:04:15 -0700</delta_ts>
            <desc>Video of Usage</desc>
            <filename>url.txt</filename>
            <type>text/plain</type>
            <size>35</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">aHR0cDovL3NjcmVlbmNhc3QuY29tL3QvUE1aeThSNDE5cEQ=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33339</attachid>
            <date>2009-07-23 09:33:49 -0700</date>
            <delta_ts>2009-07-23 12:47:45 -0700</delta_ts>
            <desc>Add Attributes to Nodes</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>6393</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzczNTFhZC4uZDAwZmZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wNy0yMSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnNwZWN0b3I6IEltcG9zc2libGUgdG8gYWRkIGFuIGF0dHJp
YnV0ZSB0byBhIG5vZGUgd2l0aG91dCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEwOAorCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzVHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVs
ZW1lbnQucHJvdG90eXBlLnNldCBob3ZlcmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZS50b2dnbGVOZXdCdXR0b24pOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uZGJsY2xpY2spOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLl9zdGFydEVk
aXRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90
eXBlLl9hZGROZXdBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJl
ZUVsZW1lbnQucHJvdG90eXBlLl9hdHRyaWJ1dGVFZGl0aW5nQ29tbWl0dGVkKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisKIDIwMDktMDctMjAgIEFkYW0g
TGFuZ2xleSAgPGFnbEBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJl
ZU91dGxpbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0
bGluZS5qcwppbmRleCAyZGEyZjEwLi5hYmE1YjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcworKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcwpAQCAtMjU1LDYgKzI1NSwxMCBA
QCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKG5vZGUpCiAKICAg
ICAvLyBUaGUgdGl0bGUgd2lsbCBiZSB1cGRhdGVkIGluIG9uYXR0YWNoLgogICAgIFRyZWVFbGVt
ZW50LmNhbGwodGhpcywgIiIsIG5vZGUsIHRpdGxlSW5mby5oYXNDaGlsZHJlbik7CisgICAgCisg
ICAgLy8gQ2FuIGFkZCBhdHRyaWJ1dGVzCisgICAgaWYgKHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
bm9kZVR5cGUgPT0gTm9kZS5FTEVNRU5UX05PREUpCisgICAgICAgIHRoaXMuX2NhbkFkZEF0dHJp
YnV0ZXMgPSB0cnVlOwogfQogCiBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90
b3R5cGUgPSB7CkBAIC0yOTYsOSArMzAwLDI2IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVu
dC5hZGRTdHlsZUNsYXNzKCJob3ZlcmVkIik7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJob3ZlcmVkIik7
CisgICAgICAgICAgICBpZiAodGhpcy5fY2FuQWRkQXR0cmlidXRlcykKKyAgICAgICAgICAgICAg
ICB0aGlzLnRvZ2dsZU5ld0J1dHRvbigpOwogICAgICAgICB9CiAgICAgfSwKIAorICAgIHRvZ2ds
ZU5ld0J1dHRvbjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9hZGRBdHRy
aWJ1dGVFbGVtZW50ICYmIHRoaXMuX2hvdmVyZWQpIHsKKyAgICAgICAgICAgIHZhciBzcGFuID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOworICAgICAgICAgICAgc3Bhbi5jbGFzc05h
bWUgPSAnYWRkLWF0dHJpYnV0ZSc7CisgICAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9ICfigKYn
OworICAgICAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQuYXBwZW5kQ2hpbGQoc3Bhbik7Cisg
ICAgICAgICAgICB0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50ID0gc3BhbjsKKyAgICAgICAgfSBl
bHNlIGlmICghdGhpcy5faG92ZXJlZCAmJiB0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50KSB7Cisg
ICAgICAgICAgICBpZiAodGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudC5wYXJlbnROb2RlKQorICAg
ICAgICAgICAgICAgIHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVD
aGlsZCggdGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudCApOworICAgICAgICAgICAgZGVsZXRlIHRo
aXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQ7CisgICAgICAgIH0KKyAgICB9LAorICAgIAogICAgIHVw
ZGF0ZVNlbGVjdGlvbjogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdmFyIGxpc3RJdGVtRWxl
bWVudCA9IHRoaXMubGlzdEl0ZW1FbGVtZW50OwpAQCAtNDgzLDcgKzUwNCw3IEBAIFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRoaXMu
X2VkaXRpbmcpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX3N0YXJ0
RWRpdGluZyhldmVudCkpCisgICAgICAgIGlmICh0aGlzLl9zdGFydEVkaXRpbmcoZXZlbnQsIHRy
ZWVFbGVtZW50KSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodGhpcy50cmVl
T3V0bGluZS5wYW5lbCkgewpAQCAtNDk1LDcgKzUxNiw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50
c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuZXhwYW5kKCk7CiAg
ICAgfSwKIAotICAgIF9zdGFydEVkaXRpbmc6IGZ1bmN0aW9uKGV2ZW50KQorICAgIF9zdGFydEVk
aXRpbmc6IGZ1bmN0aW9uKGV2ZW50LCB0cmVlRWxlbWVudCkKICAgICB7CiAgICAgICAgIGlmICh0
aGlzLnRyZWVPdXRsaW5lLmZvY3VzZWRET01Ob2RlICE9IHRoaXMucmVwcmVzZW50ZWRPYmplY3Qp
CiAgICAgICAgICAgICByZXR1cm47CkBAIC01MTAsMTAgKzUzMSw0NSBAQCBXZWJJbnNwZWN0b3Iu
RWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBhdHRyaWJ1dGUg
PSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhDbGFzcygid2Via2l0LWh0bWwt
YXR0cmlidXRlIik7CiAgICAgICAgIGlmIChhdHRyaWJ1dGUpCiAgICAgICAgICAgICByZXR1cm4g
dGhpcy5fc3RhcnRFZGl0aW5nQXR0cmlidXRlKGF0dHJpYnV0ZSwgZXZlbnQpOworICAgICAgICAg
ICAgCisgICAgICAgIHZhciBuZXdBdHRyaWJ1dGUgPSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9k
ZU9yU2VsZldpdGhDbGFzcygnYWRkLWF0dHJpYnV0ZScpOworICAgICAgICBpZiAoIG5ld0F0dHJp
YnV0ZSApCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRkTmV3QXR0cmlidXRlKGV2ZW50LCB0
cmVlRWxlbWVudCk7CiAKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0sCiAKKyAgICBfYWRk
TmV3QXR0cmlidXRlOiBmdW5jdGlvbihldmVudCwgdHJlZUVsZW1lbnQpCisgICAgeworICAgICAg
ICB2YXIgYXR0ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKKyAgICAgICAgYXR0
ci5jbGFzc05hbWUgPSAnd2Via2l0LWh0bWwtYXR0cmlidXRlJzsKKyAgICAgICAgYXR0ci5zdHls
ZS5tYXJnaW5MZWZ0ID0gJzJweCc7IC8vIG92ZXJyaWRlcyB0aGUgLmVkaXRpbmcgbWFyZ2luIHJ1
bGUKKyAgICAgICAgdmFyIG5hbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7Cisg
ICAgICAgIG5hbWUuY2xhc3NOYW1lID0gJ3dlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lJzsKKyAg
ICAgICAgbmFtZS5pbm5lclRleHQgPSAnICc7CisgICAgICAgIHZhciB2YWx1ZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKKyAgICAgICAgdmFsdWUuY2xhc3NOYW1lID0gJ3dlYmtp
dC1odG1sLWF0dHJpYnV0ZS12YWx1ZSc7CisgICAgICAgIGF0dHIuYXBwZW5kQ2hpbGQobmFtZSk7
CisgICAgICAgIGF0dHIuYXBwZW5kQ2hpbGQodmFsdWUpOworCisgICAgICAgIHZhciB0YWcgPSB0
cmVlRWxlbWVudC5saXN0SXRlbUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnd2Via2l0
LWh0bWwtdGFnJylbMF07CisgICAgICAgIGlmICggdGFnLmdldEVsZW1lbnRzQnlDbGFzc05hbWUo
J3dlYmtpdC1odG1sLWF0dHJpYnV0ZScpLmxlbmd0aCA+IDAgKSB7CisgICAgICAgICAgICB0YWcu
aW5zZXJ0QmVmb3JlKGF0dHIsIHRhZy5sYXN0Q2hpbGQpOworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgdmFyIG5vZGVOYW1lID0gdGFnLmlubmVyVGV4dC5tYXRjaCgvXjwoLio/KT4kLylb
MV07CisgICAgICAgICAgICB0YWcuaW5uZXJUZXh0ID0gJyc7CisgICAgICAgICAgICB0YWcuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJzwnK25vZGVOYW1lKSk7CisgICAgICAg
ICAgICB0YWcuYXBwZW5kQ2hpbGQoYXR0cik7CisgICAgICAgICAgICB0YWcuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJz4nKSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBT
dGFydCBlZGl0aW5nIHRoZSBhdHRyIHNwYW4gYW5kIGhpZ2hsaWdodCBpdCBmaXJzdAorICAgICAg
ICAvLyBOT1RFOiBfc3RhcnRFZGl0aW5nQXR0cmlidXRlIG9ubHkgbG9va3MgYXQgdGhlICJ0YXJn
ZXQiLCBzbyB3ZQorICAgICAgICAvLyBjYW4gZmFrZSBhbiBvYmplY3QgaGVyZSBpbnN0ZWFkIG9m
IHBhc3NpbmcgdGhlICJldmVudCIgd2l0aCB0aGUKKyAgICAgICAgLy8gd3JvbmcgdGFyZ2V0IGVs
ZW1lbnQKKyAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXJ0RWRpdGluZ0F0dHJpYnV0ZShhdHRyLCB7
IHRhcmdldDogYXR0ciB9KTsKKyAgICB9LAorCiAgICAgX3N0YXJ0RWRpdGluZ0F0dHJpYnV0ZTog
ZnVuY3Rpb24oYXR0cmlidXRlLCBldmVudCkKICAgICB7CiAgICAgICAgIGlmIChXZWJJbnNwZWN0
b3IuaXNCZWluZ0VkaXRlZChhdHRyaWJ1dGUpKQpAQCAtNTcxLDcgKzYyNyw3IEBAIFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgcGFyc2VDb250
YWluZXJFbGVtZW50LmlubmVySFRNTCA9ICI8c3BhbiAiICsgbmV3VGV4dCArICI+PC9zcGFuPiI7
CiAgICAgICAgIHZhciBwYXJzZUVsZW1lbnQgPSBwYXJzZUNvbnRhaW5lckVsZW1lbnQuZmlyc3RD
aGlsZDsKICAgICAgICAgaWYgKCFwYXJzZUVsZW1lbnQgfHwgIXBhcnNlRWxlbWVudC5oYXNBdHRy
aWJ1dGVzKCkpIHsKLSAgICAgICAgICAgIHRoaXMuX2VkaXRpbmdDYW5jZWxsZWQoZWxlbWVudCwg
Y29udGV4dCk7CisgICAgICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1lbnQsIGF0
dHJpYnV0ZU5hbWUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggOTI5Y2FhMi4uNDJjZGU1ZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKQEAgLTY0NCw2ICs2
NDQsMTAgQEAgYm9keS5jb25zb2xlLXZpc2libGUgI2NvbnNvbGUgewogICAgIG1hcmdpbi1yaWdo
dDogLTZweDsKIH0KIAorLmNvbnNvbGUtZ3JvdXAtbWVzc2FnZXMgLmFkZC1hdHRyaWJ1dGUgewor
ICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKIC5jb25zb2xlLWZvcm1hdHRlZC1vYmplY3QsIC5jb25z
b2xlLWZvcm1hdHRlZC1ub2RlIHsKICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgZGlzcGxh
eTogaW5saW5lLWJsb2NrOwpAQCAtMTA5MCw2ICsxMDk0LDExIEBAIGJvZHkuY29uc29sZS12aXNp
YmxlICNjb25zb2xlIHsKICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKIH0KIAorLmFk
ZC1hdHRyaWJ1dGUgeworICAgIG1hcmdpbi1sZWZ0OiAxcHg7CisgICAgY3Vyc29yOiBwb2ludGVy
OworfQorCiAucGxhY2FyZCB7CiAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgIG1hcmdpbi10
b3A6IDFweDsK
</data>
<flag name="review"
          id="17635"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33355</attachid>
            <date>2009-07-23 12:47:45 -0700</date>
            <delta_ts>2009-07-23 13:22:39 -0700</delta_ts>
            <desc>Add Attributes to Nodes Improved</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>7026</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzczNTFhZC4uZDAwZmZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wNy0yMSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnNwZWN0b3I6IEltcG9zc2libGUgdG8gYWRkIGFuIGF0dHJp
YnV0ZSB0byBhIG5vZGUgd2l0aG91dCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEwOAorCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzVHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVs
ZW1lbnQucHJvdG90eXBlLnNldCBob3ZlcmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZS50b2dnbGVOZXdCdXR0b24pOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uZGJsY2xpY2spOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLl9zdGFydEVk
aXRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90
eXBlLl9hZGROZXdBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJl
ZUVsZW1lbnQucHJvdG90eXBlLl9hdHRyaWJ1dGVFZGl0aW5nQ29tbWl0dGVkKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisKIDIwMDktMDctMjAgIEFkYW0g
TGFuZ2xleSAgPGFnbEBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJl
ZU91dGxpbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0
bGluZS5qcwppbmRleCAyZGEyZjEwLi4wYzkyZDUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcworKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcwpAQCAtMjU1LDYgKzI1NSwxMCBA
QCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKG5vZGUpCiAKICAg
ICAvLyBUaGUgdGl0bGUgd2lsbCBiZSB1cGRhdGVkIGluIG9uYXR0YWNoLgogICAgIFRyZWVFbGVt
ZW50LmNhbGwodGhpcywgIiIsIG5vZGUsIHRpdGxlSW5mby5oYXNDaGlsZHJlbik7CisgICAgCisg
ICAgLy8gQ2FuIGFkZCBhdHRyaWJ1dGVzCisgICAgaWYgKHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
bm9kZVR5cGUgPT0gTm9kZS5FTEVNRU5UX05PREUpCisgICAgICAgIHRoaXMuX2NhbkFkZEF0dHJp
YnV0ZXMgPSB0cnVlOwogfQogCiBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90
b3R5cGUgPSB7CkBAIC0yOTYsOSArMzAwLDM2IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVu
dC5hZGRTdHlsZUNsYXNzKCJob3ZlcmVkIik7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJob3ZlcmVkIik7
CisgICAgICAgICAgICBpZiAodGhpcy5fY2FuQWRkQXR0cmlidXRlcykKKyAgICAgICAgICAgICAg
ICB0aGlzLnRvZ2dsZU5ld0F0dHJpYnV0ZUJ1dHRvbigpOwogICAgICAgICB9CiAgICAgfSwKIAor
ICAgIHRvZ2dsZU5ld0F0dHJpYnV0ZUJ1dHRvbjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
ZnVuY3Rpb24gcmVtb3ZlV2hlbkVkaXRpbmcoZXZlbnQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlmICh0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50ICYmIHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1l
bnQucGFyZW50Tm9kZSkKKyAgICAgICAgICAgICAgICB0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50
LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudCk7CisgICAg
ICAgICAgICBkZWxldGUgdGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudDsKKyAgICAgICAgfQorCisg
ICAgICAgIGlmICghdGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudCAmJiB0aGlzLl9ob3ZlcmVkICYm
ICF0aGlzLl9lZGl0aW5nKSB7CisgICAgICAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgICAgIHNwYW4uY2xhc3NOYW1lID0gImFkZC1hdHRy
aWJ1dGUiOworICAgICAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9ICJcdTIwMjYiOworICAgICAg
ICAgICAgc3Bhbi5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsIHJlbW92ZVdoZW5FZGl0aW5n
LmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICAgICAgICAgIHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1l
bnQgPSBzcGFuOworCisgICAgICAgICAgICB2YXIgdGFnID0gdGhpcy5saXN0SXRlbUVsZW1lbnQu
Z2V0RWxlbWVudHNCeUNsYXNzTmFtZSgid2Via2l0LWh0bWwtdGFnIilbMF07CisgICAgICAgICAg
ICB0aGlzLl9pbnNlcnRJbkxhc3RBdHRyaWJ1dGVQb3NpdGlvbih0YWcsIHNwYW4pOworICAgICAg
ICB9IGVsc2UgaWYgKCF0aGlzLl9ob3ZlcmVkICYmIHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQp
IHsKKyAgICAgICAgICAgIGlmICh0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50LnBhcmVudE5vZGUp
CisgICAgICAgICAgICAgICAgdGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudC5wYXJlbnROb2RlLnJl
bW92ZUNoaWxkKHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQpOworICAgICAgICAgICAgZGVsZXRl
IHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQ7CisgICAgICAgIH0KKyAgICB9LAorICAgIAogICAg
IHVwZGF0ZVNlbGVjdGlvbjogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdmFyIGxpc3RJdGVt
RWxlbWVudCA9IHRoaXMubGlzdEl0ZW1FbGVtZW50OwpAQCAtNDgzLDcgKzUxNCw3IEBAIFdlYklu
c3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRo
aXMuX2VkaXRpbmcpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX3N0
YXJ0RWRpdGluZyhldmVudCkpCisgICAgICAgIGlmICh0aGlzLl9zdGFydEVkaXRpbmcoZXZlbnQs
IHRyZWVFbGVtZW50KSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodGhpcy50
cmVlT3V0bGluZS5wYW5lbCkgewpAQCAtNDk1LDcgKzUyNiwyMCBAQCBXZWJJbnNwZWN0b3IuRWxl
bWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLmV4cGFuZCgp
OwogICAgIH0sCiAKLSAgICBfc3RhcnRFZGl0aW5nOiBmdW5jdGlvbihldmVudCkKKyAgICBfaW5z
ZXJ0SW5MYXN0QXR0cmlidXRlUG9zaXRpb246IGZ1bmN0aW9uKHRhZywgbm9kZSkKKyAgICB7Cisg
ICAgICAgIGlmICh0YWcuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgid2Via2l0LWh0bWwtYXR0cmli
dXRlIikubGVuZ3RoID4gMCkKKyAgICAgICAgICAgIHRhZy5pbnNlcnRCZWZvcmUobm9kZSwgdGFn
Lmxhc3RDaGlsZCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdmFyIG5vZGVOYW1lID0g
dGFnLnRleHRDb250ZW50Lm1hdGNoKC9ePCguKj8pPiQvKVsxXTsKKyAgICAgICAgICAgIHRhZy50
ZXh0Q29udGVudCA9ICcnOworICAgICAgICAgICAgdGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCc8Jytub2RlTmFtZSkpOworICAgICAgICAgICAgdGFnLmFwcGVuZENoaWxk
KG5vZGUpOworICAgICAgICAgICAgdGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCc+JykpOworICAgICAgICB9CisgICAgfSwKKworICAgIF9zdGFydEVkaXRpbmc6IGZ1bmN0
aW9uKGV2ZW50LCB0cmVlRWxlbWVudCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLnRyZWVPdXRs
aW5lLmZvY3VzZWRET01Ob2RlICE9IHRoaXMucmVwcmVzZW50ZWRPYmplY3QpCiAgICAgICAgICAg
ICByZXR1cm47CkBAIC01MTEsOSArNTU1LDM3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGF0dHJpYnV0ZSkKICAgICAgICAgICAg
IHJldHVybiB0aGlzLl9zdGFydEVkaXRpbmdBdHRyaWJ1dGUoYXR0cmlidXRlLCBldmVudCk7CiAK
KyAgICAgICAgdmFyIG5ld0F0dHJpYnV0ZSA9IGV2ZW50LnRhcmdldC5lbmNsb3NpbmdOb2RlT3JT
ZWxmV2l0aENsYXNzKCJhZGQtYXR0cmlidXRlIik7CisgICAgICAgIGlmIChuZXdBdHRyaWJ1dGUp
CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRkTmV3QXR0cmlidXRlKGV2ZW50LCB0cmVlRWxl
bWVudCk7CisKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0sCiAKKyAgICBfYWRkTmV3QXR0
cmlidXRlOiBmdW5jdGlvbihldmVudCwgdHJlZUVsZW1lbnQpCisgICAgeworICAgICAgICB2YXIg
YXR0ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgYXR0ci5jbGFz
c05hbWUgPSAid2Via2l0LWh0bWwtYXR0cmlidXRlIjsKKyAgICAgICAgYXR0ci5zdHlsZS5tYXJn
aW5MZWZ0ID0gIjJweCI7IC8vIG92ZXJyaWRlcyB0aGUgLmVkaXRpbmcgbWFyZ2luIHJ1bGUKKyAg
ICAgICAgYXR0ci5zdHlsZS5tYXJnaW5SaWdodCA9ICIycHgiOyAvLyBvdmVycmlkZXMgdGhlIC5l
ZGl0aW5nIG1hcmdpbiBydWxlCisgICAgICAgIHZhciBuYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgic3BhbiIpOworICAgICAgICBuYW1lLmNsYXNzTmFtZSA9ICJ3ZWJraXQtaHRtbC1hdHRy
aWJ1dGUtbmFtZSBuZXctYXR0cmlidXRlIjsKKyAgICAgICAgbmFtZS50ZXh0Q29udGVudCA9ICIg
IjsKKyAgICAgICAgdmFyIHZhbHVlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwor
ICAgICAgICB2YWx1ZS5jbGFzc05hbWUgPSAid2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIjsK
KyAgICAgICAgYXR0ci5hcHBlbmRDaGlsZChuYW1lKTsKKyAgICAgICAgYXR0ci5hcHBlbmRDaGls
ZCh2YWx1ZSk7CisKKyAgICAgICAgdmFyIHRhZyA9IHRyZWVFbGVtZW50Lmxpc3RJdGVtRWxlbWVu
dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ3ZWJraXQtaHRtbC10YWciKVswXTsKKyAgICAgICAg
dGhpcy5faW5zZXJ0SW5MYXN0QXR0cmlidXRlUG9zaXRpb24odGFnLCBhdHRyKTsKKworICAgICAg
ICAvLyBTdGFydCBlZGl0aW5nIHRoZSBhdHRyIHNwYW4gYW5kIGhpZ2hsaWdodCBpdCBmaXJzdAor
ICAgICAgICAvLyBOT1RFOiBfc3RhcnRFZGl0aW5nQXR0cmlidXRlIG9ubHkgbG9va3MgYXQgdGhl
ICJ0YXJnZXQiLCBzbyB3ZQorICAgICAgICAvLyBjYW4gZmFrZSBhbiBvYmplY3QgaGVyZSBpbnN0
ZWFkIG9mIHBhc3NpbmcgdGhlICJldmVudCIgd2l0aCB0aGUKKyAgICAgICAgLy8gd3JvbmcgdGFy
Z2V0IGVsZW1lbnQKKyAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXJ0RWRpdGluZ0F0dHJpYnV0ZShh
dHRyLCB7dGFyZ2V0OiBhdHRyfSk7CisgICAgfSwKKwogICAgIF9zdGFydEVkaXRpbmdBdHRyaWJ1
dGU6IGZ1bmN0aW9uKGF0dHJpYnV0ZSwgZXZlbnQpCiAgICAgewogICAgICAgICBpZiAoV2ViSW5z
cGVjdG9yLmlzQmVpbmdFZGl0ZWQoYXR0cmlidXRlKSkKQEAgLTU3MSw3ICs2NDMsNyBAQCBXZWJJ
bnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHBhcnNl
Q29udGFpbmVyRWxlbWVudC5pbm5lckhUTUwgPSAiPHNwYW4gIiArIG5ld1RleHQgKyAiPjwvc3Bh
bj4iOwogICAgICAgICB2YXIgcGFyc2VFbGVtZW50ID0gcGFyc2VDb250YWluZXJFbGVtZW50LmZp
cnN0Q2hpbGQ7CiAgICAgICAgIGlmICghcGFyc2VFbGVtZW50IHx8ICFwYXJzZUVsZW1lbnQuaGFz
QXR0cmlidXRlcygpKSB7Ci0gICAgICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1l
bnQsIGNvbnRleHQpOworICAgICAgICAgICAgdGhpcy5fZWRpdGluZ0NhbmNlbGxlZChlbGVtZW50
LCBhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IDkyOWNhYTIuLmU5Nzkx
YjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3Nz
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC02NDQs
NiArNjQ0LDEwIEBAIGJvZHkuY29uc29sZS12aXNpYmxlICNjb25zb2xlIHsKICAgICBtYXJnaW4t
cmlnaHQ6IC02cHg7CiB9CiAKKy5jb25zb2xlLWdyb3VwLW1lc3NhZ2VzIC5hZGQtYXR0cmlidXRl
IHsKKyAgICBkaXNwbGF5OiBub25lOworfQorCiAuY29uc29sZS1mb3JtYXR0ZWQtb2JqZWN0LCAu
Y29uc29sZS1mb3JtYXR0ZWQtbm9kZSB7CiAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKQEAgLTEwOTAsNiArMTA5NCwxMSBAQCBib2R5LmNvbnNvbGUt
dmlzaWJsZSAjY29uc29sZSB7CiAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiB9CiAK
Ky5hZGQtYXR0cmlidXRlIHsKKyAgICBtYXJnaW4tbGVmdDogMXB4OworICAgIG1hcmdpbi1yaWdo
dDogMXB4OworfQorCiAucGxhY2FyZCB7CiAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgIG1h
cmdpbi10b3A6IDFweDsK
</data>
<flag name="review"
          id="17651"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33360</attachid>
            <date>2009-07-23 13:22:39 -0700</date>
            <delta_ts>2009-07-23 14:43:39 -0700</delta_ts>
            <desc>Add Attributes to Nodes More Improved</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>7026</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzczNTFhZC4uZDAwZmZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wNy0yMSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnNwZWN0b3I6IEltcG9zc2libGUgdG8gYWRkIGFuIGF0dHJp
YnV0ZSB0byBhIG5vZGUgd2l0aG91dCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEwOAorCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzVHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVs
ZW1lbnQucHJvdG90eXBlLnNldCBob3ZlcmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZS50b2dnbGVOZXdCdXR0b24pOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uZGJsY2xpY2spOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLl9zdGFydEVk
aXRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90
eXBlLl9hZGROZXdBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJl
ZUVsZW1lbnQucHJvdG90eXBlLl9hdHRyaWJ1dGVFZGl0aW5nQ29tbWl0dGVkKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisKIDIwMDktMDctMjAgIEFkYW0g
TGFuZ2xleSAgPGFnbEBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJl
ZU91dGxpbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0
bGluZS5qcwppbmRleCAyZGEyZjEwLi4wYzkyZDUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcworKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcwpAQCAtMjU1LDYgKzI1NSwxMCBA
QCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKG5vZGUpCiAKICAg
ICAvLyBUaGUgdGl0bGUgd2lsbCBiZSB1cGRhdGVkIGluIG9uYXR0YWNoLgogICAgIFRyZWVFbGVt
ZW50LmNhbGwodGhpcywgIiIsIG5vZGUsIHRpdGxlSW5mby5oYXNDaGlsZHJlbik7CisgICAgCisg
ICAgLy8gQ2FuIGFkZCBhdHRyaWJ1dGVzCisgICAgaWYgKHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
bm9kZVR5cGUgPT0gTm9kZS5FTEVNRU5UX05PREUpCisgICAgICAgIHRoaXMuX2NhbkFkZEF0dHJp
YnV0ZXMgPSB0cnVlOwogfQogCiBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90
b3R5cGUgPSB7CkBAIC0yOTYsOSArMzAwLDM2IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVu
dC5hZGRTdHlsZUNsYXNzKCJob3ZlcmVkIik7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJob3ZlcmVkIik7
CisgICAgICAgICAgICBpZiAodGhpcy5fY2FuQWRkQXR0cmlidXRlcykKKyAgICAgICAgICAgICAg
ICB0aGlzLnRvZ2dsZU5ld0F0dHJpYnV0ZUJ1dHRvbigpOwogICAgICAgICB9CiAgICAgfSwKIAor
ICAgIHRvZ2dsZU5ld0F0dHJpYnV0ZUJ1dHRvbjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
ZnVuY3Rpb24gcmVtb3ZlV2hlbkVkaXRpbmcoZXZlbnQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlmICh0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50ICYmIHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1l
bnQucGFyZW50Tm9kZSkKKyAgICAgICAgICAgICAgICB0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50
LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudCk7CisgICAg
ICAgICAgICBkZWxldGUgdGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudDsKKyAgICAgICAgfQorCisg
ICAgICAgIGlmICghdGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudCAmJiB0aGlzLl9ob3ZlcmVkICYm
ICF0aGlzLl9lZGl0aW5nKSB7CisgICAgICAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgICAgIHNwYW4uY2xhc3NOYW1lID0gImFkZC1hdHRy
aWJ1dGUiOworICAgICAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9ICJcdTIwMjYiOworICAgICAg
ICAgICAgc3Bhbi5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsIHJlbW92ZVdoZW5FZGl0aW5n
LmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICAgICAgICAgIHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1l
bnQgPSBzcGFuOworCisgICAgICAgICAgICB2YXIgdGFnID0gdGhpcy5saXN0SXRlbUVsZW1lbnQu
Z2V0RWxlbWVudHNCeUNsYXNzTmFtZSgid2Via2l0LWh0bWwtdGFnIilbMF07CisgICAgICAgICAg
ICB0aGlzLl9pbnNlcnRJbkxhc3RBdHRyaWJ1dGVQb3NpdGlvbih0YWcsIHNwYW4pOworICAgICAg
ICB9IGVsc2UgaWYgKCF0aGlzLl9ob3ZlcmVkICYmIHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQp
IHsKKyAgICAgICAgICAgIGlmICh0aGlzLl9hZGRBdHRyaWJ1dGVFbGVtZW50LnBhcmVudE5vZGUp
CisgICAgICAgICAgICAgICAgdGhpcy5fYWRkQXR0cmlidXRlRWxlbWVudC5wYXJlbnROb2RlLnJl
bW92ZUNoaWxkKHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQpOworICAgICAgICAgICAgZGVsZXRl
IHRoaXMuX2FkZEF0dHJpYnV0ZUVsZW1lbnQ7CisgICAgICAgIH0KKyAgICB9LAorICAgIAogICAg
IHVwZGF0ZVNlbGVjdGlvbjogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdmFyIGxpc3RJdGVt
RWxlbWVudCA9IHRoaXMubGlzdEl0ZW1FbGVtZW50OwpAQCAtNDgzLDcgKzUxNCw3IEBAIFdlYklu
c3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRo
aXMuX2VkaXRpbmcpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX3N0
YXJ0RWRpdGluZyhldmVudCkpCisgICAgICAgIGlmICh0aGlzLl9zdGFydEVkaXRpbmcoZXZlbnQs
IHRyZWVFbGVtZW50KSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodGhpcy50
cmVlT3V0bGluZS5wYW5lbCkgewpAQCAtNDk1LDcgKzUyNiwyMCBAQCBXZWJJbnNwZWN0b3IuRWxl
bWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLmV4cGFuZCgp
OwogICAgIH0sCiAKLSAgICBfc3RhcnRFZGl0aW5nOiBmdW5jdGlvbihldmVudCkKKyAgICBfaW5z
ZXJ0SW5MYXN0QXR0cmlidXRlUG9zaXRpb246IGZ1bmN0aW9uKHRhZywgbm9kZSkKKyAgICB7Cisg
ICAgICAgIGlmICh0YWcuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgid2Via2l0LWh0bWwtYXR0cmli
dXRlIikubGVuZ3RoID4gMCkKKyAgICAgICAgICAgIHRhZy5pbnNlcnRCZWZvcmUobm9kZSwgdGFn
Lmxhc3RDaGlsZCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdmFyIG5vZGVOYW1lID0g
dGFnLnRleHRDb250ZW50Lm1hdGNoKC9ePCguKj8pPiQvKVsxXTsKKyAgICAgICAgICAgIHRhZy50
ZXh0Q29udGVudCA9ICcnOworICAgICAgICAgICAgdGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCc8Jytub2RlTmFtZSkpOworICAgICAgICAgICAgdGFnLmFwcGVuZENoaWxk
KG5vZGUpOworICAgICAgICAgICAgdGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCc+JykpOworICAgICAgICB9CisgICAgfSwKKworICAgIF9zdGFydEVkaXRpbmc6IGZ1bmN0
aW9uKGV2ZW50LCB0cmVlRWxlbWVudCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLnRyZWVPdXRs
aW5lLmZvY3VzZWRET01Ob2RlICE9IHRoaXMucmVwcmVzZW50ZWRPYmplY3QpCiAgICAgICAgICAg
ICByZXR1cm47CkBAIC01MTEsOSArNTU1LDM3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGF0dHJpYnV0ZSkKICAgICAgICAgICAg
IHJldHVybiB0aGlzLl9zdGFydEVkaXRpbmdBdHRyaWJ1dGUoYXR0cmlidXRlLCBldmVudCk7CiAK
KyAgICAgICAgdmFyIG5ld0F0dHJpYnV0ZSA9IGV2ZW50LnRhcmdldC5lbmNsb3NpbmdOb2RlT3JT
ZWxmV2l0aENsYXNzKCJhZGQtYXR0cmlidXRlIik7CisgICAgICAgIGlmIChuZXdBdHRyaWJ1dGUp
CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRkTmV3QXR0cmlidXRlKGV2ZW50LCB0cmVlRWxl
bWVudCk7CisKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0sCiAKKyAgICBfYWRkTmV3QXR0
cmlidXRlOiBmdW5jdGlvbihldmVudCwgdHJlZUVsZW1lbnQpCisgICAgeworICAgICAgICB2YXIg
YXR0ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgYXR0ci5jbGFz
c05hbWUgPSAid2Via2l0LWh0bWwtYXR0cmlidXRlIjsKKyAgICAgICAgYXR0ci5zdHlsZS5tYXJn
aW5MZWZ0ID0gIjJweCI7IC8vIG92ZXJyaWRlcyB0aGUgLmVkaXRpbmcgbWFyZ2luIHJ1bGUKKyAg
ICAgICAgYXR0ci5zdHlsZS5tYXJnaW5SaWdodCA9ICIycHgiOyAvLyBvdmVycmlkZXMgdGhlIC5l
ZGl0aW5nIG1hcmdpbiBydWxlCisgICAgICAgIHZhciBuYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgic3BhbiIpOworICAgICAgICBuYW1lLmNsYXNzTmFtZSA9ICJ3ZWJraXQtaHRtbC1hdHRy
aWJ1dGUtbmFtZSBuZXctYXR0cmlidXRlIjsKKyAgICAgICAgbmFtZS50ZXh0Q29udGVudCA9ICIg
IjsKKyAgICAgICAgdmFyIHZhbHVlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwor
ICAgICAgICB2YWx1ZS5jbGFzc05hbWUgPSAid2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIjsK
KyAgICAgICAgYXR0ci5hcHBlbmRDaGlsZChuYW1lKTsKKyAgICAgICAgYXR0ci5hcHBlbmRDaGls
ZCh2YWx1ZSk7CisKKyAgICAgICAgdmFyIHRhZyA9IHRyZWVFbGVtZW50Lmxpc3RJdGVtRWxlbWVu
dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ3ZWJraXQtaHRtbC10YWciKVswXTsKKyAgICAgICAg
dGhpcy5faW5zZXJ0SW5MYXN0QXR0cmlidXRlUG9zaXRpb24odGFnLCBhdHRyKTsKKworICAgICAg
ICAvLyBTdGFydCBlZGl0aW5nIHRoZSBhdHRyIHNwYW4gYW5kIGhpZ2hsaWdodCBpdCBmaXJzdAor
ICAgICAgICAvLyBOT1RFOiBfc3RhcnRFZGl0aW5nQXR0cmlidXRlIG9ubHkgbG9va3MgYXQgdGhl
ICJ0YXJnZXQiLCBzbyB3ZQorICAgICAgICAvLyBjYW4gZmFrZSBhbiBvYmplY3QgaGVyZSBpbnN0
ZWFkIG9mIHBhc3NpbmcgdGhlICJldmVudCIgd2l0aCB0aGUKKyAgICAgICAgLy8gd3JvbmcgdGFy
Z2V0IGVsZW1lbnQKKyAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXJ0RWRpdGluZ0F0dHJpYnV0ZShh
dHRyLCB7dGFyZ2V0OiBhdHRyfSk7CisgICAgfSwKKwogICAgIF9zdGFydEVkaXRpbmdBdHRyaWJ1
dGU6IGZ1bmN0aW9uKGF0dHJpYnV0ZSwgZXZlbnQpCiAgICAgewogICAgICAgICBpZiAoV2ViSW5z
cGVjdG9yLmlzQmVpbmdFZGl0ZWQoYXR0cmlidXRlKSkKQEAgLTU3MSw3ICs2NDMsNyBAQCBXZWJJ
bnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHBhcnNl
Q29udGFpbmVyRWxlbWVudC5pbm5lckhUTUwgPSAiPHNwYW4gIiArIG5ld1RleHQgKyAiPjwvc3Bh
bj4iOwogICAgICAgICB2YXIgcGFyc2VFbGVtZW50ID0gcGFyc2VDb250YWluZXJFbGVtZW50LmZp
cnN0Q2hpbGQ7CiAgICAgICAgIGlmICghcGFyc2VFbGVtZW50IHx8ICFwYXJzZUVsZW1lbnQuaGFz
QXR0cmlidXRlcygpKSB7Ci0gICAgICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1l
bnQsIGNvbnRleHQpOworICAgICAgICAgICAgdGhpcy5fZWRpdGluZ0NhbmNlbGxlZChlbGVtZW50
LCBhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IDkyOWNhYTIuLmU5Nzkx
YjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3Nz
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC02NDQs
NiArNjQ0LDEwIEBAIGJvZHkuY29uc29sZS12aXNpYmxlICNjb25zb2xlIHsKICAgICBtYXJnaW4t
cmlnaHQ6IC02cHg7CiB9CiAKKy5jb25zb2xlLWdyb3VwLW1lc3NhZ2VzIC5hZGQtYXR0cmlidXRl
IHsKKyAgICBkaXNwbGF5OiBub25lOworfQorCiAuY29uc29sZS1mb3JtYXR0ZWQtb2JqZWN0LCAu
Y29uc29sZS1mb3JtYXR0ZWQtbm9kZSB7CiAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKQEAgLTEwOTAsNiArMTA5NCwxMSBAQCBib2R5LmNvbnNvbGUt
dmlzaWJsZSAjY29uc29sZSB7CiAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiB9CiAK
Ky5hZGQtYXR0cmlidXRlIHsKKyAgICBtYXJnaW4tbGVmdDogMXB4OworICAgIG1hcmdpbi1yaWdo
dDogMXB4OworfQorCiAucGxhY2FyZCB7CiAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgIG1h
cmdpbi10b3A6IDFweDsK
</data>
<flag name="review"
          id="17656"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>