<?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>82010</bug_id>
          
          <creation_ts>2012-03-22 21:16:34 -0700</creation_ts>
          <short_desc>[Shadow DOM] InsertionPoint should have isActive() member function.</short_desc>
          <delta_ts>2012-04-16 19:56:03 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77499</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>morrita</cc>
    
    <cc>shinyak</cc>
    
    <cc>tasak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>586066</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-22 21:16:34 -0700</bug_when>
    <thetext>According to the Shadow DOM spec, each InsertionPoint is either &apos;active&apos; or &apos;inactive&apos;.
it will be useful if InsertionPoint has isActive() member function so that we can know it easily.

One use case is ReifiedTreeTraversal. See the comment on https://bugs.webkit.org/show_bug.cgi?id=79197#c34.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596274</commentid>
    <comment_count>1</comment_count>
      <attachid>135751</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-04-04 20:54:06 -0700</bug_when>
    <thetext>Created attachment 135751
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598081</commentid>
    <comment_count>2</comment_count>
      <attachid>135751</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-04-08 17:40:02 -0700</bug_when>
    <thetext>Comment on attachment 135751
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [Shadow DOM] InsertionPoint should have isActive() member function.

This change doesn&apos;t look just adding a member function. It also affects the behavior.
Could you reflect that fact in this summary?

Also for the record, could you have a link to the spec in the changelog?

&gt; Source/WebCore/html/shadow/InsertionPoint.cpp:51
&gt; +    if (isShadowBoundary() &amp;&amp; isActive()) {

My feeling is that isShadowBoundary() should contains isActive() since inactive node cannot be a boundary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598111</commentid>
    <comment_count>3</comment_count>
      <attachid>136174</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-04-08 20:41:36 -0700</bug_when>
    <thetext>Created attachment 136174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598112</commentid>
    <comment_count>4</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-04-08 20:45:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 135751 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135751&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        [Shadow DOM] InsertionPoint should have isActive() member function.
&gt; 
&gt; This change doesn&apos;t look just adding a member function. It also affects the behavior.
&gt; Could you reflect that fact in this summary?

I see. I updated the summary. 

&gt; 
&gt; Also for the record, could you have a link to the spec in the changelog?

I added a link, https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#dfn-active-insertion-point.

&gt; 
&gt; &gt; Source/WebCore/html/shadow/InsertionPoint.cpp:51
&gt; &gt; +    if (isShadowBoundary() &amp;&amp; isActive()) {
&gt; 
&gt; My feeling is that isShadowBoundary() should contains isActive() since inactive node cannot be a boundary.

I see. I added isActive check to isShadowBoundary and removed from attach().

Best regards,
Takashi Sakamoto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599918</commentid>
    <comment_count>5</comment_count>
      <attachid>136174</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-10 18:48:52 -0700</bug_when>
    <thetext>Comment on attachment 136174
Patch

Rejecting attachment 136174 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: ChangeLog entry in Source/WebCore/ChangeLog is not at the top of the file.

Full output: http://queues.webkit.org/results/12383553</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600013</commentid>
    <comment_count>6</comment_count>
      <attachid>136619</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-04-10 21:44:06 -0700</bug_when>
    <thetext>Created attachment 136619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600014</commentid>
    <comment_count>7</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-04-10 21:44:40 -0700</bug_when>
    <thetext>I modified patch for fixing the following issue:
ERROR: ChangeLog entry in Source/WebCore/ChangeLog is not at the top of the file.

Best regards,
Takashi Sakamoto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603681</commentid>
    <comment_count>8</comment_count>
      <attachid>136619</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-04-16 19:09:15 -0700</bug_when>
    <thetext>Comment on attachment 136619
Patch

Oops. Sorry for missing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603725</commentid>
    <comment_count>9</comment_count>
      <attachid>136619</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-16 19:55:58 -0700</bug_when>
    <thetext>Comment on attachment 136619
Patch

Clearing flags on attachment: 136619

Committed r114334: &lt;http://trac.webkit.org/changeset/114334&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603726</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-16 19:56:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135751</attachid>
            <date>2012-04-04 20:54:06 -0700</date>
            <delta_ts>2012-04-08 20:41:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82010-20120405125404.patch</filename>
            <type>text/plain</type>
            <size>9868</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQwNzUwMDk3ZjgwMmYz
MDExZjVkNTlmNWVhNmZjYjI0ZGZhZjEyMC4uZWZjN2ZkOTI4ZTE2NDI4YjJmNzQ5Mjg1NTgxNDJk
OWMxNWQxYTIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA0LTA0ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV0g
SW5zZXJ0aW9uUG9pbnQgc2hvdWxkIGhhdmUgaXNBY3RpdmUoKSBtZW1iZXIgZnVuY3Rpb24uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjAxMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBpc0FjdGl2ZSBwdWJsaWMgbWVtYmVyIGZ1bmN0aW9uIHRvIEluc2VydGlvblBvaW50Lgor
ICAgICAgICBBY2NvcmRpbmcgdG8gdGhlIHVwZGF0ZSwgdGhpcyBwYXRjaCBhbHNvIHVwZGF0ZXMg
dGhlIHdheSB0byByZW5kZXIgaW5zZXJ0aW9uIHBvaW50cworICAgICAgICB3aGVuIGluc2VydGlv
biBwb2ludHMgYXJlIGluYWN0aXZlLgorCisgICAgICAgIFRlc3Q6IHVwZGF0ZSBleGlzdGluZyB0
ZXN0cywgaS5lLgorICAgICAgICBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNv
bnRlbnRzLWZhbGxiYWNrLWR5bmFtaWMuaHRtbCBhbmQKKyAgICAgICAgTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay5odG1sCisKKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRp
b25Qb2ludDo6aXNBY3RpdmUpOgorICAgICAgICBBIG5ldyBwdWJsaWMgbWV0aG9kIGZvciBjaGVj
a2luZyB3aGV0aGVyIGFuIGluc2VydGlvbiBwb2ludCBpcyBhY3RpdmUgb3IgaW5hY3RpdmUuCisg
ICAgICAgIElmIGFjdGl2ZSwgcmV0dXJucyB0cnVlLiBPdGhlcndpc2UsIGZhbHNlLgorICAgICAg
ICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9pbnQ6OnJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICBD
aGFuZ2VkIHRvIHJldHVybiB0cnVlIElmIGFuIGluc2VydGlvbiBwb2ludCBpcyBpbmFjdGl2ZS4K
KyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjphdHRhY2gpOgorICAgICAgICBDaGFu
Z2VkIHRvIGNhbGwgb25seSBIVE1MRWxlbWVudDo6YXR0YWNoIElmIGFuIGluc2VydGlvbiBwb2lu
dCBpcyBpbmFjdGl2ZS4KKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjpkZXRhY2gp
OgorICAgICAgICBDaGFuZ2VkIHRvIGNhbGwgb25seSBIVE1MRWxlbWVudDo6ZGV0YWNoIElmIGFu
IGluc2VydGlvbiBwb2ludCBpcyBpbmFjdGl2ZS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNl
cnRpb25Qb2ludC5oOgorICAgICAgICAoSW5zZXJ0aW9uUG9pbnQpOgorICAgICAgICBBZGRlZCBp
c0FjdGl2ZSBwdWJsaWMgbWV0aG9kLgorICAgICAgICAqIGRvbS9Ob2RlUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6Tm9kZVJlbmRl
cmluZ0NvbnRleHQpOgorICAgICAgICBDaGFuZ2VkIHRvIHRha2UgaW50byBhY2NvdW50IGFuIGlu
c2VydGlvbiBwb2ludCdzIGFjdGl2ZW5lc3Mgd2hlbiBwYXJlbnQgaXMgYW4gaW5zZXJ0aW9uIHBv
aW50LgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmluZ0NvbnRleHQ6OmZpcnN0UmVuZGVy
ZXJPZik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6bGFzdFJlbmRl
cmVyT2YpOgorICAgICAgICBDaGFuZ2VkIHRvIHRha2UgaW50byBhY2NvdW50IGFuIGluc2VydGlv
biBwb2ludCdzIGFjdGl2ZW5lc3MuCisKIDIwMTItMDQtMDMgIFJhZmFlbCBXZWluc3RlaW4gIDxy
YWZhZWx3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVc2UgVjggY29tcGxldGlvbiBjYWxsYmFj
ayBBUEkgdG8gYXNzZXJ0IHRoYXQgVjhSZWN1cnNpb25TY29wZSBpcyBvbiB0aGUgc3RhY2sgd2hl
bmV2ZXIgaW52b2tpbmcgc2NyaXB0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZVJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdD
b250ZXh0LmNwcAppbmRleCAyZWY2ZmQ0NzUzYTgyYjM3MDljMmZlMzgwMTQ0MjdjMzVlNWUxNjVi
Li5mZTQ3ODEwODY2MzBlOTI5YTBjYjk3Y2ZmZjg2Y2MyNjAyMGRmMjlhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTEwMCw3ICsxMDAsMTEgQEAg
Tm9kZVJlbmRlcmluZ0NvbnRleHQ6Ok5vZGVSZW5kZXJpbmdDb250ZXh0KE5vZGUqIG5vZGUpCiAg
ICAgICAgICAgICAgICAgbV9waGFzZSA9IEF0dGFjaGluZ05vdEZhbGxiYWNrZWQ7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbV9waGFzZSA9IEF0dGFjaGluZ0ZhbGxiYWNrZWQ7
Ci0gICAgICAgICAgICBtX3BhcmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSA9IE5vZGVSZW5k
ZXJpbmdDb250ZXh0KHBhcmVudCkucGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlKCk7CisK
KyAgICAgICAgICAgIGlmICh0b0luc2VydGlvblBvaW50KHBhcmVudCktPmlzQWN0aXZlKCkpCisg
ICAgICAgICAgICAgICAgbV9wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUgPSBOb2RlUmVu
ZGVyaW5nQ29udGV4dChwYXJlbnQpLnBhcmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSgpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG1fcGFyZW50Tm9kZUZvclJlbmRlcmlu
Z0FuZFN0eWxlID0gcGFyZW50OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQpAQCAtMjAxLDcgKzIwNSw3IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBmaXJzdFJl
bmRlcmVyT2YoTm9kZSogbm9kZSkKICAgICAgICAgICAgIHJldHVybiBub2RlLT5yZW5kZXJlcigp
OwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGlzSW5zZXJ0aW9uUG9pbnQobm9kZSkpIHsKKyAg
ICAgICAgaWYgKGlzSW5zZXJ0aW9uUG9pbnQobm9kZSkgJiYgdG9JbnNlcnRpb25Qb2ludChub2Rl
KS0+aXNBY3RpdmUoKSkgewogICAgICAgICAgICAgaWYgKFJlbmRlck9iamVjdCogZmlyc3QgPSBm
aXJzdFJlbmRlcmVyT2ZJbnNlcnRpb25Qb2ludCh0b0luc2VydGlvblBvaW50KG5vZGUpKSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmlyc3Q7CiAgICAgICAgIH0KQEAgLTIxOSw3ICsyMjMsNyBA
QCBzdGF0aWMgaW5saW5lIFJlbmRlck9iamVjdCogbGFzdFJlbmRlcmVyT2YoTm9kZSogbm9kZSkK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIHJldHVybiBub2RlLT5yZW5k
ZXJlcigpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChpc0luc2VydGlvblBvaW50KG5vZGUpKSB7
CisgICAgICAgIGlmIChpc0luc2VydGlvblBvaW50KG5vZGUpICYmIHRvSW5zZXJ0aW9uUG9pbnQo
bm9kZSktPmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIGxhc3Qg
PSBsYXN0UmVuZGVyZXJPZkluc2VydGlvblBvaW50KHRvSW5zZXJ0aW9uUG9pbnQobm9kZSkpKQog
ICAgICAgICAgICAgICAgIHJldHVybiBsYXN0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKaW5kZXggMzJmMjRmNDc0M2VlZTA2MGY5
ZGFkNTFiNmE3ODZjMjgzZmVlMjg5Ni4uNWRjMGZkZjRlMmY1MTI0YWI0YmEyMDk1MjBjODI0ZTk4
MWNiMzJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9u
UG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50
LmNwcApAQCAtNDgsOSArNDgsOCBAQCBJbnNlcnRpb25Qb2ludDo6fkluc2VydGlvblBvaW50KCkK
IAogdm9pZCBJbnNlcnRpb25Qb2ludDo6YXR0YWNoKCkKIHsKLSAgICBUcmVlU2NvcGUqIHNjb3Bl
ID0gdHJlZVNjb3BlKCk7Ci0gICAgaWYgKHNjb3BlLT5yb290Tm9kZSgpLT5pc1NoYWRvd1Jvb3Qo
KSkgewotICAgICAgICBTaGFkb3dSb290KiByb290ID0gdG9TaGFkb3dSb290KHNjb3BlLT5yb290
Tm9kZSgpKTsKKyAgICBpZiAoaXNTaGFkb3dCb3VuZGFyeSgpICYmIGlzQWN0aXZlKCkpIHsKKyAg
ICAgICAgU2hhZG93Um9vdCogcm9vdCA9IHRvU2hhZG93Um9vdCh0cmVlU2NvcGUoKS0+cm9vdE5v
ZGUoKSk7CiAgICAgICAgIGlmIChkb2VzU2VsZWN0RnJvbUhvc3RDaGlsZHJlbigpKSB7CiAgICAg
ICAgICAgICBkaXN0cmlidXRlSG9zdENoaWxkcmVuKHJvb3QtPnRyZWUoKSk7CiAgICAgICAgICAg
ICBhdHRhY2hEaXN0cmlidXRlZE5vZGUoKTsKQEAgLTY2LDcgKzY1LDggQEAgdm9pZCBJbnNlcnRp
b25Qb2ludDo6YXR0YWNoKCkKIAogdm9pZCBJbnNlcnRpb25Qb2ludDo6ZGV0YWNoKCkKIHsKLSAg
ICBpZiAoU2hhZG93Um9vdCogcm9vdCA9IHRvU2hhZG93Um9vdChzaGFkb3dUcmVlUm9vdE5vZGUo
KSkpIHsKKyAgICBTaGFkb3dSb290KiByb290ID0gdG9TaGFkb3dSb290KHNoYWRvd1RyZWVSb290
Tm9kZSgpKTsKKyAgICBpZiAocm9vdCAmJiBpc0FjdGl2ZSgpKSB7CiAgICAgICAgIFNoYWRvd1Ry
ZWUqIHRyZWUgPSByb290LT50cmVlKCk7CiAKICAgICAgICAgaWYgKGRvZXNTZWxlY3RGcm9tSG9z
dENoaWxkcmVuKCkpCkBAIC0xMDAsOSArMTAwLDIxIEBAIGJvb2wgSW5zZXJ0aW9uUG9pbnQ6Omlz
U2hhZG93Qm91bmRhcnkoKSBjb25zdAogICAgIHJldHVybiB0cmVlU2NvcGUoKS0+cm9vdE5vZGUo
KS0+aXNTaGFkb3dSb290KCk7CiB9CiAKK2Jvb2wgSW5zZXJ0aW9uUG9pbnQ6OmlzQWN0aXZlKCkg
Y29uc3QKK3sKKyAgICBjb25zdCBOb2RlKiBub2RlID0gcGFyZW50Tm9kZSgpOworICAgIHdoaWxl
IChub2RlKSB7CisgICAgICAgIGlmIChXZWJDb3JlOjppc0luc2VydGlvblBvaW50KG5vZGUpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnRO
b2RlKCk7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiBib29sIEluc2VydGlvblBvaW50
OjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjb250ZXh0KQog
ewotICAgIHJldHVybiAhaXNTaGFkb3dCb3VuZGFyeSgpICYmIEhUTUxFbGVtZW50OjpyZW5kZXJl
cklzTmVlZGVkKGNvbnRleHQpOworICAgIHJldHVybiAhKGlzU2hhZG93Qm91bmRhcnkoKSAmJiBp
c0FjdGl2ZSgpKSAmJiBIVE1MRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChjb250ZXh0KTsKIH0K
IAogaW5saW5lIHZvaWQgSW5zZXJ0aW9uUG9pbnQ6OmRpc3RyaWJ1dGVIb3N0Q2hpbGRyZW4oU2hh
ZG93VHJlZSogdHJlZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0lu
c2VydGlvblBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2lu
dC5oCmluZGV4IDc0YjFhMjAwYzRkOWUyYjEyNzgwNTRjNDQ3YWY0MDExZDQ2ZDQ4YjAuLjFkYThj
ODBkYjliMjE2MzdmZmUzOGE4OTllOTFkYWVjNDkyZTlkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgSFRNTENvbnRlbnRTZWxlY3Rpb25MaXN0KiBzZWxlY3Rpb25zKCkgY29uc3QgeyBy
ZXR1cm4gJm1fc2VsZWN0aW9uczsgfQogICAgIGJvb2wgaGFzU2VsZWN0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9zZWxlY3Rpb25zLmZpcnN0KCk7IH0KICAgICBib29sIGlzU2hhZG93Qm91bmRhcnko
KSBjb25zdDsKKyAgICBib29sIGlzQWN0aXZlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc1Nl
bGVjdFZhbGlkKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay1keW5hbWljLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLWR5bmFtaWMuaHRtbApp
bmRleCAxZmVhOTRmZGFlZmRjYjczOWIxY2ZlYzMxMTk5NGEwMTY2NjgwNGYzLi43ZjgyZGM5MzI4
NzkyNDEzMWZlOWE3YTYxMTdiOTEzZTJmNzhmNDU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLWR5bmFtaWMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLWR5
bmFtaWMuaHRtbApAQCAtMzQyLDcgKzM0Miw3IEBAIGZ1bmN0aW9uIHRlc3RDb21wbGV4UmVwbGFj
ZShjYWxsSWZEb25lKSB7CiAKIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250ZW50KGNhbGxJZkRv
bmUpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXhwZWN0LWNvbnRhaW5lcicpLmlu
bmVySFRNTCA9Ci0gICAgICAgICI8ZGl2PntTSEFET1c6IDxzcGFuPlMxPC9zcGFuPjxzcGFuPlMy
PC9zcGFuPn08L2Rpdj4iOworICAgICAgICAiPGRpdj57U0hBRE9XOiA8Y29udGVudD48c3Bhbj5D
T05URU5UIDIgRkFMTEJBQ0s8L3NwYW4+PC9jb250ZW50Pn08L2Rpdj4iOwogCiAgICAgdmFyIHRh
cmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHRhcmdldC5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ1MxJykpOwpAQCAtMzczLDcgKzM3Myw3IEBAIGZ1bmN0
aW9uIHRlc3RDb250ZW50SW5Db250ZW50KGNhbGxJZkRvbmUpIHsKIAogZnVuY3Rpb24gdGVzdENv
bnRlbnRJbkNvbnRlbnRGYWxsYmFjayhjYWxsSWZEb25lKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2V4cGVjdC1jb250YWluZXInKS5pbm5lckhUTUwgPQotICAgICAgICAiPGRpdj57
U0hBRE9XOiA8c3Bhbj5DT05URU5UIDIgRkFMTEJBQ0s8L3NwYW4+fTwvZGl2PiI7CisgICAgICAg
ICI8ZGl2PntTSEFET1c6IDxjb250ZW50PjxzcGFuPkNPTlRFTlQgMiBGQUxMQkFDSzwvc3Bhbj48
L2NvbnRlbnQ+fTwvZGl2PiI7CiAKICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiAgICAgdGFyZ2V0LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
UzEnKSk7CkBAIC00MDQsNyArNDA0LDcgQEAgZnVuY3Rpb24gdGVzdENvbnRlbnRJbkNvbnRlbnRG
YWxsYmFjayhjYWxsSWZEb25lKSB7CiAKIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250ZW50RmFs
bGJhY2tEaXJlY3QoY2FsbElmRG9uZSkgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
eHBlY3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAgICAgICAgIjxkaXY+PHNwYW4+Q09OVEVO
VCAyIEZBTExCQUNLPC9zcGFuPjwvZGl2PiI7CisgICAgICAgICI8ZGl2Pjxjb250ZW50PjxzcGFu
PkNPTlRFTlQgMiBGQUxMQkFDSzwvc3Bhbj48L2NvbnRlbnQ+PC9kaXY+IjsKIAogICAgIHZhciB0
YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICB0YXJnZXQuYXBwZW5k
Q2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTMScpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudHMtZmFsbGJhY2suaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudHMtZmFsbGJhY2suaHRtbAppbmRleCAx
M2ZmNTFlMDE5ODY4OTczNGQ4Nzk5ZWU1ZmZiNGJlNDcyNmQ5YzFhLi44OWVkMjJmYTlhOTljNmM0
ZmZjMWQ2MDRhNmM1MDY3NGFjMDZmMWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay5odG1sCkBAIC0yNjcsNyAr
MjY3LDcgQEAgZnVuY3Rpb24gdGVzdENvbnRlbnRJbkNvbnRlbnQoKSB7CiAKICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVuZENoaWxkKHRhcmdldCk7
CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdC1jb250YWluZXInKS5pbm5lckhU
TUwgPQotICAgICAgICAiPGRpdj57U0hBRE9XOiA8c3Bhbj5TMTwvc3Bhbj48c3Bhbj5TMjwvc3Bh
bj59PC9kaXY+IjsKKyAgICAgICAgIjxkaXY+e1NIQURPVzogPGNvbnRlbnQ+PHNwYW4+Q09OVEVO
VCAyIEZBTExCQUNLPC9zcGFuPjwvY29udGVudD59PC9kaXY+IjsKIH0KIAogZnVuY3Rpb24gdGVz
dENvbnRlbnRJbkNvbnRlbnRGYWxsYmFjaygpIHsKQEAgLTI5MCw3ICsyOTAsNyBAQCBmdW5jdGlv
biB0ZXN0Q29udGVudEluQ29udGVudEZhbGxiYWNrKCkgewogCiAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZCh0YXJnZXQpOwogICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAg
ICAgICAgIjxkaXY+e1NIQURPVzogPHNwYW4+Q09OVEVOVCAyIEZBTExCQUNLPC9zcGFuPn08L2Rp
dj4iOworICAgICAgICAiPGRpdj57U0hBRE9XOiA8Y29udGVudD48c3Bhbj5DT05URU5UIDIgRkFM
TEJBQ0s8L3NwYW4+PC9jb250ZW50Pn08L2Rpdj4iOwogfQogCiBmdW5jdGlvbiB0ZXN0Q29udGVu
dEluQ29udGVudEZhbGxiYWNrV2l0aERpc3BsYXlOb25lKCkgewpAQCAtMzE2LDcgKzMxNiw3IEBA
IGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250ZW50RmFsbGJhY2tXaXRoRGlzcGxheU5vbmUoKSB7
CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVu
ZENoaWxkKHRhcmdldCk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdC1jb250
YWluZXInKS5pbm5lckhUTUwgPQotICAgICAgICAiPGRpdj57U0hBRE9XOiA8c3Bhbj5DT05URU5U
IDIgRkFMTEJBQ0s8L3NwYW4+fTwvZGl2PiI7CisgICAgICAgICI8ZGl2PntTSEFET1c6IDxjb250
ZW50PjxzcGFuPkNPTlRFTlQgMiBGQUxMQkFDSzwvc3Bhbj48L2NvbnRlbnQ+fTwvZGl2PiI7CiB9
CiAKIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250ZW50RmFsbGJhY2tEaXJlY3QoKSB7CkBAIC0z
MzcsNyArMzM3LDcgQEAgZnVuY3Rpb24gdGVzdENvbnRlbnRJbkNvbnRlbnRGYWxsYmFja0RpcmVj
dCgpIHsKIAogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJyku
YXBwZW5kQ2hpbGQodGFyZ2V0KTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXhwZWN0
LWNvbnRhaW5lcicpLmlubmVySFRNTCA9Ci0gICAgICAgICI8ZGl2PjxzcGFuPkNPTlRFTlQgMiBG
QUxMQkFDSzwvc3Bhbj48L2Rpdj4iOworICAgICAgICAiPGRpdj48Y29udGVudD48c3Bhbj5DT05U
RU5UIDIgRkFMTEJBQ0s8L3NwYW4+PC9jb250ZW50PjwvZGl2PiI7CiB9CiAKIHZhciB0ZXN0RnVu
Y3MgPSBbCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136174</attachid>
            <date>2012-04-08 20:41:36 -0700</date>
            <delta_ts>2012-04-10 21:43:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82010-20120409124134.patch</filename>
            <type>text/plain</type>
            <size>10160</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ1NTdjNzhjOGVlZDU3
MjljNjU4Nzg3ZjBlOTgzMjRkMDUwYzUwMC4uNDdjMTQ5MWM4M2Y3ZDg3OGMwMzRhOTI1NmI2ODhm
Y2FmYjgzZDhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtNTU0NSw2ICs1NTQ1LDQ1IEBACiAgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6fkdyYXBoaWNzQ29udGV4dDNEKToKICAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjptYWtlQ29udGV4dEN1cnJlbnQpOgogCisyMDEy
LTA0LTA0ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBb
U2hhZG93IERPTV0gSW5zZXJ0aW9uUG9pbnQgc2hvdWxkIGhhdmUgaXNBY3RpdmUoKSBtZW1iZXIg
ZnVuY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MjAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWRkcyBpc0FjdGl2ZSBwdWJsaWMgbWVtYmVyIGZ1bmN0aW9uIHRvIEluc2Vy
dGlvblBvaW50IGFuZAorICAgICAgICBtYWtlcyBJbnNlcnRpb25Qb2ludCBlbGVtZW50cyBjb25z
aWRlciB3aGV0aGVyIGFjdGl2ZSBvciBub3QuCisgICAgICAgIElmIGFuIEluc2VydGlvblBvaW50
IGlzIGluYWN0aXZlLCB0aGUgZWxlbWVudCBpcyBub3Qgc2hhZG93IGJvdW5kYXJ5CisgICAgICAg
IGFuZCBpcyBuZWVkZWQgdG8gYmUgcmVuZGVyZWQuCisgICAgICAgIGMuZi4gaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy93ZWJjb21wb25lbnRzL3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5o
dG1sI2Rmbi1hY3RpdmUtaW5zZXJ0aW9uLXBvaW50CisKKyAgICAgICAgVGVzdDogdXBkYXRlIGV4
aXN0aW5nIHRlc3RzLCBpLmUuCisgICAgICAgIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctY29udGVudHMtZmFsbGJhY2stZHluYW1pYy5odG1sIGFuZAorICAgICAgICBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLmh0bWwKKworICAg
ICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc2VydGlvblBvaW50Ojppc0FjdGl2ZSk6CisgICAgICAgIEEgbmV3IHB1YmxpYyBtZXRob2Qg
Zm9yIGNoZWNraW5nIHdoZXRoZXIgYW4gaW5zZXJ0aW9uIHBvaW50IGlzIGFjdGl2ZSBvciBpbmFj
dGl2ZS4KKyAgICAgICAgSWYgYWN0aXZlLCByZXR1cm5zIHRydWUuIE90aGVyd2lzZSwgZmFsc2Uu
CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6aXNTaGFkb3dCb3VuZGFyeSk6Cisg
ICAgICAgIE1ha2UgdGhlIG1ldGhvZCBjb25zaWRlciB3aGV0aGVyIGFuIGluc2VydGluIHBvaW50
IGlzIGFjdGl2ZSBvciBpbmFjdGl2ZS4KKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50
OjpyZW5kZXJlcklzTmVlZGVkKToKKyAgICAgICAgQ2hhbmdlZCB0byByZXR1cm4gdHJ1ZSBJZiBh
biBpbnNlcnRpb24gcG9pbnQgaXMgaW5hY3RpdmUuCisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRp
b25Qb2ludDo6YXR0YWNoKToKKyAgICAgICAgQ2hhbmdlZCB0byBjYWxsIG9ubHkgSFRNTEVsZW1l
bnQ6OmF0dGFjaCBJZiBhbiBpbnNlcnRpb24gcG9pbnQgaXMgaW5hY3RpdmUuCisgICAgICAgIChX
ZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6ZGV0YWNoKToKKyAgICAgICAgQ2hhbmdlZCB0byBjYWxs
IG9ubHkgSFRNTEVsZW1lbnQ6OmRldGFjaCBJZiBhbiBpbnNlcnRpb24gcG9pbnQgaXMgaW5hY3Rp
dmUuCisgICAgICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaDoKKyAgICAgICAgKElu
c2VydGlvblBvaW50KToKKyAgICAgICAgQWRkZWQgaXNBY3RpdmUgcHVibGljIG1ldGhvZC4KKyAg
ICAgICAgKiBkb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZVJlbmRlcmluZ0NvbnRleHQ6Ok5vZGVSZW5kZXJpbmdDb250ZXh0KToKKyAgICAgICAgQ2hh
bmdlZCB0byB0YWtlIGludG8gYWNjb3VudCBhbiBpbnNlcnRpb24gcG9pbnQncyBhY3RpdmVuZXNz
IHdoZW4gcGFyZW50IGlzIGFuIGluc2VydGlvbiBwb2ludC4KKyAgICAgICAgKFdlYkNvcmU6Ok5v
ZGVSZW5kZXJpbmdDb250ZXh0OjpmaXJzdFJlbmRlcmVyT2YpOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZVJlbmRlcmluZ0NvbnRleHQ6Omxhc3RSZW5kZXJlck9mKToKKyAgICAgICAgQ2hhbmdlZCB0
byB0YWtlIGludG8gYWNjb3VudCBhbiBpbnNlcnRpb24gcG9pbnQncyBhY3RpdmVuZXNzLgorCiAy
MDEyLTA0LTAzICBSYWZhZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVXNlIFY4IGNvbXBsZXRpb24gY2FsbGJhY2sgQVBJIHRvIGFzc2VydCB0aGF0IFY4UmVj
dXJzaW9uU2NvcGUgaXMgb24gdGhlIHN0YWNrIHdoZW5ldmVyIGludm9raW5nIHNjcmlwdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggMmVmNmZkNDc1
M2E4MmIzNzA5YzJmZTM4MDE0NDI3YzM1ZTVlMTY1Yi4uZmU0NzgxMDg2NjMwZTkyOWEwY2I5N2Nm
ZmY4NmNjMjYwMjBkZjI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5k
ZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0Nv
bnRleHQuY3BwCkBAIC0xMDAsNyArMTAwLDExIEBAIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpOb2Rl
UmVuZGVyaW5nQ29udGV4dChOb2RlKiBub2RlKQogICAgICAgICAgICAgICAgIG1fcGhhc2UgPSBB
dHRhY2hpbmdOb3RGYWxsYmFja2VkOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
IG1fcGhhc2UgPSBBdHRhY2hpbmdGYWxsYmFja2VkOwotICAgICAgICAgICAgbV9wYXJlbnROb2Rl
Rm9yUmVuZGVyaW5nQW5kU3R5bGUgPSBOb2RlUmVuZGVyaW5nQ29udGV4dChwYXJlbnQpLnBhcmVu
dE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSgpOworCisgICAgICAgICAgICBpZiAodG9JbnNlcnRp
b25Qb2ludChwYXJlbnQpLT5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgICAgIG1fcGFyZW50Tm9k
ZUZvclJlbmRlcmluZ0FuZFN0eWxlID0gTm9kZVJlbmRlcmluZ0NvbnRleHQocGFyZW50KS5wYXJl
bnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBtX3BhcmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSA9IHBhcmVudDsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KQEAgLTIwMSw3ICsyMDUsNyBAQCBzdGF0
aWMgaW5saW5lIFJlbmRlck9iamVjdCogZmlyc3RSZW5kZXJlck9mKE5vZGUqIG5vZGUpCiAgICAg
ICAgICAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXIoKTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
IChpc0luc2VydGlvblBvaW50KG5vZGUpKSB7CisgICAgICAgIGlmIChpc0luc2VydGlvblBvaW50
KG5vZGUpICYmIHRvSW5zZXJ0aW9uUG9pbnQobm9kZSktPmlzQWN0aXZlKCkpIHsKICAgICAgICAg
ICAgIGlmIChSZW5kZXJPYmplY3QqIGZpcnN0ID0gZmlyc3RSZW5kZXJlck9mSW5zZXJ0aW9uUG9p
bnQodG9JbnNlcnRpb25Qb2ludChub2RlKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZpcnN0
OwogICAgICAgICB9CkBAIC0yMTksNyArMjIzLDcgQEAgc3RhdGljIGlubGluZSBSZW5kZXJPYmpl
Y3QqIGxhc3RSZW5kZXJlck9mKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgICAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXIoKTsKICAgICAgICAgfQotICAgICAg
ICBpZiAoaXNJbnNlcnRpb25Qb2ludChub2RlKSkgeworICAgICAgICBpZiAoaXNJbnNlcnRpb25Q
b2ludChub2RlKSAmJiB0b0luc2VydGlvblBvaW50KG5vZGUpLT5pc0FjdGl2ZSgpKSB7CiAgICAg
ICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiBsYXN0ID0gbGFzdFJlbmRlcmVyT2ZJbnNlcnRpb25Q
b2ludCh0b0luc2VydGlvblBvaW50KG5vZGUpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gbGFz
dDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5z
ZXJ0aW9uUG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9p
bnQuY3BwCmluZGV4IDMyZjI0ZjQ3NDNlZWUwNjBmOWRhZDUxYjZhNzg2YzI4M2ZlZTI4OTYuLjcw
YWY4NWUwOWUzYTM2ZWUyYTljZWE5MjQwNDI4MGYyNzYxZjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKQEAgLTQ4LDkgKzQ4LDggQEAgSW5z
ZXJ0aW9uUG9pbnQ6On5JbnNlcnRpb25Qb2ludCgpCiAKIHZvaWQgSW5zZXJ0aW9uUG9pbnQ6OmF0
dGFjaCgpCiB7Ci0gICAgVHJlZVNjb3BlKiBzY29wZSA9IHRyZWVTY29wZSgpOwotICAgIGlmIChz
Y29wZS0+cm9vdE5vZGUoKS0+aXNTaGFkb3dSb290KCkpIHsKLSAgICAgICAgU2hhZG93Um9vdCog
cm9vdCA9IHRvU2hhZG93Um9vdChzY29wZS0+cm9vdE5vZGUoKSk7CisgICAgaWYgKGlzU2hhZG93
Qm91bmRhcnkoKSkgeworICAgICAgICBTaGFkb3dSb290KiByb290ID0gdG9TaGFkb3dSb290KHRy
ZWVTY29wZSgpLT5yb290Tm9kZSgpKTsKICAgICAgICAgaWYgKGRvZXNTZWxlY3RGcm9tSG9zdENo
aWxkcmVuKCkpIHsKICAgICAgICAgICAgIGRpc3RyaWJ1dGVIb3N0Q2hpbGRyZW4ocm9vdC0+dHJl
ZSgpKTsKICAgICAgICAgICAgIGF0dGFjaERpc3RyaWJ1dGVkTm9kZSgpOwpAQCAtNjYsNyArNjUs
OCBAQCB2b2lkIEluc2VydGlvblBvaW50OjphdHRhY2goKQogCiB2b2lkIEluc2VydGlvblBvaW50
OjpkZXRhY2goKQogewotICAgIGlmIChTaGFkb3dSb290KiByb290ID0gdG9TaGFkb3dSb290KHNo
YWRvd1RyZWVSb290Tm9kZSgpKSkgeworICAgIFNoYWRvd1Jvb3QqIHJvb3QgPSB0b1NoYWRvd1Jv
b3Qoc2hhZG93VHJlZVJvb3ROb2RlKCkpOworICAgIGlmIChyb290ICYmIGlzQWN0aXZlKCkpIHsK
ICAgICAgICAgU2hhZG93VHJlZSogdHJlZSA9IHJvb3QtPnRyZWUoKTsKIAogICAgICAgICBpZiAo
ZG9lc1NlbGVjdEZyb21Ib3N0Q2hpbGRyZW4oKSkKQEAgLTk3LDcgKzk3LDE5IEBAIFNoYWRvd1Jv
b3QqIEluc2VydGlvblBvaW50Ojphc3NpZ25lZEZyb20oKSBjb25zdAogCiBib29sIEluc2VydGlv
blBvaW50Ojppc1NoYWRvd0JvdW5kYXJ5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gdHJlZVNjb3Bl
KCktPnJvb3ROb2RlKCktPmlzU2hhZG93Um9vdCgpOworICAgIHJldHVybiB0cmVlU2NvcGUoKS0+
cm9vdE5vZGUoKS0+aXNTaGFkb3dSb290KCkgJiYgaXNBY3RpdmUoKTsKK30KKworYm9vbCBJbnNl
cnRpb25Qb2ludDo6aXNBY3RpdmUoKSBjb25zdAoreworICAgIGNvbnN0IE5vZGUqIG5vZGUgPSBw
YXJlbnROb2RlKCk7CisgICAgd2hpbGUgKG5vZGUpIHsKKyAgICAgICAgaWYgKFdlYkNvcmU6Omlz
SW5zZXJ0aW9uUG9pbnQobm9kZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7CiB9
CiAKIGJvb2wgSW5zZXJ0aW9uUG9pbnQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRl
cmluZ0NvbnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9JbnNlcnRpb25Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0
aW9uUG9pbnQuaAppbmRleCA3NGIxYTIwMGM0ZDllMmIxMjc4MDU0YzQ0N2FmNDAxMWQ0NmQ0OGIw
Li4xZGE4YzgwZGI5YjIxNjM3ZmZlMzhhODk5ZTkxZGFlYzQ5MmU5ZGY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVi
bGljOgogICAgIGNvbnN0IEhUTUxDb250ZW50U2VsZWN0aW9uTGlzdCogc2VsZWN0aW9ucygpIGNv
bnN0IHsgcmV0dXJuICZtX3NlbGVjdGlvbnM7IH0KICAgICBib29sIGhhc1NlbGVjdGlvbigpIGNv
bnN0IHsgcmV0dXJuIG1fc2VsZWN0aW9ucy5maXJzdCgpOyB9CiAgICAgYm9vbCBpc1NoYWRvd0Jv
dW5kYXJ5KCkgY29uc3Q7CisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwogCiAgICAgdmlydHVh
bCBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJv
b2wgaXNTZWxlY3RWYWxpZCgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudHMtZmFsbGJhY2stZHluYW1pYy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay1keW5hbWlj
Lmh0bWwKaW5kZXggMWZlYTk0ZmRhZWZkY2I3MzliMWNmZWMzMTE5OTRhMDE2NjY4MDRmMy4uN2Y4
MmRjOTMyODc5MjQxMzFmZTlhN2E2MTE3YjkxM2UyZjc4ZjQ1OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay1keW5hbWljLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxs
YmFjay1keW5hbWljLmh0bWwKQEAgLTM0Miw3ICszNDIsNyBAQCBmdW5jdGlvbiB0ZXN0Q29tcGxl
eFJlcGxhY2UoY2FsbElmRG9uZSkgewogCiBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVudChj
YWxsSWZEb25lKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdC1jb250YWlu
ZXInKS5pbm5lckhUTUwgPQotICAgICAgICAiPGRpdj57U0hBRE9XOiA8c3Bhbj5TMTwvc3Bhbj48
c3Bhbj5TMjwvc3Bhbj59PC9kaXY+IjsKKyAgICAgICAgIjxkaXY+e1NIQURPVzogPGNvbnRlbnQ+
PHNwYW4+Q09OVEVOVCAyIEZBTExCQUNLPC9zcGFuPjwvY29udGVudD59PC9kaXY+IjsKIAogICAg
IHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICB0YXJnZXQu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTMScpKTsKQEAgLTM3Myw3ICszNzMsNyBA
QCBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVudChjYWxsSWZEb25lKSB7CiAKIGZ1bmN0aW9u
IHRlc3RDb250ZW50SW5Db250ZW50RmFsbGJhY2soY2FsbElmRG9uZSkgewogICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAgICAgICAg
IjxkaXY+e1NIQURPVzogPHNwYW4+Q09OVEVOVCAyIEZBTExCQUNLPC9zcGFuPn08L2Rpdj4iOwor
ICAgICAgICAiPGRpdj57U0hBRE9XOiA8Y29udGVudD48c3Bhbj5DT05URU5UIDIgRkFMTEJBQ0s8
L3NwYW4+PC9jb250ZW50Pn08L2Rpdj4iOwogCiAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHRhcmdldC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ1MxJykpOwpAQCAtNDA0LDcgKzQwNCw3IEBAIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5D
b250ZW50RmFsbGJhY2soY2FsbElmRG9uZSkgewogCiBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29u
dGVudEZhbGxiYWNrRGlyZWN0KGNhbGxJZkRvbmUpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZXhwZWN0LWNvbnRhaW5lcicpLmlubmVySFRNTCA9Ci0gICAgICAgICI8ZGl2PjxzcGFu
PkNPTlRFTlQgMiBGQUxMQkFDSzwvc3Bhbj48L2Rpdj4iOworICAgICAgICAiPGRpdj48Y29udGVu
dD48c3Bhbj5DT05URU5UIDIgRkFMTEJBQ0s8L3NwYW4+PC9jb250ZW50PjwvZGl2PiI7CiAKICAg
ICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgdGFyZ2V0
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnUzEnKSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLmh0bWwK
aW5kZXggMTNmZjUxZTAxOTg2ODk3MzRkODc5OWVlNWZmYjRiZTQ3MjZkOWMxYS4uODllZDIyZmE5
YTk5YzZjNGZmYzFkNjA0YTZjNTA2NzRhYzA2ZjFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudHMtZmFsbGJhY2suaHRtbApAQCAt
MjY3LDcgKzI2Nyw3IEBAIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250ZW50KCkgewogCiAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZCh0
YXJnZXQpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFpbmVyJyku
aW5uZXJIVE1MID0KLSAgICAgICAgIjxkaXY+e1NIQURPVzogPHNwYW4+UzE8L3NwYW4+PHNwYW4+
UzI8L3NwYW4+fTwvZGl2PiI7CisgICAgICAgICI8ZGl2PntTSEFET1c6IDxjb250ZW50PjxzcGFu
PkNPTlRFTlQgMiBGQUxMQkFDSzwvc3Bhbj48L2NvbnRlbnQ+fTwvZGl2PiI7CiB9CiAKIGZ1bmN0
aW9uIHRlc3RDb250ZW50SW5Db250ZW50RmFsbGJhY2soKSB7CkBAIC0yOTAsNyArMjkwLDcgQEAg
ZnVuY3Rpb24gdGVzdENvbnRlbnRJbkNvbnRlbnRGYWxsYmFjaygpIHsKIAogICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQodGFyZ2V0KTsK
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXhwZWN0LWNvbnRhaW5lcicpLmlubmVySFRN
TCA9Ci0gICAgICAgICI8ZGl2PntTSEFET1c6IDxzcGFuPkNPTlRFTlQgMiBGQUxMQkFDSzwvc3Bh
bj59PC9kaXY+IjsKKyAgICAgICAgIjxkaXY+e1NIQURPVzogPGNvbnRlbnQ+PHNwYW4+Q09OVEVO
VCAyIEZBTExCQUNLPC9zcGFuPjwvY29udGVudD59PC9kaXY+IjsKIH0KIAogZnVuY3Rpb24gdGVz
dENvbnRlbnRJbkNvbnRlbnRGYWxsYmFja1dpdGhEaXNwbGF5Tm9uZSgpIHsKQEAgLTMxNiw3ICsz
MTYsNyBAQCBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVudEZhbGxiYWNrV2l0aERpc3BsYXlO
b25lKCkgewogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXIn
KS5hcHBlbmRDaGlsZCh0YXJnZXQpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBl
Y3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAgICAgICAgIjxkaXY+e1NIQURPVzogPHNwYW4+
Q09OVEVOVCAyIEZBTExCQUNLPC9zcGFuPn08L2Rpdj4iOworICAgICAgICAiPGRpdj57U0hBRE9X
OiA8Y29udGVudD48c3Bhbj5DT05URU5UIDIgRkFMTEJBQ0s8L3NwYW4+PC9jb250ZW50Pn08L2Rp
dj4iOwogfQogCiBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVudEZhbGxiYWNrRGlyZWN0KCkg
ewpAQCAtMzM3LDcgKzMzNyw3IEBAIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250ZW50RmFsbGJh
Y2tEaXJlY3QoKSB7CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRh
aW5lcicpLmFwcGVuZENoaWxkKHRhcmdldCk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2V4cGVjdC1jb250YWluZXInKS5pbm5lckhUTUwgPQotICAgICAgICAiPGRpdj48c3Bhbj5DT05U
RU5UIDIgRkFMTEJBQ0s8L3NwYW4+PC9kaXY+IjsKKyAgICAgICAgIjxkaXY+PGNvbnRlbnQ+PHNw
YW4+Q09OVEVOVCAyIEZBTExCQUNLPC9zcGFuPjwvY29udGVudD48L2Rpdj4iOwogfQogCiB2YXIg
dGVzdEZ1bmNzID0gWwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136619</attachid>
            <date>2012-04-10 21:44:06 -0700</date>
            <delta_ts>2012-04-16 19:55:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82010-20120411134404.patch</filename>
            <type>text/plain</type>
            <size>9986</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDEzZTljYzI1ZWQ3MTU5
OGY1ZWQ4MTFkMWVkNDdlZGUxMTZmZWQyNy4uZmQ4NDBlZWE3NzJkNjRjNzY0YTIzOTI3ZmJlMDM3
NmE0Yzk5MWExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA0LTExICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV0g
SW5zZXJ0aW9uUG9pbnQgc2hvdWxkIGhhdmUgaXNBY3RpdmUoKSBtZW1iZXIgZnVuY3Rpb24uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjAxMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBpc0FjdGl2ZSBwdWJsaWMgbWVtYmVyIGZ1bmN0aW9uIHRvIEluc2VydGlvblBvaW50IGFu
ZAorICAgICAgICBtYWtlcyBJbnNlcnRpb25Qb2ludCBlbGVtZW50cyBjb25zaWRlciB3aGV0aGVy
IGFjdGl2ZSBvciBub3QuCisgICAgICAgIElmIGFuIEluc2VydGlvblBvaW50IGlzIGluYWN0aXZl
LCB0aGUgZWxlbWVudCBpcyBub3Qgc2hhZG93IGJvdW5kYXJ5CisgICAgICAgIGFuZCBpcyBuZWVk
ZWQgdG8gYmUgcmVuZGVyZWQuCisgICAgICAgIGMuZi4gaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy93
ZWJjb21wb25lbnRzL3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI2Rmbi1hY3Rp
dmUtaW5zZXJ0aW9uLXBvaW50CisKKyAgICAgICAgVGVzdDogdXBkYXRlIGV4aXN0aW5nIHRlc3Rz
LCBpLmUuCisgICAgICAgIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVu
dHMtZmFsbGJhY2stZHluYW1pYy5odG1sIGFuZAorICAgICAgICBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLmh0bWwKKworICAgICAgICAqIGh0bWwv
c2hhZG93L0luc2VydGlvblBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBv
aW50Ojppc0FjdGl2ZSk6CisgICAgICAgIEEgbmV3IHB1YmxpYyBtZXRob2QgZm9yIGNoZWNraW5n
IHdoZXRoZXIgYW4gaW5zZXJ0aW9uIHBvaW50IGlzIGFjdGl2ZSBvciBpbmFjdGl2ZS4KKyAgICAg
ICAgSWYgYWN0aXZlLCByZXR1cm5zIHRydWUuIE90aGVyd2lzZSwgZmFsc2UuCisgICAgICAgIChX
ZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6aXNTaGFkb3dCb3VuZGFyeSk6CisgICAgICAgIE1ha2Ug
dGhlIG1ldGhvZCBjb25zaWRlciB3aGV0aGVyIGFuIGluc2VydGluIHBvaW50IGlzIGFjdGl2ZSBv
ciBpbmFjdGl2ZS4KKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjpyZW5kZXJlcklz
TmVlZGVkKToKKyAgICAgICAgQ2hhbmdlZCB0byByZXR1cm4gdHJ1ZSBJZiBhbiBpbnNlcnRpb24g
cG9pbnQgaXMgaW5hY3RpdmUuCisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6YXR0
YWNoKToKKyAgICAgICAgQ2hhbmdlZCB0byBjYWxsIG9ubHkgSFRNTEVsZW1lbnQ6OmF0dGFjaCBJ
ZiBhbiBpbnNlcnRpb24gcG9pbnQgaXMgaW5hY3RpdmUuCisgICAgICAgIChXZWJDb3JlOjpJbnNl
cnRpb25Qb2ludDo6ZGV0YWNoKToKKyAgICAgICAgQ2hhbmdlZCB0byBjYWxsIG9ubHkgSFRNTEVs
ZW1lbnQ6OmRldGFjaCBJZiBhbiBpbnNlcnRpb24gcG9pbnQgaXMgaW5hY3RpdmUuCisgICAgICAg
ICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaDoKKyAgICAgICAgKEluc2VydGlvblBvaW50
KToKKyAgICAgICAgQWRkZWQgaXNBY3RpdmUgcHVibGljIG1ldGhvZC4KKyAgICAgICAgKiBkb20v
Tm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmlu
Z0NvbnRleHQ6Ok5vZGVSZW5kZXJpbmdDb250ZXh0KToKKyAgICAgICAgQ2hhbmdlZCB0byB0YWtl
IGludG8gYWNjb3VudCBhbiBpbnNlcnRpb24gcG9pbnQncyBhY3RpdmVuZXNzIHdoZW4gcGFyZW50
IGlzIGFuIGluc2VydGlvbiBwb2ludC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5kZXJpbmdD
b250ZXh0OjpmaXJzdFJlbmRlcmVyT2YpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmlu
Z0NvbnRleHQ6Omxhc3RSZW5kZXJlck9mKToKKyAgICAgICAgQ2hhbmdlZCB0byB0YWtlIGludG8g
YWNjb3VudCBhbiBpbnNlcnRpb24gcG9pbnQncyBhY3RpdmVuZXNzLgorCiAyMDEyLTA0LTEwICBN
aWtlIExhd3RoZXIgIDxtaWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUHJldmVu
dCBmYWxsdGhyb3VnaCB0byBrZWVwIHN0YXRpYyBhbmFseXNpcyB0b29scyBoYXBweQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggMmVmNmZkNDc1M2E4
MmIzNzA5YzJmZTM4MDE0NDI3YzM1ZTVlMTY1Yi4uZmU0NzgxMDg2NjMwZTkyOWEwY2I5N2NmZmY4
NmNjMjYwMjBkZjI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRl
eHQuY3BwCkBAIC0xMDAsNyArMTAwLDExIEBAIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpOb2RlUmVu
ZGVyaW5nQ29udGV4dChOb2RlKiBub2RlKQogICAgICAgICAgICAgICAgIG1fcGhhc2UgPSBBdHRh
Y2hpbmdOb3RGYWxsYmFja2VkOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG1f
cGhhc2UgPSBBdHRhY2hpbmdGYWxsYmFja2VkOwotICAgICAgICAgICAgbV9wYXJlbnROb2RlRm9y
UmVuZGVyaW5nQW5kU3R5bGUgPSBOb2RlUmVuZGVyaW5nQ29udGV4dChwYXJlbnQpLnBhcmVudE5v
ZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSgpOworCisgICAgICAgICAgICBpZiAodG9JbnNlcnRpb25Q
b2ludChwYXJlbnQpLT5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgICAgIG1fcGFyZW50Tm9kZUZv
clJlbmRlcmluZ0FuZFN0eWxlID0gTm9kZVJlbmRlcmluZ0NvbnRleHQocGFyZW50KS5wYXJlbnRO
b2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBtX3BhcmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSA9IHBhcmVudDsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KQEAgLTIwMSw3ICsyMDUsNyBAQCBzdGF0aWMg
aW5saW5lIFJlbmRlck9iamVjdCogZmlyc3RSZW5kZXJlck9mKE5vZGUqIG5vZGUpCiAgICAgICAg
ICAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXIoKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChp
c0luc2VydGlvblBvaW50KG5vZGUpKSB7CisgICAgICAgIGlmIChpc0luc2VydGlvblBvaW50KG5v
ZGUpICYmIHRvSW5zZXJ0aW9uUG9pbnQobm9kZSktPmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAg
IGlmIChSZW5kZXJPYmplY3QqIGZpcnN0ID0gZmlyc3RSZW5kZXJlck9mSW5zZXJ0aW9uUG9pbnQo
dG9JbnNlcnRpb25Qb2ludChub2RlKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZpcnN0Owog
ICAgICAgICB9CkBAIC0yMTksNyArMjIzLDcgQEAgc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3Qq
IGxhc3RSZW5kZXJlck9mKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXIoKTsKICAgICAgICAgfQotICAgICAgICBp
ZiAoaXNJbnNlcnRpb25Qb2ludChub2RlKSkgeworICAgICAgICBpZiAoaXNJbnNlcnRpb25Qb2lu
dChub2RlKSAmJiB0b0luc2VydGlvblBvaW50KG5vZGUpLT5pc0FjdGl2ZSgpKSB7CiAgICAgICAg
ICAgICBpZiAoUmVuZGVyT2JqZWN0KiBsYXN0ID0gbGFzdFJlbmRlcmVyT2ZJbnNlcnRpb25Qb2lu
dCh0b0luc2VydGlvblBvaW50KG5vZGUpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdDsK
ICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0
aW9uUG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQu
Y3BwCmluZGV4IDMyZjI0ZjQ3NDNlZWUwNjBmOWRhZDUxYjZhNzg2YzI4M2ZlZTI4OTYuLjcwYWY4
NWUwOWUzYTM2ZWUyYTljZWE5MjQwNDI4MGYyNzYxZjcwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKQEAgLTQ4LDkgKzQ4LDggQEAgSW5zZXJ0
aW9uUG9pbnQ6On5JbnNlcnRpb25Qb2ludCgpCiAKIHZvaWQgSW5zZXJ0aW9uUG9pbnQ6OmF0dGFj
aCgpCiB7Ci0gICAgVHJlZVNjb3BlKiBzY29wZSA9IHRyZWVTY29wZSgpOwotICAgIGlmIChzY29w
ZS0+cm9vdE5vZGUoKS0+aXNTaGFkb3dSb290KCkpIHsKLSAgICAgICAgU2hhZG93Um9vdCogcm9v
dCA9IHRvU2hhZG93Um9vdChzY29wZS0+cm9vdE5vZGUoKSk7CisgICAgaWYgKGlzU2hhZG93Qm91
bmRhcnkoKSkgeworICAgICAgICBTaGFkb3dSb290KiByb290ID0gdG9TaGFkb3dSb290KHRyZWVT
Y29wZSgpLT5yb290Tm9kZSgpKTsKICAgICAgICAgaWYgKGRvZXNTZWxlY3RGcm9tSG9zdENoaWxk
cmVuKCkpIHsKICAgICAgICAgICAgIGRpc3RyaWJ1dGVIb3N0Q2hpbGRyZW4ocm9vdC0+dHJlZSgp
KTsKICAgICAgICAgICAgIGF0dGFjaERpc3RyaWJ1dGVkTm9kZSgpOwpAQCAtNjYsNyArNjUsOCBA
QCB2b2lkIEluc2VydGlvblBvaW50OjphdHRhY2goKQogCiB2b2lkIEluc2VydGlvblBvaW50Ojpk
ZXRhY2goKQogewotICAgIGlmIChTaGFkb3dSb290KiByb290ID0gdG9TaGFkb3dSb290KHNoYWRv
d1RyZWVSb290Tm9kZSgpKSkgeworICAgIFNoYWRvd1Jvb3QqIHJvb3QgPSB0b1NoYWRvd1Jvb3Qo
c2hhZG93VHJlZVJvb3ROb2RlKCkpOworICAgIGlmIChyb290ICYmIGlzQWN0aXZlKCkpIHsKICAg
ICAgICAgU2hhZG93VHJlZSogdHJlZSA9IHJvb3QtPnRyZWUoKTsKIAogICAgICAgICBpZiAoZG9l
c1NlbGVjdEZyb21Ib3N0Q2hpbGRyZW4oKSkKQEAgLTk3LDcgKzk3LDE5IEBAIFNoYWRvd1Jvb3Qq
IEluc2VydGlvblBvaW50Ojphc3NpZ25lZEZyb20oKSBjb25zdAogCiBib29sIEluc2VydGlvblBv
aW50Ojppc1NoYWRvd0JvdW5kYXJ5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gdHJlZVNjb3BlKCkt
PnJvb3ROb2RlKCktPmlzU2hhZG93Um9vdCgpOworICAgIHJldHVybiB0cmVlU2NvcGUoKS0+cm9v
dE5vZGUoKS0+aXNTaGFkb3dSb290KCkgJiYgaXNBY3RpdmUoKTsKK30KKworYm9vbCBJbnNlcnRp
b25Qb2ludDo6aXNBY3RpdmUoKSBjb25zdAoreworICAgIGNvbnN0IE5vZGUqIG5vZGUgPSBwYXJl
bnROb2RlKCk7CisgICAgd2hpbGUgKG5vZGUpIHsKKyAgICAgICAgaWYgKFdlYkNvcmU6OmlzSW5z
ZXJ0aW9uUG9pbnQobm9kZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
bm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IGJvb2wgSW5zZXJ0aW9uUG9pbnQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmlu
Z0NvbnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9JbnNlcnRpb25Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9u
UG9pbnQuaAppbmRleCA3NGIxYTIwMGM0ZDllMmIxMjc4MDU0YzQ0N2FmNDAxMWQ0NmQ0OGIwLi4x
ZGE4YzgwZGI5YjIxNjM3ZmZlMzhhODk5ZTkxZGFlYzQ5MmU5ZGY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGlj
OgogICAgIGNvbnN0IEhUTUxDb250ZW50U2VsZWN0aW9uTGlzdCogc2VsZWN0aW9ucygpIGNvbnN0
IHsgcmV0dXJuICZtX3NlbGVjdGlvbnM7IH0KICAgICBib29sIGhhc1NlbGVjdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fc2VsZWN0aW9ucy5maXJzdCgpOyB9CiAgICAgYm9vbCBpc1NoYWRvd0JvdW5k
YXJ5KCkgY29uc3Q7CisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBj
b25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNTZWxlY3RWYWxpZCgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudHMtZmFsbGJhY2stZHluYW1pYy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay1keW5hbWljLmh0
bWwKaW5kZXggMWZlYTk0ZmRhZWZkY2I3MzliMWNmZWMzMTE5OTRhMDE2NjY4MDRmMy4uN2Y4MmRj
OTMyODc5MjQxMzFmZTlhN2E2MTE3YjkxM2UyZjc4ZjQ1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay1keW5hbWljLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFj
ay1keW5hbWljLmh0bWwKQEAgLTM0Miw3ICszNDIsNyBAQCBmdW5jdGlvbiB0ZXN0Q29tcGxleFJl
cGxhY2UoY2FsbElmRG9uZSkgewogCiBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVudChjYWxs
SWZEb25lKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdC1jb250YWluZXIn
KS5pbm5lckhUTUwgPQotICAgICAgICAiPGRpdj57U0hBRE9XOiA8c3Bhbj5TMTwvc3Bhbj48c3Bh
bj5TMjwvc3Bhbj59PC9kaXY+IjsKKyAgICAgICAgIjxkaXY+e1NIQURPVzogPGNvbnRlbnQ+PHNw
YW4+Q09OVEVOVCAyIEZBTExCQUNLPC9zcGFuPjwvY29udGVudD59PC9kaXY+IjsKIAogICAgIHZh
ciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICB0YXJnZXQuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTMScpKTsKQEAgLTM3Myw3ICszNzMsNyBAQCBm
dW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVudChjYWxsSWZEb25lKSB7CiAKIGZ1bmN0aW9uIHRl
c3RDb250ZW50SW5Db250ZW50RmFsbGJhY2soY2FsbElmRG9uZSkgewogICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAgICAgICAgIjxk
aXY+e1NIQURPVzogPHNwYW4+Q09OVEVOVCAyIEZBTExCQUNLPC9zcGFuPn08L2Rpdj4iOworICAg
ICAgICAiPGRpdj57U0hBRE9XOiA8Y29udGVudD48c3Bhbj5DT05URU5UIDIgRkFMTEJBQ0s8L3Nw
YW4+PC9jb250ZW50Pn08L2Rpdj4iOwogCiAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgIHRhcmdldC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ1MxJykpOwpAQCAtNDA0LDcgKzQwNCw3IEBAIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250
ZW50RmFsbGJhY2soY2FsbElmRG9uZSkgewogCiBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVu
dEZhbGxiYWNrRGlyZWN0KGNhbGxJZkRvbmUpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZXhwZWN0LWNvbnRhaW5lcicpLmlubmVySFRNTCA9Ci0gICAgICAgICI8ZGl2PjxzcGFuPkNP
TlRFTlQgMiBGQUxMQkFDSzwvc3Bhbj48L2Rpdj4iOworICAgICAgICAiPGRpdj48Y29udGVudD48
c3Bhbj5DT05URU5UIDIgRkFMTEJBQ0s8L3NwYW4+PC9jb250ZW50PjwvZGl2PiI7CiAKICAgICB2
YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgdGFyZ2V0LmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnUzEnKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnRzLWZhbGxiYWNrLmh0bWwKaW5k
ZXggMTNmZjUxZTAxOTg2ODk3MzRkODc5OWVlNWZmYjRiZTQ3MjZkOWMxYS4uODllZDIyZmE5YTk5
YzZjNGZmYzFkNjA0YTZjNTA2NzRhYzA2ZjFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1mYWxsYmFjay5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudHMtZmFsbGJhY2suaHRtbApAQCAtMjY3
LDcgKzI2Nyw3IEBAIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250ZW50KCkgewogCiAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZCh0YXJn
ZXQpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFpbmVyJykuaW5u
ZXJIVE1MID0KLSAgICAgICAgIjxkaXY+e1NIQURPVzogPHNwYW4+UzE8L3NwYW4+PHNwYW4+UzI8
L3NwYW4+fTwvZGl2PiI7CisgICAgICAgICI8ZGl2PntTSEFET1c6IDxjb250ZW50PjxzcGFuPkNP
TlRFTlQgMiBGQUxMQkFDSzwvc3Bhbj48L2NvbnRlbnQ+fTwvZGl2PiI7CiB9CiAKIGZ1bmN0aW9u
IHRlc3RDb250ZW50SW5Db250ZW50RmFsbGJhY2soKSB7CkBAIC0yOTAsNyArMjkwLDcgQEAgZnVu
Y3Rpb24gdGVzdENvbnRlbnRJbkNvbnRlbnRGYWxsYmFjaygpIHsKIAogICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQodGFyZ2V0KTsKICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXhwZWN0LWNvbnRhaW5lcicpLmlubmVySFRNTCA9
Ci0gICAgICAgICI8ZGl2PntTSEFET1c6IDxzcGFuPkNPTlRFTlQgMiBGQUxMQkFDSzwvc3Bhbj59
PC9kaXY+IjsKKyAgICAgICAgIjxkaXY+e1NIQURPVzogPGNvbnRlbnQ+PHNwYW4+Q09OVEVOVCAy
IEZBTExCQUNLPC9zcGFuPjwvY29udGVudD59PC9kaXY+IjsKIH0KIAogZnVuY3Rpb24gdGVzdENv
bnRlbnRJbkNvbnRlbnRGYWxsYmFja1dpdGhEaXNwbGF5Tm9uZSgpIHsKQEAgLTMxNiw3ICszMTYs
NyBAQCBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVudEZhbGxiYWNrV2l0aERpc3BsYXlOb25l
KCkgewogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5h
cHBlbmRDaGlsZCh0YXJnZXQpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3Qt
Y29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAgICAgICAgIjxkaXY+e1NIQURPVzogPHNwYW4+Q09O
VEVOVCAyIEZBTExCQUNLPC9zcGFuPn08L2Rpdj4iOworICAgICAgICAiPGRpdj57U0hBRE9XOiA8
Y29udGVudD48c3Bhbj5DT05URU5UIDIgRkFMTEJBQ0s8L3NwYW4+PC9jb250ZW50Pn08L2Rpdj4i
OwogfQogCiBmdW5jdGlvbiB0ZXN0Q29udGVudEluQ29udGVudEZhbGxiYWNrRGlyZWN0KCkgewpA
QCAtMzM3LDcgKzMzNyw3IEBAIGZ1bmN0aW9uIHRlc3RDb250ZW50SW5Db250ZW50RmFsbGJhY2tE
aXJlY3QoKSB7CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5l
cicpLmFwcGVuZENoaWxkKHRhcmdldCk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4
cGVjdC1jb250YWluZXInKS5pbm5lckhUTUwgPQotICAgICAgICAiPGRpdj48c3Bhbj5DT05URU5U
IDIgRkFMTEJBQ0s8L3NwYW4+PC9kaXY+IjsKKyAgICAgICAgIjxkaXY+PGNvbnRlbnQ+PHNwYW4+
Q09OVEVOVCAyIEZBTExCQUNLPC9zcGFuPjwvY29udGVudD48L2Rpdj4iOwogfQogCiB2YXIgdGVz
dEZ1bmNzID0gWwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>