<?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>99232</bug_id>
          
          <creation_ts>2012-10-12 19:06:52 -0700</creation_ts>
          <short_desc>Content element does not expose distributedNodes property</short_desc>
          <delta_ts>2012-12-06 00:32:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>96986</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Steve Orvell">sorvell</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>abarth</cc>
    
    <cc>arv</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>hayato</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>roger_fong</cc>
    
    <cc>shinyak</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>741381</commentid>
    <comment_count>0</comment_count>
      <attachid>168529</attachid>
    <who name="Steve Orvell">sorvell</who>
    <bug_when>2012-10-12 19:06:52 -0700</bug_when>
    <thetext>Created attachment 168529
Reduction to test existence of &lt;content&gt;.distributedNodes

A content element that is a shadowRoot insertion point is expected to expose a distributedNodes property. This property is not currently set.

Note: This property may have been proposed as &apos;distributedNodes&apos;, but it should be &apos;distributedElements&apos; since it can contain textNodes. Regardless, neither property is currently set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743042</commentid>
    <comment_count>1</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-10-16 03:58:03 -0700</bug_when>
    <thetext>I think the corresponding bug in the spec is here:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=18753

It seems we should resolve the bug in the spec at first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743137</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-16 07:45:34 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; I think the corresponding bug in the spec is here:
&gt; https://www.w3.org/Bugs/Public/show_bug.cgi?id=18753
&gt; 
&gt; It seems we should resolve the bug in the spec at first.

Sure, but just like with the rest of reprojection, the spec bug doesn&apos;t have to block this bug. Besides, you already have this accessor on HTMLContentElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743816</commentid>
    <comment_count>3</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-10-16 20:02:43 -0700</bug_when>
    <thetext>Okay. Let&apos;s expose the attribute. That won&apos;t break anything.

(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; I think the corresponding bug in the spec is here:
&gt; &gt; https://www.w3.org/Bugs/Public/show_bug.cgi?id=18753
&gt; &gt; 
&gt; &gt; It seems we should resolve the bug in the spec at first.
&gt; 
&gt; Sure, but just like with the rest of reprojection, the spec bug doesn&apos;t have to block this bug. Besides, you already have this accessor on HTMLContentElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743817</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-16 20:04:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Okay. Let&apos;s expose the attribute. That won&apos;t break anything.
&gt; 
&gt; (In reply to comment #2)
&gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; I think the corresponding bug in the spec is here:
&gt; &gt; &gt; https://www.w3.org/Bugs/Public/show_bug.cgi?id=18753
&gt; &gt; &gt; 
&gt; &gt; &gt; It seems we should resolve the bug in the spec at first.
&gt; &gt; 
&gt; &gt; Sure, but just like with the rest of reprojection, the spec bug doesn&apos;t have to block this bug. Besides, you already have this accessor on HTMLContentElement.

Great!
Also -- the item in this nodelist could certainly be an node, so it should be called distributedNodes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743822</commentid>
    <comment_count>5</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-10-16 20:20:05 -0700</bug_when>
    <thetext>It looks that the spec is going to make it a dynamic list, but this one isn&apos;t.
so it will change the behavior once it&apos;s written out to the standard.
Is it in your mind?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743824</commentid>
    <comment_count>6</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-16 20:44:06 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; It looks that the spec is going to make it a dynamic list, but this one isn&apos;t.
&gt; so it will change the behavior once it&apos;s written out to the standard.
&gt; Is it in your mind?

I am not going to make this a dynamic list. Dynamic lists are evil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743831</commentid>
    <comment_count>7</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-16 21:12:59 -0700</bug_when>
    <thetext>The current implementation assumes that an element is attached when distributedNode() is called. So it won&apos;t work if it&apos;s called like:

var sr = new WebKitShadowRoot(host);
var content = document.createElement(&apos;content&apos;);
sr.appendChild(content);
content.distributedNodes

This will always return null.
It&apos;s ok if we use setTimeout like the following:

var sr = new WebKitShadowRoot(host);
var content = document.createElement(&apos;content&apos;);
sr.appendChild(content);
setTimeout(function()
    content.distributedNodes
}, 0)

Maybe we have to call ensureDistribution() when distributedNodes is called. We also have to ensure distribution for younger shadows and so on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743839</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-10-16 21:48:38 -0700</bug_when>
    <thetext>&gt; 
&gt; I am not going to make this a dynamic list. Dynamic lists are evil.
Hmm. Added comment on W3C bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744040</commentid>
    <comment_count>9</comment_count>
      <attachid>169132</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-10-17 02:13:44 -0700</bug_when>
    <thetext>Created attachment 169132
Add a distributedNodes().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744044</commentid>
    <comment_count>10</comment_count>
      <attachid>169132</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-17 02:17:30 -0700</bug_when>
    <thetext>Comment on attachment 169132
Add a distributedNodes().

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

&gt; Source/WebCore/html/shadow/InsertionPoint.cpp:94
&gt; +        root-&gt;owner()-&gt;ensureDistribution();

Could you add a test case for nested shadow dom?
I&apos;m afraid that this causes an error (or returns nonsense result) If distributedNodes() is called before attaching parent shadow dom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744053</commentid>
    <comment_count>11</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-10-17 02:27:53 -0700</bug_when>
    <thetext>Okay. It seems we should call ensureDistribution *recursively*. Let me update the patch.

(In reply to comment #10)
&gt; (From update of attachment 169132 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169132&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/shadow/InsertionPoint.cpp:94
&gt; &gt; +        root-&gt;owner()-&gt;ensureDistribution();
&gt; 
&gt; Could you add a test case for nested shadow dom?
&gt; I&apos;m afraid that this causes an error (or returns nonsense result) If distributedNodes() is called before attaching parent shadow dom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744162</commentid>
    <comment_count>12</comment_count>
      <attachid>169159</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-10-17 04:56:16 -0700</bug_when>
    <thetext>Created attachment 169159
Call updateLayout() explicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744344</commentid>
    <comment_count>13</comment_count>
      <attachid>169159</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-17 10:11:50 -0700</bug_when>
    <thetext>Comment on attachment 169159
Call updateLayout() explicitly.

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

&gt; Source/WebCore/html/shadow/HTMLContentElement.idl:33
&gt; +    NodeList distributedNodes();

I don&apos;t understand why this is a method? It should be an attribute, just like Node.childNodes or MutationRecord.addedNodes/removedNodes. We may want to optimize not to re-create the array on each access though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744349</commentid>
    <comment_count>14</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-17 10:13:38 -0700</bug_when>
    <thetext>Another thing -- probably should include removing Internals::distributedNodes in this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744362</commentid>
    <comment_count>15</comment_count>
      <attachid>169159</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-17 10:20:23 -0700</bug_when>
    <thetext>Comment on attachment 169159
Call updateLayout() explicitly.

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

&gt;&gt; Source/WebCore/html/shadow/HTMLContentElement.idl:33
&gt;&gt; +    NodeList distributedNodes();
&gt; 
&gt; I don&apos;t understand why this is a method? It should be an attribute, just like Node.childNodes or MutationRecord.addedNodes/removedNodes. We may want to optimize not to re-create the array on each access though.

Is this a static NodeList? If so, we should make it so. Also, once it&apos;s static, I think we want it to be a method since each call will return a different list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744399</commentid>
    <comment_count>16</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-17 10:50:26 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 169159 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169159&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/html/shadow/HTMLContentElement.idl:33
&gt; &gt;&gt; +    NodeList distributedNodes();

&gt; Is this a static NodeList? If so, we should make it so. Also, once it&apos;s static, I think we want it to be a method since each call will return a different list.

I spoke with Ojan, and he convinced me it needs to be a method. Can we name it getDistributedNodes to make it action-oriented?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744466</commentid>
    <comment_count>17</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-17 11:42:18 -0700</bug_when>
    <thetext>http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-html-content-element-get-distributed-nodes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744483</commentid>
    <comment_count>18</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-10-17 12:04:20 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; (From update of attachment 169159 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169159&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/html/shadow/HTMLContentElement.idl:33
&gt; &gt; &gt;&gt; +    NodeList distributedNodes();
&gt; 
&gt; &gt; Is this a static NodeList? If so, we should make it so. Also, once it&apos;s static, I think we want it to be a method since each call will return a different list.
&gt; 
&gt; I spoke with Ojan, and he convinced me it needs to be a method. Can we name it getDistributedNodes to make it action-oriented?

For the record we are having a related discussion regarding ES6 APIs. One thing that we managed to agree on is that property getters must be idempotent.

node.distributedNodes === node.distributedNodes

so if it returns different static NodeLists every time it MUST not be a property (WebIDL attribute).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744911</commentid>
    <comment_count>19</comment_count>
      <attachid>169325</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-10-17 19:32:38 -0700</bug_when>
    <thetext>Created attachment 169325
Renamed to getDistributedNodes(). Remove distributedNodes() from Internals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744913</commentid>
    <comment_count>20</comment_count>
      <attachid>169325</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-17 19:34:13 -0700</bug_when>
    <thetext>Comment on attachment 169325
Renamed to getDistributedNodes(). Remove distributedNodes() from Internals.

yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744915</commentid>
    <comment_count>21</comment_count>
      <attachid>169325</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-17 19:40:05 -0700</bug_when>
    <thetext>Comment on attachment 169325
Renamed to getDistributedNodes(). Remove distributedNodes() from Internals.

Attachment 169325 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14396829</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744918</commentid>
    <comment_count>22</comment_count>
      <attachid>169326</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-10-17 19:59:40 -0700</bug_when>
    <thetext>Created attachment 169326
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744935</commentid>
    <comment_count>23</comment_count>
      <attachid>169326</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 21:00:05 -0700</bug_when>
    <thetext>Comment on attachment 169326
Patch for landing

Clearing flags on attachment: 169326

Committed r131701: &lt;http://trac.webkit.org/changeset/131701&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744936</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 21:00:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745373</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-10-18 10:49:32 -0700</bug_when>
    <thetext>It looks like this has broken the Windows build: http://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745383</commentid>
    <comment_count>26</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-18 10:55:20 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; It looks like this has broken the Windows build: http://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/

Oops, sorry about that!

It&apos;s looking for a symbol that was removed, and it looks like the internals lib was not recompiled. Smells like VS build didn&apos;t understand this change in dependency. Can we clobber?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745491</commentid>
    <comment_count>27</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-10-18 13:01:11 -0700</bug_when>
    <thetext>Clean build is failing locally on my machine. Bots still haven&apos;t finished it seems.

I got rid of he distributedNodes error by getting rid of the export line in WebKit2.def.

Not sure why the OpaqueJSString errors are there though. THey don&apos;y seem related?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745492</commentid>
    <comment_count>28</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-18 13:02:20 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Clean build is failing locally on my machine. Bots still haven&apos;t finished it seems.
&gt; 
&gt; I got rid of he distributedNodes error by getting rid of the export line in WebKit2.def.

That was it! I am so sorry.

&gt; 
&gt; Not sure why the OpaqueJSString errors are there though. THey don&apos;y seem related?

No, those aren&apos;t related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745501</commentid>
    <comment_count>29</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-10-18 13:17:24 -0700</bug_when>
    <thetext>No worries!
Yeah, the other two failures look like they&apos;re caused by a different patch that landed this morning so we&apos;re all clear here :)
Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745868</commentid>
    <comment_count>30</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-10-18 18:43:36 -0700</bug_when>
    <thetext>Ops, sorry about that. commit-queue could not catch such an error.

Lesson: I have to update a list of exported symbols when we remove an entry from Internals.idl.

(In reply to comment #25)
&gt; It looks like this has broken the Windows build: http://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784700</commentid>
    <comment_count>31</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-06 00:32:09 -0800</bug_when>
    <thetext>*** Bug 104229 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>168529</attachid>
            <date>2012-10-12 19:06:52 -0700</date>
            <delta_ts>2012-10-12 19:06:52 -0700</delta_ts>
            <desc>Reduction to test existence of &lt;content&gt;.distributedNodes</desc>
            <filename>distributedNodes.html</filename>
            <type>text/html</type>
            <size>500</size>
            <attacher name="Steve Orvell">sorvell</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CgpIb3N0IHdpdGggYSBzaGFkb3dSb290IHRoYXQgZGlzdHJpYnV0ZXMg
MiBub2RlcyB0byBhbiBpbnNlcnRpb24gcG9pbnQuCjxkaXYgaWQ9Imhvc3QiPjxkaXY+MTwvZGl2
PjxkaXY+MjwvZGl2PjwvZGl2PgoKPGJyPjxocj48YnI+ClRoZSBpbnNlcnRpb24gcG9pbnQncyBk
aXN0cmlidXRlZE5vZGVzOgo8ZGl2IGlkPSJsb2ciPjwvZGl2PgoKPHNjcmlwdD4KICB2YXIgZWx0
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2lkPSJob3N0Il0nKTsKICB2YXIgcjEgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChlbHQpOwogIAogIHIxLmlubmVySFRNTCA9ICc8Y29udGVudD48L2Nv
bnRlbnQ+JzsKICBjb250ZW50ID0gcjEucXVlcnlTZWxlY3RvcignY29udGVudCcpOwogIHZhciBu
ID0gY29udGVudC5kaXN0cmlidXRlZE5vZGVzOwogIGxvZy5pbm5lckhUTUwgPSAobiA/IG4ubGVu
Z3RoICsgJ2l0ZW1zJyA6ICdkb2VzIG5vdCBleGlzdCcpOwo8L3NjcmlwdD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169132</attachid>
            <date>2012-10-17 02:13:44 -0700</date>
            <delta_ts>2012-10-17 04:56:12 -0700</delta_ts>
            <desc>Add a distributedNodes().</desc>
            <filename>bug-99232-20121017181231.patch</filename>
            <type>text/plain</type>
            <size>4989</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhlZTg4MTQ0OGY5ODhl
OTdmOGU0MWRiNzIyODEyMjk0OGMxOWE3OS4uYWI0M2Y3MjA5NmYxNGZmZDdlZDUzYTg4N2QyNjUx
MDc2MTI5NDgxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTE3ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb250ZW50IGVsZW1lbnQg
ZG9lcyBub3QgZXhwb3NlIGRpc3RyaWJ1dGVkTm9kZXMgcHJvcGVydHkuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTIzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkaXN0cmlidXRlZE5vZGVzKCkg
dG8gSFRNTENvbnRlbnRFbGVtZW50J3MgSURMLCB3aGljaCByZXR1cm5zIGEKKyAgICAgICAgc25h
cHNob3Qgb2Ygbm9kZXMgd2hpY2ggYXJlIGRpc3RyaWJ1dGVkIHRvIHRoZSBjb250ZW50IGVsZW1l
bnQuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0
cmlidXRlZC1ub2Rlcy5odG1sCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjpkaXN0cmlidXRlZE5vZGVzKToKKwogMjAx
Mi0xMC0xNSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdhcm4g
d2hlbiBDU1AgaGVhZGVycyBkb24ndCBzZXBhcmF0ZSBkaXJlY3RpdmVzIHdpdGggJzsnLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5pZGwKaW5k
ZXggNDQ4Yzk3OWEzODliZjk1ZDZiNTUzOTAyNzdhM2M4MDc4MjEwYmQ5Yi4uYzIzOGJmYjkyNjQw
ZWM1OTQ0YTMxNWNhNzBlZTM1NTM3MWJkN2UyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaWRsCkBAIC0zMCw0ICszMCw1IEBACiBdIGlu
dGVyZmFjZSBIVE1MQ29udGVudEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3Rd
IGF0dHJpYnV0ZSBET01TdHJpbmcgc2VsZWN0OwogICAgIGF0dHJpYnV0ZSBib29sZWFuIHJlc2V0
U3R5bGVJbmhlcml0YW5jZTsKKyAgICBOb2RlTGlzdCBkaXN0cmlidXRlZE5vZGVzKCk7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCmluZGV4IDdh
ZWNhYTU2ZThhYTBhYmQwN2E4ZTFmY2QyNzBkZGE4ODdkZjdkNmUuLmRmNjljNTBlMmUzYWJiYTRk
MDIwNDU2ZDBkMTBiYzdlNzc2NTQ0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0luc2VydGlvblBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9JbnNlcnRpb25Qb2ludC5jcHAKQEAgLTkwLDggKzkwLDggQEAgYm9vbCBJbnNlcnRpb25Qb2lu
dDo6aXNBY3RpdmUoKSBjb25zdAogCiBQYXNzUmVmUHRyPE5vZGVMaXN0PiBJbnNlcnRpb25Qb2lu
dDo6ZGlzdHJpYnV0ZWROb2RlcygpIGNvbnN0CiB7Ci0gICAgaWYgKCFhdHRhY2hlZCgpKQotICAg
ICAgICByZXR1cm4gMDsKKyAgICBpZiAoU2hhZG93Um9vdCogcm9vdCA9IHNoYWRvd1Jvb3QoKSkK
KyAgICAgICAgcm9vdC0+b3duZXIoKS0+ZW5zdXJlRGlzdHJpYnV0aW9uKCk7CiAKICAgICBWZWN0
b3I8UmVmUHRyPE5vZGU+ID4gbm9kZXM7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MGZjYjczMzk4NTFiMGRiMWIzYzEz
YWI4M2M1MzBmYzZhNDNlNjUyLi5kN2Y4ZGNhZjk4ODA1NzEzMjkyODAwODA0Yzc5MThiMjY4NWFl
OGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMTcgIEhheWF0byBJdG8gIDxoYXlh
dG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvbnRlbnQgZWxlbWVudCBkb2VzIG5vdCBleHBv
c2UgZGlzdHJpYnV0ZWROb2RlcyBwcm9wZXJ0eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MjMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGRpc3RyaWJ1dGVkTm9kZXMoKSB0byBIVE1MQ29udGVu
dEVsZW1lbnQncyBJREwsIHdoaWNoIHJldHVybnMgYQorICAgICAgICBzbmFwc2hvdCBvZiBub2Rl
cyB3aGljaCBhcmUgZGlzdHJpYnV0ZWQgdG8gdGhlIGNvbnRlbnQgZWxlbWVudC4KKworICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtZGlzdHJpYnV0ZWQtbm9kZXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVt
ZW50LWRpc3RyaWJ1dGVkLW5vZGVzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTE1ICBNaWtlIFdl
c3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2FybiB3aGVuIENTUCBoZWFkZXJz
IGRvbid0IHNlcGFyYXRlIGRpcmVjdGl2ZXMgd2l0aCAnOycuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQt
ZGlzdHJpYnV0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2NzFhNzkxOGUyMjEy
YjlkNTA5Nzk2NDY1MTY4ZWE1NTFjZGE2MjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0cyBmb3IgY29udGVudCBlbGVtZW50J3MgZGlz
dHJpYnV0ZWROb2RlcygpLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBk
aXN0cmlidXRlZE5vZGVzLmxlbmd0aCBpcyAxCitQQVNTIGRpc3RyaWJ1dGVkTm9kZXMuaXRlbSgw
KSBpcyBjaGlsZAorVmVyaWZ5IHRoYXQgdGhlIE5vZGVMaXN0IHJldHVybmVkIGZyb20gZGlzdHJp
YnV0ZWROb2RlcygpIGlzIGEgc25hcHNob3QuCitQQVNTIGRpc3RyaWJ1dGVkTm9kZXMubGVuZ3Ro
IGlzIDEKK1BBU1MgZGlzdHJpYnV0ZWROb2Rlcy5pdGVtKDApIGlzIGNoaWxkCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0cmlidXRlZC1ub2Rl
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0
cmlidXRlZC1ub2Rlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlOTUyZTY3NzkzZDgxMjRhYjZhZDU5ZTZk
YTUxODg0N2Q5NWE2N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvY29udGVudC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLmh0bWwKQEAgLTAsMCArMSwy
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+CisgIDxkaXYgaWQ9J2hvc3QnPjxkaXYgaWQ9J2NoaWxkJz48L2Rpdj48L2Rpdj4KKzwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyBmb3IgY29udGVudCBlbGVtZW50J3Mg
ZGlzdHJpYnV0ZWROb2RlcygpLiIpOworCit2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdob3N0JykKK3ZhciBjaGlsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcp
OwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBjb250
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOworc2hhZG93Um9vdC5hcHBl
bmRDaGlsZChjb250ZW50KTsKK3ZhciBkaXN0cmlidXRlZE5vZGVzID0gY29udGVudC5kaXN0cmli
dXRlZE5vZGVzKCk7CitzaG91bGRCZSgiZGlzdHJpYnV0ZWROb2Rlcy5sZW5ndGgiLCAiMSIpOwor
c2hvdWxkQmUoImRpc3RyaWJ1dGVkTm9kZXMuaXRlbSgwKSIsICJjaGlsZCIpOworCitkZWJ1Zygi
VmVyaWZ5IHRoYXQgdGhlIE5vZGVMaXN0IHJldHVybmVkIGZyb20gZGlzdHJpYnV0ZWROb2Rlcygp
IGlzIGEgc25hcHNob3QuIik7CitzaG91bGRCZSgiZGlzdHJpYnV0ZWROb2Rlcy5sZW5ndGgiLCAi
MSIpOworc2hvdWxkQmUoImRpc3RyaWJ1dGVkTm9kZXMuaXRlbSgwKSIsICJjaGlsZCIpOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169159</attachid>
            <date>2012-10-17 04:56:16 -0700</date>
            <delta_ts>2012-10-17 19:32:34 -0700</delta_ts>
            <desc>Call updateLayout() explicitly.</desc>
            <filename>bug-99232-20121017205503.patch</filename>
            <type>text/plain</type>
            <size>6700</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhlZTg4MTQ0OGY5ODhl
OTdmOGU0MWRiNzIyODEyMjk0OGMxOWE3OS4uYWI0M2Y3MjA5NmYxNGZmZDdlZDUzYTg4N2QyNjUx
MDc2MTI5NDgxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTE3ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb250ZW50IGVsZW1lbnQg
ZG9lcyBub3QgZXhwb3NlIGRpc3RyaWJ1dGVkTm9kZXMgcHJvcGVydHkuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTIzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkaXN0cmlidXRlZE5vZGVzKCkg
dG8gSFRNTENvbnRlbnRFbGVtZW50J3MgSURMLCB3aGljaCByZXR1cm5zIGEKKyAgICAgICAgc25h
cHNob3Qgb2Ygbm9kZXMgd2hpY2ggYXJlIGRpc3RyaWJ1dGVkIHRvIHRoZSBjb250ZW50IGVsZW1l
bnQuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0
cmlidXRlZC1ub2Rlcy5odG1sCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjpkaXN0cmlidXRlZE5vZGVzKToKKwogMjAx
Mi0xMC0xNSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdhcm4g
d2hlbiBDU1AgaGVhZGVycyBkb24ndCBzZXBhcmF0ZSBkaXJlY3RpdmVzIHdpdGggJzsnLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5pZGwKaW5k
ZXggNDQ4Yzk3OWEzODliZjk1ZDZiNTUzOTAyNzdhM2M4MDc4MjEwYmQ5Yi4uYzIzOGJmYjkyNjQw
ZWM1OTQ0YTMxNWNhNzBlZTM1NTM3MWJkN2UyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaWRsCkBAIC0zMCw0ICszMCw1IEBACiBdIGlu
dGVyZmFjZSBIVE1MQ29udGVudEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3Rd
IGF0dHJpYnV0ZSBET01TdHJpbmcgc2VsZWN0OwogICAgIGF0dHJpYnV0ZSBib29sZWFuIHJlc2V0
U3R5bGVJbmhlcml0YW5jZTsKKyAgICBOb2RlTGlzdCBkaXN0cmlidXRlZE5vZGVzKCk7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCmluZGV4IDdh
ZWNhYTU2ZThhYTBhYmQwN2E4ZTFmY2QyNzBkZGE4ODdkZjdkNmUuLjIxNmI1NmJiZDdlYTE4OTY4
Yzc2YjQ4MGE5OWYxMzJkNDBhMWYyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0luc2VydGlvblBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9JbnNlcnRpb25Qb2ludC5jcHAKQEAgLTkwLDkgKzkwLDcgQEAgYm9vbCBJbnNlcnRpb25Qb2lu
dDo6aXNBY3RpdmUoKSBjb25zdAogCiBQYXNzUmVmUHRyPE5vZGVMaXN0PiBJbnNlcnRpb25Qb2lu
dDo6ZGlzdHJpYnV0ZWROb2RlcygpIGNvbnN0CiB7Ci0gICAgaWYgKCFhdHRhY2hlZCgpKQotICAg
ICAgICByZXR1cm4gMDsKLQorICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOwogICAgIFZl
Y3RvcjxSZWZQdHI8Tm9kZT4gPiBub2RlczsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9kaXN0cmlidXRpb24uc2l6ZSgpOyArK2kpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODBmY2I3MzM5ODUxYjBkYjFiM2Mx
M2FiODNjNTMwZmM2YTQzZTY1Mi4uZDdmOGRjYWY5ODgwNTcxMzI5MjgwMDgwNGM3OTE4YjI2ODVh
ZThiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTE3ICBIYXlhdG8gSXRvICA8aGF5
YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb250ZW50IGVsZW1lbnQgZG9lcyBub3QgZXhw
b3NlIGRpc3RyaWJ1dGVkTm9kZXMgcHJvcGVydHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTIzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkaXN0cmlidXRlZE5vZGVzKCkgdG8gSFRNTENvbnRl
bnRFbGVtZW50J3MgSURMLCB3aGljaCByZXR1cm5zIGEKKyAgICAgICAgc25hcHNob3Qgb2Ygbm9k
ZXMgd2hpY2ggYXJlIGRpc3RyaWJ1dGVkIHRvIHRoZSBjb250ZW50IGVsZW1lbnQuCisKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxl
bWVudC1kaXN0cmlidXRlZC1ub2Rlcy5odG1sOiBBZGRlZC4KKwogMjAxMi0xMC0xNSAgTWlrZSBX
ZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdhcm4gd2hlbiBDU1AgaGVhZGVy
cyBkb24ndCBzZXBhcmF0ZSBkaXJlY3RpdmVzIHdpdGggJzsnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0cmlidXRlZC1ub2Rlcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50
LWRpc3RyaWJ1dGVkLW5vZGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDYzOGE1ZGY2YWU2
Y2Q3ODkxZDI4YTc5NmE5NmNmMGI2OWYxMzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0cmlidXRlZC1ub2Rlcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGVzdHMgZm9yIGNvbnRlbnQgZWxlbWVudCdzIGRp
c3RyaWJ1dGVkTm9kZXMoKS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
bm9kZUxpc3QubGVuZ3RoIGlzIGV4cGVjdGVkTm9kZXMubGVuZ3RoCitQQVNTIG5vZGVMaXN0Lml0
ZW0oMCkgaXMgZXhwZWN0ZWROb2Rlc1swXQorUEFTUyBub2RlTGlzdC5sZW5ndGggaXMgZXhwZWN0
ZWROb2Rlcy5sZW5ndGgKK1BBU1Mgbm9kZUxpc3QuaXRlbSgwKSBpcyBleHBlY3RlZE5vZGVzWzBd
CitQQVNTIG5vZGVMaXN0Lmxlbmd0aCBpcyBleHBlY3RlZE5vZGVzLmxlbmd0aAorUEFTUyBub2Rl
TGlzdC5pdGVtKDApIGlzIGV4cGVjdGVkTm9kZXNbMF0KK1ZlcmlmeSB0aGF0IGEgTm9kZUxpc3Qg
cmV0dXJuZWQgZnJvbSBkaXN0cmlidXRlZE5vZGVzKCkgaXMgYSBzbmFwc2hvdC4KK1BBU1Mgbm9k
ZUxpc3QubGVuZ3RoIGlzIGV4cGVjdGVkTm9kZXMubGVuZ3RoCitQQVNTIG5vZGVMaXN0Lml0ZW0o
MCkgaXMgZXhwZWN0ZWROb2Rlc1swXQorUEFTUyBub2RlTGlzdC5sZW5ndGggaXMgZXhwZWN0ZWRO
b2Rlcy5sZW5ndGgKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1l
bGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY29udGVudC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTdj
Mzg3ZGEzZGE1ZjkxZmYwZjUyNTNiNGEwYWI2OWZhZWU0NWVkZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtZGlzdHJpYnV0ZWQt
bm9kZXMuaHRtbApAQCAtMCwwICsxLDYxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgZm9yIGNvbnRlbnQg
ZWxlbWVudCdzIGRpc3RyaWJ1dGVkTm9kZXMoKS4iKTsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZCgKKyAgICBjcmVhdGVET00oJ2RpdicsIHt9LAorICAgICAgICAgICAgICBjcmVhdGVET00o
J2RpdicsIHsnaWQnOiAnaG9zdC0xJ30sCisgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVT
aGFkb3dSb290KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnY29udGVu
dCcsIHsnaWQnOiAnY29udGVudC0xJ30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0
ZURPTSgnZGl2JywgeydpZCc6ICdjaGlsZC0xJ30pKSwKKyAgICAgICAgICAgICAgY3JlYXRlRE9N
KCdkaXYnLCB7J2lkJzogJ2hvc3QtMid9LAorICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRl
U2hhZG93Um9vdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRl
bnQnLCB7J2lkJzogJ2NvbnRlbnQtMid9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
cmVhdGVET00oJ2RpdicsIHsnaWQnOiAnaG9zdC0zJ30sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J2lkJzogJ2NvbnRlbnQt
Myd9KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgn
ZGl2JywgeydpZCc6ICdjaGlsZC0zJ30pKSksCisgICAgICAgICAgICAgICAgICAgICAgICBjcmVh
dGVET00oJ2RpdicsIHsnaWQnOiAnY2hpbGQtMid9KSkpKTsKKworCit2YXIgY29udGVudDEgPSBn
ZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ2hvc3QtMS9jb250ZW50LTEnKTsKK3ZhciBjb250ZW50
MiA9IGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnaG9zdC0yL2NvbnRlbnQtMicpOwordmFyIGNv
bnRlbnQzID0gZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdob3N0LTIvaG9zdC0zL2NvbnRlbnQt
MycpOworCit2YXIgY2hpbGQxID0gZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdjaGlsZC0xJyk7
Cit2YXIgY2hpbGQyID0gZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdjaGlsZC0yJyk7Cit2YXIg
Y2hpbGQzID0gZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdob3N0LTIvY2hpbGQtMycpOworCit2
YXIgZGlzdHJpYnV0ZWROb2RlczEgPSBjb250ZW50MS5kaXN0cmlidXRlZE5vZGVzKCk7Cit2YXIg
ZGlzdHJpYnV0ZWROb2RlczIgPSBjb250ZW50Mi5kaXN0cmlidXRlZE5vZGVzKCk7Cit2YXIgZGlz
dHJpYnV0ZWROb2RlczMgPSBjb250ZW50My5kaXN0cmlidXRlZE5vZGVzKCk7CisKK2Z1bmN0aW9u
IGFzc2VydE5vZGVMaXN0KG5vZGVMaXN0LCBleHBlY3RlZE5vZGVzKQoreworICAgIHdpbmRvdy5u
b2RlTGlzdCA9IG5vZGVMaXN0OworICAgIHdpbmRvdy5leHBlY3RlZE5vZGVzID0gZXhwZWN0ZWRO
b2RlczsKKyAgICBzaG91bGRCZSgibm9kZUxpc3QubGVuZ3RoIiwgImV4cGVjdGVkTm9kZXMubGVu
Z3RoIik7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlTGlzdC5sZW5ndGg7ICsraSkgewor
ICAgICAgc2hvdWxkQmUoIm5vZGVMaXN0Lml0ZW0oIiArIGkgKyAiKSIsICJleHBlY3RlZE5vZGVz
WyIgKyBpICsgIl0iKTsKKyAgICB9Cit9CisKK2Fzc2VydE5vZGVMaXN0KGRpc3RyaWJ1dGVkTm9k
ZXMxLCBbY2hpbGQxXSk7Cithc3NlcnROb2RlTGlzdChkaXN0cmlidXRlZE5vZGVzMiwgW2NoaWxk
Ml0pOworYXNzZXJ0Tm9kZUxpc3QoZGlzdHJpYnV0ZWROb2RlczMsIFtjaGlsZDNdKTsKKworZGVi
dWcoJ1ZlcmlmeSB0aGF0IGEgTm9kZUxpc3QgcmV0dXJuZWQgZnJvbSBkaXN0cmlidXRlZE5vZGVz
KCkgaXMgYSBzbmFwc2hvdC4nKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0LTEnKS5p
bm5lckhUTUwgPSAnJzsKK2Fzc2VydE5vZGVMaXN0KGRpc3RyaWJ1dGVkTm9kZXMxLCBbY2hpbGQx
XSk7Cithc3NlcnROb2RlTGlzdChjb250ZW50MS5kaXN0cmlidXRlZE5vZGVzKCksIFtdKTsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169325</attachid>
            <date>2012-10-17 19:32:38 -0700</date>
            <delta_ts>2012-10-17 19:59:35 -0700</delta_ts>
            <desc>Renamed to getDistributedNodes(). Remove distributedNodes() from Internals.</desc>
            <filename>bug-99232-20121018113125.patch</filename>
            <type>text/plain</type>
            <size>11787</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhlZTg4MTQ0OGY5ODhl
OTdmOGU0MWRiNzIyODEyMjk0OGMxOWE3OS4uNzY4NDJlYmY0ZmZhNDc5NDlmZGViZDQ5OTY3MjZi
MDliMGMxZjY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTE3ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb250ZW50IGVsZW1lbnQg
ZG9lcyBub3QgZXhwb3NlIGRpc3RyaWJ1dGVkTm9kZXMgcHJvcGVydHkuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTIzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBnZXREaXN0cmlidXRlZE5vZGVz
KCkgdG8gSFRNTENvbnRlbnRFbGVtZW50J3MgSURMLCB3aGljaCByZXR1cm5zIGEKKyAgICAgICAg
c3RhdGljIE5vZGVMaXN0IHdob3NlIG5vZGUgYXJlIGRpc3RyaWJ1dGVkIHRvIHRoZSBjb250ZW50
IGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVu
dC1kaXN0cmlidXRlZC1ub2Rlcy5odG1sCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29u
dGVudEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjpnZXREaXN0cmlidXRlZE5vZGVz
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oOgorICAgICAgICAoSW5z
ZXJ0aW9uUG9pbnQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMTAtMTUgIE1pa2UgV2VzdCAgPG1rd3N0QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXYXJuIHdoZW4gQ1NQIGhlYWRlcnMgZG9uJ3Qgc2VwYXJh
dGUgZGlyZWN0aXZlcyB3aXRoICc7Jy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9IVE1MQ29udGVudEVsZW1lbnQuaWRsCmluZGV4IDQ0OGM5NzlhMzg5YmY5NWQ2YjU1MzkwMjc3
YTNjODA3ODIxMGJkOWIuLmIyODZjNDhmZGZhZjVkZjY2MTZhODkyM2QwMTc4ZTgxNzE1ZmRmNGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVu
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50
LmlkbApAQCAtMzAsNCArMzAsNSBAQAogXSBpbnRlcmZhY2UgSFRNTENvbnRlbnRFbGVtZW50IDog
SFRNTEVsZW1lbnQgewogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlbGVjdDsK
ICAgICBhdHRyaWJ1dGUgYm9vbGVhbiByZXNldFN0eWxlSW5oZXJpdGFuY2U7CisgICAgTm9kZUxp
c3QgZ2V0RGlzdHJpYnV0ZWROb2RlcygpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0luc2VydGlvblBvaW50LmNwcAppbmRleCA3YWVjYWE1NmU4YWEwYWJkMDdhOGUxZmNkMjcw
ZGRhODg3ZGY3ZDZlLi4wOTIwNzc0NjczZTIxODk0NjFmMzgwNzU2NGI5MWNhNjQxOWJiYThmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCkBAIC04
OCwxMSArODgsOSBAQCBib29sIEluc2VydGlvblBvaW50Ojppc0FjdGl2ZSgpIGNvbnN0CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLVBhc3NSZWZQdHI8Tm9kZUxpc3Q+IEluc2VydGlvblBvaW50Ojpk
aXN0cmlidXRlZE5vZGVzKCkgY29uc3QKK1Bhc3NSZWZQdHI8Tm9kZUxpc3Q+IEluc2VydGlvblBv
aW50OjpnZXREaXN0cmlidXRlZE5vZGVzKCkgY29uc3QKIHsKLSAgICBpZiAoIWF0dGFjaGVkKCkp
Ci0gICAgICAgIHJldHVybiAwOwotCisgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CiAg
ICAgVmVjdG9yPFJlZlB0cjxOb2RlPiA+IG5vZGVzOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBtX2Rpc3RyaWJ1dGlvbi5zaXplKCk7ICsraSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9JbnNlcnRpb25Qb2ludC5oCmluZGV4IDJlZjM2YzFjNWIyMmM4ZDdmOWU2MThmNjIzZWFk
YjJhMzIwNzNlMjkuLjk1Zjc5OTVkN2UwOGQ1Mzg0NjU0YzliMjE1NWE1MmRiY2MwZjcxZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaApAQCAtNDksNyAr
NDksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1NoYWRvd0JvdW5kYXJ5KCkgY29uc3Q7CiAgICAg
Ym9vbCBpc0FjdGl2ZSgpIGNvbnN0OwogCi0gICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gZGlzdHJp
YnV0ZWROb2RlcygpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldERpc3RyaWJ1
dGVkTm9kZXMoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxl
Y3QoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzU2VsZWN0VmFsaWQoKSBjb25zdCA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYTQzMGZjNWEzNmExM2Fj
Y2FhMjczNDc0OTViOTBjMGUxNzI2NDNlNy4uYzI2ZDZlYTRmOTc4YTc1NDI3MDJhMDZmNWE0ZTYz
ODEyN2EzNDVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjk3LDE2
ICsyOTcsNiBAQCBOb2RlKiBJbnRlcm5hbHM6OnBhcmVudFRyZWVTY29wZShOb2RlKiBub2RlLCBF
eGNlcHRpb25Db2RlJiBlYykKICAgICByZXR1cm4gcGFyZW50VHJlZVNjb3BlID8gcGFyZW50VHJl
ZVNjb3BlLT5yb290Tm9kZSgpIDogMDsKIH0KIAotUGFzc1JlZlB0cjxOb2RlTGlzdD4gSW50ZXJu
YWxzOjpkaXN0cmlidXRlZE5vZGVzKEVsZW1lbnQqIGluc2VydGlvblBvaW50LCBFeGNlcHRpb25D
b2RlJiBlYykKLXsKLSAgICBpZiAoIWluc2VydGlvblBvaW50IHx8ICFpc0luc2VydGlvblBvaW50
KGluc2VydGlvblBvaW50KSkgewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRvSW5zZXJ0aW9uUG9pbnQoaW5z
ZXJ0aW9uUG9pbnQpLT5kaXN0cmlidXRlZE5vZGVzKCk7Ci19Ci0KIGJvb2wgSW50ZXJuYWxzOjpo
YXNTaGFkb3dJbnNlcnRpb25Qb2ludChjb25zdCBOb2RlKiByb290LCBFeGNlcHRpb25Db2RlJiBl
YykgY29uc3QKIHsKICAgICBpZiAocm9vdCAmJiByb290LT5pc1NoYWRvd1Jvb3QoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGU0YWI5NmQ2Njg0Mzc3NDRkM2E4NGZjYjAwZTBi
MWM2MzljYTQxZjYuLmJiYzVjNWI3YjlkNTE5NTIzYThhYmU2ZWVlZDU5NWNhZDBiM2Y2ZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtOTAsNyArOTAsNiBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc1ZhbGlkQ29udGVudFNlbGVjdChFbGVtZW50KiBpbnNlcnRpb25Qb2ludCwgRXhj
ZXB0aW9uQ29kZSYpOwogICAgIE5vZGUqIHRyZWVTY29wZVJvb3ROb2RlKE5vZGUqLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgTm9kZSogcGFyZW50VHJlZVNjb3BlKE5vZGUqLCBFeGNlcHRpb25Db2Rl
Jik7Ci0gICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gZGlzdHJpYnV0ZWROb2RlcyhFbGVtZW50KiBp
bnNlcnRpb25Qb2ludCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgYm9vbCBhdHRhY2hlZChOb2Rl
KiwgRXhjZXB0aW9uQ29kZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5k
ZXggM2UyZDQ3NDY4NjFhNjhlMDg2YmFiM2U5MjdjMDZkMDhkOWJlM2EyZi4uNzdiYTY2MDEwMjFk
NThlNWI3ZjBiMjAwNGQyMWJiNDFiZThkNDFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbApAQCAtNTYsNyArNTYsNiBAQAogICAgIGJvb2xlYW4gaXNWYWxpZENvbnRlbnRTZWxl
Y3QoaW4gRWxlbWVudCBjb250ZW50RWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAg
Tm9kZSB0cmVlU2NvcGVSb290Tm9kZShpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKICAgICBOb2RlIHBhcmVudFRyZWVTY29wZShpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsKLSAgICBOb2RlTGlzdCBkaXN0cmlidXRlZE5vZGVzKGluIEVsZW1lbnQgaW5zZXJ0
aW9uUG9pbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgTm9kZSBuZXh0U2libGluZ0J5
V2Fsa2VyKGluIE5vZGUgbm9kZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgTm9kZSBmaXJz
dENoaWxkQnlXYWxrZXIoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA4MGZjYjczMzk4NTFiMGRiMWIzYzEzYWI4M2M1MzBmYzZhNDNlNjUyLi5hZmY3OTQ0ODNhZDU3
ZjQ3NmE4YWI0ZTkyNjUwZGYwNDk3NzIxMDRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTIt
MTAtMTcgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvbnRl
bnQgZWxlbWVudCBkb2VzIG5vdCBleHBvc2UgZGlzdHJpYnV0ZWROb2RlcyBwcm9wZXJ0eS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MjMyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGdldERpc3Ry
aWJ1dGVkTm9kZXMoKSB0byBIVE1MQ29udGVudEVsZW1lbnQncyBJREwsIHdoaWNoIHJldHVybnMg
YQorICAgICAgICBzdGF0aWMgTm9kZUxpc3Qgd2hvc2Ugbm9kZSBhcmUgZGlzdHJpYnV0ZWQgdG8g
dGhlIGNvbnRlbnQgZWxlbWVudC4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50
LWVsZW1lbnQtZGlzdHJpYnV0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1ub2Rlcy1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVk
LW5vZGVzLmh0bWw6IFJlbW92ZWQuCisKIDIwMTItMTAtMTUgIE1pa2UgV2VzdCAgPG1rd3N0QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXYXJuIHdoZW4gQ1NQIGhlYWRlcnMgZG9uJ3Qgc2VwYXJh
dGUgZGlyZWN0aXZlcyB3aXRoICc7Jy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jb250ZW50LWVsZW1lbnQtZGlzdHJpYnV0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0cmlidXRlZC1u
b2Rlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQ2MzhhNWRmNmFlNmNkNzg5MWQyOGE3OTZh
OTZjZjBiNjlmMTM2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jb250ZW50LWVsZW1lbnQtZGlzdHJpYnV0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTkgQEAKK1Rlc3RzIGZvciBjb250ZW50IGVsZW1lbnQncyBkaXN0cmlidXRlZE5vZGVz
KCkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vZGVMaXN0Lmxlbmd0
aCBpcyBleHBlY3RlZE5vZGVzLmxlbmd0aAorUEFTUyBub2RlTGlzdC5pdGVtKDApIGlzIGV4cGVj
dGVkTm9kZXNbMF0KK1BBU1Mgbm9kZUxpc3QubGVuZ3RoIGlzIGV4cGVjdGVkTm9kZXMubGVuZ3Ro
CitQQVNTIG5vZGVMaXN0Lml0ZW0oMCkgaXMgZXhwZWN0ZWROb2Rlc1swXQorUEFTUyBub2RlTGlz
dC5sZW5ndGggaXMgZXhwZWN0ZWROb2Rlcy5sZW5ndGgKK1BBU1Mgbm9kZUxpc3QuaXRlbSgwKSBp
cyBleHBlY3RlZE5vZGVzWzBdCitWZXJpZnkgdGhhdCBhIE5vZGVMaXN0IHJldHVybmVkIGZyb20g
ZGlzdHJpYnV0ZWROb2RlcygpIGlzIGEgc25hcHNob3QuCitQQVNTIG5vZGVMaXN0Lmxlbmd0aCBp
cyBleHBlY3RlZE5vZGVzLmxlbmd0aAorUEFTUyBub2RlTGlzdC5pdGVtKDApIGlzIGV4cGVjdGVk
Tm9kZXNbMF0KK1BBU1Mgbm9kZUxpc3QubGVuZ3RoIGlzIGV4cGVjdGVkTm9kZXMubGVuZ3RoCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0cmli
dXRlZC1ub2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxl
bWVudC1kaXN0cmlidXRlZC1ub2Rlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZDYzMjFmODM3YWFlNGFm
MDE3NGQ4NGUzNjY1YjczMzM3OGRhYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLmh0bWwKQEAg
LTAsMCArMSw2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3NoYWRvdy1kb20uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIGZvciBjb250ZW50IGVsZW1lbnQncyBkaXN0
cmlidXRlZE5vZGVzKCkuIik7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoCisgICAgY3Jl
YXRlRE9NKCdkaXYnLCB7fSwKKyAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzog
J2hvc3QtMSd9LAorICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J2lkJzogJ2Nv
bnRlbnQtMSd9KSksCisgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsn
aWQnOiAnY2hpbGQtMSd9KSksCisgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6
ICdob3N0LTInfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdjb250ZW50JywgeydpZCc6ICdj
b250ZW50LTInfSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYn
LCB7J2lkJzogJ2hvc3QtMyd9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY3JlYXRlRE9NKCdjb250ZW50JywgeydpZCc6ICdjb250ZW50LTMnfSkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAn
Y2hpbGQtMyd9KSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7
J2lkJzogJ2NoaWxkLTInfSkpKSk7CisKKwordmFyIGNvbnRlbnQxID0gZ2V0Tm9kZUluU2hhZG93
VHJlZVN0YWNrKCdob3N0LTEvY29udGVudC0xJyk7Cit2YXIgY29udGVudDIgPSBnZXROb2RlSW5T
aGFkb3dUcmVlU3RhY2soJ2hvc3QtMi9jb250ZW50LTInKTsKK3ZhciBjb250ZW50MyA9IGdldE5v
ZGVJblNoYWRvd1RyZWVTdGFjaygnaG9zdC0yL2hvc3QtMy9jb250ZW50LTMnKTsKKwordmFyIGNo
aWxkMSA9IGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnY2hpbGQtMScpOwordmFyIGNoaWxkMiA9
IGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnY2hpbGQtMicpOwordmFyIGNoaWxkMyA9IGdldE5v
ZGVJblNoYWRvd1RyZWVTdGFjaygnaG9zdC0yL2NoaWxkLTMnKTsKKwordmFyIGRpc3RyaWJ1dGVk
Tm9kZXMxID0gY29udGVudDEuZ2V0RGlzdHJpYnV0ZWROb2RlcygpOwordmFyIGRpc3RyaWJ1dGVk
Tm9kZXMyID0gY29udGVudDIuZ2V0RGlzdHJpYnV0ZWROb2RlcygpOwordmFyIGRpc3RyaWJ1dGVk
Tm9kZXMzID0gY29udGVudDMuZ2V0RGlzdHJpYnV0ZWROb2RlcygpOworCitmdW5jdGlvbiBhc3Nl
cnROb2RlTGlzdChub2RlTGlzdCwgZXhwZWN0ZWROb2RlcykKK3sKKyAgICB3aW5kb3cubm9kZUxp
c3QgPSBub2RlTGlzdDsKKyAgICB3aW5kb3cuZXhwZWN0ZWROb2RlcyA9IGV4cGVjdGVkTm9kZXM7
CisgICAgc2hvdWxkQmUoIm5vZGVMaXN0Lmxlbmd0aCIsICJleHBlY3RlZE5vZGVzLmxlbmd0aCIp
OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZUxpc3QubGVuZ3RoOyArK2kpIHsKKyAgICAg
IHNob3VsZEJlKCJub2RlTGlzdC5pdGVtKCIgKyBpICsgIikiLCAiZXhwZWN0ZWROb2Rlc1siICsg
aSArICJdIik7CisgICAgfQorfQorCithc3NlcnROb2RlTGlzdChkaXN0cmlidXRlZE5vZGVzMSwg
W2NoaWxkMV0pOworYXNzZXJ0Tm9kZUxpc3QoZGlzdHJpYnV0ZWROb2RlczIsIFtjaGlsZDJdKTsK
K2Fzc2VydE5vZGVMaXN0KGRpc3RyaWJ1dGVkTm9kZXMzLCBbY2hpbGQzXSk7CisKK2RlYnVnKCdW
ZXJpZnkgdGhhdCBhIE5vZGVMaXN0IHJldHVybmVkIGZyb20gZGlzdHJpYnV0ZWROb2RlcygpIGlz
IGEgc25hcHNob3QuJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdC0xJykuaW5uZXJI
VE1MID0gJyc7Cithc3NlcnROb2RlTGlzdChkaXN0cmlidXRlZE5vZGVzMSwgW2NoaWxkMV0pOwor
YXNzZXJ0Tm9kZUxpc3QoY29udGVudDEuZ2V0RGlzdHJpYnV0ZWROb2RlcygpLCBbXSk7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLW5vZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1ub2Rlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2MTQ0MWFkMGJkYTBlZGE0YWI2M2Y3OTc2N2FlMDRmODU4
YjRmNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLW5vZGVzLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVBBU1Mgbm9kZUxpc3QubGVuZ3RoIGlzIDMK
LVBBU1Mgbm9kZUxpc3QuaXRlbSgwKSBpcyBhCi1QQVNTIG5vZGVMaXN0Lml0ZW0oMSkgaXMgYgot
UEFTUyBub2RlTGlzdC5pdGVtKDIpIGlzIGMKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotVGhpcyB0ZXN0IGNoZWNrcyBpbnRlcm5hbHMuZGlzdHJpYnV0
ZWROb2RlcyhpbnNlcnRpb25Qb2ludCkgcmV0dXJucyB0aGUgbm9kZSBkaXN0cmlidXRlZCB0byB0
aGUgaW5zZXJ0aW9uIHBvaW50LgotCi1BCi1CCi1DCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0ZWQtbm9kZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1ub2Rlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2NGFkMTk5ZmEzYWQ3MDExNTEwYzY0Y2M1NTAxYTI4NzllZTA4NzM0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1ub2Rlcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDAg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLQotPHA+VGhpcyB0ZXN0IGNoZWNrcyBp
bnRlcm5hbHMuZGlzdHJpYnV0ZWROb2RlcyhpbnNlcnRpb25Qb2ludCkgcmV0dXJucyB0aGUgbm9k
ZSBkaXN0cmlidXRlZCB0byB0aGUgaW5zZXJ0aW9uIHBvaW50LjwvcD4KLQotPGRpdiBpZD0iaG9z
dCI+Ci0gICAgPGRpdiBpZD0iYSI+QTwvZGl2PgotICAgIDxkaXYgaWQ9ImIiPkI8L2Rpdj4KLSAg
ICA8ZGl2IGlkPSJjIj5DPC9kaXY+Ci08L2Rpdj4KLQotPHNjcmlwdD4KLWpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwot
dmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbnRlbnQnKTsKLXNoYWRvdy5z
ZXRBdHRyaWJ1dGUoJ3NlbGVjdCcsICdkaXYnKTsKLXNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2hh
ZG93KTsKLQotdmFyIG5vZGVMaXN0Owotc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICBub2Rl
TGlzdCA9IGludGVybmFscy5kaXN0cmlidXRlZE5vZGVzKHNoYWRvdyk7Ci0KLSAgICBzaG91bGRC
ZSgnbm9kZUxpc3QubGVuZ3RoJywgIjMiKTsKLSAgICBzaG91bGRCZSgnbm9kZUxpc3QuaXRlbSgw
KScsICdhJyk7Ci0gICAgc2hvdWxkQmUoJ25vZGVMaXN0Lml0ZW0oMSknLCAnYicpOwotICAgIHNo
b3VsZEJlKCdub2RlTGlzdC5pdGVtKDIpJywgJ2MnKTsKLQotICAgIGZpbmlzaEpTVGVzdCgpOwot
fSwgMCk7Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169326</attachid>
            <date>2012-10-17 19:59:40 -0700</date>
            <delta_ts>2012-10-17 21:00:05 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-99232-20121018115826.patch</filename>
            <type>text/plain</type>
            <size>12818</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhlZTg4MTQ0OGY5ODhl
OTdmOGU0MWRiNzIyODEyMjk0OGMxOWE3OS4uYWQ0MTFkNmMzYjIyOWI5NWNmYjk2ODMwMzc0ZWIy
MGFlYzY4MGU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTE3ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb250ZW50IGVsZW1lbnQg
ZG9lcyBub3QgZXhwb3NlIGRpc3RyaWJ1dGVkTm9kZXMgcHJvcGVydHkuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTIzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAgICAgICBBZGQgZ2V0RGlzdHJpYnV0ZWROb2Rl
cygpIHRvIEhUTUxDb250ZW50RWxlbWVudCdzIElETCwgd2hpY2ggcmV0dXJucyBhCisgICAgICAg
IHN0YXRpYyBOb2RlTGlzdCB3aG9zZSBub2RlIGFyZSBkaXN0cmlidXRlZCB0byB0aGUgY29udGVu
dCBlbGVtZW50LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1l
bnQtZGlzdHJpYnV0ZWQtbm9kZXMuaHRtbAorCisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTENv
bnRlbnRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6Z2V0RGlzdHJpYnV0ZWROb2Rl
cyk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaDoKKyAgICAgICAgKElu
c2VydGlvblBvaW50KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTEwLTE1ICBNaWtlIFdlc3QgIDxta3dzdEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2FybiB3aGVuIENTUCBoZWFkZXJzIGRvbid0IHNlcGFy
YXRlIGRpcmVjdGl2ZXMgd2l0aCAnOycuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSFRNTENvbnRlbnRFbGVtZW50LmlkbAppbmRleCA0NDhjOTc5YTM4OWJmOTVkNmI1NTM5MDI3
N2EzYzgwNzgyMTBiZDliLi5iMjg2YzQ4ZmRmYWY1ZGY2NjE2YTg5MjNkMDE3OGU4MTcxNWZkZjRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVu
dC5pZGwKQEAgLTMwLDQgKzMwLDUgQEAKIF0gaW50ZXJmYWNlIEhUTUxDb250ZW50RWxlbWVudCA6
IEhUTUxFbGVtZW50IHsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBzZWxlY3Q7
CiAgICAgYXR0cmlidXRlIGJvb2xlYW4gcmVzZXRTdHlsZUluaGVyaXRhbmNlOworICAgIE5vZGVM
aXN0IGdldERpc3RyaWJ1dGVkTm9kZXMoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKaW5kZXggN2FlY2FhNTZlOGFhMGFiZDA3YThlMWZjZDI3
MGRkYTg4N2RmN2Q2ZS4uMDkyMDc3NDY3M2UyMTg5NDYxZjM4MDc1NjRiOTFjYTY0MTliYmE4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcApAQCAt
ODgsMTEgKzg4LDkgQEAgYm9vbCBJbnNlcnRpb25Qb2ludDo6aXNBY3RpdmUoKSBjb25zdAogICAg
IHJldHVybiB0cnVlOwogfQogCi1QYXNzUmVmUHRyPE5vZGVMaXN0PiBJbnNlcnRpb25Qb2ludDo6
ZGlzdHJpYnV0ZWROb2RlcygpIGNvbnN0CitQYXNzUmVmUHRyPE5vZGVMaXN0PiBJbnNlcnRpb25Q
b2ludDo6Z2V0RGlzdHJpYnV0ZWROb2RlcygpIGNvbnN0CiB7Ci0gICAgaWYgKCFhdHRhY2hlZCgp
KQotICAgICAgICByZXR1cm4gMDsKLQorICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOwog
ICAgIFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiBub2RlczsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbV9kaXN0cmlidXRpb24uc2l6ZSgpOyArK2kpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAppbmRleCAyZWYzNmMxYzViMjJjOGQ3ZjllNjE4ZjYyM2Vh
ZGIyYTMyMDczZTI5Li45NWY3OTk1ZDdlMDhkNTM4NDY1NGM5YjIxNTVhNTJkYmNjMGY3MWUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKQEAgLTQ5LDcg
KzQ5LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNTaGFkb3dCb3VuZGFyeSgpIGNvbnN0OwogICAg
IGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKIAotICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGRpc3Ry
aWJ1dGVkTm9kZXMoKSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBnZXREaXN0cmli
dXRlZE5vZGVzKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2Vs
ZWN0KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCkgY29uc3Qg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGE0MzBmYzVhMzZhMTNh
Y2NhYTI3MzQ3NDk1YjkwYzBlMTcyNjQzZTcuLmMyNmQ2ZWE0Zjk3OGE3NTQyNzAyYTA2ZjVhNGU2
MzgxMjdhMzQ1ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTI5Nywx
NiArMjk3LDYgQEAgTm9kZSogSW50ZXJuYWxzOjpwYXJlbnRUcmVlU2NvcGUoTm9kZSogbm9kZSwg
RXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIHBhcmVudFRyZWVTY29wZSA/IHBhcmVudFRy
ZWVTY29wZS0+cm9vdE5vZGUoKSA6IDA7CiB9CiAKLVBhc3NSZWZQdHI8Tm9kZUxpc3Q+IEludGVy
bmFsczo6ZGlzdHJpYnV0ZWROb2RlcyhFbGVtZW50KiBpbnNlcnRpb25Qb2ludCwgRXhjZXB0aW9u
Q29kZSYgZWMpCi17Ci0gICAgaWYgKCFpbnNlcnRpb25Qb2ludCB8fCAhaXNJbnNlcnRpb25Qb2lu
dChpbnNlcnRpb25Qb2ludCkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0g
ICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIHJldHVybiB0b0luc2VydGlvblBvaW50KGlu
c2VydGlvblBvaW50KS0+ZGlzdHJpYnV0ZWROb2RlcygpOwotfQotCiBib29sIEludGVybmFsczo6
aGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoY29uc3QgTm9kZSogcm9vdCwgRXhjZXB0aW9uQ29kZSYg
ZWMpIGNvbnN0CiB7CiAgICAgaWYgKHJvb3QgJiYgcm9vdC0+aXNTaGFkb3dSb290KCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBlNGFiOTZkNjY4NDM3NzQ0ZDNhODRmY2IwMGUw
YjFjNjM5Y2E0MWY2Li5iYmM1YzViN2I5ZDUxOTUyM2E4YWJlNmVlZWQ1OTVjYWQwYjNmNmU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTkwLDcgKzkwLDYgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNWYWxpZENvbnRlbnRTZWxlY3QoRWxlbWVudCogaW5zZXJ0aW9uUG9pbnQsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICBOb2RlKiB0cmVlU2NvcGVSb290Tm9kZShOb2RlKiwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIE5vZGUqIHBhcmVudFRyZWVTY29wZShOb2RlKiwgRXhjZXB0aW9uQ29k
ZSYpOwotICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGRpc3RyaWJ1dGVkTm9kZXMoRWxlbWVudCog
aW5zZXJ0aW9uUG9pbnQsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIGJvb2wgYXR0YWNoZWQoTm9k
ZSosIEV4Y2VwdGlvbkNvZGUmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmlu
ZGV4IDNlMmQ0NzQ2ODYxYTY4ZTA4NmJhYjNlOTI3YzA2ZDA4ZDliZTNhMmYuLjc3YmE2NjAxMDIx
ZDU4ZTViN2YwYjIwMDRkMjFiYjQxYmU4ZDQxYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKQEAgLTU2LDcgKzU2LDYgQEAKICAgICBib29sZWFuIGlzVmFsaWRDb250ZW50U2Vs
ZWN0KGluIEVsZW1lbnQgY29udGVudEVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAg
IE5vZGUgdHJlZVNjb3BlUm9vdE5vZGUoaW4gTm9kZSBub2RlKSByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CiAgICAgTm9kZSBwYXJlbnRUcmVlU2NvcGUoaW4gTm9kZSBub2RlKSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7Ci0gICAgTm9kZUxpc3QgZGlzdHJpYnV0ZWROb2RlcyhpbiBFbGVtZW50IGluc2Vy
dGlvblBvaW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgIE5vZGUgbmV4dFNpYmxpbmdC
eVdhbGtlcihpbiBOb2RlIG5vZGUpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIE5vZGUgZmly
c3RDaGlsZEJ5V2Fsa2VyKGluIE5vZGUgbm9kZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggODBmY2I3MzM5ODUxYjBkYjFiM2MxM2FiODNjNTMwZmM2YTQzZTY1Mi4uYjYyYTdjNzkyZThm
YjYwYWFmNmU5Y2U5YTNjOGIyYWFkZTgzMGEyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEy
LTEwLTE3ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb250
ZW50IGVsZW1lbnQgZG9lcyBub3QgZXhwb3NlIGRpc3RyaWJ1dGVkTm9kZXMgcHJvcGVydHkuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTIzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAgICAgICBBZGQgZ2V0RGlz
dHJpYnV0ZWROb2RlcygpIHRvIEhUTUxDb250ZW50RWxlbWVudCdzIElETCwgd2hpY2ggcmV0dXJu
cyBhCisgICAgICAgIHN0YXRpYyBOb2RlTGlzdCB3aG9zZSBub2RlIGFyZSBkaXN0cmlidXRlZCB0
byB0aGUgY29udGVudCBlbGVtZW50LgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRl
bnQtZWxlbWVudC1kaXN0cmlidXRlZC1ub2Rlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtZGlzdHJpYnV0ZWQtbm9kZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLW5vZGVzLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0
ZWQtbm9kZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0
YXRpb25zOgorCiAyMDEyLTEwLTE1ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2FybiB3aGVuIENTUCBoZWFkZXJzIGRvbid0IHNlcGFyYXRlIGRpcmVjdGl2ZXMg
d2l0aCAnOycuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtZGlzdHJpYnV0ZWQtbm9kZXMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI5YTAzZDk4NzU4ZGIwYmI5ZGYwYTgyMDA0Yjk5YmMxZjIyMzEyODMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1l
bGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitU
ZXN0cyBmb3IgY29udGVudCBlbGVtZW50J3MgZ2V0RGlzdHJpYnV0ZWROb2RlcygpLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBub2RlTGlzdC5sZW5ndGggaXMgZXhwZWN0
ZWROb2Rlcy5sZW5ndGgKK1BBU1Mgbm9kZUxpc3QuaXRlbSgwKSBpcyBleHBlY3RlZE5vZGVzWzBd
CitQQVNTIG5vZGVMaXN0Lmxlbmd0aCBpcyBleHBlY3RlZE5vZGVzLmxlbmd0aAorUEFTUyBub2Rl
TGlzdC5pdGVtKDApIGlzIGV4cGVjdGVkTm9kZXNbMF0KK1BBU1Mgbm9kZUxpc3QubGVuZ3RoIGlz
IGV4cGVjdGVkTm9kZXMubGVuZ3RoCitQQVNTIG5vZGVMaXN0Lml0ZW0oMCkgaXMgZXhwZWN0ZWRO
b2Rlc1swXQorVmVyaWZ5IHRoYXQgZ2V0RGlzdHJpYnV0ZWROb2RlcygpIHJldHVybnMgYSBzdGF0
aWMgTm9kZUxpc3QuCitQQVNTIG5vZGVMaXN0Lmxlbmd0aCBpcyBleHBlY3RlZE5vZGVzLmxlbmd0
aAorUEFTUyBub2RlTGlzdC5pdGVtKDApIGlzIGV4cGVjdGVkTm9kZXNbMF0KK1BBU1Mgbm9kZUxp
c3QubGVuZ3RoIGlzIGV4cGVjdGVkTm9kZXMubGVuZ3RoCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0cmlidXRlZC1ub2Rlcy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0cmlidXRlZC1ub2Rl
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA2N2Y4ZTg0NDdiNjI1NDRlYmNjOTNjNzAwM2IwMDc0ZTIwM2Qz
MmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1lbGVtZW50LWRpc3RyaWJ1dGVkLW5vZGVzLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRv
dy1kb20uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRlc3RzIGZvciBjb250ZW50IGVsZW1lbnQncyBnZXREaXN0cmlidXRlZE5vZGVzKCkuIik7
CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7fSwK
KyAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2hvc3QtMSd9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J2lkJzogJ2NvbnRlbnQtMSd9KSksCisgICAg
ICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnY2hpbGQtMSd9KSks
CisgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdob3N0LTInfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY3JlYXRlRE9NKCdjb250ZW50JywgeydpZCc6ICdjb250ZW50LTInfSksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2hvc3QtMyd9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290
KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdj
b250ZW50JywgeydpZCc6ICdjb250ZW50LTMnfSkpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnY2hpbGQtMyd9KSkpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2NoaWxkLTInfSkp
KSk7CisKKwordmFyIGNvbnRlbnQxID0gZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdob3N0LTEv
Y29udGVudC0xJyk7Cit2YXIgY29udGVudDIgPSBnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ2hv
c3QtMi9jb250ZW50LTInKTsKK3ZhciBjb250ZW50MyA9IGdldE5vZGVJblNoYWRvd1RyZWVTdGFj
aygnaG9zdC0yL2hvc3QtMy9jb250ZW50LTMnKTsKKwordmFyIGNoaWxkMSA9IGdldE5vZGVJblNo
YWRvd1RyZWVTdGFjaygnY2hpbGQtMScpOwordmFyIGNoaWxkMiA9IGdldE5vZGVJblNoYWRvd1Ry
ZWVTdGFjaygnY2hpbGQtMicpOwordmFyIGNoaWxkMyA9IGdldE5vZGVJblNoYWRvd1RyZWVTdGFj
aygnaG9zdC0yL2NoaWxkLTMnKTsKKwordmFyIGRpc3RyaWJ1dGVkTm9kZXMxID0gY29udGVudDEu
Z2V0RGlzdHJpYnV0ZWROb2RlcygpOwordmFyIGRpc3RyaWJ1dGVkTm9kZXMyID0gY29udGVudDIu
Z2V0RGlzdHJpYnV0ZWROb2RlcygpOwordmFyIGRpc3RyaWJ1dGVkTm9kZXMzID0gY29udGVudDMu
Z2V0RGlzdHJpYnV0ZWROb2RlcygpOworCitmdW5jdGlvbiBhc3NlcnROb2RlTGlzdChub2RlTGlz
dCwgZXhwZWN0ZWROb2RlcykKK3sKKyAgICB3aW5kb3cubm9kZUxpc3QgPSBub2RlTGlzdDsKKyAg
ICB3aW5kb3cuZXhwZWN0ZWROb2RlcyA9IGV4cGVjdGVkTm9kZXM7CisgICAgc2hvdWxkQmUoIm5v
ZGVMaXN0Lmxlbmd0aCIsICJleHBlY3RlZE5vZGVzLmxlbmd0aCIpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbm9kZUxpc3QubGVuZ3RoOyArK2kpIHsKKyAgICAgIHNob3VsZEJlKCJub2RlTGlz
dC5pdGVtKCIgKyBpICsgIikiLCAiZXhwZWN0ZWROb2Rlc1siICsgaSArICJdIik7CisgICAgfQor
fQorCithc3NlcnROb2RlTGlzdChkaXN0cmlidXRlZE5vZGVzMSwgW2NoaWxkMV0pOworYXNzZXJ0
Tm9kZUxpc3QoZGlzdHJpYnV0ZWROb2RlczIsIFtjaGlsZDJdKTsKK2Fzc2VydE5vZGVMaXN0KGRp
c3RyaWJ1dGVkTm9kZXMzLCBbY2hpbGQzXSk7CisKK2RlYnVnKCdWZXJpZnkgdGhhdCBnZXREaXN0
cmlidXRlZE5vZGVzKCkgcmV0dXJucyBhIHN0YXRpYyBOb2RlTGlzdC4nKTsKK2RvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdob3N0LTEnKS5pbm5lckhUTUwgPSAnJzsKK2Fzc2VydE5vZGVMaXN0KGRp
c3RyaWJ1dGVkTm9kZXMxLCBbY2hpbGQxXSk7Cithc3NlcnROb2RlTGlzdChjb250ZW50MS5nZXRE
aXN0cmlidXRlZE5vZGVzKCksIFtdKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0ZWQtbm9k
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVk
LW5vZGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDYxNDQx
YWQwYmRhMGVkYTRhYjYzZjc5NzY3YWUwNGY4NThiNGY2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlz
dHJpYnV0ZWQtbm9kZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBA
QAotUEFTUyBub2RlTGlzdC5sZW5ndGggaXMgMwotUEFTUyBub2RlTGlzdC5pdGVtKDApIGlzIGEK
LVBBU1Mgbm9kZUxpc3QuaXRlbSgxKSBpcyBiCi1QQVNTIG5vZGVMaXN0Lml0ZW0oMikgaXMgYwot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi1UaGlzIHRl
c3QgY2hlY2tzIGludGVybmFscy5kaXN0cmlidXRlZE5vZGVzKGluc2VydGlvblBvaW50KSByZXR1
cm5zIHRoZSBub2RlIGRpc3RyaWJ1dGVkIHRvIHRoZSBpbnNlcnRpb24gcG9pbnQuCi0KLUEKLUIK
LUMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRlZC1u
b2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLW5vZGVz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0YWQxOTlmYTNhZDcwMTE1MTBj
NjRjYzU1MDFhMjg3OWVlMDg3MzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGVkLW5vZGVz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotCi08cD5UaGlzIHRlc3QgY2hlY2tzIGludGVybmFscy5kaXN0cmlidXRlZE5vZGVzKGlu
c2VydGlvblBvaW50KSByZXR1cm5zIHRoZSBub2RlIGRpc3RyaWJ1dGVkIHRvIHRoZSBpbnNlcnRp
b24gcG9pbnQuPC9wPgotCi08ZGl2IGlkPSJob3N0Ij4KLSAgICA8ZGl2IGlkPSJhIj5BPC9kaXY+
Ci0gICAgPGRpdiBpZD0iYiI+QjwvZGl2PgotICAgIDxkaXYgaWQ9ImMiPkM8L2Rpdj4KLTwvZGl2
PgotCi08c2NyaXB0PgotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci12YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnY29udGVudCcpOwotc2hhZG93LnNldEF0dHJpYnV0ZSgnc2VsZWN0JywgJ2Rpdicp
Owotc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3cpOwotCi12YXIgbm9kZUxpc3Q7Ci1zZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgIG5vZGVMaXN0ID0gaW50ZXJuYWxzLmRpc3RyaWJ1dGVk
Tm9kZXMoc2hhZG93KTsKLQotICAgIHNob3VsZEJlKCdub2RlTGlzdC5sZW5ndGgnLCAiMyIpOwot
ICAgIHNob3VsZEJlKCdub2RlTGlzdC5pdGVtKDApJywgJ2EnKTsKLSAgICBzaG91bGRCZSgnbm9k
ZUxpc3QuaXRlbSgxKScsICdiJyk7Ci0gICAgc2hvdWxkQmUoJ25vZGVMaXN0Lml0ZW0oMiknLCAn
YycpOwotCi0gICAgZmluaXNoSlNUZXN0KCk7Ci19LCAwKTsKLQotPC9zY3JpcHQ+Ci0KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLQot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggNTFiOGRjM2FhYzIwNmUwMDVkZTY4MjA3Yzk1MmM1OWEzZWZkOGMwYy4uZjI4OTBhMzFl
MDA4MDk0ODgxNjc4YjNhZjcxMWUyZTU5MGRkZTBjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTMsMTIgKzE5MywxMiBAQCBmYXN0L2RvbS9zaGFkb3cv
YWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9jb21wb3Nl
ZC1zaGFkb3ctdHJlZS13YWxrZXIuaHRtbAogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtYWZ0ZXIt
c3R5bGUuaHRtbAogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1hcGkuaHRtbAorZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1kaXN0cmlidXRlZC1ub2Rlcy5odG1sCiBmYXN0
L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LW1vdmUuaHRtbAogZmFzdC9kb20vc2hhZG93L2Nv
bnRlbnQtZWxlbWVudC1vdXRzaWRlLXNoYWRvdy5odG1sCiBmYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1lbGVtZW50LW91dHNpZGUtc2hhZG93LXN0eWxlLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9jb250
ZW50LWVsZW1lbnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1lbGVtZW50LWluLW1ldGVyLWVsZW1lbnQuaHRtbAotZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1
dGVkLW5vZGVzLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWZvci1pbnB1dC1pbi1z
aGFkb3cuaHRtbAogZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hhZG93Lmh0bWwKIGZh
c3QvZG9tL3NoYWRvdy9lbGVtZW50cy1pbi1mcmFtZWxlc3MtZG9jdW1lbnQuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>