<?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>26034</bug_id>
          
          <creation_ts>2009-05-26 17:01:20 -0700</creation_ts>
          <short_desc>Loading url with anchor should keep page scrolled to anchor while images load and scripts run</short_desc>
          <delta_ts>2009-10-29 10:51:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>hyatt</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>123209</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-05-26 17:01:20 -0700</bug_when>
    <thetext>FrameLoader calls gotoAnchor() in finishedParsing(), which causes WebKit to scroll to an anchor after html has loaded, but before images load and scripts run.  By the time elements have loaded, the original scrolling may no longer be the actual location of the anchor.  Scrolling to the anchor before all elements have loaded makes sense, but ideally we would ensure that the anchor continues to be displayed, even as its position relative to the top of the document might change.

http://code.google.com/p/chromium/issues/detail?id=619 appears to be an example of the image case of this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123449</commentid>
    <comment_count>1</comment_count>
      <attachid>30745</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-05-28 13:02:46 -0700</bug_when>
    <thetext>Created attachment 30745
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123596</commentid>
    <comment_count>2</comment_count>
      <attachid>30745</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-05-29 13:07:52 -0700</bug_when>
    <thetext>Comment on attachment 30745
patch

Yeah this is really close.  The one thing I think you are missing here is that all scrolls should turn off the lock and not just user scrolls.  For example if the page focuses a text field after the anchor jump, and we scroll to expose that text field, you can&apos;t then jump back to the anchor.  If a page sets body.scrollTop back to 0, you can&apos;t jump back to the anchor after that, etc.  Basically you need to turn off the lock if any scrolling happens AT ALL (other than the gotoAnchor scroll obviously).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123601</commentid>
    <comment_count>3</comment_count>
      <attachid>30786</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-05-29 13:45:40 -0700</bug_when>
    <thetext>Created attachment 30786
patch2

Programmatic scroll now releases the anchor lock.  Note that navigating to an anchor is a type of programmatic scroll, so when gotoAnchor() gets called, the anchor lock gets released in FrameView, then gotoAnchor() sets the anchor lock again before it returns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123611</commentid>
    <comment_count>4</comment_count>
      <attachid>30786</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-05-29 14:13:20 -0700</bug_when>
    <thetext>Comment on attachment 30786
patch2

No need to check if (lockedToAnchor()) in setWasScrolledByUser.  Everything else looks good.

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123612</commentid>
    <comment_count>5</comment_count>
      <attachid>30789</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-05-29 14:30:18 -0700</bug_when>
    <thetext>Created attachment 30789
patch3

Removed the spurious if() and fixed a tab that was off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123645</commentid>
    <comment_count>6</comment_count>
      <attachid>30795</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-05-29 16:17:13 -0700</bug_when>
    <thetext>Created attachment 30795
patch4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123647</commentid>
    <comment_count>7</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-05-29 16:21:31 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=30795) [review]
&gt; patch4
&gt; 

Added a null check for m_frame-&gt;view() in FrameLoader::completed(), was intermittently crashing a few tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123670</commentid>
    <comment_count>8</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-29 20:04:53 -0700</bug_when>
    <thetext>Doh, you forgot to mark it for review :) Nobody will ever find it! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123671</commentid>
    <comment_count>9</comment_count>
      <attachid>30795</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-29 20:05:56 -0700</bug_when>
    <thetext>Comment on attachment 30795
patch4

Please don&apos;t forget about better layout tests. We need pretty, pretty layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123791</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-01 00:24:17 -0700</bug_when>
    <thetext>Will land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123804</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-01 00:53:20 -0700</bug_when>
    <thetext>Fixed in r44311.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123810</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-01 01:32:47 -0700</bug_when>
    <thetext>Please verify that the expected result landed in http://trac.webkit.org/changeset/44318 is correct.  The attached patch is missing the expected result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123840</commentid>
    <comment_count>13</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-06-01 09:48:00 -0700</bug_when>
    <thetext>I&apos;m going to reopen this bug to handle the additional layout tests that I need to add.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123940</commentid>
    <comment_count>14</comment_count>
      <attachid>30795</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-01 23:41:40 -0700</bug_when>
    <thetext>Comment on attachment 30795
patch4

This patch has already been landed.  Removing from commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123951</commentid>
    <comment_count>15</comment_count>
      <attachid>30786</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-06-02 00:38:11 -0700</bug_when>
    <thetext>Comment on attachment 30786
patch2

I&apos;m told if I remove the r+ from this obsolete patch, this will be removed from the commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130769</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-07-09 16:52:29 -0700</bug_when>
    <thetext>This likely caused bug 27137.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30745</attachid>
            <date>2009-05-28 13:02:46 -0700</date>
            <delta_ts>2009-05-29 13:45:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>anchor_patch.txt</filename>
            <type>text/plain</type>
            <size>7999</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDI1MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDUtMjggIE5hdGUgQ2hhcGluICA8amFwaGV0QGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBJZiBhIHVybCB3aXRoIGFuIGFuY2hvciBpcyBiZWluZyBsb2FkZWQsIGVuc3VyZSB0aGF0
IHRoZSBhbmNob3IgcmVtYWlucyBsb2NrZWQgaW4gdmlldyB1bnRpbCB0aGUgcGFnZQorICAgICAg
ICBoYXMgZmluaXNoZWQgbG9hZGluZyBjb21wZWx0ZWx5IG9yIHRoZSB1c2VyIGhhcyBtYW51YWxs
eSBzY3JvbGxlZC4gIFJlZnJlc2hpbmcgYW4gYW5jaG9yIHVybCBhZnRlcgorICAgICAgICBzY3Jv
bGxpbmcgdG8gYSBuZXcgbG9jYXRpb24gb24gdGhlIHBhZ2Ugd2lsbCBzdGlsbCByZXN1bHQgaW4g
anVtcGluZyB0byB0aGUgbmV3IGxvY2F0aW9uLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MDM0CisKKyAgICAgICAgKiBsb2FkZXIv
RnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmdvdG9BbmNo
b3IpOiBTZXQgYW5jaG9yIGxvY2sgYWZ0ZXIgbmF2aWdhdGluZyB0byBhbmNob3IuCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29tcGxldGVkKTogUmVsZWFzZSBhbmNob3IgbG9jay4K
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OkZyYW1lVmlldyk6IEVuc3VyZSBhbmNob3IgbG9jayBzdGFydHMgdW5zZXQuCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0KTogRW5zdXJlIGFuY2hvciBsb2NrIHN0YXJ0cyB1
bnNldC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KTogSWYgYW5jaG9yIGxv
Y2sgaXMgc2V0LCBmb3JjZSBhIGdvdG9BbmNob3IoKSBhZnRlciBsYXlvdXQuCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OnNldFdhc1Njcm9sbGVkQnlVc2VyKTogUmVsZWFzZSBhbmNob3Ig
bG9jayBpZiB1c2VyIG1hbnVhbGx5IHNjcm9sbHMuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bG9ja2VkVG9BbmNob3IpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0TG9ja2VkVG9BbmNob3IpOiBBZGRlZC4K
KwogMjAwOS0wNS0yOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNp
b24gNDQyNDYpCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE2MzAsOCArMTYzMCwxMSBAQCBib29sIEZyYW1lTG9hZGVyOjpnb3RvQW5jaG9yKGNv
bnN0IFN0cmluCiAgICAgICAgIHJlbmRlcmVyID0gYW5jaG9yTm9kZS0+cmVuZGVyZXIoKTsKICAg
ICAgICAgcmVjdCA9IGFuY2hvck5vZGUtPmdldFJlY3QoKTsKICAgICB9Ci0gICAgaWYgKHJlbmRl
cmVyKQorICAgIGlmIChyZW5kZXJlcikgewogICAgICAgICByZW5kZXJlci0+ZW5jbG9zaW5nTGF5
ZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCB0cnVlLCBTY3JvbGxBbGlnbm1lbnQ6OmFs
aWduVG9FZGdlSWZOZWVkZWQsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BBbHdheXMpOworICAg
ICAgICBpZiAobV9mcmFtZS0+dmlldygpKQorICAgICAgICAgICAgbV9mcmFtZS0+dmlldygpLT5z
ZXRMb2NrZWRUb0FuY2hvcih0cnVlKTsKKyAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAg
LTIxMjksNiArMjEzMiw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNvbXBsZXRlZCgpCiAgICAgICAg
IGNoaWxkLT5sb2FkZXIoKS0+cGFyZW50Q29tcGxldGVkKCk7CiAgICAgaWYgKEZyYW1lKiBwYXJl
bnQgPSBtX2ZyYW1lLT50cmVlKCktPnBhcmVudCgpKQogICAgICAgICBwYXJlbnQtPmxvYWRlcigp
LT5jaGVja0NvbXBsZXRlZCgpOworICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0TG9ja2VkVG9BbmNo
b3IoZmFsc2UpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpzdGFydGVkKCkKSW5kZXg6IFdlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCShyZXZpc2lvbiA0NDI0NikKKysrIFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTExLDcgQEAgRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJh
bWUqIGZyYW1lKQogICAgICwgbV9zaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbih0cnVlKQogICAg
ICwgbV9kZWZlclNldE5lZWRzTGF5b3V0cygwKQogICAgICwgbV9zZXROZWVkc0xheW91dFdhc0Rl
ZmVycmVkKGZhbHNlKQorICAgICwgbV9sb2NrZWRUb0FuY2hvcihmYWxzZSkKIHsKICAgICBpbml0
KCk7CiAgICAgc2hvdygpOwpAQCAtMTM4LDYgKzEzOSw3IEBAIEZyYW1lVmlldzo6RnJhbWVWaWV3
KEZyYW1lKiBmcmFtZSwgY29uc3QKICAgICAsIG1fc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4o
dHJ1ZSkKICAgICAsIG1fZGVmZXJTZXROZWVkc0xheW91dHMoMCkKICAgICAsIG1fc2V0TmVlZHNM
YXlvdXRXYXNEZWZlcnJlZChmYWxzZSkKKyAgICAsIG1fbG9ja2VkVG9BbmNob3IoZmFsc2UpCiB7
CiAgICAgaW5pdCgpOwogICAgIFdpZGdldDo6c2V0RnJhbWVSZWN0KEludFJlY3QoeCgpLCB5KCks
IGluaXRpYWxTaXplLndpZHRoKCksIGluaXRpYWxTaXplLmhlaWdodCgpKSk7CkBAIC0xOTksNiAr
MjAxLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKICAgICBtX2lzUGFpbnRpbmcgPSBmYWxz
ZTsKICAgICBtX2lzVmlzdWFsbHlOb25FbXB0eSA9IGZhbHNlOwogICAgIG1fZmlyc3RWaXN1YWxs
eU5vbkVtcHR5TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gdHJ1ZTsKKyAgICBtX2xvY2tlZFRvQW5j
aG9yID0gZmFsc2U7CiB9CiAKIGJvb2wgRnJhbWVWaWV3Ojppc0ZyYW1lVmlldygpIGNvbnN0IApA
QCAtNjUwLDYgKzY1Myw5IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRy
ZWUKICAgICAgICAgQVNTRVJUKG1fZW5xdWV1ZUV2ZW50cyk7CiAgICAgfQogCisgICAgaWYgKGxv
Y2tlZFRvQW5jaG9yKCkpCisgICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+Z290b0FuY2hvcigpOwor
CiAgICAgbV9uZXN0ZWRMYXlvdXRDb3VudC0tOwogfQogCkBAIC0xMzMwLDYgKzEzMzYsOCBAQCB2
b2lkIEZyYW1lVmlldzo6c2V0V2FzU2Nyb2xsZWRCeVVzZXIoYm9vCiB7CiAgICAgaWYgKG1faW5Q
cm9ncmFtbWF0aWNTY3JvbGwpCiAgICAgICAgIHJldHVybjsKKyAgICBpZiAobG9ja2VkVG9BbmNo
b3IoKSkKKyAgICAgICAgc2V0TG9ja2VkVG9BbmNob3IoZmFsc2UpOwogICAgIG1fd2FzU2Nyb2xs
ZWRCeVVzZXIgPSB3YXNTY3JvbGxlZEJ5VXNlcjsKIH0KIApJbmRleDogV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNp
b24gNDQyNDYpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAg
LTE4OCw2ICsxODgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkanVzdFBhZ2VIZWlnaHQoZmxv
YXQqIG5ld0JvdHRvbSwgZmxvYXQgb2xkVG9wLCBmbG9hdCBvbGRCb3R0b20sIGZsb2F0IGJvdHRv
bUxpbWl0KTsKIAorICAgIGJvb2wgbG9ja2VkVG9BbmNob3IoKSB7IHJldHVybiBtX2xvY2tlZFRv
QW5jaG9yOyB9CisgICAgdm9pZCBzZXRMb2NrZWRUb0FuY2hvcihib29sIGxvY2tlZFRvQW5jaG9y
KSB7IG1fbG9ja2VkVG9BbmNob3IgPSBsb2NrZWRUb0FuY2hvcjsgfQorCiAKIHByaXZhdGU6CiAg
ICAgdm9pZCByZXNldCgpOwpAQCAtMjg4LDYgKzI5MSw4IEBAIHByaXZhdGU6CiAKICAgICBib29s
IG1faXNWaXN1YWxseU5vbkVtcHR5OwogICAgIGJvb2wgbV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlM
YXlvdXRDYWxsYmFja1BlbmRpbmc7CisKKyAgICBib29sIG1fbG9ja2VkVG9BbmNob3I7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NDI1MCkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDA5
LTA1LTI4ICBOYXRlIENoYXBpbiAgPGphcGhldEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuc3VyZSBhbiBhbmNob3IgcmVtYWlu
cyBsb2NrZWQgaW4gdmlldyBhcyBpbWFnZXMgKHdpdGhvdXQgaGVpZ2h0IGFscmVhZHkgc3BlY2lm
aWVkKSBsb2FkIGFyb3VuZCBpdC4KKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjAzNAorCisgICAgICAgICogZmFzdC9keW5hbWljL2Fu
Y2hvci1sb2NrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZHluYW1pYy9yZXNvdXJjZXMv
bGFyZ2VibGFuay5wbmc6IEFkZGVkLgorCiAyMDA5LTA1LTI4ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL2FuY2hvci1sb2NrLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL2FuY2hvci1sb2NrLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2R5bmFtaWMvYW5jaG9yLWxvY2suaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5BbmNob3IgTG9j
azwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5BbmNob3IgTG9jazwvaDE+Cis8cD5UaGlz
IHRlc3RzIFdlYktpdCdzIGFiaWxpdHkgdG8gbG9jayB0byBhbiBhbmNob3IgYW5kIG1haW50YWlu
IGZvY3VzIG9uIGl0IGFzIGltYWdlcyBhcmUgbG9hZGVkIGFib3ZlIGFuZCBiZWxvdyBpdC4gVGhl
IEFuY2hvciB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlIGFuZCB0aGlzIG1lc3NhZ2Ugc2hvdWxkIG5v
dC48L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8cD48
aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8cD48aW1nIHNyYz0icmVz
b3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdl
YmxhbmsucG5nIj48L3A+Cis8YSBuYW1lPSJhbmNob3IxIj5BbmNob3IgdGV4dCAtIHRoaXMgc2hv
dWxkIGJlIHRoZSBvbmx5IHZpc2libGUgdGV4dC48L2E+Cis8cD48aW1nIHNyYz0icmVzb3VyY2Vz
L2xhcmdlYmxhbmsucG5nIj48L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsu
cG5nIj48L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8
cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8cD48aW1nIHNyYz0i
cmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Citkb2N1bWVudC53cml0ZShsb2NhdGlvbi5ocmVmPSIjYW5jaG9yMSIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2R5bmFtaWMvcmVz
b3VyY2VzL2xhcmdlYmxhbmsucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTWdBQUFESUNBSUFBQUFpT2puSkFBQUFC
R2RCVFVFQUFMR1BDL3hoQlFBQUJEQkpSRUZVCmVGN3QxYkVSQUNFTXhFRG92MmovMDRNVlNSUndn
V2JIM0prNXZRcXNGL2hoOVNxd1h1Q3NMelpZZ2ZjTlZxRUNSSUZnRVZYYjdHSmwKZ0NuUXhXSzY2
bGVEcFNmQUJBZ1cwMVcvR2l3OUFTWkFzSml1K3RWZzZRa3dBWUxGZE5XdkJrdFBnQWtRTEthcmZq
VlllZ0pNZ0dBeApYZldyd2RJVFlBSUVpK21xWHcyV25nQVRJRmhNVi8xcXNQUUVtQURCWXJycVY0
T2xKOEFFQ0JiVFZiOGFMRDBCSmtDd21LNzYxV0RwCkNUQUJnc1YwMWE4R1MwK0FDUkFzcHF0K05W
aDZBa3lBWURGZDlhdkIwaE5nQWdTTDZhcGZEWmFlQUJNZ1dFeFgvV3F3OUFTWUFNRmkKdXVwWGc2
VW53QVFJRnROVnZ4b3NQUUVtUUxDWXJ2clZZT2tKTUFHQ3hYVFZyd1pMVDRBSkVDeW1xMzQxV0hv
Q1RJQmdNVjMxcThIUwpFMkFDQkl2cHFsOE5scDRBRXlCWVRGZjlhckQwQkpnQXdXSzY2bGVEcFNm
QUJBZ1cwMVcvR2l3OUFTWkFzSml1K3RWZzZRa3dBWUxGCmROV3ZCa3RQZ0FrUUxLYXJmalZZZWdK
TWdHQXhYZldyd2RJVFlBSUVpK21xWHcyV25nQVRJRmhNVi8xcXNQUUVtQURCWXJycVY0T2wKSjhB
RUNCYlRWYjhhTEQwQkprQ3dtSzc2MVdEcENUQUJnc1YwMWE4R1MwK0FDUkFzcHF0K05WaDZBa3lB
WURGZDlhdkIwaE5nQWdTTAo2YXBmRFphZUFCTWdXRXhYL1dxdzlBU1lBTUZpdXVwWGc2VW53QVFJ
RnROVnZ4b3NQUUVtUUxDWXJ2clZZT2tKTUFHQ3hYVFZyd1pMClQ0QUpFQ3ltcTM0MVdIb0NUSUJn
TVYzMXE4SFNFMkFDQkl2cHFsOE5scDRBRXlCWVRGZjlhckQwQkpnQXdXSzY2bGVEcFNmQUJBZ1cK
MDFXL0dpdzlBU1pBc0ppdSt0Vmc2UWt3QVlMRmROV3ZCa3RQZ0FrUUxLYXJmalZZZWdKTWdHQXhY
Zldyd2RJVFlBSUVpK21xWHcyVwpuZ0FUSUZoTVYvMXFzUFFFbUFEQllycnFWNE9sSjhBRUNCYlRW
YjhhTEQwQkprQ3dtSzc2MVdEcENUQUJnc1YwMWE4R1MwK0FDUkFzCnBxdCtOVmg2QWt5QVlERmQ5
YXZCMGhOZ0FnU0w2YXBmRFphZUFCTWdXRXhYL1dxdzlBU1lBTUZpdXVwWGc2VW53QVFJRnROVnZ4
b3MKUFFFbVFMQ1lydnJWWU9rSk1BR0N4WFRWcndaTFQ0QUpFQ3ltcTM0MVdIb0NUSUJnTVYzMXE4
SFNFMkFDQkl2cHFsOE5scDRBRXlCWQpURmY5YXJEMEJKZ0F3V0s2NmxlRHBTZkFCQWdXMDFXL0dp
dzlBU1pBc0ppdSt0Vmc2UWt3QVlMRmROV3ZCa3RQZ0FrUUxLYXJmalZZCmVnSk1nR0F4WGZXcndk
SVRZQUlFaSttcVh3MlduZ0FUSUZoTVYvMXFzUFFFbUFEQllycnFWNE9sSjhBRUNCYlRWYjhhTEQw
QkprQ3cKbUs3NjFXRHBDVEFCZ3NWMDFhOEdTMCtBQ1JBc3BxdCtOVmg2QWt5QVlERmQ5YXZCMGhO
Z0FnU0w2YXBmRFphZUFCTWdXRXhYL1dxdwo5QVNZQU1GaXV1cFhnNlVud0FRSUZ0TlZ2eG9zUFFF
bVFMQ1lydnJWWU9rSk1BR0N4WFRWcndaTFQ0QUpFQ3ltcTM0MVdIb0NUSUJnCk1WMzFxOEhTRTJB
Q0JJdnBxbDhObHA0QUV5QllURmY5YXJEMEJKZ0F3V0s2NmxlRHBTZkFCUGdBS1hPengxa2hvS3dB
QUFBQVNVVk8KUks1Q1lJST0KCg==
</data>
<flag name="review"
          id="15593"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30786</attachid>
            <date>2009-05-29 13:45:40 -0700</date>
            <delta_ts>2009-06-02 00:38:11 -0700</delta_ts>
            <desc>patch2</desc>
            <filename>anchor_patch2.txt</filename>
            <type>text/plain</type>
            <size>8815</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDI1MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDktMDUtMjggIE5hdGUgQ2hhcGluICA8amFwaGV0QGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBJZiBhIHVybCB3aXRoIGFuIGFuY2hvciBpcyBiZWluZyBsb2FkZWQsIGVuc3VyZSB0aGF0
IHRoZSBhbmNob3IgcmVtYWlucyBsb2NrZWQgaW4gdmlldyB1bnRpbCB0aGUgcGFnZQorICAgICAg
ICBoYXMgZmluaXNoZWQgbG9hZGluZyBjb21wZWx0ZWx5IG9yIHRoZSB1c2VyIGhhcyBtYW51YWxs
eSBzY3JvbGxlZC4gIFJlZnJlc2hpbmcgYW4gYW5jaG9yIHVybCBhZnRlcgorICAgICAgICBzY3Jv
bGxpbmcgdG8gYSBuZXcgbG9jYXRpb24gb24gdGhlIHBhZ2Ugd2lsbCBzdGlsbCByZXN1bHQgaW4g
anVtcGluZyB0byB0aGUgbmV3IGxvY2F0aW9uLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MDM0CisKKyAgICAgICAgKiBsb2FkZXIv
RnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmdvdG9BbmNo
b3IpOiBTZXQgYW5jaG9yIGxvY2sgYWZ0ZXIgbmF2aWdhdGluZyB0byBhbmNob3IuCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29tcGxldGVkKTogUmVsZWFzZSBhbmNob3IgbG9jay4K
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OkZyYW1lVmlldyk6IEVuc3VyZSBhbmNob3IgbG9jayBzdGFydHMgdW5zZXQuCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0KTogRW5zdXJlIGFuY2hvciBsb2NrIHN0YXJ0cyB1
bnNldC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KTogSWYgYW5jaG9yIGxv
Y2sgaXMgc2V0LCBmb3JjZSBhIGdvdG9BbmNob3IoKSBhZnRlciBsYXlvdXQuCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFJlY3RJbnRvVmlld1JlY3Vyc2l2ZWx5KTogUmVsZWFz
ZSBhbmNob3IgbG9jayBpZiBhIHByb2dyYW1tYXRpYyBzY3JvbGwgYmVnaW5zLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRXYXNTY3JvbGxlZEJ5VXNlcik6IFJlbGVhc2UgYW5jaG9y
IGxvY2sgaWYgdXNlciBtYW51YWxseSBzY3JvbGxzLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6IFJlbGVhc2UgYW5jaG9yIGxvY2sgaWYgYSBwcm9ncmFt
bWF0aWMgc2Nyb2xsIGJlZ2lucy4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpsb2NrZWRUb0FuY2hvcik6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRMb2NrZWRUb0FuY2hvcik6IEFkZGVkLgorCiAyMDA5LTA1
LTI4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA0NDI0NikK
KysrIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYz
MCw4ICsxNjMwLDExIEBAIGJvb2wgRnJhbWVMb2FkZXI6OmdvdG9BbmNob3IoY29uc3QgU3RyaW4K
ICAgICAgICAgcmVuZGVyZXIgPSBhbmNob3JOb2RlLT5yZW5kZXJlcigpOwogICAgICAgICByZWN0
ID0gYW5jaG9yTm9kZS0+Z2V0UmVjdCgpOwogICAgIH0KLSAgICBpZiAocmVuZGVyZXIpCisgICAg
aWYgKHJlbmRlcmVyKSB7CiAgICAgICAgIHJlbmRlcmVyLT5lbmNsb3NpbmdMYXllcigpLT5zY3Jv
bGxSZWN0VG9WaXNpYmxlKHJlY3QsIHRydWUsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJ
Zk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyk7CisgICAgICAgIGlmICht
X2ZyYW1lLT52aWV3KCkpCisgICAgICAgICAgICBtX2ZyYW1lLT52aWV3KCktPnNldExvY2tlZFRv
QW5jaG9yKHRydWUpOworICAgIH0KIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMjEyOSw2ICsy
MTMyLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tcGxldGVkKCkKICAgICAgICAgY2hpbGQtPmxv
YWRlcigpLT5wYXJlbnRDb21wbGV0ZWQoKTsKICAgICBpZiAoRnJhbWUqIHBhcmVudCA9IG1fZnJh
bWUtPnRyZWUoKS0+cGFyZW50KCkpCiAgICAgICAgIHBhcmVudC0+bG9hZGVyKCktPmNoZWNrQ29t
cGxldGVkKCk7CisgICAgbV9mcmFtZS0+dmlldygpLT5zZXRMb2NrZWRUb0FuY2hvcihmYWxzZSk7
CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0ZWQoKQpJbmRleDogV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJl
dmlzaW9uIDQ0MjQ2KQorKysgV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTExMSw2ICsxMTEsNyBAQCBGcmFtZVZpZXc6OkZyYW1lVmlldyhGcmFtZSogZnJhbWUp
CiAgICAgLCBtX3Nob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKHRydWUpCiAgICAgLCBtX2RlZmVy
U2V0TmVlZHNMYXlvdXRzKDApCiAgICAgLCBtX3NldE5lZWRzTGF5b3V0V2FzRGVmZXJyZWQoZmFs
c2UpCisgICAgLCBtX2xvY2tlZFRvQW5jaG9yKGZhbHNlKQogewogICAgIGluaXQoKTsKICAgICBz
aG93KCk7CkBAIC0xMzgsNiArMTM5LDcgQEAgRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUqIGZy
YW1lLCBjb25zdAogICAgICwgbV9zaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbih0cnVlKQogICAg
ICwgbV9kZWZlclNldE5lZWRzTGF5b3V0cygwKQogICAgICwgbV9zZXROZWVkc0xheW91dFdhc0Rl
ZmVycmVkKGZhbHNlKQorICAgICwgbV9sb2NrZWRUb0FuY2hvcihmYWxzZSkKIHsKICAgICBpbml0
KCk7CiAgICAgV2lkZ2V0OjpzZXRGcmFtZVJlY3QoSW50UmVjdCh4KCksIHkoKSwgaW5pdGlhbFNp
emUud2lkdGgoKSwgaW5pdGlhbFNpemUuaGVpZ2h0KCkpKTsKQEAgLTE5OSw2ICsyMDEsNyBAQCB2
b2lkIEZyYW1lVmlldzo6cmVzZXQoKQogICAgIG1faXNQYWludGluZyA9IGZhbHNlOwogICAgIG1f
aXNWaXN1YWxseU5vbkVtcHR5ID0gZmFsc2U7CiAgICAgbV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlM
YXlvdXRDYWxsYmFja1BlbmRpbmcgPSB0cnVlOworICAgIG1fbG9ja2VkVG9BbmNob3IgPSBmYWxz
ZTsKIH0KIAogYm9vbCBGcmFtZVZpZXc6OmlzRnJhbWVWaWV3KCkgY29uc3QgCkBAIC02NTAsNiAr
NjUzLDkgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZQogICAgICAg
ICBBU1NFUlQobV9lbnF1ZXVlRXZlbnRzKTsKICAgICB9CiAKKyAgICBpZiAobG9ja2VkVG9BbmNo
b3IoKSkKKyAgICAgIG1fZnJhbWUtPmxvYWRlcigpLT5nb3RvQW5jaG9yKCk7CisKICAgICBtX25l
c3RlZExheW91dENvdW50LS07CiB9CiAKQEAgLTczNiw2ICs3NDIsNyBAQCB2b2lkIEZyYW1lVmll
dzo6c2Nyb2xsUmVjdEludG9WaWV3UmVjdXJzCiB7CiAgICAgYm9vbCB3YXNJblByb2dyYW1tYXRp
Y1Njcm9sbCA9IG1faW5Qcm9ncmFtbWF0aWNTY3JvbGw7CiAgICAgbV9pblByb2dyYW1tYXRpY1Nj
cm9sbCA9IHRydWU7CisgICAgc2V0TG9ja2VkVG9BbmNob3IoZmFsc2UpOwogICAgIFNjcm9sbFZp
ZXc6OnNjcm9sbFJlY3RJbnRvVmlld1JlY3Vyc2l2ZWx5KHIpOwogICAgIG1faW5Qcm9ncmFtbWF0
aWNTY3JvbGwgPSB3YXNJblByb2dyYW1tYXRpY1Njcm9sbDsKIH0KQEAgLTc0NCw2ICs3NTEsNyBA
QCB2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgCiB7CiAgICAgYm9vbCB3
YXNJblByb2dyYW1tYXRpY1Njcm9sbCA9IG1faW5Qcm9ncmFtbWF0aWNTY3JvbGw7CiAgICAgbV9p
blByb2dyYW1tYXRpY1Njcm9sbCA9IHRydWU7CisgICAgc2V0TG9ja2VkVG9BbmNob3IoZmFsc2Up
OwogICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvaW50KTsKICAgICBt
X2luUHJvZ3JhbW1hdGljU2Nyb2xsID0gd2FzSW5Qcm9ncmFtbWF0aWNTY3JvbGw7CiB9CkBAIC0x
MzMwLDYgKzEzMzgsOCBAQCB2b2lkIEZyYW1lVmlldzo6c2V0V2FzU2Nyb2xsZWRCeVVzZXIoYm9v
CiB7CiAgICAgaWYgKG1faW5Qcm9ncmFtbWF0aWNTY3JvbGwpCiAgICAgICAgIHJldHVybjsKKyAg
ICBpZiAobG9ja2VkVG9BbmNob3IoKSkKKyAgICAgICAgc2V0TG9ja2VkVG9BbmNob3IoZmFsc2Up
OwogICAgIG1fd2FzU2Nyb2xsZWRCeVVzZXIgPSB3YXNTY3JvbGxlZEJ5VXNlcjsKIH0KIApJbmRl
eDogV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuaAkocmV2aXNpb24gNDQyNDYpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE4OCw2ICsxODgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFk
anVzdFBhZ2VIZWlnaHQoZmxvYXQqIG5ld0JvdHRvbSwgZmxvYXQgb2xkVG9wLCBmbG9hdCBvbGRC
b3R0b20sIGZsb2F0IGJvdHRvbUxpbWl0KTsKIAorICAgIGJvb2wgbG9ja2VkVG9BbmNob3IoKSB7
IHJldHVybiBtX2xvY2tlZFRvQW5jaG9yOyB9CisgICAgdm9pZCBzZXRMb2NrZWRUb0FuY2hvcihi
b29sIGxvY2tlZFRvQW5jaG9yKSB7IG1fbG9ja2VkVG9BbmNob3IgPSBsb2NrZWRUb0FuY2hvcjsg
fQorCiAKIHByaXZhdGU6CiAgICAgdm9pZCByZXNldCgpOwpAQCAtMjg4LDYgKzI5MSw4IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIG1faXNWaXN1YWxseU5vbkVtcHR5OwogICAgIGJvb2wgbV9maXJz
dFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmc7CisKKyAgICBib29sIG1fbG9j
a2VkVG9BbmNob3I7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA0NDI1MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE0IEBACisyMDA5LTA1LTI4ICBOYXRlIENoYXBpbiAgPGphcGhldEBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuc3Vy
ZSBhbiBhbmNob3IgcmVtYWlucyBsb2NrZWQgaW4gdmlldyBhcyBpbWFnZXMgKHdpdGhvdXQgaGVp
Z2h0IGFscmVhZHkgc3BlY2lmaWVkKSBsb2FkIGFyb3VuZCBpdC4KKyAgICAgICAgCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjAzNAorCisgICAgICAg
ICogZmFzdC9keW5hbWljL2FuY2hvci1sb2NrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZHluYW1pYy9yZXNvdXJjZXMvbGFyZ2VibGFuay5wbmc6IEFkZGVkLgorCiAyMDA5LTA1LTI4ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE9saXZlciBIdW50LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL2FuY2hvci1s
b2NrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL2FuY2hvci1s
b2NrLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2R5bmFtaWMvYW5jaG9y
LWxvY2suaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMiBAQAorPGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5BbmNob3IgTG9jazwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5BbmNob3Ig
TG9jazwvaDE+Cis8cD5UaGlzIHRlc3RzIFdlYktpdCdzIGFiaWxpdHkgdG8gbG9jayB0byBhbiBh
bmNob3IgYW5kIG1haW50YWluIGZvY3VzIG9uIGl0IGFzIGltYWdlcyBhcmUgbG9hZGVkIGFib3Zl
IGFuZCBiZWxvdyBpdC4gVGhlIEFuY2hvciB0ZXh0IHNob3VsZCBiZSB2aXNpYmxlIGFuZCB0aGlz
IG1lc3NhZ2Ugc2hvdWxkIG5vdC48L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxh
bmsucG5nIj48L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+
Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8cD48aW1nIHNy
Yz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8YSBuYW1lPSJhbmNob3IxIj5BbmNo
b3IgdGV4dCAtIHRoaXMgc2hvdWxkIGJlIHRoZSBvbmx5IHZpc2libGUgdGV4dC48L2E+Cis8cD48
aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8cD48aW1nIHNyYz0icmVz
b3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdl
YmxhbmsucG5nIj48L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48
L3A+Cis8cD48aW1nIHNyYz0icmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nIj48L3A+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Citkb2N1bWVudC53cml0ZShsb2NhdGlvbi5ocmVmPSIj
YW5jaG9yMSIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2R5bmFtaWMvcmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBh
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTWdBQUFE
SUNBSUFBQUFpT2puSkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUJEQkpSRUZVCmVGN3QxYkVSQUNF
TXhFRG92MmovMDRNVlNSUndnV2JIM0prNXZRcXNGL2hoOVNxd1h1Q3NMelpZZ2ZjTlZxRUNSSUZn
RVZYYjdHSmwKZ0NuUXhXSzY2bGVEcFNmQUJBZ1cwMVcvR2l3OUFTWkFzSml1K3RWZzZRa3dBWUxG
ZE5XdkJrdFBnQWtRTEthcmZqVlllZ0pNZ0dBeApYZldyd2RJVFlBSUVpK21xWHcyV25nQVRJRmhN
Vi8xcXNQUUVtQURCWXJycVY0T2xKOEFFQ0JiVFZiOGFMRDBCSmtDd21LNzYxV0RwCkNUQUJnc1Yw
MWE4R1MwK0FDUkFzcHF0K05WaDZBa3lBWURGZDlhdkIwaE5nQWdTTDZhcGZEWmFlQUJNZ1dFeFgv
V3F3OUFTWUFNRmkKdXVwWGc2VW53QVFJRnROVnZ4b3NQUUVtUUxDWXJ2clZZT2tKTUFHQ3hYVFZy
d1pMVDRBSkVDeW1xMzQxV0hvQ1RJQmdNVjMxcThIUwpFMkFDQkl2cHFsOE5scDRBRXlCWVRGZjlh
ckQwQkpnQXdXSzY2bGVEcFNmQUJBZ1cwMVcvR2l3OUFTWkFzSml1K3RWZzZRa3dBWUxGCmROV3ZC
a3RQZ0FrUUxLYXJmalZZZWdKTWdHQXhYZldyd2RJVFlBSUVpK21xWHcyV25nQVRJRmhNVi8xcXNQ
UUVtQURCWXJycVY0T2wKSjhBRUNCYlRWYjhhTEQwQkprQ3dtSzc2MVdEcENUQUJnc1YwMWE4R1Mw
K0FDUkFzcHF0K05WaDZBa3lBWURGZDlhdkIwaE5nQWdTTAo2YXBmRFphZUFCTWdXRXhYL1dxdzlB
U1lBTUZpdXVwWGc2VW53QVFJRnROVnZ4b3NQUUVtUUxDWXJ2clZZT2tKTUFHQ3hYVFZyd1pMClQ0
QUpFQ3ltcTM0MVdIb0NUSUJnTVYzMXE4SFNFMkFDQkl2cHFsOE5scDRBRXlCWVRGZjlhckQwQkpn
QXdXSzY2bGVEcFNmQUJBZ1cKMDFXL0dpdzlBU1pBc0ppdSt0Vmc2UWt3QVlMRmROV3ZCa3RQZ0Fr
UUxLYXJmalZZZWdKTWdHQXhYZldyd2RJVFlBSUVpK21xWHcyVwpuZ0FUSUZoTVYvMXFzUFFFbUFE
QllycnFWNE9sSjhBRUNCYlRWYjhhTEQwQkprQ3dtSzc2MVdEcENUQUJnc1YwMWE4R1MwK0FDUkFz
CnBxdCtOVmg2QWt5QVlERmQ5YXZCMGhOZ0FnU0w2YXBmRFphZUFCTWdXRXhYL1dxdzlBU1lBTUZp
dXVwWGc2VW53QVFJRnROVnZ4b3MKUFFFbVFMQ1lydnJWWU9rSk1BR0N4WFRWcndaTFQ0QUpFQ3lt
cTM0MVdIb0NUSUJnTVYzMXE4SFNFMkFDQkl2cHFsOE5scDRBRXlCWQpURmY5YXJEMEJKZ0F3V0s2
NmxlRHBTZkFCQWdXMDFXL0dpdzlBU1pBc0ppdSt0Vmc2UWt3QVlMRmROV3ZCa3RQZ0FrUUxLYXJm
alZZCmVnSk1nR0F4WGZXcndkSVRZQUlFaSttcVh3MlduZ0FUSUZoTVYvMXFzUFFFbUFEQllycnFW
NE9sSjhBRUNCYlRWYjhhTEQwQkprQ3cKbUs3NjFXRHBDVEFCZ3NWMDFhOEdTMCtBQ1JBc3BxdCtO
Vmg2QWt5QVlERmQ5YXZCMGhOZ0FnU0w2YXBmRFphZUFCTWdXRXhYL1dxdwo5QVNZQU1GaXV1cFhn
NlVud0FRSUZ0TlZ2eG9zUFFFbVFMQ1lydnJWWU9rSk1BR0N4WFRWcndaTFQ0QUpFQ3ltcTM0MVdI
b0NUSUJnCk1WMzFxOEhTRTJBQ0JJdnBxbDhObHA0QUV5QllURmY5YXJEMEJKZ0F3V0s2NmxlRHBT
ZkFCUGdBS1hPengxa2hvS3dBQUFBQVNVVk8KUks1Q1lJST0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30789</attachid>
            <date>2009-05-29 14:30:18 -0700</date>
            <delta_ts>2009-05-29 16:21:49 -0700</delta_ts>
            <desc>patch3</desc>
            <filename>anchor_patch3.txt</filename>
            <type>text/plain</type>
            <size>8976</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDI1MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDktMDUtMjggIE5hdGUgQ2hhcGluICA8amFwaGV0QGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBJZiBhIHVybCB3aXRoIGFuIGFuY2hvciBpcyBiZWluZyBsb2FkZWQsIGVuc3VyZSB0aGF0
IHRoZSBhbmNob3IgcmVtYWlucyBsb2NrZWQgaW4gdmlldyB1bnRpbCB0aGUgcGFnZQorICAgICAg
ICBoYXMgZmluaXNoZWQgbG9hZGluZyBjb21wZWx0ZWx5IG9yIHRoZSB1c2VyIGhhcyBtYW51YWxs
eSBzY3JvbGxlZC4gIFJlZnJlc2hpbmcgYW4gYW5jaG9yIHVybCBhZnRlcgorICAgICAgICBzY3Jv
bGxpbmcgdG8gYSBuZXcgbG9jYXRpb24gb24gdGhlIHBhZ2Ugd2lsbCBzdGlsbCByZXN1bHQgaW4g
anVtcGluZyB0byB0aGUgbmV3IGxvY2F0aW9uLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MDM0CisKKyAgICAgICAgKiBsb2FkZXIv
RnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmdvdG9BbmNo
b3IpOiBTZXQgYW5jaG9yIGxvY2sgYWZ0ZXIgbmF2aWdhdGluZyB0byBhbmNob3IuCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29tcGxldGVkKTogUmVsZWFzZSBhbmNob3IgbG9jay4K
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OkZyYW1lVmlldyk6IEVuc3VyZSBhbmNob3IgbG9jayBzdGFydHMgdW5zZXQuCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0KTogRW5zdXJlIGFuY2hvciBsb2NrIHN0YXJ0cyB1
bnNldC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KTogSWYgYW5jaG9yIGxv
Y2sgaXMgc2V0LCBmb3JjZSBhIGdvdG9BbmNob3IoKSBhZnRlciBsYXlvdXQuCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFJlY3RJbnRvVmlld1JlY3Vyc2l2ZWx5KTogUmVsZWFz
ZSBhbmNob3IgbG9jayBpZiBhIHByb2dyYW1tYXRpYyBzY3JvbGwgYmVnaW5zLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRXYXNTY3JvbGxlZEJ5VXNlcik6IFJlbGVhc2UgYW5jaG9y
IGxvY2sgaWYgdXNlciBtYW51YWxseSBzY3JvbGxzLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6IFJlbGVhc2UgYW5jaG9yIGxvY2sgaWYgYSBwcm9ncmFt
bWF0aWMgc2Nyb2xsIGJlZ2lucy4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpsb2NrZWRUb0FuY2hvcik6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRMb2NrZWRUb0FuY2hvcik6IEFkZGVkLgorCiAyMDA5LTA1
LTI4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA0NDI0NikK
KysrIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYz
MCw4ICsxNjMwLDExIEBAIGJvb2wgRnJhbWVMb2FkZXI6OmdvdG9BbmNob3IoY29uc3QgU3RyaW4K
ICAgICAgICAgcmVuZGVyZXIgPSBhbmNob3JOb2RlLT5yZW5kZXJlcigpOwogICAgICAgICByZWN0
ID0gYW5jaG9yTm9kZS0+Z2V0UmVjdCgpOwogICAgIH0KLSAgICBpZiAocmVuZGVyZXIpCisgICAg
aWYgKHJlbmRlcmVyKSB7CiAgICAgICAgIHJlbmRlcmVyLT5lbmNsb3NpbmdMYXllcigpLT5zY3Jv
bGxSZWN0VG9WaXNpYmxlKHJlY3QsIHRydWUsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJ
Zk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyk7CisgICAgICAgIGlmICht
X2ZyYW1lLT52aWV3KCkpCisgICAgICAgICAgICBtX2ZyYW1lLT52aWV3KCktPnNldExvY2tlZFRv
QW5jaG9yKHRydWUpOworICAgIH0KIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMjEyOSw2ICsy
MTMyLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tcGxldGVkKCkKICAgICAgICAgY2hpbGQtPmxv
YWRlcigpLT5wYXJlbnRDb21wbGV0ZWQoKTsKICAgICBpZiAoRnJhbWUqIHBhcmVudCA9IG1fZnJh
bWUtPnRyZWUoKS0+cGFyZW50KCkpCiAgICAgICAgIHBhcmVudC0+bG9hZGVyKCktPmNoZWNrQ29t
cGxldGVkKCk7CisgICAgbV9mcmFtZS0+dmlldygpLT5zZXRMb2NrZWRUb0FuY2hvcihmYWxzZSk7
CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0ZWQoKQpJbmRleDogV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJl
dmlzaW9uIDQ0MjQ2KQorKysgV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTExMSw2ICsxMTEsNyBAQCBGcmFtZVZpZXc6OkZyYW1lVmlldyhGcmFtZSogZnJhbWUp
CiAgICAgLCBtX3Nob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKHRydWUpCiAgICAgLCBtX2RlZmVy
U2V0TmVlZHNMYXlvdXRzKDApCiAgICAgLCBtX3NldE5lZWRzTGF5b3V0V2FzRGVmZXJyZWQoZmFs
c2UpCisgICAgLCBtX2xvY2tlZFRvQW5jaG9yKGZhbHNlKQogewogICAgIGluaXQoKTsKICAgICBz
aG93KCk7CkBAIC0xMzgsNiArMTM5LDcgQEAgRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUqIGZy
YW1lLCBjb25zdAogICAgICwgbV9zaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbih0cnVlKQogICAg
ICwgbV9kZWZlclNldE5lZWRzTGF5b3V0cygwKQogICAgICwgbV9zZXROZWVkc0xheW91dFdhc0Rl
ZmVycmVkKGZhbHNlKQorICAgICwgbV9sb2NrZWRUb0FuY2hvcihmYWxzZSkKIHsKICAgICBpbml0
KCk7CiAgICAgV2lkZ2V0OjpzZXRGcmFtZVJlY3QoSW50UmVjdCh4KCksIHkoKSwgaW5pdGlhbFNp
emUud2lkdGgoKSwgaW5pdGlhbFNpemUuaGVpZ2h0KCkpKTsKQEAgLTE5OSw2ICsyMDEsNyBAQCB2
b2lkIEZyYW1lVmlldzo6cmVzZXQoKQogICAgIG1faXNQYWludGluZyA9IGZhbHNlOwogICAgIG1f
aXNWaXN1YWxseU5vbkVtcHR5ID0gZmFsc2U7CiAgICAgbV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlM
YXlvdXRDYWxsYmFja1BlbmRpbmcgPSB0cnVlOworICAgIG1fbG9ja2VkVG9BbmNob3IgPSBmYWxz
ZTsKIH0KIAogYm9vbCBGcmFtZVZpZXc6OmlzRnJhbWVWaWV3KCkgY29uc3QgCkBAIC02NTAsNiAr
NjUzLDkgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZQogICAgICAg
ICBBU1NFUlQobV9lbnF1ZXVlRXZlbnRzKTsKICAgICB9CiAKKyAgICBpZiAobG9ja2VkVG9BbmNo
b3IoKSkKKyAgICAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmdvdG9BbmNob3IoKTsKKwogICAgIG1f
bmVzdGVkTGF5b3V0Q291bnQtLTsKIH0KIApAQCAtNzM2LDYgKzc0Miw3IEBAIHZvaWQgRnJhbWVW
aWV3OjpzY3JvbGxSZWN0SW50b1ZpZXdSZWN1cnMKIHsKICAgICBib29sIHdhc0luUHJvZ3JhbW1h
dGljU2Nyb2xsID0gbV9pblByb2dyYW1tYXRpY1Njcm9sbDsKICAgICBtX2luUHJvZ3JhbW1hdGlj
U2Nyb2xsID0gdHJ1ZTsKKyAgICBzZXRMb2NrZWRUb0FuY2hvcihmYWxzZSk7CiAgICAgU2Nyb2xs
Vmlldzo6c2Nyb2xsUmVjdEludG9WaWV3UmVjdXJzaXZlbHkocik7CiAgICAgbV9pblByb2dyYW1t
YXRpY1Njcm9sbCA9IHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsOwogfQpAQCAtNzQ0LDYgKzc1MSw3
IEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCAKIHsKICAgICBib29s
IHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0gbV9pblByb2dyYW1tYXRpY1Njcm9sbDsKICAgICBt
X2luUHJvZ3JhbW1hdGljU2Nyb2xsID0gdHJ1ZTsKKyAgICBzZXRMb2NrZWRUb0FuY2hvcihmYWxz
ZSk7CiAgICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9pbnQpOwogICAg
IG1faW5Qcm9ncmFtbWF0aWNTY3JvbGwgPSB3YXNJblByb2dyYW1tYXRpY1Njcm9sbDsKIH0KQEAg
LTEzMzAsNiArMTMzOCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRXYXNTY3JvbGxlZEJ5VXNlcihi
b28KIHsKICAgICBpZiAobV9pblByb2dyYW1tYXRpY1Njcm9sbCkKICAgICAgICAgcmV0dXJuOwor
ICAgIHNldExvY2tlZFRvQW5jaG9yKGZhbHNlKTsKICAgICBtX3dhc1Njcm9sbGVkQnlVc2VyID0g
d2FzU2Nyb2xsZWRCeVVzZXI7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgJKHJldmlzaW9uIDQ0MjQ2KQor
KysgV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNiArMTg4
LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGp1c3RQYWdlSGVpZ2h0KGZsb2F0KiBuZXdCb3R0
b20sIGZsb2F0IG9sZFRvcCwgZmxvYXQgb2xkQm90dG9tLCBmbG9hdCBib3R0b21MaW1pdCk7CiAK
KyAgICBib29sIGxvY2tlZFRvQW5jaG9yKCkgeyByZXR1cm4gbV9sb2NrZWRUb0FuY2hvcjsgfQor
ICAgIHZvaWQgc2V0TG9ja2VkVG9BbmNob3IoYm9vbCBsb2NrZWRUb0FuY2hvcikgeyBtX2xvY2tl
ZFRvQW5jaG9yID0gbG9ja2VkVG9BbmNob3I7IH0KKwogCiBwcml2YXRlOgogICAgIHZvaWQgcmVz
ZXQoKTsKQEAgLTI4OCw2ICsyOTEsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2lzVmlzdWFs
bHlOb25FbXB0eTsKICAgICBib29sIG1fZmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Q2FsbGJh
Y2tQZW5kaW5nOworCisgICAgYm9vbCBtX2xvY2tlZFRvQW5jaG9yOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNDQyNTApCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAwOS0wNS0yOCAgTmF0
ZSBDaGFwaW4gIDxqYXBoZXRAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgYW4gYW5jaG9yIHJlbWFpbnMgbG9ja2VkIGlu
IHZpZXcgYXMgaW1hZ2VzICh3aXRob3V0IGhlaWdodCBhbHJlYWR5IHNwZWNpZmllZCkgbG9hZCBh
cm91bmQgaXQuCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjYwMzQKKworICAgICAgICAqIGZhc3QvZHluYW1pYy9hbmNob3ItbG9jay5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2R5bmFtaWMvcmVzb3VyY2VzL2xhcmdlYmxhbmsu
cG5nOiBBZGRlZC4KKwogMjAwOS0wNS0yOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZHluYW1pYy9hbmNob3ItbG9jay5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZHluYW1pYy9hbmNob3ItbG9jay5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9keW5hbWljL2FuY2hvci1sb2NrLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjIgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+QW5jaG9yIExvY2s8L3RpdGxlPgor
PC9oZWFkPgorPGJvZHk+Cis8aDE+QW5jaG9yIExvY2s8L2gxPgorPHA+VGhpcyB0ZXN0cyBXZWJL
aXQncyBhYmlsaXR5IHRvIGxvY2sgdG8gYW4gYW5jaG9yIGFuZCBtYWludGFpbiBmb2N1cyBvbiBp
dCBhcyBpbWFnZXMgYXJlIGxvYWRlZCBhYm92ZSBhbmQgYmVsb3cgaXQuIFRoZSBBbmNob3IgdGV4
dCBzaG91bGQgYmUgdmlzaWJsZSBhbmQgdGhpcyBtZXNzYWdlIHNob3VsZCBub3QuPC9wPgorPHA+
PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJl
c291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJn
ZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+
PC9wPgorPGEgbmFtZT0iYW5jaG9yMSI+QW5jaG9yIHRleHQgLSB0aGlzIHNob3VsZCBiZSB0aGUg
b25seSB2aXNpYmxlIHRleHQuPC9hPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5r
LnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgor
PHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9
InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9s
YXJnZWJsYW5rLnBuZyI+PC9wPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZG9j
dW1lbnQud3JpdGUobG9jYXRpb24uaHJlZj0iI2FuY2hvcjEiKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL3Jlc291cmNlcy9sYXJn
ZWJsYW5rLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJp
bmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2R5bmFtaWMvcmVzb3VyY2VzL2xhcmdl
YmxhbmsucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9u
L29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQURJQ0FJQUFBQWlP
am5KQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQkRCSlJFRlUKZUY3dDFiRVJBQ0VNeEVEb3Yyai8w
NE1WU1JSd2dXYkgzSms1dlFxc0YvaGg5U3F3WHVDc0x6WllnZmNOVnFFQ1JJRmdFVlhiN0dKbApn
Q25ReFdLNjZsZURwU2ZBQkFnVzAxVy9HaXc5QVNaQXNKaXUrdFZnNlFrd0FZTEZkTld2Qmt0UGdB
a1FMS2FyZmpWWWVnSk1nR0F4ClhmV3J3ZElUWUFJRWkrbXFYdzJXbmdBVElGaE1WLzFxc1BRRW1B
REJZcnJxVjRPbEo4QUVDQmJUVmI4YUxEMEJKa0N3bUs3NjFXRHAKQ1RBQmdzVjAxYThHUzArQUNS
QXNwcXQrTlZoNkFreUFZREZkOWF2QjBoTmdBZ1NMNmFwZkRaYWVBQk1nV0V4WC9XcXc5QVNZQU1G
aQp1dXBYZzZVbndBUUlGdE5Wdnhvc1BRRW1RTENZcnZyVllPa0pNQUdDeFhUVnJ3WkxUNEFKRUN5
bXEzNDFXSG9DVElCZ01WMzFxOEhTCkUyQUNCSXZwcWw4TmxwNEFFeUJZVEZmOWFyRDBCSmdBd1dL
NjZsZURwU2ZBQkFnVzAxVy9HaXc5QVNaQXNKaXUrdFZnNlFrd0FZTEYKZE5XdkJrdFBnQWtRTEth
cmZqVlllZ0pNZ0dBeFhmV3J3ZElUWUFJRWkrbXFYdzJXbmdBVElGaE1WLzFxc1BRRW1BREJZcnJx
VjRPbApKOEFFQ0JiVFZiOGFMRDBCSmtDd21LNzYxV0RwQ1RBQmdzVjAxYThHUzArQUNSQXNwcXQr
TlZoNkFreUFZREZkOWF2QjBoTmdBZ1NMCjZhcGZEWmFlQUJNZ1dFeFgvV3F3OUFTWUFNRml1dXBY
ZzZVbndBUUlGdE5Wdnhvc1BRRW1RTENZcnZyVllPa0pNQUdDeFhUVnJ3WkwKVDRBSkVDeW1xMzQx
V0hvQ1RJQmdNVjMxcThIU0UyQUNCSXZwcWw4TmxwNEFFeUJZVEZmOWFyRDBCSmdBd1dLNjZsZURw
U2ZBQkFnVwowMVcvR2l3OUFTWkFzSml1K3RWZzZRa3dBWUxGZE5XdkJrdFBnQWtRTEthcmZqVlll
Z0pNZ0dBeFhmV3J3ZElUWUFJRWkrbXFYdzJXCm5nQVRJRmhNVi8xcXNQUUVtQURCWXJycVY0T2xK
OEFFQ0JiVFZiOGFMRDBCSmtDd21LNzYxV0RwQ1RBQmdzVjAxYThHUzArQUNSQXMKcHF0K05WaDZB
a3lBWURGZDlhdkIwaE5nQWdTTDZhcGZEWmFlQUJNZ1dFeFgvV3F3OUFTWUFNRml1dXBYZzZVbndB
UUlGdE5WdnhvcwpQUUVtUUxDWXJ2clZZT2tKTUFHQ3hYVFZyd1pMVDRBSkVDeW1xMzQxV0hvQ1RJ
QmdNVjMxcThIU0UyQUNCSXZwcWw4TmxwNEFFeUJZClRGZjlhckQwQkpnQXdXSzY2bGVEcFNmQUJB
Z1cwMVcvR2l3OUFTWkFzSml1K3RWZzZRa3dBWUxGZE5XdkJrdFBnQWtRTEthcmZqVlkKZWdKTWdH
QXhYZldyd2RJVFlBSUVpK21xWHcyV25nQVRJRmhNVi8xcXNQUUVtQURCWXJycVY0T2xKOEFFQ0Ji
VFZiOGFMRDBCSmtDdwptSzc2MVdEcENUQUJnc1YwMWE4R1MwK0FDUkFzcHF0K05WaDZBa3lBWURG
ZDlhdkIwaE5nQWdTTDZhcGZEWmFlQUJNZ1dFeFgvV3F3CjlBU1lBTUZpdXVwWGc2VW53QVFJRnRO
VnZ4b3NQUUVtUUxDWXJ2clZZT2tKTUFHQ3hYVFZyd1pMVDRBSkVDeW1xMzQxV0hvQ1RJQmcKTVYz
MXE4SFNFMkFDQkl2cHFsOE5scDRBRXlCWVRGZjlhckQwQkpnQXdXSzY2bGVEcFNmQUJQZ0FLWE96
eDFraG9Ld0FBQUFBU1VWTwpSSzVDWUlJPQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30795</attachid>
            <date>2009-05-29 16:17:13 -0700</date>
            <delta_ts>2009-06-01 23:41:40 -0700</delta_ts>
            <desc>patch4</desc>
            <filename>anchor_patch4.txt</filename>
            <type>text/plain</type>
            <size>8816</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDI1MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDktMDUtMjggIE5hdGUgQ2hhcGluICA8amFwaGV0QGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBJZiBhIHVybCB3aXRoIGFuIGFuY2hvciBpcyBiZWluZyBsb2FkZWQsIGVuc3VyZSB0aGF0
IHRoZSBhbmNob3IgcmVtYWlucyBsb2NrZWQgaW4gdmlldyB1bnRpbCB0aGUgcGFnZQorICAgICAg
ICBoYXMgZmluaXNoZWQgbG9hZGluZyBjb21wZWx0ZWx5IG9yIHRoZSB1c2VyIGhhcyBtYW51YWxs
eSBzY3JvbGxlZC4gIFJlZnJlc2hpbmcgYW4gYW5jaG9yIHVybCBhZnRlcgorICAgICAgICBzY3Jv
bGxpbmcgdG8gYSBuZXcgbG9jYXRpb24gb24gdGhlIHBhZ2Ugd2lsbCBzdGlsbCByZXN1bHQgaW4g
anVtcGluZyB0byB0aGUgbmV3IGxvY2F0aW9uLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MDM0CisKKyAgICAgICAgKiBsb2FkZXIv
RnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmdvdG9BbmNo
b3IpOiBTZXQgYW5jaG9yIGxvY2sgYWZ0ZXIgbmF2aWdhdGluZyB0byBhbmNob3IuCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29tcGxldGVkKTogUmVsZWFzZSBhbmNob3IgbG9jay4K
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OkZyYW1lVmlldyk6IEVuc3VyZSBhbmNob3IgbG9jayBzdGFydHMgdW5zZXQuCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0KTogRW5zdXJlIGFuY2hvciBsb2NrIHN0YXJ0cyB1
bnNldC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KTogSWYgYW5jaG9yIGxv
Y2sgaXMgc2V0LCBmb3JjZSBhIGdvdG9BbmNob3IoKSBhZnRlciBsYXlvdXQuCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFJlY3RJbnRvVmlld1JlY3Vyc2l2ZWx5KTogUmVsZWFz
ZSBhbmNob3IgbG9jayBpZiBhIHByb2dyYW1tYXRpYyBzY3JvbGwgYmVnaW5zLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRXYXNTY3JvbGxlZEJ5VXNlcik6IFJlbGVhc2UgYW5jaG9y
IGxvY2sgaWYgdXNlciBtYW51YWxseSBzY3JvbGxzLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpzZXRTY3JvbGxQb3NpdGlvbik6IFJlbGVhc2UgYW5jaG9yIGxvY2sgaWYgYSBwcm9ncmFt
bWF0aWMgc2Nyb2xsIGJlZ2lucy4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpsb2NrZWRUb0FuY2hvcik6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRMb2NrZWRUb0FuY2hvcik6IEFkZGVkLgorCiAyMDA5LTA1
LTI4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA0NDI0NikK
KysrIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYz
MCw4ICsxNjMwLDExIEBAIGJvb2wgRnJhbWVMb2FkZXI6OmdvdG9BbmNob3IoY29uc3QgU3RyaW4K
ICAgICAgICAgcmVuZGVyZXIgPSBhbmNob3JOb2RlLT5yZW5kZXJlcigpOwogICAgICAgICByZWN0
ID0gYW5jaG9yTm9kZS0+Z2V0UmVjdCgpOwogICAgIH0KLSAgICBpZiAocmVuZGVyZXIpCisgICAg
aWYgKHJlbmRlcmVyKSB7CiAgICAgICAgIHJlbmRlcmVyLT5lbmNsb3NpbmdMYXllcigpLT5zY3Jv
bGxSZWN0VG9WaXNpYmxlKHJlY3QsIHRydWUsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJ
Zk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyk7CisgICAgICAgIGlmICht
X2ZyYW1lLT52aWV3KCkpCisgICAgICAgICAgICBtX2ZyYW1lLT52aWV3KCktPnNldExvY2tlZFRv
QW5jaG9yKHRydWUpOworICAgIH0KIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMjEyOSw2ICsy
MTMyLDggQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tcGxldGVkKCkKICAgICAgICAgY2hpbGQtPmxv
YWRlcigpLT5wYXJlbnRDb21wbGV0ZWQoKTsKICAgICBpZiAoRnJhbWUqIHBhcmVudCA9IG1fZnJh
bWUtPnRyZWUoKS0+cGFyZW50KCkpCiAgICAgICAgIHBhcmVudC0+bG9hZGVyKCktPmNoZWNrQ29t
cGxldGVkKCk7CisgICAgaWYgKG1fZnJhbWUtPnZpZXcoKSkKKyAgICAgICAgbV9mcmFtZS0+dmll
dygpLT5zZXRMb2NrZWRUb0FuY2hvcihmYWxzZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OnN0
YXJ0ZWQoKQpJbmRleDogV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDQ0MjQ2KQorKysgV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQCBGcmFt
ZVZpZXc6OkZyYW1lVmlldyhGcmFtZSogZnJhbWUpCiAgICAgLCBtX3Nob3VsZFVwZGF0ZVdoaWxl
T2Zmc2NyZWVuKHRydWUpCiAgICAgLCBtX2RlZmVyU2V0TmVlZHNMYXlvdXRzKDApCiAgICAgLCBt
X3NldE5lZWRzTGF5b3V0V2FzRGVmZXJyZWQoZmFsc2UpCisgICAgLCBtX2xvY2tlZFRvQW5jaG9y
KGZhbHNlKQogewogICAgIGluaXQoKTsKICAgICBzaG93KCk7CkBAIC0xMzgsNiArMTM5LDcgQEAg
RnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUqIGZyYW1lLCBjb25zdAogICAgICwgbV9zaG91bGRV
cGRhdGVXaGlsZU9mZnNjcmVlbih0cnVlKQogICAgICwgbV9kZWZlclNldE5lZWRzTGF5b3V0cygw
KQogICAgICwgbV9zZXROZWVkc0xheW91dFdhc0RlZmVycmVkKGZhbHNlKQorICAgICwgbV9sb2Nr
ZWRUb0FuY2hvcihmYWxzZSkKIHsKICAgICBpbml0KCk7CiAgICAgV2lkZ2V0OjpzZXRGcmFtZVJl
Y3QoSW50UmVjdCh4KCksIHkoKSwgaW5pdGlhbFNpemUud2lkdGgoKSwgaW5pdGlhbFNpemUuaGVp
Z2h0KCkpKTsKQEAgLTE5OSw2ICsyMDEsNyBAQCB2b2lkIEZyYW1lVmlldzo6cmVzZXQoKQogICAg
IG1faXNQYWludGluZyA9IGZhbHNlOwogICAgIG1faXNWaXN1YWxseU5vbkVtcHR5ID0gZmFsc2U7
CiAgICAgbV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSB0cnVl
OworICAgIG1fbG9ja2VkVG9BbmNob3IgPSBmYWxzZTsKIH0KIAogYm9vbCBGcmFtZVZpZXc6Omlz
RnJhbWVWaWV3KCkgY29uc3QgCkBAIC02NTAsNiArNjUzLDkgQEAgdm9pZCBGcmFtZVZpZXc6Omxh
eW91dChib29sIGFsbG93U3VidHJlZQogICAgICAgICBBU1NFUlQobV9lbnF1ZXVlRXZlbnRzKTsK
ICAgICB9CiAKKyAgICBpZiAobG9ja2VkVG9BbmNob3IoKSkKKyAgICAgICAgbV9mcmFtZS0+bG9h
ZGVyKCktPmdvdG9BbmNob3IoKTsKKwogICAgIG1fbmVzdGVkTGF5b3V0Q291bnQtLTsKIH0KIApA
QCAtNzM2LDYgKzc0Miw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxSZWN0SW50b1ZpZXdSZWN1
cnMKIHsKICAgICBib29sIHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0gbV9pblByb2dyYW1tYXRp
Y1Njcm9sbDsKICAgICBtX2luUHJvZ3JhbW1hdGljU2Nyb2xsID0gdHJ1ZTsKKyAgICBzZXRMb2Nr
ZWRUb0FuY2hvcihmYWxzZSk7CiAgICAgU2Nyb2xsVmlldzo6c2Nyb2xsUmVjdEludG9WaWV3UmVj
dXJzaXZlbHkocik7CiAgICAgbV9pblByb2dyYW1tYXRpY1Njcm9sbCA9IHdhc0luUHJvZ3JhbW1h
dGljU2Nyb2xsOwogfQpAQCAtNzQ0LDYgKzc1MSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbihjb25zdCAKIHsKICAgICBib29sIHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0g
bV9pblByb2dyYW1tYXRpY1Njcm9sbDsKICAgICBtX2luUHJvZ3JhbW1hdGljU2Nyb2xsID0gdHJ1
ZTsKKyAgICBzZXRMb2NrZWRUb0FuY2hvcihmYWxzZSk7CiAgICAgU2Nyb2xsVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24oc2Nyb2xsUG9pbnQpOwogICAgIG1faW5Qcm9ncmFtbWF0aWNTY3JvbGwgPSB3
YXNJblByb2dyYW1tYXRpY1Njcm9sbDsKIH0KQEAgLTEzMzAsNiArMTMzOCw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpzZXRXYXNTY3JvbGxlZEJ5VXNlcihib28KIHsKICAgICBpZiAobV9pblByb2dyYW1t
YXRpY1Njcm9sbCkKICAgICAgICAgcmV0dXJuOworICAgIHNldExvY2tlZFRvQW5jaG9yKGZhbHNl
KTsKICAgICBtX3dhc1Njcm9sbGVkQnlVc2VyID0gd2FzU2Nyb2xsZWRCeVVzZXI7CiB9CiAKSW5k
ZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgJKHJldmlzaW9uIDQ0MjQ2KQorKysgV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNiArMTg4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBh
ZGp1c3RQYWdlSGVpZ2h0KGZsb2F0KiBuZXdCb3R0b20sIGZsb2F0IG9sZFRvcCwgZmxvYXQgb2xk
Qm90dG9tLCBmbG9hdCBib3R0b21MaW1pdCk7CiAKKyAgICBib29sIGxvY2tlZFRvQW5jaG9yKCkg
eyByZXR1cm4gbV9sb2NrZWRUb0FuY2hvcjsgfQorICAgIHZvaWQgc2V0TG9ja2VkVG9BbmNob3Io
Ym9vbCBsb2NrZWRUb0FuY2hvcikgeyBtX2xvY2tlZFRvQW5jaG9yID0gbG9ja2VkVG9BbmNob3I7
IH0KKwogCiBwcml2YXRlOgogICAgIHZvaWQgcmVzZXQoKTsKQEAgLTI4OCw2ICsyOTEsOCBAQCBw
cml2YXRlOgogCiAgICAgYm9vbCBtX2lzVmlzdWFsbHlOb25FbXB0eTsKICAgICBib29sIG1fZmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Q2FsbGJhY2tQZW5kaW5nOworCisgICAgYm9vbCBtX2xv
Y2tlZFRvQW5jaG9yOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gNDQyNTApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNCBAQAorMjAwOS0wNS0yOCAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1
cmUgYW4gYW5jaG9yIHJlbWFpbnMgbG9ja2VkIGluIHZpZXcgYXMgaW1hZ2VzICh3aXRob3V0IGhl
aWdodCBhbHJlYWR5IHNwZWNpZmllZCkgbG9hZCBhcm91bmQgaXQuCisgICAgICAgIAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYwMzQKKworICAgICAg
ICAqIGZhc3QvZHluYW1pYy9hbmNob3ItbG9jay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2R5bmFtaWMvcmVzb3VyY2VzL2xhcmdlYmxhbmsucG5nOiBBZGRlZC4KKwogMjAwOS0wNS0yOCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZHluYW1pYy9hbmNob3It
bG9jay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZHluYW1pYy9hbmNob3It
bG9jay5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9keW5hbWljL2FuY2hv
ci1sb2NrLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1sPgorPGhlYWQ+
Cis8dGl0bGU+QW5jaG9yIExvY2s8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8aDE+QW5jaG9y
IExvY2s8L2gxPgorPHA+VGhpcyB0ZXN0cyBXZWJLaXQncyBhYmlsaXR5IHRvIGxvY2sgdG8gYW4g
YW5jaG9yIGFuZCBtYWludGFpbiBmb2N1cyBvbiBpdCBhcyBpbWFnZXMgYXJlIGxvYWRlZCBhYm92
ZSBhbmQgYmVsb3cgaXQuIFRoZSBBbmNob3IgdGV4dCBzaG91bGQgYmUgdmlzaWJsZSBhbmQgdGhp
cyBtZXNzYWdlIHNob3VsZCBub3QuPC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJs
YW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9w
PgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBz
cmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPGEgbmFtZT0iYW5jaG9yMSI+QW5j
aG9yIHRleHQgLSB0aGlzIHNob3VsZCBiZSB0aGUgb25seSB2aXNpYmxlIHRleHQuPC9hPgorPHA+
PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJl
c291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJn
ZWJsYW5rLnBuZyI+PC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+
PC9wPgorPHA+PGltZyBzcmM9InJlc291cmNlcy9sYXJnZWJsYW5rLnBuZyI+PC9wPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZG9jdW1lbnQud3JpdGUobG9jYXRpb24uaHJlZj0i
I2FuY2hvcjEiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9keW5hbWljL3Jlc291cmNlcy9sYXJnZWJsYW5rLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1nQUFB
RElDQUlBQUFBaU9qbkpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFCREJKUkVGVQplRjd0MWJFUkFD
RU14RURvdjJqLzA0TVZTUlJ3Z1diSDNKazV2UXFzRi9oaDlTcXdYdUNzTHpaWWdmY05WcUVDUklG
Z0VWWGI3R0psCmdDblF4V0s2NmxlRHBTZkFCQWdXMDFXL0dpdzlBU1pBc0ppdSt0Vmc2UWt3QVlM
RmROV3ZCa3RQZ0FrUUxLYXJmalZZZWdKTWdHQXgKWGZXcndkSVRZQUlFaSttcVh3MlduZ0FUSUZo
TVYvMXFzUFFFbUFEQllycnFWNE9sSjhBRUNCYlRWYjhhTEQwQkprQ3dtSzc2MVdEcApDVEFCZ3NW
MDFhOEdTMCtBQ1JBc3BxdCtOVmg2QWt5QVlERmQ5YXZCMGhOZ0FnU0w2YXBmRFphZUFCTWdXRXhY
L1dxdzlBU1lBTUZpCnV1cFhnNlVud0FRSUZ0TlZ2eG9zUFFFbVFMQ1lydnJWWU9rSk1BR0N4WFRW
cndaTFQ0QUpFQ3ltcTM0MVdIb0NUSUJnTVYzMXE4SFMKRTJBQ0JJdnBxbDhObHA0QUV5QllURmY5
YXJEMEJKZ0F3V0s2NmxlRHBTZkFCQWdXMDFXL0dpdzlBU1pBc0ppdSt0Vmc2UWt3QVlMRgpkTld2
Qmt0UGdBa1FMS2FyZmpWWWVnSk1nR0F4WGZXcndkSVRZQUlFaSttcVh3MlduZ0FUSUZoTVYvMXFz
UFFFbUFEQllycnFWNE9sCko4QUVDQmJUVmI4YUxEMEJKa0N3bUs3NjFXRHBDVEFCZ3NWMDFhOEdT
MCtBQ1JBc3BxdCtOVmg2QWt5QVlERmQ5YXZCMGhOZ0FnU0wKNmFwZkRaYWVBQk1nV0V4WC9XcXc5
QVNZQU1GaXV1cFhnNlVud0FRSUZ0TlZ2eG9zUFFFbVFMQ1lydnJWWU9rSk1BR0N4WFRWcndaTApU
NEFKRUN5bXEzNDFXSG9DVElCZ01WMzFxOEhTRTJBQ0JJdnBxbDhObHA0QUV5QllURmY5YXJEMEJK
Z0F3V0s2NmxlRHBTZkFCQWdXCjAxVy9HaXc5QVNaQXNKaXUrdFZnNlFrd0FZTEZkTld2Qmt0UGdB
a1FMS2FyZmpWWWVnSk1nR0F4WGZXcndkSVRZQUlFaSttcVh3MlcKbmdBVElGaE1WLzFxc1BRRW1B
REJZcnJxVjRPbEo4QUVDQmJUVmI4YUxEMEJKa0N3bUs3NjFXRHBDVEFCZ3NWMDFhOEdTMCtBQ1JB
cwpwcXQrTlZoNkFreUFZREZkOWF2QjBoTmdBZ1NMNmFwZkRaYWVBQk1nV0V4WC9XcXc5QVNZQU1G
aXV1cFhnNlVud0FRSUZ0TlZ2eG9zClBRRW1RTENZcnZyVllPa0pNQUdDeFhUVnJ3WkxUNEFKRUN5
bXEzNDFXSG9DVElCZ01WMzFxOEhTRTJBQ0JJdnBxbDhObHA0QUV5QlkKVEZmOWFyRDBCSmdBd1dL
NjZsZURwU2ZBQkFnVzAxVy9HaXc5QVNaQXNKaXUrdFZnNlFrd0FZTEZkTld2Qmt0UGdBa1FMS2Fy
ZmpWWQplZ0pNZ0dBeFhmV3J3ZElUWUFJRWkrbXFYdzJXbmdBVElGaE1WLzFxc1BRRW1BREJZcnJx
VjRPbEo4QUVDQmJUVmI4YUxEMEJKa0N3Cm1LNzYxV0RwQ1RBQmdzVjAxYThHUzArQUNSQXNwcXQr
TlZoNkFreUFZREZkOWF2QjBoTmdBZ1NMNmFwZkRaYWVBQk1nV0V4WC9XcXcKOUFTWUFNRml1dXBY
ZzZVbndBUUlGdE5Wdnhvc1BRRW1RTENZcnZyVllPa0pNQUdDeFhUVnJ3WkxUNEFKRUN5bXEzNDFX
SG9DVElCZwpNVjMxcThIU0UyQUNCSXZwcWw4TmxwNEFFeUJZVEZmOWFyRDBCSmdBd1dLNjZsZURw
U2ZBQlBnQUtYT3p4MWtob0t3QUFBQUFTVVZPClJLNUNZSUk9Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>