<?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>8707</bug_id>
          
          <creation_ts>2006-05-02 15:51:33 -0700</creation_ts>
          <short_desc>event.clientX and event.clientY should be relative to the viewport, not the canvas</short_desc>
          <delta_ts>2019-02-06 09:03:50 -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>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>browserbugs2</cc>
    
    <cc>cdumez</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>gavin.sharp</cc>
    
    <cc>rwlbuis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>40911</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-05-02 15:51:33 -0700</bug_when>
    <thetext>When the main view is scrolled, event.clientX and event.clientY should give coordiates relative to the viewport, not the canvas. In other words, if you mouse the same distance from the favorites bar above the content view, you should get the same y coordinate, regardless of how far the page is scrolled. Opera, IE and Mozilla all agree on this, Safari does not.

See forthcoming test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40914</commentid>
    <comment_count>1</comment_count>
      <attachid>8087</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-05-02 16:19:06 -0700</bug_when>
    <thetext>Created attachment 8087
test case that shows the problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40915</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-05-02 16:28:05 -0700</bug_when>
    <thetext>See the FIXME In MouseRelatedEvent::receivedTarget.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46181</commentid>
    <comment_count>3</comment_count>
      <attachid>8906</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-18 12:39:58 -0700</bug_when>
    <thetext>Created attachment 8906
First attempt

The patch makes it work for me, let me know whether other code
paths need to be taken into account as well...
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46193</commentid>
    <comment_count>4</comment_count>
      <attachid>8906</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-18 16:39:22 -0700</bug_when>
    <thetext>Comment on attachment 8906
First attempt

Sure, this fixes clientX and clientY, but what does it do to all the other X and Y properties on the event? We need a test case that checks all of those.

I remember trying a code change like this one, and it broke lots of things.

All bug fixes need a test, and this one lacks a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46513</commentid>
    <comment_count>5</comment_count>
      <attachid>8939</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-21 00:54:40 -0700</bug_when>
    <thetext>Created attachment 8939
Now with testcase

The new patch fixes the problem, also I added a testcase which tests all window xy props.
Another option is to add setClientX/setClientY to MouseRelatedEvent, let me know what is
the best choice and whether there is an even better solution. Also I can format the code a
bit, just wanted to know first whether the approach was right.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46528</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-21 03:50:00 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The new patch fixes the problem, also I added a testcase which tests all window
&gt; xy props.

The test should probably also scroll horizontally in addition to vertically to make sure the X-coordinates are set correctly, too.

Have you tried running the test case (manually) in Firefox or MSIE to see if Safari now matches their behavior?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46530</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-21 03:57:50 -0700</bug_when>
    <thetext>NOTE: This bug may also fix some issues in Bug 8128.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46634</commentid>
    <comment_count>8</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-22 05:26:15 -0700</bug_when>
    <thetext>Hi,

(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; The new patch fixes the problem, also I added a testcase which tests all window
&gt; &gt; xy props.
&gt; 
&gt; The test should probably also scroll horizontally in addition to vertically to
&gt; make sure the X-coordinates are set correctly, too.

Yep, will do.

&gt; Have you tried running the test case (manually) in Firefox or MSIE to see if
&gt; Safari now matches their behavior?

Indeed I had to do that manually. From my tests it matches the behavior.
Cheers,

Rob.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46635</commentid>
    <comment_count>9</comment_count>
      <attachid>8963</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-22 05:27:59 -0700</bug_when>
    <thetext>Created attachment 8963
Improved patch+testcase

I adjusted the testcase to also test clientX. Also some code layout fixes.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46657</commentid>
    <comment_count>10</comment_count>
      <attachid>8963</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-22 09:29:18 -0700</bug_when>
    <thetext>Comment on attachment 8963
Improved patch+testcase

This seems like a big step in the right direction.

But I think it&apos;s confusing to have local variables named offsetX and offsetY and parameter to the MouseEvent/WheelEvent constructors that are entirely different things than MouseEvent&apos;s own offsetX and offsetY properties.

Similarly, it doesn&apos;t make sense to me that the clientX and clientY parameters are no longer clientX and clientY! If their meaning is changing, then the name should change to. And it should only be called clientX and clientY if that&apos;s really what these are named.

Also, since the WheelEvent constructor does take a pointer to the abstract view, then we can get from that to the FrameView, so we don&apos;t need to add another parameter to the constructors -- not sure if that&apos;s better or not, but I think it probably is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46708</commentid>
    <comment_count>11</comment_count>
      <attachid>8970</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-22 14:15:49 -0700</bug_when>
    <thetext>Created attachment 8970
Improved patch+testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46914</commentid>
    <comment_count>12</comment_count>
      <attachid>8970</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-23 21:26:34 -0700</bug_when>
    <thetext>Comment on attachment 8970
Improved patch+testcase

Almost there!

I still think that the local variables in EventTargetNode::dispatchMouseEvent should not be named offsetX/Y. Instead I think we should have pageX/Y local variables and do -= statements inside the if statement.

+    if (FrameView *view = document()-&gt;view()) {

Formatting wrong here -- * should be next to FrameView.

-                                                   document()-&gt;defaultView(), e.globalX(), e.globalY(), pos.x(), pos.y(),
-                                                   e.ctrlKey(), e.altKey(), e.shiftKey(), e.metaKey());
+                                                   document()-&gt;defaultView(), e.globalX(), e.globalY(),
+                                                   pos.x(), pos.y(), e.ctrlKey(), e.altKey(), e.shiftKey(), e.metaKey());

Should roll this change out -- it&apos;s just reformatting.

What guarantees that neither frame() or view() will be 0 in the WheelEvent constructor?

Between these small issues, I think I still give this a review-, but it&apos;s about ready to land. The only one I&apos;m really concerned about is the WheelEvent constructor nil-check issue.

Also, the layout test does not test the wheel event code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46931</commentid>
    <comment_count>13</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-24 03:22:18 -0700</bug_when>
    <thetext>*** Bug 8128 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47051</commentid>
    <comment_count>14</comment_count>
      <attachid>9010</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-24 14:49:17 -0700</bug_when>
    <thetext>Created attachment 9010
Improved patch+testcase

Hi Darin,

This should address most of your points. About the wheel event, I tried to include
code into DumpRenderTree to generate wheel events, much like mouse events. However
I could not find a suitable NSEvent method to create them! So I think the solution is for
someone to indicate to me what I do wrong or generate them some other way, or opt
for a manual test for the wheel events?
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47068</commentid>
    <comment_count>15</comment_count>
      <attachid>9010</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-24 17:25:42 -0700</bug_when>
    <thetext>Comment on attachment 9010
Improved patch+testcase

+    fprintf(stderr, &quot;WHEEL EVENT!!&quot;);

Oops. Don&apos;t land that!

Otherwise, great. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47070</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-24 19:06:08 -0700</bug_when>
    <thetext>Committed revision 15023.

Removed the printf() statement (and corresponding prepare-ChangeLog method entry) before committing.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47074</commentid>
    <comment_count>17</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-24 19:57:47 -0700</bug_when>
    <thetext>Attachment 9010 broke the build.  WebCore/page/FrameView.cpp failed to compile.

Backed out fix as revision 15024.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47081</commentid>
    <comment_count>18</comment_count>
      <attachid>9010</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-24 20:21:36 -0700</bug_when>
    <thetext>Comment on attachment 9010
Improved patch+testcase

So we need a version that compiles!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47109</commentid>
    <comment_count>19</comment_count>
      <attachid>9018</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-25 08:26:11 -0700</bug_when>
    <thetext>Created attachment 9018
Now includes FrameView.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47113</commentid>
    <comment_count>20</comment_count>
      <attachid>9018</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-25 10:01:12 -0700</bug_when>
    <thetext>Comment on attachment 9018
Now includes FrameView.cpp

It&apos;s a real shame that the code to compute pageX and pageY is in 3 different places.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47131</commentid>
    <comment_count>21</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-25 13:33:02 -0700</bug_when>
    <thetext>Committed revision 15032.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47189</commentid>
    <comment_count>22</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-25 18:46:49 -0700</bug_when>
    <thetext>*** Bug 6574 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47225</commentid>
    <comment_count>23</comment_count>
      <attachid>9041</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-26 01:28:23 -0700</bug_when>
    <thetext>Created attachment 9041
Code cleanup

I know the previous patch landed, however as Darin pointed out calculating the
clientX/clientY in three places is a waste. This patch calculates it in one place and is
, I feel, cleaner. The results are the same as before.
Also, I think it needs to be checked whether fast/events/objc-event-api.html regressed
due to the previous patch.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47238</commentid>
    <comment_count>24</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-26 03:16:18 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; Also, I think it needs to be checked whether fast/events/objc-event-api.html
&gt; regressed due to the previous patch.

It didn&apos;t regress from this patch (Attachment 9018).  It regressed due to Bug 9181 which added this output.  Bug 9579 should fix the test.

Reopening bug for the second patch.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47265</commentid>
    <comment_count>25</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-26 04:56:42 -0700</bug_when>
    <thetext>Hi,

(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; Also, I think it needs to be checked whether fast/events/objc-event-api.html
&gt; &gt; regressed due to the previous patch.
&gt; 
&gt; It didn&apos;t regress from this patch (Attachment 9018 [edit]).  It regressed due to Bug
&gt; 9181 which added this output.  Bug 9579 should fix the test.

Phew :) Thnx for checking.

&gt; Reopening bug for the second patch.

Yep, I think it is an improvement.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47294</commentid>
    <comment_count>26</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-26 08:51:10 -0700</bug_when>
    <thetext>(In reply to comment #23) 
&gt; I know the previous patch landed, however as Darin pointed out calculating the
&gt; clientX/clientY in three places is a waste. This patch calculates it in one
&gt; place and is, I feel, cleaner.

Code cleanup is fine, but please don&apos;t reopen the bug to do it!
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47296</commentid>
    <comment_count>27</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-26 08:56:22 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Reopening bug for the second patch.

In the future, that&apos;s not how I&apos;d like to handle things like this.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47297</commentid>
    <comment_count>28</comment_count>
      <attachid>9041</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-26 09:14:30 -0700</bug_when>
    <thetext>Comment on attachment 9041
Code cleanup

I&apos;ve found a number of problems with the original change; also this changes lots of things to be pageX/Y but leaves them named clientX/Y. I&apos;ll post a patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47303</commentid>
    <comment_count>29</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-26 09:34:08 -0700</bug_when>
    <thetext>Committed revision 15047.

Bug 9605 and bug 9606 cover problems I realized are caused by the original fix (not caused by the cleanup).
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503049</commentid>
    <comment_count>30</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:50 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>8087</attachid>
            <date>2006-05-02 16:19:06 -0700</date>
            <delta_ts>2006-05-02 16:19:06 -0700</delta_ts>
            <desc>test case that shows the problem</desc>
            <filename>client-x.html</filename>
            <type>text/html</type>
            <size>240</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">PGRpdiBzdHlsZT0iYmFja2dyb3VuZDogcmVkOyBoZWlnaHQ6IDIwMDBweCIgb25tb3VzZW1vdmU9
J3RoaXMuaW5uZXJIVE1MICs9ICIiICsgZXZlbnQuY2xpZW50WCArICIsICIgKyBldmVudC5jbGll
bnRZICsgIjxicj4iJz4KVHJ5IG1vdXNpbmcgYXJvdW5kLiBUaGVuIHNjcm9sbCBhbmQgdHJ5IGFn
YWluLCBtb3VzaW5nIHRoZSBzYW1lIGRpc3RhbmNlIGZyb20gdGhlIHRvcCBvZiB0aGUgd2luZG93
Ljxicj4KPC9kaXY+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8906</attachid>
            <date>2006-06-18 12:39:58 -0700</date>
            <delta_ts>2006-06-21 00:54:40 -0700</delta_ts>
            <desc>First attempt</desc>
            <filename>8707.diff</filename>
            <type>text/plain</type>
            <size>1502</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNDkwNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDYtMDYtMTggIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgaHR0
cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04NzA3OgorICAgICAg
ICBldmVudC5jbGllbnRYIGFuZCBldmVudC5jbGllbnRZIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0
aGUgdmlld3BvcnQsIG5vdCB0aGUgY2FudmFzCisKKyAgICAgICAgTWFrZSBzdXJlIGNsaWVudFgg
YW5kIGNsaWVudFkgdGFrZSBpbnRvIGFjY291bnQgdGhlIHNjcm9sbCBvZmZzZXRzCisgICAgICAg
IG9mIHRoZSB2aWV3LgorCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNoTW91c2VFdmVudCk6CisKIDIw
MDYtMDYtMTggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGtpbHplci5uZXQ+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgZ2dhcmVuLgpJbmRleDogV2ViQ29yZS9kb20vRXZlbnRUYXJnZXROb2RlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudFRhcmdldE5vZGUuY3BwCShyZXZpc2lv
biAxNDkwNikKKysrIFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1OSw4ICszNTksMTEgQEAgYm9vbCBFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNoTW91
c2VFdmVudAogICAgIGFzc2VydCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICAKICAg
ICBJbnRQb2ludCBjbGllbnRQb3M7Ci0gICAgaWYgKEZyYW1lVmlldyAqdmlldyA9IGRvY3VtZW50
KCktPnZpZXcoKSkKKyAgICBpZiAoRnJhbWVWaWV3ICp2aWV3ID0gZG9jdW1lbnQoKS0+dmlldygp
KSB7CiAgICAgICAgIGNsaWVudFBvcyA9IHZpZXctPnZpZXdwb3J0VG9Db250ZW50cyhfbW91c2Uu
cG9zKCkpOworICAgICAgICBjbGllbnRQb3Muc2V0WChjbGllbnRQb3MueCgpIC0gdmlldy0+Y29u
dGVudHNYKCkpOworICAgICAgICBjbGllbnRQb3Muc2V0WShjbGllbnRQb3MueSgpIC0gdmlldy0+
Y29udGVudHNZKCkpOworICAgIH0KICAgICAKICAgICByZXR1cm4gZGlzcGF0Y2hNb3VzZUV2ZW50
KGV2ZW50VHlwZSwgX21vdXNlLmJ1dHRvbigpLCBkZXRhaWwsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjbGllbnRQb3MueCgpLCBjbGllbnRQb3MueSgpLCBfbW91c2UuZ2xvYmFsWCgp
LCBfbW91c2UuZ2xvYmFsWSgpLAo=
</data>
<flag name="review"
          id="2611"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8939</attachid>
            <date>2006-06-21 00:54:40 -0700</date>
            <delta_ts>2006-06-22 05:27:59 -0700</delta_ts>
            <desc>Now with testcase</desc>
            <filename>8707.diff</filename>
            <type>text/plain</type>
            <size>12653</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0OTM5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDYtMjEgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3QgY2FzZXMgZm9yCisgICAgICAgIDxodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcv
c2hvd19idWcuY2dpP2lkPTg3MDc+CisKKyAgICAgICAgKiBmYXN0L2RvbS93aW5kb3cteHktcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3dpbmRvdy14
eS1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorCiAyMDA2LTA2LTIwICBNYWNpZWogU3RhY2hvd2lh
ayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3IC0gdXBkYXRlZCByZXN1bHRz
IGZvciBlYXJsaWVyIHBhdGNoLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LXh5
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL3dpbmRvdy14eS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy14eS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdl
U2VsZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGlu
ZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAg
b2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZp
bml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbgorUEFTUyBldmVudC5jbGllbnRYIGlzIDUwCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgNTAK
K1BBU1MgZXZlbnQucGFnZVggaXMgNTAKK1BBU1MgZXZlbnQucGFnZVkgaXMgNTAKK1BBU1MgZXZl
bnQubGF5ZXJYIGlzIDUwCitQQVNTIGV2ZW50LmxheWVyWSBpcyA1MAorUEFTUyBldmVudC5vZmZz
ZXRYIGlzIDQyCitQQVNTIGV2ZW50Lm9mZnNldFkgaXMgNDIKK1BBU1MgZXZlbnQuY2xpZW50WCBp
cyA1MAorUEFTUyBldmVudC5jbGllbnRZIGlzIDUwCitQQVNTIGV2ZW50LnBhZ2VYIGlzIDUwCitQ
QVNTIGV2ZW50LnBhZ2VZIGlzIDU1MAorUEFTUyBldmVudC5sYXllclggaXMgNTAKK1BBU1MgZXZl
bnQubGF5ZXJZIGlzIDU1MAorUEFTUyBldmVudC5vZmZzZXRYIGlzIDQyCitQQVNTIGV2ZW50Lm9m
ZnNldFkgaXMgNTQyCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy14eS1wcm9w
ZXJ0aWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LXh5
LXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3dp
bmRvdy14eS1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDcgQEAKKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgordmFyIG5ybW91c2VjbGlja3MgPSAwOyAvLyBzbWFsbCBoYWNrIHRvIGRp
c3Rpbmd1aXNoIGJldHdlZW4gZmlyc3QgYW5kIHNlY29uZCBjbGljaworZnVuY3Rpb24gbW91c2Vl
dihldmVudCkgeworICAgIGlmIChucm1vdXNlY2xpY2tzID09IDApIHsKKyAgICAgICAgc2hvdWxk
QmUoImV2ZW50LmNsaWVudFgiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmNsaWVu
dFkiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VYIiwgIjUwIik7CisgICAg
ICAgIHNob3VsZEJlKCJldmVudC5wYWdlWSIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZl
bnQubGF5ZXJYIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5sYXllclkiLCAiNTAi
KTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50Lm9mZnNldFgiLCAiNDIiKTsKKyAgICAgICAgc2hv
dWxkQmUoImV2ZW50Lm9mZnNldFkiLCAiNDIiKTsKKyAgICAgICAgbnJtb3VzZWNsaWNrcysrOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5jbGllbnRYIiwgIjUwIik7Cisg
ICAgICAgIHNob3VsZEJlKCJldmVudC5jbGllbnRZIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJl
KCJldmVudC5wYWdlWCIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQucGFnZVkiLCAi
NTUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5sYXllclgiLCAiNTAiKTsKKyAgICAgICAg
c2hvdWxkQmUoImV2ZW50LmxheWVyWSIsICI1NTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50
Lm9mZnNldFgiLCAiNDIiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50Lm9mZnNldFkiLCAiNTQy
Iik7CisgICAgfQorfQorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgLy8gdGVzdCBhIG5vcm1hbCBtb3VzZSB0bworICAgICAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbyg1MCwgNTApOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsK
KyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgICAgIC8vIG5vdyBzY3JvbGwg
YSBiaXQgZG93biBhbmQgdmVyaWZ5IHRoYXQgY2xpZW50WSBkb2VzIG5vdCBjaG5hZ2UKKyAgICAg
ICAgd2luZG93LnNjcm9sbFRvKDAsIDUwMCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93
bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgfQorfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5k
OiByZWQ7IGhlaWdodDogMjAwMHB4IiBvbm1vdXNlZG93bj0ibW91c2VldihldmVudCkiPgorPC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KSW5kZXg6IFdlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDkzOSkK
KysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIw
MDYtMDYtMjEgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5k
YXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04NzA3OgorICAgICAgICBldmVudC5jbGllbnRYIGFu
ZCBldmVudC5jbGllbnRZIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQsIG5vdCB0
aGUgY2FudmFzCisKKyAgICAgICAgTWFrZSBzdXJlIGNsaWVudFggYW5kIGNsaWVudFkgdGFrZSBp
bnRvIGFjY291bnQgdGhlIHNjcm9sbCBvZmZzZXRzCisgICAgICAgIG9mIHRoZSB2aWV3LgorCisg
ICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRhcmdldE5vZGU6OmRpc3BhdGNoTW91c2VFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRhcmdldE5vZGU6OmRpc3BhdGNoV2hlZWxFdmVudCk6CisgICAgICAgICogZG9tL01vdXNlRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VFdmVudDo6TW91c2VFdmVudCk6CisgICAg
ICAgICogZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VSZWxhdGVkRXZlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2
ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VSZWxhdGVkRXZlbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1vdXNlUmVsYXRlZEV2ZW50OjpzZXRDbGllbnRYKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
dXNlUmVsYXRlZEV2ZW50OjpzZXRDbGllbnRZKToKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KToKKyAgICAgICAg
KiBkb20vV2hlZWxFdmVudC5oOgorCiAyMDA2LTA2LTIwICBBZGVsZSBQZXRlcnNvbiAgPGFkZWxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMuCkluZGV4OiBXZWJDb3Jl
L2RvbS9FdmVudFRhcmdldE5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0Tm9kZS5jcHAJKHJldmlzaW9uIDE0OTM5KQorKysgV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXROb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA3LDkgKzQwNywxNiBAQCBib29sIEV2ZW50
VGFyZ2V0Tm9kZTo6ZGlzcGF0Y2hNb3VzZUV2ZW50CiAgICAgCiAgICAgLy8gQXR0ZW1wdGluZyB0
byBkaXNwYXRjaCB3aXRoIGEgbm9uLUV2ZW50VGFyZ2V0IHJlbGF0ZWRUYXJnZXQgY2F1c2VzIHRo
ZSByZWxhdGVkVGFyZ2V0IHRvIGJlIHNpbGVudGx5IGlnbm9yZWQuCiAgICAgRXZlbnRUYXJnZXRO
b2RlICpyZWxhdGVkVGFyZ2V0ID0gKHJlbGF0ZWRUYXJnZXRBcmcgJiYgcmVsYXRlZFRhcmdldEFy
Zy0+aXNFdmVudFRhcmdldE5vZGUoKSkgPyBzdGF0aWNfY2FzdDxFdmVudFRhcmdldE5vZGUqPihy
ZWxhdGVkVGFyZ2V0QXJnKSA6IDA7Ci0gICAgCisKKyAgICBpbnQgb2Zmc2V0WCA9IDA7IAorICAg
IGludCBvZmZzZXRZID0gMDsgCisgICAgaWYgKEZyYW1lVmlldyAqdmlldyA9IGRvY3VtZW50KCkt
PnZpZXcoKSkgeworICAgICAgICBvZmZzZXRYID0gdmlldy0+Y29udGVudHNYKCk7CisgICAgICAg
IG9mZnNldFkgPSB2aWV3LT5jb250ZW50c1koKTsKKyAgICB9CiAgICAgUmVmUHRyPEV2ZW50PiBt
ZSA9IG5ldyBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgdHJ1ZSwgY2FuY2VsYWJsZSwgZG9jdW1lbnQo
KS0+ZGVmYXVsdFZpZXcoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksIGNsaWVudFgsIGNsaWVudFksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WCwgb2Zmc2V0
WSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHJsS2V5
LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRhS2V5LCBidXR0b24sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldCwgMCwgaXNTaW11bGF0ZWQp
OwogICAgIApAQCAtNDI0LDcgKzQzMSw3IEBAIGJvb2wgRXZlbnRUYXJnZXROb2RlOjpkaXNwYXRj
aE1vdXNlRXZlbnQKICAgICAvLyBhcyBhIHNlcGFyYXRlIGV2ZW50IGluIG90aGVyIERPTS1jb21w
bGlhbnQgYnJvd3NlcnMgbGlrZSBGaXJlZm94LCBhbmQgc28gd2UgZG8gdGhlIHNhbWUuCiAgICAg
aWYgKGV2ZW50VHlwZSA9PSBjbGlja0V2ZW50ICYmIGRldGFpbCA9PSAyKSB7CiAgICAgICAgIG1l
ID0gbmV3IE1vdXNlRXZlbnQoZGJsY2xpY2tFdmVudCwgdHJ1ZSwgY2FuY2VsYWJsZSwgZG9jdW1l
bnQoKS0+ZGVmYXVsdFZpZXcoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0
YWlsLCBzY3JlZW5YLCBzY3JlZW5ZLCBjbGllbnRYLCBjbGllbnRZLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksIGNsaWVudFgsIGNsaWVu
dFksIG9mZnNldFgsIG9mZnNldFksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0
cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXksIGJ1dHRvbiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldCwgMCwgaXNTaW11bGF0ZWQpOwogICAgICAg
ICBpZiAoZGVmYXVsdEhhbmRsZWQpCkBAIC00NTIsOSArNDU5LDE1IEBAIHZvaWQgRXZlbnRUYXJn
ZXROb2RlOjpkaXNwYXRjaFdoZWVsRXZlbnQKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIElu
dFBvaW50IHBvcyA9IHZpZXctPnZpZXdwb3J0VG9Db250ZW50cyhlLnBvcygpKTsKKyAgICBpbnQg
b2Zmc2V0WCA9IDA7IAorICAgIGludCBvZmZzZXRZID0gMDsgCisgICAgaWYgKEZyYW1lVmlldyAq
dmlldyA9IGRvY3VtZW50KCktPnZpZXcoKSkgeworICAgICAgICBvZmZzZXRYID0gdmlldy0+Y29u
dGVudHNYKCk7CisgICAgICAgIG9mZnNldFkgPSB2aWV3LT5jb250ZW50c1koKTsKKyAgICB9CiAg
ICAgCiAgICAgUmVmUHRyPFdoZWVsRXZlbnQ+IHdlID0gbmV3IFdoZWVsRXZlbnQoZS5pc0hvcml6
b250YWwoKSwgZS5kZWx0YSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgZS5nbG9iYWxYKCksIGUu
Z2xvYmFsWSgpLCBwb3MueCgpLCBwb3MueSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgZS5nbG9i
YWxYKCksIGUuZ2xvYmFsWSgpLCBwb3MueCgpLCBwb3MueSgpLCBvZmZzZXRYLCBvZmZzZXRZLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5jdHJs
S2V5KCksIGUuYWx0S2V5KCksIGUuc2hpZnRLZXkoKSwgZS5tZXRhS2V5KCkpOwogICAgIAogICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpJbmRleDogV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHJldmlzaW9uIDE0OTM5
KQorKysgV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDEw
ICszNywxMSBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KCkKIAogTW91c2VFdmVudDo6TW91c2VF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wg
Y2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRYLCBpbnQgY2xp
ZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IG9mZnNldFgsIGludCBvZmZzZXRZLAog
ICAgICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNo
aWZ0S2V5LCBib29sIG1ldGFLZXksIHVuc2lnbmVkIHNob3J0IGJ1dHRvbiwKICAgICAgICAgICAg
ICAgICAgICAgICAgRXZlbnRUYXJnZXROb2RlKiByZWxhdGVkVGFyZ2V0LCBDbGlwYm9hcmQqIGNs
aXBib2FyZCwgYm9vbCBpc1NpbXVsYXRlZCkKICAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50
VHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwsIHNjcmVlblgsIHNjcmVl
blksCi0gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRYLCBjbGllbnRZLCBjdHJsS2V5LCBh
bHRLZXksIHNoaWZ0S2V5LCBtZXRhS2V5LCBpc1NpbXVsYXRlZCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNsaWVudFgsIGNsaWVudFksIG9mZnNldFgsIG9mZnNldFksIGN0cmxLZXksIGFsdEtl
eSwgc2hpZnRLZXksIG1ldGFLZXksIGlzU2ltdWxhdGVkKQogICAgICwgbV9idXR0b24oYnV0dG9u
KQogICAgICwgbV9yZWxhdGVkVGFyZ2V0KHJlbGF0ZWRUYXJnZXQpCiAgICAgLCBtX2NsaXBib2Fy
ZChjbGlwYm9hcmQpCkluZGV4OiBXZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCShyZXZpc2lvbiAxNDkzOSkKKysrIFdlYkNvcmUv
ZG9tL01vdXNlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgcHVibGljOgogICAgICAgICBNb3VzZUV2ZW50KCk7CiAgICAgICAg
IE1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9v
bCBjYW5jZWxhYmxlLCBBYnN0cmFjdFZpZXcqIHZpZXcsCi0gICAgICAgICAgICAgICAgICAgaW50
IGRldGFpbCwgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVu
dFksCisgICAgICAgICAgICAgICAgICAgaW50IGRldGFpbCwgaW50IHNjcmVlblgsIGludCBzY3Jl
ZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksIGludCBvZmZzZXRYLCBpbnQgb2Zmc2V0WSwK
ICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0
S2V5LCBib29sIG1ldGFLZXksIHVuc2lnbmVkIHNob3J0IGJ1dHRvbiwKICAgICAgICAgICAgICAg
ICAgICBFdmVudFRhcmdldE5vZGUqIHJlbGF0ZWRUYXJnZXQsIENsaXBib2FyZCogY2xpcGJvYXJk
ID0gMCwgYm9vbCBpc1NpbXVsYXRlZCA9IGZhbHNlKTsKICAgICAgICAgdmlydHVhbCB+TW91c2VF
dmVudCgpOwpJbmRleDogV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcAkocmV2aXNpb24gMTQ5Mzkp
CisrKyBXZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUwLDYgKzUwLDcgQEAgTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KCkKIAog
TW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
ZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBBYnN0cmFjdFZpZXcq
IHZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRldGFpbCwg
aW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG9mZnNldFgsIGludCBvZmZzZXRZ
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwgYm9v
bCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgYm9vbCBpc1NpbXVsYXRlZCkK
ICAgICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGNhbmNlbGFi
bGUsIHZpZXcsIGRldGFpbCwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSkKICAg
ICAsIG1fc2NyZWVuWChzY3JlZW5YKQpAQCAtNTksNiArNjAsOCBAQCBNb3VzZVJlbGF0ZWRFdmVu
dDo6TW91c2VSZWxhdGVkRXZlbnQoY29uCiAgICAgLCBtX2lzU2ltdWxhdGVkKGlzU2ltdWxhdGVk
KQogewogICAgIGluaXRDb29yZGluYXRlcygpOworICAgIG1fY2xpZW50WCAtPSBvZmZzZXRYOwor
ICAgIG1fY2xpZW50WSAtPSBvZmZzZXRZOwogfQogCiB2b2lkIE1vdXNlUmVsYXRlZEV2ZW50Ojpp
bml0Q29vcmRpbmF0ZXMoKQpJbmRleDogV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oCShyZXZpc2lvbiAx
NDkzOSkKKysrIFdlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDYgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBNb3VzZVJlbGF0
ZWRFdmVudCgpOwogICAgICAgICBNb3VzZVJlbGF0ZWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIEFic3RyYWN0Vmlldyogdmll
dywKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRldGFpbCwgaW50IHNjcmVlblgsIGlu
dCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBvZmZzZXRYLCBpbnQgb2Zmc2V0WSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5
LCBib29sIGlzU2ltdWxhdGVkID0gZmFsc2UpOwogCiAgICAgICAgIGludCBzY3JlZW5YKCkgY29u
c3QgeyByZXR1cm4gbV9zY3JlZW5YOyB9CkluZGV4OiBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAkocmV2aXNpb24gMTQ5
MzkpCisrKyBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzks
OSArMzksMTEgQEAgV2hlZWxFdmVudDo6V2hlZWxFdmVudCgpCiAKIFdoZWVsRXZlbnQ6OldoZWVs
RXZlbnQoYm9vbCBob3Jpem9udGFsLCBpbnQgd2hlZWxEZWx0YSwgQWJzdHJhY3RWaWV3KiB2aWV3
LAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBj
bGllbnRYLCBpbnQgY2xpZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IG9mZnNldFgs
IGludCBvZmZzZXRZLAogICAgICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXksIGJvb2wg
YWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXkpCiAgICAgOiBNb3VzZVJlbGF0ZWRF
dmVudChob3Jpem9udGFsID8ga2h0bWxIb3Jpem9udGFsbW91c2V3aGVlbEV2ZW50IDogbW91c2V3
aGVlbEV2ZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgdHJ1ZSwgdmlldywgMCwg
c2NyZWVuWCwgc2NyZWVuWSwgY2xpZW50WCwgY2xpZW50WSwgCisgICAgICAgICAgICAgICAgICAg
ICAgICBvZmZzZXRYLCBvZmZzZXRZLAogICAgICAgICAgICAgICAgICAgICAgICAgY3RybEtleSwg
YWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSkKICAgICAsIG1faG9yaXpvbnRhbChob3Jpem9udGFs
KQogICAgICwgbV93aGVlbERlbHRhKHdoZWVsRGVsdGEpCkluZGV4OiBXZWJDb3JlL2RvbS9XaGVl
bEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vV2hlZWxFdmVudC5oCShyZXZpc2lv
biAxNDkzOSkKKysrIFdlYkNvcmUvZG9tL1doZWVsRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVibGljOgogICAgICAgICBX
aGVlbEV2ZW50KCk7CiAgICAgICAgIFdoZWVsRXZlbnQoYm9vbCBob3Jpem9udGFsLCBpbnQgd2hl
ZWxEZWx0YSwgQWJzdHJhY3RWaWV3KiwKLSAgICAgICAgICAgICAgICAgICBpbnQgc2NyZWVuWCwg
aW50IHNjcmVlblksIGludCBjbGllbnRYLCBpbnQgY2xpZW50WSwKKyAgICAgICAgICAgICAgICAg
ICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRYLCBpbnQgY2xpZW50WSwgaW50
IG9mZnNldFgsIGludCBvZmZzZXRZLAogICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwg
Ym9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSk7CiAgICAgICAgIAogICAg
ICAgICBib29sIGlzSG9yaXpvbnRhbCgpIGNvbnN0IHsgcmV0dXJuIG1faG9yaXpvbnRhbDsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8963</attachid>
            <date>2006-06-22 05:27:59 -0700</date>
            <delta_ts>2006-06-22 14:15:49 -0700</delta_ts>
            <desc>Improved patch+testcase</desc>
            <filename>8707-2.diff</filename>
            <type>text/plain</type>
            <size>14132</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0OTY5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDYtMjIgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3QgY2FzZXMgZm9yCisgICAgICAgIDxodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcv
c2hvd19idWcuY2dpP2lkPTg3MDc+CisKKyAgICAgICAgKiBmYXN0L2RvbS93aW5kb3cteHktcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3dpbmRvdy14
eS1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorCiAyMDA2LTA2LTIxICBKdXN0aW4gR2FyY2lhICA8
anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgbGV2aQpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LXh5LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy14eS1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRv
dy14eS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBA
QAorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkg
dG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdl
OnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxl
Y3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTog
c2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9u
QWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitQQVNTIGV2ZW50LmNsaWVu
dFggaXMgNTAKK1BBU1MgZXZlbnQuY2xpZW50WSBpcyA1MAorUEFTUyBldmVudC5wYWdlWCBpcyA1
MAorUEFTUyBldmVudC5wYWdlWSBpcyA1MAorUEFTUyBldmVudC5sYXllclggaXMgNTAKK1BBU1Mg
ZXZlbnQubGF5ZXJZIGlzIDUwCitQQVNTIGV2ZW50Lm9mZnNldFggaXMgNDIKK1BBU1MgZXZlbnQu
b2Zmc2V0WSBpcyA0MgorUEFTUyBldmVudC5jbGllbnRYIGlzIDUwCitQQVNTIGV2ZW50LmNsaWVu
dFkgaXMgNTAKK1BBU1MgZXZlbnQucGFnZVggaXMgNTAKK1BBU1MgZXZlbnQucGFnZVkgaXMgNTUw
CitQQVNTIGV2ZW50LmxheWVyWCBpcyA1MAorUEFTUyBldmVudC5sYXllclkgaXMgNTUwCitQQVNT
IGV2ZW50Lm9mZnNldFggaXMgNDIKK1BBU1MgZXZlbnQub2Zmc2V0WSBpcyA1NDIKK1BBU1MgZXZl
bnQuY2xpZW50WCBpcyA1MAorUEFTUyBldmVudC5jbGllbnRZIGlzIDUwCitQQVNTIGV2ZW50LnBh
Z2VYIGlzIDU1MAorUEFTUyBldmVudC5wYWdlWSBpcyA1MAorUEFTUyBldmVudC5sYXllclggaXMg
NTUwCitQQVNTIGV2ZW50LmxheWVyWSBpcyA1MAorUEFTUyBldmVudC5vZmZzZXRYIGlzIDU0Mgor
UEFTUyBldmVudC5vZmZzZXRZIGlzIDQyCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3dp
bmRvdy14eS1wcm9wZXJ0aWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vd2luZG93LXh5LXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL3dpbmRvdy14eS1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNjIgQEAKKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIG5ybW91c2VjbGlja3MgPSAwOyAvLyBzbWFs
bCBoYWNrIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gY2xpY2tzCitmdW5jdGlvbiBtb3VzZWV2KGV2
ZW50KSB7CisgICAgaWYgKG5ybW91c2VjbGlja3MgPT0gMCkgeworICAgICAgICBzaG91bGRCZSgi
ZXZlbnQuY2xpZW50WCIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQuY2xpZW50WSIs
ICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQucGFnZVgiLCAiNTAiKTsKKyAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnBhZ2VZIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5s
YXllclgiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmxheWVyWSIsICI1MCIpOwor
ICAgICAgICBzaG91bGRCZSgiZXZlbnQub2Zmc2V0WCIsICI0MiIpOworICAgICAgICBzaG91bGRC
ZSgiZXZlbnQub2Zmc2V0WSIsICI0MiIpOworICAgICAgICBucm1vdXNlY2xpY2tzKys7CisgICAg
fSBlbHNlIGlmIChucm1vdXNlY2xpY2tzID09IDEpIHsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50
LmNsaWVudFgiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmNsaWVudFkiLCAiNTAi
KTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VYIiwgIjUwIik7CisgICAgICAgIHNob3Vs
ZEJlKCJldmVudC5wYWdlWSIsICI1NTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmxheWVy
WCIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQubGF5ZXJZIiwgIjU1MCIpOworICAg
ICAgICBzaG91bGRCZSgiZXZlbnQub2Zmc2V0WCIsICI0MiIpOworICAgICAgICBzaG91bGRCZSgi
ZXZlbnQub2Zmc2V0WSIsICI1NDIiKTsKKyAgICAgICAgbnJtb3VzZWNsaWNrcysrOworICAgIH0g
ZWxzZSB7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5jbGllbnRYIiwgIjUwIik7CisgICAgICAg
IHNob3VsZEJlKCJldmVudC5jbGllbnRZIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVu
dC5wYWdlWCIsICI1NTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VZIiwgIjUwIik7
CisgICAgICAgIHNob3VsZEJlKCJldmVudC5sYXllclgiLCAiNTUwIik7CisgICAgICAgIHNob3Vs
ZEJlKCJldmVudC5sYXllclkiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50Lm9mZnNl
dFgiLCAiNTQyIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5vZmZzZXRZIiwgIjQyIik7Cisg
ICAgfQorfQorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgLy8gdGVzdCBhIG5vcm1hbCBtb3VzZSB0bworICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyg1MCwgNTApOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgICAgIC8vIG5vdyBzY3JvbGwgYSBiaXQg
ZG93biBhbmQgdmVyaWZ5IHRoYXQgY2xpZW50WSBkb2VzIG5vdCBjaG5hZ2UKKyAgICAgICAgd2lu
ZG93LnNjcm9sbFRvKDAsIDUwMCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwor
ICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisKKyAgICAgICAgLy8gbm93IHNjcm9sbCBh
IGJpdCB0byB0aGUgcmlnaHQgYW5kIHZlcmlmeSB0aGF0IGNsaWVudFggZG9lcyBub3QgY2huYWdl
CisgICAgICAgIHdpbmRvdy5zY3JvbGxUbyg1MDAsIDApOworICAgICAgICBldmVudFNlbmRlci5t
b3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIH0KK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBzdHlsZT0iYmFj
a2dyb3VuZDogcmVkOyB3aWR0aDoyMDAwcHg7IGhlaWdodDogMjAwMHB4IiBvbm1vdXNlZG93bj0i
bW91c2VldihldmVudCkiPgorPC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9k
eT4KSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxNDk2OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjYgQEAKKzIwMDYtMDYtMjIgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3Ig
aHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04NzA3OgorICAg
ICAgICBldmVudC5jbGllbnRYIGFuZCBldmVudC5jbGllbnRZIHNob3VsZCBiZSByZWxhdGl2ZSB0
byB0aGUgdmlld3BvcnQsIG5vdCB0aGUgY2FudmFzCisKKyAgICAgICAgTWFrZSBzdXJlIGNsaWVu
dFggYW5kIGNsaWVudFkgdGFrZSBpbnRvIGFjY291bnQgdGhlIHNjcm9sbCBvZmZzZXRzCisgICAg
ICAgIG9mIHRoZSB2aWV3LgorCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNoTW91c2VFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNoV2hlZWxFdmVudCk6Cisg
ICAgICAgICogZG9tL01vdXNlRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VFdmVu
dDo6TW91c2VFdmVudCk6CisgICAgICAgICogZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBk
b20vTW91c2VSZWxhdGVkRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VSZWxhdGVk
RXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VSZWxhdGVkRXZl
bnQuaDoKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
aGVlbEV2ZW50OjpXaGVlbEV2ZW50KToKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5oOgorCiAy
MDA2LTA2LTIxICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBCYWNr
IG91dCAtd2Via2l0LW92ZXJsYXkgYW5kIGp1c3QgcmVuYW1lIGl0IGJhY2sgdG8gb3ZlcmxheS4K
SW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXROb2RlLmNwcAkocmV2aXNpb24gMTQ5NjkpCisrKyBXZWJDb3Jl
L2RvbS9FdmVudFRhcmdldE5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDcsOSArNDA3LDE2
IEBAIGJvb2wgRXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaE1vdXNlRXZlbnQKICAgICAKICAgICAv
LyBBdHRlbXB0aW5nIHRvIGRpc3BhdGNoIHdpdGggYSBub24tRXZlbnRUYXJnZXQgcmVsYXRlZFRh
cmdldCBjYXVzZXMgdGhlIHJlbGF0ZWRUYXJnZXQgdG8gYmUgc2lsZW50bHkgaWdub3JlZC4KICAg
ICBFdmVudFRhcmdldE5vZGUgKnJlbGF0ZWRUYXJnZXQgPSAocmVsYXRlZFRhcmdldEFyZyAmJiBy
ZWxhdGVkVGFyZ2V0QXJnLT5pc0V2ZW50VGFyZ2V0Tm9kZSgpKSA/IHN0YXRpY19jYXN0PEV2ZW50
VGFyZ2V0Tm9kZSo+KHJlbGF0ZWRUYXJnZXRBcmcpIDogMDsKLSAgICAKKworICAgIGludCBvZmZz
ZXRYID0gMDsgCisgICAgaW50IG9mZnNldFkgPSAwOyAKKyAgICBpZiAoRnJhbWVWaWV3ICp2aWV3
ID0gZG9jdW1lbnQoKS0+dmlldygpKSB7CisgICAgICAgIG9mZnNldFggPSB2aWV3LT5jb250ZW50
c1goKTsKKyAgICAgICAgb2Zmc2V0WSA9IHZpZXctPmNvbnRlbnRzWSgpOworICAgIH0KICAgICBS
ZWZQdHI8RXZlbnQ+IG1lID0gbmV3IE1vdXNlRXZlbnQoZXZlbnRUeXBlLCB0cnVlLCBjYW5jZWxh
YmxlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwgc2NyZWVuWCwgc2NyZWVuWSwgY2xpZW50WCwg
Y2xpZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
ZmZzZXRYLCBvZmZzZXRZLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXksIGJ1dHRvbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0LCAw
LCBpc1NpbXVsYXRlZCk7CiAgICAgCkBAIC00MjUsNiArNDMyLDcgQEAgYm9vbCBFdmVudFRhcmdl
dE5vZGU6OmRpc3BhdGNoTW91c2VFdmVudAogICAgIGlmIChldmVudFR5cGUgPT0gY2xpY2tFdmVu
dCAmJiBkZXRhaWwgPT0gMikgewogICAgICAgICBtZSA9IG5ldyBNb3VzZUV2ZW50KGRibGNsaWNr
RXZlbnQsIHRydWUsIGNhbmNlbGFibGUsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwgc2NyZWVuWCwgc2NyZWVuWSwgY2xp
ZW50WCwgY2xpZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WCwg
b2Zmc2V0WSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3RybEtleSwgYWx0S2V5
LCBzaGlmdEtleSwgbWV0YUtleSwgYnV0dG9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZWxhdGVkVGFyZ2V0LCAwLCBpc1NpbXVsYXRlZCk7CiAgICAgICAgIGlmIChkZWZhdWx0
SGFuZGxlZCkKQEAgLTQ1MiwxMCArNDYwLDE2IEBAIHZvaWQgRXZlbnRUYXJnZXROb2RlOjpkaXNw
YXRjaFdoZWVsRXZlbnQKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIEludFBvaW50IHBvcyA9
IHZpZXctPnZpZXdwb3J0VG9Db250ZW50cyhlLnBvcygpKTsKKyAgICBpbnQgb2Zmc2V0WCA9IDA7
IAorICAgIGludCBvZmZzZXRZID0gMDsgCisgICAgaWYgKEZyYW1lVmlldyAqdmlldyA9IGRvY3Vt
ZW50KCktPnZpZXcoKSkgeworICAgICAgICBvZmZzZXRYID0gdmlldy0+Y29udGVudHNYKCk7Cisg
ICAgICAgIG9mZnNldFkgPSB2aWV3LT5jb250ZW50c1koKTsKKyAgICB9CiAgICAgCiAgICAgUmVm
UHRyPFdoZWVsRXZlbnQ+IHdlID0gbmV3IFdoZWVsRXZlbnQoZS5pc0hvcml6b250YWwoKSwgZS5k
ZWx0YSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgZS5nbG9iYWxYKCksIGUuZ2xvYmFsWSgpLCBw
b3MueCgpLCBwb3MueSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZS5jdHJsS2V5KCksIGUuYWx0S2V5KCksIGUuc2hpZnRLZXkoKSwgZS5tZXRh
S2V5KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb2Zmc2V0WCwgb2Zmc2V0WSwgZS5jdHJsS2V5KCksIGUuYWx0S2V5KCksIGUuc2hpZnRLZXko
KSwgZS5tZXRhS2V5KCkpOwogICAgIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGlm
ICghZGlzcGF0Y2hFdmVudCh3ZSwgZWMsIHRydWUpKQpJbmRleDogV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHJldmlz
aW9uIDE0OTY5KQorKysgV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM3LDEwICszNywxMSBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KCkKIAogTW91c2VFdmVu
dDo6TW91c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2aWV3LAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRY
LCBpbnQgY2xpZW50WSwKLSAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29s
IGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCB1bnNpZ25lZCBzaG9ydCBidXR0
b24sCisgICAgICAgICAgICAgICAgICAgICAgIGludCBvZmZzZXRYLCBpbnQgb2Zmc2V0WSwgYm9v
bCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzaGlm
dEtleSwgYm9vbCBtZXRhS2V5LCB1bnNpZ25lZCBzaG9ydCBidXR0b24sCiAgICAgICAgICAgICAg
ICAgICAgICAgIEV2ZW50VGFyZ2V0Tm9kZSogcmVsYXRlZFRhcmdldCwgQ2xpcGJvYXJkKiBjbGlw
Ym9hcmQsIGJvb2wgaXNTaW11bGF0ZWQpCiAgICAgOiBNb3VzZVJlbGF0ZWRFdmVudChldmVudFR5
cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsLCBzY3JlZW5YLCBzY3JlZW5Z
LAotICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50WCwgY2xpZW50WSwgY3RybEtleSwgYWx0
S2V5LCBzaGlmdEtleSwgbWV0YUtleSwgaXNTaW11bGF0ZWQpCisgICAgICAgICAgICAgICAgICAg
ICAgICBjbGllbnRYLCBjbGllbnRZLCBvZmZzZXRYLCBvZmZzZXRZLCBjdHJsS2V5LCBhbHRLZXks
IHNoaWZ0S2V5LCBtZXRhS2V5LCBpc1NpbXVsYXRlZCkKICAgICAsIG1fYnV0dG9uKGJ1dHRvbikK
ICAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQogICAgICwgbV9jbGlwYm9hcmQo
Y2xpcGJvYXJkKQpJbmRleDogV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAkocmV2aXNpb24gMTQ5NjkpCisrKyBXZWJDb3JlL2Rv
bS9Nb3VzZUV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBNb3VzZUV2ZW50KCk7CiAgICAgICAgIE1vdXNlRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBB
YnN0cmFjdFZpZXcqIHZpZXcsCiAgICAgICAgICAgICAgICAgICAgaW50IGRldGFpbCwgaW50IHNj
cmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksCi0gICAgICAgICAg
ICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBt
ZXRhS2V5LCB1bnNpZ25lZCBzaG9ydCBidXR0b24sCisgICAgICAgICAgICAgICAgICAgaW50IG9m
ZnNldFgsIGludCBvZmZzZXRZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAg
ICAgICAgICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgdW5zaWduZWQgc2hvcnQgYnV0
dG9uLAogICAgICAgICAgICAgICAgICAgIEV2ZW50VGFyZ2V0Tm9kZSogcmVsYXRlZFRhcmdldCwg
Q2xpcGJvYXJkKiBjbGlwYm9hcmQgPSAwLCBib29sIGlzU2ltdWxhdGVkID0gZmFsc2UpOwogICAg
ICAgICB2aXJ0dWFsIH5Nb3VzZUV2ZW50KCk7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL01vdXNlUmVs
YXRlZEV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVu
dC5jcHAJKHJldmlzaW9uIDE0OTY5KQorKysgV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw4IEBAIE1vdXNlUmVsYXRlZEV2ZW50OjpN
b3VzZVJlbGF0ZWRFdmVudCgpCiAKIE1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2Fu
Y2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkZXRhaWwsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IGNsaWVu
dFgsIGludCBjbGllbnRZLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv
b2wgY3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgYm9v
bCBpc1NpbXVsYXRlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
b2Zmc2V0WCwgaW50IG9mZnNldFksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5
LCBib29sIGlzU2ltdWxhdGVkKQogICAgIDogVUlFdmVudFdpdGhLZXlTdGF0ZShldmVudFR5cGUs
IGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsLCBjdHJsS2V5LCBhbHRLZXksIHNo
aWZ0S2V5LCBtZXRhS2V5KQogICAgICwgbV9zY3JlZW5YKHNjcmVlblgpCiAgICAgLCBtX3NjcmVl
blkoc2NyZWVuWSkKQEAgLTU5LDYgKzYwLDggQEAgTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVs
YXRlZEV2ZW50KGNvbgogICAgICwgbV9pc1NpbXVsYXRlZChpc1NpbXVsYXRlZCkKIHsKICAgICBp
bml0Q29vcmRpbmF0ZXMoKTsKKyAgICBtX2NsaWVudFggLT0gb2Zmc2V0WDsKKyAgICBtX2NsaWVu
dFkgLT0gb2Zmc2V0WTsKIH0KIAogdm9pZCBNb3VzZVJlbGF0ZWRFdmVudDo6aW5pdENvb3JkaW5h
dGVzKCkKSW5kZXg6IFdlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaAkocmV2aXNpb24gMTQ5NjkpCisrKyBX
ZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0
MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgTW91c2VSZWxhdGVkRXZlbnQoKTsK
ICAgICAgICAgTW91c2VSZWxhdGVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29s
IGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBBYnN0cmFjdFZpZXcqIHZpZXcsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkZXRhaWwsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwg
aW50IGNsaWVudFgsIGludCBjbGllbnRZLAotICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
IGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGJvb2wg
aXNTaW11bGF0ZWQgPSBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvZmZz
ZXRYLCBpbnQgb2Zmc2V0WSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBib29sIGlzU2ltdWxh
dGVkID0gZmFsc2UpOwogCiAgICAgICAgIGludCBzY3JlZW5YKCkgY29uc3QgeyByZXR1cm4gbV9z
Y3JlZW5YOyB9CiAgICAgICAgIGludCBzY3JlZW5ZKCkgY29uc3QgeyByZXR1cm4gbV9zY3JlZW5Z
OyB9CkluZGV4OiBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2RvbS9XaGVlbEV2ZW50LmNwcAkocmV2aXNpb24gMTQ5NjkpCisrKyBXZWJDb3JlL2RvbS9X
aGVlbEV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTAgKzM5LDExIEBAIFdoZWVsRXZl
bnQ6OldoZWVsRXZlbnQoKQogCiBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KGJvb2wgaG9yaXpvbnRh
bCwgaW50IHdoZWVsRGVsdGEsIEFic3RyYWN0VmlldyogdmlldywKICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFks
Ci0gICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wg
c2hpZnRLZXksIGJvb2wgbWV0YUtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IG9mZnNl
dFgsIGludCBvZmZzZXRZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAgICAg
ICAgICAgICAgICBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXkpCiAgICAgOiBNb3VzZVJlbGF0
ZWRFdmVudChob3Jpem9udGFsID8ga2h0bWxIb3Jpem9udGFsbW91c2V3aGVlbEV2ZW50IDogbW91
c2V3aGVlbEV2ZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgdHJ1ZSwgdmlldywg
MCwgc2NyZWVuWCwgc2NyZWVuWSwgY2xpZW50WCwgY2xpZW50WSwgCi0gICAgICAgICAgICAgICAg
ICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRhS2V5KQorICAgICAgICAgICAg
ICAgICAgICAgICAgb2Zmc2V0WCwgb2Zmc2V0WSwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwg
bWV0YUtleSkKICAgICAsIG1faG9yaXpvbnRhbChob3Jpem9udGFsKQogICAgICwgbV93aGVlbERl
bHRhKHdoZWVsRGVsdGEpCiB7CkluZGV4OiBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9kb20vV2hlZWxFdmVudC5oCShyZXZpc2lvbiAxNDk2OSkKKysrIFdl
YkNvcmUvZG9tL1doZWVsRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdoZWVsRXZlbnQoKTsKICAgICAgICAgV2hlZWxF
dmVudChib29sIGhvcml6b250YWwsIGludCB3aGVlbERlbHRhLCBBYnN0cmFjdFZpZXcqLAogICAg
ICAgICAgICAgICAgICAgIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IGNsaWVudFgsIGlu
dCBjbGllbnRZLAotICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXks
IGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSk7CisgICAgICAgICAgICAgICAgICAgaW50IG9m
ZnNldFgsIGludCBvZmZzZXRZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAg
ICAgICAgICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSk7CiAgICAgICAgIAogICAgICAg
ICBib29sIGlzSG9yaXpvbnRhbCgpIGNvbnN0IHsgcmV0dXJuIG1faG9yaXpvbnRhbDsgfQogICAg
ICAgICBpbnQgd2hlZWxEZWx0YSgpIGNvbnN0IHsgcmV0dXJuIG1fd2hlZWxEZWx0YTsgfQo=
</data>
<flag name="review"
          id="2639"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8970</attachid>
            <date>2006-06-22 14:15:49 -0700</date>
            <delta_ts>2006-06-24 14:49:17 -0700</delta_ts>
            <desc>Improved patch+testcase</desc>
            <filename>8707-2.diff</filename>
            <type>text/plain</type>
            <size>13875</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0OTc4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDYtMjIgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3QgY2FzZXMgZm9yCisgICAgICAgIDxodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcv
c2hvd19idWcuY2dpP2lkPTg3MDc+CisKKyAgICAgICAgKiBmYXN0L2RvbS93aW5kb3cteHktcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3dpbmRvdy14
eS1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorCiAyMDA2LTA2LTIyICBBbmRlcnMgQ2FybHNzb24g
IDxhY2FybHNzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy14eS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3cteHktcHJvcGVydGll
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5k
b3cteHktcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAg
QEAKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwp
IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rp
b25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5v
dGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5n
ZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2Vs
ZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
OldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorUEFTUyBldmVudC5jbGll
bnRYIGlzIDUwCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgNTAKK1BBU1MgZXZlbnQucGFnZVggaXMg
NTAKK1BBU1MgZXZlbnQucGFnZVkgaXMgNTAKK1BBU1MgZXZlbnQubGF5ZXJYIGlzIDUwCitQQVNT
IGV2ZW50LmxheWVyWSBpcyA1MAorUEFTUyBldmVudC5vZmZzZXRYIGlzIDQyCitQQVNTIGV2ZW50
Lm9mZnNldFkgaXMgNDIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyA1MAorUEFTUyBldmVudC5jbGll
bnRZIGlzIDUwCitQQVNTIGV2ZW50LnBhZ2VYIGlzIDUwCitQQVNTIGV2ZW50LnBhZ2VZIGlzIDU1
MAorUEFTUyBldmVudC5sYXllclggaXMgNTAKK1BBU1MgZXZlbnQubGF5ZXJZIGlzIDU1MAorUEFT
UyBldmVudC5vZmZzZXRYIGlzIDQyCitQQVNTIGV2ZW50Lm9mZnNldFkgaXMgNTQyCitQQVNTIGV2
ZW50LmNsaWVudFggaXMgNTAKK1BBU1MgZXZlbnQuY2xpZW50WSBpcyA1MAorUEFTUyBldmVudC5w
YWdlWCBpcyA1NTAKK1BBU1MgZXZlbnQucGFnZVkgaXMgNTAKK1BBU1MgZXZlbnQubGF5ZXJYIGlz
IDU1MAorUEFTUyBldmVudC5sYXllclkgaXMgNTAKK1BBU1MgZXZlbnQub2Zmc2V0WCBpcyA1NDIK
K1BBU1MgZXZlbnQub2Zmc2V0WSBpcyA0MgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS93
aW5kb3cteHktcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL3dpbmRvdy14eS1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS93aW5kb3cteHktcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDYyIEBACis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBucm1vdXNlY2xpY2tzID0gMDsgLy8gc21h
bGwgaGFjayB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGNsaWNrcworZnVuY3Rpb24gbW91c2Vldihl
dmVudCkgeworICAgIGlmIChucm1vdXNlY2xpY2tzID09IDApIHsKKyAgICAgICAgc2hvdWxkQmUo
ImV2ZW50LmNsaWVudFgiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmNsaWVudFki
LCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VYIiwgIjUwIik7CisgICAgICAg
IHNob3VsZEJlKCJldmVudC5wYWdlWSIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQu
bGF5ZXJYIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5sYXllclkiLCAiNTAiKTsK
KyAgICAgICAgc2hvdWxkQmUoImV2ZW50Lm9mZnNldFgiLCAiNDIiKTsKKyAgICAgICAgc2hvdWxk
QmUoImV2ZW50Lm9mZnNldFkiLCAiNDIiKTsKKyAgICAgICAgbnJtb3VzZWNsaWNrcysrOworICAg
IH0gZWxzZSBpZiAobnJtb3VzZWNsaWNrcyA9PSAxKSB7CisgICAgICAgIHNob3VsZEJlKCJldmVu
dC5jbGllbnRYIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5jbGllbnRZIiwgIjUw
Iik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5wYWdlWCIsICI1MCIpOworICAgICAgICBzaG91
bGRCZSgiZXZlbnQucGFnZVkiLCAiNTUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5sYXll
clgiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmxheWVyWSIsICI1NTAiKTsKKyAg
ICAgICAgc2hvdWxkQmUoImV2ZW50Lm9mZnNldFgiLCAiNDIiKTsKKyAgICAgICAgc2hvdWxkQmUo
ImV2ZW50Lm9mZnNldFkiLCAiNTQyIik7CisgICAgICAgIG5ybW91c2VjbGlja3MrKzsKKyAgICB9
IGVsc2UgeworICAgICAgICBzaG91bGRCZSgiZXZlbnQuY2xpZW50WCIsICI1MCIpOworICAgICAg
ICBzaG91bGRCZSgiZXZlbnQuY2xpZW50WSIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZl
bnQucGFnZVgiLCAiNTUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5wYWdlWSIsICI1MCIp
OworICAgICAgICBzaG91bGRCZSgiZXZlbnQubGF5ZXJYIiwgIjU1MCIpOworICAgICAgICBzaG91
bGRCZSgiZXZlbnQubGF5ZXJZIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5vZmZz
ZXRYIiwgIjU0MiIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQub2Zmc2V0WSIsICI0MiIpOwor
ICAgIH0KK30KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgIC8vIHRlc3QgYSBub3JtYWwgbW91c2UgdG8KKyAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oNTAsIDUwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKworICAgICAgICAvLyBub3cgc2Nyb2xsIGEgYml0
IGRvd24gYW5kIHZlcmlmeSB0aGF0IGNsaWVudFkgZG9lcyBub3QgY2huYWdlCisgICAgICAgIHdp
bmRvdy5zY3JvbGxUbygwLCA1MDApOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsK
KyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgICAgIC8vIG5vdyBzY3JvbGwg
YSBiaXQgdG8gdGhlIHJpZ2h0IGFuZCB2ZXJpZnkgdGhhdCBjbGllbnRYIGRvZXMgbm90IGNobmFn
ZQorICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oNTAwLCAwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB9Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxkaXYgc3R5bGU9ImJh
Y2tncm91bmQ6IHJlZDsgd2lkdGg6MjAwMHB4OyBoZWlnaHQ6IDIwMDBweCIgb25tb3VzZWRvd249
Im1vdXNlZXYoZXZlbnQpIj4KKzwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTQ5NzgpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDI2IEBACisyMDA2LTA2LTIyICBSb2IgQnVpcyAgPGJ1aXNAa2RlLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9y
IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcwNzoKKyAg
ICAgICAgZXZlbnQuY2xpZW50WCBhbmQgZXZlbnQuY2xpZW50WSBzaG91bGQgYmUgcmVsYXRpdmUg
dG8gdGhlIHZpZXdwb3J0LCBub3QgdGhlIGNhbnZhcworCisgICAgICAgIE1ha2Ugc3VyZSBjbGll
bnRYIGFuZCBjbGllbnRZIHRha2UgaW50byBhY2NvdW50IHRoZSBzY3JvbGwgb2Zmc2V0cworICAg
ICAgICBvZiB0aGUgdmlldy4KKworICAgICAgICAqIGRvbS9FdmVudFRhcmdldE5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaE1vdXNlRXZlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaFdoZWVsRXZlbnQpOgor
ICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZl
bnQ6Ok1vdXNlRXZlbnQpOgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50Lmg6CisgICAgICAgICog
ZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vdXNlUmVsYXRl
ZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNb3VzZVJlbGF0
ZWRFdmVudDo6aW5pdENvb3JkaW5hdGVzKToKKyAgICAgICAgKiBkb20vTW91c2VSZWxhdGVkRXZl
bnQuaDoKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
aGVlbEV2ZW50OjpXaGVlbEV2ZW50KToKKwogPT09IFdlYkNvcmUtNTIxLjEzID09PQogICAgICAg
ICAKIDIwMDYtMDYtMjIgIEFuZGVycyBDYXJsc3NvbiAgPGFjYXJsc3NvbkBhcHBsZS5jb20+Cklu
ZGV4OiBXZWJDb3JlL2RvbS9FdmVudFRhcmdldE5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHAJKHJldmlzaW9uIDE0OTc4KQorKysgV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXROb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA3LDkgKzQwNywxNyBA
QCBib29sIEV2ZW50VGFyZ2V0Tm9kZTo6ZGlzcGF0Y2hNb3VzZUV2ZW50CiAgICAgCiAgICAgLy8g
QXR0ZW1wdGluZyB0byBkaXNwYXRjaCB3aXRoIGEgbm9uLUV2ZW50VGFyZ2V0IHJlbGF0ZWRUYXJn
ZXQgY2F1c2VzIHRoZSByZWxhdGVkVGFyZ2V0IHRvIGJlIHNpbGVudGx5IGlnbm9yZWQuCiAgICAg
RXZlbnRUYXJnZXROb2RlICpyZWxhdGVkVGFyZ2V0ID0gKHJlbGF0ZWRUYXJnZXRBcmcgJiYgcmVs
YXRlZFRhcmdldEFyZy0+aXNFdmVudFRhcmdldE5vZGUoKSkgPyBzdGF0aWNfY2FzdDxFdmVudFRh
cmdldE5vZGUqPihyZWxhdGVkVGFyZ2V0QXJnKSA6IDA7Ci0gICAgCisKKyAgICBpbnQgb2Zmc2V0
WCA9IDA7IAorICAgIGludCBvZmZzZXRZID0gMDsgCisgICAgaWYgKEZyYW1lVmlldyAqdmlldyA9
IGRvY3VtZW50KCktPnZpZXcoKSkgeworICAgICAgICBvZmZzZXRYID0gdmlldy0+Y29udGVudHNY
KCk7CisgICAgICAgIG9mZnNldFkgPSB2aWV3LT5jb250ZW50c1koKTsKKyAgICB9CiAgICAgUmVm
UHRyPEV2ZW50PiBtZSA9IG5ldyBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgdHJ1ZSwgY2FuY2VsYWJs
ZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksIGNsaWVudFgsIGNs
aWVudFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0
YWlsLCBzY3JlZW5YLCBzY3JlZW5ZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNsaWVudFggLSBvZmZzZXRYLCBjbGllbnRZIC0gb2Zmc2V0WSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRYLCBjbGllbnRZ
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0cmxLZXks
IGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXksIGJ1dHRvbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0LCAwLCBpc1NpbXVsYXRlZCk7
CiAgICAgCkBAIC00MjQsNyArNDMyLDkgQEAgYm9vbCBFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNo
TW91c2VFdmVudAogICAgIC8vIGFzIGEgc2VwYXJhdGUgZXZlbnQgaW4gb3RoZXIgRE9NLWNvbXBs
aWFudCBicm93c2VycyBsaWtlIEZpcmVmb3gsIGFuZCBzbyB3ZSBkbyB0aGUgc2FtZS4KICAgICBp
ZiAoZXZlbnRUeXBlID09IGNsaWNrRXZlbnQgJiYgZGV0YWlsID09IDIpIHsKICAgICAgICAgbWUg
PSBuZXcgTW91c2VFdmVudChkYmxjbGlja0V2ZW50LCB0cnVlLCBjYW5jZWxhYmxlLCBkb2N1bWVu
dCgpLT5kZWZhdWx0VmlldygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRh
aWwsIHNjcmVlblgsIHNjcmVlblksIGNsaWVudFgsIGNsaWVudFksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRldGFpbCwgc2NyZWVuWCwgc2NyZWVuWSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xpZW50WCAtIG9mZnNldFgsIGNsaWVudFkgLSBvZmZzZXRZLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRYLCBjbGllbnRZLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRh
S2V5LCBidXR0b24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJn
ZXQsIDAsIGlzU2ltdWxhdGVkKTsKICAgICAgICAgaWYgKGRlZmF1bHRIYW5kbGVkKQpAQCAtNDU0
LDggKzQ2NCw4IEBAIHZvaWQgRXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaFdoZWVsRXZlbnQKICAg
ICBJbnRQb2ludCBwb3MgPSB2aWV3LT52aWV3cG9ydFRvQ29udGVudHMoZS5wb3MoKSk7CiAgICAg
CiAgICAgUmVmUHRyPFdoZWVsRXZlbnQ+IHdlID0gbmV3IFdoZWVsRXZlbnQoZS5pc0hvcml6b250
YWwoKSwgZS5kZWx0YSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgZS5nbG9iYWxYKCksIGUuZ2xv
YmFsWSgpLCBwb3MueCgpLCBwb3MueSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZS5jdHJsS2V5KCksIGUuYWx0S2V5KCksIGUuc2hpZnRLZXko
KSwgZS5tZXRhS2V5KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgZS5nbG9iYWxYKCksIGUuZ2xv
YmFsWSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcG9zLngoKSwgcG9zLnkoKSwgZS5jdHJsS2V5KCksIGUuYWx0S2V5KCksIGUuc2hpZnRLZXko
KSwgZS5tZXRhS2V5KCkpOwogICAgIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGlm
ICghZGlzcGF0Y2hFdmVudCh3ZSwgZWMsIHRydWUpKQpJbmRleDogV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHJldmlz
aW9uIDE0OTc4KQorKysgV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM3LDEwICszNywxMSBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KCkKIAogTW91c2VFdmVu
dDo6TW91c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2aWV3LAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRY
LCBpbnQgY2xpZW50WSwKLSAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29s
IGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCB1bnNpZ25lZCBzaG9ydCBidXR0
b24sCisgICAgICAgICAgICAgICAgICAgICAgIGludCBwYWdlWCwgaW50IHBhZ2VZLCBib29sIGN0
cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAgICAgICAgICAgICAgICBib29sIHNoaWZ0S2V5
LCBib29sIG1ldGFLZXksIHVuc2lnbmVkIHNob3J0IGJ1dHRvbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgRXZlbnRUYXJnZXROb2RlKiByZWxhdGVkVGFyZ2V0LCBDbGlwYm9hcmQqIGNsaXBib2Fy
ZCwgYm9vbCBpc1NpbXVsYXRlZCkKICAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50VHlwZSwg
Y2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksCi0g
ICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRYLCBjbGllbnRZLCBjdHJsS2V5LCBhbHRLZXks
IHNoaWZ0S2V5LCBtZXRhS2V5LCBpc1NpbXVsYXRlZCkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNsaWVudFgsIGNsaWVudFksIHBhZ2VYLCBwYWdlWSwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtl
eSwgbWV0YUtleSwgaXNTaW11bGF0ZWQpCiAgICAgLCBtX2J1dHRvbihidXR0b24pCiAgICAgLCBt
X3JlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKICAgICAsIG1fY2xpcGJvYXJkKGNsaXBib2Fy
ZCkKSW5kZXg6IFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2RvbS9Nb3VzZUV2ZW50LmgJKHJldmlzaW9uIDE0OTc4KQorKysgV2ViQ29yZS9kb20vTW91c2VF
dmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgTW91c2VFdmVudCgpOwogICAgICAgICBNb3VzZUV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RW
aWV3KiB2aWV3LAogICAgICAgICAgICAgICAgICAgIGludCBkZXRhaWwsIGludCBzY3JlZW5YLCBp
bnQgc2NyZWVuWSwgaW50IGNsaWVudFgsIGludCBjbGllbnRZLAotICAgICAgICAgICAgICAgICAg
IGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwg
dW5zaWduZWQgc2hvcnQgYnV0dG9uLAorICAgICAgICAgICAgICAgICAgIGludCBwYWdlWCwgaW50
IHBhZ2VZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAgICAgICAgICAgIGJv
b2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgdW5zaWduZWQgc2hvcnQgYnV0dG9uLAogICAgICAg
ICAgICAgICAgICAgIEV2ZW50VGFyZ2V0Tm9kZSogcmVsYXRlZFRhcmdldCwgQ2xpcGJvYXJkKiBj
bGlwYm9hcmQgPSAwLCBib29sIGlzU2ltdWxhdGVkID0gZmFsc2UpOwogICAgICAgICB2aXJ0dWFs
IH5Nb3VzZUV2ZW50KCk7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAJKHJldmlz
aW9uIDE0OTc4KQorKysgV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MCwxMiArNTAsMTUgQEAgTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRl
ZEV2ZW50KCkKIAogTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBB
YnN0cmFjdFZpZXcqIHZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRldGFpbCwgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNs
aWVudFksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5
LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBib29sIGlzU2ltdWxh
dGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwYWdlWCwgaW50
IHBhZ2VZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgYm9vbCBpc1NpbXVs
YXRlZCkKICAgICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGNh
bmNlbGFibGUsIHZpZXcsIGRldGFpbCwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0YUtl
eSkKICAgICAsIG1fc2NyZWVuWChzY3JlZW5YKQogICAgICwgbV9zY3JlZW5ZKHNjcmVlblkpCiAg
ICAgLCBtX2NsaWVudFgoY2xpZW50WCkKICAgICAsIG1fY2xpZW50WShjbGllbnRZKQorICAgICwg
bV9wYWdlWChwYWdlWCkKKyAgICAsIG1fcGFnZVkocGFnZVkpCiAgICAgLCBtX2lzU2ltdWxhdGVk
KGlzU2ltdWxhdGVkKQogewogICAgIGluaXRDb29yZGluYXRlcygpOwpAQCAtNjYsOCArNjksNiBA
QCB2b2lkIE1vdXNlUmVsYXRlZEV2ZW50Ojppbml0Q29vcmRpbmF0ZXMoCiAgICAgLy8gU2V0IHVw
IGluaXRpYWwgdmFsdWVzIGZvciBjb29yZGluYXRlcy4KICAgICAvLyBDb3JyZWN0IHZhbHVlcyBj
YW4ndCBiZSBjb21wdXRlZCB1bnRpbCB3ZSBoYXZlIGF0IHRhcmdldCwgc28gcmVjZWl2ZWRUYXJn
ZXQKICAgICAvLyBkb2VzIHRoZSAicmVhbCIgY29tcHV0YXRpb24uCi0gICAgbV9wYWdlWCA9IG1f
Y2xpZW50WDsKLSAgICBtX3BhZ2VZID0gbV9jbGllbnRZOwogICAgIG1fbGF5ZXJYID0gbV9wYWdl
WDsKICAgICBtX2xheWVyWSA9IG1fcGFnZVk7CiAgICAgbV9vZmZzZXRYID0gbV9wYWdlWDsKSW5k
ZXg6IFdlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuaAkocmV2aXNpb24gMTQ5NzgpCisrKyBXZWJDb3JlL2Rv
bS9Nb3VzZVJlbGF0ZWRFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgTW91c2VSZWxhdGVkRXZlbnQoKTsKICAgICAgICAg
TW91c2VSZWxhdGVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJs
ZSwgYm9vbCBjYW5jZWxhYmxlLCBBYnN0cmFjdFZpZXcqIHZpZXcsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkZXRhaWwsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IGNsaWVu
dFgsIGludCBjbGllbnRZLAotICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXks
IGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGJvb2wgaXNTaW11bGF0
ZWQgPSBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwYWdlWCwgaW50IHBh
Z2VZLCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGJvb2wgaXNTaW11bGF0ZWQgPSBmYWxzZSk7
CiAKICAgICAgICAgaW50IHNjcmVlblgoKSBjb25zdCB7IHJldHVybiBtX3NjcmVlblg7IH0KICAg
ICAgICAgaW50IHNjcmVlblkoKSBjb25zdCB7IHJldHVybiBtX3NjcmVlblk7IH0KSW5kZXg6IFdl
YkNvcmUvZG9tL1doZWVsRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1doZWVs
RXZlbnQuY3BwCShyZXZpc2lvbiAxNDk3OCkKKysrIFdlYkNvcmUvZG9tL1doZWVsRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJXaGVlbEV2ZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKIAogI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKIApAQCAtNDIsNiArNDMsOCBAQCBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50
KGJvb2wgaG9yaXpvbnRhbCwgCiAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwg
Ym9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSkKICAgICA6IE1vdXNlUmVs
YXRlZEV2ZW50KGhvcml6b250YWwgPyBraHRtbEhvcml6b250YWxtb3VzZXdoZWVsRXZlbnQgOiBt
b3VzZXdoZWVsRXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB0cnVlLCB2aWV3
LCAwLCBzY3JlZW5YLCBzY3JlZW5ZLCBjbGllbnRYLCBjbGllbnRZLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNsaWVudFggLSB2aWV3LT5mcmFtZSgpLT52aWV3KCktPmNvbnRlbnRzWCgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50WSAtIHZpZXctPmZyYW1lKCktPnZpZXcoKS0+
Y29udGVudHNZKCksCiAgICAgICAgICAgICAgICAgICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNo
aWZ0S2V5LCBtZXRhS2V5KQogICAgICwgbV9ob3Jpem9udGFsKGhvcml6b250YWwpCiAgICAgLCBt
X3doZWVsRGVsdGEod2hlZWxEZWx0YSkK
</data>
<flag name="review"
          id="2644"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9010</attachid>
            <date>2006-06-24 14:49:17 -0700</date>
            <delta_ts>2006-06-25 08:26:11 -0700</delta_ts>
            <desc>Improved patch+testcase</desc>
            <filename>8707-4.diff</filename>
            <type>text/plain</type>
            <size>13409</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1MDIwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDYtMjQgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3QgY2FzZXMgZm9yCisgICAgICAgIDxodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcv
c2hvd19idWcuY2dpP2lkPTg3MDc+CisKKyAgICAgICAgKiBmYXN0L2RvbS93aW5kb3cteHktcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3dpbmRvdy14
eS1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorCiAyMDA2LTA2LTI0ICBNaXR6IFBldHRlbCAgPG9w
ZW5kYXJ3aW4ub3JnQG1pdHpwZXR0ZWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
LCBsYW5kZWQgYnkgYXAuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3cteHktcHJv
cGVydGllcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20v
d2luZG93LXh5LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vd2luZG93LXh5LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDMwIEBACitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxl
Y3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZB
TFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENo
YW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5n
ZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZy
b20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
YWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFM
U0UKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyA1MAorUEFTUyBldmVudC5jbGllbnRZIGlzIDUwCitQ
QVNTIGV2ZW50LnBhZ2VYIGlzIDUwCitQQVNTIGV2ZW50LnBhZ2VZIGlzIDUwCitQQVNTIGV2ZW50
LmxheWVyWCBpcyA1MAorUEFTUyBldmVudC5sYXllclkgaXMgNTAKK1BBU1MgZXZlbnQub2Zmc2V0
WCBpcyA0MgorUEFTUyBldmVudC5vZmZzZXRZIGlzIDQyCitQQVNTIGV2ZW50LmNsaWVudFggaXMg
NTAKK1BBU1MgZXZlbnQuY2xpZW50WSBpcyA1MAorUEFTUyBldmVudC5wYWdlWCBpcyA1MAorUEFT
UyBldmVudC5wYWdlWSBpcyA1NTAKK1BBU1MgZXZlbnQubGF5ZXJYIGlzIDUwCitQQVNTIGV2ZW50
LmxheWVyWSBpcyA1NTAKK1BBU1MgZXZlbnQub2Zmc2V0WCBpcyA0MgorUEFTUyBldmVudC5vZmZz
ZXRZIGlzIDU0MgorUEFTUyBldmVudC5jbGllbnRYIGlzIDUwCitQQVNTIGV2ZW50LmNsaWVudFkg
aXMgNTAKK1BBU1MgZXZlbnQucGFnZVggaXMgNTUwCitQQVNTIGV2ZW50LnBhZ2VZIGlzIDUwCitQ
QVNTIGV2ZW50LmxheWVyWCBpcyA1NTAKK1BBU1MgZXZlbnQubGF5ZXJZIGlzIDUwCitQQVNTIGV2
ZW50Lm9mZnNldFggaXMgNTQyCitQQVNTIGV2ZW50Lm9mZnNldFkgaXMgNDIKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LXh5LXByb3BlcnRpZXMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3cteHktcHJvcGVydGllcy5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LXh5LXByb3BlcnRpZXMuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MiBAQAorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgbnJtb3Vz
ZWNsaWNrcyA9IDA7IC8vIHNtYWxsIGhhY2sgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBjbGlja3MK
K2Z1bmN0aW9uIG1vdXNlZXYoZXZlbnQpIHsKKyAgICBpZiAobnJtb3VzZWNsaWNrcyA9PSAwKSB7
CisgICAgICAgIHNob3VsZEJlKCJldmVudC5jbGllbnRYIiwgIjUwIik7CisgICAgICAgIHNob3Vs
ZEJlKCJldmVudC5jbGllbnRZIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5wYWdl
WCIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQucGFnZVkiLCAiNTAiKTsKKyAgICAg
ICAgc2hvdWxkQmUoImV2ZW50LmxheWVyWCIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZl
bnQubGF5ZXJZIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5vZmZzZXRYIiwgIjQy
Iik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5vZmZzZXRZIiwgIjQyIik7CisgICAgICAgIG5y
bW91c2VjbGlja3MrKzsKKyAgICB9IGVsc2UgaWYgKG5ybW91c2VjbGlja3MgPT0gMSkgeworICAg
ICAgICBzaG91bGRCZSgiZXZlbnQuY2xpZW50WCIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgi
ZXZlbnQuY2xpZW50WSIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQucGFnZVgiLCAi
NTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VZIiwgIjU1MCIpOworICAgICAgICBz
aG91bGRCZSgiZXZlbnQubGF5ZXJYIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5s
YXllclkiLCAiNTUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5vZmZzZXRYIiwgIjQyIik7
CisgICAgICAgIHNob3VsZEJlKCJldmVudC5vZmZzZXRZIiwgIjU0MiIpOworICAgICAgICBucm1v
dXNlY2xpY2tzKys7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmNsaWVu
dFgiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmNsaWVudFkiLCAiNTAiKTsKKyAg
ICAgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VYIiwgIjU1MCIpOworICAgICAgICBzaG91bGRCZSgi
ZXZlbnQucGFnZVkiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmxheWVyWCIsICI1
NTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmxheWVyWSIsICI1MCIpOworICAgICAgICBz
aG91bGRCZSgiZXZlbnQub2Zmc2V0WCIsICI1NDIiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50
Lm9mZnNldFkiLCAiNDIiKTsKKyAgICB9Cit9CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAvLyB0ZXN0IGEgbm9ybWFsIG1vdXNlIHRvCisgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUwLCA1MCk7CisgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisKKyAgICAgICAg
Ly8gbm93IHNjcm9sbCBhIGJpdCBkb3duIGFuZCB2ZXJpZnkgdGhhdCBjbGllbnRZIGRvZXMgbm90
IGNoYW5nZQorICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgNTAwKTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKworICAg
ICAgICAvLyBub3cgc2Nyb2xsIGEgYml0IHRvIHRoZSByaWdodCBhbmQgdmVyaWZ5IHRoYXQgY2xp
ZW50WCBkb2VzIG5vdCBjaGFuZ2UKKyAgICAgICAgd2luZG93LnNjcm9sbFRvKDUwMCwgMCk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3Qo
KSI+Cis8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiByZWQ7IHdpZHRoOjIwMDBweDsgaGVpZ2h0OiAy
MDAwcHgiIG9ubW91c2Vkb3duPSJtb3VzZWV2KGV2ZW50KSI+Cis8L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPC9ib2R5PgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDIwKQorKysgV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAwNi0wNi0yNCAgUm9iIEJ1
aXMgIDxidWlzQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4IGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3MDc6CisgICAgICAgIGV2ZW50LmNsaWVudFggYW5kIGV2ZW50LmNsaWVudFkg
c2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCwgbm90IHRoZSBjYW52YXMKKworICAg
ICAgICBNYWtlIHN1cmUgY2xpZW50WCBhbmQgY2xpZW50WSB0YWtlIGludG8gYWNjb3VudCB0aGUg
c2Nyb2xsIG9mZnNldHMKKyAgICAgICAgb2YgdGhlIHZpZXcuCisKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0Tm9kZTo6ZGlz
cGF0Y2hNb3VzZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0Tm9kZTo6ZGlz
cGF0Y2hXaGVlbEV2ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VF
dmVudC5oOgorICAgICAgICAqIGRvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNb3VzZVJlbGF0ZWRFdmVudDo6TW91c2VSZWxhdGVkRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TW91c2VSZWxhdGVkRXZlbnQ6OmluaXRDb29yZGluYXRlcyk6CisgICAgICAgICog
ZG9tL01vdXNlUmVsYXRlZEV2ZW50Lmg6CisgICAgICAgICogZG9tL1doZWVsRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudDo6V2hlZWxFdmVudCk6CisKIDIwMDYtMDYtMjQg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBueXBvcC5jb20+CiAKICAgICAgICAgUnViYmVyLXN0
YW1wZWQgYnkgRXJpYy4KSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnRUYXJnZXROb2RlLmNwcAkocmV2aXNpb24gMTUw
MjApCisrKyBXZWJDb3JlL2RvbS9FdmVudFRhcmdldE5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MDcsOSArNDA3LDE2IEBAIGJvb2wgRXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaE1vdXNlRXZl
bnQKICAgICAKICAgICAvLyBBdHRlbXB0aW5nIHRvIGRpc3BhdGNoIHdpdGggYSBub24tRXZlbnRU
YXJnZXQgcmVsYXRlZFRhcmdldCBjYXVzZXMgdGhlIHJlbGF0ZWRUYXJnZXQgdG8gYmUgc2lsZW50
bHkgaWdub3JlZC4KICAgICBFdmVudFRhcmdldE5vZGUgKnJlbGF0ZWRUYXJnZXQgPSAocmVsYXRl
ZFRhcmdldEFyZyAmJiByZWxhdGVkVGFyZ2V0QXJnLT5pc0V2ZW50VGFyZ2V0Tm9kZSgpKSA/IHN0
YXRpY19jYXN0PEV2ZW50VGFyZ2V0Tm9kZSo+KHJlbGF0ZWRUYXJnZXRBcmcpIDogMDsKLSAgICAK
KworICAgIGludCBwYWdlWCA9IGNsaWVudFg7IAorICAgIGludCBwYWdlWSA9IGNsaWVudFk7IAor
ICAgIGlmIChGcmFtZVZpZXcqIHZpZXcgPSBkb2N1bWVudCgpLT52aWV3KCkpIHsKKyAgICAgICAg
cGFnZVggLT0gdmlldy0+Y29udGVudHNYKCk7CisgICAgICAgIHBhZ2VZIC09IHZpZXctPmNvbnRl
bnRzWSgpOworICAgIH0KICAgICBSZWZQdHI8RXZlbnQ+IG1lID0gbmV3IE1vdXNlRXZlbnQoZXZl
bnRUeXBlLCB0cnVlLCBjYW5jZWxhYmxlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwgc2NyZWVu
WCwgc2NyZWVuWSwgY2xpZW50WCwgY2xpZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZVgsIHBhZ2VZLCBjbGllbnRY
LCBjbGllbnRZLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXksIGJ1dHRvbiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0LCAwLCBpc1Np
bXVsYXRlZCk7CiAgICAgCkBAIC00MjQsNyArNDMxLDggQEAgYm9vbCBFdmVudFRhcmdldE5vZGU6
OmRpc3BhdGNoTW91c2VFdmVudAogICAgIC8vIGFzIGEgc2VwYXJhdGUgZXZlbnQgaW4gb3RoZXIg
RE9NLWNvbXBsaWFudCBicm93c2VycyBsaWtlIEZpcmVmb3gsIGFuZCBzbyB3ZSBkbyB0aGUgc2Ft
ZS4KICAgICBpZiAoZXZlbnRUeXBlID09IGNsaWNrRXZlbnQgJiYgZGV0YWlsID09IDIpIHsKICAg
ICAgICAgbWUgPSBuZXcgTW91c2VFdmVudChkYmxjbGlja0V2ZW50LCB0cnVlLCBjYW5jZWxhYmxl
LCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksIGNsaWVudFgsIGNsaWVudFksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwgc2NyZWVuWCwgc2NyZWVuWSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZVgsIHBhZ2VZLCBjbGllbnRYLCBjbGllbnRZ
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0
S2V5LCBtZXRhS2V5LCBidXR0b24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
bGF0ZWRUYXJnZXQsIDAsIGlzU2ltdWxhdGVkKTsKICAgICAgICAgaWYgKGRlZmF1bHRIYW5kbGVk
KQpAQCAtNDQzLDYgKzQ1MSw3IEBAIGJvb2wgRXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaE1vdXNl
RXZlbnQKIAogdm9pZCBFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNoV2hlZWxFdmVudChQbGF0Zm9y
bVdoZWVsRXZlbnQmIGUpCiB7CisgICAgZnByaW50ZihzdGRlcnIsICJXSEVFTCBFVkVOVCEhIik7
CiAgICAgYXNzZXJ0KCFldmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwogICAgIGlmIChlLmRlbHRh
KCkgPT0gMCkKICAgICAgICAgcmV0dXJuOwpJbmRleDogV2ViQ29yZS9kb20vTW91c2VFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHJldmlzaW9uIDE1
MDIwKQorKysgV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDEwICszNywxMSBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KCkKIAogTW91c2VFdmVudDo6TW91
c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJv
b2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2aWV3LAogICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRYLCBpbnQg
Y2xpZW50WSwKLSAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtl
eSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCB1bnNpZ25lZCBzaG9ydCBidXR0b24sCisg
ICAgICAgICAgICAgICAgICAgICAgIGludCBwYWdlWCwgaW50IHBhZ2VZLCBib29sIGN0cmxLZXks
IGJvb2wgYWx0S2V5LAorICAgICAgICAgICAgICAgICAgICAgICBib29sIHNoaWZ0S2V5LCBib29s
IG1ldGFLZXksIHVuc2lnbmVkIHNob3J0IGJ1dHRvbiwKICAgICAgICAgICAgICAgICAgICAgICAg
RXZlbnRUYXJnZXROb2RlKiByZWxhdGVkVGFyZ2V0LCBDbGlwYm9hcmQqIGNsaXBib2FyZCwgYm9v
bCBpc1NpbXVsYXRlZCkKICAgICA6IE1vdXNlUmVsYXRlZEV2ZW50KGV2ZW50VHlwZSwgY2FuQnVi
YmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksCi0gICAgICAg
ICAgICAgICAgICAgICAgICBjbGllbnRYLCBjbGllbnRZLCBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0
S2V5LCBtZXRhS2V5LCBpc1NpbXVsYXRlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVu
dFgsIGNsaWVudFksIHBhZ2VYLCBwYWdlWSwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0
YUtleSwgaXNTaW11bGF0ZWQpCiAgICAgLCBtX2J1dHRvbihidXR0b24pCiAgICAgLCBtX3JlbGF0
ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKICAgICAsIG1fY2xpcGJvYXJkKGNsaXBib2FyZCkKSW5k
ZXg6IFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9N
b3VzZUV2ZW50LmgJKHJldmlzaW9uIDE1MDIwKQorKysgV2ViQ29yZS9kb20vTW91c2VFdmVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgTW91c2VFdmVudCgpOwogICAgICAgICBNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2
aWV3LAogICAgICAgICAgICAgICAgICAgIGludCBkZXRhaWwsIGludCBzY3JlZW5YLCBpbnQgc2Ny
ZWVuWSwgaW50IGNsaWVudFgsIGludCBjbGllbnRZLAotICAgICAgICAgICAgICAgICAgIGJvb2wg
Y3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgdW5zaWdu
ZWQgc2hvcnQgYnV0dG9uLAorICAgICAgICAgICAgICAgICAgIGludCBwYWdlWCwgaW50IHBhZ2VZ
LCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAgICAgICAgICAgIGJvb2wgc2hp
ZnRLZXksIGJvb2wgbWV0YUtleSwgdW5zaWduZWQgc2hvcnQgYnV0dG9uLAogICAgICAgICAgICAg
ICAgICAgIEV2ZW50VGFyZ2V0Tm9kZSogcmVsYXRlZFRhcmdldCwgQ2xpcGJvYXJkKiBjbGlwYm9h
cmQgPSAwLCBib29sIGlzU2ltdWxhdGVkID0gZmFsc2UpOwogICAgICAgICB2aXJ0dWFsIH5Nb3Vz
ZUV2ZW50KCk7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAJKHJldmlzaW9uIDE1
MDIwKQorKysgV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MCwxMiArNTAsMTUgQEAgTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50
KCkKIAogTW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBBYnN0cmFj
dFZpZXcqIHZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRl
dGFpbCwgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29s
IGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBib29sIGlzU2ltdWxhdGVkKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwYWdlWCwgaW50IHBhZ2VZ
LCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgYm9vbCBpc1NpbXVsYXRlZCkK
ICAgICA6IFVJRXZlbnRXaXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGNhbmNlbGFi
bGUsIHZpZXcsIGRldGFpbCwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSkKICAg
ICAsIG1fc2NyZWVuWChzY3JlZW5YKQogICAgICwgbV9zY3JlZW5ZKHNjcmVlblkpCiAgICAgLCBt
X2NsaWVudFgoY2xpZW50WCkKICAgICAsIG1fY2xpZW50WShjbGllbnRZKQorICAgICwgbV9wYWdl
WChwYWdlWCkKKyAgICAsIG1fcGFnZVkocGFnZVkpCiAgICAgLCBtX2lzU2ltdWxhdGVkKGlzU2lt
dWxhdGVkKQogewogICAgIGluaXRDb29yZGluYXRlcygpOwpAQCAtNjYsOCArNjksNiBAQCB2b2lk
IE1vdXNlUmVsYXRlZEV2ZW50Ojppbml0Q29vcmRpbmF0ZXMoCiAgICAgLy8gU2V0IHVwIGluaXRp
YWwgdmFsdWVzIGZvciBjb29yZGluYXRlcy4KICAgICAvLyBDb3JyZWN0IHZhbHVlcyBjYW4ndCBi
ZSBjb21wdXRlZCB1bnRpbCB3ZSBoYXZlIGF0IHRhcmdldCwgc28gcmVjZWl2ZWRUYXJnZXQKICAg
ICAvLyBkb2VzIHRoZSAicmVhbCIgY29tcHV0YXRpb24uCi0gICAgbV9wYWdlWCA9IG1fY2xpZW50
WDsKLSAgICBtX3BhZ2VZID0gbV9jbGllbnRZOwogICAgIG1fbGF5ZXJYID0gbV9wYWdlWDsKICAg
ICBtX2xheWVyWSA9IG1fcGFnZVk7CiAgICAgbV9vZmZzZXRYID0gbV9wYWdlWDsKSW5kZXg6IFdl
YkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
TW91c2VSZWxhdGVkRXZlbnQuaAkocmV2aXNpb24gMTUwMjApCisrKyBXZWJDb3JlL2RvbS9Nb3Vz
ZVJlbGF0ZWRFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgTW91c2VSZWxhdGVkRXZlbnQoKTsKICAgICAgICAgTW91c2VS
ZWxhdGVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9v
bCBjYW5jZWxhYmxlLCBBYnN0cmFjdFZpZXcqIHZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkZXRhaWwsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IGNsaWVudFgsIGlu
dCBjbGllbnRZLAotICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXksIGJvb2wg
YWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGJvb2wgaXNTaW11bGF0ZWQgPSBm
YWxzZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwYWdlWCwgaW50IHBhZ2VZLCBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
IHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGJvb2wgaXNTaW11bGF0ZWQgPSBmYWxzZSk7CiAKICAg
ICAgICAgaW50IHNjcmVlblgoKSBjb25zdCB7IHJldHVybiBtX3NjcmVlblg7IH0KICAgICAgICAg
aW50IHNjcmVlblkoKSBjb25zdCB7IHJldHVybiBtX3NjcmVlblk7IH0KSW5kZXg6IFdlYkNvcmUv
ZG9tL1doZWVsRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1doZWVsRXZlbnQu
Y3BwCShyZXZpc2lvbiAxNTAyMCkKKysrIFdlYkNvcmUvZG9tL1doZWVsRXZlbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXaGVlbEV2ZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKIAogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKIApAQCAtNDIsNiArNDMsOCBAQCBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KGJvb2wg
aG9yaXpvbnRhbCwgCiAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwgYm9vbCBh
bHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSkKICAgICA6IE1vdXNlUmVsYXRlZEV2
ZW50KGhvcml6b250YWwgPyBraHRtbEhvcml6b250YWxtb3VzZXdoZWVsRXZlbnQgOiBtb3VzZXdo
ZWVsRXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB0cnVlLCB2aWV3LCAwLCBz
Y3JlZW5YLCBzY3JlZW5ZLCBjbGllbnRYLCBjbGllbnRZLCAKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNsaWVudFggLSAodmlldyAmJiB2aWV3LT5mcmFtZSgpICYmIHZpZXctPmZyYW1lKCktPnZp
ZXcoKSkgPyB2aWV3LT5mcmFtZSgpLT52aWV3KCktPmNvbnRlbnRzWCgpIDogMCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNsaWVudFkgLSAodmlldyAmJiB2aWV3LT5mcmFtZSgpICYmIHZpZXct
PmZyYW1lKCktPnZpZXcoKSkgPyB2aWV3LT5mcmFtZSgpLT52aWV3KCktPmNvbnRlbnRzWSgpIDog
MCwKICAgICAgICAgICAgICAgICAgICAgICAgIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1l
dGFLZXkpCiAgICAgLCBtX2hvcml6b250YWwoaG9yaXpvbnRhbCkKICAgICAsIG1fd2hlZWxEZWx0
YSh3aGVlbERlbHRhKQo=
</data>
<flag name="review"
          id="2667"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9018</attachid>
            <date>2006-06-25 08:26:11 -0700</date>
            <delta_ts>2006-06-25 10:01:12 -0700</delta_ts>
            <desc>Now includes FrameView.cpp</desc>
            <filename>8707-4.diff</filename>
            <type>text/plain</type>
            <size>14140</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1MDI1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDYtMjUgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3QgY2FzZXMgZm9yCisgICAgICAgIDxodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcv
c2hvd19idWcuY2dpP2lkPTg3MDc+CisKKyAgICAgICAgKiBmYXN0L2RvbS93aW5kb3cteHktcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3dpbmRvdy14
eS1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorCiAyMDA2LTA2LTI0ICBEYXZpZCBLaWx6ZXIgIDxk
ZGtpbHplckBraWx6ZXIubmV0PgogCiAgICAgICAgIEJ1aWxkIGZpeC4gIFJldmlld2VkIGJ5IE5P
Qk9EWS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy14eS1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3cteHkt
cHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS93aW5kb3cteHktcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzAgQEAKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFu
Z2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6
TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0
ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZy
b20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFt
IHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcg
REVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpO
U1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorUEFTUyBl
dmVudC5jbGllbnRYIGlzIDUwCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgNTAKK1BBU1MgZXZlbnQu
cGFnZVggaXMgNTAKK1BBU1MgZXZlbnQucGFnZVkgaXMgNTAKK1BBU1MgZXZlbnQubGF5ZXJYIGlz
IDUwCitQQVNTIGV2ZW50LmxheWVyWSBpcyA1MAorUEFTUyBldmVudC5vZmZzZXRYIGlzIDQyCitQ
QVNTIGV2ZW50Lm9mZnNldFkgaXMgNDIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyA1MAorUEFTUyBl
dmVudC5jbGllbnRZIGlzIDUwCitQQVNTIGV2ZW50LnBhZ2VYIGlzIDUwCitQQVNTIGV2ZW50LnBh
Z2VZIGlzIDU1MAorUEFTUyBldmVudC5sYXllclggaXMgNTAKK1BBU1MgZXZlbnQubGF5ZXJZIGlz
IDU1MAorUEFTUyBldmVudC5vZmZzZXRYIGlzIDQyCitQQVNTIGV2ZW50Lm9mZnNldFkgaXMgNTQy
CitQQVNTIGV2ZW50LmNsaWVudFggaXMgNTAKK1BBU1MgZXZlbnQuY2xpZW50WSBpcyA1MAorUEFT
UyBldmVudC5wYWdlWCBpcyA1NTAKK1BBU1MgZXZlbnQucGFnZVkgaXMgNTAKK1BBU1MgZXZlbnQu
bGF5ZXJYIGlzIDU1MAorUEFTUyBldmVudC5sYXllclkgaXMgNTAKK1BBU1MgZXZlbnQub2Zmc2V0
WCBpcyA1NDIKK1BBU1MgZXZlbnQub2Zmc2V0WSBpcyA0MgorCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS93aW5kb3cteHktcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL3dpbmRvdy14eS1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3cteHktcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDYyIEBACis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBucm1vdXNlY2xpY2tzID0g
MDsgLy8gc21hbGwgaGFjayB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGNsaWNrcworZnVuY3Rpb24g
bW91c2VldihldmVudCkgeworICAgIGlmIChucm1vdXNlY2xpY2tzID09IDApIHsKKyAgICAgICAg
c2hvdWxkQmUoImV2ZW50LmNsaWVudFgiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50
LmNsaWVudFkiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VYIiwgIjUwIik7
CisgICAgICAgIHNob3VsZEJlKCJldmVudC5wYWdlWSIsICI1MCIpOworICAgICAgICBzaG91bGRC
ZSgiZXZlbnQubGF5ZXJYIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5sYXllclki
LCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50Lm9mZnNldFgiLCAiNDIiKTsKKyAgICAg
ICAgc2hvdWxkQmUoImV2ZW50Lm9mZnNldFkiLCAiNDIiKTsKKyAgICAgICAgbnJtb3VzZWNsaWNr
cysrOworICAgIH0gZWxzZSBpZiAobnJtb3VzZWNsaWNrcyA9PSAxKSB7CisgICAgICAgIHNob3Vs
ZEJlKCJldmVudC5jbGllbnRYIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5jbGll
bnRZIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5wYWdlWCIsICI1MCIpOworICAg
ICAgICBzaG91bGRCZSgiZXZlbnQucGFnZVkiLCAiNTUwIik7CisgICAgICAgIHNob3VsZEJlKCJl
dmVudC5sYXllclgiLCAiNTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50LmxheWVyWSIsICI1
NTAiKTsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50Lm9mZnNldFgiLCAiNDIiKTsKKyAgICAgICAg
c2hvdWxkQmUoImV2ZW50Lm9mZnNldFkiLCAiNTQyIik7CisgICAgICAgIG5ybW91c2VjbGlja3Mr
KzsKKyAgICB9IGVsc2UgeworICAgICAgICBzaG91bGRCZSgiZXZlbnQuY2xpZW50WCIsICI1MCIp
OworICAgICAgICBzaG91bGRCZSgiZXZlbnQuY2xpZW50WSIsICI1MCIpOworICAgICAgICBzaG91
bGRCZSgiZXZlbnQucGFnZVgiLCAiNTUwIik7CisgICAgICAgIHNob3VsZEJlKCJldmVudC5wYWdl
WSIsICI1MCIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQubGF5ZXJYIiwgIjU1MCIpOworICAg
ICAgICBzaG91bGRCZSgiZXZlbnQubGF5ZXJZIiwgIjUwIik7CisgICAgICAgIHNob3VsZEJlKCJl
dmVudC5vZmZzZXRYIiwgIjU0MiIpOworICAgICAgICBzaG91bGRCZSgiZXZlbnQub2Zmc2V0WSIs
ICI0MiIpOworICAgIH0KK30KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgIC8vIHRlc3QgYSBub3JtYWwgbW91c2UgdG8KKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oNTAsIDUwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3du
KCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKworICAgICAgICAvLyBub3cgc2Ny
b2xsIGEgYml0IGRvd24gYW5kIHZlcmlmeSB0aGF0IGNsaWVudFkgZG9lcyBub3QgY2hhbmdlCisg
ICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCA1MDApOworICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgICAgIC8vIG5v
dyBzY3JvbGwgYSBiaXQgdG8gdGhlIHJpZ2h0IGFuZCB2ZXJpZnkgdGhhdCBjbGllbnRYIGRvZXMg
bm90IGNoYW5nZQorICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oNTAwLCAwKTsKKyAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAg
ICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxkaXYg
c3R5bGU9ImJhY2tncm91bmQ6IHJlZDsgd2lkdGg6MjAwMHB4OyBoZWlnaHQ6IDIwMDBweCIgb25t
b3VzZWRvd249Im1vdXNlZXYoZXZlbnQpIj4KKzwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8L2JvZHk+CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUwMjUpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDA2LTA2LTI1ICBSb2IgQnVpcyAgPGJ1aXNA
a2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaXggZm9yIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODcwNzoKKyAgICAgICAgZXZlbnQuY2xpZW50WCBhbmQgZXZlbnQuY2xpZW50WSBzaG91bGQgYmUg
cmVsYXRpdmUgdG8gdGhlIHZpZXdwb3J0LCBub3QgdGhlIGNhbnZhcworCisgICAgICAgIE1ha2Ug
c3VyZSBjbGllbnRYIGFuZCBjbGllbnRZIHRha2UgaW50byBhY2NvdW50IHRoZSBzY3JvbGwgb2Zm
c2V0cworICAgICAgICBvZiB0aGUgdmlldy4KKworICAgICAgICAqIGRvbS9FdmVudFRhcmdldE5v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaE1vdXNl
RXZlbnQpOgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQpOgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50Lmg6Cisg
ICAgICAgICogZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
dXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpN
b3VzZVJlbGF0ZWRFdmVudDo6aW5pdENvb3JkaW5hdGVzKToKKyAgICAgICAgKiBkb20vTW91c2VS
ZWxhdGVkRXZlbnQuaDoKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmll
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmRpc3BhdGNoRHJhZ0V2ZW50KToK
KwogMjAwNi0wNi0yNCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAa2lsemVyLm5ldD4KIAogICAg
ICAgICBCdWlsZCBmaXguICBSZXZpZXdlZCBieSBOT0JPRFkuCkluZGV4OiBXZWJDb3JlL2RvbS9F
dmVudFRhcmdldE5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
Tm9kZS5jcHAJKHJldmlzaW9uIDE1MDI1KQorKysgV2ViQ29yZS9kb20vRXZlbnRUYXJnZXROb2Rl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA3LDkgKzQwNywxNiBAQCBib29sIEV2ZW50VGFyZ2V0
Tm9kZTo6ZGlzcGF0Y2hNb3VzZUV2ZW50CiAgICAgCiAgICAgLy8gQXR0ZW1wdGluZyB0byBkaXNw
YXRjaCB3aXRoIGEgbm9uLUV2ZW50VGFyZ2V0IHJlbGF0ZWRUYXJnZXQgY2F1c2VzIHRoZSByZWxh
dGVkVGFyZ2V0IHRvIGJlIHNpbGVudGx5IGlnbm9yZWQuCiAgICAgRXZlbnRUYXJnZXROb2RlICpy
ZWxhdGVkVGFyZ2V0ID0gKHJlbGF0ZWRUYXJnZXRBcmcgJiYgcmVsYXRlZFRhcmdldEFyZy0+aXNF
dmVudFRhcmdldE5vZGUoKSkgPyBzdGF0aWNfY2FzdDxFdmVudFRhcmdldE5vZGUqPihyZWxhdGVk
VGFyZ2V0QXJnKSA6IDA7Ci0gICAgCisKKyAgICBpbnQgcGFnZVggPSBjbGllbnRYOyAKKyAgICBp
bnQgcGFnZVkgPSBjbGllbnRZOyAKKyAgICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gZG9jdW1lbnQo
KS0+dmlldygpKSB7CisgICAgICAgIHBhZ2VYIC09IHZpZXctPmNvbnRlbnRzWCgpOworICAgICAg
ICBwYWdlWSAtPSB2aWV3LT5jb250ZW50c1koKTsKKyAgICB9CiAgICAgUmVmUHRyPEV2ZW50PiBt
ZSA9IG5ldyBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgdHJ1ZSwgY2FuY2VsYWJsZSwgZG9jdW1lbnQo
KS0+ZGVmYXVsdFZpZXcoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkZXRhaWwsIHNjcmVlblgsIHNjcmVlblksIGNsaWVudFgsIGNsaWVudFksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsLCBzY3JlZW5Y
LCBzY3JlZW5ZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhZ2VYLCBwYWdlWSwgY2xpZW50WCwgY2xpZW50WSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRhS2V5
LCBidXR0b24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVsYXRlZFRhcmdldCwgMCwgaXNTaW11bGF0ZWQpOwogICAgIApAQCAtNDI0LDcgKzQzMSw4IEBA
IGJvb2wgRXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaE1vdXNlRXZlbnQKICAgICAvLyBhcyBhIHNl
cGFyYXRlIGV2ZW50IGluIG90aGVyIERPTS1jb21wbGlhbnQgYnJvd3NlcnMgbGlrZSBGaXJlZm94
LCBhbmQgc28gd2UgZG8gdGhlIHNhbWUuCiAgICAgaWYgKGV2ZW50VHlwZSA9PSBjbGlja0V2ZW50
ICYmIGRldGFpbCA9PSAyKSB7CiAgICAgICAgIG1lID0gbmV3IE1vdXNlRXZlbnQoZGJsY2xpY2tF
dmVudCwgdHJ1ZSwgY2FuY2VsYWJsZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsLCBzY3JlZW5YLCBzY3JlZW5ZLCBjbGll
bnRYLCBjbGllbnRZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWwsIHNj
cmVlblgsIHNjcmVlblksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VYLCBw
YWdlWSwgY2xpZW50WCwgY2xpZW50WSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSwgYnV0dG9uLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0LCAwLCBpc1NpbXVsYXRlZCk7CiAgICAg
ICAgIGlmIChkZWZhdWx0SGFuZGxlZCkKSW5kZXg6IFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCShyZXZpc2lvbiAxNTAy
NSkKKysrIFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNywx
MCArMzcsMTEgQEAgTW91c2VFdmVudDo6TW91c2VFdmVudCgpCiAKIE1vdXNlRXZlbnQ6Ok1vdXNl
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29s
IGNhbmNlbGFibGUsIEFic3RyYWN0VmlldyogdmlldywKICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRldGFpbCwgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNs
aWVudFksCi0gICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXks
IGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgdW5zaWduZWQgc2hvcnQgYnV0dG9uLAorICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcGFnZVgsIGludCBwYWdlWSwgYm9vbCBjdHJsS2V5LCBi
b29sIGFsdEtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBt
ZXRhS2V5LCB1bnNpZ25lZCBzaG9ydCBidXR0b24sCiAgICAgICAgICAgICAgICAgICAgICAgIEV2
ZW50VGFyZ2V0Tm9kZSogcmVsYXRlZFRhcmdldCwgQ2xpcGJvYXJkKiBjbGlwYm9hcmQsIGJvb2wg
aXNTaW11bGF0ZWQpCiAgICAgOiBNb3VzZVJlbGF0ZWRFdmVudChldmVudFR5cGUsIGNhbkJ1YmJs
ZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsLCBzY3JlZW5YLCBzY3JlZW5ZLAotICAgICAgICAg
ICAgICAgICAgICAgICAgY2xpZW50WCwgY2xpZW50WSwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtl
eSwgbWV0YUtleSwgaXNTaW11bGF0ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRY
LCBjbGllbnRZLCBwYWdlWCwgcGFnZVksIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFL
ZXksIGlzU2ltdWxhdGVkKQogICAgICwgbV9idXR0b24oYnV0dG9uKQogICAgICwgbV9yZWxhdGVk
VGFyZ2V0KHJlbGF0ZWRUYXJnZXQpCiAgICAgLCBtX2NsaXBib2FyZChjbGlwYm9hcmQpCkluZGV4
OiBXZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTW91
c2VFdmVudC5oCShyZXZpc2lvbiAxNTAyNSkKKysrIFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIE1vdXNlRXZlbnQoKTsKICAgICAgICAgTW91c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIEFic3RyYWN0Vmlldyogdmll
dywKICAgICAgICAgICAgICAgICAgICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVl
blksIGludCBjbGllbnRYLCBpbnQgY2xpZW50WSwKLSAgICAgICAgICAgICAgICAgICBib29sIGN0
cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIHVuc2lnbmVk
IHNob3J0IGJ1dHRvbiwKKyAgICAgICAgICAgICAgICAgICBpbnQgcGFnZVgsIGludCBwYWdlWSwg
Ym9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAgICAgICAgICAgICBib29sIHNoaWZ0
S2V5LCBib29sIG1ldGFLZXksIHVuc2lnbmVkIHNob3J0IGJ1dHRvbiwKICAgICAgICAgICAgICAg
ICAgICBFdmVudFRhcmdldE5vZGUqIHJlbGF0ZWRUYXJnZXQsIENsaXBib2FyZCogY2xpcGJvYXJk
ID0gMCwgYm9vbCBpc1NpbXVsYXRlZCA9IGZhbHNlKTsKICAgICAgICAgdmlydHVhbCB+TW91c2VF
dmVudCgpOwogCkluZGV4OiBXZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwCShyZXZpc2lvbiAxNTAy
NSkKKysrIFdlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTAsMTIgKzUwLDE1IEBAIE1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudCgp
CiAKIE1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJlbGF0ZWRFdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RW
aWV3KiB2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkZXRh
aWwsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IGNsaWVudFgsIGludCBjbGllbnRZLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwgYm9vbCBh
bHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgYm9vbCBpc1NpbXVsYXRlZCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGFnZVgsIGludCBwYWdlWSwg
Ym9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGJvb2wgaXNTaW11bGF0ZWQpCiAg
ICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxl
LCB2aWV3LCBkZXRhaWwsIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXkpCiAgICAg
LCBtX3NjcmVlblgoc2NyZWVuWCkKICAgICAsIG1fc2NyZWVuWShzY3JlZW5ZKQogICAgICwgbV9j
bGllbnRYKGNsaWVudFgpCiAgICAgLCBtX2NsaWVudFkoY2xpZW50WSkKKyAgICAsIG1fcGFnZVgo
cGFnZVgpCisgICAgLCBtX3BhZ2VZKHBhZ2VZKQogICAgICwgbV9pc1NpbXVsYXRlZChpc1NpbXVs
YXRlZCkKIHsKICAgICBpbml0Q29vcmRpbmF0ZXMoKTsKQEAgLTY2LDggKzY5LDYgQEAgdm9pZCBN
b3VzZVJlbGF0ZWRFdmVudDo6aW5pdENvb3JkaW5hdGVzKAogICAgIC8vIFNldCB1cCBpbml0aWFs
IHZhbHVlcyBmb3IgY29vcmRpbmF0ZXMuCiAgICAgLy8gQ29ycmVjdCB2YWx1ZXMgY2FuJ3QgYmUg
Y29tcHV0ZWQgdW50aWwgd2UgaGF2ZSBhdCB0YXJnZXQsIHNvIHJlY2VpdmVkVGFyZ2V0CiAgICAg
Ly8gZG9lcyB0aGUgInJlYWwiIGNvbXB1dGF0aW9uLgotICAgIG1fcGFnZVggPSBtX2NsaWVudFg7
Ci0gICAgbV9wYWdlWSA9IG1fY2xpZW50WTsKICAgICBtX2xheWVyWCA9IG1fcGFnZVg7CiAgICAg
bV9sYXllclkgPSBtX3BhZ2VZOwogICAgIG1fb2Zmc2V0WCA9IG1fcGFnZVg7CkluZGV4OiBXZWJD
b3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL01v
dXNlUmVsYXRlZEV2ZW50LmgJKHJldmlzaW9uIDE1MDI1KQorKysgV2ViQ29yZS9kb20vTW91c2VS
ZWxhdGVkRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIE1vdXNlUmVsYXRlZEV2ZW50KCk7CiAgICAgICAgIE1vdXNlUmVs
YXRlZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wg
Y2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2aWV3LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRYLCBpbnQg
Y2xpZW50WSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29sIGFs
dEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBib29sIGlzU2ltdWxhdGVkID0gZmFs
c2UpOworICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGFnZVgsIGludCBwYWdlWSwgYm9v
bCBjdHJsS2V5LCBib29sIGFsdEtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBz
aGlmdEtleSwgYm9vbCBtZXRhS2V5LCBib29sIGlzU2ltdWxhdGVkID0gZmFsc2UpOwogCiAgICAg
ICAgIGludCBzY3JlZW5YKCkgY29uc3QgeyByZXR1cm4gbV9zY3JlZW5YOyB9CiAgICAgICAgIGlu
dCBzY3JlZW5ZKCkgY29uc3QgeyByZXR1cm4gbV9zY3JlZW5ZOyB9CkluZGV4OiBXZWJDb3JlL2Rv
bS9XaGVlbEV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNw
cAkocmV2aXNpb24gMTUwMjUpCisrKyBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiV2hlZWxFdmVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAKICNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAKQEAgLTQyLDYgKzQzLDggQEAgV2hlZWxFdmVudDo6V2hlZWxFdmVudChib29sIGhv
cml6b250YWwsIAogICAgICAgICAgICAgICAgICAgICAgICBib29sIGN0cmxLZXksIGJvb2wgYWx0
S2V5LCBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXkpCiAgICAgOiBNb3VzZVJlbGF0ZWRFdmVu
dChob3Jpem9udGFsID8ga2h0bWxIb3Jpem9udGFsbW91c2V3aGVlbEV2ZW50IDogbW91c2V3aGVl
bEV2ZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgdHJ1ZSwgdmlldywgMCwgc2Ny
ZWVuWCwgc2NyZWVuWSwgY2xpZW50WCwgY2xpZW50WSwgCisgICAgICAgICAgICAgICAgICAgICAg
ICBjbGllbnRYIC0gKHZpZXcgJiYgdmlldy0+ZnJhbWUoKSAmJiB2aWV3LT5mcmFtZSgpLT52aWV3
KCkpID8gdmlldy0+ZnJhbWUoKS0+dmlldygpLT5jb250ZW50c1goKSA6IDAsCisgICAgICAgICAg
ICAgICAgICAgICAgICBjbGllbnRZIC0gKHZpZXcgJiYgdmlldy0+ZnJhbWUoKSAmJiB2aWV3LT5m
cmFtZSgpLT52aWV3KCkpID8gdmlldy0+ZnJhbWUoKS0+dmlldygpLT5jb250ZW50c1koKSA6IDAs
CiAgICAgICAgICAgICAgICAgICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRh
S2V5KQogICAgICwgbV9ob3Jpem9udGFsKGhvcml6b250YWwpCiAgICAgLCBtX3doZWVsRGVsdGEo
d2hlZWxEZWx0YSkKSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAxNTAyNSkKKysrIFdlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NTksOSArNzU5LDE3IEBA
IGJvb2wgRnJhbWVWaWV3OjpkaXNwYXRjaERyYWdFdmVudChjb25zdCAKIHsKICAgICBJbnRQb2lu
dCBjbGllbnRQb3MgPSB2aWV3cG9ydFRvQ29udGVudHMoZXZlbnQucG9zKCkpOwogICAgIAorICAg
IGludCBjbGllbnRYID0gY2xpZW50UG9zLngoKTsgCisgICAgaW50IGNsaWVudFkgPSBjbGllbnRQ
b3MueSgpOyAKKyAgICBpbnQgcGFnZVggPSBjbGllbnRYOyAKKyAgICBpbnQgcGFnZVkgPSBjbGll
bnRZOyAKKyAgICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dmll
dygpKSB7CisgICAgICAgIHBhZ2VYIC09IHZpZXctPmNvbnRlbnRzWCgpOworICAgICAgICBwYWdl
WSAtPSB2aWV3LT5jb250ZW50c1koKTsKKyAgICB9CiAgICAgUmVmUHRyPE1vdXNlRXZlbnQ+IG1l
ID0gbmV3IE1vdXNlRXZlbnQoZXZlbnRUeXBlLAogICAgICAgICB0cnVlLCB0cnVlLCBtX2ZyYW1l
LT5kb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLAotICAgICAgICAwLCBldmVudC5nbG9iYWxYKCks
IGV2ZW50Lmdsb2JhbFkoKSwgY2xpZW50UG9zLngoKSwgY2xpZW50UG9zLnkoKSwKKyAgICAgICAg
MCwgZXZlbnQuZ2xvYmFsWCgpLCBldmVudC5nbG9iYWxZKCksIHBhZ2VYLCBwYWdlWSwgY2xpZW50
WCwgY2xpZW50WSwKICAgICAgICAgZXZlbnQuY3RybEtleSgpLCBldmVudC5hbHRLZXkoKSwgZXZl
bnQuc2hpZnRLZXkoKSwgZXZlbnQubWV0YUtleSgpLAogICAgICAgICAwLCAwLCBjbGlwYm9hcmQp
OwogCg==
</data>
<flag name="review"
          id="2674"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9041</attachid>
            <date>2006-06-26 01:28:23 -0700</date>
            <delta_ts>2006-06-26 09:14:30 -0700</delta_ts>
            <desc>Code cleanup</desc>
            <filename>8707-5.diff</filename>
            <type>text/plain</type>
            <size>9015</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNTA0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDYtMDYtMjYgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvZGUgY2xlYW51
cCwgY2FsY3VsYXRlIGNsaWVudFgvY2xpZW50WSBpbiBvbmUKKyAgICAgICAgY2VudHJhbCBwbGFj
ZS4KKworICAgICAgICAqIGRvbS9FdmVudFRhcmdldE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaE1vdXNlRXZlbnQpOgorICAgICAgICAqIGRvbS9N
b3VzZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZlbnQ6Ok1vdXNlRXZlbnQp
OgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50Lmg6CisgICAgICAgICogZG9tL01vdXNlUmVsYXRl
ZEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vdXNlUmVsYXRlZEV2ZW50OjpNb3VzZVJl
bGF0ZWRFdmVudCk6CisgICAgICAgICogZG9tL01vdXNlUmVsYXRlZEV2ZW50Lmg6CisgICAgICAg
ICogZG9tL1doZWVsRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudDo6V2hl
ZWxFdmVudCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpkaXNwYXRjaERyYWdFdmVudCk6CisKIDIwMDYtMDYtMjUgIERhdmlkIENh
cnNvbiAgPGRhY2Fyc29uQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBhbmQgdHdlYWtl
ZCBieSBEYXJpbi4KSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Tm9kZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnRUYXJnZXROb2RlLmNwcAkocmV2aXNpb24gMTUwNDUp
CisrKyBXZWJDb3JlL2RvbS9FdmVudFRhcmdldE5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MDgsMTUgKzQwOCw4IEBAIGJvb2wgRXZlbnRUYXJnZXROb2RlOjpkaXNwYXRjaE1vdXNlRXZlbnQK
ICAgICAvLyBBdHRlbXB0aW5nIHRvIGRpc3BhdGNoIHdpdGggYSBub24tRXZlbnRUYXJnZXQgcmVs
YXRlZFRhcmdldCBjYXVzZXMgdGhlIHJlbGF0ZWRUYXJnZXQgdG8gYmUgc2lsZW50bHkgaWdub3Jl
ZC4KICAgICBFdmVudFRhcmdldE5vZGUgKnJlbGF0ZWRUYXJnZXQgPSAocmVsYXRlZFRhcmdldEFy
ZyAmJiByZWxhdGVkVGFyZ2V0QXJnLT5pc0V2ZW50VGFyZ2V0Tm9kZSgpKSA/IHN0YXRpY19jYXN0
PEV2ZW50VGFyZ2V0Tm9kZSo+KHJlbGF0ZWRUYXJnZXRBcmcpIDogMDsKIAotICAgIGludCBwYWdl
WCA9IGNsaWVudFg7IAotICAgIGludCBwYWdlWSA9IGNsaWVudFk7IAotICAgIGlmIChGcmFtZVZp
ZXcqIHZpZXcgPSBkb2N1bWVudCgpLT52aWV3KCkpIHsKLSAgICAgICAgcGFnZVggLT0gdmlldy0+
Y29udGVudHNYKCk7Ci0gICAgICAgIHBhZ2VZIC09IHZpZXctPmNvbnRlbnRzWSgpOwotICAgIH0K
ICAgICBSZWZQdHI8RXZlbnQ+IG1lID0gbmV3IE1vdXNlRXZlbnQoZXZlbnRUeXBlLCB0cnVlLCBj
YW5jZWxhYmxlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwgc2NyZWVuWCwgc2NyZWVuWSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlWCwgcGFnZVks
IGNsaWVudFgsIGNsaWVudFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGV0YWlsLCBzY3JlZW5YLCBzY3JlZW5ZLCBjbGllbnRYLCBjbGllbnRZLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0cmxLZXksIGFsdEtl
eSwgc2hpZnRLZXksIG1ldGFLZXksIGJ1dHRvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0LCAwLCBpc1NpbXVsYXRlZCk7CiAgICAg
CkBAIC00MzEsOCArNDI0LDcgQEAgYm9vbCBFdmVudFRhcmdldE5vZGU6OmRpc3BhdGNoTW91c2VF
dmVudAogICAgIC8vIGFzIGEgc2VwYXJhdGUgZXZlbnQgaW4gb3RoZXIgRE9NLWNvbXBsaWFudCBi
cm93c2VycyBsaWtlIEZpcmVmb3gsIGFuZCBzbyB3ZSBkbyB0aGUgc2FtZS4KICAgICBpZiAoZXZl
bnRUeXBlID09IGNsaWNrRXZlbnQgJiYgZGV0YWlsID09IDIpIHsKICAgICAgICAgbWUgPSBuZXcg
TW91c2VFdmVudChkYmxjbGlja0V2ZW50LCB0cnVlLCBjYW5jZWxhYmxlLCBkb2N1bWVudCgpLT5k
ZWZhdWx0VmlldygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWwsIHNj
cmVlblgsIHNjcmVlblksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VYLCBw
YWdlWSwgY2xpZW50WCwgY2xpZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGV0YWlsLCBzY3JlZW5YLCBzY3JlZW5ZLCBjbGllbnRYLCBjbGllbnRZLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRhS2V5LCBi
dXR0b24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQsIDAs
IGlzU2ltdWxhdGVkKTsKICAgICAgICAgaWYgKGRlZmF1bHRIYW5kbGVkKQpJbmRleDogV2ViQ29y
ZS9kb20vTW91c2VFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTW91c2VFdmVu
dC5jcHAJKHJldmlzaW9uIDE1MDQ1KQorKysgV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM3LDExICszNywxMSBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KCkK
IAogTW91c2VFdmVudDo6TW91c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
Ym9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2aWV3LAogICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblks
IGludCBjbGllbnRYLCBpbnQgY2xpZW50WSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHBh
Z2VYLCBpbnQgcGFnZVksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksCisgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksCiAgICAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgdW5zaWduZWQgc2hvcnQgYnV0dG9uLAog
ICAgICAgICAgICAgICAgICAgICAgICBFdmVudFRhcmdldE5vZGUqIHJlbGF0ZWRUYXJnZXQsIENs
aXBib2FyZCogY2xpcGJvYXJkLCBib29sIGlzU2ltdWxhdGVkKQogICAgIDogTW91c2VSZWxhdGVk
RXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCwgc2Ny
ZWVuWCwgc2NyZWVuWSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFgsIGNsaWVudFks
IHBhZ2VYLCBwYWdlWSwgY3RybEtleSwgYWx0S2V5LCBzaGlmdEtleSwgbWV0YUtleSwgaXNTaW11
bGF0ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRYLCBjbGllbnRZLCBjdHJsS2V5
LCBhbHRLZXksIHNoaWZ0S2V5LCBtZXRhS2V5LCBpc1NpbXVsYXRlZCkKICAgICAsIG1fYnV0dG9u
KGJ1dHRvbikKICAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQogICAgICwgbV9j
bGlwYm9hcmQoY2xpcGJvYXJkKQpJbmRleDogV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAkocmV2aXNpb24gMTUwNDUpCisrKyBX
ZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBNb3VzZUV2ZW50KCk7CiAgICAgICAgIE1vdXNl
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5j
ZWxhYmxlLCBBYnN0cmFjdFZpZXcqIHZpZXcsCiAgICAgICAgICAgICAgICAgICAgaW50IGRldGFp
bCwgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgY2xpZW50WCwgaW50IGNsaWVudFksCi0g
ICAgICAgICAgICAgICAgICAgaW50IHBhZ2VYLCBpbnQgcGFnZVksIGJvb2wgY3RybEtleSwgYm9v
bCBhbHRLZXksCi0gICAgICAgICAgICAgICAgICAgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5
LCB1bnNpZ25lZCBzaG9ydCBidXR0b24sCisgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5
LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCB1bnNpZ25lZCBzaG9y
dCBidXR0b24sCiAgICAgICAgICAgICAgICAgICAgRXZlbnRUYXJnZXROb2RlKiByZWxhdGVkVGFy
Z2V0LCBDbGlwYm9hcmQqIGNsaXBib2FyZCA9IDAsIGJvb2wgaXNTaW11bGF0ZWQgPSBmYWxzZSk7
CiAgICAgICAgIHZpcnR1YWwgfk1vdXNlRXZlbnQoKTsKIApJbmRleDogV2ViQ29yZS9kb20vTW91
c2VSZWxhdGVkRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL01vdXNlUmVsYXRl
ZEV2ZW50LmNwcAkocmV2aXNpb24gMTUwNDUpCisrKyBXZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRF
dmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkF0
b21pY1N0cmluZy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIK
ICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKQEAgLTUwLDE1ICs1MSwxNCBAQCBNb3VzZVJlbGF0ZWRFdmVudDo6TW91
c2VSZWxhdGVkRXZlbnQoKQogCiBNb3VzZVJlbGF0ZWRFdmVudDo6TW91c2VSZWxhdGVkRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIEFic3RyYWN0VmlldyogdmlldywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRY
LCBpbnQgY2xpZW50WSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cGFnZVgsIGludCBwYWdlWSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHNoaWZ0S2V5LCBib29sIG1ldGFLZXksIGJv
b2wgaXNTaW11bGF0ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBib29s
IGlzU2ltdWxhdGVkKQogICAgIDogVUlFdmVudFdpdGhLZXlTdGF0ZShldmVudFR5cGUsIGNhbkJ1
YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsLCBjdHJsS2V5LCBhbHRLZXksIHNoaWZ0S2V5
LCBtZXRhS2V5KQogICAgICwgbV9zY3JlZW5YKHNjcmVlblgpCiAgICAgLCBtX3NjcmVlblkoc2Ny
ZWVuWSkKLSAgICAsIG1fY2xpZW50WChjbGllbnRYKQotICAgICwgbV9jbGllbnRZKGNsaWVudFkp
Ci0gICAgLCBtX3BhZ2VYKHBhZ2VYKQotICAgICwgbV9wYWdlWShwYWdlWSkKKyAgICAsIG1fY2xp
ZW50WChjbGllbnRYIC0gKCh2aWV3ICYmIHZpZXctPmZyYW1lKCkgJiYgdmlldy0+ZnJhbWUoKS0+
dmlldygpKSA/IHZpZXctPmZyYW1lKCktPnZpZXcoKS0+Y29udGVudHNYKCkgOiAwKSkKKyAgICAs
IG1fY2xpZW50WShjbGllbnRZIC0gKCh2aWV3ICYmIHZpZXctPmZyYW1lKCkgJiYgdmlldy0+ZnJh
bWUoKS0+dmlldygpKSA/IHZpZXctPmZyYW1lKCktPnZpZXcoKS0+Y29udGVudHNZKCkgOiAwKSkK
KyAgICAsIG1fcGFnZVgoY2xpZW50WCkKKyAgICAsIG1fcGFnZVkoY2xpZW50WSkKICAgICAsIG1f
aXNTaW11bGF0ZWQoaXNTaW11bGF0ZWQpCiB7CiAgICAgaW5pdENvb3JkaW5hdGVzKCk7CkluZGV4
OiBXZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZG9tL01vdXNlUmVsYXRlZEV2ZW50LmgJKHJldmlzaW9uIDE1MDQ1KQorKysgV2ViQ29yZS9kb20v
TW91c2VSZWxhdGVkRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsOCArNDAsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIE1vdXNlUmVsYXRlZEV2ZW50KCk7CiAgICAgICAgIE1v
dXNlUmVsYXRlZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUs
IGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3KiB2aWV3LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBjbGllbnRY
LCBpbnQgY2xpZW50WSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBhZ2VYLCBpbnQg
cGFnZVksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSwgYm9vbCBpc1NpbXVsYXRlZCA9IGZhbHNl
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwg
Ym9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5LCBib29sIGlzU2ltdWxhdGVkID0gZmFsc2UpOwog
CiAgICAgICAgIGludCBzY3JlZW5YKCkgY29uc3QgeyByZXR1cm4gbV9zY3JlZW5YOyB9CiAgICAg
ICAgIGludCBzY3JlZW5ZKCkgY29uc3QgeyByZXR1cm4gbV9zY3JlZW5ZOyB9CkluZGV4OiBXZWJD
b3JlL2RvbS9XaGVlbEV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9XaGVlbEV2
ZW50LmNwcAkocmV2aXNpb24gMTUwNDUpCisrKyBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDMsOCArNDMsNiBAQCBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KGJv
b2wgaG9yaXpvbnRhbCwgCiAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY3RybEtleSwgYm9v
bCBhbHRLZXksIGJvb2wgc2hpZnRLZXksIGJvb2wgbWV0YUtleSkKICAgICA6IE1vdXNlUmVsYXRl
ZEV2ZW50KGhvcml6b250YWwgPyBraHRtbEhvcml6b250YWxtb3VzZXdoZWVsRXZlbnQgOiBtb3Vz
ZXdoZWVsRXZlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB0cnVlLCB2aWV3LCAw
LCBzY3JlZW5YLCBzY3JlZW5ZLCBjbGllbnRYLCBjbGllbnRZLCAKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNsaWVudFggLSAodmlldyAmJiB2aWV3LT5mcmFtZSgpICYmIHZpZXctPmZyYW1lKCkt
PnZpZXcoKSkgPyB2aWV3LT5mcmFtZSgpLT52aWV3KCktPmNvbnRlbnRzWCgpIDogMCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWVudFkgLSAodmlldyAmJiB2aWV3LT5mcmFtZSgpICYmIHZp
ZXctPmZyYW1lKCktPnZpZXcoKSkgPyB2aWV3LT5mcmFtZSgpLT52aWV3KCktPmNvbnRlbnRzWSgp
IDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgIGN0cmxLZXksIGFsdEtleSwgc2hpZnRLZXks
IG1ldGFLZXkpCiAgICAgLCBtX2hvcml6b250YWwoaG9yaXpvbnRhbCkKICAgICAsIG1fd2hlZWxE
ZWx0YSh3aGVlbERlbHRhKQpJbmRleDogV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDE1MDQ1KQorKysg
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1OSwxNyArNzU5
LDkgQEAgYm9vbCBGcmFtZVZpZXc6OmRpc3BhdGNoRHJhZ0V2ZW50KGNvbnN0IAogewogICAgIElu
dFBvaW50IGNsaWVudFBvcyA9IHZpZXdwb3J0VG9Db250ZW50cyhldmVudC5wb3MoKSk7CiAgICAg
Ci0gICAgaW50IGNsaWVudFggPSBjbGllbnRQb3MueCgpOyAKLSAgICBpbnQgY2xpZW50WSA9IGNs
aWVudFBvcy55KCk7IAotICAgIGludCBwYWdlWCA9IGNsaWVudFg7IAotICAgIGludCBwYWdlWSA9
IGNsaWVudFk7IAotICAgIGlmIChGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLT5kb2N1bWVudCgp
LT52aWV3KCkpIHsKLSAgICAgICAgcGFnZVggLT0gdmlldy0+Y29udGVudHNYKCk7Ci0gICAgICAg
IHBhZ2VZIC09IHZpZXctPmNvbnRlbnRzWSgpOwotICAgIH0KICAgICBSZWZQdHI8TW91c2VFdmVu
dD4gbWUgPSBuZXcgTW91c2VFdmVudChldmVudFR5cGUsCiAgICAgICAgIHRydWUsIHRydWUsIG1f
ZnJhbWUtPmRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksCi0gICAgICAgIDAsIGV2ZW50Lmdsb2Jh
bFgoKSwgZXZlbnQuZ2xvYmFsWSgpLCBwYWdlWCwgcGFnZVksIGNsaWVudFgsIGNsaWVudFksCisg
ICAgICAgIDAsIGV2ZW50Lmdsb2JhbFgoKSwgZXZlbnQuZ2xvYmFsWSgpLCBjbGllbnRQb3MueCgp
LCBjbGllbnRQb3MueSgpLAogICAgICAgICBldmVudC5jdHJsS2V5KCksIGV2ZW50LmFsdEtleSgp
LCBldmVudC5zaGlmdEtleSgpLCBldmVudC5tZXRhS2V5KCksCiAgICAgICAgIDAsIDAsIGNsaXBi
b2FyZCk7CiAK
</data>
<flag name="review"
          id="2682"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>