<?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>122882</bug_id>
          
          <creation_ts>2013-10-15 21:50:23 -0700</creation_ts>
          <short_desc>REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position</short_desc>
          <delta_ts>2014-03-03 13:23:27 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>106133</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gur.trio</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jeffrey+webkit</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mitz</cc>
    
    <cc>oliver</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>940266</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-15 21:50:23 -0700</bug_when>
    <thetext>Reproduction steps
1. Go to Facebook.com (log in)
2. Scroll down and open a picture
3. Close the picture by pressing the escape key

Expected result:
The picture closes and I&apos;m back to where I was.

Actual result:
The scroll position is reset so I&apos;m back to the top of the page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940267</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-10-15 21:51:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/15238710&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940275</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-10-15 22:34:34 -0700</bug_when>
    <thetext>Should we just revert r154614?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940285</commentid>
    <comment_count>3</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-10-15 23:44:54 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Should we just revert r154614?

Then how does this issue work fine on mozilla and other browsers where document.documentElement.scrollTop/scrollLeft document.body.scrollTop/scrollLeft is as per the spec.

Those browser get a different content based on UA?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940286</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-15 23:56:41 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Should we just revert r154614?
&gt; 
&gt; Then how does this issue work fine on mozilla and other browsers where document.documentElement.scrollTop/scrollLeft document.body.scrollTop/scrollLeft is as per the spec.
&gt; 
&gt; Those browser get a different content based on UA?

I&apos;ve tried both IE and FF UA strings (via Develop menu on Safari) but that didn&apos;t help.  That seems to indicate that either your patch didn&apos;t implement the spec correctly or that the spec is wrong; doesn&apos;t reflect what other browsers do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940290</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-16 00:00:36 -0700</bug_when>
    <thetext>To begin with, the behavior of which specification did you implement in r154614?  I skimmed through the bug and the patch but I couldn&apos;t find any name or URL of the specification you&apos;re referring to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940291</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-16 00:02:04 -0700</bug_when>
    <thetext>Also see https://bugs.webkit.org/show_bug.cgi?id=121876</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940293</commentid>
    <comment_count>7</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-10-16 00:04:34 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Also see https://bugs.webkit.org/show_bug.cgi?id=121876

http://dev.w3.org/csswg/cssom-view/#dom-element-scrolltop</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940296</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-16 00:18:41 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Also see https://bugs.webkit.org/show_bug.cgi?id=121876
&gt; 
&gt; http://dev.w3.org/csswg/cssom-view/#dom-element-scrolltop

Did you check if FF and IE do what&apos;s stated in the spec?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940298</commentid>
    <comment_count>9</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-10-16 00:26:52 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; Also see https://bugs.webkit.org/show_bug.cgi?id=121876
&gt; &gt; 
&gt; &gt; http://dev.w3.org/csswg/cssom-view/#dom-element-scrolltop
&gt; 
&gt; Did you check if FF and IE do what&apos;s stated in the spec?

yes FF I checked. Based on that and spec I started with the changes. Tested test case like the ones in Layout test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940299</commentid>
    <comment_count>10</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-10-16 00:39:19 -0700</bug_when>
    <thetext>Note that i am doing this work on blink and it was preferable to take a more conservative approach. An use count was added to body.scrolltop/left as well as a console warning about a future deprecation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940330</commentid>
    <comment_count>11</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-10-16 02:05:27 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Note that i am doing this work on blink and it was preferable to take a more conservative approach. An use count was added to body.scrolltop/left as well as a console warning about a future deprecation.

Ryosuke anything wrong with the changes as per the spec?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944718</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 18:48:18 -0700</bug_when>
    <thetext>I&apos;m rolling out https://trac.webkit.org/r154614.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944721</commentid>
    <comment_count>13</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-10-29 18:51:39 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; I&apos;m rolling out https://trac.webkit.org/r154614.

Is the fix wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944722</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 18:52:50 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; I&apos;m rolling out https://trac.webkit.org/r154614.
&gt; 
&gt; Is the fix wrong?

Yes. It caused the said regression on Facebook and other websites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944723</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 18:53:37 -0700</bug_when>
    <thetext>It really doesn&apos;t matter how faithfully you implemented the spec.  If it causes a major backward compatibility with the Web, we can&apos;t have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944724</commentid>
    <comment_count>16</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-10-29 18:56:47 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; It really doesn&apos;t matter how faithfully you implemented the spec.  If it causes a major backward compatibility with the Web, we can&apos;t have it.

So then we submit some patch/fix and that is as per spec but breaks sites we will not consider that. If that is the process will keep that in mind. What else can I say. You guys are in a better position to decide.

Need to roll back http://trac.webkit.org/changeset/156605 also then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944725</commentid>
    <comment_count>17</comment_count>
      <attachid>215460</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 18:58:23 -0700</bug_when>
    <thetext>Created attachment 215460
Rollout r154614 and r156605</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944732</commentid>
    <comment_count>18</comment_count>
      <attachid>215462</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 19:42:24 -0700</bug_when>
    <thetext>Created attachment 215462
Revert the change to HTMLBodyElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944763</commentid>
    <comment_count>19</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-10-29 22:15:12 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; It really doesn&apos;t matter how faithfully you implemented the spec.  If it causes a major backward compatibility with the Web, we can&apos;t have it.
&gt; 
&gt; So then we submit some patch/fix and that is as per spec but breaks sites we will not consider that. If that is the process will keep that in mind. What else can I say. You guys are in a better position to decide.
&gt; 
&gt; Need to roll back http://trac.webkit.org/changeset/156605 also then.

if matching the spec breaks websites it means that the bug is in the spec :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944765</commentid>
    <comment_count>20</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-10-29 22:23:01 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; It really doesn&apos;t matter how faithfully you implemented the spec.  If it causes a major backward compatibility with the Web, we can&apos;t have it.
&gt; &gt; 
&gt; &gt; So then we submit some patch/fix and that is as per spec but breaks sites we will not consider that. If that is the process will keep that in mind. What else can I say. You guys are in a better position to decide.
&gt; &gt; 
&gt; &gt; Need to roll back http://trac.webkit.org/changeset/156605 also then.
&gt; 
&gt; if matching the spec breaks websites it means that the bug is in the spec :-/

Then facebook issues and other wesbites break issue should also be reproducible on firefox and other browers which are following the spec.

That I am not able to understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944766</commentid>
    <comment_count>21</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-10-29 22:25:38 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; (In reply to comment #16)
&gt; &gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; &gt; It really doesn&apos;t matter how faithfully you implemented the spec.  If it causes a major backward compatibility with the Web, we can&apos;t have it.
&gt; &gt; &gt; 
&gt; &gt; &gt; So then we submit some patch/fix and that is as per spec but breaks sites we will not consider that. If that is the process will keep that in mind. What else can I say. You guys are in a better position to decide.
&gt; &gt; &gt; 
&gt; &gt; &gt; Need to roll back http://trac.webkit.org/changeset/156605 also then.
&gt; &gt; 
&gt; &gt; if matching the spec breaks websites it means that the bug is in the spec :-/
&gt; 
&gt; Then facebook issues and other wesbites break issue should also be reproducible on firefox and other browers which are following the spec.
&gt; 
&gt; That I am not able to understand.

That suggests the implementation had a bug (or WebKit has some other bug). You should try debugging the Facebook issue after putting the patch back in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944770</commentid>
    <comment_count>22</comment_count>
      <attachid>215462</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-29 22:37:51 -0700</bug_when>
    <thetext>Comment on attachment 215462
Revert the change to HTMLBodyElement

Clearing flags on attachment: 215462

Committed r158254: &lt;http://trac.webkit.org/changeset/158254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944771</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-29 22:37:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944772</commentid>
    <comment_count>24</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 22:40:13 -0700</bug_when>
    <thetext>I just found
document.body.scrollLeft + document.documentElement.scrollLeft
and
document.body.scrollTop + document.documentElement.scrollTop
on Facebook.com.

So the fix that just got landed doesn&apos;t work :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944776</commentid>
    <comment_count>25</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 22:42:06 -0700</bug_when>
    <thetext>At least we know where to look should we find more regressions caused by the original patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944777</commentid>
    <comment_count>26</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 22:43:53 -0700</bug_when>
    <thetext>17,527 results match for &quot;document.body.scrollLeft + document.documentElement.scrollLeft&quot; on github:
https://github.com/search?q=%22document.body.scrollLeft+%2B+document.documentElement.scrollLeft%22&amp;type=Code&amp;ref=searchresults

:(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944778</commentid>
    <comment_count>27</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-10-29 22:45:05 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; I just found
&gt; document.body.scrollLeft + document.documentElement.scrollLeft
&gt; and
&gt; document.body.scrollTop + document.documentElement.scrollTop
&gt; on Facebook.com.
&gt; 
&gt; So the fix that just got landed doesn&apos;t work :(

I didnot get this? Even after rolling back issue is still there on facebook?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944779</commentid>
    <comment_count>28</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-10-29 22:46:57 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; I just found
&gt; document.body.scrollLeft + document.documentElement.scrollLeft
&gt; and
&gt; document.body.scrollTop + document.documentElement.scrollTop
&gt; on Facebook.com.
&gt; 
&gt; So the fix that just got landed doesn&apos;t work :(

So the original patch should work .. Unless facebook is doing browser detection instead of feature detection.

Will try to see facebook&apos;s JS too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944780</commentid>
    <comment_count>29</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 22:47:23 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #24)
&gt; &gt; I just found
&gt; &gt; document.body.scrollLeft + document.documentElement.scrollLeft
&gt; &gt; and
&gt; &gt; document.body.scrollTop + document.documentElement.scrollTop
&gt; &gt; on Facebook.com.
&gt; &gt; 
&gt; &gt; So the fix that just got landed doesn&apos;t work :(
&gt; 
&gt; I didnot get this? Even after rolling back issue is still there on facebook?

The patch that just got landed doesn&apos;t fully revert your change.  It only reverted the change in HTMLBodyElement.  The problem here is that there might be enough Web content that depends on the fact only either property returns non-zero value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944782</commentid>
    <comment_count>30</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 22:50:11 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; So the original patch should work .. Unless facebook is doing browser detection instead of feature detection.
&gt; 
&gt; Will try to see facebook&apos;s JS too.

Well, they probably have BOTH.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944784</commentid>
    <comment_count>31</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 22:53:09 -0700</bug_when>
    <thetext>Yup. If I pick Firefox as the UA on Develop menu on Safari, the regression doesn&apos;t reproduce.

We&apos;re screwed :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944785</commentid>
    <comment_count>32</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-10-29 22:54:37 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; (In reply to comment #28)
&gt; &gt; So the original patch should work .. Unless facebook is doing browser detection instead of feature detection.
&gt; &gt; 
&gt; &gt; Will try to see facebook&apos;s JS too.
&gt; 
&gt; Well, they probably have BOTH.

That is a big change indeed, and not easy to execute with heavy evangelization. 

All &quot;documentElement.scrollTop + body.scrollTop&quot; occurrences on  GitHub  were working property before the patches, after the patches, but not now, with a parcial roll out.

Maybe Facebook would work too if Safari&apos;s UA was changed to match say Firefox (for exercise proposes) :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944787</commentid>
    <comment_count>33</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 23:00:06 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt;
&gt; Maybe Facebook would work too if Safari&apos;s UA was changed to match say Firefox (for exercise proposes) :/

Yes, the regression doesn&apos;t reproduce if we fake the UA string as I mentioned in the comment #31.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944791</commentid>
    <comment_count>34</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-10-29 23:13:05 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; (In reply to comment #32)
&gt; &gt;
&gt; &gt; Maybe Facebook would work too if Safari&apos;s UA was changed to match say Firefox (for exercise proposes) :/
&gt; 
&gt; Yes, the regression doesn&apos;t reproduce if we fake the UA string as I mentioned in the comment #31.

Is the broken code path hidden behind their generic firefox flag, or is it a one off?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944793</commentid>
    <comment_count>35</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 23:39:37 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; (In reply to comment #33)
&gt; &gt; (In reply to comment #32)
&gt; &gt; &gt;
&gt; &gt; &gt; Maybe Facebook would work too if Safari&apos;s UA was changed to match say Firefox (for exercise proposes) :/
&gt; &gt; 
&gt; &gt; Yes, the regression doesn&apos;t reproduce if we fake the UA string as I mentioned in the comment #31.
&gt; 
&gt; Is the broken code path hidden behind their generic firefox flag, or is it a one off?

That, I don&apos;t know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944794</commentid>
    <comment_count>36</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-29 23:40:19 -0700</bug_when>
    <thetext>But given our own build.webkit.org is broken, I bet there is a lot of mobile web content out there that depends on document.body.scrollTop/scrollLeft.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944887</commentid>
    <comment_count>37</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-10-30 06:51:43 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; (In reply to comment #34)
&gt; &gt; (In reply to comment #33)
&gt; &gt; &gt; (In reply to comment #32)
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; Maybe Facebook would work too if Safari&apos;s UA was changed to match say Firefox (for exercise proposes) :/
&gt; &gt; &gt; 
&gt; &gt; &gt; Yes, the regression doesn&apos;t reproduce if we fake the UA string as I mentioned in the comment #31.
&gt; &gt; 
&gt; &gt; Is the broken code path hidden behind their generic firefox flag, or is it a one off?
&gt; 
&gt; That, I don&apos;t know.

I believe this shows a Web site, doing browser detection, and work around a WebKit quirk.

@rniwa, interesting enough, your bug description works fine with Blink ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945027</commentid>
    <comment_count>38</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-30 11:01:22 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt;
&gt; I believe this shows a Web site, doing browser detection, and work around a WebKit quirk.
&gt; 
&gt; @rniwa, interesting enough, your bug description works fine with Blink ToT.

Yes. What I did was searching through JS code that got loaded into inspector on Facebook so I don&apos;t even know where that sum is used :(  There is something broken on Facebook somewhere…</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945067</commentid>
    <comment_count>39</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-30 11:34:18 -0700</bug_when>
    <thetext>So I think my friends at Facebook are going to remove the summation from their code.  Hooray!

We&apos;ll see how pervasive this summation trick is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945075</commentid>
    <comment_count>40</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-30 11:44:45 -0700</bug_when>
    <thetext>A popular JS library, Leafleat uses this summation:
https://github.com/Leaflet/Leaflet/blob/1a3b150a2d140f46ae3578e770b607d9ec8c72eb/src/dom/DomEvent.js

x = e.pageX ? e.pageX - body.scrollLeft - docEl.scrollLeft: e.clientX
y = e.pageY ? e.pageY - body.scrollTop - docEl.scrollTop: e.clientY</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950968</commentid>
    <comment_count>41</comment_count>
    <who name="">gur.trio</who>
    <bug_when>2013-11-14 23:11:38 -0800</bug_when>
    <thetext>(In reply to comment #40)
&gt; A popular JS library, Leafleat uses this summation:
&gt; https://github.com/Leaflet/Leaflet/blob/1a3b150a2d140f46ae3578e770b607d9ec8c72eb/src/dom/DomEvent.js
&gt; 
&gt; x = e.pageX ? e.pageX - body.scrollLeft - docEl.scrollLeft: e.clientX
&gt; y = e.pageY ? e.pageY - body.scrollTop - docEl.scrollTop: e.clientY

What is the final conclusion? As I can see in the latest code. HTMLBodyElement.cpp has been reverted but not Element.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961235</commentid>
    <comment_count>42</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-12-18 18:55:08 -0800</bug_when>
    <thetext>(In reply to comment #41)
&gt; (In reply to comment #40)
&gt; &gt; A popular JS library, Leafleat uses this summation:
&gt; &gt; https://github.com/Leaflet/Leaflet/blob/1a3b150a2d140f46ae3578e770b607d9ec8c72eb/src/dom/DomEvent.js
&gt; &gt; 
&gt; &gt; x = e.pageX ? e.pageX - body.scrollLeft - docEl.scrollLeft: e.clientX
&gt; &gt; y = e.pageY ? e.pageY - body.scrollTop - docEl.scrollTop: e.clientY
&gt; 
&gt; What is the final conclusion? As I can see in the latest code. HTMLBodyElement.cpp has been reverted but not Element.cpp

The conclusion is to wait &amp; see if returning non-zero value on BOTH HTMLBodyElement and Document sticks or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981197</commentid>
    <comment_count>43</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-02-15 12:32:35 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 215462 [details])
&gt; Clearing flags on attachment: 215462
&gt; 
&gt; Committed r158254: &lt;http://trac.webkit.org/changeset/158254&gt;

This caused bug 128873.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986468</commentid>
    <comment_count>44</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2014-03-03 13:23:27 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; 17,527 results match for &quot;document.body.scrollLeft + document.documentElement.scrollLeft&quot; on github:
&gt; https://github.com/search?q=%22document.body.scrollLeft+%2B+document.documentElement.scrollLeft%22&amp;type=Code&amp;ref=searchresults
&gt; 
&gt; :(

happily, the Web is moving forward, and the same query returns &quot;only&quot; 503 entries, being lots of these repeated.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215460</attachid>
            <date>2013-10-29 18:58:23 -0700</date>
            <delta_ts>2013-10-29 19:42:21 -0700</delta_ts>
            <desc>Rollout r154614 and r156605</desc>
            <filename>bug-122882-20131029185822.patch</filename>
            <type>text/plain</type>
            <size>27367</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1ODI0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTEwLTI5ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04ocjE1NDYxNCk6
IE9wZW5pbmcgYW5kIGNsb3NpbmcgYSBwaWN0dXJlIG9uIEZhY2Vib29rIHJlc2V0cyBzY3JvbGwg
cG9zaXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMjg4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJldmVydCByMTU0NjE0IGFuZCByMTU2NjA1LgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2Nyb2xsTGVmdCk6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50OjpzY3JvbGxUb3ApOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6c2Nyb2xsTGVmdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OnNjcm9sbFRvcCk6CisKIDIwMTMtMTAt
MjkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBV
bmRlcmxpbmUgYm91bmRzIGNhbm5vdCBiZSBxdWVyaWVkIGJlZm9yZSB1bmRlcmxpbmUgaXRzZWxm
IGlzIGRyYXduCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTgyMzQpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyMiwx
NyArODIyLDEwIEBAIGludCBFbGVtZW50OjpjbGllbnRIZWlnaHQoKQogCiBpbnQgRWxlbWVudDo6
c2Nyb2xsTGVmdCgpCiB7Ci0gICAgaWYgKGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkgPT0g
dGhpcyAmJiBkb2N1bWVudCgpLmluUXVpcmtzTW9kZSgpKQotICAgICAgICByZXR1cm4gMDsKLQog
ICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAK
ICAgICBpZiAoIWRvY3VtZW50KCkuaGFzTGl2aW5nUmVuZGVyVHJlZSgpKQogICAgICAgICByZXR1
cm4gMDsKLSAgICBSZW5kZXJWaWV3JiByZW5kZXJWaWV3ID0gKmRvY3VtZW50KCkucmVuZGVyVmll
dygpOwotCi0gICAgaWYgKGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkgPT0gdGhpcykKLSAg
ICAgICAgcmV0dXJuIGFkanVzdEZvckFic29sdXRlWm9vbShyZW5kZXJWaWV3LmZyYW1lVmlldygp
LnNjcm9sbFgoKSwgJnJlbmRlclZpZXcpOwogCiAgICAgaWYgKFJlbmRlckJveCogcmVuZCA9IHJl
bmRlckJveCgpKQogICAgICAgICByZXR1cm4gYWRqdXN0Rm9yQWJzb2x1dGVab29tKHJlbmQtPnNj
cm9sbExlZnQoKSwgcmVuZCk7CkBAIC04NDEsMTcgKzgzNCwxMCBAQCBpbnQgRWxlbWVudDo6c2Ny
b2xsTGVmdCgpCiAKIGludCBFbGVtZW50OjpzY3JvbGxUb3AoKQogewotICAgIGlmIChkb2N1bWVu
dCgpLmRvY3VtZW50RWxlbWVudCgpID09IHRoaXMgJiYgZG9jdW1lbnQoKS5pblF1aXJrc01vZGUo
KSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCiAgICAgaWYgKCFkb2N1bWVudCgpLmhhc0xpdmluZ1Jl
bmRlclRyZWUoKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgUmVuZGVyVmlldyYgcmVuZGVyVmll
dyA9ICpkb2N1bWVudCgpLnJlbmRlclZpZXcoKTsKLQotICAgIGlmIChkb2N1bWVudCgpLmRvY3Vt
ZW50RWxlbWVudCgpID09IHRoaXMpCi0gICAgICAgIHJldHVybiBhZGp1c3RGb3JBYnNvbHV0ZVpv
b20ocmVuZGVyVmlldy5mcmFtZVZpZXcoKS5zY3JvbGxZKCksICZyZW5kZXJWaWV3KTsKIAogICAg
IGlmIChSZW5kZXJCb3gqIHJlbmQgPSByZW5kZXJCb3goKSkKICAgICAgICAgcmV0dXJuIGFkanVz
dEZvckFic29sdXRlWm9vbShyZW5kLT5zY3JvbGxUb3AoKSwgcmVuZCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTgyMzQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
MSw4ICsyNTEsNiBAQCBzdGF0aWMgaW50IGFkanVzdEZvclpvb20oaW50IHZhbHVlLCBGcmFtCiAK
IGludCBIVE1MQm9keUVsZW1lbnQ6OnNjcm9sbExlZnQoKQogewotICAgIGlmICghZG9jdW1lbnQo
KS5pblF1aXJrc01vZGUoKSkKLSAgICAgICAgcmV0dXJuIDA7CiAgICAgZG9jdW1lbnQoKS51cGRh
dGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICBGcmFtZSogZnJhbWUgPSBk
b2N1bWVudCgpLmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKQEAgLTI4MCw4ICsyNzgsNiBAQCB2
b2lkIEhUTUxCb2R5RWxlbWVudDo6c2V0U2Nyb2xsTGVmdChpbnQgCiAKIGludCBIVE1MQm9keUVs
ZW1lbnQ6OnNjcm9sbFRvcCgpCiB7Ci0gICAgaWYgKCFkb2N1bWVudCgpLmluUXVpcmtzTW9kZSgp
KQotICAgICAgICByZXR1cm4gMDsKICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cygpOwogICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUo
KTsKICAgICBpZiAoIWZyYW1lKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4MjQzKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTMtMTAt
MjkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTU0NjE0KTogT3BlbmluZyBhbmQgY2xvc2luZyBhIHBpY3R1cmUgb24gRmFjZWJvb2sgcmVz
ZXRzIHNjcm9sbCBwb3NpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTIyODgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmV2ZXJ0IHIxNTQ2MTQgYW5kIHBhcnRpYWxseSByZXZlcnQgcjE1NjYwNS4K
KworICAgICAgICAqIGZhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9FbGVtZW50L2RvY3VtZW50RWxlbWVudC1zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2RvY3VtZW50RWxlbWVudC1zY3JvbGxMZWZ0
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9kb2N1bWVudEVsZW1l
bnQtc2Nyb2xsVG9wLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9F
bGVtZW50L2RvY3VtZW50RWxlbWVudC1zY3JvbGxUb3AuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9FbGVtZW50L3Njcm9sbExlZnQtUXVpcmtzLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3Njcm9sbExlZnQtUXVpcmtzLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3Njcm9sbExlZnQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3Njcm9sbFRvcC1RdWlya3MtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2Nyb2xsVG9w
LVF1aXJrcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2Nyb2xs
VG9wLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3Nj
cm9sbFRvcC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItZnJhbWVzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWZyYW1l
cy1nYmstZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNv
dXJjZXMvZnJhbWUtd2l0aC1hbmNob3ItZ2JrLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRoLWFuY2hvci1zYW1lLW9yaWdpbi5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hbmNo
b3IuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvcmVzb3Vy
Y2VzL3Njcm9sbC1hbmQtbG9hZC1wYWdlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL3RpbGVkLWRyYXdpbmctc2Nyb2xsLXBvc2l0aW9uLXBhZ2UtY2FjaGUt
cmVzdG9yYXRpb24uaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9jc3Mvem9vbS1i
b2R5LXNjcm9sbC1leHBlY3RlZC50eHQ6CisKIDIwMTMtMTAtMjkgIEJyZW50IEZ1bGdoYW0gIDxi
ZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTU4MTk4KTogZWRpdGlu
Zy9leGVjQ29tbWFuZC9pbnNlcnQtbGlzdC14bWwueGh0bWwgZmFpbHMKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAxNTgyMzQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy96b29tLWJvZHktc2Nyb2xsLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAgc2Nyb2xsTGVmdDogNTAK
IFpvb21pbmcgaW4KIHNjcm9sbEhlaWdodDogMTAwMAogc2Nyb2xsV2lkdGg6IDEwMDAKLXNjcm9s
bFRvcDogMTAwCitzY3JvbGxUb3A6IDAKIHNjcm9sbExlZnQ6IDUwCiAKIFNjcm9sbGluZyBkb3du
IHRvIDEwMApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvem9vbS1ib2R5LXNjcm9sbC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwuaHRt
bAkocmV2aXNpb24gMTU4MjM0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mvem9vbS1ib2R5LXNj
cm9sbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAorPCFET0NUWVBFIEhUTUw+
CiA8aHRtbD4KLTxib2R5IG9ubG9hZD0iYm9keVNjcm9sbCgpIj4KKzxib2R5PgogICAgIDxkaXYg
c3R5bGU9IndpZHRoOiAxMDAwcHg7IGhlaWdodDogMTAwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7
IHRvcDogMDsgbGVmdDogMDsiPjwvZGl2PgogICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsg
aGVpZ2h0OiAxMDBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyBsZWZ0OiAwOyBi
YWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+CiAgICAgPHA+CkBAIC0xNCwzNCArMTUsMzEgQEAKICAg
ICAgICAgICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVz
c2FnZSArICJcbiIpKTsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIGJvZHlTY3JvbGwo
KSB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB2YXIgYm9keSA9IGRv
Y3VtZW50LmJvZHk7Ci0gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDUwLDEwMCk7Ci0g
ICAgICAgICAgICAgICAgbG9nKCJzY3JvbGxIZWlnaHQ6ICIgKyBib2R5LnNjcm9sbEhlaWdodCk7
Ci0gICAgICAgICAgICAgICAgbG9nKCJzY3JvbGxXaWR0aDogIiArIGJvZHkuc2Nyb2xsV2lkdGgp
OworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5Owor
ICAgICAgICAgICAgbG9nKCJzY3JvbGxIZWlnaHQ6ICIgKyBib2R5LnNjcm9sbEhlaWdodCk7Cisg
ICAgICAgICAgICBsb2coInNjcm9sbFdpZHRoOiAiICsgYm9keS5zY3JvbGxXaWR0aCk7CiAKLSAg
ICAgICAgICAgICAgICBsb2coIlxuU2Nyb2xsaW5nIHJpZ2h0IHRvIDUwIik7Ci0gICAgICAgICAg
ICAgICAgYm9keS5zY3JvbGxMZWZ0ID0gNTA7Ci0gICAgICAgICAgICAgICAgbG9nKCJzY3JvbGxM
ZWZ0OiAiICsgYm9keS5zY3JvbGxMZWZ0KTsKKyAgICAgICAgICAgIGxvZygiXG5TY3JvbGxpbmcg
cmlnaHQgdG8gNTAiKTsKKyAgICAgICAgICAgIGJvZHkuc2Nyb2xsTGVmdCA9IDUwOworICAgICAg
ICAgICAgbG9nKCJzY3JvbGxMZWZ0OiAiICsgYm9keS5zY3JvbGxMZWZ0KTsKIAotICAgICAgICAg
ICAgICAgIGxvZygiXG5ab29taW5nIGluIik7Ci0gICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIu
em9vbVBhZ2VJbigpOwotICAgICAgICAgICAgICAgIGxvZygic2Nyb2xsSGVpZ2h0OiAiICsgYm9k
eS5zY3JvbGxIZWlnaHQpOwotICAgICAgICAgICAgICAgIGxvZygic2Nyb2xsV2lkdGg6ICIgKyBi
b2R5LnNjcm9sbFdpZHRoKTsKLSAgICAgICAgICAgICAgICBsb2coInNjcm9sbFRvcDogIiArIGJv
ZHkuc2Nyb2xsVG9wKTsKLSAgICAgICAgICAgICAgICBsb2coInNjcm9sbExlZnQ6ICIgKyBib2R5
LnNjcm9sbExlZnQpOworICAgICAgICAgICAgbG9nKCJcblpvb21pbmcgaW4iKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLnpvb21QYWdlSW4oKTsKKyAgICAgICAgICAgIGxvZygic2Nyb2xsSGVp
Z2h0OiAiICsgYm9keS5zY3JvbGxIZWlnaHQpOworICAgICAgICAgICAgbG9nKCJzY3JvbGxXaWR0
aDogIiArIGJvZHkuc2Nyb2xsV2lkdGgpOworICAgICAgICAgICAgbG9nKCJzY3JvbGxUb3A6ICIg
KyBib2R5LnNjcm9sbFRvcCk7CisgICAgICAgICAgICBsb2coInNjcm9sbExlZnQ6ICIgKyBib2R5
LnNjcm9sbExlZnQpOwogCi0gICAgICAgICAgICAgICAgbG9nKCJcblNjcm9sbGluZyBkb3duIHRv
IDEwMCIpOwotICAgICAgICAgICAgICAgIGJvZHkuc2Nyb2xsVG9wID0gMTAwOwotICAgICAgICAg
ICAgICAgIGxvZygic2Nyb2xsVG9wOiAiICsgYm9keS5zY3JvbGxUb3ApOworICAgICAgICAgICAg
bG9nKCJcblNjcm9sbGluZyBkb3duIHRvIDEwMCIpOworICAgICAgICAgICAgYm9keS5zY3JvbGxU
b3AgPSAxMDA7CisgICAgICAgICAgICBsb2coInNjcm9sbFRvcDogIiArIGJvZHkuc2Nyb2xsVG9w
KTsKIAotICAgICAgICAgICAgICAgIGxvZygiXG5ab29taW5nIGJhY2sgb3V0Iik7Ci0gICAgICAg
ICAgICAgICAgZXZlbnRTZW5kZXIuem9vbVBhZ2VPdXQoKTsKLSAgICAgICAgICAgICAgICBsb2co
InNjcm9sbFRvcDogIiArIGJvZHkuc2Nyb2xsVG9wKTsKLSAgICAgICAgICAgICAgICBsb2coInNj
cm9sbExlZnQ6ICIgKyBib2R5LnNjcm9sbExlZnQpOwotCQkJfQorICAgICAgICAgICAgbG9nKCJc
blpvb21pbmcgYmFjayBvdXQiKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLnpvb21QYWdlT3V0
KCk7CisgICAgICAgICAgICBsb2coInNjcm9sbFRvcDogIiArIGJvZHkuc2Nyb2xsVG9wKTsKKyAg
ICAgICAgICAgIGxvZygic2Nyb2xsTGVmdDogIiArIGJvZHkuc2Nyb2xsTGVmdCk7CiAgICAgICAg
IH0KICAgICA8L3NjcmlwdD4KIDwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0Vs
ZW1lbnQvZG9jdW1lbnRFbGVtZW50LXNjcm9sbExlZnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvZG9jdW1lbnRFbGVtZW50LXNjcm9sbExl
ZnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNTgyMzQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9FbGVtZW50L2RvY3VtZW50RWxlbWVudC1zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi1UZXN0cyB0aGF0IGZvciBzdGFuZGFyZCBtb2RlIGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IHJldHVybnMgdGhlIHNjcm9sbCBsZWZ0
IHZhbHVlCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLVBBU1MgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbExlZnQgaXMgNTAwCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9k
b2N1bWVudEVsZW1lbnQtc2Nyb2xsTGVmdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0VsZW1lbnQvZG9jdW1lbnRFbGVtZW50LXNjcm9sbExlZnQuaHRtbAkocmV2aXNp
b24gMTU4MjM0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9kb2N1bWVudEVsZW1l
bnQtc2Nyb2xsTGVmdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzdHlsZT4KLSAgICAgICAg
ICAgIGRpdiB7Ci0gICAgICAgICAgICAgICAgaGVpZ2h0OiA5OTk5cHg7Ci0gICAgICAgICAgICAg
ICAgd2lkdGg6OTk5OXB4OwotICAgICAgICAgICAgfQotICAgICAgICA8L3N0eWxlPgotICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0g
ICAgICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgZm9yIHN0YW5kYXJkIG1vZGUg
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgcmV0dXJucyB0aGUgc2Nyb2xsIGxl
ZnQgdmFsdWUnKTsKLQotICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxMZWZ0ID0gNTAwOwotICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsIjUwMCIpOwotICAgICAgICAgICAgICAgIGlzU3VjY2Vz
c2Z1bGx5UGFyc2VkKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwv
aGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgICAgIDxkaXY+PC9kaXY+
Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9FbGVtZW50L2RvY3VtZW50RWxlbWVudC1zY3JvbGxUb3AtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvZG9jdW1lbnRFbGVtZW50LXNj
cm9sbFRvcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1ODIzNCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZG9tL0VsZW1lbnQvZG9jdW1lbnRFbGVtZW50LXNjcm9sbFRvcC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBmb3Igc3RhbmRhcmQgbW9k
ZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHJldHVybnMgdGhlIHNjcm9sbCB0
b3AgdmFsdWUKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBpcyA1MDAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9F
bGVtZW50L2RvY3VtZW50RWxlbWVudC1zY3JvbGxUb3AuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2RvY3VtZW50RWxlbWVudC1zY3JvbGxUb3AuaHRtbAko
cmV2aXNpb24gMTU4MjM0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9kb2N1bWVu
dEVsZW1lbnQtc2Nyb2xsVG9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjQgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHN0eWxlPgotICAg
ICAgICAgICAgZGl2IHsKLSAgICAgICAgICAgICAgICBoZWlnaHQ6IDk5OTlweDsKLSAgICAgICAg
ICAgICAgICB3aWR0aDo5OTk5cHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwvc3R5bGU+Ci0g
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKLSAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBmb3Igc3RhbmRhcmQg
bW9kZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHJldHVybnMgdGhlIHNjcm9s
bCB0b3AgdmFsdWUnKTsKLQotICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dC5zY3JvbGxUb3AgPSA1MDA7Ci0gICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5zY3JvbGxUb3AiLCI1MDAiKTsKLSAgICAgICAgICAgICAgICBpc1N1Y2Nl
c3NmdWxseVBhcnNlZCgpOwotICAgICAgICAgICAgfQotICAgICAgICA8L3NjcmlwdD4KLSAgICA8
L2hlYWQ+Ci0gICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgICAgICA8ZGl2PjwvZGl2
PgotICAgIDwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1l
bnQvc2Nyb2xsTGVmdC1RdWlya3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2Nyb2xsTGVmdC1RdWlya3MtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAxNTgyMzQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Njcm9sbExlZnQt
UXVpcmtzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi1UZXN0
cyB0aGF0IGZvciBxdWlya3MgbW9kZSBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgcmV0dXJucyB0
aGUgc2Nyb2xsIGxlZnQgdmFsdWUKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1Mgd2luZG93LnBhZ2VYT2Zmc2V0IGlzIDUwMAotUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbExl
ZnQgaXMgNTAwCi1QQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IGlzIDAK
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Njcm9sbExlZnQtUXVpcmtzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxMZWZ0LVF1aXJr
cy5odG1sCShyZXZpc2lvbiAxNTgyMzQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50
L3Njcm9sbExlZnQtUXVpcmtzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjkgKzAsMCBAQAot
PGh0bWw+DQotICAgIDxoZWFkPg0KLSAgICAgICAgPHN0eWxlPg0KLSAgICAgICAgICAgIGRpdiB7
DQotICAgICAgICAgICAgICAgIGhlaWdodDogOTk5OXB4Ow0KLSAgICAgICAgICAgICAgICB3aWR0
aDo5OTk5cHg7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgPC9zdHlsZT4NCi0gICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pg0K
LSAgICAgICAgPHNjcmlwdD4NCi0gICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgew0KLSAg
ICAgICAgICAgICAgICBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBmb3IgcXVpcmtzIG1vZGUgZG9j
dW1lbnQuYm9keS5zY3JvbGxMZWZ0IHJldHVybnMgdGhlIHNjcm9sbCBsZWZ0IHZhbHVlJyk7DQot
DQotICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQotICAgICAgICAgICAg
ICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oNTAwLDApOw0KLSAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIndpbmRvdy5wYWdlWE9mZnNldCIsIjUwMCIpOw0KLSAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsIjUwMCIpOw0KLSAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0Iiwi
MCIpOw0KLSAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7DQotICAgICAgICAgICAg
ICAgIH0sIDApOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB2YXIganNUZXN0SXNBc3lu
YyA9IHRydWU7DQotICAgICAgICA8L3NjcmlwdD4NCi0gICAgPC9oZWFkPg0KLSAgICA8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+DQotICAgICAgICA8ZGl2PjwvZGl2Pg0KLSAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pg0KLSAg
ICA8L2JvZHk+DQotPC9odG1sPg0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQv
c2Nyb2xsTGVmdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vRWxlbWVudC9zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTU4MjM0KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IGZvciBzdGFuZGFyZCBtb2Rl
IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IHJldHVybnMgdGhlIHNjcm9sbCBs
ZWZ0IHZhbHVlCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpbmRvdy5w
YWdlWE9mZnNldCBpcyA1MDAKLVBBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDAKLVBB
U1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgaXMgNTAwCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxMZWZ0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxMZWZ0Lmh0bWwJKHJldmlzaW9uIDE1ODIzNCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2Nyb2xsTGVmdC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPg0KLTxodG1sPg0KLSAgICA8
aGVhZD4NCi0gICAgICAgIDxzdHlsZT4NCi0gICAgICAgICAgICBkaXYgew0KLSAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDk5OTlweDsNCi0gICAgICAgICAgICAgICAgd2lkdGg6OTk5OXB4Ow0KLSAg
ICAgICAgICAgIH0NCi0gICAgICAgIDwvc3R5bGU+DQotICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4NCi0gICAgICAgIDxzY3Jp
cHQ+DQotICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsNCi0gICAgICAgICAgICAgICAg
ZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgZm9yIHN0YW5kYXJkIG1vZGUgZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LnNjcm9sbExlZnQgcmV0dXJucyB0aGUgc2Nyb2xsIGxlZnQgdmFsdWUnKTsNCi0N
Ci0gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCi0gICAgICAgICAgICAg
ICAgICAgIHdpbmRvdy5zY3JvbGxUbyg1MDAsMCk7DQotICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgid2luZG93LnBhZ2VYT2Zmc2V0IiwiNTAwIik7DQotICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwiMCIpOw0KLSAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IiwiNTAw
Iik7DQotICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsNCi0gICAgICAgICAgICAg
ICAgfSwgMCk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIHZhciBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsNCi0gICAgICAgIDwvc2NyaXB0Pg0KLSAgICA8L2hlYWQ+DQotICAgIDxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4NCi0gICAgICAgIDxkaXY+PC9kaXY+DQotICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+DQotICAg
IDwvYm9keT4NCi08L2h0bWw+DQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9z
Y3JvbGxUb3AtUXVpcmtzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9FbGVtZW50L3Njcm9sbFRvcC1RdWlya3MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAx
NTgyMzQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Njcm9sbFRvcC1RdWlya3Mt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIHRoYXQg
Zm9yIHF1aXJrcyBtb2RlIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHJldHVybnMgdGhlIHNjcm9s
bCB0b3AgdmFsdWUKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2luZG93
LnBhZ2VZT2Zmc2V0IGlzIDUwMAotUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyA1MDAK
LVBBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBpcyAwCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxUb3AtUXVpcmtzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxUb3AtUXVpcmtzLmh0bWwJKHJldmlz
aW9uIDE1ODIzNCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2Nyb2xsVG9wLVF1
aXJrcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI5ICswLDAgQEAKLTxodG1sPg0KLSAgICA8
aGVhZD4NCi0gICAgICAgIDxzdHlsZT4NCi0gICAgICAgICAgICBkaXYgew0KLSAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDk5OTlweDsNCi0gICAgICAgICAgICAgICAgd2lkdGg6OTk5OXB4Ow0KLSAg
ICAgICAgICAgIH0NCi0gICAgICAgIDwvc3R5bGU+DQotICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4NCi0gICAgICAgIDxzY3Jp
cHQ+DQotICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsNCi0gICAgICAgICAgICAgICAg
ZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgZm9yIHF1aXJrcyBtb2RlIGRvY3VtZW50LmJvZHkuc2Ny
b2xsVG9wIHJldHVybnMgdGhlIHNjcm9sbCB0b3AgdmFsdWUnKTsNCi0NCi0gICAgICAgICAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCi0gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5z
Y3JvbGxUbygwLDUwMCk7DQotICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnBh
Z2VZT2Zmc2V0IiwiNTAwIik7DQotICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1l
bnQuYm9keS5zY3JvbGxUb3AiLCI1MDAiKTsNCi0gICAgICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIiwiMCIpOw0KLSAgICAgICAgICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7DQotICAgICAgICAgICAgICAgIH0sIDApOw0KLSAgICAg
ICAgICAgIH0NCi0gICAgICAgICAgICB2YXIganNUZXN0SXNBc3luYyA9IHRydWU7DQotICAgICAg
ICA8L3NjcmlwdD4NCi0gICAgPC9oZWFkPg0KLSAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
DQotICAgICAgICA8ZGl2PjwvZGl2Pg0KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pg0KLSAgICA8L2JvZHk+DQotPC9odG1s
Pg0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2Nyb2xsVG9wLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Njcm9sbFRv
cC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1ODIzNCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9t
L0VsZW1lbnQvc2Nyb2xsVG9wLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMiAr
MCwwIEBACi1UZXN0cyB0aGF0IGZvciBzdGFuZGFyZCBtb2RlIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5zY3JvbGxUb3AgcmV0dXJucyB0aGUgc2Nyb2xsIHRvcCB2YWx1ZQotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aW5kb3cucGFnZVlPZmZzZXQgaXMgNTAwCi1QQVNT
IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDAKLVBBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LnNjcm9sbFRvcCBpcyA1MDAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Njcm9s
bFRvcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2Ny
b2xsVG9wLmh0bWwJKHJldmlzaW9uIDE1ODIzNCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0Vs
ZW1lbnQvc2Nyb2xsVG9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzAgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+DQotPGh0bWw+DQotICAgIDxoZWFkPg0KLSAgICAgICAgPHN0eWxlPg0KLSAg
ICAgICAgICAgIGRpdiB7DQotICAgICAgICAgICAgICAgIGhlaWdodDogOTk5OXB4Ow0KLSAgICAg
ICAgICAgICAgICB3aWR0aDo5OTk5cHg7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgPC9zdHls
ZT4NCi0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0Pg0KLSAgICAgICAgPHNjcmlwdD4NCi0gICAgICAgICAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgew0KLSAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBmb3Ig
c3RhbmRhcmQgbW9kZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHJldHVybnMg
dGhlIHNjcm9sbCB0b3AgdmFsdWUnKTsNCi0NCi0gICAgICAgICAgICAgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsNCi0gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLDUwMCk7
DQotICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnBhZ2VZT2Zmc2V0IiwiNTAw
Iik7DQotICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxU
b3AiLCIwIik7DQotICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LnNjcm9sbFRvcCIsIjUwMCIpOw0KLSAgICAgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7DQotICAgICAgICAgICAgICAgIH0sIDApOw0KLSAgICAgICAgICAgIH0NCi0gICAg
ICAgICAgICB2YXIganNUZXN0SXNBc3luYyA9IHRydWU7DQotICAgICAgICA8L3NjcmlwdD4NCi0g
ICAgPC9oZWFkPg0KLSAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+DQotICAgICAgICA8ZGl2
PjwvZGl2Pg0KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0Pg0KLSAgICA8L2JvZHk+DQotPC9odG1sPg0KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCShyZXZpc2lvbiAxNTgyMzQpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtOCw3
ICs5LDcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8cD48YSBocmVmPWh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTA+QnVnIDEwMDU1MDwv
YT48L3A+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAKICAgICAgeG1sbnM6eGxpbms9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiPgogICA8ZGVmcz4K
ICAgICA8Y3Vyc29yIGlkPSJncmVlbmJveCIgeGxpbms6aHJlZj0icmVzb3VyY2VzL2dyZWVuYm94
LnBuZyIgeD0iMCIgeT0iMCIvPgpAQCAtNDQsNyArNDUsNyBAQAogPHNjcmlwdD4KIAogdmFyIHRl
c3RDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKTsK
LQorICAgIAogZnVuY3Rpb24gcnVuVGVzdHMoKSB7CiAgICAgLy8gQ2FuJ3QgZG8gYW55dGhpbmcg
dXNlZnVsIGhlcmUgd2l0aG91dCBldmVudFNlbmRlcgogICAgIGlmICh3aW5kb3cuZXZlbnRTZW5k
ZXIpIHsKQEAgLTY3LDcgKzY4LDcgQEAgZnVuY3Rpb24gcnVuVGVzdHMoKSB7CiAgICAgICAgIC8v
IFRoaXMgdGV4dCBpcyByZWR1bmRhbnQgd2l0aCB0aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0CiAg
ICAgICAgIHRlc3RDb250YWluZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICB9Ci0KKyAg
ICAKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL2FuY2hvci1mcmFtZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItZnJhbWVzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTU4MjM0KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L2FuY2hvci1mcmFtZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBA
QCBUZXN0cyB0aGF0IGxvYWRpbmcgYSBmcmFtZSB3aXRoIGEgVVJMIHRoCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCiAKIAotUEFTUyBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCA+IHdpbmRv
dy5pbm5lckhlaWdodCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0ID4g
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCBpcyB0cnVlCiBQQVNTIGRvY3Vt
ZW50LmJvZHkuc2Nyb2xsVG9wID4gMCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wICsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA+IDIwMDAgaXMgdHJ1
ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2FuY2hvci1mcmFtZXMtZ2JrLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWZyYW1lcy1n
YmstZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNTgyMzQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vYW5jaG9yLWZyYW1lcy1nYmstZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC04LDcgKzgsNyBAQCBUZXN0cyB0aGF0IGxvYWRpbmcgYSBmcmFtZSB3aXRoIGEgVVJM
IHRoCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBkb2N1bWVudC5ib2R5Lm9m
ZnNldEhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmJv
ZHkub2Zmc2V0SGVpZ2h0ID4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCBp
cyB0cnVlCiBQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID4gMCBpcyB0cnVlCiBQQVNTIGRv
Y3VtZW50LmJvZHkuc2Nyb2xsVG9wICsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhl
aWdodCA+IDIwMDAgaXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9mcmFtZS13aXRo
LWFuY2hvci1nYmsuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYW5jaG9yLWdiay5odG1sCShyZXZpc2lvbiAx
NTgyMzQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2Zy
YW1lLXdpdGgtYW5jaG9yLWdiay5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgogICA8bWV0YSBodHRwLWVxdWl2PSJDb250
ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYmsiLz4KQEAgLTExLDIwICsx
MiwyMCBAQAogICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAvLyBNYWtl
IHN1cmUgdGhhdCB0aGUgYm9keSBpcyB0YWxsZXIgdGhhbiB0aGUgdmlld3BvcnQgKGkuZS4gc2Ny
b2xsaW5nIGlzCiAgICAgICAgICAgLy8gcmVxdWlyZWQpLgotICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgnZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQnKTsKKyAg
ICAgICAgICBzaG91bGRCZVRydWUoJ2RvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0ID4gZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCcpOwogICAgICAgICAgIAogICAgICAgICAg
IC8vIFdlIHNob3VsZCBiZSBzY3JvbGxlZCBhdCBsZWFzdCBhIGxpdHRsZSBiaXQKICAgICAgICAg
ICBzaG91bGRCZVRydWUoJ2RvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID4gMCcpOwotCisgICAgICAg
ICAgCiAgICAgICAgICAgLy8gQW5kIHRoZSBib3R0b20gb2YgdGhlIHZpZXdhYmxlIGFyZWEgc2hv
dWxkIGJlIGF0IGxlYXN0IDIwMDAgcGl4ZWxzIGZyb20gdGhlIHRvcCwgZHVlIHRvIHRoZSBzcGFj
ZXIgZWxlbWVudCBhYm92ZS4KICAgICAgICAgICBzaG91bGRCZVRydWUoJ2RvY3VtZW50LmJvZHku
c2Nyb2xsVG9wICsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA+IDIwMDAn
KTsKIAotICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OyAgICAgICAgICAKICAgICAgIH0sIDApOwogICAgIH0KLQorICAgIAogICAgIHZhciBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLSAgPC9zY3JpcHQ+CisgIDwvc2NyaXB0PiAgCiA8L2hlYWQ+CiA8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvZnJhbWUtd2l0aC1hbmNo
b3Itc2FtZS1vcmlnaW4uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYW5jaG9yLXNhbWUtb3JpZ2luLmh0bWwJ
KHJldmlzaW9uIDE1ODIzNCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9y
ZXNvdXJjZXMvZnJhbWUtd2l0aC1hbmNob3Itc2FtZS1vcmlnaW4uaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KQEAgLTksMTEgKzEwLDExIEBACiAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewog
ICAgICAgICAgIHNob3VsZEJlVHJ1ZSgnZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPiAwJyk7CiAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCdkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgPT0gMCcpOwot
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOyAgICAg
ICAgICAKICAgICAgIH0sIDApOwogICAgIH0KICAgICB2YXIganNUZXN0SXNBc3luYyA9IHRydWU7
Ci0gIDwvc2NyaXB0PgorICA8L3NjcmlwdD4gIAogPC9oZWFkPgogPGJvZHk+CiA8IS0tIGxhcmdl
IHNhbWUtb3JpZ2luIGdyYW5kY2hpbGQgZnJhbWUgLS0+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYW5jaG9yLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9mcmFt
ZS13aXRoLWFuY2hvci5odG1sCShyZXZpc2lvbiAxNTgyMzQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2ZyYW1lLXdpdGgtYW5jaG9yLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+
CiAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CkBAIC0xMCwyMCArMTEsMjAgQEAKICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKSB7CiAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGJvZHkgaXMgdGFsbGVyIHRo
YW4gdGhlIHZpZXdwb3J0IChpLmUuIHNjcm9sbGluZyBpcwogICAgICAgICAgIC8vIHJlcXVpcmVk
KS4KLSAgICAgICAgICBzaG91bGRCZVRydWUoJ2RvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0ID4g
d2luZG93LmlubmVySGVpZ2h0Jyk7Ci0KKyAgICAgICAgICBzaG91bGRCZVRydWUoJ2RvY3VtZW50
LmJvZHkub2Zmc2V0SGVpZ2h0ID4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdo
dCcpOworICAgICAgICAgIAogICAgICAgICAgIC8vIFdlIHNob3VsZCBiZSBzY3JvbGxlZCBhdCBs
ZWFzdCBhIGxpdHRsZSBiaXQKICAgICAgICAgICBzaG91bGRCZVRydWUoJ2RvY3VtZW50LmJvZHku
c2Nyb2xsVG9wID4gMCcpOwotCisgICAgICAgICAgCiAgICAgICAgICAgLy8gQW5kIHRoZSBib3R0
b20gb2YgdGhlIHZpZXdhYmxlIGFyZWEgc2hvdWxkIGJlIGF0IGxlYXN0IDIwMDAgcGl4ZWxzIGZy
b20gdGhlIHRvcCwgZHVlIHRvIHRoZSBzcGFjZXIgZWxlbWVudCBhYm92ZS4KICAgICAgICAgICBz
aG91bGRCZVRydWUoJ2RvY3VtZW50LmJvZHkuc2Nyb2xsVG9wICsgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmNsaWVudEhlaWdodCA+IDIwMDAnKTsKLQotICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICAgIAorICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOyAgICAgICAgICAKICAgICAg
IH0sIDApOwogICAgIH0KLQorICAgIAogICAgIHZhciBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAg
PC9zY3JpcHQ+CisgIDwvc2NyaXB0PiAgCiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvdGlsZWQtZHJhd2luZy90aWxlZC1kcmF3aW5nLXNjcm9sbC1wb3NpdGlvbi1wYWdl
LWNhY2hlLXJlc3RvcmF0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3RpbGVkLWRyYXdpbmctc2Nyb2xsLXBvc2l0aW9uLXBh
Z2UtY2FjaGUtcmVzdG9yYXRpb24uaHRtbAkocmV2aXNpb24gMTU4MjM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3RpbGVkLWRyYXdpbmctc2Nyb2xsLXBv
c2l0aW9uLXBhZ2UtY2FjaGUtcmVzdG9yYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0PgpA
QCAtOSw3ICsxMCw3IEBACiAgICAgICAgIH0KIAogICAgICAgICB3aW5kb3cuZmluaXNoZWRUZXN0
ID0gZnVuY3Rpb24gKGxheWVyVHJlZSkKLSAgICAgICAgeworICAgICAgICB7ICAgCiAgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gbGF5ZXJU
cmVlOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9yZXNvdXJjZXMv
c2Nyb2xsLWFuZC1sb2FkLXBhZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvcmVzb3VyY2VzL3Njcm9sbC1hbmQtbG9hZC1wYWdl
Lmh0bWwJKHJldmlzaW9uIDE1ODIzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9yZXNvdXJjZXMvc2Nyb2xsLWFuZC1sb2FkLXBhZ2UuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4K
ICAgICA8c3R5bGU+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9jc3Mvem9v
bS1ib2R5LXNjcm9sbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL2Zhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNTgyMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9jc3Mvem9vbS1ib2R5
LXNjcm9sbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTksMTMgKzksMTMgQEAgc2Ny
b2xsTGVmdDogNTAKIFpvb21pbmcgaW4KIHNjcm9sbEhlaWdodDogMTAwMAogc2Nyb2xsV2lkdGg6
IDEwMDAKLXNjcm9sbFRvcDogMTAwCitzY3JvbGxUb3A6IDAKIHNjcm9sbExlZnQ6IDUwCiAKIFNj
cm9sbGluZyBkb3duIHRvIDEwMAogc2Nyb2xsVG9wOiAxMDAKIAogWm9vbWluZyBiYWNrIG91dAot
c2Nyb2xsVG9wOiAxMDAKLXNjcm9sbExlZnQ6IDUwCitzY3JvbGxUb3A6IDk5CitzY3JvbGxMZWZ0
OiA0OQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215462</attachid>
            <date>2013-10-29 19:42:24 -0700</date>
            <delta_ts>2013-10-29 22:37:51 -0700</delta_ts>
            <desc>Revert the change to HTMLBodyElement</desc>
            <filename>bug-122882-20131029194223.patch</filename>
            <type>text/plain</type>
            <size>8075</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1ODI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTEwLTI5ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04ocjE1NDYxNCk6
IE9wZW5pbmcgYW5kIGNsb3NpbmcgYSBwaWN0dXJlIG9uIEZhY2Vib29rIHJlc2V0cyBzY3JvbGwg
cG9zaXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMjg4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBoYXZlIHRvIGNvbnRpbnVlIHRvIGZ1bmN0aW9uIGlu
IHRoZSBzdHJpY3QgbW9kZSBmb3IgdGhlIFdlYiBjb21wYXRpYmxpdHkuCisgICAgICAgIEluIHBh
cnRpY3VsYXIsIHd3dy5mYWNlYm9vay5jb20gYW5kIGJ1aWxkLndlYmtpdC5vcmcgZGVwZW5kIG9u
IHRoaXMgYmVoYXZpb3IgYXMgb2YgT2N0b2JlciAyOXRoLCAyMDEzLgorCisgICAgICAgICogaHRt
bC9IVE1MQm9keUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50
OjpzY3JvbGxMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6c2V0U2Ny
b2xsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OnNjcm9sbFRvcCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OnNldFNjcm9sbFRvcCk6CisKIDIw
MTMtMTAtMjkgIFNlb2tqdSBLd29uICA8c2Vva2p1QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIG11dGFibGUga2V5d29yZCBmcm9tIG1lbWJlciB2YXJpYWJsZXMgb2YgWE1MSHR0cFJlcXVl
c3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAJKHJldmlzaW9u
IDE1ODI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjUxLDggKzI1MSw2IEBAIHN0YXRpYyBpbnQgYWRqdXN0Rm9yWm9vbShp
bnQgdmFsdWUsIEZyYW0KIAogaW50IEhUTUxCb2R5RWxlbWVudDo6c2Nyb2xsTGVmdCgpCiB7Ci0g
ICAgaWYgKCFkb2N1bWVudCgpLmluUXVpcmtzTW9kZSgpKQotICAgICAgICByZXR1cm4gMDsKICAg
ICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAg
IEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQpAQCAt
MjY1LDkgKzI2Myw2IEBAIGludCBIVE1MQm9keUVsZW1lbnQ6OnNjcm9sbExlZnQoKQogCiB2b2lk
IEhUTUxCb2R5RWxlbWVudDo6c2V0U2Nyb2xsTGVmdChpbnQgc2Nyb2xsTGVmdCkKIHsKLSAgICBp
ZiAoIWRvY3VtZW50KCkuaW5RdWlya3NNb2RlKCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIGRv
Y3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAgICAgRnJh
bWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCkBAIC0yODAs
OCArMjc1LDYgQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6OnNldFNjcm9sbExlZnQoaW50IAogCiBp
bnQgSFRNTEJvZHlFbGVtZW50OjpzY3JvbGxUb3AoKQogewotICAgIGlmICghZG9jdW1lbnQoKS5p
blF1aXJrc01vZGUoKSkKLSAgICAgICAgcmV0dXJuIDA7CiAgICAgZG9jdW1lbnQoKS51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICBGcmFtZSogZnJhbWUgPSBkb2N1
bWVudCgpLmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKQEAgLTI5NCw5ICsyODcsNiBAQCBpbnQg
SFRNTEJvZHlFbGVtZW50OjpzY3JvbGxUb3AoKQogCiB2b2lkIEhUTUxCb2R5RWxlbWVudDo6c2V0
U2Nyb2xsVG9wKGludCBzY3JvbGxUb3ApCiB7Ci0gICAgaWYgKCFkb2N1bWVudCgpLmluUXVpcmtz
TW9kZSgpKQotICAgICAgICByZXR1cm47Ci0KICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCku
ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4MjQ0KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIw
MTMtMTAtMjkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVH
UkVTU0lPTihyMTU0NjE0KTogT3BlbmluZyBhbmQgY2xvc2luZyBhIHBpY3R1cmUgb24gRmFjZWJv
b2sgcmVzZXRzIHNjcm9sbCBwb3NpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTIyODgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsTGVmdC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9ib2R5LXNjcm9sbExlZnQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsVG9wLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsVG9wLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vRWxlbWVudC9zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2RvbS9FbGVtZW50L3Njcm9sbExlZnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9F
bGVtZW50L3Njcm9sbFRvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vRWxlbWVu
dC9zY3JvbGxUb3AuaHRtbDoKKwogMjAxMy0xMC0yOSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNTgxOTgpOiBlZGl0aW5nL2V4ZWND
b21tYW5kL2luc2VydC1saXN0LXhtbC54aHRtbCBmYWlscwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vRWxlbWVudC9ib2R5LXNjcm9sbExlZnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTU4MjQzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ib2R5
LXNjcm9sbExlZnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLVBBU1MgZG9jdW1lbnQuYm9keS5zY3Jv
bGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDUwMAogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsTGVmdC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxMZWZ0Lmh0bWwJKHJldmlz
aW9uIDE1ODI0MykKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxM
ZWZ0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEzLDcgKzEzLDcgQEAKICAgICAgICAgICAgICAg
ICBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBmb3Igbm9uLXN0YW5kYXJkIG1vZGUgZG9jdW1lbnQu
Ym9keS5zY3JvbGxMZWZ0IHJldHVybnMgdGhlIHNjcm9sbCBsZWZ0IHZhbHVlIGFzIDAnKTsKIAog
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCA9IDUwMDsKLSAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwiMCIpOworICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQiLCI1MDAiKTsKICAg
ICAgICAgICAgICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwogCQkJfQogICAgICAgICA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxUb3At
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQv
Ym9keS1zY3JvbGxUb3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNTgyNDMpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsVG9wLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
Ci1QQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5z
Y3JvbGxUb3AgaXMgNTAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1Qg
Q09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxU
b3AuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHkt
c2Nyb2xsVG9wLmh0bWwJKHJldmlzaW9uIDE1ODI0MykKKysrIExheW91dFRlc3RzL2Zhc3QvZG9t
L0VsZW1lbnQvYm9keS1zY3JvbGxUb3AuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTMsNyArMTMs
NyBAQAogICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGZvciBub24tc3Rh
bmRhcmQgbW9kZSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCByZXR1cm5zIHRoZSBzY3JvbGwgdG9w
IHZhbHVlIGFzIDAnKTsKIAogICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9w
ID0gNTAwOwotICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbFRv
cCIsIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxU
b3AiLCI1MDAiKTsKIAkJCQlpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwogICAgICAgICAgICAgfQog
ICAgICAgICA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2Ny
b2xsTGVmdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20v
RWxlbWVudC9zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTU4MjQzKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQQogCiAKIFBBU1Mgd2luZG93LnBhZ2VYT2Zmc2V0IGlzIDUwMAotUEFTUyBkb2N1bWVu
dC5ib2R5LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgaXMg
NTAwCiBQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IGlzIDUwMAogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9FbGVtZW50L3Njcm9sbExlZnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9FbGVtZW50L3Njcm9sbExlZnQuaHRtbAkocmV2aXNpb24gMTU4MjQzKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxMZWZ0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTE1LDcgKzE1LDcgQEAKICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0K
ICAgICAgICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDUwMCwwKTsNCiAgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cucGFnZVhPZmZzZXQiLCI1MDAiKTsNCi0gICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQiLCIwIik7DQor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0Iiwi
NTAwIik7DQogICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbExlZnQiLCI1MDAiKTsNCiAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOw0KICAgICAgICAgICAgICAgICB9LCAwKTsNCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9FbGVtZW50L3Njcm9sbFRvcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxUb3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAx
NTgyNDMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Njcm9sbFRvcC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEEKIAogCiBQQVNTIHdpbmRvdy5wYWdlWU9mZnNldCBpcyA1MDAK
LVBBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5ib2R5LnNj
cm9sbFRvcCBpcyA1MDAKIFBBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBp
cyA1MDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vRWxlbWVudC9zY3JvbGxUb3AuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Njcm9sbFRvcC5odG1sCShyZXZpc2lvbiAxNTgyNDMpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Njcm9sbFRvcC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsNCiAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLDUwMCk7DQogICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnBhZ2VZT2Zmc2V0IiwiNTAwIik7DQot
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AiLCIw
Iik7DQorICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxU
b3AiLCI1MDAiKTsNCiAgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuc2Nyb2xsVG9wIiwiNTAwIik7DQogICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsNCiAgICAgICAgICAgICAgICAgfSwgMCk7DQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>