From: <Saved by Windows Internet Explorer 7>
Subject: Fishers give up on plan for Presidio art museum
Date: Fri, 3 Jul 2009 11:22:03 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C9FBD0.7D635140"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2009/07/02/MNJL18HMBA.DTL&type=printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den xml:lang=3D"en" =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>Fishers give up on =
plan for Presidio art museum</TITLE><!-- types/article/printable.tmpl =
-->
<META http-equiv=3Dcontent-type content=3D"text/html; =
charset=3Diso-8859-1"><LINK=20
title=3DSFGate media=3Dall =
href=3D"http://imgs.sfgate.com/css/article/printable01.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK title=3DSFGate media=3Dprint=20
href=3D"http://imgs.sfgate.com/css/article/printer01.css" =
type=3Dtext/css=20
rel=3Dstylesheet><!-- types/article/script.tmpl --><LINK =
title=3D"SFGate: John King"=20
href=3D"http://www.sfgate.com/rss/feeds/jking.xml" =
type=3Dapplication/rss+xml=20
rel=3Dalternate>
<SCRIPT language=3Djavascript =
src=3D"http://imgs.sfgate.com/js/ads/ysm/cm.js"=20
type=3Dtext/javascript></SCRIPT>

<META content=3D"Jul 02, 2009" name=3DPUBDATE>
<META content=3D"08:03 AM" name=3DPUBTIME><!-- =
types/widgets/pages/common/post_write_mtime/js_inc.tmpl --><!-- =
cssjs/js/article/std.html generated by articlejs on Thu Feb 26 09:56:43 =
2009 -->
<SCRIPT =
src=3D"http://imgs.sfgate.com/js1235671003/cssjs/js/article/std.js"=20
type=3Dtext/javascript></SCRIPT>
<!-- end cssjs/js/article/std.html --><!-- end js_inc.tmpl -->
<SCRIPT type=3Dtext/javascript>=0A=
//<![CDATA[=0A=
// set sfgate_f for dropin sfg_hideoneorlast functionality=0A=
var sfgate_f =3D '/c/a/2009/07/02/MNJL18HMBA.DTL';=0A=
//]]>=0A=
</SCRIPT>
<!-- types/article/comments_common_script.tmpl -->
<SCRIPT type=3Dtext/javascript>=0A=
<!--=0A=
document.domain=3D"sfgate.com";=0A=
=0A=
// define common vars (with templates values) known by functions=0A=
=0A=
  var sfgate_serverUrl       =3D =
'http://contribute.sfgate.com/ver1.0/Direct/Process?sid=3Dmy.sfgate.com';=0A=
  =0A=
  var sfgate_file            =3D '/c/a/2009/07/02/MNJL18HMBA.DTL';=0A=
  var sfgate_file_pag        =3D '/c/a/2009/07/02/MNJL18HMBA.DTL';=0A=
  var sfgate_isCustom        =3D '';=0A=
  var sfgate_isActive        =3D '1';=0A=
  var sfgate_addlink         =3D '<a =
href=3D"/cgi-bin/article/comments/view?f=3D/c/a/2009/07/02/MNJL18HMBA.DTL=
#commentform">Add Your Comment</a>';=0A=
  var sfgate_viewlink        =3D '<a =
href=3D"/cgi-bin/article/comments/view?f=3D/c/a/2009/07/02/MNJL18HMBA.DTL=
">View Comments &raquo;</a>';=0A=
  var sfgate_full_filepath   =3D =
'http://www.sfgate.com/cgi-bin/article.cgi?f=3D'+sfgate_file;=0A=
  var sfgate_success_page    =3D =
'/cgi-bin/article/comments/view?f=3D'+sfgate_file;=0A=
  var sfgate_artsec          =3D 'MN';=0A=
  var sfgate_categories      =3D new Array();    =0A=
  //if ( sfgate_artsec !=3D '' ) {=0A=
  //   sfgate_categories.unshift(sfgate_artsec);=0A=
  //}=0A=
  for (var i in sfgate_categories) {sfgate_categories[i] =3D new =
Category(sfgate_categories[i]);}=0A=
  var sfgate_article_thumbs  =3D new =
Array('http://imgs.sfgate.com/c/pictures/2008/06/13_t/dd-place17_ph_04972=
90424_t.gif');=0A=
=0A=
  var sfgate_rowsPerPage     =3D '';=0A=
  var sfgate_page            =3D '';=0A=
=0A=
  var sfgate_useErrors       =3D '';=0A=
=0A=
  var loginorreg =3D '<h4>Add Your Comment</h4><p>You must be signed in =
to add a comment. <a =
href=3D"/cgi-bin/article/comments/login?dest=3D%2Fcgi-bin%2Farticle%2Fcom=
ments%2Fview%3Ff%3D%2Fc%2Fa%2F2009%2F07%2F02%2FMNJL18HMBA.DTL%23commentfo=
rm">Sign In</a> | <a =
href=3D"/cgi-bin/webreg/user/reg_art?url=3D%2Fcgi-bin%2Farticle%2Fcomment=
s%2Flogin%3Fdest%3D%252Fcgi-bin%252Farticle%252Fcomments%252Fview%253Ff%2=
53D%252Fc%252Fa%252F2009%252F07%252F02%252FMNJL18HMBA.DTL%2523commentform=
">Register</a></p>';=0A=
  var form_header =3D '<h4>Add Your Comment</h4> <p>In accordance with =
our <a href=3D"/pages/comments/">Comment Policy</a>, we encourage =
comments that are on topic, relevant and to-the-point. We will remove =
comments that include profanity, personal attacks, racial slurs, threats =
of violence, or other inappropriate material that violates our <a =
href=3D"/pages/termsandconditions/">Terms and Conditions</a>, and will =
block users who make repeated violations. We ask all readers to expect =
diversity of opinion and to treat one another with dignity and =
respect.</p>';=0A=
//  var form_header_bad_words =3D ' We want to keep discussions on =
sfgate.com respectful and readable by a general audience. Please edit =
your comment and re-submit it. If you have any questions about our =
policies, please see our <a =
href=3D"/pages/termsandconditions#submitted_materials">Terms and =
Conditions</a> or send <a href=3D"#test">feedback</a> to our staff.';=0A=
//  var form_header_bad_words =3D 'Your submission included words not =
permitted by our language filter (for example: '+bwords+'). Please avoid =
use of inappropriate language on our site in the future. Thanks.';=0A=
=0A=
// -->=0A=
</SCRIPT>

<SCRIPT=20
src=3D"http://contribute.sfgate.com/ver1.0/Direct/DirectProxy?sid=3Dmy.sf=
gate.com"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://imgs.sfgate.com/js/utils/ck.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://imgs.sfgate.com/js/pluck/comments/comments_common_script.js=
"=20
type=3Dtext/javascript><!-- =
http://imgs.sfgate.com/js/pluck/comments/comments_common_script.js =
--></SCRIPT>

<SCRIPT=20
src=3D"http://contribute.sfgate.com/ver1.0/Direct/FacebookProxy?sid=3Dmy.=
sfgate.com"=20
type=3Dtext/javascript></SCRIPT>
<!-- end types/article/comments_common_script.tmpl --><!-- end =
types/article/script.tmpl --><!-- =
types/widgets/pages/common/post_write_mtime/js_inc.tmpl --><!-- =
cssjs/js/yld/yld_global.html generated by yld_global_js on Tue Oct  7 =
11:11:02 2008 -->
<SCRIPT src=3D"http://imgs.sfgate.com/js1223403062/yld/js/yld_global.js" =

type=3Dtext/javascript></SCRIPT>
<!-- end cssjs/js/yld/yld_global.html --><!-- end js_inc.tmpl --><!-- =
types/widgets/pages/ads/yld_setup.tmpl --><!-- Doris Fisher: Donald =
Fisher: Presidio generated by printable on  -->
<SCRIPT type=3Dtext/javascript>=0A=
//<![CDATA[=0A=
=0A=
yld_mgr.content_topic_id_list=3D["20393501"];=0A=
yld_mgr.site_section_name_list=3D["PrinterFriendly"];=0A=
if (sfgate_IsTsp()) { yld_mgr.site_section_name_list=3D["TopStoryPage"]; =
}=0A=
yld_mgr.slots =3D new Object();=0A=
=0A=
 yld_mgr.slots.Middle1 =3D {ad_size_list: ["300x250"], ad_delivery_mode: =
"ipatf", ad_format_list: []};=0A=
=0A=
=0A=
=0A=
//]]>=0A=
</SCRIPT>
<!-- /templates/types/ads/pages/yld/yld_call.tmpl -->
<SCRIPT src=3D"http://e.yieldmanager.net/script.js" =
type=3Dtext/javascript></SCRIPT>
<!-- end /templates/types/ads/pages/yld/yld_call.tmpl --><!-- end =
types/widgets/pages/ads/yld_setup.tmpl -->
<META content=3D"Jul 02, 2009" name=3DPUBDATE>
<META content=3D"08:03 AM" name=3DPUBTIME>
<META content=3D"MSHTML 6.00.5730.11" name=3DGENERATOR></HEAD>
<BODY>
<DIV class=3Demail id=3Dcontainer><!-- =
types/omniture/js/omniture_js.tmpl -->
<DIV style=3D"DISPLAY: none">
<SCRIPT src=3D"http://imgs.sfgate.com/js/omniture/s_code.js"=20
type=3Dtext/javascript></SCRIPT>
</DIV>
<DIV id=3Domni_pagename style=3D"DISPLAY: none">Article:Fishers give up =
on plan for=20
Presidio art museum:/c/a/2009/07/02/MNJL18HMBA.DTL</DIV>
<DIV id=3Domni_article_title style=3D"DISPLAY: none">Article:Fishers =
give up on plan=20
for Presidio art museum:/c/a/2009/07/02/MNJL18HMBA.DTL</DIV>
<DIV id=3Domni_obj_article style=3D"DISPLAY: none"></DIV>
<DIV id=3Domni_search_term style=3D"DISPLAY: none"></DIV>
<SCRIPT type=3Dtext/javascript>=0A=
//<![CDATA[=0A=
/* You may give each page an identifying name, server, and channel on=0A=
the next lines. */=0A=
s.pageName=3Ddocument.getElementById('omni_pagename').innerHTML;=0A=
s.server=3D"";=0A=
s.channel=3D"Other Article";=0A=
s.prop1=3Ddocument.getElementById('omni_search_term').innerHTML;=0A=
s.prop2=3D"";=0A=
s.prop3=3D"";=0A=
s.prop4=3D"";=0A=
s.prop5=3D"";=0A=
s.prop6=3D"Article";=0A=
s.prop7=3D"John King";=0A=
s.prop8=3D"";=0A=
s.prop9=3D"";=0A=
s.prop10=3D"";=0A=
s.prop11=3D"";=0A=
s.prop12=3Ddocument.getElementById('omni_article_title').innerHTML;=0A=
s.prop13=3D"METRO,PLANNING,PRESIDIO,CHRONBREAKNEWS,MUSEUMS,ARTS LIF,";=0A=
s.prop14=3D"";   /* auto */=0A=
s.prop15=3D"";   /* auto */=0A=
s.prop16=3D"";   /* auto */=0A=
s.prop17=3Ds.getQueryParam('iref');=0A=
s.prop18=3D"MN";=0A=
s.prop19=3Ddocument.getElementById('omni_obj_article').innerHTML;=0A=
s.prop20=3D"";=0A=
//  prequote: =0A=
s.events=3D"event13,event10";=0A=
=0A=
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/=0A=
var s_code=3Ds.t();if(s_code)document.write(s_code);=0A=
//]]>=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
//<![CDATA[=0A=
if(navigator.appVersion.indexOf('MSIE')>=3D0)document.write(unescape('%3C=
')+'\!-'+'-')=0A=
//]]>=0A=
</SCRIPT>
<!--/DO NOT REMOVE/--><!-- End SiteCatalyst code version: H.9. --><!-- =
end types/omniture/js/omniture_js.tmpl --><!-- =
/templates/types/ads/pages/yld/square.tmpl -->
<DIV class=3D"ad middle1" id=3Dadpos3>
<DIV class=3D"adinfo clearfix">advertisement <SPAN class=3Dpipe>|</SPAN> =
<A=20
href=3D"http://www.sfgate.com/mediakit/">your ad here</A> </DIV>
<DIV class=3Dsquare><!-- /templates/types/ads/pages/yld/yld_rich.tmpl =
-->
<DIV class=3Dad>
<SCRIPT type=3Dtext/javascript>=0A=
//<![CDATA[=0A=
if (sfgate_yldslotok("Middle1")) { yld_mgr.place_ad_here("Middle1"); }=0A=
//]]>=0A=
</SCRIPT>
</DIV><!-- end /templates/types/ads/pages/yld/yld_rich.tmpl =
--></DIV></DIV><!-- end /templates/types/ads/pages/yld/square.tmpl -->
<DIV id=3Dheader><A href=3D"http://www.sfgate.com/"><IMG =
class=3Dbrandlogo alt=3DSFGate=20
src=3D"http://imgs.sfgate.com/templates/types/article/graphics/sfgate_pri=
ntable.gif"></A>=20

<FORM class=3Dprintbutton><INPUT class=3Dprintbutton onclick=3Dprint(); =
type=3Dbutton value=3D"Print This Article"></FORM><A=20
class=3Dview_article=20
href=3D"http://www.sfgate.com/cgi-bin/article.cgi?f=3D/c/a/2009/07/02/MNJ=
L18HMBA.DTL">Back=20
to Article</A> </DIV>
<DIV id=3Dprintheader><IMG class=3Dbrandlogo alt=3DSFGate=20
src=3D"http://imgs.sfgate.com/templates/types/article/graphics/sfgate_pri=
ntable.gif"></DIV>
<H1>Fishers give up on plan for Presidio art museum</H1>
<P class=3Dbyline><A href=3D"mailto:jking@sfchronicle.com">John King, =
Chronicle=20
Urban Design Writer</A></P>
<P class=3Ddate>Thursday, July 2, 2009</P>
<DIV class=3Dsidebar>
<DIV id=3Dobjecthumbs>
<DIV id=3Dcontentobjects><A=20
href=3D"http://www.sfgate.com/cgi-bin/object/article?f=3D/c/a/2009/07/02/=
MNJL18HMBA.DTL&amp;o=3D0&amp;type=3Dprintable"=20
target=3D""><IMG=20
alt=3D'"Doris and I hoped to share our art collection. ... Our d...'=20
src=3D"http://imgs.sfgate.com/c/pictures/2008/06/13_t/dd-place17_ph_04972=
90424_t.gif"=20
vspace=3D1 border=3D0></A> <A=20
href=3D"http://www.sfgate.com/cgi-bin/object/article?f=3D/c/a/2009/07/02/=
MNJL18HMBA.DTL&amp;o=3D1&amp;type=3Dprintable"=20
target=3D""><IMG=20
alt=3D"A rendition of the contemporary art museum proposed for t..."=20
src=3D"http://imgs.sfgate.com/c/pictures/2009/02/28_t/ba-fishermuseum0_04=
99850515_t.gif"=20
vspace=3D1 border=3D0></A> <A=20
href=3D"http://www.sfgate.com/cgi-bin/object/article?f=3D/c/a/2009/07/02/=
MNJL18HMBA.DTL&amp;o=3D2&amp;type=3Dprintable"=20
target=3D""><IMG=20
alt=3D"The original design, 50 feet high, was not popular with c..."=20
src=3D"http://imgs.sfgate.com/c/pictures/2008/06/12_t/ba-presidiomuseum1_=
0498616034_t.gif"=20
vspace=3D1 border=3D0></A> <A=20
href=3D"http://www.sfgate.com/cgi-bin/object/article?f=3D/c/a/2009/07/02/=
MNJL18HMBA.DTL&amp;o=3D3&amp;type=3Dprintable"=20
target=3D""><IMG=20
alt=3D'Aerial view: The "green" roof (front left) has a skylight...'=20
src=3D"http://imgs.sfgate.com/c/pictures/2009/02/28_t/mn-fishermuseum0_04=
99850499_t.gif"=20
vspace=3D1 border=3D0></A> <A class=3Dmore=20
href=3D"http://www.sfgate.com/cgi-bin/object/article?f=3D/c/a/2009/07/02/=
MNJL18HMBA.DTL&amp;o=3D4&amp;type=3Dprintable"=20
target=3D"">More...</A> </DIV>
<DIV class=3Dclear></DIV></DIV></DIV><SPAN id=3Darticlebody>
<P>Gap founder Donald Fisher and his family have decided to abandon =
their=20
efforts to build a contemporary art museum at the Main Post of San =
Francisco's=20
Presidio, The Chronicle has learned.</P>
<P>In calling off an effort that began with acclaim but turned into the =
city's=20
fiercest development battle in a decade, the family holds open the =
possibility=20
it might still try to build a home in the Presidio for its collection of =
work by=20
such artists as Andy Warhol and Alexander Calder.</P>
<P>But the Fishers also say they are open to looking outside the city - =
and the=20
Bay Area - before deciding what to try and do next.</P>
<P>"Doris and I will take some time to consider the future of our =
collection and=20
other possible locations for a museum, which could include other sites =
within=20
the Presidio and elsewhere," Don Fisher said, referring to his wife in a =

statement released to The Chronicle late Wednesday that also said the =
decision=20
was made "with disappointment and sadness."</P>
<P>The move comes one month after the close of public comment on the=20
environmental studies that would allow Fisher's proposed museum - and =
several=20
other projects - near the original Spanish El Presidio settlement from =
1776. The=20
studies are part of an overall planning effort by the Presidio Trust, =
which=20
manages most of the 1,491-acre national park.</P>
<P>The scale of changes proposed for the Main Post brought extensive =
criticism=20
from nearby residents and agencies such as the National Park Service and =
the=20
National Trust for Historic Preservation, because the Presidio is a =
National=20
Historic Landmark.</P>
<P>The criticism continued even after the Fishers significantly modified =
the=20
museum's design last winter, reducing it in height and sliding much of =
it=20
underground. </P>
<P>The question now is whether the Fishers will invest additional time =
and money=20
on a local proposal, trusting the word of critics who have said they =
would like=20
to see the renowned collection stay in the city as long as a museum was =
built at=20
a less sensitive location.</P>
<P>That's the hope of Supervisor Michela Alioto-Pier, who in her comment =
letter=20
on the Main Post plan said the effort to make room for the museum and =
other=20
growth "fails to adequately consider and plan for traffic impacts on =
local=20
streets." </P>
<P>Wednesday, Alioto-Pier struck a more conciliatory tone.</P>
<P>"It's incumbent on us to do what we can to facilitate the process and =
keep=20
this truly fabulous collection in San Francisco," said Alioto-Pier, =
whose=20
district includes the Presidio. The family's desire to finance and =
operate a=20
public museum to exhibit its art "is such a remarkable offer that we =
should be=20
doing everything we can to help the Fishers find a new location."</P>
<P>As for the Presidio Trust, an official said planning will continue at =
the=20
Main Post - though there now is no candidate to replace the bowling =
alley=20
occupying the site that the Fishers sought.</P>
<P>"We're very pleased that while this site doesn't work, the Fisher =
family is=20
still interested in the Presidio," said Tia Lombardi of the trust. </P>
<P>In an update to the Main Post plan - a survey of possible impacts =
posted=20
Wednesday evening on the trust's Web site, <A=20
href=3D"http://www.presidio.gov/">http://www.presidio.gov/</A> - an =
outside=20
analysis described the scale of the revised museum as "inconsistent with =
the=20
overall historical character of its setting."</P>
<P>Lombardi said the family's decision may be due to concerns that its=20
collection couldn't be shown to full advantage at the Main Post: "They =
have=20
really stuck with us, but perhaps they realized it wasn't right for the =
program=20
they want to do," including outdoor displays of immense and highly =
praised=20
sculptures by Richard Serra.</P>
<P>Besides building a 100,000-square-foot museum - much of it =
underground - the=20
family had offered to contribute $10 million to the transformation of =
the Main=20
Post's parking lot into a landscaped "parade ground."</P>
<P>The statement by the Fishers did not say if that offer still stands, =
but=20
there was a reference to the often personal criticism aimed at the =
family and=20
the trust since the original museum design was unveiled in December =
2007.</P>
<P>"Doris and I hoped to share our art collection with the public and =
enhance=20
the cultural experience of the National Park in the city where we live =
and=20
raised our family," Don Fisher said in the statement. "Our dream was =
that this=20
gift would be embraced and supported across the board."</P>
<P>Don Fisher served on the board of the Presidio Trust from 1997 to =
2005.=20
During that period, the park's management plan identified one site as =
ideal for=20
a large cultural facility: a former commissary across from Crissy =
Field.</P>
<P>The commissary is now occupied by the Sports Basement, a =
retailer.</P>
<P></P>
<P></P>
<P class=3Ddtlcomment>E-mail John King at <A=20
href=3D"mailto:jking@sfchronicle.com">jking@sfchronicle.com</A>.</P></SPA=
N>
<P=20
id=3Durl>http://sfgate.com/cgi-bin/article.cgi?f=3D/c/a/2009/07/02/MNJL18=
HMBA.DTL</P>
<P id=3Dpageno>This article appeared on page <STRONG>A - 1</STRONG> of =
the=20
San&nbsp;Francisco&nbsp;Chronicle</P>
<DIV id=3Dfooter>
<DIV id=3Dfootermenu>
<DIV id=3Dchroniclemenu><A=20
href=3D"http://www.sfgate.com/chronicle/info/copyright/">=A9 2009 Hearst =

Communications Inc.</A> | <A =
href=3D"http://www.sfgate.com/pages/privacy/">Privacy=20
Policy</A> | <A href=3D"http://www.sfgate.com/feedback/">Feedback</A> | =
<A=20
href=3D"http://www.sfgate.com/rss/">RSS Feeds</A> | <A=20
href=3D"http://www.sfgate.com/chronicle/faq.shtml">FAQ</A> | <A=20
href=3D"http://www.sfgate.com/index/">Site Index</A> | <A=20
href=3D"http://www.sfgate.com/staff/">Contact</A> </DIV>
<DIV class=3Dclear></DIV></DIV><!-- /#footermenu -->
<DIV class=3Dclear></DIV></DIV></DIV><!--/container --><!-- =
types/quantcast/quantcast.tmpl -->
<SCRIPT src=3D"http://edge.quantserve.com/quant.js" =
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>_qoptions =3D { labels:"SFGate" }; =
_qacct=3D"p-18RwvsI7rqyEk";quantserve();</SCRIPT>
<NOSCRIPT><A href=3D"http://www.quantcast.com/p-18RwvsI7rqyEk" =
target=3D_blank><IMG=20
style=3D"DISPLAY: none" height=3D1 alt=3DQuantcast=20
src=3D"http://pixel.quantserve.com/pixel/p-18RwvsI7rqyEk.gif?labels=3DSFG=
ate"=20
width=3D1 border=3D0></A>=20
</NOSCRIPT><!-- end types/quantcast/quantcast.tmpl --></BODY></HTML>

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://imgs.sfgate.com/templates/types/article/graphics/sfgate_printable.gif

R0lGODlhZAAOAMQAADEtLqyrq/Hx8UxJSmhlZnZzdLq5uT87PNbV1ePj44SBgp6dncjHx5GPj1pX
WCMfIP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA
ABAALAAAAABkAA4AAAX/ICQahfOcz+AEUOC8cLyKYzGg6Uzv/M4oB0dvSCwWBTccTthQOhsiRNL5
EBp3AQDKeu16IQTqFtIUn6AIrZnbLZ/Y33hPeVA0GoQgWSlbCQ5OAwQlAFwMd4gLCCICDAU4AwwM
NAgLiAECcldKBJk0CXs4QwFKAJM+Im58jWYQCCalLJpEVAMFmKlKkrsMAmE4p0OqfAxmAmpUi7M9
v1QABqFmDLAnAJ+8mQ0OC5JZOC6AKIUOCjgFENTnyzwC1FQJw07TkDSqp4cw4SeTqlbu3I+qrRvy
YwqOO2b2NTvhyR6EgGL4LRHhjsoOBAQcQDHwokEmjQ4IGMgIDQKoHQaUwCAU1YPUwVwoGLg8cUAb
sGhVKCZ88AkAAZkpGxgAcO7BM0ANHolIYcdAAIhnhg05xsdmzHIoFi2UKC5A0pc0BHgiY00EgQEi
SEF4AKUB2gQ81+6Ep4RIyp2OcBww+GDSTGBKVDi4EazBARohR/DsS8ZK3J0spBJhgIwKg7vSIFCt
+1cXGQYIHixwlaWXirX8HItQUPHBgQInJRMRsKC1LVAB9CnAui+KPp8iGBCoXAUU2xZaCEBQoMVB
JsbalkIIAQA7

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://imgs.sfgate.com/c/pictures/2008/06/13_t/dd-place17_ph_0497290424_t.gif

R0lGODlhQABAAPcAAAAAAQICCwoAABcIAwMEEwcIFAkKFQACGgsNGwYJGhUNFA4QHxQUGSMKBCgV
AzUbBTklCAACJAwPIQMJKQ4RIg0SKwYQLhETJRIWKxMYLR0dKwIMNgwTNAsWOxUaNBUcOxgePBIX
MiYeJBggOyUlKjQuL0YrA1Q4C1E0D2kyC085KmsWEV1EDXZVHWZIFFdHNHpYKGtRMAUVRxUeRAcc
VAAKQxojSBopVgoiXCkyUBMuZyU3aCI6dDtDVClEejRFcUtNU2paUXhmQ3FnWkxUa3x4anNycY5W
M4pkJ5VtLJlyLpdtMZt1NopoOKR7O6V7OqR9JoVbE5NaR4lrRZloR4pzSZh2TJ1tUol3VZ18VJh4
VoFqV6N7VrJ+XaJxSZR8bat9YqNeSH6AfqqBP4+AJZyCW5WCWY+CXqyDQqmHRbWKSKSDW6uDXqKA
VbKCX7qFXrKTUZaHZomEeJeMd5mTeo2EaK2EYqiJZrOEZLOJZrSGabmGbLSKa7mLbbuKZamTa7WY
baiLdruNcraMdKuWe6qXe7WTdLuSdb2VfLycfLabebeheK2jc8KRTcuaVtOdWdmjXcurTcONZMmU
atObaMGWfMaZedKac9ylY8ekedG0ceOqZeyza+24dOCmXPTNUvDRdP7reDNQiFZqkmx3i4R7g3aJ
qXiDmoeJhpiamI6Qj6ebh72bgrSbhK6SiZ2gn6eii7yjhbekiamll7erlryynbiymZukrKapp7Wu
qLe0qbi5tamwtZSYqMOchMWeicmbh9WaksanitSpicaqlNeql9W2mMu3k+KylcS8rMa4pNm6pca+
stu1rOS6pue0r9rEmPrWme/Pi/vpivjpmP/7mPjyjMjDrNfFqsrFuNLMvNPIt9fSv+jFqfrap+jI
te3UuvHSu/7mqPvusKm1ypmv27bM78XGxMrKxtLNw9bTyNbX1s3Q0ebWyO7Vzfnl2/Ls0sjb+9Tb
58vj/9Xr/9rz/9/h4ujp5/3r5vvz6+r4+/779f7+/vb4+eju893k2SH5BAAAAAAALAAAAABAAEAA
AAj+AH0J9MUKWLFu4b4Vo8Wqki9gv34NlMiKFaJAgbhcoRJGypFAu3a9MmJElUle9/z9S2XklMlU
vHLV+nOEyhUuGrEM9IUomLNv35wFs7gzojCBFREZCpRFC5UjUD8my7ZLzqlUr3rtusd1lhFUr17d
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
EKfCFwAxEBAAOw==

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://imgs.sfgate.com/c/pictures/2009/02/28_t/ba-fishermuseum0_0499850515_t.gif

R0lGODlhQABAAPcAAAABAAgLAhEJCQYXAxwdDhUVBxwcFBcYGA8TECkbDBYlBxwhFx8wHCgnDCMk
GysrHSYlFzQuHDc0GjEwChocIx0lJyssIysrKyYmJTYtJCszKDQzIzg1JDQ0LTw7Kzo4KSgrMjQ0
Mzk3Mzw7NDw7OzU3OS4wNUY3GE0uFUU8J0I9N1U9KjxBOT5AJlFSGkpKGUNBK0pFKVZGKlxbJFxZ
KERDNE1KNERDPEpGPExLPElGNFNMNFJOPlhINFhUOU1ROGJdLGBaKGRbMWVXOGlKLV9gLGViLWZi
MmtlNGtmOm1qO2xnN3FsPnFnOGJNHzo7Q0E/QD9DRENDQkRJQ0xLQkpMTEZHSFRNRVRSQ1NTTVtY
SExOVFRUU1lWVFtcXFhYWFBRTWNaSGFdW2NbU2tkQ3NsQ3drR3VxRHlzRndxSnt0Snx5TGlkW3Rr
WXh0WFteYmRfYl5iZWVkY2plZGtramlpaHFsZ29xbXh0amxtc29wcn19e3Z2d3BtcF5gVoV4VpF2
XIJxUIR3aIF7eJV6aX+AfqCDXpWKbIiDfZiKeJyUdpKKaamVeraWeK2OaJCIXceeeMKcasiie31+
gIB9gX6ChYqGhYuKi4SFhJOOjZWRipSTlJ2am5iWl4yPlaWbhqKcnaedlKujiLqmjKmkmraxnrWn
k6Sio6ylpa2rrKqop7OsrLiyqq2ut721tLm3uK6ws6CbpMimhNWshtu3ldaujse6p8S7udG3oNer
j9bHt87HtObNtbi/2b+8y8S/wrzD3LzF277G4r/J47/K6MzDw8jIytbLxtrRysHH3cTL38nO38vI
0dTO09jU2c3R3OjYy+3d1OXa2fHf1fLi3Pjm2OHg3sDH48TM48nP48XN6MnP6cfQ5cvS5cbQ6czT
6c/Y69HW5dXZ5tvd5tHW6tTa7Nve69bc8dre8OHe4d7h7N3g5d7i8eLi7Ojl6Pzr5Pfp6P7y7//1
6ePm8efp8+vs8+zt+fLu9O7x/e3w9PLy9f7z8/P1/fX4//7+/v359yH5BAAAAAAALAAAAABAAEAA
AAj+AK9dw4ZNGDGCBbUNEwasVy9gDYNBBDZQGbdv5M5p1FiuHDly28ghxHYtGUmSykxiU5aypcll
yYYNI6YNm7abNBUKkzix1zVhwmQOJPjt27aQ3zx+NJqtWzZuy7BxS5Ytm9RuWLthi9p02bJuwrAd
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
tT5Lq0VbtWRQBmSQBrLKqEqwBGTgs+N6BgEBADs=

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://imgs.sfgate.com/c/pictures/2008/06/12_t/ba-presidiomuseum1_0498616034_t.gif

R0lGODlhQABAAPcAAAABAAEKAgcLCAkVChMWDQoZFhYbFwUHGSQeGBwrHRckGREjGSMrGyYqGSgz
HTI0GREdIRwrIxcpJRwyKRQxLSMtIiYoJSw0JCU0LCs0Kyo4KDM5Kig6NDc5NjMsJicZJU8vIhlQ
ADZaASdPADtmAjNCLTlEKStDOjxDMzhGNztSPS9SLkZqBUpyDEpqG01wFVRyFkRIN0dUN01TNFd1
JVhtNWV2PGF6K1JQJjs6RSs0TAsVTDdLRTlTSTRMTzxbZkhJRUZWSFhXSEpMV0hXV11bXFdWVlRN
T2FeSGJcV3JbSVRlVGVkTGZ2SGhmV3JuXXZzXWp3VFpaZUZVZ2ZfZ1pmZ1lrclBucGRjY2tqZWNk
a2xra2hnaHJtam1xaHRyZHh0aWtqdHJucnJreGtzdHRzdHp1dHt2e3x7e3h4d55LKoN7ZYF8fYR7
dIlzcKNxWGOCKXiHXHKDSHiFbIeDe4uPbqmSeJKeacSLaVJ3h3x7g21xgIR8hXOJkHCbqXmntF6O
rX+zyIWDgomFhIuJhY2LioeDipONjJaLhpySi5iSh4qHlJOOlJWSk5qVlJqVmpyam5eVmY2Qi6OY
i6SblaOdnKWZlLKVjpqjhqyim6ajmbSrnbKom7GskpyYoqSdoqWXrIastKWio6ukpKyqq6unqLGm
orWrpLmupLSsqrmuq72zpLyzrLq1q7Oss7y0sru3t6umsMG2qsW9q8m+rMK5pcS8s8e8ttipp9m1
lsvCrcfAqMzDtMzDucfBttLKtNXKvNrNvNLGt9zRvdvTudPJreHSuom3ycW8ypXG3JjY+pbO7KXa
76zb7qvV6LDc76ba8avb8KPc/aje/bHe8q3j/a7i97Ti9bPk/bTr/rvs/rjl/Lz0/7j2/6HL3cnG
yNrPwdTIw9zSwtnRzM3I0dXL1djW1+XZyOfe1+/T0+rh1fPk0/Ll2vbr2fLn0dzX5dbP4OTb6cHz
/8j7/8Lv/+fi6/nr4//77P706Ovl8vXr9v/+9Pv1/v79/vPx+e7x9yH5BAAAAAAALAAAAABAAEAA
AAj+AJkJHEiQGTRm0QQ2axatGcJoEBk6WxjR4MFl0pYp28ixI8dq0kJ63OiQYDRo0CAeFLiSIcRo
zk6mjNjQ5ctoIkcqkwZS2rRp1bZhq/YzJMOjC58tpMgMaVOaMlFStIkSJ7SdIImGBJotW7Vr1bCJ
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

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://imgs.sfgate.com/c/pictures/2009/02/28_t/mn-fishermuseum0_0499850499_t.gif

R0lGODlhQABAAPcAAB8hGyUlIikoJywsKjAtJiowJi4wKTY2MTg3Mzc4NT08Nj08OUE/OzxCM0NE
PEpLPUxQPUZFQUhFQkZIQ0xMQ09NSlBLRVJOS09VQk5TSFZXR1VbQFpfRlNTTFlUTlZZTVRVUVxX
VFdZUltbVV1dWWBcU2JeWmheXV1iS15gV19gWGFjVGVoVWpvVmNjW2hjXGZoX2lqXG10W3NyXmVl
YWlmY2dpYmxrZG1saXBkYnJsZnJva25xZHJzZnV7Y3t+ZnR0bH11bnV5bHt7bXZ1cnt1cXx7dH58
eIF9boJ1cYF9doJ+e5R/eX6DbH6Bc4GEboKJb4ODdY6DdIaJc4mLdoSDe4mFfoaJeYyNe5COf4uQ
dY6QfZCRf5mQfYaEgImGgoyLhIyLiJGGgpKLhJuJhZOOipqNiY+RgpOUg5uWhZeYh5mYh5WVi5mU
jZeYiJqbjJOUlJmVkZeYl52dkpKXmZSanJqcm6OJgqWOi6qVi6GfjaSUkqyXk6KclK2alKOdm6qb
mbWclrSfnJ+ijp+gkp+gnqKilammlqWkm6uknaeonampnbSinbuinLGunZqeoZ2hoqKlpKuloqao
pq2rpKKnqaWqq6utrLSkobynorGspLuppbOtq7utq6+wpK+wrrOyprOyrLq0rby4rKausqqusK2y
s7S1tLq1s7a4t7y5tbe5uLu8u8GjncSnocWrpsurpcOuqs2uqcSyrcuyrdK0rti1r8G1ssy2scK7
tc25tMO9usy8utK2sdK6tdu8ttW9udu+ur7Av8nBt8PBvsrDvdPCvtrBvObBu+nBu/DEvb/BwMTE
wcrFwszJxczLydfDwd3EwdLLxdrJxdPOytXSzdrTzdfU0drW0t3Z1tzb2uXHwe/HweDJx+/MxuXM
yfTHwPPLxPzPx/POyfjOyO3Sy/TTzf3UzufX0uHb1uLd2v/Y0erg1+Xh3erk3+Xk4urm4+3p5e7s
6fHq5vLu6/Tx7vny7u7y9e/0+PLz9vn28/z59vT1+Pj3+vb4+v7+/iH5BAAAAAAALAAAAABAAEAA
AAj+AO8JHEiwoMB8COUhvJePoUOEEBHSi0ixYsR5FQ0OlGcQI0OIDDE29HhPpMWTFhVG5KhR4LuC
DQ9+bAgS5EyUNHHmm9iyZ8yP8wR6jBhyYEKdOguy7Kmx5siHCIPOvInUJlODS0GKvLl14cGqFu/R
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
QJp3OJdYMAV3qXyuGRAAOw==

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://pixel.quantserve.com/pixel/p-18RwvsI7rqyEk.gif?labels=SFGate

R0lGODlhAQABAAAAACwAAAAAAQABAID///8AAAACAkQBADs=

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgs.sfgate.com/css/article/printable01.css

BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#container {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 80%; =
PADDING-BOTTOM: 10px; COLOR: #000; PADDING-TOP: 10px; FONT-FAMILY: =
Verdana, sans-serif
}
#adpos3 {
	DISPLAY: inline; FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 336px
}
#header IMG.brandlogo {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 100px; HEIGHT: 14px; BORDER-RIGHT-WIDTH: 0px
}
#header FORM.printbutton {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; DISPLAY: inline; =
PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: 0px 10px; BORDER-LEFT: =
#ccc 1px solid; PADDING-TOP: 0px
}
#header INPUT.printbutton {
	FONT-SIZE: 1em; FONT-FAMILY: Verdana, sans-serif
}
#container DIV.view_article {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 1em; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; BORDER-RIGHT-WIDTH: 0px
}
#container A.view_article {
	FONT-SIZE: 1em; COLOR: #015660; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif
}
#container A.view_article:visited {
	FONT-SIZE: 1em; COLOR: #015660; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif
}
#printheader {
	DISPLAY: none
}
A:link {
	COLOR: #015660; TEXT-DECORATION: none
}
A:visited {
	COLOR: #015660; TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
A:hover:visited {
	TEXT-DECORATION: underline
}
H1 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H2 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H3 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H1 {
	FONT-SIZE: 1.44em; MARGIN: 11px 0px 0px
}
H2 {
	FONT-SIZE: 1.26em; MARGIN: 2px 0px 11px
}
P.byline {
	FONT-SIZE: 0.86em; MARGIN: 0px 0px 3px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
P.date {
	FONT-SIZE: 0.86em; MARGIN: 0px 0px 3px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
#objecthumbs {
	MARGIN-TOP: 14px; WIDTH: 600px
}
#objecthumbs IMG {
	BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; MARGIN: 0px =
6px -2px 0px; BORDER-LEFT: #000 1px solid; BORDER-BOTTOM: #000 1px solid
}
#objecthumbs A.more {
	FONT-SIZE: 0.86em
}
#articlebody {
	FONT-SIZE: 1.2em; LINE-HEIGHT: 1.44em; FONT-FAMILY: Georgia, "Times New =
Roman", Times, serif
}
#articlebody H3 {
	FONT-SIZE: 0.98em; TEXT-TRANSFORM: lowercase
}
#articlebody H3:first-letter {
	TEXT-TRANSFORM: uppercase
}
#articlefooter {
	FONT-SIZE: 0.74em; LINE-HEIGHT: 1.2em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
#articlefooter .imgleft {
	BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; FLOAT: left; =
BORDER-LEFT: #000 1px solid; BORDER-BOTTOM: #000 1px solid
}
#articlefooter .imgright {
	BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; FLOAT: right; =
BORDER-LEFT: #000 1px solid; BORDER-BOTTOM: #000 1px solid
}
#articlefooter .clear {
	CLEAR: both
}
#objecthumbs .clear {
	CLEAR: left
}
#chart_start PRE {
	FONT-SIZE: 0.98em; FONT-FAMILY: 'Andale Mono', 'Lucida Console', =
monospace
}
HR {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; COLOR: #666; HEIGHT: 1px; BACKGROUND-COLOR: #666; =
BORDER-RIGHT-WIDTH: 0px
}
#chart_link {
	BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #999 1px =
solid; PADDING-LEFT: 6px; FONT-SIZE: 0.86em; PADDING-BOTTOM: 6px; =
BORDER-LEFT: #999 1px solid; PADDING-TOP: 6px; BORDER-BOTTOM: #999 1px =
solid
}
#url {
	FONT-SIZE: 0.86em; COLOR: #555; FONT-STYLE: italic; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
#pageno {
	FONT-SIZE: 0.86em; COLOR: #555; FONT-STYLE: italic; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
DIV.google {
	FONT-SIZE: 0.86em; MARGIN: 15px 0px; WIDTH: 500px; COLOR: #555; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
#footer #chronsections SELECT {
	DISPLAY: inline; FLOAT: left; FONT: 0.86em Verdana, Arial, sans-serif
}
#footer #chronsections INPUT {
	DISPLAY: inline; FLOAT: left; FONT: 0.86em Verdana, Arial, sans-serif
}
#footer #chronsections FORM {
	MARGIN: 0px
}
#footer #chronsections SELECT {
	WIDTH: 220px; MARGIN-RIGHT: 5px
}
#footer #chronsections INPUT {
	WIDTH: 35px; MARGIN-RIGHT: 15px
}
* HTML #footer #chronsections INPUT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
LINE-HEIGHT: 0.97em; PADDING-TOP: 0px; HEIGHT: 18px
}
#footer #chroniclemenu {
	DISPLAY: inline; FONT-SIZE: 0.82em; FLOAT: left; WIDTH: 600px; =
PADDING-TOP: 3px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
#footer .clear {
	CLEAR: both
}

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgs.sfgate.com/css/article/printer01.css

#container {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#adpos3 {
	DISPLAY: none
}
#header {
	DISPLAY: none
}
#objecthumbs A.more {
	DISPLAY: none
}
#google_container1 {
	DISPLAY: none
}
.google {
	DISPLAY: none
}
#footer {
	DISPLAY: none
}
#printheader {
	DISPLAY: block
}
#printheader IMG.brandlogo {
	WIDTH: 100px; HEIGHT: 14px
}
H1 A {
	COLOR: #000
}
H1 A:visited {
	COLOR: #000
}
P.byline A {
	COLOR: #000
}
P.byline A:visited {
	COLOR: #000
}
#url {
	COLOR: #000; FONT-STYLE: normal; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
#pageno {
	COLOR: #000; FONT-STYLE: normal; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgs.sfgate.com/js/ads/ysm/cm.js

// js/ads/ysm/cm.js=0A=
function sfg_ShowListings() {=0A=
  var i=3D6;=0A=
  var last_item =3D 0;=0A=
  if ( typeof zSr !=3D "undefined" && zSr !=3D null && zSr.length > i ) {=0A=
    var lastel =3D zSr.length - 6;=0A=
    document.write('\n<div class=3D"contextualad">\n<div =
class=3D"sfg_ysm001">\n');=0A=
    document.write('<h3><a =
href=3D"http://searchmarketing.yahoo.com/srch/contentmatch.php" =
target=3D"_new">Ads by Yahoo!</a></h3>\n');=0A=
    while (i < zSr.length) {=0A=
      if (i =3D=3D lastel) {=0A=
        last_item =3D 1;=0A=
      }=0A=
      var descr =3D zSr[i++];=0A=
      var unused1 =3D zSr[i++];=0A=
      var clickURL =3D zSr[i++];=0A=
      var title =3D zSr[i++];=0A=
      var sitehost =3D zSr[i++];=0A=
      var unused2 =3D zSr[i++];=0A=
      if (last_item) {=0A=
        document.write('<div class=3D"item_last">\n');=0A=
      } else {=0A=
        document.write('<div class=3D"item">\n');=0A=
      }=0A=
      document.write('<h4><a target=3D"_new" href=3D"' + clickURL + '">' =
+ title + '</a></h4>\n');=0A=
      document.write('<p><a target=3D"_new" href=3D"' + clickURL + '">' =
+ descr + '</a></p>\n');=0A=
      document.write('<p class=3D"sitehost"><a target=3D"_new" href=3D"' =
+ clickURL + '">(' + sitehost + ')</a></p>\n');=0A=
      document.write('</div>\n\n');=0A=
    }=0A=
    document.write('</div>\n</div><!-- end contextual ad -->\n');=0A=
  } else {=0A=
      document.write('<!-- YSM error - no ads returned -->');=0A=
  }=0A=
}=0A=
// end js/ads/ysm/cm.js=0A=

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgs.sfgate.com/js1235671003/cssjs/js/article/std.js

// types/common/pages/searchbar/sfgate_un_p787.js=0A=
function sfgate_un() {=0A=
    var start =3D document.cookie.indexOf('hd=3D')=0A=
    if (start =3D=3D -1) {=0A=
        return '';=0A=
    }=0A=
    start +=3D3 ;=0A=
    var username =3D document.cookie.substr(start);=0A=
    var end =3D username.indexOf(';');=0A=
    if ( end !=3D -1 ) {=0A=
        username =3D username.substr(0,end);=0A=
    }=0A=
    if ( username.length =3D=3D 0 ) {=0A=
        return '';=0A=
    }=0A=
    end =3D username.indexOf('|');=0A=
    if ( end =3D=3D -1 ) {=0A=
        return '';=0A=
    }=0A=
=0A=
    return username.substr(0,end);=0A=
}=0A=
=0A=
function print_sfgate_un() {=0A=
    var encodedURL =3D escape(window.location);=0A=
    var sfgate_user =3D sfgate_un();=0A=
    if (sfgate_user) {=0A=
        document.write('Hello, <span class=3D"pipe"><a =
href=3D"/cgi-bin/contribute/sn/persona?plckPersonaPage=3DPersonaHome&amp;=
plckUserId=3D'+sfgate_user+'&amp;User=3D'+sfgate_user+'">' + sfgate_user =
+ '</a>');=0A=
        document.write(' | <a =
href=3D"/cgi-bin/webreg/user/account?user=3D' +=0A=
                       sfgate_user + '">My Account</a>');=0A=
        document.write(' | <a =
href=3D"/cgi-bin/webreg/user/loaccount">Sign Out</a></span>');=0A=
    } else {=0A=
        document.write('<span class=3D"pipe"><a =
href=3D"/cgi-bin/webreg/user/xaccount">Sign In</a>');=0A=
        document.write(' | <a =
href=3D"/cgi-bin/webreg/user/reg_cnt">Register</a></span>');=0A=
    }=0A=
}=0A=
=0A=
function print_sfgate_un_stacked() {=0A=
    var encodedURL =3D escape(window.location);=0A=
    var sfgate_user =3D sfgate_un();=0A=
    if (sfgate_user) {=0A=
        document.write('Hello, <a =
href=3D"/cgi-bin/contribute/sn/persona?plckPersonaPage=3DPersonaHome&amp;=
plckUserId=3D'+sfgate_user+'&amp;User=3D'+sfgate_user+'">' + sfgate_user =
+ '</a>');=0A=
        document.write('<span =
style=3D"display:block;line-height:15px;"><a =
href=3D"/cgi-bin/webreg/user/account?user=3D' + sfgate_user + '">My =
Account</a></span>');=0A=
        document.write('<span =
style=3D"display:block;line-height:15px;"><a =
href=3D"/cgi-bin/webreg/user/loaccount">Sign Out</a></span>');=0A=
    } else {=0A=
        document.write('<span =
style=3D"display:block;line-height:15px;"><a =
href=3D"/cgi-bin/webreg/user/xaccount">Sign In</a></span>');=0A=
        document.write('<span =
style=3D"display:block;line-height:15px;"><a =
href=3D"/cgi-bin/webreg/user/reg_cnt">Register</a></span>');=0A=
    }=0A=
}=0A=
function sfgate_get_hd_cookie_username() {=0A=
//try { console.log('detect hd un #1: ' + document.cookie); } catch(err) =
{}=0A=
    var start =3D document.cookie.indexOf('hd=3D')=0A=
//try { console.log('found "hd=3D" @: ' + start); } catch(err) {}=0A=
    if (start =3D=3D -1) {=0A=
        return '';=0A=
    }=0A=
    start +=3D3 ;=0A=
    var username =3D document.cookie.substr(start);=0A=
=0A=
//try { console.log('detect hd un #2: ' + username); } catch(err) {}=0A=
    var end =3D username.indexOf(';');=0A=
    if ( end !=3D -1 ) {=0A=
        username =3D username.substr(0,end);=0A=
    }=0A=
=0A=
//try { console.log('detect hd un #3: ' + username); } catch(err) {}=0A=
    if ( username.length =3D=3D 0 ) {=0A=
        return '';=0A=
    }=0A=
    end =3D username.indexOf('|');=0A=
    if ( end =3D=3D -1 ) {=0A=
        return '';=0A=
    }=0A=
//try { console.log('detect hd un #4: ' + username); } catch(err) {}=0A=
=0A=
    return username.substr(0,end);=0A=
}=0A=
=0A=
function sfgate_get_at_cookie_username() {=0A=
    var start =3D document.cookie.indexOf('at=3D');=0A=
    if (start =3D=3D -1) {=0A=
        return '';=0A=
    }=0A=
    start +=3D3 ;=0A=
    var username =3D document.cookie.substr(start);=0A=
=0A=
    var end =3D username.indexOf(';');=0A=
    if ( end !=3D -1 ) {=0A=
        username =3D username.substr(0,end);=0A=
    }=0A=
=0A=
    username_found =3D 0;=0A=
=0A=
    // the next line could potentially match a URL parameter with a key =
ending in 'u=3D' (i.e. 'foou=3D'=0A=
    // the best solution to handle this case is a '.split("&")'=0A=
    //   then loop through that array,=0A=
    //   then test line.substr(0, 2) against 'u=3D' =0A=
    allATCookieParams	=3D username.split('&');=0A=
=0A=
    for (i=3D0; i<allATCookieParams.length; i++) {=0A=
        if(allATCookieParams[i].substr(0,2) =3D=3D 'u=3D') {=0A=
            username =3D allATCookieParams[i].substr(2);=0A=
            username_found =3D 1;=0A=
            i =3D allATCookieParams.length; // equivelent to a break=0A=
        }=0A=
    }=0A=
=0A=
    if(username_found !=3D 1)=0A=
        return '';=0A=
=0A=
    var end2 =3D username.indexOf('&');=0A=
    if ( end2 !=3D -1 ) {=0A=
        username =3D username.substr(0,end2);=0A=
    }=0A=
=0A=
    var end =3D username.indexOf(';');=0A=
    if ( end !=3D -1 ) {=0A=
        username =3D username.substr(0,end);=0A=
    }=0A=
=0A=
    if ( username.length =3D=3D 0 ) {=0A=
        return '';=0A=
    }=0A=
    end =3D username.indexOf('&');=0A=
    if ( end !=3D -1 ) {=0A=
        username =3D username.substr(0,end);=0A=
    }=0A=
=0A=
    return username;=0A=
}=0A=
=0A=
function sfgate_at_is_bad () {=0A=
    var start =3D document.cookie.indexOf('at=3D');=0A=
    if (start =3D=3D -1) {=0A=
        return 0;=0A=
    }=0A=
    start +=3D3 ;=0A=
    var at =3D document.cookie.substr(start);=0A=
=0A=
    var end =3D at.indexOf(';');=0A=
    if ( end !=3D -1 ) {=0A=
        at =3D at.substr(0,end);=0A=
    }=0A=
=0A=
    if (at.indexOf('pwd_md5_tmpl') !=3D -1) { return 1; }=0A=
=0A=
    return 0;=0A=
}=0A=
=0A=
// end types/common/pages/searchbar/sfgate_un_p787.js=0A=
=0A=
/*=0A=
 types/article/sharing02.js=0A=
share functions=0A=
ssaux, pfagan 03/2007=0A=
*/=0A=
=0A=
// Build an URL for the share service passed in the function argument=0A=
=0A=
function sfgate_share(service) {=0A=
    // Get href and title=0A=
    // PDS URL correction, remove when going live=0A=
    var url =3D location.href;=0A=
    url =3D url.replace(/^http:\/\/[a-z]+\.u\./i,'http://www.');=0A=
    encodedurl =3D encodeURIComponent(url);=0A=
    var encodedtitle =3D encodeURIComponent(document.title);=0A=
=0A=
    var serviceUrl =3D null;=0A=
    if (service =3D=3D 'delicious') {=0A=
        serviceURL =3D 'http://del.icio.us/post?v=3D4&noui&jump=3Dclose'=0A=
            + '&url=3D'      + encodedurl=0A=
            + '&title=3D'    + encodedtitle;=0A=
    } else if (service =3D=3D 'digg') {=0A=
        serviceURL =3D 'http://digg.com/submit?phase=3D2'=0A=
            + '&url=3D'      + encodedurl=0A=
            + '&title=3D'    + encodedtitle;=0A=
    } else if (service =3D=3D 'facebook') {=0A=
        serviceURL =3D 'http://www.facebook.com/sharer.php'=0A=
            + '?u=3D' + encodedurl=0A=
            + '&t=3D' + encodedtitle;=0A=
    } else if (service =3D=3D 'fark') {=0A=
        serviceURL =3D 'http://www.fark.com/cgi/fark/submit.pl'=0A=
            + '?new_url=3D'     + encodedurl=0A=
            + '&new_comment=3D' + encodedtitle;=0A=
    } else if (service =3D=3D 'google') {=0A=
        serviceURL =3D 'http://www.google.com/bookmarks/mark?op=3Dadd'=0A=
            + '&bkmk=3D'       + encodedurl=0A=
            + '&title=3D'      + encodedtitle=0A=
            + '&labels=3D'     + ''=0A=
            + '&annotation=3D' + '';=0A=
    } else if (service =3D=3D 'newsvine') {=0A=
        serviceURL =3D 'http://www.newsvine.com/_tools/seed&save'=0A=
            + '?u=3D'      + encodedurl;=0A=
    } else if (service =3D=3D 'reddit') {=0A=
        serviceURL =3D 'http://reddit.com/submit'=0A=
            + '?url=3D'      + encodedurl=0A=
            + '&title=3D'    + encodedtitle;=0A=
    } else if (service =3D=3D 'slashdot') {=0A=
        serviceURL =3D 'http://slashdot.org/bookmark.pl'=0A=
            + '?url=3D'   + encodedurl=0A=
            + '&title=3D' + encodedtitle;=0A=
    } else if (service =3D=3D 'technorati') {=0A=
        serviceURL =3D 'http://technorati.com/faves?sub=3Dfavthis'=0A=
            + '&add=3D' + encodedurl;=0A=
    }=0A=
    if ( serviceURL !=3D null ) {=0A=
        var theNewWin =3D =
window.open(serviceURL,'sfgateshare','width=3D900,height=3D640,resizable=3D=
yes,toolbar=3Dno,location=3Dno,scrollbars=3Dyes');=0A=
        if ( typeof theNewWin !=3D "undefined" &&=0A=
             theNewWin !=3D null ) {=0A=
            theNewWin.focus();=0A=
        }=0A=
    }=0A=
    // remove the layer.=0A=
    document.getElementById('sharepop1').style.display=3D'none';=0A=
    document.getElementById('sharepop1mask').style.display=3D'none';=0A=
}=0A=
// end  types/article/sharing02.js=0A=
=0A=
// templates/types/article/fontprefs.js=0A=
var sfgate_sizeclasses =3D {xs: {minus: null, plus: 'sm'},=0A=
                          sm: {minus: 'xs', plus: 'md'},=0A=
                          md: {minus: 'sm', plus: 'lg'},=0A=
                          lg: {minus: 'md', plus: 'xl'},=0A=
                          xl: {minus: 'lg', plus: null}}=0A=
=0A=
var sfgate_bt_fonts =3D {georgia: 1,=0A=
                       verdana: 1,=0A=
                       times: 1,=0A=
                       arial: 1};=0A=
=0A=
function sfgate_validate_fprefs(textclass) {=0A=
=0A=
    var textclasses =3D textclass.split(' ');=0A=
    var fontclass   =3D textclasses[0];=0A=
    var sizeclass   =3D textclasses[1];=0A=
=0A=
    if ( typeof fontclass =3D=3D "undefined" ||=0A=
         typeof sizeclass =3D=3D "undefined" ||=0A=
         typeof sfgate_sizeclasses[sizeclass] =3D=3D "undefined" ||=0A=
         typeof sfgate_bt_fonts[fontclass] =3D=3D "undefined" ) {=0A=
        return null;=0A=
    }=0A=
    return {fc: fontclass,=0A=
            sc: sizeclass};=0A=
}=0A=
=0A=
function sfgate_chfont_mo(e) {=0A=
    if (!e) var e =3D window.event;=0A=
    var tg =3D (window.event) ? e.srcElement : e.target;=0A=
    if (tg.id !=3D 'fontpopup' ) return;=0A=
    var reltg =3D (e.relatedTarget) ? e.relatedTarget : e.toElement;=0A=
    while (reltg !=3D tg && reltg.nodeName !=3D 'BODY')=0A=
    reltg=3D reltg.parentNode=0A=
    if (reltg=3D=3D tg) return;=0A=
    // Otherwise, mouseout took place when mouse actually left layer=0A=
    // Handle event=0A=
    document.getElementById('fontpopup').style.display=3D'none';=0A=
}=0A=
=0A=
// returns an object that contains the=0A=
// bodytext element and the current fontclass and size class=0A=
// of that element. All error checking is done=0A=
// here.=0A=
function sfgate_getbodytext_obj (loc) {=0A=
    var textel   =3D document.getElementById('fontprefs_' + loc);=0A=
=0A=
    if ( typeof textel =3D=3D "undefined" ||=0A=
         typeof textel.className =3D=3D "undefined" ) {=0A=
        return null;=0A=
    }=0A=
=0A=
    var c_obj =3D sfgate_validate_fprefs(textel.className);=0A=
    if ( c_obj =3D=3D null ) {=0A=
        return null;=0A=
    }=0A=
    return {el: textel,=0A=
                    fc: c_obj.fc,=0A=
                    sc: c_obj.sc};=0A=
}=0A=
=0A=
// change font family=0A=
function sfgate_chfont(newfont) {=0A=
    var c_obj_top =3D sfgate_getbodytext_obj('top');=0A=
    var c_obj_bottom =3D sfgate_getbodytext_obj('bottom');=0A=
=0A=
    if ( c_obj_top =3D=3D null ) {=0A=
        return;=0A=
    }=0A=
    if ( c_obj_bottom =3D=3D null ) {=0A=
        return;=0A=
    }=0A=
=0A=
    var tc =3D newfont + ' ' + c_obj_top.sc;=0A=
    c_obj_top.el.className =3D tc;=0A=
    c_obj_bottom.el.className =3D tc;=0A=
    sfgate_set_fprefs(tc);=0A=
}=0A=
=0A=
// change font size=0A=
=0A=
function sfgate_chsize(direction) {=0A=
//alert("in chsize, " + direction);=0A=
    var c_obj_top =3D sfgate_getbodytext_obj('top');=0A=
    var c_obj_bottom =3D sfgate_getbodytext_obj('bottom');=0A=
=0A=
    if ( c_obj_top =3D=3D null ||=0A=
         sfgate_sizeclasses[c_obj_top.sc][direction] =3D=3D null ) {=0A=
        return;=0A=
    }=0A=
    if ( c_obj_bottom =3D=3D null ||=0A=
         sfgate_sizeclasses[c_obj_bottom.sc][direction] =3D=3D null ) {=0A=
        return;=0A=
    }=0A=
=0A=
    var tc =3D c_obj_top.fc + ' ' +  =
sfgate_sizeclasses[c_obj_top.sc][direction];=0A=
    c_obj_top.el.className =3D tc;=0A=
    c_obj_bottom.el.className =3D tc;=0A=
    sfgate_set_fprefs(tc);=0A=
=0A=
}=0A=
=0A=
function sfgate_setsize(sizeclass) {=0A=
    var c_obj_top =3D sfgate_getbodytext_obj('top');=0A=
    var c_obj_bottom =3D sfgate_getbodytext_obj('bottom');=0A=
=0A=
    if ( c_obj_top =3D=3D null ||=0A=
         typeof sfgate_sizeclasses[sizeclass] =3D=3D "undefined" ) {=0A=
        return;=0A=
    }=0A=
    if ( c_obj_bottom =3D=3D null ||=0A=
         typeof sfgate_sizeclasses[sizeclass] =3D=3D "undefined" ) {=0A=
        return;=0A=
    }=0A=
=0A=
    c_obj_top.el.className =3D c_obj_top.fc + ' ' +  sizeclass;=0A=
    c_obj_bottom.el.className =3D c_obj_top.fc + ' ' +  sizeclass;=0A=
}=0A=
=0A=
// set cookie function, not yet in use=0A=
=0A=
function sfgate_set_fprefs(fprefs) {=0A=
    var nextyear =3D new Date();=0A=
    nextyear.setDate(nextyear.getDate() + 365);=0A=
    document.cookie =3D 'fprefs=3D' + escape(fprefs) +=0A=
                '; expires=3D' + nextyear.toUTCString() +=0A=
                '; path=3D/' +=0A=
                '; domain=3D.sfgate.com';=0A=
}=0A=
=0A=
function sfgate_get_fprefs() {=0A=
    var start =3D document.cookie.indexOf('fprefs')=0A=
    if (start =3D=3D -1) {=0A=
        return;=0A=
    }=0A=
    start +=3D7 ;=0A=
    var cookieVal =3D document.cookie.substr(start);=0A=
    var end =3D cookieVal.indexOf(';');=0A=
    if ( end !=3D -1 ) {=0A=
        cookieVal =3D cookieVal.substr(0,end);=0A=
    }=0A=
    if ( cookieVal.length =3D=3D 0 ) {=0A=
        return;=0A=
    }=0A=
    cookieVal =3D unescape(cookieVal);=0A=
=0A=
    var c_obj =3D sfgate_validate_fprefs(cookieVal);=0A=
    if ( c_obj =3D=3D null ) {=0A=
        return;=0A=
    }=0A=
=0A=
    var textel_top =3D document.getElementById('fontprefs_top');=0A=
    var textel_bottom   =3D document.getElementById('fontprefs_bottom');=0A=
=0A=
    if (textel_top =3D=3D null) {=0A=
        return;=0A=
    }=0A=
    if (textel_bottom =3D=3D null) {=0A=
        return;=0A=
    }=0A=
=0A=
    textel_top.className =3D cookieVal;=0A=
    textel_bottom.className =3D cookieVal;=0A=
=0A=
    var radiob =3D document.getElementById('font_radio_' + c_obj.fc);=0A=
    if (radiob =3D=3D null) {=0A=
        return;=0A=
    }=0A=
=0A=
    radiob.checked =3D true;=0A=
}=0A=
// end templates/types/article/fontprefs.js=0A=
=0A=
// js/utils/fstore.js=0A=
// utility functions to store values in hidden inputs=0A=
// get integer value stored in form input el. Returns 0 if el is null=0A=
function sfggifel(el) {=0A=
    if ( el ) {=0A=
        return parseInt(el.value);=0A=
    }=0A=
    return 0;=0A=
}=0A=
// set integer in input id;=0A=
function sfgsitel(el, num) {=0A=
    sfgsstel(el,num); =0A=
}=0A=
// get boolean value.=0A=
function sfggbfel(el) {=0A=
    if ( el ) {=0A=
        if ( el.value =3D=3D "True" ) {=0A=
            return true;=0A=
        }=0A=
    }=0A=
    return false;=0A=
}=0A=
// set boolean value=0A=
function sfgsbtel(el, b) {=0A=
    sfgsstel(el, (b ? "True" : "False" ));=0A=
}=0A=
// get string value=0A=
function sfggsfel(el) {=0A=
    if ( el ) {=0A=
        return el.value;=0A=
    }=0A=
    return '';=0A=
}=0A=
// set string value=0A=
function sfgsstel(el, s) {=0A=
    if ( el ) {=0A=
        el.value =3D s;=0A=
    }=0A=
}=0A=
// end js/utils/fstore.js=0A=
=0A=
// begin: js/utils/rot.js=0A=
function sfgate_dump(s) {=0A=
    if ( window.dump ) {=0A=
        dump(s);=0A=
    }=0A=
}=0A=
=0A=
function sfgrot(n,s,domid,freq,jump) {=0A=
    this.numels =3D n;=0A=
    this.show =3D s;=0A=
    this.show_orig =3D s;=0A=
    if ( this.show > this.numels ) {=0A=
        this.show =3D this.numels;=0A=
    }=0A=
    this.stateids =3D new Array();=0A=
    this.tabids =3D new Array();=0A=
    this.timeout;=0A=
    this.domid =3D domid;=0A=
    this.freq =3D freq;=0A=
    this.numrot =3D 1 * n; // hardcoded for now=0A=
    this.currotnum =3D 0;=0A=
    this.jump =3D jump;=0A=
    if ( this.jump > this.show ) {=0A=
        this.jump =3D this.show;=0A=
    }=0A=
    window[this.domid] =3D this;=0A=
}=0A=
=0A=
sfgrot.prototype.getDomXEl =3D function(subel) {=0A=
    return document.getElementById(this.domid+subel);=0A=
}=0A=
=0A=
sfgrot.prototype.setup =3D function() {=0A=
    var lastTest =3D 0;=0A=
    for ( var i =3D 1; i <=3D this.numels && lastTest =3D=3D 0 ; i++ ) {=0A=
        var el =3D this.getDomXEl(i);=0A=
        if ( el =3D=3D null ) {=0A=
            // we don't have a complete set <=3D> none=0A=
            this.stateids[0] =3D null;=0A=
            lastTest =3D 1;=0A=
        } else {=0A=
            this.stateids[i-1] =3D el;=0A=
        }=0A=
    }=0A=
    lastTest =3D 0;=0A=
    for ( i =3D 1; i <=3D this.numels && lastTest =3D=3D 0 ; i++ ) {=0A=
        el =3D this.getDomXEl('_tab'+i);=0A=
        if ( el =3D=3D null ) {=0A=
            // we don't have a complete set <=3D> none=0A=
            this.tabids[0] =3D null;=0A=
            lastTest =3D 1;=0A=
        } else {=0A=
            this.tabids[i-1] =3D el;=0A=
        }=0A=
    }=0A=
    // buttons=0A=
    this.playb =3D this.getDomXEl('_play');=0A=
    this.pauseb =3D this.getDomXEl('_pause');=0A=
    this.nextben =3D this.getDomXEl('_next_en');=0A=
    this.prevben =3D this.getDomXEl('_prev_en');=0A=
    this.nextbdis =3D this.getDomXEl('_next_dis');=0A=
    this.prevbdis =3D this.getDomXEl('_prev_dis');=0A=
    this.showing =3D this.getDomXEl('_showing');=0A=
    // input form element to keep data=0A=
    this.idi =3D this.getDomXEl('_idi');=0A=
    this.pi  =3D this.getDomXEl('_pi');=0A=
    this.showid(sfggifel(this.idi));=0A=
    if ( this.show_orig >=3D this.numels ) {=0A=
        if ( this.nextben ) {=0A=
            this.nextben.style.display =3D 'none';=0A=
        }=0A=
        if ( this.nextbdis ) {=0A=
            this.nextbdis.style.display =3D 'none';=0A=
        }=0A=
        if ( this.prevben ) {=0A=
            this.prevben.style.display =3D 'none';=0A=
        }=0A=
        if ( this.prevbdis ) {=0A=
            this.prevbdis.style.display =3D 'none';=0A=
        }=0A=
        if ( this.showing ) {=0A=
            this.showing.style.display =3D 'none';=0A=
        }=0A=
    } else {=0A=
       this.setnextprev(sfggifel(this.idi));=0A=
    }=0A=
    if (!this.setshowing) {=0A=
       this.setshowing =3D this.setshowingtext;=0A=
    }=0A=
    this.setshowing(sfggifel(this.idi));=0A=
    this.rotate();=0A=
}=0A=
=0A=
sfgrot.prototype.showid =3D function (id) {=0A=
    if ( id < 1 || id > this.numels ) {=0A=
        return;=0A=
    }=0A=
    id--;=0A=
    var i;=0A=
    var ns =3D this.show;=0A=
    if ( this.stateids[0] !=3D null ) { // do we use main ids?=0A=
        for ( i =3D id; i < this.numels ;i++ ){=0A=
            if ( ns > 0 ) {=0A=
                this.stateids[i].style.display =3D 'block';=0A=
                ns--;=0A=
            } else {=0A=
                this.stateids[i].style.display =3D 'none';=0A=
            }=0A=
        }                 =0A=
        for ( i =3D 0; i < id ;i++ ){=0A=
            if ( this.freq !=3D 0 && ns > 0 ) {=0A=
                this.stateids[i].style.display =3D 'block';=0A=
                ns--;=0A=
            } else {=0A=
                this.stateids[i].style.display =3D 'none';=0A=
            }=0A=
        }                 =0A=
    }=0A=
=0A=
    if ( this.tabids[0] !=3D null ) { // do we use tabs?=0A=
        // note: makes not sense to have more than one tab=0A=
        // selected.=0A=
        for ( i =3D 0; i < this.numels ; i++ ){=0A=
            this.tabids[i].className =3D '';=0A=
        }                 =0A=
        this.tabids[id].className =3D 'selected';=0A=
    }=0A=
=0A=
    // restore for storing.=0A=
    id =3D id + 1;=0A=
    sfgsitel(this.idi,id);=0A=
}=0A=
=0A=
sfgrot.prototype.mshowid =3D function (id) {=0A=
    this.stop();=0A=
    this.showid(id);=0A=
}=0A=
=0A=
sfgrot.prototype.stop =3D function () {=0A=
    clearTimeout(this.timeout);=0A=
    sfgsbtel(this.pi, false);=0A=
    if ( this.playb ) {=0A=
        this.playb.style.display =3D 'block';=0A=
    }=0A=
    if ( this.pauseb ) {=0A=
        this.pauseb.style.display =3D 'none';=0A=
    }=0A=
}=0A=
=0A=
sfgrot.prototype.play =3D function () {=0A=
    sfgsbtel(this.pi, true);=0A=
    var cur =3D this.nextel(true);=0A=
    this.showid(cur);=0A=
    this.currotnum =3D 1; // not zero since we've already moved one.=0A=
    this.rotate();=0A=
}=0A=
=0A=
sfgrot.prototype.start =3D function () {=0A=
    if ( this.playb ) {=0A=
        this.playb.style.display =3D 'none';=0A=
    }=0A=
    if ( this.pauseb ) {=0A=
        this.pauseb.style.display =3D 'block';=0A=
    }=0A=
}=0A=
=0A=
sfgrot.prototype.rotate =3D function () {=0A=
    if ( this.freq !=3D 0 && sfggbfel(this.pi) && this.currotnum < =
this.numrot ) {=0A=
        clearTimeout(this.timeout)=0A=
        this.start();=0A=
        this.currotnum =3D this.currotnum + 1;=0A=
        var cur =3D this.nextel(true);=0A=
        this.timeout =3D =
setTimeout(this.domid+'.showid('+cur+');'+this.domid+'.rotate();', =
this.freq);=0A=
    } else {=0A=
        this.stop();=0A=
    }        =0A=
}=0A=
=0A=
sfgrot.prototype.nextel =3D function (up) {=0A=
    var cur =3D sfggifel(this.idi);=0A=
    if ( typeof cur =3D=3D "undefined" ) {=0A=
        cur =3D 1;=0A=
    } else {=0A=
        if ( up ) {=0A=
            cur =3D cur + this.jump;=0A=
            if ( cur > this.numels ) {=0A=
                cur =3D cur - this.numels;=0A=
            }=0A=
        } else {=0A=
            cur =3D cur - this.jump;=0A=
            if ( cur < 1 ) {=0A=
                cur =3D cur + this.numels;=0A=
            }=0A=
        }=0A=
    }=0A=
    return cur;=0A=
}=0A=
=0A=
sfgrot.prototype.setnextprev =3D function (cur) {=0A=
    if ( cur > ( this.numels - this.show ) ) {=0A=
        this.nonext =3D true;=0A=
        if ( this.nextben ) {=0A=
            this.nextben.style.display =3D 'none';=0A=
        }=0A=
        if ( this.nextbdis ) {=0A=
            this.nextbdis.style.display =3D 'inline';=0A=
        }=0A=
    } else {=0A=
        this.nonext =3D false;=0A=
        if ( this.nextben ) {=0A=
            this.nextben.style.display =3D 'inline';=0A=
        }=0A=
        if ( this.nextbdis ) {=0A=
            this.nextbdis.style.display =3D 'none';=0A=
        }=0A=
    }        =0A=
    if ( cur > this.show ) {=0A=
        this.noprev =3D false;=0A=
        if ( this.prevben ) {=0A=
            this.prevben.style.display =3D 'inline';=0A=
        }=0A=
        if ( this.prevbdis ) {=0A=
            this.prevbdis.style.display =3D 'none';=0A=
        }=0A=
    } else {=0A=
        this.noprev =3D true;=0A=
        if ( this.prevben ) {=0A=
            this.prevben.style.display =3D 'none';=0A=
        }=0A=
        if ( this.prevbdis ) {=0A=
            this.prevbdis.style.display =3D 'inline';=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
sfgrot.prototype.next =3D function () {=0A=
    if ( this.nextben ) {=0A=
        this.nextben.blur();=0A=
    }=0A=
    if ( this.nexbdis ) {=0A=
        this.nextbdis.blur();=0A=
    }=0A=
=0A=
    if ( this.nonext ) {=0A=
        return;=0A=
    }=0A=
    var cur =3D this.nextel(true);=0A=
    this.showid(cur);=0A=
    this.setnextprev(cur)=0A=
    this.setshowing(cur);=0A=
}=0A=
=0A=
sfgrot.prototype.prev =3D function () {=0A=
    if ( this.prevben ) {=0A=
        this.prevben.blur();=0A=
    }=0A=
    if ( this.prevbdis ) {=0A=
        this.prevbdis.blur();=0A=
    }=0A=
    if ( this.noprev ) {=0A=
        return;=0A=
    }=0A=
    var cur =3D this.nextel(false);=0A=
    this.showid(cur);=0A=
    this.setnextprev(cur);=0A=
    this.setshowing(cur);=0A=
}=0A=
=0A=
sfgrot.prototype.setshowingtext =3D function (cur) {=0A=
    if ( this.showing =3D=3D null ) {=0A=
        return;=0A=
    }=0A=
    var showing =3D 'Showing: '+cur+'-';=0A=
    if ( cur <=3D ( this.numels - this.show ) ) {=0A=
        var showend =3D cur + this.show - 1;=0A=
        showing +=3D showend;=0A=
    } else {=0A=
        showing +=3D this.numels;=0A=
    }=0A=
    showing +=3D ' of '+this.numels;=0A=
    this.showing.innerHTML =3D showing;=0A=
}=0A=
// end: js/utils/rot.js=0A=
=0A=
// types/topmost/js/topmost.js=0A=
// Preload Tab Images=0A=
var most_read =3D    new Image(); most_read.src =3D    =
"http://imgs.sfgate.com/graphics/contentmodules/topmost/cre/most_read_on.=
gif";=0A=
var most_emailed =3D new Image(); most_emailed.src =3D =
"http://imgs.sfgate.com/graphics/contentmodules/topmost/cre/most_emailed_=
on.gif";=0A=
var most_commented =3D  new Image(); most_commented.src =3D  =
"http://imgs.sfgate.com/graphics/contentmodules/topmost/cre/most_commente=
d_on.gif";=0A=
=0A=
var divids=3Dnew Array('mostread','mostemailed','topstories');=0A=
var tabids=3Dnew Array('most_read','most_emailed','most_commented');=0A=
=0A=
=0A=
function switchid(id,tab){  =0A=
        hideallids();=0A=
        showdiv(id,tab);=0A=
}=0A=
=0A=
function hideallids(){=0A=
        //loop through the array and hide each element by id=0A=
        for (var i=3D0;i<divids.length;i++){=0A=
                hidediv(divids[i],tabids[i]);=0A=
        }                 =0A=
}=0A=
=0A=
function hidediv(id,taboff) {=0A=
        //safe function to hide an element with a specified id=0A=
        if (document.getElementById) { // DOM3 =3D IE5, NS6=0A=
                document.getElementById(id).style.display =3D 'none';=0A=
        }=0A=
        else {=0A=
                if (document.layers) { // Netscape 4=0A=
                        document.id.display =3D 'none';=0A=
                }=0A=
                else { // IE 4=0A=
                        document.all.id.style.display =3D 'none';=0A=
                }=0A=
        }=0A=
        // switch tab image to off state=0A=
        document.getElementById(taboff).src =3D =
"http://imgs.sfgate.com/graphics/contentmodules/topmost/cre/"+taboff+"_of=
f.gif";=0A=
}=0A=
=0A=
function showdiv(id,tab) {=0A=
        //safe function to show an element with a specified id=0A=
                  =0A=
        if (document.getElementById) { // DOM3 =3D IE5, NS6=0A=
                document.getElementById(id).style.display =3D 'block';=0A=
        }=0A=
        else {=0A=
                if (document.layers) { // Netscape 4=0A=
                        document.id.display =3D 'block';=0A=
                }=0A=
                else { // IE 4=0A=
                        document.all.id.style.display =3D 'block';=0A=
                }=0A=
        }=0A=
        // switch tab image to current selection=0A=
        document.getElementById(tab).src =3D =
"http://imgs.sfgate.com/graphics/contentmodules/topmost/cre/"+tab+"_on.gi=
f";=0A=
}=0A=
// end types/topmost/js/topmost.js=0A=
=0A=
// /js/utils/hideoneorlast.js=0A=
// remove one of the articles=0A=
function sfg_hideoneorlast(id_prefix) {=0A=
   if ( window.sfgate_f !=3D=3D undefined ) {=0A=
      var curid =3D id_prefix + '_' + window.sfgate_f;=0A=
      var curidel =3D document.getElementById(curid);=0A=
      if ( ! curidel ) {=0A=
         curidel =3D document.getElementById(id_prefix + '_last_row');=0A=
      }=0A=
      if ( curidel ) {=0A=
         curidel.style.display =3D 'none';=0A=
      }=0A=
   }=0A=
}=0A=
// end /js/utils/hideoneorlast.js=0A=
=0A=
/* js/jsan/Ajax.js=0A=
Ajax - Simple Ajax Support Library=0A=
=0A=
DESCRIPTION:=0A=
=0A=
This library defines simple cross-browser functions for rudimentary Ajax=0A=
support.=0A=
=0A=
AUTHORS:=0A=
=0A=
    Ingy d=C3=B6t Net <ingy@cpan.org>=0A=
    Kang-min Liu <gugod@gugod.org>=0A=
=0A=
COPYRIGHT:=0A=
=0A=
Copyright Ingy d=C3=B6t Net 2006. All rights reserved.=0A=
=0A=
Ajax.js is free software. =0A=
=0A=
This library is free software; you can redistribute it and/or modify it=0A=
under the terms of the GNU Lesser General Public License as published by=0A=
the Free Software Foundation; either version 2.1 of the License, or (at=0A=
your option) any later version.=0A=
=0A=
This library is distributed in the hope that it will be useful, but=0A=
WITHOUT ANY WARRANTY; without even the implied warranty of=0A=
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser=0A=
General Public License for more details.=0A=
=0A=
    http://www.gnu.org/copyleft/lesser.txt=0A=
=0A=
 =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D*/=0A=
=0A=
if (! this.Ajax) Ajax =3D function () {};=0A=
proto =3D Ajax.prototype;=0A=
=0A=
Ajax.VERSION =3D '0.10';=0A=
=0A=
// Allows one to override with something more drastic.=0A=
// Can even be done "on the fly" using a bookmarklet.=0A=
// As an example, the test suite overrides this to test error conditions.=0A=
proto.die =3D function(e) { throw(e) };=0A=
=0A=
// The simple user interface function to GET. If no callback is used the=0A=
// function is synchronous.=0A=
=0A=
Ajax.get =3D function(url, callback) {=0A=
    return (new Ajax()).get(=0A=
        { 'url': url, 'onComplete': callback }=0A=
    );=0A=
}=0A=
=0A=
// The simple user interface function to POST. If no callback is used the=0A=
// function is synchronous.=0A=
Ajax.post =3D function(url, data, callback) {=0A=
    return (new Ajax()).post(=0A=
        { 'url': url, 'data': data, 'onComplete': callback }=0A=
    );=0A=
}=0A=
=0A=
// Object interface=0A=
proto.get =3D function(params) {=0A=
    this._init_object(params);=0A=
    this.request.open('GET', this.url, Boolean(this.onComplete));=0A=
    return this._send();=0A=
}=0A=
=0A=
proto.post =3D function(params) {=0A=
    this._init_object(params);=0A=
    this.request.open('POST', this.url, Boolean(this.onComplete));=0A=
    this.request.setRequestHeader(=0A=
        'Content-Type', =0A=
        'application/x-www-form-urlencoded'=0A=
    );=0A=
    return this._send();=0A=
}=0A=
=0A=
// Set up the Ajax object with a working XHR object.=0A=
proto._init_object =3D function(params) {=0A=
    for (key in params) {=0A=
        if (! key.match(/^url|data|onComplete$/))=0A=
            throw("Invalid Ajax parameter: " + key);=0A=
        this[key] =3D params[key];=0A=
    }=0A=
=0A=
    if (! this.url)=0A=
        throw("'url' required for Ajax get/post method");=0A=
=0A=
    if (this.request)=0A=
        throw("Don't yet support multiple requests on the same Ajax =
object");=0A=
=0A=
    this.request =3D new XMLHttpRequest();=0A=
=0A=
    if (! this.request)=0A=
        return this.die("Your browser doesn't do Ajax");=0A=
    if (this.request.readyState !=3D 0)=0A=
        return this.die("Ajax readyState should be 0");=0A=
=0A=
    return this;=0A=
}=0A=
=0A=
proto._send =3D function() {=0A=
    var self =3D this;=0A=
    if (this.onComplete) {=0A=
        this.request.onreadystatechange =3D function() {=0A=
            self._check_asynchronous();=0A=
        };=0A=
    }=0A=
    this.request.send(this.data);=0A=
    return Boolean(this.onComplete)=0A=
        ? this=0A=
        : this._check_synchronous();=0A=
}=0A=
=0A=
// TODO Allow handlers for various readyStates and statusCodes.=0A=
// Make these be the default handlers.=0A=
proto._check_status =3D function() {=0A=
    if (this.request.status !=3D 200) {=0A=
        return this.die(=0A=
            'Ajax request for "' + this.url +=0A=
            '" failed with status: ' + this.request.status=0A=
        );=0A=
    }=0A=
}=0A=
=0A=
proto._check_synchronous =3D function() {=0A=
    this._check_status();=0A=
    return this.request.responseText;=0A=
}=0A=
=0A=
proto._check_asynchronous =3D function() {=0A=
    if (this.request.readyState !=3D 4) return;=0A=
    this._check_status();=0A=
    this.onComplete(this.request.responseText);=0A=
}=0A=
=0A=
// IE support=0A=
if (window.ActiveXObject && !window.XMLHttpRequest) {=0A=
    window.XMLHttpRequest =3D function() {=0A=
        var name =3D (navigator.userAgent.toLowerCase().indexOf('msie =
5') !=3D -1)=0A=
            ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';=0A=
        return new ActiveXObject(name);=0A=
    }=0A=
}=0A=
=0A=
// end js/jsan/Ajax.js=0A=
=0A=
// js/polls/polls.js=0A=
function $(id) {=0A=
 if (document.all) {    // IE=0A=
  var i, o, objs =3D document.all[id];=0A=
  for (i=3D0;i<objs.length;i++) {=0A=
   o =3D objs[i];=0A=
   if (o.attributes['id'] && (o.attributes['id'].value =3D=3D id)) =
return o;=0A=
  }=0A=
 } else {=0A=
  return document.getElementById(id);=0A=
 }=0A=
}=0A=
function voteRequest(frm) {=0A=
 var i, p =3D $(frm.name+'/vote');=0A=
 if (p) p.style.cursor =3D 'wait';=0A=
 p =3D frm.name;=0A=
 $(p).style.cursor =3D 'wait';=0A=
 // // // $(p).parentNode.style.cursor =3D 'wait';=0A=
 Ajax.get(p+'/v');=0A=
 var answer=3D0;=0A=
 for (i=3D0;i<frm.answer.length;i++) {=0A=
  if (frm.answer[i].checked=3D=3Dtrue) answer=3Dfrm.answer[i].value;=0A=
 }=0A=
 $(p).innerHTML =3D Ajax.get(frm.action + '?p=3D' + p + '&answer=3D' + =
answer);=0A=
 $(p).style.cursor =3D 'auto';=0A=
 return false;=0A=
}=0A=
function ajaxLink(href) {=0A=
 href.style.cursor =3D 'wait';=0A=
 $(href.name).innerHTML =3D Ajax.get(href);=0A=
 return false;=0A=
}=0A=
function displayDiv(href) { href.blur(); $(href.name).style.display =3D =
'block'; return false; }=0A=
function hideDiv(href)    { href.blur(); $(href.name).style.display =3D =
'none' ; return false; }=0A=
// end js/polls/polls.js=0A=
=0A=
=0A=
=0A=
=0A=

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://contribute.sfgate.com/ver1.0/Direct/DirectProxy?sid=my.sfgate.com

document.write("<script type=3D'text/javascript' =
src=3D'http://contribute.sfgate.com/ver1.0/content/direct/scripts/yahoo-m=
in.js'></script>");
document.write("<script type=3D'text/javascript' =
src=3D'http://contribute.sfgate.com/ver1.0/content/direct/scripts/json-mi=
n.js'></script>");

document.write("<script type=3D'text/javascript' =
src=3D'http://contribute.sfgate.com/ver1.0/content/direct/scripts/pork.if=
rame.js'></script>");
document.write("<script type=3D'text/javascript' =
src=3D'http://contribute.sfgate.com/ver1.0/content/direct/scripts/request=
batch.js'></script>");=09


document.write("<script type=3D'text/javascript' =
src=3D'http://contribute.sfgate.com/ver1.0/content/direct/scripts/request=
types.js'></script>");

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgs.sfgate.com/js/utils/ck.js

// js/utils/ck.js get/set cookies=0A=
=0A=
function sfgate_ck(name) {=0A=
    this.ck =3D name;=0A=
    this.val =3D this.get_ck(name);=0A=
    this.defined =3D (typeof this.val !=3D "undefined");=0A=
}=0A=
=0A=
sfgate_ck.prototype.get_ck =3D function (name) {=0A=
    var start_str =3D name+'=3D';=0A=
    var start =3D document.cookie.indexOf(start_str);=0A=
    if (start =3D=3D -1) {=0A=
        return;=0A=
    }=0A=
    start =3D start+start_str.length;=0A=
    var cookieVal =3D document.cookie.substr(start);=0A=
    var end =3D cookieVal.indexOf(';');=0A=
    if ( end !=3D -1 ) {=0A=
        cookieVal =3D cookieVal.substr(0,end);=0A=
    }=0A=
    if ( cookieVal.length =3D=3D 0 ) {=0A=
        return;=0A=
    }=0A=
    cookieVal =3D unescape(cookieVal);=0A=
    return cookieVal;=0A=
}=0A=
=0A=
sfgate_ck.prototype.set =3D function (val, domain, path, expire) {=0A=
    var ck_str =3D this.ck+'=3D'+val+'; domain=3D'+domain+'; =
path=3D'+path+'; expires=3D'+expire;=0A=
    document.cookie=3Dthis.ck+'=3D'+val+'; domain=3D'+domain+'; =
path=3D'+path+'; expires=3D'+expire;=0A=
}=0A=
=0A=
sfgate_ck.prototype.del =3D function () {=0A=
    var d =3D new Date();=0A=
    d.setFullYear(1970, 1, 1);=0A=
    this.set('1', '.sfgate.com', '/', d.toUTCString());=0A=
}=0A=
sfgate_ck.prototype.set_days =3D function (days, val) {=0A=
    var d =3D new Date();=0A=
    d.setDate(d.getDate()+days);=0A=
    this.set(val, '.sfgate.com', '/', d.toUTCString());=0A=
}=0A=
sfgate_ck.prototype.set_week_end =3D function (val) {=0A=
    var d=3D new Date(); var dd =3D d.getDay(); dd =3D (7-dd)%7;=0A=
    d.setDate(d.getDate()+dd); d.setHours(23);=0A=
    d.setMinutes(59);d.setSeconds(59);=0A=
    this.set(val, '.sfgate.com', '/', d.toUTCString());=0A=
}=0A=
sfgate_ck.prototype.set_day_end =3D function (val) {=0A=
    var d=3D new Date();=0A=
    d.setHours(23);d.setMinutes(59);d.setSeconds(59);=0A=
    this.set(val, '.sfgate.com', '/', d.toUTCString());=0A=
}=0A=
=0A=
// end js/utils/ck.js get/set cookies=0A=

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgs.sfgate.com/js/pluck/comments/comments_common_script.js

 document.domain=3D"sfgate.com";=0A=
=0A=
 function sfgate_comments_bodyonload() {=0A=
    try {=0A=
      if (sfgate_isActive) {=0A=
        sfgate_setFormState();=0A=
      }=0A=
      sfgate_presetCommentsPerPageLinks();=0A=
      sfgate_presetSortOrderLinks();=0A=
    } catch(err) {}=0A=
  }=0A=
=0A=
  var sfgate_articleKey  =3D new ArticleKey(sfgate_file);=0A=
  var sfgate_user        =3D sfgate_un();=0A=
  var sfgate_userKey     =3D new UserKey(sfgate_user);=0A=
=0A=
  var sfgate_rowsPerPage =3D 10;=0A=
  var cpp_value          =3D 10;=0A=
=0A=
  function refreshCommentVariables() {=0A=
    sfgate_presetSortOrderLinks();=0A=
    sfgate_presetCommentsPerPageLinks();=0A=
    sfgate_pluck_pages_per =3D Math.ceil( (sfgate_cppg_count) / (10) ); =
// Number of pluck requests (max of 10 comments per request) to make per =
CGI page=0A=
  }=0A=
=0A=
  function clearDisplayedComments() {=0A=
    // There should probably be one seperate DIV with a unique ID for =
each Pluck page of comments (one for 1-10 and another for 11-20)=0A=
    // That would ensure correct sequence of display even if AJAX =
responses return in the wrong order=0A=
    // This will not be necessary for a max of 20 responses per page =
(since they can all be handled on the same BatchRequest/Response).=0A=
    sfgate_response_elm[0].innerHTML =3D '';=0A=
    sfgate_response_elm[1].innerHTML =3D '';=0A=
  }=0A=
=0A=
  function sfgate_sortOrderSet(newValueString) {=0A=
    if(newValueString =3D=3D 'TimeStampAscending' || newValueString =
=3D=3D 'TimeStampDescending' || newValueString =3D=3D =
'RecommendationsDescending') {=0A=
      document.getElementById('sfgate_comment_sorder').value =3D =
newValueString;=0A=
    } else {=0A=
      document.getElementById('sfgate_comment_sorder').value =3D =
'TimeStampDescending';=0A=
    }=0A=
=0A=
    =
sfgate_setSortOrderCookie(document.getElementById('sfgate_comment_sorder'=
).value);=0A=
    refreshCommentVariables();=0A=
=0A=
    window.location =3D sfgate_success_page+'&o=3D1';=0A=
    return false;=0A=
  }=0A=
=0A=
  function sfgate_setSortOrderCookie(withValue) {=0A=
    if(withValue =3D=3D 'TimeStampDescending' || withValue =3D=3D =
'TimeStampAscending' || withValue =3D=3D 'RecommendationsDescending') {=0A=
      var nextyear =3D new Date();=0A=
        nextyear.setDate(nextyear.getDate() + 365);=0A=
        document.cookie =3D 'comments_sort_order=3D' + escape( withValue =
) +=0A=
                  '; expires=3D' + nextyear.toUTCString() +=0A=
                  '; path=3D/' +=0A=
                  '; domain=3D.sfgate.com';=0A=
//      sfgate_comment_sort_o.value =3D withValue;=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_presetCSOandCPPValues() {=0A=
    sfgate_presetSortOrderLinks();=0A=
    sfgate_presetCommentsPerPageLinks();=0A=
  }=0A=
=0A=
  function sfgate_getSortOrderVal() {=0A=
    var cso_cookie_text =3D =
document.cookie.indexOf('comments_sort_order');=0A=
    var defaultCSOValue =3D 'TimeStampDescending';=0A=
    if (cso_cookie_text =3D=3D -1) {=0A=
      return defaultCSOValue;=0A=
    }=0A=
    sort_value =3D document.cookie.substr(cso_cookie_text + 20);=0A=
    cso_terminatingCharIndex =3D sort_value.indexOf(';');=0A=
    if(cso_terminatingCharIndex >=3D 0) {=0A=
      sort_value =3D sort_value.split(';')[0];=0A=
    }=0A=
    return sort_value;=0A=
  }=0A=
=0A=
  function sfgate_presetSortOrderLinks() {=0A=
    var cso_cookie_text =3D =
document.cookie.indexOf('comments_sort_order');=0A=
    var defaultCSOValue =3D 'TimeStampDescending';=0A=
    if (cso_cookie_text =3D=3D -1) {=0A=
      sfgate_setSortOrderCookie(defaultCSOValue);=0A=
    }=0A=
    sort_value =3D document.cookie.substr(cso_cookie_text + 20);=0A=
    cso_terminatingCharIndex =3D sort_value.indexOf(';');=0A=
    if(cso_terminatingCharIndex >=3D 0) {=0A=
      sort_value =3D sort_value.split(';')[0];=0A=
    }=0A=
///////////////////////////////////////////////////////////////////////=0A=
///////  Remove this and undo the if (0) from the function below //////=0A=
///////  to begin using sort by most recomended                  //////=0A=
///////////////////////////////////////////////////////////////////////=0A=
if (0) {=0A=
    try {=0A=
      if(sort_value =3D=3D 'TimeStampDescending') {=0A=
        document.getElementById('oldest_first_span').innerHTML =3D '<a =
href=3D"javascript:void(0);" onclick=3D"return =
sfgate_sortOrderSet(\'TimeStampAscending\')">Oldest First</a>';=0A=
        document.getElementById('newest_first_span').innerHTML =3D =
'<span style=3D"font-weight: bold;">Newest First</span>';=0A=
      } else {=0A=
        sort_value =3D 'TimeStampAscending';=0A=
        document.getElementById('newest_first_span').innerHTML =3D '<a =
href=3D"javascript:void(0);" onclick=3D"return =
sfgate_sortOrderSet(\'TimeStampDescending\')">Newest First</a>';=0A=
        document.getElementById('oldest_first_span').innerHTML =3D =
'<span style=3D"font-weight: bold;">Oldest First</span>';=0A=
      }=0A=
      sfgate_comment_sort =3D sort_value;=0A=
    } catch (e) {}=0A=
}=0A=
///////////////////////////////////////////////////////////////////////=0A=
///////////////////////////////////////////////////////////////////////=0A=
=0A=
    try {=0A=
      if(sort_value =3D=3D 'TimeStampDescending') {=0A=
        document.getElementById('oldest_first_span').innerHTML =3D '<a =
href=3D"javascript:void(0);" onclick=3D"return =
sfgate_sortOrderSet(\'TimeStampAscending\')">Oldest</a>';=0A=
        document.getElementById('newest_first_span').innerHTML =3D =
'<span style=3D"font-weight: bold;">Newest</span>';=0A=
        document.getElementById('most_recommended_span').innerHTML =3D =
'<a href=3D"javascript:void(0);" onclick=3D"return =
sfgate_sortOrderSet(\'RecommendationsDescending\')">Recommended</a>';=0A=
      } else if(sort_value =3D=3D 'RecommendationsDescending') {=0A=
        document.getElementById('oldest_first_span').innerHTML =3D '<a =
href=3D"javascript:void(0);" onclick=3D"return =
sfgate_sortOrderSet(\'TimeStampAscending\')">Oldest</a>';=0A=
        document.getElementById('newest_first_span').innerHTML =3D '<a =
href=3D"javascript:void(0);" onclick=3D"return =
sfgate_sortOrderSet(\'TimeStampDescending\')">Newest</a>';=0A=
        document.getElementById('most_recommended_span').innerHTML =3D =
'<span style=3D"font-weight: bold;">Recommended</span>';=0A=
      } else {=0A=
        sort_value =3D 'TimeStampAscending';=0A=
        document.getElementById('oldest_first_span').innerHTML =3D =
'<span style=3D"font-weight: bold;">Oldest</span>';=0A=
        document.getElementById('newest_first_span').innerHTML =3D '<a =
href=3D"javascript:void(0);" onclick=3D"return =
sfgate_sortOrderSet(\'TimeStampDescending\')">Newest</a>';=0A=
        document.getElementById('most_recommended_span').innerHTML =3D =
'<a href=3D"javascript:void(0);" onclick=3D"return =
sfgate_sortOrderSet(\'RecommendationsDescending\')">Recommended</a>';=0A=
      }=0A=
      sfgate_comment_sort =3D sort_value;=0A=
    } catch (e) {}=0A=
  }=0A=
=0A=
  function sfgate_commentsPerPageSet(newValueString) {=0A=
    if(newValueString =3D=3D '10' || newValueString =3D=3D '20') {=0A=
      document.getElementById('sfgate_comments_per_page').value =3D =
newValueString;=0A=
    }=0A=
    =
sfgate_setCommentsPerPageCookie(document.getElementById('sfgate_comments_=
per_page').value);=0A=
    sfgate_presetCommentsPerPageLinks();=0A=
=0A=
    refreshCommentVariables();=0A=
    window.location =3D sfgate_success_page+'&o=3D1';=0A=
=0A=
    return false;=0A=
  }=0A=
=0A=
  function sfgate_setCommentsPerPageCookie(withValue) {=0A=
    if(withValue =3D=3D '10' || withValue =3D=3D '20') {=0A=
      var nextyear =3D new Date();=0A=
        nextyear.setDate(nextyear.getDate() + 365);=0A=
        document.cookie =3D 'comments_per_pg=3D' + escape( withValue ) +=0A=
                  '; expires=3D' + nextyear.toUTCString() +=0A=
                  '; path=3D/' +=0A=
                  '; domain=3D.sfgate.com';=0A=
      document.getElementById('sfgate_comments_per_page').value =3D =
withValue;=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_presetCommentsPerPageLinks() {=0A=
    var ccpp_cookie_text =3D document.cookie.indexOf('comments_per_pg');=0A=
    var defaultCPPValue  =3D '10';=0A=
    if (ccpp_cookie_text =3D=3D -1) {=0A=
      sfgate_setCommentsPerPageCookie(defaultCPPValue);=0A=
    }=0A=
    cpp_value =3D document.cookie.substr(ccpp_cookie_text + 16);=0A=
    ccpp_terminatingCharIndex =3D cpp_value.indexOf(';');=0A=
    if(ccpp_terminatingCharIndex >=3D 0) {=0A=
      cpp_value =3D cpp_value.split(';')[0];=0A=
    }=0A=
    try {=0A=
      if(cpp_value =3D=3D '20') {=0A=
        document.getElementById('cpp_10_span').innerHTML =3D '<a =
href=3D"javascript:void(0);" onclick=3D"return =
sfgate_commentsPerPageSet(\'10\')">10</a>';=0A=
        document.getElementById('cpp_20_span').innerHTML =3D '<span =
style=3D"font-weight: bold;">20</span>';=0A=
      } else {=0A=
        cpp_value =3D '10';=0A=
        document.getElementById('cpp_20_span').innerHTML =3D '<a =
href=3D"javascript:void(0);" onclick=3D"return =
sfgate_commentsPerPageSet(\'20\')">20</a>';=0A=
        document.getElementById('cpp_10_span').innerHTML =3D '<span =
style=3D"font-weight: bold;">10</span>';=0A=
      }=0A=
      sfgate_cppg_count =3D cpp_value;=0A=
    } catch (e) {}=0A=
  }=0A=
=0A=
=0A=
=0A=
  function sfgate_LoadArticle() {=0A=
  // if Pluck didn't return requesttypes.js (i.e. in maintenance mode), =
we can't display comments=0A=
    if(!sfgate_articleKey)=0A=
      return;=0A=
    sfgate_comments_bodyonload();=0A=
    sfgate_page=3D'1';=0A=
    sfgate_comment_sort=3D'RecommendationsDescending';=0A=
    var requestBatch =3D new RequestBatch();=0A=
    requestBatch.AddToRequest(new UpdateArticleAction(sfgate_articleKey, =
sfgate_full_filepath, sfgate_title, new Section(sfgate_section), =
sfgate_categories));=0A=
    requestBatch.AddToRequest(sfgate_articleKey);=0A=
    requestBatch.AddToRequest(new CommentPage(new =
ArticleKey(sfgate_file), 10, 1, 'RecommendationsDescending'));=0A=
    requestBatch.BeginRequest(sfgate_serverUrl, function (responseBatch) =
{=0A=
      for (var i =3D 0; responseBatch.Responses.length > i; ++i) {=0A=
        if (responseBatch.Responses[i].CommentPage !=3D null) {=0A=
          =
sfgate_HandleRecommendedComments(responseBatch.Responses[i].CommentPage);=0A=
        } else if(responseBatch.Responses[i].Article !=3D null) {=0A=
          sfgate_ShowArticleComments(responseBatch.Responses[i].Article);=0A=
        }=0A=
      }=0A=
    });=0A=
  }=0A=
=0A=
  function sfgate_GetCommentsPage(pagenum) {=0A=
=0A=
    sfgate_comments_bodyonload();=0A=
    refreshCommentVariables();=0A=
    //  Retrofit for multiple Pluck page reqests per CGI page=0A=
    if (pagenum) { sfgate_page =3D pagenum; } else { =
sfgate_CgiPageNum(); } // sfgate_page now contains the current CGI page =
num to display=0A=
    var pluck_page_offset      =3D ( (sfgate_page - 1) * =
sfgate_pluck_pages_per ) + 1;=0A=
    var pluckPageNumsArray	=3D Array(); // contains the Pluck page =
numbers of all Pluck pages to be requested for this CGI page=0A=
    for (i=3D0; i<sfgate_pluck_pages_per; i++) {=0A=
      pluckPageNumsArray[i] =3D parseInt(pluck_page_offset) + i;=0A=
    }=0A=
=0A=
    //  Instead of one RequestBatch, we will use an array (one element =
for each Pluck comment batch of 10)=0A=
    clearDisplayedComments(); // clear all previous comments=0A=
=0A=
    var requestBatchArray =3D Array();=0A=
    for (i=3D0; i < pluckPageNumsArray.length; i++) {=0A=
      requestBatchArray[i] =3D new RequestBatch();=0A=
      requestBatchArray[i].AddToRequest(sfgate_userKey);=0A=
      requestBatchArray[i].AddToRequest(new =
CommentPage(sfgate_articleKey, 10, pluckPageNumsArray[i], =
sfgate_comment_sort));=0A=
      requestBatchArray[i].BeginRequest(sfgate_serverUrl, function =
(responseBatch) {=0A=
        for (var j =3D 0; responseBatch.Responses.length > j; ++j) {=0A=
          if (responseBatch.Responses[j].CommentPage !=3D null) {=0A=
            =
sfgate_HandleCommentsPage(responseBatch.Responses[j].CommentPage);=0A=
          }=0A=
        }=0A=
      });=0A=
    }=0A=
  }=0A=
=0A=
  =0A=
  function sfgate_ShowArticleComments(sfgate_article) {=0A=
    var sfgate_comment_question =3D '';=0A=
    var sfgate_commentCnt =3D 0;=0A=
    if (sfgate_article !=3D null) {=0A=
      var sfgate_commentCnt =3D sfgate_article.Comments.NumberOfComments=0A=
    }=0A=
    if (sfgate_commentCnt > 0) {=0A=
      sfgate_topCnt.innerHTML    =3D '('+sfgate_commentCnt+')';=0A=
      sfgate_bottomCnt.innerHTML =3D '('+sfgate_commentCnt+')';=0A=
      if (sfgate_custom_label) {=0A=
        sfgate_comment_question =3D sfgate_custom_label;=0A=
      } else {=0A=
        sfgate_comment_question =3D sfgate_comment_label2;=0A=
      }=0A=
      if (!sfgate_isActive) {=0A=
        sfgate_comment_question +=3D sfgate_comment_append2;=0A=
      }=0A=
      sfgate_mostRecCnt.innerHTML =3D sfgate_commentCnt;=0A=
    } else {=0A=
      sfgate_topCnt.innerHTML    =3D '(0)';=0A=
      sfgate_bottomCnt.innerHTML =3D '(0)';=0A=
      if (sfgate_custom_label) { =0A=
        sfgate_comment_question =3D sfgate_custom_label;=0A=
        if (sfgate_isActive) {=0A=
          sfgate_comment_question +=3D sfgate_comment_append1;=0A=
        } else {=0A=
          sfgate_comment_question +=3D sfgate_comment_append2;=0A=
        }=0A=
      } else {=0A=
        if (sfgate_isActive) {=0A=
          sfgate_comment_question =3D sfgate_comment_label1;=0A=
        } else {=0A=
          sfgate_comment_question =3D 'Comments are closed.';=0A=
        }=0A=
      }=0A=
    }=0A=
    sfgate_question.innerHTML =3D sfgate_comment_question;=0A=
    if (sfgate_isActive) { sfgate_addlink_elm.innerHTML  =3D =
sfgate_addlink; }=0A=
    sfgate_viewlink_elm.innerHTML =3D sfgate_viewlink;=0A=
  }=0A=
=0A=
  function historyFunc(f) {=0A=
    document.getElementByID('hFrame').innerHTML =3D "f";=0A=
  }=0A=
=0A=
=0A=
  function sfgate_clean_html(s) {=0A=
    var re =3D /<[^>]*>/g;=0A=
    if ( re.test(s) ) {=0A=
        s =3D s.replace(re,'');=0A=
        s =3D '[html markup was removed from this comment] '+s;=0A=
    }=0A=
    return s;=0A=
  }=0A=
=0A=
  function sfgate_SubmitComments(form) {=0A=
    // comment out the next two lines to test comment submission without =
user key checking=0A=
    if (!sfgate_un()) {sfgate_reports_elm1.innerHTML =3D 'Your session =
has expired! Please login.'; sfgate_reports_elm2.innerHTML =3D ''; =
sfgate_disableForm(); return false; }=0A=
    if (sfgate_user !=3D sfgate_un()) { if (sfgate_RenewUserKey()) {} =
else {return false;} }=0A=
=0A=
    var requestBatch =3D new RequestBatch();=0A=
    requestBatch.AddToRequest(sfgate_userKey);=0A=
    =0A=
    requestBatch.AddToRequest(new CommentAction(sfgate_articleKey, =
'/cgi-bin/article.cgi?f=3D'+sfgate_file, sfgate_page_title, =
rmdupnls(form.comment.value)));=0A=
var soval =3D sfgate_getSortOrderVal();=0A=
if (soval =3D=3D 'RecommendationsDescending') {sfgate_comment_sort =3D =
'TimeStampDescending'}=0A=
    requestBatch.AddToRequest(new CommentPage(sfgate_articleKey, 1, =
sfgate_rowsPerPage, sfgate_comment_sort));=0A=
    requestBatch.BeginRequest(sfgate_serverUrl, =
sfgate_HandleSubmitComments);=0A=
//try { console.log(requestBatch); } catch(err) {}=0A=
    return false;=0A=
  }=0A=
=0A=
  function updateRecommendationAndAbuseDisplay(withComment) {=0A=
    if(withComment && withComment.CommentBody) {=0A=
      var thisCommentKeyObj =3D withComment.CommentKey;=0A=
      var thisCommentKeyStr =3D thisCommentKeyObj.Key;=0A=
      var theRecommendationThumbImgDiv  =3D =
document.getElementById('RecommendationThumbImg:'+thisCommentKeyStr);=0A=
      var theRecommendationLabelDiv  =3D =
document.getElementById('RecommendationLabel:'+thisCommentKeyStr);=0A=
      var theRecommendationCountSpan    =3D =
document.getElementById('RecommendationCount:'+thisCommentKeyStr);=0A=
      var theAbuseLink                  =3D =
document.getElementById('AbuseLink:'+thisCommentKeyStr);=0A=
      if(theRecommendationThumbImgDiv) {=0A=
//alert('about to insert tags: '+thisCommentKeyStr);=0A=
//alert('withComment.CurrentUserHasRecommended: =
'+withComment.CurrentUserHasRecommended);=0A=
        if(withComment.CurrentUserHasRecommended =3D=3D "True") {=0A=
//          var disdiv =3D document.createElement('div');=0A=
//          disdiv.id =3D 'RecommendationThumbImg:'+thisCommentKeyStr;=0A=
//          disdiv.className =3D 'recommend';=0A=
          var disldiv =3D document.createElement('div');=0A=
          disldiv.id =3D 'RecommendationLabel:'+thisCommentKeyStr;=0A=
          disldiv.className =3D 'recommendlabel recommended checked';=0A=
//alert('1');=0A=
          disldiv.innerHTML =3D '(<span =
id=3D"RecommendationCount:'+thisCommentKeyStr+'">'+withComment.NumberOfRe=
commendations+'</span>)';=0A=
//alert('2');=0A=
//          theRecommendationThumbImgDiv.parentNode.insertBefore(disdiv, =
theRecommendationThumbImgDiv);=0A=
          =
theRecommendationThumbImgDiv.parentNode.removeChild(theRecommendationThum=
bImgDiv);=0A=
          theRecommendationLabelDiv.parentNode.insertBefore(disldiv, =
theRecommendationLabelDiv);=0A=
          =
theRecommendationLabelDiv.parentNode.removeChild(theRecommendationLabelDi=
v);=0A=
        } else {=0A=
          theRecommendationThumbImgDiv.className =3D 'recommend';=0A=
        }=0A=
      } else {=0A=
//        alert("Could not find id: " + =
'RecommendationThumbImg:'+thisCommentKeyStr);=0A=
      }=0A=
=0A=
      if(theRecommendationCountSpan) {=0A=
        theRecommendationCountSpan.innerHTML =3D =
withComment.NumberOfRecommendations;=0A=
      } else {}=0A=
=0A=
      if(theAbuseLink) {=0A=
        if(withComment.CurrentUserHasReportedAbuse =3D=3D "True") { // =
has the logged in user reported abuse on this comment?=0A=
          theAbuseLink.innerHTML =3D '[Reported]';=0A=
        } else {=0A=
          theAbuseLink.innerHTML =3D '[Report Abuse]';=0A=
        }=0A=
      } else {}=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_HandleSubmitRecommendation(responseBatch) {=0A=
    for (var i =3D 0; i < responseBatch.Responses.length; i++) {=0A=
      if(responseBatch.Responses[i].CommentPage) {=0A=
        for(var j =3D 0; j < =
responseBatch.Responses[i].CommentPage.Comments.length; j++) {=0A=
          var thisComment =3D =
responseBatch.Responses[i].CommentPage.Comments[j];=0A=
          if(thisComment) {=0A=
            updateRecommendationAndAbuseDisplay(thisComment);=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_SubmitRecommendation(key, sl_commentPage) {=0A=
    var Apache =3D new sfgate_ck('Apache');=0A=
    if ( ! Apache.defined ) {=0A=
        alert('Use of the Recommend feature requires you to accept =
cookies. Thanks.');=0A=
        return false;=0A=
    }=0A=
    if (sfgate_un() && sfgate_user !=3D sfgate_un()) { if =
(sfgate_RenewUserKey()) {} else {return false;} }=0A=
    var requestBatch =3D new RequestBatch();=0A=
    requestBatch.AddToRequest(sfgate_userKey);=0A=
    requestBatch.AddToRequest(new RecommendAction(new CommentKey(key)));=0A=
// need to fix the following line: 'sfgate_page' is always in blocks of =
10, not in 10/20 variable=0A=
    requestBatch.AddToRequest(new CommentPage(sfgate_articleKey, =
sfgate_rowsPerPage, sl_commentPage, sfgate_comment_sort));=0A=
    requestBatch.BeginRequest(sfgate_serverUrl, =
sfgate_HandleSubmitRecommendation);=0A=
  }=0A=
=0A=
  function updateDisapprovalDisplay(withArticle) {=0A=
    if(withArticle && withArticle.ArticleKey && =
withArticle.ArticleKey.Key) {=0A=
      var thisArticleKeyObj =3D withArticle.ArticleKey;=0A=
      var thisArticleKeyStr =3D withArticle.ArticleKey.Key;=0A=
      var theDisapprovalThumbImgDiv  =3D =
document.getElementById('DisapprovalThumbImg:'+thisArticleKeyStr);=0A=
      var theDisapprovalLabelDiv     =3D =
document.getElementById('DisapprovalLabel:'+thisArticleKeyStr);=0A=
      var theDisapprovalCountSpan    =3D =
document.getElementById('DisapprovalCount:'+thisArticleKeyStr);=0A=
//      if(theDisapprovalThumbImgDiv && sfgate_userKey.UserKey.Key && =
(withArticle.Ratings.CurrentUserRating !=3D '0')) {=0A=
      if(theDisapprovalThumbImgDiv && =
(withArticle.Ratings.CurrentUserRating !=3D '0')) {=0A=
//        var disdiv =3D document.createElement('div');=0A=
//        disdiv.id =3D 'DisapprovalThumbImg:'+thisArticleKeyStr;=0A=
//        disdiv.className =3D 'disapprove';=0A=
        var disldiv =3D document.createElement('div');=0A=
        disldiv.id =3D 'DisapprovalLabel:'+thisArticleKeyStr;=0A=
        disldiv.className =3D 'disapprovelabel disapproved checked';=0A=
        disldiv.innerHTML =3D '(<span =
id=3D"DisapprovalCount:'+thisArticleKeyStr+'">'+withArticle.Ratings.Numbe=
rOfRatings+'</span>)';=0A=
//        theDisapprovalThumbImgDiv.parentNode.insertBefore(disdiv, =
theDisapprovalThumbImgDiv);=0A=
        =
theDisapprovalThumbImgDiv.parentNode.removeChild(theDisapprovalThumbImgDi=
v);=0A=
        theDisapprovalLabelDiv.parentNode.insertBefore(disldiv, =
theDisapprovalLabelDiv);=0A=
        =
theDisapprovalLabelDiv.parentNode.removeChild(theDisapprovalLabelDiv);=0A=
      }=0A=
      if(theDisapprovalCountSpan) {=0A=
        theDisapprovalCountSpan.innerHTML =3D =
withArticle.Ratings.NumberOfRatings;=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_handleSubmitDisapproval(responseBatch) {=0A=
    for (var i =3D 0; i < responseBatch.Responses.length; i++) {=0A=
      if(responseBatch.Responses[i].Article) {=0A=
        if(responseBatch.Responses[i].Article.ArticleKey && =
responseBatch.Responses[i].Article.ArticleKey.Key) {=0A=
          if(responseBatch.Responses[i].Article.ArticleKey.Key.substr(0, =
26) =3D=3D 'CommentArticle:CommentKey:')=0A=
            updateDisapprovalDisplay(responseBatch.Responses[i].Article);=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_SubmitDisapproval(forCommentWithKey) {=0A=
    var Apache =3D new sfgate_ck('Apache');=0A=
    if ( ! Apache.defined ) {=0A=
        alert('Use of the Recommend feature requires you to accept =
cookies. Thanks.');=0A=
        return false;=0A=
    }=0A=
    if (sfgate_un() && sfgate_user !=3D sfgate_un()) { if =
(sfgate_RenewUserKey()) {} else {return false;} }=0A=
    var requestBatch =3D new RequestBatch();=0A=
    requestBatch.AddToRequest(sfgate_userKey);=0A=
    var fakeArticle_ArticleKey =3D new ArticleKey("CommentArticle:" + =
forCommentWithKey);=0A=
    requestBatch.AddToRequest(new =
UpdateArticleAction(fakeArticle_ArticleKey, '', '', null, null));=0A=
    requestBatch.AddToRequest(new RateAction(fakeArticle_ArticleKey, 1));=0A=
    requestBatch.AddToRequest(fakeArticle_ArticleKey);=0A=
=0A=
//    requestBatch.AddToRequest(new CommentPage(sfgate_articleKey, =
sfgate_rowsPerPage, sfgate_page, sfgate_comment_sort));=0A=
//    requestBatch.BeginRequest(sfgate_serverUrl, sfgate_HandleComments);=0A=
=0A=
    requestBatch.BeginRequest(sfgate_serverUrl, =
sfgate_handleSubmitDisapproval);=0A=
  }=0A=
=0A=
  function sfgate_handleRequestDisapprovals(responseBatch) {=0A=
    for (var i =3D 0; i < responseBatch.Responses.length; i++) {=0A=
      if(responseBatch.Responses[i].Article) {=0A=
        if(responseBatch.Responses[i].Article.ArticleKey && =
responseBatch.Responses[i].Article.ArticleKey.Key) {=0A=
          updateDisapprovalDisplay(responseBatch.Responses[i].Article);=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  // function called from a responseHandler to request one disapproval =
article (fake article tied to a comment) for each comment =0A=
  function sfgate_requestDisapprovals(commentpage) {=0A=
//    if(responseBatch.Responses.length > 0) {=0A=
      var numberOfArticlesAdded =3D 0;=0A=
      var requestBatch =3D new RequestBatch();=0A=
      requestBatch.AddToRequest(sfgate_userKey);=0A=
//      for(var i =3D 0; i < responseBatch.Responses.length; i++) {=0A=
//        if(responseBatch.Responses[i].Comment) {=0A=
//          requestBatch.AddToRequest(new Article(new =
ArticleKey('CommentArticle:'+responseBatch.Responses[i].Comment.CommentKe=
y.Key)));=0A=
//          numberOfArticlesAdded++;=0A=
//        }  else if(responseBatch.Responses[i].CommentPage) {=0A=
            for(var j =3D 0; j < commentpage.Comments.length; j++) {=0A=
              requestBatch.AddToRequest(new =
ArticleKey('CommentArticle:'+commentpage.Comments[j].CommentKey.Key));=0A=
              numberOfArticlesAdded++;=0A=
            }=0A=
//        }=0A=
//      }=0A=
      if(numberOfArticlesAdded > 0)=0A=
        requestBatch.BeginRequest(sfgate_serverUrl, =
sfgate_handleRequestDisapprovals);=0A=
//    }=0A=
  }=0A=
=0A=
  function sfgate_handleSubmitAbuse(responseBatch) {=0A=
    for (var i =3D 0; i < responseBatch.Responses.length; i++) {=0A=
      if(responseBatch.Responses[i].CommentPage) {=0A=
        for(var j =3D 0; j < =
responseBatch.Responses[i].CommentPage.Comments.length; j++) {=0A=
          var thisComment =3D =
responseBatch.Responses[i].CommentPage.Comments[j];=0A=
          if(thisComment) {=0A=
            updateRecommendationAndAbuseDisplay(thisComment);=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_SubmitReportAbuse(form) {=0A=
    if (sfgate_un() && sfgate_user !=3D sfgate_un()) { if =
(sfgate_RenewUserKey()) {} else {return false;} }=0A=
    sfgate_HideDiv("ReportAbuse_Menu");=0A=
    var requestBatch =3D new RequestBatch();=0A=
    requestBatch.AddToRequest(sfgate_userKey);=0A=
    requestBatch.AddToRequest(new ReportAbuseAction(new =
CommentKey(form.key.value), =
form.reason[form.reason.selectedIndex].value, form.comment.value));=0A=
=0A=
// need to fix the following line: 'sfgate_page' is hard-coded in blocks =
of 10, not in 10/20 variable=0A=
    requestBatch.AddToRequest(new CommentPage(sfgate_articleKey, =
sfgate_rowsPerPage, sfgate_page, sfgate_comment_sort));=0A=
    requestBatch.BeginRequest(sfgate_serverUrl, =
sfgate_handleSubmitAbuse);=0A=
=0A=
    form.key.value =3D '';=0A=
    form.reason.selectedIndex =3D 0;=0A=
    form.comment.value =3D '';=0A=
  }=0A=
=0A=
  function sfgate_HandleCommentsPage (commentpage) { =0A=
    var sfgate_start_page =3D ( (sfgate_page - 1) * =
sfgate_pluck_pages_per ) + 1;=0A=
    batchNum =3D (commentpage.OnPage - sfgate_start_page) + 1;=0A=
    if(batchNum =3D=3D 1) {=0A=
      sfgate_DrawPagination(commentpage);=0A=
      sfgate_DrawCommentsHeader(commentpage);=0A=
    }=0A=
    sfgate_DrawComments(commentpage, batchNum);=0A=
    sfgate_requestDisapprovals(commentpage);=0A=
  }=0A=
=0A=
  function sfgate_HandleSubmitComments(responseBatch) {=0A=
    var re =3D /^.*\(for example: (.+)\).*$/;=0A=
    for(var i =3D 0; i < responseBatch.Messages.length; i++) {=0A=
      if (responseBatch.Messages[i].Message.match(re)) {=0A=
        var bwords =3D RegExp.$1;=0A=
        if((bwords) && bwords !=3D '') {=0A=
          var form_header_bad_words =3D 'Your submission included words =
not permitted by our language filter (for example: '+bwords+'). Please =
avoid use of inappropriate language on our site in the future. Thanks.';=0A=
         sfgate_form_verbiage.innerHTML =3D '<h4>Add Your =
Comment</h4><h4 class=3D"error">Comment Not Posted</h4><p =
class=3D"error">'+form_header_bad_words+'</p>';=0A=
          return false;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    // if we reach this point, there is no "bad word" error in the =
response message array.=0A=
=0A=
    var re =3D /^.*(rapid posting).*$/;=0A=
    for(var i =3D 0; i < responseBatch.Messages.length; i++) {=0A=
      if (responseBatch.Messages[i].Message.match(re)) {=0A=
        var rpost =3D RegExp.$1;=0A=
        if((rpost) && rpost !=3D '') {=0A=
          var form_header_bad_words =3D 'We restrict rapid posting of =
comments to prevent spam. You already have posted a comment within the =
last several seconds. Please try again later.';=0A=
          sfgate_form_verbiage.innerHTML =3D '<h4>Add Your =
Comment</h4><h4 class=3D"error">Comment Not Posted</h4><p =
class=3D"error">'+form_header_bad_words+'</p>';=0A=
          return false;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    // if we reach this point, there is no "rapid posting" error in the =
response message array.=0A=
=0A=
    // the following line is assumed to work, depending on =
message/response permutations received from Pluck=0A=
    // We will get a false-negative if the 'ok' message is not in the =
0th element of the Message Array=0A=
    // Assuming Pluck returns messages in the order in which the =
RequestBatch calls were made=0A=
    // i.e. First Message element corresponds to the first RequestBatch =
call with a message to return=0A=
    if(responseBatch.Messages[0].Message !=3D 'okay' && =
responseBatch.Messages[0].Message !=3D 'ok') {=0A=
      var appendedMessages      =3D '<span style=3D"font-style: italic; =
background-color: #D0D0D0;">';=0A=
=0A=
      for(var i =3D 0; i < responseBatch.Messages.length; i++) {=0A=
        appendedMessages +=3D '<font style=3D"font-weight: bold;">[' + i =
+ ']</font> ' + responseBatch.Messages[i].Message + '<br />';=0A=
      }=0A=
      appendedMessages +=3D '</span>';=0A=
=0A=
      var form_header_error_verbiage =3D 'Apologies for the =
inconvenience but we are unable to submit this comment due to a =
technical system glitch. We are actively working to correct this issue. =
Thanks for your patience.' + 'Your submission was not processed due to =
an error. <br />' + appendedMessages;=0A=
      sfgate_form_verbiage.innerHTML =3D '<h4>Add Your Comment</h4><h4 =
class=3D"error">Comment Not Posted</h4><p =
class=3D"error">'+form_header_error_verbiage+'</p>';=0A=
      return false;=0A=
    }=0A=
    =0A=
    var soval =3D sfgate_getSortOrderVal();=0A=
    if (soval =3D=3D 'RecommendationsDescending') =
{sfgate_setSortOrderCookie('TimeStampDescending'); =
sfgate_presetSortOrderLinks();}=0A=
    var gotopage =3D 1;=0A=
    if(sfgate_comment_sort =3D=3D 'TimeStampAscending' /*&& =
responseBatch.Responses[1].CommentPage.NumberOfComments > =
sfgate_rowsPerPage*/) {=0A=
      FBgotopage =3D gotopage =3D =
Math.ceil(responseBatch.Responses[1].CommentPage.NumberOfComments / =
sfgate_cppg_count);=0A=
    }=0A=
=0A=
    var fb_check =3D =
document.getElementById("facebook_connect_checkbox").checked;=0A=
    if(fb_check && slFB.connectEnabled()){=0A=
      //Send it to facebook now=0A=
      var sfgate_comment_value =3D =
document.getElementById('sfgate_comment_input').value;=0A=
      slFB.submitArticleComment(sfgate_page_title, sfgate_full_filepath, =
sfgate_article_paratext, rmdupnls(sfgate_comment_value), =
sfgate_article_thumbs, handleFacebookCallback);=0A=
    } else {=0A=
      window.location =3D sfgate_success_page+'&o=3D'+gotopage;=0A=
    }=0A=
    return false;=0A=
  }=0A=
=0A=
  var FBgotopage =3D 1;=0A=
  function handleFacebookCallback() {=0A=
    window.location =3D sfgate_success_page+'&o=3D'+FBgotopage;=0A=
  }=0A=
=0A=
  function sfgate_RenewUserKey() {=0A=
    if (confirm('You are logged in as '+sfgate_un()+' not =
'+sfgate_user+'. Is this OK?')) {=0A=
      sfgate_user    =3D sfgate_un();=0A=
      sfgate_userKey =3D new UserKey(sfgate_user);=0A=
      return true;=0A=
    }=0A=
    return false;=0A=
  }=0A=
=0A=
  function sfgate_HandleRecommendedComments(commentpage) {=0A=
    var newcommentpage =3D new Array();=0A=
    var cnt =3D 1;=0A=
    var maxcnt =3D 3;=0A=
    for(var i =3D 0; i < commentpage.Comments.length; i++) {=0A=
      if (cnt > maxcnt) { break; }=0A=
      if (commentpage.Comments[i].NumberOfRecommendations < 1 || =
commentpage.Comments[i].Author.IsBlocked =3D=3D 'True' || =
commentpage.Comments[i].ContentBlockingState =3D=3D 'BlockedByAdmin') { =
continue; }=0A=
      newcommentpage.push(commentpage.Comments[i]);=0A=
      cnt++;=0A=
    }=0A=
    if (cnt > 1) {=0A=
      sfgate_mostRecComments.style.display =3D "block";=0A=
      sfgate_CommentsViewall.style.display =3D "block";=0A=
      commentpage.Comments =3D newcommentpage;=0A=
      sfgate_DrawComments(commentpage,1);=0A=
      sfgate_requestDisapprovals(commentpage);=0A=
    }=0A=
  }=0A=
=0A=
function rmdupnls (text) {=0A=
    // first remove all tags.=0A=
    text =3D sfgate_clean_html(text);=0A=
    // Now we add brs where it makes sense.=0A=
    text =3D text.replace(/\r\n\r\n(\r\n)+/g,'<br /><br />');=0A=
    text =3D text.replace(/\r\n/g,'<br />');=0A=
    text =3D text.replace(/\n\n\n+/g,'<br /><br />');=0A=
    text =3D text.replace(/\n/g,'<br />');=0A=
    text =3D text.replace(/\r\r\r+/g,'<br /><br />');=0A=
    text =3D text.replace(/\r/g,'<br />');=0A=
    return text;=0A=
}=0A=
=0A=
function sfgate_clean_html2(s) {=0A=
    // We want to keep brs (be we limit them to two in a row.=0A=
    var cmtlines =3D s.split('<br />');=0A=
    var cmt =3D '';=0A=
    var consecutivebrs =3D 0;=0A=
    for (var k =3D 0; cmtlines.length > k; k++) {=0A=
        if ( cmtlines[k].match(/^\s*$/) ) {=0A=
            consecutivebrs++;=0A=
        } else {=0A=
            consecutivebrs =3D 0;=0A=
        }=0A=
        if ( consecutivebrs >=3D 3) {=0A=
            continue;=0A=
        }=0A=
        // ok, not a blank line, we clean other tags, then add a br=0A=
        cmt +=3D sfgate_clean_html(cmtlines[k])+( (k =3D=3D =
(cmtlines.length - 1)) ? '' : '<br />');=0A=
    }=0A=
    return cmt;=0A=
}    =0A=
=0A=
  function sfgate_HandleResponseMessages(responseBatch) {=0A=
    for (var i=3D0; i < responseBatch.Messages.length; i++) {=0A=
      sfgate_appendError('MessageTime:' + =
responseBatch.Messages[i].MessageTime);=0A=
      sfgate_appendError('Message ' + i + ':' + =
responseBatch.Messages[i].Message);=0A=
    }=0A=
    sfgate_printErrors();=0A=
  }=0A=
  =0A=
  function sfgate_DrawComments(commentpage, pageNum) {=0A=
    if (commentpage !=3D null) {=0A=
      var comments_page_output         =3D '';=0A=
      if(pageNum =3D=3D "1" && commentpage.Comments.length < 1) {=0A=
        sfgate_response_elm[0].innerHTML   =3D '<div style=3D"padding: =
10px; font-family: Verdana,sans-serif; font-size: 0.86em; line-height: =
16px;">No comments\=0A=
 yet.</div>';=0A=
      } else {=0A=
        for(var i =3D 0; i < commentpage.Comments.length; i++) {=0A=
          comments_page_output +=3D =
sfgate_AddCommentRow(commentpage.Comments[i], i, commentpage.OnPage);=0A=
        }=0A=
 =0A=
        if(parseInt(pageNum) >=3D 1 && parseInt(pageNum) <=3D 8) {=0A=
          sfgate_response_elm[(parseInt(pageNum) - 1)].innerHTML   +=3D =
comments_page_output;=0A=
        } else {=0A=
          sfgate_response_elm[0].innerHTML   +=3D comments_page_output;=0A=
        }=0A=
      }=0A=
    } else {=0A=
//      alert("No CommentPage in response");=0A=
      if(pageNum =3D=3D 1)=0A=
        sfgate_response_elm[0].innerHTML   =3D '<div style=3D"padding: =
10px; font-family: Verdana,sans-serif; font-size: 0.86em; line-height: =
16px;">No comment\=0A=
s.</div>';=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_AddCommentRow(comment, index, fromCommentPage) {=0A=
    var comment_output =3D '';=0A=
    var item_odd =3D '';=0A=
    if (index % 2 =3D=3D 0) { item_odd =3D ' odd'; }=0A=
    comment_output =3D '<div =
id=3D"commentDisplayRow:'+comment.CommentKey.Key+'" class=3D"item =
'+item_odd+'">';=0A=
    if(comment.Author.IsBlocked =3D=3D 'True' && sfgate_user !=3D =
comment.Author.DisplayName) {=0A=
      comment_output +=3D '<h4>This comment was left by a user who has =
been blocked by an SFGate editor.</h4>';=0A=
//    } else if(comment.ContentBlockingState =3D=3D 'BlockedByAdmin') {=0A=
//      comment_output +=3D '<h4>This comment has been blocked by an =
SFGate editor.</h4>';=0A=
    } else {=0A=
      thisPhotoAvatarUrl =3D (comment.ContentBlockingState =3D=3D =
'BlockedByAdmin' ? =
'http://contribute.sfgate.com/ver1.0/Content/images/no-user-image.gif' : =
comment.Author.AvatarPhotoUrl);=0A=
=0A=
      comment_output +=3D '<table cellpadding=3D"0" cellspacing=3D"0" =
style=3D"width: 100%;"><tr><td style=3D"width: 70px;">';=0A=
      comment_output +=3D '<img alt=3D"" title=3D"" src=3D"' + =
thisPhotoAvatarUrl + '" style=3D"float: left; margin: 0px 10px 0px 0px; =
border: 1px solid #000000;" />';=0A=
      comment_output +=3D '</td><td>';=0A=
=0A=
      if(comment.ContentBlockingState =3D=3D 'BlockedByAdmin')=0A=
        comment_output +=3D '<h4 style=3D"float: left;">username =
withheld</h4>';=0A=
      else=0A=
        comment_output +=3D '<h4 style=3D"float: left;"><a =
href=3D"/cgi-bin/contribute/sn/persona?User=3D' + =
comment.Author.DisplayName + '">' + comment.Author.DisplayName + =
'</a></h4>';=0A=
=0A=
      comment_output +=3D '<span class=3D"details" style=3D"display: =
inline; width: auto; float: left; margin-left: 8px;">' + =
comment.PostedAtTime + '</span>';=0A=
      comment_output +=3D '<br style=3D"clear: both;" />';=0A=
=0A=
      if(comment.ContentBlockingState =3D=3D 'BlockedByAdmin') {=0A=
       comment_output +=3D '<p>This comment violated SFGate\'s Terms and =
Conditions, and has been removed.</p>';=0A=
      } else {=0A=
        comment_output +=3D '<p>' + =
sfgate_clean_html2(comment.CommentBody) + '</p>';=0A=
        comment_output +=3D '<br style=3D"clear: both; height: 6px; =
line-height: 6px;" />';=0A=
        var recommended =3D '';=0A=
        comment_output +=3D '<span =
class=3D"recommendlinelabel">Recommend: &nbsp; &nbsp;</span>';=0A=
        if (comment.CurrentUserHasRecommended =3D=3D 'True') { =0A=
          comment_output +=3D '<div class=3D"recommendlabel recommended =
checked" id=3D"RecommendationLabel:'+comment.CommentKey.Key+'">\n';=0A=
          comment_output +=3D '(<span =
id=3D"RecommendationCount:'+comment.CommentKey.Key+'">'+comment.NumberOfR=
ecommendations+'</span>)\n';=0A=
          comment_output +=3D '</div>\n';=0A=
        } else {=0A=
          comment_output +=3D '<a class=3D"recommend" =
id=3D"RecommendationThumbImg:'+comment.CommentKey.Key+'" href=3D"#" =
onclick=3D"javascript:sfgate_SubmitRecommendation(\''+comment.CommentKey.=
Key+'\', '+fromCommentPage+'); return false;"></a>';=0A=
          comment_output +=3D '<a class=3D"recommendlabel" href=3D"#" =
id=3D"RecommendationLabel:'+comment.CommentKey.Key+'" =
onclick=3D"javascript:sfgate_SubmitRecommendation(\''+comment.CommentKey.=
Key+'\', '+fromCommentPage+'); return false;" =
alt=3D"'+comment.CommentKey.Key+'">';=0A=
          comment_output +=3D '(<span =
id=3D"RecommendationCount:'+comment.CommentKey.Key+'">'+comment.NumberOfR=
ecommendations+'</span>)';=0A=
          comment_output +=3D '</a>';=0A=
        }=0A=
        // display the disapproval thumb and label=0A=
        var disapproved =3D '';=0A=
//        if (comment.CurrentUserHasDisapproved =3D=3D 'True') { =
disapproved =3D ' checked'; }=0A=
        comment_output +=3D '<a class=3D"disapprove'+disapproved+'" =
id=3D"DisapprovalThumbImg:CommentArticle:'+comment.CommentKey.Key+'" =
href=3D"#" =
onclick=3D"javascript:sfgate_SubmitDisapproval(\''+comment.CommentKey.Key=
+'\'); return false;"></a>';=0A=
        comment_output +=3D '<a class=3D"disapprovelabel" href=3D"#" =
id=3D"DisapprovalLabel:CommentArticle:'+comment.CommentKey.Key+'" =
onclick=3D"javascript:sfgate_SubmitDisapproval(\''+comment.CommentKey.Key=
+'\'); return false;">';=0A=
        comment_output +=3D '(<span =
id=3D"DisapprovalCount:CommentArticle:'+comment.CommentKey.Key+'">0</span=
>)';=0A=
        comment_output +=3D '</a>';=0A=
=0A=
        // display the abuse-reporting mechanism=0A=
        var reported =3D '';=0A=
        comment_output +=3D '<span style=3D"float: right;">';=0A=
        if (comment.CurrentUserHasReportedAbuse =3D=3D 'True') { =
reported =3D ' checked'; }=0A=
        comment_output +=3D '<a class=3D"'+reported+'" href=3D"#" =
onclick=3D"javascript:sfgate_ShowReportAbuse(event,\''+comment.CommentKey=
.Key+'\'); return false;" /></a><a class=3D"reportabuselabel" =
id=3D"AbuseLink:'+comment.CommentKey.Key+'" href=3D"#" =
onclick=3D"javascript:sfgate_ShowReportAbuse(event,\''+comment.CommentKey=
.Key+'\'); return false;">';=0A=
        if (comment.CurrentUserHasReportedAbuse =3D=3D 'True') { =
comment_output +=3D '[Reported]'; } else { comment_output +=3D '[Report =
Abuse]'; }=0A=
        comment_output +=3D '</a>';=0A=
        comment_output +=3D '</span>';=0A=
      }=0A=
      comment_output +=3D '</td></tr></table>';=0A=
    }=0A=
    comment_output +=3D '<div class=3D"clear"></div></div><!--/.item =
-->';=0A=
    return comment_output;=0A=
  }=0A=
=0A=
  function sfgate_DrawCommentsHeader(commentpage) {=0A=
    var sfgate_commentCnt =3D 0;=0A=
    if (commentpage !=3D null) {=0A=
      var sfgate_commentCnt =3D commentpage.NumberOfComments;=0A=
    }=0A=
    if (sfgate_commentCnt > 0) {=0A=
      sfgate_topCnt.innerHTML =3D '('+sfgate_commentCnt+')';=0A=
    } else {=0A=
      sfgate_topCnt.innerHTML =3D '(0)';=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_DrawPagination(commentpage) {=0A=
    if (commentpage !=3D null) {=0A=
      var pagination                   =3D 'View Page: ';=0A=
      var comment_total                =3D commentpage.NumberOfComments;=0A=
      var pagenum                      =3D 1;=0A=
      var current_comments_per_page    =3D sfgate_cppg_count;=0A=
=0A=
      //  BEGIN PAGINATION CALCULATION CODE -- by David Wortham; 07 Dec =
2007=0A=
      var preferredPaginationPageSize  =3D 10;                           =
         // maximum number of pagination links to be displayed per CGI =
page=0A=
      var currentPaginationPage        =3D Math.floor(commentpage.OnPage =
/ sfgate_pluck_pages_per);                    // uses the number of =
Pluck comments per page=0A=
      var totalPaginationPages         =3D =
Math.ceil(commentpage.NumberOfComments / current_comments_per_page);=0A=
      var lowestPaginationPage         =3D 1;                            =
         // Leftmost page number in the pagination links=0A=
      var highestPaginationPage        =3D totalPaginationPages;         =
         // Rightmost page number in the pagination links=0A=
=0A=
      if(currentPaginationPage <=3D 4) { // display the first (up to 10) =
page numbers=0A=
        lowestPaginationPage           =3D 1;=0A=
        highestPaginationPage          =3D =
Math.min(preferredPaginationPageSize, totalPaginationPages);=0A=
      } else if(totalPaginationPages - currentPaginationPage <=3D 6) { =
// display the last (up to 10) page numbers=0A=
        highestPaginationPage          =3D totalPaginationPages;=0A=
        lowestPaginationPage           =3D =
Math.max(highestPaginationPage - preferredPaginationPageSize, 1);=0A=
      } else { // display up to 3 page numbers before and up to 6 after=0A=
        lowestPaginationPage           =3D  Math.max(1, =
currentPaginationPage - 3);=0A=
        highestPaginationPage          =3D =
Math.min(totalPaginationPages, currentPaginationPage + 6);=0A=
      }=0A=
      pagenum =3D lowestPaginationPage=0A=
      //  END PAGINATION CALCULATION CODE=0A=
=0A=
      // Handle the "prev" link=0A=
      if(commentpage.OnPage > 1) {=0A=
        pagination +=3D '<a =
href=3D"?f=3D'+sfgate_file+'&o=3D'+(parseInt(pagenum)-1)+'">&laquo;&nbsp;=
Prev</a> ';=0A=
      } else {=0A=
//        pagination +=3D '&laquo;&nbsp;Prev ';=0A=
      }=0A=
=0A=
      // create HTML for numbered pagination links=0A=
      do {=0A=
        if(pagenum =3D=3D sfgate_page) {=0A=
          pagination +=3D '<strong>'+pagenum+'</strong>';=0A=
        } else {=0A=
          pagination +=3D '<a =
href=3D"?f=3D'+sfgate_file+'&o=3D'+pagenum+'">'+pagenum+'</a>';=0A=
        }=0A=
        pagenum =3D pagenum+1;=0A=
        comment_total =3D comment_total - commentpage.NumberPerPage;=0A=
      } while (pagenum <=3D highestPaginationPage);=0A=
=0A=
      // Handle the "next" link=0A=
      if(commentpage.OnPage < Math.ceil( commentpage.NumberOfComments / =
commentpage.NumberPerPage / sfgate_pluck_pages_per ) ) {=0A=
        pagination +=3D ' <a =
href=3D"?f=3D'+sfgate_file+'&o=3D'+(parseInt(sfgate_page)+1)+'">Next&nbsp=
;&raquo;</a>';=0A=
      } else {=0A=
//        pagination +=3D ' Next&nbsp;&raquo;';=0A=
      }=0A=
=0A=
      sfgate_pagination_elm.innerHTML =3D pagination;=0A=
    } else {=0A=
      try { console.log("No CommentPage in response."); } catch(err) { }=0A=
    }=0A=
  }=0A=
=0A=
  var sfgate_ResponseErrors =3D new Array(); // array used to collect =
respons errors/messages=0A=
=0A=
  function sfgate_appendError(errorMessage) {=0A=
    if(!sfgate_useErrors) {return;}=0A=
    sfgate_ResponseErrors.push(errorMessage);=0A=
  }=0A=
=0A=
  function sfgate_printErrors() {=0A=
    if(!sfgate_useErrors) {return;}=0A=
    var sfgate_collectedErrors =3D 'RESPONSE ERRORS/MESSAGES:';=0A=
    for (var i=3D0; i < sfgate_ResponseErrors.length; i++) {=0A=
      sfgate_collectedErrors +=3D '<br />'+sfgate_ResponseErrors[i];=0A=
    }=0A=
    sfgate_errors_elm.innerHTML =3D sfgate_collectedErrors;=0A=
    sfgate_ResponseErrors =3D new Array();=0A=
  }=0A=
=0A=
  function sfgate_enableForm() {=0A=
    sfgate_comment_input.disabled =3D false;=0A=
    sfgate_submit_button.disabled =3D false;=0A=
    sfgate_form_verbiage.innerHTML =3D form_header;=0A=
    sfgate_counter_input.style.visibility =3D 'visible';=0A=
  }=0A=
=0A=
  function sfgate_disableForm() {=0A=
    sfgate_comment_input.disabled =3D true;=0A=
    sfgate_submit_button.disabled =3D true;=0A=
    sfgate_form_verbiage.innerHTML =3D loginorreg;=0A=
    sfgate_counter_input.style.visibility =3D 'hidden';=0A=
  }=0A=
=0A=
  function sfgate_FBcbck (cb) {=0A=
    var sfgate_cbck =3D new sfgate_ck('sfgate_FBcbck');=0A=
    if (cb.checked) {=0A=
      sfgate_cbck.set_days(3650,'1');=0A=
    } else {=0A=
      sfgate_cbck.set_days(3650,'');=0A=
    }=0A=
  }=0A=
=0A=
  =0A=
  function sfgate_setFormState() {=0A=
    var sfgate_cbck =3D new sfgate_ck('sfgate_FBcbck');=0A=
    if(sfgate_un()) {=0A=
      sfgate_enableForm()=0A=
      // Check if current user is facebook user, show "submit to =
facebook" checkbox if he is=0A=
      slFB.init(=0A=
        function() {=0A=
            if (sfgate_cbck.val =3D=3D '1') {=0A=
              =
document.getElementById("facebook_connect_checkbox").checked =3D true;=0A=
            }=0A=
            =
document.getElementById("facebook_connect_option").style.display =3D =
"block";=0A=
        }=0A=
      );=0A=
    } else {=0A=
      sfgate_disableForm()=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_CgiPageNum() {=0A=
//    var qs =3D window.location.search;=0A=
//    qs =3D qs.substring(1, qs.length);=0A=
    var qs =3D window.location.search.substring(1, =
window.location.search.length);=0A=
    if (qs.length > 1) {=0A=
      var qarray =3D qs.split("&");=0A=
      var re =3D /^o=3D(\d+)$/;=0A=
      for(var i=3D0; i < qarray.length; i++) {=0A=
        if (qarray[i].match(re)) {=0A=
          sfgate_page =3D RegExp.$1;=0A=
          return;=0A=
        }=0A=
      }=0A=
      sfgate_page =3D 1;=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_mouseX(evt) {=0A=
    if (evt.pageX) {=0A=
      return evt.pageX;=0A=
    } else if (evt.clientX) {=0A=
      return evt.clientX + (document.documentElement.scrollLeft ? =
document.documentElement.scrollLeft : document.body.scrollLeft);=0A=
    } else {=0A=
      return null;=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_mouseY(evt) {=0A=
    if (evt.pageY) {=0A=
      return evt.pageY;=0A=
    } else if (evt.clientY) {=0A=
      return evt.clientY + (document.documentElement.scrollTop ? =
document.documentElement.scrollTop : document.body.scrollTop);=0A=
    } else {=0A=
      return null;=0A=
    }=0A=
  }=0A=
=0A=
  function sfgate_HideDiv(id){=0A=
    document.getElementById(id).style.display =3D "none";=0A=
  }=0A=
=0A=
  function sfgate_ShowDivAtMouse(evt, id) {=0A=
    posx =3D sfgate_mouseX(evt);// - 170;=0A=
    posy =3D sfgate_mouseY(evt);=0A=
    //normalize to make sure we at least appear on the screen=0A=
    if(posx < 0) posx =3D 10;=0A=
    if(posy < 0) posy =3D 10;=0A=
    document.getElementById(id).style.left =3D posx + "px";=0A=
    document.getElementById(id).style.top =3D posy + "px";=0A=
    document.getElementById(id).style.display =3D "block";=0A=
  }=0A=
=0A=
  function sfgate_ShowReportAbuse(evt, key) {=0A=
    document.getElementById("ReportAbuse_CommentKey").value =3D key;=0A=
    sfgate_ShowDivAtMouse(evt, "ReportAbuse_Menu");=0A=
  }=0A=

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://contribute.sfgate.com/ver1.0/Direct/FacebookProxy?sid=my.sfgate.com

document.domain =3D "sfgate.com";

//document.write("<script =
src=3D'http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoade=
r.js.php' type=3D'text/javascript'></sc"+"ript>");


var slFacebookProxy =3D function(){
	this.ApiKey =3D "29547cbcea476b5f36f2aa1e8fc469b7";
	this.Templates =3D {
							'ArticleComment' : '99213245594'			};
=09
	this.connectStatus =3D null;
};

slFacebookProxy.prototype.loadScript =3D function(url, callback) {
	var script =3D document.createElement('script');
	script.type =3D 'text/javascript';
	script.charset =3D 'utf-8';
	if (callback)
		script.onload =3D script.onreadystatechange =3D function() {
			if (script.readyState && script.readyState !=3D 'loaded' && =
script.readyState !=3D 'complete')
				return;
			script.onreadystatechange =3D script.onload =3D null;
			callback();
		};
	script.src =3D url;
	document.getElementsByTagName('head')[0].appendChild (script);
}

slFacebookProxy.prototype.init =3D function(callback){
	// If no API key, do nothing, call callback immediately.
	if(!this.ApiKey || this.ApiKey =3D=3D ""){
		if(callback) callback();
		return;
	}
=09
	var me =3D this;
	//Crazy hack for removing document.write
	if(!document.getElementById("FB_HiddenContainer")){
		try{
			if(!window.document.body){
				document.write('<div style=3D"position: absolute; top: -10000px; =
left: -10000px; width: 0px; height: 0px;" =
id=3D"FB_HiddenContainer"></div>');
			}
			else{
				var fbHiddenDiv =3D document.createElement("div");
				fbHiddenDiv.id =3D "FB_HiddenContainer";
				fbHiddenDiv.style.position =3D "absolute";
				fbHiddenDiv.style.left =3D "-10000px";
				fbHiddenDiv.style.top =3D "-10000px";
				fbHiddenDiv.style.width =3D "0px";
				fbHiddenDiv.style.height =3D "0px";
				window.document.body.insertBefore(fbHiddenDiv, =
window.document.body.firstChild);
			}
		}
		catch(e){
			setTimeout(function(){
				me.init(callback);
			}, 100);
			return;
		}=09
	}
=09
	// Race condition where Fb isn't loaded yet...
	if(!window.FB){
		=
this.loadScript('http://static.ak.connect.facebook.com/js/api_lib/v0.4/Fe=
atureLoader.js.php', function(){
			me.init(callback);
		});
		return;
	}

	if(!this.initialized){
		this.initialized =3D true;
		FB.init("29547cbcea476b5f36f2aa1e8fc469b7", "/FacebookXd.html");
	}
	=09
	FB.ensureInit(function(){
		// Get current status
		FB.Connect.get_status().waitUntilReady(function( status ){
			me.connectStatus =3D status;

			if(callback){
				callback();
			}
		});
	});
};

slFacebookProxy.prototype.linkImages =3D function(images, url){
	var fb_images =3D [];
	for(i=3D0; i<images.length; i++){
		fb_images.push({'src': images[i], 'href': url});
	=09
	}
	return fb_images;
};

slFacebookProxy.prototype.trunc =3D function(text, maxLen){
	if(!maxLen){
		maxLen =3D 200;
	}
=09
	if(text.length > maxLen){
		text =3D text.substring(0, maxLen);
		text =3D text + "...";
	}
=09
	return text;
};

slFacebookProxy.prototype.submitFeedStory =3D function(template_name, =
variables, callback){
	if(!this.ApiKey || this.ApiKey =3D=3D ""){
		if(callback) callback();
		return;
	}
=09
	var template =3D this.Templates[template_name];
	if(!template){
		throw("Bad template ID: " + template_name);
	}
=09
	var me =3D this;
	this.init(function(){
		FB.Connect.showFeedDialog(template, variables, null, "", =
FB.FeedStorySize.shortStory, FB.RequireConnect.promptConnect, callback);
	});
};

slFacebookProxy.prototype.submitArticleComment =3D function(title, url, =
excerpt, comment_body, images, callback){
	var me =3D this;
	variables =3D {
		'Title' : title,
		'URL' : url,
		'Excerpt' : me.trunc(excerpt),
		'Comment_Body' : me.trunc(comment_body),
		'images' : me.linkImages(images, url)
	};
=09
	this.submitFeedStory("ArticleComment", variables, callback);
};

slFacebookProxy.prototype.getUrlParameters =3D function(url){
	var ret =3D {};
	var params =3D null;
=09
	var startPos =3D url.indexOf('?');
	if(startPos >=3D 0){
		var endPos =3D url.indexOf('#');
		if(endPos < startPos){
			endPos =3D url.length;
		}
	=09
		params =3D url.substring(startPos+1, endPos);
	=09
		var splitParams =3D params.split("&");
		for(i=3D0; i<splitParams.length; i++){
			var kvp =3D splitParams[i].split('=3D');
			if(kvp[0]){
				ret[kvp[0]] =3D kvp[1] || "";
			}
		}
	}
=09
	return ret;
};

slFacebookProxy.prototype.showInviteFriendsDialog =3D function(title, =
header, invite_text, next_page, type, accept_text, accept_url){
	var params =3D this.getUrlParameters(next_page);
	this.init(function(){
	    var the_fbml =3D "";
		the_fbml +=3D '<fb:fbml>';
		the_fbml +=3D '	<fb:request-form style=3D"width: 630px; height: =
560px;" action=3D"' + next_page + '" method=3D"GET" invite=3D"true" =
type=3D"' + type + '" content=3D"' + invite_text + ' <fb:req-choice =
url=3D\'' + accept_url + '\' label=3D\'' + accept_text + '\'/>">';
			=09
		// add input params
		for(var i in params){
			the_fbml +=3D '<input type=3D"hidden" name=3D"'+i+'" =
value=3D"'+params[i]+'">';
		}
			=09
		the_fbml +=3D	'		<fb:multi-friend-selector showborder=3D"false" =
bypass=3D"cancel" actiontext=3D"' + header + '"/>';
		the_fbml +=3D '	</fb:request-form>';
		the_fbml +=3D '</fb:fbml>';

		var dlg =3D new FB.UI.FBMLPopupDialog(title, the_fbml);
		dlg.setContentWidth(630);
		dlg.setContentHeight(560);
		dlg.set_placement(FB.UI.PopupPlacement.center);
		dlg.show();
	});
};

slFacebookProxy.prototype.isLoggedIn =3D function(){
	return (this.connectStatus !=3D FB.ConnectState.userNotLoggedIn);
};

slFacebookProxy.prototype.currentUserFacebookId =3D function(){
	//return this.currentUserId;
	if(FB.Facebook.apiClient.get_session()){
		return FB.Facebook.apiClient.get_session().uid;
	}
	=09
	else return null;
};

slFacebookProxy.prototype.isConnectedUser =3D function(){
	return (this.connectStatus =3D=3D FB.ConnectState.connected);
};

slFacebookProxy.prototype.connectEnabled =3D function(){
	return (this.ApiKey !=3D "");
};

slFacebookProxy.prototype.renderFbml =3D function(){
	FB.XFBML.Host.parseDomTree();
};

slFacebookProxy.prototype.onLogin =3D function(callback){
	this.init(function(){
		FB.Facebook.get_sessionWaitable().waitUntilReady( callback );
	});
};

slFacebookProxy.prototype.queryConnectStatus =3D function(callback){
	this.init(function(){
		FB.Connect.get_status().waitUntilReady( callback );
	});
};

slFacebookProxy.prototype.login =3D function(callback){
	var me =3D this;
	this.init(function(){	=09
		FB.Connect.requireSession(function(){
			FB.Connect.get_status().waitUntilReady(function( status ){
				me.connectStatus =3D status;
			=09
				if(callback){
					me.onLogin(callback);
				}
			});
		});
	});
};

slFacebookProxy.prototype.logout =3D function(callback){
	this.init(function(){
		FB.Connect.logout(callback);
	});
};

var slFB =3D null;
// Initialize facebook API
slFB =3D new slFacebookProxy();

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgs.sfgate.com/js1223403062/yld/js/yld_global.js

// /templates/types/widgets/pages/cssjs/yld_global_js.tmpl=0A=
// /js/ads/yld/yld_global.js=0A=
=0A=
if (typeof yld_mgr =3D=3D 'undefined') { yld_mgr =3D new Object(); }=0A=
yld_mgr.pub_id =3D "22658131511";=0A=
yld_mgr.site_name =3D "SFGate";=0A=
yld_mgr.request_type =3D "ac";=0A=
yld_mgr.container_type =3D "js";=0A=
yld_mgr.content_lang=3D"en-US";=0A=
=0A=
function sfgate_IsTsp() {=0A=
   var ref =3D document.referrer;=0A=
   var refRE =3D /^http:\/\/[a-z.]*sfgate\.com(\/|\/index.s?html)?$/;=0A=
   if ( ! ref.match(refRE) ) {=0A=
      return false;=0A=
   }=0A=
   var qs =3D window.location.search.substring(1, =
window.location.search.length);=0A=
   if (qs.length > 1) {=0A=
      var qarray =3D qs.split("&");=0A=
      var re =3D /^tsp=3D/;=0A=
      for(var i=3D0; i < qarray.length; i++) {=0A=
         if (qarray[i].match(re)) {=0A=
            return true;=0A=
         }=0A=
      }=0A=
   }=0A=
   return false;=0A=
}=0A=
=0A=
function sfgate_yldslotok(pos) {=0A=
   if (typeof yld_mgr.slots !=3D 'undefined') {=0A=
      if (typeof yld_mgr.slots[pos] !=3D 'undefined'=0A=
         && typeof yld_mgr.slots[pos]['ad_size_list'] !=3D 'undefined'=0A=
         && yld_mgr.slots[pos]['ad_size_list']=0A=
         && typeof yld_mgr.slots[pos]['ad_delivery_mode'] !=3D =
'undefined'=0A=
         && yld_mgr.slots[pos]['ad_delivery_mode']=0A=
         && typeof yld_mgr.slots[pos]['ad_format_list'] !=3D 'undefined'=0A=
         && yld_mgr.slots[pos]['ad_format_list']) {=0A=
         return true;=0A=
      } else {=0A=
         return false;=0A=
      }=0A=
   } else {=0A=
      return false;=0A=
   }=0A=
}=0A=
=0A=
// end /js/ads/yld/yld_global.js=0A=
=0A=
// end /templates/types/widgets/pages/cssjs/yld_global_js.tmpl=0A=
=0A=

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://e.yieldmanager.net/script.js

(function(){var u=3Dwindow.yld_mgr;if(typeof(u)!=3D"object"){return}var =
h=3D"ym_";var l=3D1990;var =
k=3D"default_"+Math.round(9999999999*Math.random());u.is_data_call=3Du.re=
quest_type=3D=3D"bc";u.non_ad_request_type=3Du.request_type=3D=3D"bc"||u.=
request_type=3D=3D"fc";u.is_multi_ad_call=3Du.slots?true:false;u.is_sync_=
call=3Du.container_type=3D=3D"js";u.proxy_url=3D"http://e.yieldmanager.ne=
t/chunkPasser.html";var =
f=3D(!navigator.userAgent.match(/AppleWebKit\/([^ =
]*)/)&&!navigator.userAgent.match(/opera/gi)&&navigator.userAgent.match(/=
msie/gi));u.place_ad_here=3Dfunction(y){if(u.is_data_call){var =
x=3Dyld_mgr.getDataCallUrl(y);document.write('<iframe src=3D"'+x+'" =
height=3D0px width=3D0px =
style=3D"display:none">+</iframe>');return}if(u.is_sync_call){if(yld_mgr.=
show_ad_sync){yld_mgr.show_ad_sync(y)}}else{document.write("<div =
id=3D'"+h+y+"'></div>");if(yld_mgr.show_ad_here){yld_mgr.show_ad_here(h+y=
)}}};u.getIndex=3Dfunction(x){return =
yld_mgr.call_index[x]};u.getDataCallUrl=3Dfunction(x){if(yld_mgr.fac_data=
_call_urls&&yld_mgr.fac_data_call_urls.hasOwnProperty(x)){return =
yld_mgr.fac_data_call_urls[x]}else{return""}};u.getSlotName=3Dfunction(x)=
{return h+u.slot_names[x]};u.getNumberOfSlots=3Dfunction(){var =
y=3D0;for(var x in =
this.slots){if(this.slots.hasOwnProperty(x)){y++}}return y};function =
c(){if(u.is_data_call){a();if(!u.is_multi_ad_call){u.place_ad_here(k)}ret=
urn}var x=3Dd();s(x)}function =
s(x){if(u.is_sync_call&&!u.is_data_call){document.write('<script =
type=3D"text/javascript" =
src=3D"'+x+'"><\/script>')}else{if(!u.is_multi_ad_call){u.place_ad_here(k=
)}var y=3Ddocument.createElement("script");y.src=3Dx;var =
z=3Ddocument.getElementsByTagName("head")[0];yld_mgr.script_element=3Dy;w=
indow.setTimeout(function(){z.appendChild(y)},20)}}function =
e(y,z,x){return[j("fmt"+z,y.ad_format_list,1),j("sz"+z,y.ad_size_list,0),=
i("fSz"+z,g(y.ad_fit_size)?1:0),w("dlv"+z,y.ad_delivery_mode),j("conTy"+z=
,y.content_type_list,1),w("mrkr"+z,y.ad_marker),w("pltID"+z,y.palette_nam=
e),w("InvId"+z,y.inventory_id),j("rTg"+z,y.reporting_tag_list,1),j("cCat"=
+z,y.cstm_content_cat_list,1),w("sltId"+z,(u.is_sync_call&&u.is_multi_ad_=
call)?(z+""):x),w("mxCnt"+z,y.max_count)].join("")}function v(){var =
x=3Du.content_topic_id_list||u.pub_content_cat_id_list;return[w("pubId",u=
.pub_id),w("site",u.site_name),(u.non_ad_request_type)?w("rTy",u.request_=
type):"",w("cntTy",u.container_type?u.container_type:"dif"),w("inEnc",u.a=
d_input_encoding),j("cTopId",x,0),w("rd",u.redirect_clk_wrapper),w("cDst"=
,u.clk_dest),w("age",u.user_age),w("gdr",u.user_gender),w("inc",u.user_in=
come),j("cSctn",u.cstm_sctn_list||u.site_section_name_list,1),w("zip",u.u=
ser_zip),w("cty",u.user_city),w("dma",u.user_dma),w("st",u.user_state),w(=
"ctry",u.user_country),w("enc",u.ad_output_encoding),w("aTgt",u.audience_=
targeting),w("ctLng",u.content_lang),w("pUsrId",u.partner_user_id),w("tra=
ce",u.trace_id)].join("")}function =
t(y){u.call_index=3D{};u.slot_names=3D{};var =
z;if(!u.is_multi_ad_call){z=3De(u,"",h+k);if(p(y+z.length)){return""}u.ca=
ll_index[k]=3D0;u.slot_names[0]=3Dk;return z}var A=3D0;var =
x=3D"";for(var B in =
u.slots){if(u.slots.hasOwnProperty(B)){z=3De(u.slots[B],A,h+B);if(p(y+x.l=
ength+z.length)){return =
x}x+=3Dz;u.call_index[B]=3DA;u.slot_names[A]=3DB;A++}}return x}function =
q(x){var =
y=3D[(!x)?i("tagTy",(u.is_sync_call?"multi_secure":"uni")):"",(u.is_multi=
_ad_call)?i("nAdP",u.getNumberOfSlots()):"",i("rFrame",((window.top=3D=3D=
window.self)?"1":"0")),w("flv",r()),i("cb",(new =
Date()).getTime()),w("url",n())].join("");return y}function b(A){var =
C=3D"";var =
z=3Dw("ref",document.referrer);if(p(A+C.length+z.length)){return =
C}C+=3Dz;A+=3Dz.length;if(!u.non_ad_request_type&&!g(u.disable_content_se=
nd)){var y=3D"";if(f){var B=3Dl-4-A;if(B>0){var =
x=3DB>500?500:B;y=3Dm(document.getElementsByTagName("HTML")[0].innerHTML.=
substr(0,x)).substr(0,B);y=3Dy.replace(/%\w?$/,"")}}else{y=3Dm(document.g=
etElementsByTagName("HTML")[0].innerHTML.substr(0,500))}if(y){C+=3Di("byt=
",y)}}return C}function d(){var =
x=3Du.enable_test_call?"http://open.ad.yieldmanager.net/atest1?":"http://=
open.ad.yieldmanager.net/a1?";if("https:"=3D=3Dwindow.location.protocol){=
x=3Du.enable_test_call?"https://open.ad.yieldmanager.net/atest1?":"https:=
//open.ad.yieldmanager.net/a1?"}x+=3D"V=3D3";x+=3Dv();x+=3Dq(false);x+=3D=
t(x.length);x+=3Db(x.length);return x}function =
a(){yld_mgr.fac_data_call_urls=3D{};if(!u.is_multi_ad_call){yld_mgr.fac_d=
ata_call_urls[k]=3Do(u,k);return}for(var x in =
u.slots){if(u.slots.hasOwnProperty(x)){yld_mgr.fac_data_call_urls[x]=3Do(=
u.slots[x],x)}}}function o(z,y){var =
x=3Du.enable_test_call?"http://open.ad.yieldmanager.net/atest1?":"http://=
open.ad.yieldmanager.net/a1?";if("https:"=3D=3Dwindow.location.protocol){=
x=3Du.enable_test_call?"https://open.ad.yieldmanager.net/atest1?":"https:=
//open.ad.yieldmanager.net/a1?"}x+=3D"V=3D3";if(!u.container_type||(u.con=
tainer_type=3D=3D"dif")){u.container_type=3D"iframe";x+=3Dv();u.container=
_type=3D"dif"}else{x+=3Dv()}if(u.is_multi_ad_call){u.is_multi_ad_call=3Df=
alse;x+=3Dq(true);u.is_multi_ad_call=3Dtrue}else{x+=3Dq(true)}x+=3De(z,""=
,h+y);x+=3Db(x.length);return x}function p(x){if(f&&(x>l)){return =
true}return false}function n(){var =
x=3D"";try{if(top.location){x=3Dtop.location.href}}catch(y){}return =
x}function r(){var z=3Dnew =
Object();z.installed=3Dfalse;z.version=3D"0.0";if(navigator.plugins&&navi=
gator.plugins.length){for(var =
y=3D0;y<navigator.plugins.length;y++){if(navigator.plugins[y].name.indexO=
f("Shockwave =
Flash")!=3D-1){z.version=3Dnavigator.plugins[y].description.split("Shockw=
ave Flash =
")[1];z.installed=3Dtrue;break}}}else{if(window.ActiveXObject){for(y=3D2;=
y<10;y++){try{oFlash=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+y);if(oFlash){z.installed=3D=
true;z.version=3Dy+".0"}}catch(A){}}}}if(!z.installed){return"nf"}return =
z.version}function =
m(x){if(x){if(typeof(encodeURIComponent)=3D=3D"function"){return =
encodeURIComponent(x)}else{return escape(x)}}return x}function =
i(y,z){var x=3D"";if(z){x+=3D"&"+y+"=3D"+z}return x}function =
w(x,y){return i(x,m(y))}function j(A,x,B){var =
y=3D"";if(x&&x.length){y+=3D"&"+A+"=3D"+(B?m(x[0]):x[0]);for(var =
z=3D1;z<x.length;z++){y+=3D","+(B?m(x[z]):x[z])}}return y}function =
g(x){return parseInt(x,10)}c()})();
------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgs.sfgate.com/js/omniture/s_code.js

/* SiteCatalyst code version: H.10.=0A=
Copyright 1997-2007 Omniture, Inc. More info available at=0A=
http://www.omniture.com */=0A=
/************************ ADDITIONAL FEATURES ************************=0A=
     Plugins=0A=
*/=0A=
/* Specify the Report Suite ID(s) to track here */=0A=
var s_account=3D"hearstsfgatecom"=0A=
var s=3Ds_gi(s_account)=0A=
/************************** CONFIG SECTION **************************/=0A=
/* You may add or alter any code config here. */=0A=
/* Link Tracking Config */=0A=
s.trackDownloadLinks=3Dtrue=0A=
s.trackExternalLinks=3Dtrue=0A=
s.trackInlineStats=3Dtrue=0A=
s.linkDownloadFileTypes=3D"exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls"=0A=
s.linkInternalFilters=3D"javascript:,sfgate"=0A=
s.linkLeaveQueryString=3Dfalse=0A=
s.linkTrackVars=3D"None"=0A=
s.linkTrackEvents=3D"None"=0A=
/* Plugin Config */=0A=
s.usePlugins=3Dtrue=0A=
function s_doPlugins(s) {=0A=
	=0A=
/* External Campaign Tracking */=0A=
if(!s.campaign){=0A=
	s.campaign=3Ds.getQueryParam('cmpid')=0A=
	s.campaign=3Ds.getValOnce(s.campaign,'s_campaign',0)=0A=
}=0A=
/* Lowercase variables */=0A=
if(s.prop1) s.prop1=3Ds.prop1.toLowerCase()=0A=
=0A=
/* Copy search term to eVar */=0A=
if(s.prop1){=0A=
	s.eVar1=3Ds.prop1=0A=
=0A=
	/* Set de-duped onsite search event */=0A=
	var t_search=3Ds.getValOnce(s.eVar1,'ev1',0)=0A=
	if(t_search) s.events=3Ds.apl(s.events,'event1',',',1)=0A=
}=0A=
=0A=
/* Set Page View Event */=0A=
s.events=3Ds.events?s.events+',event2':'event2';=0A=
=0A=
/* Copy Page Name, Channel, & Article Title to eVars */=0A=
if(s.pageName) s.eVar3=3Ds.pageName=0A=
if(s.channel) s.eVar4=3Ds.channel=0A=
if(s.prop12) s.eVar5=3Ds.prop12=0A=
=0A=
/* Time Parting Plug-in PST */=0A=
s.prop14=3Ds.getTimeParting('h','-8','2007'); // Set hour =0A=
s.prop15=3Ds.getTimeParting('d','-8','2007'); // Set day=0A=
s.prop16=3Ds.getTimeParting('w','-8','2007'); // Set Weekend / Weekday=0A=
=0A=
}=0A=
s.doPlugins=3Ds_doPlugins=0A=
/************************** PLUGINS SECTION *************************/=0A=
/* You may insert any plugins you wish to use here.                 */=0A=
/*=0A=
 * Plugin: getTimeParting 1.3 - Set timeparting values based on time zone=0A=
 */=0A=
=0A=
s.getTimeParting=3Dnew Function("t","z","y",""=0A=
+"dc=3Dnew Date('1/1/2000');f=3D15;ne=3D8;if(dc.getDay()!=3D6||"=0A=
+"dc.getMonth()!=3D0){return'Data Not Available'}else{;z=3DparseInt(z);"=0A=
+"if(y=3D=3D'2009'){f=3D8;ne=3D1};gmar=3Dnew =
Date('3/1/'+y);dsts=3Df-gmar.getDay("=0A=
+");gnov=3Dnew Date('11/1/'+y);dste=3Dne-gnov.getDay();spr=3Dnew =
Date('3/'"=0A=
+"+dsts+'/'+y);fl=3Dnew Date('11/'+dste+'/'+y);cd=3Dnew Date();"=0A=
+"if(cd>spr&&cd<fl){z=3Dz+1}else{z=3Dz};utc=3Dcd.getTime()+(cd.getTimezon=
eO"=0A=
+"ffset()*60000);tz=3Dnew Date(utc + =
(3600000*z));thisy=3Dtz.getFullYear("=0A=
+");var days=3D['Sunday','Monday','Tuesday','Wednesday','Thursday','Fr"=0A=
+"iday','Saturday'];if(thisy!=3Dy){return'Data Not Available'}else{;thi"=0A=
+"sh=3Dtz.getHours();thismin=3Dtz.getMinutes();thisd=3Dtz.getDay();var =
dow=3D"=0A=
+"days[thisd];var ap=3D'AM';var dt=3D'Weekday';var =
mint=3D'00';if(thismin>3"=0A=
+"0){mint=3D'30'}if(thish>=3D12){ap=3D'PM';thish=3Dthish-12};if =
(thish=3D=3D0){th"=0A=
+"ish=3D12};if(thisd=3D=3D6||thisd=3D=3D0){dt=3D'Weekend'};var =
timestring=3Dthish+'"=0A=
+":'+mint+ap;var daystring=3Ddow;var =
endstring=3Ddt;if(t=3D=3D'h'){return tim"=0A=
+"estring}if(t=3D=3D'd'){return daystring};if(t=3D=3D'w'){return en"=0A=
+"dstring}}};"=0A=
);=0A=
/*=0A=
 * Plugin Utility: apl v1.1=0A=
 */=0A=
s.apl=3Dnew Function("L","v","d","u",""=0A=
+"var s=3Dthis,m=3D0;if(!L)L=3D'';if(u){var =
i,n,a=3Ds.split(L,d);for(i=3D0;i<a."=0A=
+"length;i++){n=3Da[i];m=3Dm||(u=3D=3D1?(n=3D=3Dv):(n.toLowerCase()=3D=3D=
v.toLowerCas"=0A=
+"e()));}}if(!m)L=3DL?L+d+v:v;return L");=0A=
/*=0A=
 * Plugin: getQueryParam 2.1 - return query string parameter(s)=0A=
 */=0A=
s.getQueryParam=3Dnew Function("p","d","u",""=0A=
+"var =
s=3Dthis,v=3D'',i,t;d=3Dd?d:'';u=3Du?u:(s.pageURL?s.pageURL:s.wd.locati"=0A=
+"on);if(u=3D=3D'f')u=3Ds.gtfs().location;while(p){i=3Dp.indexOf(',');i=3D=
i<0?p"=0A=
+".length:i;t=3Ds.p_gpv(p.substring(0,i),u+'');if(t)v+=3Dv?d+t:t;p=3Dp.su=
bs"=0A=
+"tring(i=3D=3Dp.length?i:i+1)}return v");=0A=
s.p_gpv=3Dnew Function("k","u",""=0A=
+"var =
s=3Dthis,v=3D'',i=3Du.indexOf('?'),q;if(k&&i>-1){q=3Du.substring(i+1);v"=0A=
+"=3Ds.pt(q,'&','p_gvf',k)}return v");=0A=
s.p_gvf=3Dnew Function("t","k",""=0A=
+"if(t){var =
s=3Dthis,i=3Dt.indexOf('=3D'),p=3Di<0?t:t.substring(0,i),v=3Di<0?'T"=0A=
+"rue':t.substring(i+1);if(p.toLowerCase()=3D=3Dk.toLowerCase())return =
s."=0A=
+"epa(v)}return ''");=0A=
/*=0A=
 * Plugin: getValOnce 0.2 - get a value once per session or number of =
days=0A=
 */=0A=
s.getValOnce=3Dnew Function("v","c","e",""=0A=
+"var s=3Dthis,k=3Ds.c_r(c),a=3Dnew =
Date;e=3De?e:0;if(v){a.setTime(a.getTime("=0A=
+")+e*86400000);s.c_w(c,v,e?a:0);}return v=3D=3Dk?'':v");=0A=
=0A=
/* WARNING: Changing any of the below variables will cause drastic=0A=
changes to how your visitor data is collected.  Changes should only be=0A=
made when instructed to do so by your account manager.*/=0A=
s.visitorNamespace=3D"hearst"=0A=
s.trackingServer=3D"om.sfgate.com"=0A=
s.trackingServerSecure=3D"som.sfgate.com"=0A=
s.dc=3D112=0A=
=0A=
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/=0A=
var s_objectID;function s_c2fe(f){var x=3D'',s=3D0,e,a,b,c;while(1){e=3D=0A=
f.indexOf('"',s);b=3Df.indexOf('\\',s);c=3Df.indexOf("\n",s);if(e<0||(b>=3D=0A=
0&&b<e))e=3Db;if(e<0||(c>=3D0&&c<e))e=3Dc;if(e>=3D0){x+=3D(e>s?f.substrin=
g(s,e):=0A=
'')+(e=3D=3Dc?'\\n':'\\'+f.substring(e,e+1));s=3De+1}else return x=0A=
+f.substring(s)}return f}function s_c2fa(f){var s=3Df.indexOf('(')+1,e=3D=0A=
f.indexOf(')'),a=3D'',c;while(s>=3D0&&s<e){c=3Df.substring(s,s+1);if(c=3D=
=3D',')=0A=
a+=3D'","';else if(("\n\r\t ").indexOf(c)<0)a+=3Dc;s++}return =
a?'"'+a+'"':=0A=
a}function s_c2f(cc){cc=3D''+cc;var fc=3D'var f=3Dnew Function(',s=3D=0A=
cc.indexOf(';',cc.indexOf('{')),e=3Dcc.lastIndexOf('}'),o,a,d,q,c,f,h,x=0A=
fc+=3Ds_c2fa(cc)+',"var s=3Dnew Object;';c=3Dcc.substring(s+1,e);s=3D=0A=
c.indexOf('function');while(s>=3D0){d=3D1;q=3D'';x=3D0;f=3Dc.substring(s)=
;a=3D=0A=
s_c2fa(f);e=3Do=3Dc.indexOf('{',s);e++;while(d>0){h=3Dc.substring(e,e+1);=
if(=0A=
q){if(h=3D=3Dq&&!x)q=3D'';if(h=3D=3D'\\')x=3Dx?0:1;else =
x=3D0}else{if(h=3D=3D'"'||h=3D=3D"'"=0A=
)q=3Dh;if(h=3D=3D'{')d++;if(h=3D=3D'}')d--}if(d>0)e++}c=3Dc.substring(0,s=
)=0A=
+'new Function('+(a?a+',':'')+'"'+s_c2fe(c.substring(o+1,e))+'")'=0A=
+c.substring(e+1);s=3Dc.indexOf('function')}fc+=3Ds_c2fe(c)+';return =
s");'=0A=
eval(fc);return f}function s_gi(un,pg,ss){var c=3D"function s_c(un,pg,s"=0A=
+"s){var s=3Dthis;s.wd=3Dwindow;if(!s.wd.s_c_in){s.wd.s_c_il=3Dnew =
Array;s."=0A=
+"wd.s_c_in=3D0;}s._il=3Ds.wd.s_c_il;s._in=3Ds.wd.s_c_in;s._il[s._in]=3Ds=
;s.w"=0A=
+"d.s_c_in++;s.m=3Dfunction(m){return =
(''+m).indexOf('{')<0};s.fl=3Dfunct"=0A=
+"ion(x,l){return x?(''+x).substring(0,l):x};s.co=3Dfunction(o){if(!o)r"=0A=
+"eturn o;var n=3Dnew Object,x;for(x in o)if(x.indexOf('select')<0&&x.i"=0A=
+"ndexOf('filter')<0)n[x]=3Do[x];return =
n};s.num=3Dfunction(x){x=3D''+x;for"=0A=
+"(var p=3D0;p<x.length;p++)if(('0123456789').indexOf(x.substring(p,p+1"=0A=
+"))<0)return 0;return 1};s.rep=3Dfunction(x,o,n){var =
i=3Dx.indexOf(o);wh"=0A=
+"ile(x&&i>=3D0){x=3Dx.substring(0,i)+n+x.substring(i+o.length);i=3Dx.ind=
ex"=0A=
+"Of(o,i+n.length)}return x};s.ape=3Dfunction(x){var =
s=3Dthis,h=3D'01234567"=0A=
+"89ABCDEF',i,c=3Ds.charSet,n,l,e,y=3D'';c=3Dc?c.toUpperCase():'';if(x){x=
=3D'"=0A=
+"'+x;if(c=3D=3D'AUTO'&&('').charCodeAt){for(i=3D0;i<x.length;i++){c=3Dx.=
subs"=0A=
+"tring(i,i+1);n=3Dx.charCodeAt(i);if(n>127){l=3D0;e=3D'';while(n||l<4){e=
=3Dh"=0A=
+".substring(n%16,n%16+1)+e;n=3DparseInt(n/16);l++}y+=3D'%u'+e}else =
if(c=3D"=0A=
+"=3D'+')y+=3D'%2B';else =
y+=3Descape(c)}x=3Dy}else{x=3Dx?s.rep(escape(''+x),'+'"=0A=
+",'%2B'):x;if(x&&c&&s.em=3D=3D1&&x.indexOf('%u')<0&&x.indexOf('%U')<0){i=
"=0A=
+"=3Dx.indexOf('%');while(i>=3D0){i++;if(h.substring(8).indexOf(x.substri=
"=0A=
+"ng(i,i+1).toUpperCase())>=3D0)return x.substring(0,i)+'u00'+x.substri"=0A=
+"ng(i);i=3Dx.indexOf('%',i)}}}}return x};s.epa=3Dfunction(x){var =
s=3Dthis;"=0A=
+"return x?unescape(s.rep(''+x,'+',' ')):x};s.pt=3Dfunction(x,d,f,a){va"=0A=
+"r =
s=3Dthis,t=3Dx,z=3D0,y,r;while(t){y=3Dt.indexOf(d);y=3Dy<0?t.length:y;t=3D=
t.s"=0A=
+"ubstring(0,y);r=3Ds.m(f)?s[f](t,a):f(t,a);if(r)return =
r;z+=3Dy+d.length"=0A=
+";t=3Dx.substring(z,x.length);t=3Dz<x.length?t:''}return =
''};s.isf=3Dfunct"=0A=
+"ion(t,a){var =
c=3Da.indexOf(':');if(c>=3D0)a=3Da.substring(0,c);if(t.subst"=0A=
+"ring(0,2)=3D=3D's_')t=3Dt.substring(2);return =
(t!=3D''&&t=3D=3Da)};s.fsf=3Dfuncti"=0A=
+"on(t,a){var =
s=3Dthis;if(s.pt(a,',','isf',t))s.fsg+=3D(s.fsg!=3D''?',':'')"=0A=
+"+t;return 0};s.fs=3Dfunction(x,f){var =
s=3Dthis;s.fsg=3D'';s.pt(x,',','fsf"=0A=
+"',f);return s.fsg};s.c_d=3D'';s.c_gdf=3Dfunction(t,a){var =
s=3Dthis;if(!s."=0A=
+"num(t))return 1;return 0};s.c_gd=3Dfunction(){var =
s=3Dthis,d=3Ds.wd.locat"=0A=
+"ion.hostname,n=3Ds.fpCookieDomainPeriods,p;if(!n)n=3Ds.cookieDomainPeri=
"=0A=
+"ods;if(d&&!s.c_d){n=3Dn?parseInt(n):2;n=3Dn>2?n:2;p=3Dd.lastIndexOf('.'=
);"=0A=
+"if(p>=3D0){while(p>=3D0&&n>1){p=3Dd.lastIndexOf('.',p-1);n--}s.c_d=3Dp>=
0&&s"=0A=
+".pt(d,'.','c_gdf',0)?d.substring(p):d}}return s.c_d};s.c_r=3Dfunction"=0A=
+"(k){var s=3Dthis;k=3Ds.ape(k);var c=3D' '+s.d.cookie,i=3Dc.indexOf(' =
'+k+'=3D"=0A=
+"'),e=3Di<0?i:c.indexOf(';',i),v=3Di<0?'':s.epa(c.substring(i+2+k.length=
"=0A=
+",e<0?c.length:e));return =
v!=3D'[[B]]'?v:''};s.c_w=3Dfunction(k,v,e){var"=0A=
+" =
s=3Dthis,d=3Ds.c_gd(),l=3Ds.cookieLifetime,t;v=3D''+v;l=3Dl?(''+l).toUppe=
rCa"=0A=
+"se():'';if(e&&l!=3D'SESSION'&&l!=3D'NONE'){t=3D(v!=3D''?parseInt(l?l:0)=
:-60"=0A=
+");if(t){e=3Dnew =
Date;e.setTime(e.getTime()+(t*1000))}}if(k&&l!=3D'NONE'"=0A=
+"){s.d.cookie=3Dk+'=3D'+s.ape(v!=3D''?v:'[[B]]')+'; =
path=3D/;'+(e&&l!=3D'SESSI"=0A=
+"ON'?' expires=3D'+e.toGMTString()+';':'')+(d?' =
domain=3D'+d+';':'');ret"=0A=
+"urn s.c_r(k)=3D=3Dv}return 0};s.eh=3Dfunction(o,e,r,f){var =
s=3Dthis,b=3D's_'+"=0A=
+"e+'_'+s._in,n=3D-1,l,i,x;if(!s.ehl)s.ehl=3Dnew =
Array;l=3Ds.ehl;for(i=3D0;i<"=0A=
+"l.length&&n<0;i++){if(l[i].o=3D=3Do&&l[i].e=3D=3De)n=3Di}if(n<0){n=3Di;=
l[n]=3Dnew"=0A=
+" =
Object}x=3Dl[n];x.o=3Do;x.e=3De;f=3Dr?x.b:f;if(r||f){x.b=3Dr?0:o[e];x.o[e=
]=3Df"=0A=
+"}if(x.b){x.o[b]=3Dx.b;return b}return =
0};s.cet=3Dfunction(f,a,t,o,b){va"=0A=
+"r =
s=3Dthis,r;if(s.apv>=3D5&&(!s.isopera||s.apv>=3D7))eval('try{r=3Ds.m(f)?s=
"=0A=
+"[f](a):f(a)}catch(e){r=3Ds.m(t)?s[t](e):t(e)}');else{if(s.ismac&&s.u."=0A=
+"indexOf('MSIE =
4')>=3D0)r=3Ds.m(b)?s[b](a):b(a);else{s.eh(s.wd,'onerror'"=0A=
+",0,o);r=3Ds.m(f)?s[f](a):f(a);s.eh(s.wd,'onerror',1)}}return r};s.gtf"=0A=
+"set=3Dfunction(e){var s=3Dthis;return s.tfs};s.gtfsoe=3Dnew =
Function('e',"=0A=
+"'var s=3Ds_c_il['+s._in+'];s.eh(window,\"onerror\",1);s.etfs=3D1;var =
c=3D"=0A=
+"s.t();if(c)s.d.write(c);s.etfs=3D0;return =
true');s.gtfsfb=3Dfunction(a)"=0A=
+"{return window};s.gtfsf=3Dfunction(w){var =
s=3Dthis,p=3Dw.parent,l=3Dw.locat"=0A=
+"ion;s.tfs=3Dw;if(p&&p.location!=3Dl&&p.location.host=3D=3Dl.host){s.tfs=
=3Dp;r"=0A=
+"eturn s.gtfsf(s.tfs)}return s.tfs};s.gtfs=3Dfunction(){var =
s=3Dthis;if("=0A=
+"!s.tfs){s.tfs=3Ds.wd;if(!s.etfs)s.tfs=3Ds.cet('gtfsf',s.tfs,'gtfset',s.=
"=0A=
+"gtfsoe,'gtfsfb')}return s.tfs};s.mr=3Dfunction(sess,q,ta){var =
s=3Dthis,"=0A=
+"dc=3Ds.dc,t1=3Ds.trackingServer,t2=3Ds.trackingServerSecure,ns=3Ds.visi=
torN"=0A=
+"amespace,unc=3Ds.rep(s.fun,'_','-'),imn=3D's_i_'+s.fun,im,b,e,rs=3D'htt=
p'"=0A=
+"+(s.ssl?'s':'')+'://'+(t1?(s.ssl&&t2?t2:t1):((ns?ns:(s.ssl?'102':un"=0A=
+"c))+'.'+(s.dc?s.dc:112)+'.2o7.net'))+'/b/ss/'+s.un+'/1/H.10-Pdvu-2/"=0A=
+"'+sess+'?[AQB]&ndh=3D1'+(q?q:'')+(s.q?s.q:'')+'&[AQE]';if(s.isie&&!s."=0A=
+"ismac){if(s.apv>5.5)rs=3Ds.fl(rs,4095);else =
rs=3Ds.fl(rs,2047)}if(s.d.i"=0A=
+"mages&&s.apv>=3D3&&(!s.isopera||s.apv>=3D7)&&(s.ns6<0||s.apv>=3D6.1)){i=
m=3D"=0A=
+"s.wd[imn];if(!im)im=3Ds.wd[imn]=3Dnew =
Image;im.src=3Drs;if(rs.indexOf('&p"=0A=
+"e=3D')>=3D0&&(!ta||ta=3D=3D'_self'||ta=3D=3D'_top'||(s.wd.name&&ta=3D=3D=
s.wd.name))"=0A=
+"){b=3De=3Dnew Date;while(e.getTime()-b.getTime()<500)e=3Dnew =
Date}return "=0A=
+"''}return '<im'+'g sr'+'c=3D\"'+rs+'\" width=3D1 height=3D1 border=3D0 =
alt=3D"=0A=
+"\"\">'};s.gg=3Dfunction(v){var s=3Dthis;return =
s.wd['s_'+v]};s.glf=3Dfunc"=0A=
+"tion(t,a){if(t.substring(0,2)=3D=3D's_')t=3Dt.substring(2);var =
s=3Dthis,v=3Ds"=0A=
+".gg(t);if(v)s[t]=3Dv};s.gl=3Dfunction(v){var =
s=3Dthis;if(s.pg)s.pt(v,',',"=0A=
+"'glf',0)};s.gv=3Dfunction(v){var s=3Dthis;return =
s['vpm_'+v]?s['vpv_'+v"=0A=
+"]:(s[v]?s[v]:'')};s.havf=3Dfunction(t,a){var =
s=3Dthis,b=3Dt.substring(0,4"=0A=
+"),x=3Dt.substring(4),n=3DparseInt(x),k=3D'g_'+t,m=3D'vpm_'+t,q=3Dt,v=3D=
s.linkTr"=0A=
+"ackVars,e=3Ds.linkTrackEvents;s[k]=3Ds.gv(t);if(s.lnk||s.eo){v=3Dv?v+',=
'+"=0A=
+"s.vl_l:'';if(v&&!s.pt(v,',','isf',t))s[k]=3D'';if(t=3D=3D'events'&&e)s[=
k]"=0A=
+"=3Ds.fs(s[k],e)}s[m]=3D0;if(t=3D=3D'visitorID')q=3D'vid';else =
if(t=3D=3D'pageURL'"=0A=
+"){q=3D'g';s[k]=3Ds.fl(s[k],255)}else =
if(t=3D=3D'referrer'){q=3D'r';s[k]=3Ds.fl("=0A=
+"s[k],255)}else if(t=3D=3D'vmk')q=3D'vmt';else =
if(t=3D=3D'charSet'){q=3D'ce';if("=0A=
+"s[k]&&s[k].toUpperCase()=3D=3D'AUTO')s[k]=3D'ISO8859-1';else =
if(s[k]&&s.e"=0A=
+"m=3D=3D2)s[k]=3D'UTF-8'}else =
if(t=3D=3D'visitorNamespace')q=3D'ns';else if(t=3D=3D'"=0A=
+"cookieDomainPeriods')q=3D'cdp';else =
if(t=3D=3D'cookieLifetime')q=3D'cl';els"=0A=
+"e if(t=3D=3D'variableProvider')q=3D'vvp';else =
if(t=3D=3D'currencyCode')q=3D'cc'"=0A=
+";else if(t=3D=3D'channel')q=3D'ch';else =
if(t=3D=3D'transactionID')q=3D'xact';el"=0A=
+"se if(t=3D=3D'campaign')q=3D'v0';else =
if(s.num(x)){if(b=3D=3D'prop')q=3D'c'+n;e"=0A=
+"lse if(b=3D=3D'eVar')q=3D'v'+n;else =
if(b=3D=3D'hier'){q=3D'h'+n;s[k]=3Ds.fl(s[k],"=0A=
+"255)}}if(s[k]&&t!=3D'linkName'&&t!=3D'linkType')s.qav+=3D'&'+q+'=3D'+s.=
ape("=0A=
+"s[k]);return ''};s.hav=3Dfunction(){var =
s=3Dthis;s.qav=3D'';s.pt(s.vl_t,'"=0A=
+",','havf',0);return =
s.qav};s.lnf=3Dfunction(t,h){t=3Dt?t.toLowerCase():"=0A=
+"'';h=3Dh?h.toLowerCase():'';var =
te=3Dt.indexOf('=3D');if(t&&te>0&&h.index"=0A=
+"Of(t.substring(te+1))>=3D0)return t.substring(0,te);return =
''};s.ln=3Df"=0A=
+"unction(h){var s=3Dthis,n=3Ds.linkNames;if(n)return =
s.pt(n,',','lnf',h)"=0A=
+";return =
''};s.ltdf=3Dfunction(t,h){t=3Dt?t.toLowerCase():'';h=3Dh?h.toLow"=0A=
+"erCase():'';var =
qi=3Dh.indexOf('?');h=3Dqi>=3D0?h.substring(0,qi):h;if(t&"=0A=
+"&h.substring(h.length-(t.length+1))=3D=3D'.'+t)return 1;return =
0};s.lte"=0A=
+"f=3Dfunction(t,h){t=3Dt?t.toLowerCase():'';h=3Dh?h.toLowerCase():'';if(=
t&"=0A=
+"&h.indexOf(t)>=3D0)return 1;return 0};s.lt=3Dfunction(h){var =
s=3Dthis,lft"=0A=
+"=3Ds.linkDownloadFileTypes,lef=3Ds.linkExternalFilters,lif=3Ds.linkInte=
rn"=0A=
+"alFilters;lif=3Dlif?lif:s.wd.location.hostname;h=3Dh.toLowerCase();if(s=
"=0A=
+".trackDownloadLinks&&lft&&s.pt(lft,',','ltdf',h))return 'd';if(s.tr"=0A=
+"ackExternalLinks&&(lef||lif)&&(!lef||s.pt(lef,',','ltef',h))&&(!lif"=0A=
+"||!s.pt(lif,',','ltef',h)))return 'e';return ''};s.lc=3Dnew Function("=0A=
+"'e','var =
s=3Ds_c_il['+s._in+'],b=3Ds.eh(this,\"onclick\");s.lnk=3Ds.co(th"=0A=
+"is);s.t();s.lnk=3D0;if(b)return this[b](e);return true');s.bc=3Dnew =
Fun"=0A=
+"ction('e','var s=3Ds_c_il['+s._in+'],f;if(s.d&&s.d.all&&s.d.all.cppXY"=0A=
+"ctnr)return;s.eo=3De.srcElement?e.srcElement:e.target;eval(\"try{if(s"=0A=
+".eo&&(s.eo.tagName||s.eo.parentElement||s.eo.parentNode))s.t()}catc"=0A=
+"h(f){}\");s.eo=3D0');s.ot=3Dfunction(o){var =
a=3Do.type,b=3Do.tagName;return"=0A=
+" (a&&a.toUpperCase?a:b&&b.toUpperCase?b:o.href?'A':'').toUpperCase("=0A=
+")};s.oid=3Dfunction(o){var =
s=3Dthis,t=3Ds.ot(o),p=3Do.protocol,c=3Do.onclick,"=0A=
+"n=3D'',x=3D0;if(!o.s_oid){if(o.href&&(t=3D=3D'A'||t=3D=3D'AREA')&&(!c||=
!p||p.to"=0A=
+"LowerCase().indexOf('javascript')<0))n=3Do.href;else =
if(c){n=3Ds.rep(s."=0A=
+"rep(s.rep(s.rep(''+c,\"\\r\",''),\"\\n\",''),\"\\t\",''),' ','');x=3D"=0A=
+"2}else =
if(o.value&&(t=3D=3D'INPUT'||t=3D=3D'SUBMIT')){n=3Do.value;x=3D3}else if"=0A=
+"(o.src&&t=3D=3D'IMAGE')n=3Do.src;if(n){o.s_oid=3Ds.fl(n,100);o.s_oidt=3D=
x}}re"=0A=
+"turn o.s_oid};s.rqf=3Dfunction(t,un){var =
s=3Dthis,e=3Dt.indexOf('=3D'),u=3De>"=0A=
+"=3D0?','+t.substring(0,e)+',':'';return =
u&&u.indexOf(','+un+',')>=3D0?s"=0A=
+".epa(t.substring(e+1)):''};s.rq=3Dfunction(un){var =
s=3Dthis,c=3Dun.indexO"=0A=
+"f(','),v=3Ds.c_r('s_sq'),q=3D'';if(c<0)return =
s.pt(v,'&','rqf',un);retu"=0A=
+"rn s.pt(un,',','rq',0)};s.sqp=3Dfunction(t,a){var =
s=3Dthis,e=3Dt.indexOf("=0A=
+"'=3D'),q=3De<0?'':s.epa(t.substring(e+1));s.sqq[q]=3D'';if(e>=3D0)s.pt(=
t.su"=0A=
+"bstring(0,e),',','sqs',q);return 0};s.sqs=3Dfunction(un,q){var =
s=3Dthis"=0A=
+";s.squ[un]=3Dq;return 0};s.sq=3Dfunction(q){var =
s=3Dthis,k=3D's_sq',v=3Ds.c_r"=0A=
+"(k),x,c=3D0;s.sqq=3Dnew Object;s.squ=3Dnew =
Object;s.sqq[q]=3D'';s.pt(v,'&',"=0A=
+"'sqp',0);s.pt(s.un,',','sqs',q);v=3D'';for(x in s.squ)s.sqq[s.squ[x]]"=0A=
+"+=3D(s.sqq[s.squ[x]]?',':'')+x;for(x in =
s.sqq)if(x&&s.sqq[x]&&(x=3D=3Dq||"=0A=
+"c<2)){v+=3D(v?'&':'')+s.sqq[x]+'=3D'+s.ape(x);c++}return =
s.c_w(k,v,0)};"=0A=
+"s.wdl=3Dnew Function('e','var =
s=3Ds_c_il['+s._in+'],r=3Dtrue,b=3Ds.eh(s.wd,"=0A=
+"\"onload\"),i,o,oc;if(b)r=3Dthis[b](e);for(i=3D0;i<s.d.links.length;i++=
"=0A=
+"){o=3Ds.d.links[i];oc=3Do.onclick?\"\"+o.onclick:\"\";if((oc.indexOf(\"=
"=0A=
+"s_gs(\")<0||oc.indexOf(\".s_oc(\")>=3D0)&&oc.indexOf(\".tl(\")<0)s.eh"=0A=
+"(o,\"onclick\",0,s.lc);}return r');s.wds=3Dfunction(){var =
s=3Dthis;if(s"=0A=
+".apv>3&&(!s.isie||!s.ismac||s.apv>=3D5)){if(s.b&&s.b.attachEvent)s.b."=0A=
+"attachEvent('onclick',s.bc);else if(s.b&&s.b.addEventListener)s.b.a"=0A=
+"ddEventListener('click',s.bc,false);else s.eh(s.wd,'onload',0,s.wdl"=0A=
+")}};s.vs=3Dfunction(x){var =
s=3Dthis,v=3Ds.visitorSampling,g=3Ds.visitorSamp"=0A=
+"lingGroup,k=3D's_vsn_'+s.un+(g?'_'+g:''),n=3Ds.c_r(k),e=3Dnew =
Date,y=3De.ge"=0A=
+"tYear();e.setYear(y+10+(y<1900?1900:0));if(v){v*=3D100;if(!n){if(!s.c"=0A=
+"_w(k,x,e))return 0;n=3Dx}if(n%10000>v)return 0}return =
1};s.dyasmf=3Dfun"=0A=
+"ction(t,m){if(t&&m&&m.indexOf(t)>=3D0)return 1;return =
0};s.dyasf=3Dfunc"=0A=
+"tion(t,m){var s=3Dthis,i=3Dt?t.indexOf('=3D'):-1,n,x;if(i>=3D0&&m){var =
n=3Dt."=0A=
+"substring(0,i),x=3Dt.substring(i+1);if(s.pt(x,',','dyasmf',m))return "=0A=
+"n}return 0};s.uns=3Dfunction(){var =
s=3Dthis,x=3Ds.dynamicAccountSelection"=0A=
+",l=3Ds.dynamicAccountList,m=3Ds.dynamicAccountMatch,n,i;s.un.toLowerCas=
"=0A=
+"e();if(x&&l){if(!m)m=3Ds.wd.location.host;if(!m.toLowerCase)m=3D''+m;l=3D=
"=0A=
+"l.toLowerCase();m=3Dm.toLowerCase();n=3Ds.pt(l,';','dyasf',m);if(n)s.un=
"=0A=
+"=3Dn}i=3Ds.un.indexOf(',');s.fun=3Di<0?s.un:s.un.substring(0,i)};s.sa=3D=
fun"=0A=
+"ction(un){var s=3Dthis;s.un=3Dun;if(!s.oun)s.oun=3Dun;else =
if((','+s.oun+"=0A=
+"',').indexOf(un)<0)s.oun+=3D','+un;s.uns()};s.t=3Dfunction(){var =
s=3Dthis"=0A=
+",trk=3D1,tm=3Dnew =
Date,sed=3DMath&&Math.random?Math.floor(Math.random()*1"=0A=
+"0000000000000):tm.getTime(),sess=3D's'+Math.floor(tm.getTime()/108000"=0A=
+"00)%10+sed,yr=3Dtm.getYear(),vt=3Dtm.getDate()+'/'+tm.getMonth()+'/'+(y=
"=0A=
+"r<1900?yr+1900:yr)+' '+tm.getHours()+':'+tm.getMinutes()+':'+tm.get"=0A=
+"Seconds()+' '+tm.getDay()+' '+tm.getTimezoneOffset(),tfs=3Ds.gtfs(),t"=0A=
+"a=3D'',q=3D'',qs=3D'';s.gl(s.vl_g);s.uns();if(!s.q){var =
tl=3Dtfs.location,a"=0A=
+",o,i,x=3D'',c=3D'',v=3D'',p=3D'',bw=3D'',bh=3D'',j=3D'1.0',k=3Ds.c_w('s=
_cc','true',"=0A=
+"0)?'Y':'N',hp=3D'',ct=3D'',pn=3D0,ps;if(String&&String.prototype){j=3D\=
"1.1"=0A=
+"\";if(j.match){j=3D\"1.2\";if(tm.setUTCDate){j=3D\"1.3\";if(s.isie&&s.i=
"=0A=
+"smac&&s.apv>=3D5)j=3D\"1.4\";if(pn.toPrecision){j=3D\"1.5\";a=3Dnew =
Array;i"=0A=
+"f(a.forEach){j=3D\"1.6\";i=3D0;o=3Dnew Object;eval(\"try{i=3Dnew =
Iterator(o"=0A=
+")}catch(e){}\");if(i&&i.next)j=3D\"1.7\"}}}}}if(s.apv>=3D4)x=3Dscreen.w=
id"=0A=
+"th+'x'+screen.height;if(s.isns||s.isopera){if(s.apv>=3D3){v=3Ds.n.javaE=
"=0A=
+"nabled()?'Y':'N';if(s.apv>=3D4){c=3Dscreen.pixelDepth;bw=3Ds.wd.innerWi=
dt"=0A=
+"h;bh=3Ds.wd.innerHeight;}}s.pl=3Ds.n.plugins}else =
if(s.isie){if(s.apv>=3D"=0A=
+"4){v=3Ds.n.javaEnabled()?'Y':'N';c=3Dscreen.colorDepth;if(s.apv>=3D5){b=
w=3D"=0A=
+"s.d.documentElement.offsetWidth;bh=3Ds.d.documentElement.offsetHeight"=0A=
+";if(!s.ismac&&s.b){eval(\"try{s.b.addBehavior('#default#homePage');"=0A=
+"hp=3Ds.b.isHomePage(tl)?'Y':'N'}catch(e){}\");eval(\"try{s.b.addBehav"=0A=
+"ior('#default#clientCaps');ct=3Ds.b.connectionType}catch(e){}\")}}}el"=0A=
+"se =
r=3D''}if(s.pl)while(pn<s.pl.length&&pn<30){ps=3Ds.fl(s.pl[pn].name,"=0A=
+"100)+';';if(p.indexOf(ps)<0)p+=3Dps;pn++}s.q=3D(x?'&s=3D'+s.ape(x):'')+=
(c"=0A=
+"?'&c=3D'+s.ape(c):'')+(j?'&j=3D'+j:'')+(v?'&v=3D'+v:'')+(k?'&k=3D'+k:''=
)+(b"=0A=
+"w?'&bw=3D'+bw:'')+(bh?'&bh=3D'+bh:'')+(ct?'&ct=3D'+s.ape(ct):'')+(hp?'&=
hp"=0A=
+"=3D'+hp:'')+(p?'&p=3D'+s.ape(p):'')}if(s.usePlugins)s.doPlugins(s);var =
"=0A=
+"l=3Ds.wd.location,r=3Dtfs.document.referrer;if(!s.pageURL)s.pageURL=3Dl=
;i"=0A=
+"f(!s.referrer)s.referrer=3Dr;if(s.lnk||s.eo){var =
o=3Ds.eo?s.eo:s.lnk;if"=0A=
+"(!o)return '';var =
p=3Ds.gv('pageName'),w=3D1,t=3Ds.ot(o),n=3Ds.oid(o),x=3Do.s"=0A=
+"_oidt,h,l,i,oc;if(s.eo&&o=3D=3Ds.eo){while(o&&!n&&t!=3D'BODY'){o=3Do.pa=
rent"=0A=
+"Element?o.parentElement:o.parentNode;if(!o)return =
'';t=3Ds.ot(o);n=3Ds."=0A=
+"oid(o);x=3Do.s_oidt}oc=3Do.onclick?''+o.onclick:'';if((oc.indexOf(\"s_g=
"=0A=
+"s(\")>=3D0&&oc.indexOf(\".s_oc(\")<0)||oc.indexOf(\".tl(\")>=3D0)return=
"=0A=
+" =
''}ta=3Dn?o.target:1;h=3Do.href?o.href:'';i=3Dh.indexOf('?');h=3Ds.linkLe=
a"=0A=
+"veQueryString||i<0?h:h.substring(0,i);l=3Ds.linkName?s.linkName:s.ln("=0A=
+"h);t=3Ds.linkType?s.linkType.toLowerCase():s.lt(h);if(t&&(h||l))q+=3D'&=
"=0A=
+"pe=3Dlnk_'+(t=3D=3D'd'||t=3D=3D'e'?s.ape(t):'o')+(h?'&pev1=3D'+s.ape(h)=
:'')+(l?"=0A=
+"'&pev2=3D'+s.ape(l):'');else =
trk=3D0;if(s.trackInlineStats){if(!p){p=3Ds."=0A=
+"gv('pageURL');w=3D0}t=3Ds.ot(o);i=3Do.sourceIndex;if(s.gg('objectID')){=
n=3D"=0A=
+"s.gg('objectID');x=3D1;i=3D1}if(p&&n&&t)qs=3D'&pid=3D'+s.ape(s.fl(p,255=
))+("=0A=
+"w?'&pidt=3D'+w:'')+'&oid=3D'+s.ape(s.fl(n,100))+(x?'&oidt=3D'+x:'')+'&o=
t=3D"=0A=
+"'+s.ape(t)+(i?'&oi=3D'+i:'')}}if(!trk&&!qs)return '';if(s.p_r)s.p_r()"=0A=
+";var =
code=3D'';if(trk&&s.vs(sed))code=3Ds.mr(sess,(vt?'&t=3D'+s.ape(vt):'"=0A=
+"')+s.hav()+q+(qs?qs:s.rq(s.un)),ta);s.sq(trk?'':qs);s.lnk=3Ds.eo=3Ds.li=
"=0A=
+"nkName=3Ds.linkType=3Ds.wd.s_objectID=3Ds.ppu=3D'';if(s.pg)s.wd.s_lnk=3D=
s.wd."=0A=
+"s_eo=3Ds.wd.s_linkName=3Ds.wd.s_linkType=3D'';return =
code};s.tl=3Dfunction("=0A=
+"o,t,n){var =
s=3Dthis;s.lnk=3Ds.co(o);s.linkType=3Dt;s.linkName=3Dn;s.t()};s."=0A=
+"ssl=3D(s.wd.location.protocol.toLowerCase().indexOf('https')>=3D0);s.d=3D=
"=0A=
+"document;s.b=3Ds.d.body;s.n=3Dnavigator;s.u=3Ds.n.userAgent;s.ns6=3Ds.u=
.ind"=0A=
+"exOf('Netscape6/');var =
apn=3Ds.n.appName,v=3Ds.n.appVersion,ie=3Dv.indexO"=0A=
+"f('MSIE '),o=3Ds.u.indexOf('Opera =
'),i;if(v.indexOf('Opera')>=3D0||o>0)"=0A=
+"apn=3D'Opera';s.isie=3D(apn=3D=3D'Microsoft Internet =
Explorer');s.isns=3D(apn"=0A=
+"=3D=3D'Netscape');s.isopera=3D(apn=3D=3D'Opera');s.ismac=3D(s.u.indexOf=
('Mac')>"=0A=
+"=3D0);if(o>0)s.apv=3DparseFloat(s.u.substring(o+6));else =
if(ie>0){s.apv"=0A=
+"=3DparseInt(i=3Dv.substring(ie+5));if(s.apv>3)s.apv=3DparseFloat(i)}els=
e "=0A=
+"if(s.ns6>0)s.apv=3DparseFloat(s.u.substring(s.ns6+10));else =
s.apv=3Dpar"=0A=
+"seFloat(v);s.em=3D0;if(String.fromCharCode){i=3Descape(String.fromCharC=
"=0A=
+"ode(256)).toUpperCase();s.em=3D(i=3D=3D'%C4%80'?2:(i=3D=3D'%U0100'?1:0)=
)}s.sa"=0A=
+"(un);s.vl_l=3D'visitorID,vmk,ppu,charSet,visitorNamespace,cookieDomai"=0A=
+"nPeriods,cookieLifetime,pageName,pageURL,referrer,currencyCode,purc"=0A=
+"haseID';s.vl_t=3Ds.vl_l+',variableProvider,channel,server,pageType,tr"=0A=
+"ansactionID,campaign,state,zip,events,products,linkName,linkType';f"=0A=
+"or(var =
n=3D1;n<51;n++)s.vl_t+=3D',prop'+n+',eVar'+n+',hier'+n;s.vl_g=3Ds."=0A=
+"vl_t+',trackDownloadLinks,trackExternalLinks,trackInlineStats,linkL"=0A=
+"eaveQueryString,linkDownloadFileTypes,linkExternalFilters,linkInter"=0A=
+"nalFilters,linkNames';s.pg=3Dpg;s.gl(s.vl_g);if(!ss)s.wds()}",=0A=
l=3Dwindow.s_c_il,n=3Dnavigator,u=3Dn.userAgent,v=3Dn.appVersion,e=3Dv.in=
dexOf(=0A=
'MSIE =
'),m=3Du.indexOf('Netscape6/'),a,i,s;if(l)for(i=3D0;i<l.length;i++){=0A=
s=3Dl[i];if(s.oun=3D=3Dun)return s;else =
if(s.fs(s.oun,un)){s.sa(un);return s=0A=
}}if(e>0){a=3DparseInt(i=3Dv.substring(e+5));if(a>3)a=3DparseFloat(i)}=0A=
else if(m>0)a=3DparseFloat(u.substring(m+10));else a=3DparseFloat(v);if(a=0A=
>=3D5&&v.indexOf('Opera')<0&&u.indexOf('Opera')<0){eval(c);return new=0A=
s_c(un,pg,ss)}else s=3Ds_c2f(c);return s(un,pg,ss)}function s_co(o){=0A=
var s=3Ds_gi("^",1,1);return s.co(o)}function s_gs(un){var =
s=3Ds_gi(un,1,1=0A=
);return s.t()}function s_dc(un){var s=3Ds_gi(un,1);return s.t()}=0A=

------=_NextPart_000_0000_01C9FBD0.7D635140
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://edge.quantserve.com/quant.js

//=0A=
// For correct measurement, DO NOT HOST THIS FROM ANOTHER SERVER=0A=
//=0A=
function _qcdst(){if(_qctzoff(0)!=3D_qctzoff(6))return 1;return 0;}=0A=
function _qctzoff(m){=0A=
var d1=3Dnew Date(2000,m,1,0,0,0,0);=0A=
var t=3Dd1.toGMTString();=0A=
var d3=3Dnew Date(t.substring(0,t.lastIndexOf(" ")-1));=0A=
return d1-d3;=0A=
}=0A=
function _qceuc(s){=0A=
if(typeof(encodeURIComponent)=3D=3D'function'){return =
encodeURIComponent(s);}=0A=
else{return escape(s);}=0A=
}=0A=
function _qcrnd(){return Math.round(Math.random()*2147483647);}=0A=
function _qcgc(n){=0A=
 var v=3D'';=0A=
 var c=3Ddocument.cookie;if(!c)return v;=0A=
 var i=3Dc.indexOf(n+"=3D");=0A=
 var len=3Di+n.length+1;=0A=
 if(i>-1){=0A=
  var end=3Dc.indexOf(";", len);=0A=
  if(end<0)end=3Dc.length;=0A=
  v=3Dc.substring(len,end);=0A=
 }=0A=
 return v;=0A=
}=0A=
function _qcdomain(){=0A=
 var d=3Ddocument.domain;=0A=
 if(d.substring(0,4)=3D=3D"www.")d=3Dd.substring(4,d.length);=0A=
 var a=3Dd.split(".");var len=3Da.length;=0A=
 if(len<3)return d;=0A=
 var e=3Da[len-1];=0A=
 if(e.length<3)return d;=0A=
 d=3Da[len-2]+"."+a[len-1];=0A=
 return d;=0A=
}=0A=
function _qcsc(dc,m){=0A=
 var s=3D"";var d=3D_qcdomain();=0A=
 if =
(m=3D=3D"ad"||d=3D=3D"doubleclick.net"||d=3D=3D"atdmt.com"||d=3D=3D"yield=
manager.com"||d=3D=3D"fimserve.com"||=0A=
  =
d=3D=3D"tribalfusion.com"||d=3D=3D"trafficmp.com"){s+=3D";fpan=3Du;fpa=3D=
;fpbn=3D;fpb=3D";return s;}=0A=
 var u=3Ddocument;var a=3D_qcgc("__qca");=0A=
 if(a.length>0){s+=3D";fpan=3D0;fpa=3D"+a;}=0A=
 else{=0A=
  u.cookie=3D"__qca=3D"+dc+"; expires=3DSun, 18 Jan 2038 00:00:00 GMT; =
path=3D/; domain=3D"+d;=0A=
  a=3D_qcgc("__qca");=0A=
  if(a.length>0){s+=3D";fpan=3D1;fpa=3D"+dc;}=0A=
  else{s+=3D";fpan=3Du;fpa=3D";}=0A=
 }=0A=
 var b=3D_qcgc("__qcb");=0A=
 if(b.length>0){s+=3D";fpbn=3D0;fpb=3D"+b;}=0A=
 else{b=3D_qcrnd();=0A=
  u.cookie=3D"__qcb=3D"+b+"; path=3D/; domain=3D"+d;=0A=
  b=3D_qcgc("__qcb");=0A=
  if(b.length>0){s+=3D";fpbn=3D1;fpb=3D"+b;}=0A=
  else{s+=3D";fpbn=3Du;fpb=3D";}=0A=
 }=0A=
 return s;=0A=
}=0A=
function _qcdc(n){=0A=
 document.cookie=3Dn+"=3D; expires=3DThu, 01 Jan 1970 00:00:01 GMT; =
path=3D/; domain=3D"+_qcdomain();=0A=
}=0A=
function _qpxload(){=0A=
 if((_qimg)&& typeof _qimg.width =3D=3D"number"){=0A=
  if (_qimg.width=3D=3D3){_qcdc("__qca");}=0A=
}}=0A=
function quantserve(){=0A=
 var r=3D_qcrnd();=0A=
 var =
sr=3D'',qo=3D'',qm=3D'',url=3D'',ref=3D'',je=3D'u',ns=3D'1',media=3D'webp=
age',event=3D'load';=0A=
 if(typeof _qoptions !=3D"undefined" && _qoptions!=3Dnull){=0A=
  for(var k in _qoptions){=0A=
   if(typeof(_qoptions[k])!=3D'string'){continue;}=0A=
   if(k=3D=3D'qacct'){_qacct=3D_qoptions[k];}=0A=
   else{qo+=3D';'+k+'=3D'+_qceuc(_qoptions[k]);}=0A=
   if(k=3D=3D'media'){media=3D_qoptions[k];}=0A=
   if(k=3D=3D'event'){event=3D_qoptions[k];}=0A=
  }=0A=
  _qoptions=3Dnull;=0A=
 }=0A=
 if((typeof _qacct =3D=3D"undefined")||(_qacct.length=3D=3D0))return;=0A=
 if(media=3D=3D'webpage' && event=3D=3D'load'){=0A=
  if((typeof _qpixelsent =
!=3D"undefined")&&(_qpixelsent=3D=3D_qacct))return;=0A=
  _qpixelsent=3D_qacct;}=0A=
 var ce=3D(navigator.cookieEnabled)?"1":"0";=0A=
 if(typeof navigator.javaEnabled =
!=3D'undefined')je=3D(navigator.javaEnabled())?"1":"0";=0A=
 if(typeof _qmeta !=3D"undefined" && =
_qmeta!=3Dnull){qm=3D';m=3D'+_qceuc(_qmeta);_qmeta=3Dnull;}=0A=
 =
if(self.screen){sr=3Dscreen.width+"x"+screen.height+"x"+screen.colorDepth=
;}=0A=
 var d=3Dnew Date();=0A=
 var dst=3D_qcdst();=0A=
 var dc=3D"458daedd-0b6e3-df914-9f2d6";var dg=3D"P4406-W-MS-7";var =
qs=3D"http://pixel.quantserve.com";=0A=
 var fp=3D_qcsc(dc,media);=0A=
 if(window.location && =
window.location.href)url=3D_qceuc(window.location.href);=0A=
 if(window.document && =
window.document.referrer)ref=3D_qceuc(window.document.referrer);=0A=
 if(self=3D=3Dtop)ns=3D'0';=0A=
 _qimg=3Dnew Image();=0A=
 _qimg.alt=3D"";=0A=
 =
_qimg.src=3Dqs+'/pixel'+';r=3D'+r+fp+';ns=3D'+ns+';url=3D'+url+';ref=3D'+=
ref+';ce=3D'+ce+';je=3D'+je+';sr=3D'+sr+';dc=3D'+dc+';dg=3D'+dg+';dst=3D'=
+dst+';et=3D'+d.getTime()+';tzo=3D'+d.getTimezoneOffset()+';a=3D'+_qacct+=
qo+qm;=0A=
 _qimg.onload=3Dfunction() {_qpxload();}=0A=
}=0A=
quantserve();=0A=

------=_NextPart_000_0000_01C9FBD0.7D635140--

