diff --git a/docs/html/google/gcm/c2dm.jd b/docs/html/google/gcm/c2dm.jd
index 381460e..e8a7edb 100644
--- a/docs/html/google/gcm/c2dm.jd
+++ b/docs/html/google/gcm/c2dm.jd
@@ -75,7 +75,7 @@
 <dt><strong>Canonical registration ID</strong></dt>
 <dd>There may be situations where the server ends up with 2 registration IDs for the same device. If the GCM response contains a registration ID, simply replace the registration ID you have with the one provided. With this feature your application doesn't need to send the device ID to your server anymore. For more information, see <a href="adv.html#canonical">Advanced Topics</a>.</dd>
 </dl>
-<p>GCM also provides helper libraries (<a href="{@docRoot}google/gcm/client-javadoc/index.html">client</a> and <a href="{@docRoot}google/gcm/server-javadoc/index.html">server</a>) to make writing your code easier.</p>
+<p>GCM also provides client and server <a href="{@docRoot}reference/com/google/android/gcm/package-summary.html">helper libraries</a> to make writing your code easier.</p>
 
 <h3 id="interop">Relationship between C2DM and GCM</h3>
 
diff --git a/docs/html/google/gcm/client-javadoc/allclasses-frame.html b/docs/html/google/gcm/client-javadoc/allclasses-frame.html
deleted file mode 100644
index e1bed36..0000000
--- a/docs/html/google/gcm/client-javadoc/allclasses-frame.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-All Classes
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm" target="classFrame">GCMBaseIntentService</A>
-<BR>
-<A HREF="com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm" target="classFrame">GCMBroadcastReceiver</A>
-<BR>
-<A HREF="com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm" target="classFrame">GCMConstants</A>
-<BR>
-<A HREF="com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm" target="classFrame">GCMRegistrar</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/allclasses-noframe.html b/docs/html/google/gcm/client-javadoc/allclasses-noframe.html
deleted file mode 100644
index dc34021..0000000
--- a/docs/html/google/gcm/client-javadoc/allclasses-noframe.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-All Classes
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<BR>
-<A HREF="com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm">GCMBroadcastReceiver</A>
-<BR>
-<A HREF="com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<BR>
-<A HREF="com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html
deleted file mode 100644
index ff15218..0000000
--- a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html
+++ /dev/null
@@ -1,497 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-GCMBaseIntentService
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="GCMBaseIntentService";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/GCMBaseIntentService.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="GCMBaseIntentService.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm</FONT>
-<BR>
-Class GCMBaseIntentService</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">IntentService
-      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.GCMBaseIntentService</B>
-</PRE>
-<HR>
-<DL>
-<DT><PRE>public abstract class <B>GCMBaseIntentService</B><DT>extends IntentService</DL>
-</PRE>
-
-<P>
-Skeleton for application-specific <CODE>IntentService</CODE>s responsible for
- handling communication from Google Cloud Messaging service.
- <p>
- The abstract methods in this class are called from its worker thread, and
- hence should run in a limited amount of time. If they execute long
- operations, they should spawn new threads, otherwise the worker thread will
- be blocked.
- <p>
- Subclasses must provide a public no-arg constructor.
-<P>
-
-<P>
-<HR>
-
-<P>
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#TAG">TAG</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected </CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#GCMBaseIntentService()">GCMBaseIntentService</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that does not set a sender id, useful when the sender id
- is context-specific.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected </CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#GCMBaseIntentService(java.lang.String...)">GCMBaseIntentService</A></B>(java.lang.String...&nbsp;senderIds)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor used when the sender id(s) is fixed.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.lang.String[]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#getSenderIds(Context)">getSenderIds</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the sender ids.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#onDeletedMessages(Context, int)">onDeletedMessages</A></B>(Context&nbsp;context,
-                  int&nbsp;total)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when the GCM server tells pending messages have been deleted
- because the device was idle.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#onError(Context, java.lang.String)">onError</A></B>(Context&nbsp;context,
-        java.lang.String&nbsp;errorId)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called on registration or unregistration error.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#onHandleIntent(Intent)">onHandleIntent</A></B>(Intent&nbsp;intent)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#onMessage(Context, Intent)">onMessage</A></B>(Context&nbsp;context,
-          Intent&nbsp;intent)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when a cloud message has been received.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#onRecoverableError(Context, java.lang.String)">onRecoverableError</A></B>(Context&nbsp;context,
-                   java.lang.String&nbsp;errorId)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called on a registration error that could be retried.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#onRegistered(Context, java.lang.String)">onRegistered</A></B>(Context&nbsp;context,
-             java.lang.String&nbsp;registrationId)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called after a device has been registered.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#onUnregistered(Context, java.lang.String)">onUnregistered</A></B>(Context&nbsp;context,
-               java.lang.String&nbsp;registrationId)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called after a device has been unregistered.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="TAG"><!-- --></A><H3>
-TAG</H3>
-<PRE>
-public static final java.lang.String <B>TAG</B></PRE>
-<DL>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMBaseIntentService.TAG">Constant Field Values</A></DL>
-</DL>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="GCMBaseIntentService()"><!-- --></A><H3>
-GCMBaseIntentService</H3>
-<PRE>
-protected <B>GCMBaseIntentService</B>()</PRE>
-<DL>
-<DD>Constructor that does not set a sender id, useful when the sender id
- is context-specific.
- <p>
- When using this constructor, the subclass <strong>must</strong>
- override <A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#getSenderIds(Context)"><CODE>getSenderIds(Context)</CODE></A>, otherwise methods such as
- <A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html#onHandleIntent(Intent)"><CODE>onHandleIntent(Intent)</CODE></A> will throw an
- <CODE>IllegalStateException</CODE> on runtime.
-<P>
-</DL>
-<HR>
-
-<A NAME="GCMBaseIntentService(java.lang.String...)"><!-- --></A><H3>
-GCMBaseIntentService</H3>
-<PRE>
-protected <B>GCMBaseIntentService</B>(java.lang.String...&nbsp;senderIds)</PRE>
-<DL>
-<DD>Constructor used when the sender id(s) is fixed.
-<P>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="getSenderIds(Context)"><!-- --></A><H3>
-getSenderIds</H3>
-<PRE>
-protected java.lang.String[] <B>getSenderIds</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Gets the sender ids.
-
- <p>By default, it returns the sender ids passed in the constructor, but
- it could be overridden to provide a dynamic sender id.
-<P>
-<DD><DL>
-
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.IllegalStateException</CODE> - if sender id was not set on constructor.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="onMessage(Context, Intent)"><!-- --></A><H3>
-onMessage</H3>
-<PRE>
-protected abstract void <B>onMessage</B>(Context&nbsp;context,
-                                  Intent&nbsp;intent)</PRE>
-<DL>
-<DD>Called when a cloud message has been received.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>context</CODE> - application's context.<DD><CODE>intent</CODE> - intent containing the message payload as extras.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="onDeletedMessages(Context, int)"><!-- --></A><H3>
-onDeletedMessages</H3>
-<PRE>
-protected void <B>onDeletedMessages</B>(Context&nbsp;context,
-                                 int&nbsp;total)</PRE>
-<DL>
-<DD>Called when the GCM server tells pending messages have been deleted
- because the device was idle.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>context</CODE> - application's context.<DD><CODE>total</CODE> - total number of collapsed messages</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="onRecoverableError(Context, java.lang.String)"><!-- --></A><H3>
-onRecoverableError</H3>
-<PRE>
-protected boolean <B>onRecoverableError</B>(Context&nbsp;context,
-                                     java.lang.String&nbsp;errorId)</PRE>
-<DL>
-<DD>Called on a registration error that could be retried.
-
- <p>By default, it does nothing and returns true, but could be
- overridden to change that behavior and/or display the error.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>context</CODE> - application's context.<DD><CODE>errorId</CODE> - error id returned by the GCM service.
-<DT><B>Returns:</B><DD>if true, failed operation will be retried (using
-         exponential backoff).</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="onError(Context, java.lang.String)"><!-- --></A><H3>
-onError</H3>
-<PRE>
-protected abstract void <B>onError</B>(Context&nbsp;context,
-                                java.lang.String&nbsp;errorId)</PRE>
-<DL>
-<DD>Called on registration or unregistration error.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>context</CODE> - application's context.<DD><CODE>errorId</CODE> - error id returned by the GCM service.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="onRegistered(Context, java.lang.String)"><!-- --></A><H3>
-onRegistered</H3>
-<PRE>
-protected abstract void <B>onRegistered</B>(Context&nbsp;context,
-                                     java.lang.String&nbsp;registrationId)</PRE>
-<DL>
-<DD>Called after a device has been registered.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>context</CODE> - application's context.<DD><CODE>registrationId</CODE> - the registration id returned by the GCM service.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="onUnregistered(Context, java.lang.String)"><!-- --></A><H3>
-onUnregistered</H3>
-<PRE>
-protected abstract void <B>onUnregistered</B>(Context&nbsp;context,
-                                       java.lang.String&nbsp;registrationId)</PRE>
-<DL>
-<DD>Called after a device has been unregistered.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>registrationId</CODE> - the registration id that was previously registered.<DD><CODE>context</CODE> - application's context.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="onHandleIntent(Intent)"><!-- --></A><H3>
-onHandleIntent</H3>
-<PRE>
-public final void <B>onHandleIntent</B>(Intent&nbsp;intent)</PRE>
-<DL>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/GCMBaseIntentService.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="GCMBaseIntentService.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html
deleted file mode 100644
index ae80bf7..0000000
--- a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html
+++ /dev/null
@@ -1,282 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-GCMBroadcastReceiver
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="GCMBroadcastReceiver";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/GCMBroadcastReceiver.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="GCMBroadcastReceiver.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm</FONT>
-<BR>
-Class GCMBroadcastReceiver</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">BroadcastReceiver
-      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.GCMBroadcastReceiver</B>
-</PRE>
-<HR>
-<DL>
-<DT><PRE>public class <B>GCMBroadcastReceiver</B><DT>extends BroadcastReceiver</DL>
-</PRE>
-
-<P>
-<CODE>BroadcastReceiver</CODE> that receives GCM messages and delivers them to
- an application-specific <A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><CODE>GCMBaseIntentService</CODE></A> subclass.
- <p>
- By default, the <A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><CODE>GCMBaseIntentService</CODE></A> class belongs to the application
- main package and is named
- <A HREF="../../../../com/google/android/gcm/GCMConstants.html#DEFAULT_INTENT_SERVICE_CLASS_NAME"><CODE>GCMConstants.DEFAULT_INTENT_SERVICE_CLASS_NAME</CODE></A>. To use a new class,
- the <A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html#getGCMIntentServiceClassName(Context)"><CODE>getGCMIntentServiceClassName(Context)</CODE></A> must be overridden.
-<P>
-
-<P>
-<HR>
-
-<P>
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html#GCMBroadcastReceiver()">GCMBroadcastReceiver</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html#getGCMIntentServiceClassName(Context)">getGCMIntentServiceClassName</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the class name of the intent service that will handle GCM messages.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html#onReceive(Context, Intent)">onReceive</A></B>(Context&nbsp;context,
-          Intent&nbsp;intent)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="GCMBroadcastReceiver()"><!-- --></A><H3>
-GCMBroadcastReceiver</H3>
-<PRE>
-public <B>GCMBroadcastReceiver</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="onReceive(Context, Intent)"><!-- --></A><H3>
-onReceive</H3>
-<PRE>
-public final void <B>onReceive</B>(Context&nbsp;context,
-                            Intent&nbsp;intent)</PRE>
-<DL>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getGCMIntentServiceClassName(Context)"><!-- --></A><H3>
-getGCMIntentServiceClassName</H3>
-<PRE>
-protected java.lang.String <B>getGCMIntentServiceClassName</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Gets the class name of the intent service that will handle GCM messages.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/GCMBroadcastReceiver.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="GCMBroadcastReceiver.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html
deleted file mode 100644
index 205bcf0..0000000
--- a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html
+++ /dev/null
@@ -1,674 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-GCMConstants
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="GCMConstants";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/GCMConstants.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="GCMConstants.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm</FONT>
-<BR>
-Class GCMConstants</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.GCMConstants</B>
-</PRE>
-<HR>
-<DL>
-<DT><PRE>public final class <B>GCMConstants</B><DT>extends java.lang.Object</DL>
-</PRE>
-
-<P>
-Constants used by the GCM library.
-<P>
-
-<P>
-<HR>
-
-<P>
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#DEFAULT_INTENT_SERVICE_CLASS_NAME">DEFAULT_INTENT_SERVICE_CLASS_NAME</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#ERROR_ACCOUNT_MISSING">ERROR_ACCOUNT_MISSING</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;There is no Google account on the phone.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#ERROR_AUTHENTICATION_FAILED">ERROR_AUTHENTICATION_FAILED</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bad password.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#ERROR_INVALID_PARAMETERS">ERROR_INVALID_PARAMETERS</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The request sent by the phone does not contain the expected parameters.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#ERROR_INVALID_SENDER">ERROR_INVALID_SENDER</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The sender account is not recognized.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#ERROR_PHONE_REGISTRATION_ERROR">ERROR_PHONE_REGISTRATION_ERROR</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Incorrect phone registration with Google.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#ERROR_SERVICE_NOT_AVAILABLE">ERROR_SERVICE_NOT_AVAILABLE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The device can't read the response, or there was a 500/503 from the
- server that can be retried later.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_APPLICATION_PENDING_INTENT">EXTRA_APPLICATION_PENDING_INTENT</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION">"com.google.android.c2dm.intent.REGISTER"</A> to get the
- application info.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_ERROR">EXTRA_ERROR</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- an error when the registration fails.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_FROM">EXTRA_FROM</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">"com.google.android.c2dm.intent.RECEIVE"</A> to indicate which
- sender (Google API project id) sent the message.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_REGISTRATION_ID">EXTRA_REGISTRATION_ID</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- the registration id when the registration succeeds.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_SENDER">EXTRA_SENDER</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION">"com.google.android.c2dm.intent.REGISTER"</A> to indicate which
- senders (Google API project ids) can send messages to the application.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_SPECIAL_MESSAGE">EXTRA_SPECIAL_MESSAGE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type of message present in the <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">"com.google.android.c2dm.intent.RECEIVE"</A> intent.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_TOTAL_DELETED">EXTRA_TOTAL_DELETED</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of messages deleted by the server because the device was idle.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_UNREGISTERED">EXTRA_UNREGISTERED</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- that the application has been unregistered.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_LIBRARY_RETRY">INTENT_FROM_GCM_LIBRARY_RETRY</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Intent used by the GCM library to indicate that the registration call
- should be retried.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">INTENT_FROM_GCM_MESSAGE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Intent sent by GCM containing a message.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">INTENT_FROM_GCM_REGISTRATION_CALLBACK</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Intent sent by GCM indicating with the result of a registration request.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION">INTENT_TO_GCM_REGISTRATION</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Intent sent to GCM to register the application.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_UNREGISTRATION">INTENT_TO_GCM_UNREGISTRATION</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Intent sent to GCM to unregister the application.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#PERMISSION_GCM_INTENTS">PERMISSION_GCM_INTENTS</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Permission necessary to receive GCM intents.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html#VALUE_DELETED_MESSAGES">VALUE_DELETED_MESSAGES</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Special message indicating the server deleted the pending messages.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="INTENT_TO_GCM_REGISTRATION"><!-- --></A><H3>
-INTENT_TO_GCM_REGISTRATION</H3>
-<PRE>
-public static final java.lang.String <B>INTENT_TO_GCM_REGISTRATION</B></PRE>
-<DL>
-<DD>Intent sent to GCM to register the application.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.INTENT_TO_GCM_REGISTRATION">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="INTENT_TO_GCM_UNREGISTRATION"><!-- --></A><H3>
-INTENT_TO_GCM_UNREGISTRATION</H3>
-<PRE>
-public static final java.lang.String <B>INTENT_TO_GCM_UNREGISTRATION</B></PRE>
-<DL>
-<DD>Intent sent to GCM to unregister the application.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.INTENT_TO_GCM_UNREGISTRATION">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="INTENT_FROM_GCM_REGISTRATION_CALLBACK"><!-- --></A><H3>
-INTENT_FROM_GCM_REGISTRATION_CALLBACK</H3>
-<PRE>
-public static final java.lang.String <B>INTENT_FROM_GCM_REGISTRATION_CALLBACK</B></PRE>
-<DL>
-<DD>Intent sent by GCM indicating with the result of a registration request.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.INTENT_FROM_GCM_REGISTRATION_CALLBACK">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="INTENT_FROM_GCM_LIBRARY_RETRY"><!-- --></A><H3>
-INTENT_FROM_GCM_LIBRARY_RETRY</H3>
-<PRE>
-public static final java.lang.String <B>INTENT_FROM_GCM_LIBRARY_RETRY</B></PRE>
-<DL>
-<DD>Intent used by the GCM library to indicate that the registration call
- should be retried.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.INTENT_FROM_GCM_LIBRARY_RETRY">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="INTENT_FROM_GCM_MESSAGE"><!-- --></A><H3>
-INTENT_FROM_GCM_MESSAGE</H3>
-<PRE>
-public static final java.lang.String <B>INTENT_FROM_GCM_MESSAGE</B></PRE>
-<DL>
-<DD>Intent sent by GCM containing a message.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.INTENT_FROM_GCM_MESSAGE">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="EXTRA_SENDER"><!-- --></A><H3>
-EXTRA_SENDER</H3>
-<PRE>
-public static final java.lang.String <B>EXTRA_SENDER</B></PRE>
-<DL>
-<DD>Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION">"com.google.android.c2dm.intent.REGISTER"</A> to indicate which
- senders (Google API project ids) can send messages to the application.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.EXTRA_SENDER">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="EXTRA_APPLICATION_PENDING_INTENT"><!-- --></A><H3>
-EXTRA_APPLICATION_PENDING_INTENT</H3>
-<PRE>
-public static final java.lang.String <B>EXTRA_APPLICATION_PENDING_INTENT</B></PRE>
-<DL>
-<DD>Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION">"com.google.android.c2dm.intent.REGISTER"</A> to get the
- application info.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.EXTRA_APPLICATION_PENDING_INTENT">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="EXTRA_UNREGISTERED"><!-- --></A><H3>
-EXTRA_UNREGISTERED</H3>
-<PRE>
-public static final java.lang.String <B>EXTRA_UNREGISTERED</B></PRE>
-<DL>
-<DD>Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- that the application has been unregistered.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.EXTRA_UNREGISTERED">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="EXTRA_ERROR"><!-- --></A><H3>
-EXTRA_ERROR</H3>
-<PRE>
-public static final java.lang.String <B>EXTRA_ERROR</B></PRE>
-<DL>
-<DD>Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- an error when the registration fails. See constants starting with ERROR_
- for possible values.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.EXTRA_ERROR">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="EXTRA_REGISTRATION_ID"><!-- --></A><H3>
-EXTRA_REGISTRATION_ID</H3>
-<PRE>
-public static final java.lang.String <B>EXTRA_REGISTRATION_ID</B></PRE>
-<DL>
-<DD>Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- the registration id when the registration succeeds.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.EXTRA_REGISTRATION_ID">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="EXTRA_SPECIAL_MESSAGE"><!-- --></A><H3>
-EXTRA_SPECIAL_MESSAGE</H3>
-<PRE>
-public static final java.lang.String <B>EXTRA_SPECIAL_MESSAGE</B></PRE>
-<DL>
-<DD>Type of message present in the <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">"com.google.android.c2dm.intent.RECEIVE"</A> intent.
- This extra is only set for special messages sent from GCM, not for
- messages originated from the application.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.EXTRA_SPECIAL_MESSAGE">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="VALUE_DELETED_MESSAGES"><!-- --></A><H3>
-VALUE_DELETED_MESSAGES</H3>
-<PRE>
-public static final java.lang.String <B>VALUE_DELETED_MESSAGES</B></PRE>
-<DL>
-<DD>Special message indicating the server deleted the pending messages.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.VALUE_DELETED_MESSAGES">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="EXTRA_TOTAL_DELETED"><!-- --></A><H3>
-EXTRA_TOTAL_DELETED</H3>
-<PRE>
-public static final java.lang.String <B>EXTRA_TOTAL_DELETED</B></PRE>
-<DL>
-<DD>Number of messages deleted by the server because the device was idle.
- Present only on messages of special type
- <A HREF="../../../../com/google/android/gcm/GCMConstants.html#VALUE_DELETED_MESSAGES">"deleted_messages"</A>
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.EXTRA_TOTAL_DELETED">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="EXTRA_FROM"><!-- --></A><H3>
-EXTRA_FROM</H3>
-<PRE>
-public static final java.lang.String <B>EXTRA_FROM</B></PRE>
-<DL>
-<DD>Extra used on <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">"com.google.android.c2dm.intent.RECEIVE"</A> to indicate which
- sender (Google API project id) sent the message.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.EXTRA_FROM">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="PERMISSION_GCM_INTENTS"><!-- --></A><H3>
-PERMISSION_GCM_INTENTS</H3>
-<PRE>
-public static final java.lang.String <B>PERMISSION_GCM_INTENTS</B></PRE>
-<DL>
-<DD>Permission necessary to receive GCM intents.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.PERMISSION_GCM_INTENTS">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="DEFAULT_INTENT_SERVICE_CLASS_NAME"><!-- --></A><H3>
-DEFAULT_INTENT_SERVICE_CLASS_NAME</H3>
-<PRE>
-public static final java.lang.String <B>DEFAULT_INTENT_SERVICE_CLASS_NAME</B></PRE>
-<DL>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm"><CODE>GCMBroadcastReceiver</CODE></A>, 
-<A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.DEFAULT_INTENT_SERVICE_CLASS_NAME">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_SERVICE_NOT_AVAILABLE"><!-- --></A><H3>
-ERROR_SERVICE_NOT_AVAILABLE</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_SERVICE_NOT_AVAILABLE</B></PRE>
-<DL>
-<DD>The device can't read the response, or there was a 500/503 from the
- server that can be retried later. The application should use exponential
- back off and retry.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.ERROR_SERVICE_NOT_AVAILABLE">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_ACCOUNT_MISSING"><!-- --></A><H3>
-ERROR_ACCOUNT_MISSING</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_ACCOUNT_MISSING</B></PRE>
-<DL>
-<DD>There is no Google account on the phone. The application should ask the
- user to open the account manager and add a Google account.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.ERROR_ACCOUNT_MISSING">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_AUTHENTICATION_FAILED"><!-- --></A><H3>
-ERROR_AUTHENTICATION_FAILED</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_AUTHENTICATION_FAILED</B></PRE>
-<DL>
-<DD>Bad password. The application should ask the user to enter his/her
- password, and let user retry manually later. Fix on the device side.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.ERROR_AUTHENTICATION_FAILED">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_INVALID_PARAMETERS"><!-- --></A><H3>
-ERROR_INVALID_PARAMETERS</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_INVALID_PARAMETERS</B></PRE>
-<DL>
-<DD>The request sent by the phone does not contain the expected parameters.
- This phone doesn't currently support GCM.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.ERROR_INVALID_PARAMETERS">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_INVALID_SENDER"><!-- --></A><H3>
-ERROR_INVALID_SENDER</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_INVALID_SENDER</B></PRE>
-<DL>
-<DD>The sender account is not recognized. Fix on the device side.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.ERROR_INVALID_SENDER">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_PHONE_REGISTRATION_ERROR"><!-- --></A><H3>
-ERROR_PHONE_REGISTRATION_ERROR</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_PHONE_REGISTRATION_ERROR</B></PRE>
-<DL>
-<DD>Incorrect phone registration with Google. This phone doesn't currently
- support GCM.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMConstants.ERROR_PHONE_REGISTRATION_ERROR">Constant Field Values</A></DL>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/GCMConstants.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="GCMConstants.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html
deleted file mode 100644
index c29bf90..0000000
--- a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html
+++ /dev/null
@@ -1,543 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-GCMRegistrar
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="GCMRegistrar";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/GCMRegistrar.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="GCMRegistrar.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm</FONT>
-<BR>
-Class GCMRegistrar</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.GCMRegistrar</B>
-</PRE>
-<HR>
-<DL>
-<DT><PRE>public final class <B>GCMRegistrar</B><DT>extends java.lang.Object</DL>
-</PRE>
-
-<P>
-Utilities for device registration.
- <p>
- <strong>Note:</strong> this class uses a private <CODE>SharedPreferences</CODE>
- object to keep track of the registration token.
-<P>
-
-<P>
-<HR>
-
-<P>
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;long</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#DEFAULT_ON_SERVER_LIFESPAN_MS">DEFAULT_ON_SERVER_LIFESPAN_MS</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default lifespan (7 days) of the <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#isRegisteredOnServer(Context)"><CODE>isRegisteredOnServer(Context)</CODE></A>
- flag until it is considered expired.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#checkDevice(Context)">checkDevice</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks if the device has the proper dependencies installed.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#checkManifest(Context)">checkManifest</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks that the application manifest is properly configured.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;long</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#getRegisterOnServerLifespan(Context)">getRegisterOnServerLifespan</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets how long (in milliseconds) the <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#isRegistered(Context)"><CODE>isRegistered(Context)</CODE></A>
- property is valid.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#getRegistrationId(Context)">getRegistrationId</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the current registration id for application on GCM service.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#isRegistered(Context)">isRegistered</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether the application was successfully registered on GCM
- service.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#isRegisteredOnServer(Context)">isRegisteredOnServer</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether the device was successfully registered in the server side,
- as set by <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(Context, boolean)"><CODE>setRegisteredOnServer(Context, boolean)</CODE></A>.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#onDestroy(Context)">onDestroy</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear internal resources.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#register(Context, java.lang.String...)">register</A></B>(Context&nbsp;context,
-         java.lang.String...&nbsp;senderIds)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initiate messaging registration for the current application.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(Context, boolean)">setRegisteredOnServer</A></B>(Context&nbsp;context,
-                      boolean&nbsp;flag)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether the device was successfully registered in the server side.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#setRegisterOnServerLifespan(Context, long)">setRegisterOnServerLifespan</A></B>(Context&nbsp;context,
-                            long&nbsp;lifespan)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets how long (in milliseconds) the <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#isRegistered(Context)"><CODE>isRegistered(Context)</CODE></A>
- flag is valid.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#unregister(Context)">unregister</A></B>(Context&nbsp;context)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unregister the application.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="DEFAULT_ON_SERVER_LIFESPAN_MS"><!-- --></A><H3>
-DEFAULT_ON_SERVER_LIFESPAN_MS</H3>
-<PRE>
-public static final long <B>DEFAULT_ON_SERVER_LIFESPAN_MS</B></PRE>
-<DL>
-<DD>Default lifespan (7 days) of the <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#isRegisteredOnServer(Context)"><CODE>isRegisteredOnServer(Context)</CODE></A>
- flag until it is considered expired.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#com.google.android.gcm.GCMRegistrar.DEFAULT_ON_SERVER_LIFESPAN_MS">Constant Field Values</A></DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="checkDevice(Context)"><!-- --></A><H3>
-checkDevice</H3>
-<PRE>
-public static void <B>checkDevice</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Checks if the device has the proper dependencies installed.
- <p>
- This method should be called when the application starts to verify that
- the device supports GCM.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>context</CODE> - application context.
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.UnsupportedOperationException</CODE> - if the device does not support GCM.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="checkManifest(Context)"><!-- --></A><H3>
-checkManifest</H3>
-<PRE>
-public static void <B>checkManifest</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Checks that the application manifest is properly configured.
- <p>
- A proper configuration means:
- <ol>
-    <li>It creates a custom permission called
-      <code>PACKAGE_NAME.permission.C2D_MESSAGE</code>.
-    <li>It defines at least one <CODE>BroadcastReceiver</CODE> with category
-      <code>PACKAGE_NAME</code>.
-    <li>The <CODE>BroadcastReceiver</CODE>(s) uses the
-      <A HREF="../../../../com/google/android/gcm/GCMConstants.html#PERMISSION_GCM_INTENTS">"com.google.android.c2dm.permission.SEND"</A>
-      permission.
-    <li>The <CODE>BroadcastReceiver</CODE>(s) handles the 2 GCM intents
-      (<A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">"com.google.android.c2dm.intent.RECEIVE"</A>
-      and
-      <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A>).
- </ol>
- ...where <code>PACKAGE_NAME</code> is the application package.
- <p>
- This method should be used during development time to verify that the
- manifest is properly set up, but it doesn't need to be called once the
- application is deployed to the users' devices.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>context</CODE> - application context.
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.IllegalStateException</CODE> - if any of the conditions above is not met.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="register(Context, java.lang.String...)"><!-- --></A><H3>
-register</H3>
-<PRE>
-public static void <B>register</B>(Context&nbsp;context,
-                            java.lang.String...&nbsp;senderIds)</PRE>
-<DL>
-<DD>Initiate messaging registration for the current application.
- <p>
- The result will be returned as an
- <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK"><CODE>GCMConstants.INTENT_FROM_GCM_REGISTRATION_CALLBACK</CODE></A> intent with
- either a <A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_REGISTRATION_ID"><CODE>GCMConstants.EXTRA_REGISTRATION_ID</CODE></A> or
- <A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_ERROR"><CODE>GCMConstants.EXTRA_ERROR</CODE></A>.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>context</CODE> - application context.<DD><CODE>senderIds</CODE> - Google Project ID of the accounts authorized to send
-    messages to this application.
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.IllegalStateException</CODE> - if device does not have all GCM
-             dependencies installed.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="unregister(Context)"><!-- --></A><H3>
-unregister</H3>
-<PRE>
-public static void <B>unregister</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Unregister the application.
- <p>
- The result will be returned as an
- <A HREF="../../../../com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK"><CODE>GCMConstants.INTENT_FROM_GCM_REGISTRATION_CALLBACK</CODE></A> intent with an
- <A HREF="../../../../com/google/android/gcm/GCMConstants.html#EXTRA_UNREGISTERED"><CODE>GCMConstants.EXTRA_UNREGISTERED</CODE></A> extra.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="onDestroy(Context)"><!-- --></A><H3>
-onDestroy</H3>
-<PRE>
-public static void <B>onDestroy</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Clear internal resources.
-
- <p>
- This method should be called by the main activity's <code>onDestroy()</code>
- method.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getRegistrationId(Context)"><!-- --></A><H3>
-getRegistrationId</H3>
-<PRE>
-public static java.lang.String <B>getRegistrationId</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Gets the current registration id for application on GCM service.
- <p>
- If result is empty, the registration has failed.
-<P>
-<DD><DL>
-
-<DT><B>Returns:</B><DD>registration id, or empty string if the registration is not
-         complete.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="isRegistered(Context)"><!-- --></A><H3>
-isRegistered</H3>
-<PRE>
-public static boolean <B>isRegistered</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Checks whether the application was successfully registered on GCM
- service.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setRegisteredOnServer(Context, boolean)"><!-- --></A><H3>
-setRegisteredOnServer</H3>
-<PRE>
-public static void <B>setRegisteredOnServer</B>(Context&nbsp;context,
-                                         boolean&nbsp;flag)</PRE>
-<DL>
-<DD>Sets whether the device was successfully registered in the server side.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="isRegisteredOnServer(Context)"><!-- --></A><H3>
-isRegisteredOnServer</H3>
-<PRE>
-public static boolean <B>isRegisteredOnServer</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Checks whether the device was successfully registered in the server side,
- as set by <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(Context, boolean)"><CODE>setRegisteredOnServer(Context, boolean)</CODE></A>.
-
- <p>To avoid the scenario where the device sends the registration to the
- server but the server loses it, this flag has an expiration date, which
- is <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#DEFAULT_ON_SERVER_LIFESPAN_MS"><CODE>DEFAULT_ON_SERVER_LIFESPAN_MS</CODE></A> by default (but can be changed
- by <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#setRegisterOnServerLifespan(Context, long)"><CODE>setRegisterOnServerLifespan(Context, long)</CODE></A>).
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getRegisterOnServerLifespan(Context)"><!-- --></A><H3>
-getRegisterOnServerLifespan</H3>
-<PRE>
-public static long <B>getRegisterOnServerLifespan</B>(Context&nbsp;context)</PRE>
-<DL>
-<DD>Gets how long (in milliseconds) the <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#isRegistered(Context)"><CODE>isRegistered(Context)</CODE></A>
- property is valid.
-<P>
-<DD><DL>
-
-<DT><B>Returns:</B><DD>value set by <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(Context, boolean)"><CODE>setRegisteredOnServer(Context, boolean)</CODE></A> or
-      <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#DEFAULT_ON_SERVER_LIFESPAN_MS"><CODE>DEFAULT_ON_SERVER_LIFESPAN_MS</CODE></A> if not set.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setRegisterOnServerLifespan(Context, long)"><!-- --></A><H3>
-setRegisterOnServerLifespan</H3>
-<PRE>
-public static void <B>setRegisterOnServerLifespan</B>(Context&nbsp;context,
-                                               long&nbsp;lifespan)</PRE>
-<DL>
-<DD>Sets how long (in milliseconds) the <A HREF="../../../../com/google/android/gcm/GCMRegistrar.html#isRegistered(Context)"><CODE>isRegistered(Context)</CODE></A>
- flag is valid.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/GCMRegistrar.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="GCMRegistrar.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html
deleted file mode 100644
index a2a599d..0000000
--- a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-com.google.android.gcm
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../default.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameTitleFont">
-<A HREF="../../../../com/google/android/gcm/package-summary.html" target="classFrame">com.google.android.gcm</A></FONT>
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
-Classes</FONT>&nbsp;
-<FONT CLASS="FrameItemFont">
-<BR>
-<A HREF="GCMBaseIntentService.html" title="class in com.google.android.gcm" target="classFrame">GCMBaseIntentService</A>
-<BR>
-<A HREF="GCMBroadcastReceiver.html" title="class in com.google.android.gcm" target="classFrame">GCMBroadcastReceiver</A>
-<BR>
-<A HREF="GCMConstants.html" title="class in com.google.android.gcm" target="classFrame">GCMConstants</A>
-<BR>
-<A HREF="GCMRegistrar.html" title="class in com.google.android.gcm" target="classFrame">GCMRegistrar</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html
deleted file mode 100644
index c8e0341..0000000
--- a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-com.google.android.gcm
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="com.google.android.gcm";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV PACKAGE&nbsp;
-&nbsp;NEXT PACKAGE</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<H2>
-Package com.google.android.gcm
-</H2>
-
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Class Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A></B></TD>
-<TD>Skeleton for application-specific <CODE>IntentService</CODE>s responsible for
- handling communication from Google Cloud Messaging service.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm">GCMBroadcastReceiver</A></B></TD>
-<TD><CODE>BroadcastReceiver</CODE> that receives GCM messages and delivers them to
- an application-specific <A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><CODE>GCMBaseIntentService</CODE></A> subclass.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A></B></TD>
-<TD>Constants used by the GCM library.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A></B></TD>
-<TD>Utilities for device registration.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-<DL>
-</DL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV PACKAGE&nbsp;
-&nbsp;NEXT PACKAGE</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html
deleted file mode 100644
index 0e27efe..0000000
--- a/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-com.google.android.gcm Class Hierarchy
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="com.google.android.gcm Class Hierarchy";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For Package com.google.android.gcm
-</H2>
-</CENTER>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">java.lang.Object<UL>
-<LI TYPE="circle">BroadcastReceiver<UL>
-<LI TYPE="circle">com.google.android.gcm.<A HREF="../../../../com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm"><B>GCMBroadcastReceiver</B></A></UL>
-<LI TYPE="circle">com.google.android.gcm.<A HREF="../../../../com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm"><B>GCMConstants</B></A><LI TYPE="circle">com.google.android.gcm.<A HREF="../../../../com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm"><B>GCMRegistrar</B></A><LI TYPE="circle">IntentService<UL>
-<LI TYPE="circle">com.google.android.gcm.<A HREF="../../../../com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><B>GCMBaseIntentService</B></A></UL>
-</UL>
-</UL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../index.html?com/google/android/gcm/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/constant-values.html b/docs/html/google/gcm/client-javadoc/constant-values.html
deleted file mode 100644
index 796d196..0000000
--- a/docs/html/google/gcm/client-javadoc/constant-values.html
+++ /dev/null
@@ -1,332 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-Constant Field Values
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Constant Field Values";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H1>
-Constant Field Values</H1>
-</CENTER>
-<HR SIZE="4" NOSHADE>
-<B>Contents</B><UL>
-<LI><A HREF="#com.google">com.google.*</A>
-</UL>
-
-<A NAME="com.google"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left"><FONT SIZE="+2">
-com.google.*</FONT></TH>
-</TR>
-</TABLE>
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="3">com.google.android.gcm.<A HREF="com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMBaseIntentService.TAG"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMBaseIntentService.html#TAG">TAG</A></CODE></TD>
-<TD ALIGN="right"><CODE>"GCMBaseIntentService"</CODE></TD>
-</TR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="3">com.google.android.gcm.<A HREF="com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.DEFAULT_INTENT_SERVICE_CLASS_NAME"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#DEFAULT_INTENT_SERVICE_CLASS_NAME">DEFAULT_INTENT_SERVICE_CLASS_NAME</A></CODE></TD>
-<TD ALIGN="right"><CODE>".GCMIntentService"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.ERROR_ACCOUNT_MISSING"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#ERROR_ACCOUNT_MISSING">ERROR_ACCOUNT_MISSING</A></CODE></TD>
-<TD ALIGN="right"><CODE>"ACCOUNT_MISSING"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.ERROR_AUTHENTICATION_FAILED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#ERROR_AUTHENTICATION_FAILED">ERROR_AUTHENTICATION_FAILED</A></CODE></TD>
-<TD ALIGN="right"><CODE>"AUTHENTICATION_FAILED"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.ERROR_INVALID_PARAMETERS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#ERROR_INVALID_PARAMETERS">ERROR_INVALID_PARAMETERS</A></CODE></TD>
-<TD ALIGN="right"><CODE>"INVALID_PARAMETERS"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.ERROR_INVALID_SENDER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#ERROR_INVALID_SENDER">ERROR_INVALID_SENDER</A></CODE></TD>
-<TD ALIGN="right"><CODE>"INVALID_SENDER"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.ERROR_PHONE_REGISTRATION_ERROR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#ERROR_PHONE_REGISTRATION_ERROR">ERROR_PHONE_REGISTRATION_ERROR</A></CODE></TD>
-<TD ALIGN="right"><CODE>"PHONE_REGISTRATION_ERROR"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.ERROR_SERVICE_NOT_AVAILABLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#ERROR_SERVICE_NOT_AVAILABLE">ERROR_SERVICE_NOT_AVAILABLE</A></CODE></TD>
-<TD ALIGN="right"><CODE>"SERVICE_NOT_AVAILABLE"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.EXTRA_APPLICATION_PENDING_INTENT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#EXTRA_APPLICATION_PENDING_INTENT">EXTRA_APPLICATION_PENDING_INTENT</A></CODE></TD>
-<TD ALIGN="right"><CODE>"app"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.EXTRA_ERROR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#EXTRA_ERROR">EXTRA_ERROR</A></CODE></TD>
-<TD ALIGN="right"><CODE>"error"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.EXTRA_FROM"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#EXTRA_FROM">EXTRA_FROM</A></CODE></TD>
-<TD ALIGN="right"><CODE>"from"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.EXTRA_REGISTRATION_ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#EXTRA_REGISTRATION_ID">EXTRA_REGISTRATION_ID</A></CODE></TD>
-<TD ALIGN="right"><CODE>"registration_id"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.EXTRA_SENDER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#EXTRA_SENDER">EXTRA_SENDER</A></CODE></TD>
-<TD ALIGN="right"><CODE>"sender"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.EXTRA_SPECIAL_MESSAGE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#EXTRA_SPECIAL_MESSAGE">EXTRA_SPECIAL_MESSAGE</A></CODE></TD>
-<TD ALIGN="right"><CODE>"message_type"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.EXTRA_TOTAL_DELETED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#EXTRA_TOTAL_DELETED">EXTRA_TOTAL_DELETED</A></CODE></TD>
-<TD ALIGN="right"><CODE>"total_deleted"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.EXTRA_UNREGISTERED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#EXTRA_UNREGISTERED">EXTRA_UNREGISTERED</A></CODE></TD>
-<TD ALIGN="right"><CODE>"unregistered"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.INTENT_FROM_GCM_LIBRARY_RETRY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_LIBRARY_RETRY">INTENT_FROM_GCM_LIBRARY_RETRY</A></CODE></TD>
-<TD ALIGN="right"><CODE>"com.google.android.gcm.intent.RETRY"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.INTENT_FROM_GCM_MESSAGE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">INTENT_FROM_GCM_MESSAGE</A></CODE></TD>
-<TD ALIGN="right"><CODE>"com.google.android.c2dm.intent.RECEIVE"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.INTENT_FROM_GCM_REGISTRATION_CALLBACK"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">INTENT_FROM_GCM_REGISTRATION_CALLBACK</A></CODE></TD>
-<TD ALIGN="right"><CODE>"com.google.android.c2dm.intent.REGISTRATION"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.INTENT_TO_GCM_REGISTRATION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION">INTENT_TO_GCM_REGISTRATION</A></CODE></TD>
-<TD ALIGN="right"><CODE>"com.google.android.c2dm.intent.REGISTER"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.INTENT_TO_GCM_UNREGISTRATION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_UNREGISTRATION">INTENT_TO_GCM_UNREGISTRATION</A></CODE></TD>
-<TD ALIGN="right"><CODE>"com.google.android.c2dm.intent.UNREGISTER"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.PERMISSION_GCM_INTENTS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#PERMISSION_GCM_INTENTS">PERMISSION_GCM_INTENTS</A></CODE></TD>
-<TD ALIGN="right"><CODE>"com.google.android.c2dm.permission.SEND"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMConstants.VALUE_DELETED_MESSAGES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMConstants.html#VALUE_DELETED_MESSAGES">VALUE_DELETED_MESSAGES</A></CODE></TD>
-<TD ALIGN="right"><CODE>"deleted_messages"</CODE></TD>
-</TR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="3">com.google.android.gcm.<A HREF="com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.GCMRegistrar.DEFAULT_ON_SERVER_LIFESPAN_MS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;long</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/GCMRegistrar.html#DEFAULT_ON_SERVER_LIFESPAN_MS">DEFAULT_ON_SERVER_LIFESPAN_MS</A></CODE></TD>
-<TD ALIGN="right"><CODE>604800000L</CODE></TD>
-</TR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-
-<P>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/default.css b/docs/html/google/gcm/client-javadoc/default.css
deleted file mode 100644
index f11daf7..0000000
--- a/docs/html/google/gcm/client-javadoc/default.css
+++ /dev/null
@@ -1,4160 +0,0 @@
-/* color definitions */
-/* 16 column layout */
-/* clearfix idiom */
-/* common mixins */
-/* page layout + top-level styles */
-::-webkit-selection,
-::-moz-selection,
-::selection {
-  background-color: #0099cc;
-  color: #fff; }
-
-html, body {
-  height: 100%;
-  margin: 0;
-  padding: 0;
-  background-color:#F9F9F9;
-  -webkit-font-smoothing: antialiased;
-  /* prevent subpixel antialiasing, which thickens the text */
-  /* text-rendering: optimizeLegibility; */
-  /* turned off ligatures due to bug 5945455 */ }
-
-body {
-  color: #222;
-  font: 14px/19px Roboto, sans-serif;
-  font-weight: 400;
-  letter-spacing:.1;
-  padding:0 10px; }
-
-#page-container {
-  width: 940px;
-  margin: 0 40px; }
-
-#page-header {
-  height: 80px;
-  margin-bottom: 20px;
-  font-size: 48px;
-  line-height: 48px;
-  font-weight: 100;
-  padding-left: 10px; }
-  #page-header a {
-    display: block;
-    position: relative;
-    top: 20px;
-    text-decoration: none;
-    color: #555555 !important; }
-
-#main-row {
-  display: inline-block; }
-  #main-row:after {
-    content: ".";
-    display: block;
-    height: 0;
-    clear: both;
-    visibility: hidden; }
-  * html #main-row {
-    height: 1px; }
-
-#page-footer {
-  margin-left: 190px;
-  margin-top: 80px;
-  color: #999999;
-  padding-bottom: 40px;
-  font-size: 12px;
-  line-height: 15px; }
-  #page-footer a {
-    color: #777777; }
-  #page-footer #copyright {
-    margin-bottom: 10px; }
-
-#nav-container {
-  width: 160px;
-  min-height: 10px;
-  margin-right: 20px;
-  float: left; }
-
-#nav {
-  margin:0;
-  padding:0 0 30px;
-}
-
-#side-nav {
-  min-height:5px; /* silly way to avoid doc floating left when nav goes fixed */
-  margin-bottom:1px;
-}
-#devdoc-nav {
-  outline:none;
-  width:auto;
-  margin: 20px 0 0; }
-  
-#devdoc-nav h2 {
-  border:0;
-}
-
-#devdoc-nav.fixed {
-  position: fixed;
-  margin:0;
-  top: 20px; }
-
-#content {
-  width: 760px;
-  float: left; }
-
-a:hover,
-acronym:hover {
-  color: #7aa1b0 !important; }
-
-a:focus,
-a:active {
-  color: #33b5e5 !important; }
-
-img {
-  border: none; }
-#jd-content img {
-  margin-bottom:15px;
-}
-
-ul {
-  margin: 0;
-  padding: 0; }
-
-strong {
-  font-weight: 500; }
-
-em {
-  font-style: italic; }
-
-acronym {
-  border-bottom: 1px dotted #555555;
-  cursor: help; }
-
-acronym:hover {
-  border-bottom-color: #7aa1b0; }
-
-img.with-shadow,
-video.with-shadow {
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); }
-
-/* disclosures mixin */
-/* content layout */
-.layout-content-row {
-  display: inline-block;
-  margin-bottom: 10px; }
-  .layout-content-row:after {
-    content: ".";
-    display: block;
-    height: 0;
-    clear: both;
-    visibility: hidden; }
-  * html .layout-content-row {
-    height: 1px; }
-
-.layout-content-col {
-  float: left;
-  margin-left: 20px; }
-  .layout-content-col:first-child {
-    margin-left: 0; }
-  .layout-content-col h3,
-  .layout-content-col h4 {
-    margin-top:0; }
-
-.layout-content-col.span-1 {
-  width: 40px; }
-
-.layout-content-col.span-2 {
-  width: 100px; }
-
-.layout-content-col.span-3 {
-  width: 160px; }
-
-.layout-content-col.span-4 {
-  width: 220px; }
-
-.layout-content-col.span-5 {
-  width: 280px; }
-
-.layout-content-col.span-6 {
-  width: 340px; }
-
-.layout-content-col.span-7 {
-  width: 400px; }
-
-.layout-content-col.span-8 {
-  width: 460px; }
-
-.layout-content-col.span-9 {
-  width: 520px; }
-
-.layout-content-col.span-10 {
-  width: 580px; }
-
-.layout-content-col.span-11 {
-  width: 640px; }
-
-.layout-content-col.span-12 {
-  width: 700px; }
-
-.layout-content-col.span-13 {
-  width: 760px; }
-
-.vspace.size-1 {
-  height: 10px; }
-
-.vspace.size-2 {
-  height: 20px; }
-
-.vspace.size-3 {
-  height: 30px; }
-
-.vspace.size-4 {
-  height: 40px; }
-
-.vspace.size-5 {
-  height: 50px; }
-
-.vspace.size-6 {
-  height: 60px; }
-
-.vspace.size-7 {
-  height: 70px; }
-
-.vspace.size-8 {
-  height: 80px; }
-
-.vspace.size-9 {
-  height: 90px; }
-
-.vspace.size-10 {
-  height: 100px; }
-
-.vspace.size-11 {
-  height: 110px; }
-
-.vspace.size-12 {
-  height: 120px; }
-
-.vspace.size-13 {
-  height: 130px; }
-
-.vspace.size-14 {
-  height: 140px; }
-
-.vspace.size-15 {
-  height: 150px; }
-
-.vspace.size-16 {
-  height: 160px; }
-
-/* nav */
-#nav {
-  /* section header divs */
-  /* expanded section header divs */
-  /* sublinks */ }
-  #nav li {
-    list-style-type: none;
-    font-size: 14px;
-    margin:0;
-    padding:0;
-    line-height: 15px; }
-  #nav a {
-    color: #555555;
-    text-decoration: none; }
-  #nav .nav-section-header {
-    position: relative;
-    margin-bottom: 1px;
-    padding: 0 30px 0 0; }
-  #nav li.selected a, #nav li.selected > .nav-section-header > a {
-    color: #09C;
-  }
-  #nav li.selected ul li a {
-  /* don't highlight child items */
-    color: #555555; }
-  #nav .nav-section .nav-section .nav-section-header {
-    /* no white line between second level sections */
-    margin-bottom: 0; }
-    /* section header links */
-    #nav > li > div > a {
-      display: block;
-      color: #333333;
-      font-weight: 500;
-      padding: 10px 0 10px 10px; }
-    #nav .nav-section-header:after {
-      content: '';
-      background: transparent url(../images/styles/disclosure_down.png) no-repeat scroll 50% 50%;
-      width: 34px;
-      height: 34px;
-      display: block;
-      position: absolute;
-      top: 0;
-      right: 0; }
-    #nav .nav-section-header.empty:after {
-      display: none; }
-    /* nested nav headers */
-    #nav .nav-section .nav-section {
-      position: relative;
-      padding: 0;
-      margin: 0; }
-    #nav .nav-section li a {
-    /* first gen child (2nd level li) */
-      display:block;
-      font-weight: normal;
-      text-transform: none;
-      padding: 7px 5px 7px 10px;
-       }
-    #nav .nav-section li li a {
-    /* second gen child (3rd level li) */
-      padding: 5px 5px 5px 10px;
-       }
-  #nav li.expanded .nav-section-header {
-    background:#e9e9e9;
-    background: rgba(0, 0, 0, 0.05); }
-  #nav li.expanded li .nav-section-header {
-    background: transparent; }
-  #nav li.expanded li ul {
-  /* 3rd level ul */
-    padding:0 10px;
-  }
-    #nav li.expanded > .nav-section-header:after {
-      content: '';
-      background: transparent url(../images/styles/disclosure_up.png) no-repeat scroll 50% 50%;
-      width: 34px;
-      height: 34px; }
-  #nav li ul {
-    display:none;
-    overflow: hidden;
-    margin: 0; }
-    #nav li ul.animate-height-in {
-      -webkit-transition: height 0.25s ease-in;
-      -moz-transition: height 0.25s ease-in;
-      transition: height 0.25s ease-in; }
-    #nav li ul.animate-height-out {
-      -webkit-transition: height 0.25s ease-out;
-      -moz-transition: height 0.25s ease-out;
-      transition: height 0.25s ease-out; }
-    #nav li ul li {
-      padding: 0; }
-      #nav li li li {
-        padding: 0; }
-  #nav li.expanded ul {
-    }
-    #nav li ul > li {
-      padding:0;
-    }
-    #nav li ul > li:last-child {
-      padding-bottom:5px;
-    }
-    #nav li.expanded ul > li {
-      background:#efefef;
-      background: rgba(0, 0, 0, 0.03); }
-    #nav li.expanded ul > li li {
-      background:inherit; }
-
-.new,
-.new-child {
-  font-size: .78em;
-  font-weight: bold;
-  color: #ff3d3d;
-  vertical-align:top;
-  white-space:nowrap;
-}
-
-/* content header */
-.content-header {
-  height: 30px;
-  margin:20px 0 25px;
-  padding:0 0 10px;}
-.content-header.just-links {
-  margin-bottom:0;
-  padding-bottom:0;}
-    
-.content-header h1 {
-  color:#000;
-  margin:0;
-  border-bottom:0;
-  padding:0;
-}
-
-.content-footer {
-  border-top: 1px solid #ccc;
-  margin-top: 10px;
-  padding-top:10px;
-  height: 30px; }
-
-.content-footer .col-9 {
-  margin-left:0;
-}
-.content-footer .col-4 {
-  margin-right:0;
-}
-.content-footer.wrap {
-  width:940px;
-}
-
-.paging-links {
-  position: relative; }
-  .paging-links a {
-    position: absolute; }
-  .paging-links a,
-  .training-nav-top a {
-    font-size: 14px;
-    line-height: 30px;
-    color: #555555;
-    text-decoration: none;
-    text-transform: uppercase; }
-  .paging-links .prev-page-link,
-  .training-nav-top .prev-page-link {
-    left: -5px; }
-    .paging-links .prev-page-link:before,
-    .training-nav-top .prev-page-link:before {
-      content: '';
-      background: transparent url(../images/styles/disclosure_left.png) no-repeat scroll 50% 50%;
-      width: 10px;
-      height: 10px;
-      display: inline-block;
-      margin-right: 5px; }
-  .paging-links .next-page-link,
-  .training-nav-top .next-page-link,
-    .training-nav-top .start-class-link,
-    .training-nav-top .start-course-link {
-    right: 10px; }
-    .next-page-link:after,
-    .start-class-link:after,
-    .start-course-link:after,
-    .next-class-link:after {
-      content: '';
-      background: transparent url(../images/styles/disclosure_right.png) no-repeat scroll 50% 50%;
-      width: 10px;
-      height: 10px;
-      display: inline-block;
-      margin-left: 5px; }
-      
-      
-  .training-nav-top a {
-    display:block;
-    float:left;
-    width:108px;
-    height:28px;
-    padding: 8px 15px;
-    line-height:28px;
-    text-align:center;
-    border:1px solid #DADADA;
-    border-bottom:0;
-  }
-      
-  .training-nav-top a.next-page-link {
-    border-left:0;
-    width:109px;
-  }
-      
-  .training-nav-top a.disabled,
-  .content-footer a.disabled {
-    color:#999;
-  }
-      
-  .training-nav-top a.disabled:hover,
-  .content-footer a.disabled:hover {
-    cursor:default;
-    color:#999 !important;
-  }
-      
-  .training-nav-top a.start-class-link,
-  .training-nav-top a.start-course-link {
-    width:248px;
-  }
-  
-  .hide {
-    display:none !important;
-  }
-  
-  .content-footer.next-class {
-    display:block;
-    border:0;
-    margin-top:0;
-    padding-top:0;
-  }
-  
-  .content-footer.next-class a.next-class-link {
-    display:block;
-    float:right;
-    text-transform:uppercase;
-  }
-
-/* content body */
-@-webkit-keyframes glowheader {
-  from {
-    background-color: #33b5e5;
-    color: #000;
-    border-bottom-color: #000; }
-
-  to {
-    background-color: transparent;
-    color: #33b5e5;
-    border-bottom-color: #33b5e5; } }
-
-@-moz-keyframes glowheader {
-  from {
-    background-color: #33b5e5;
-    color: #000;
-    border-bottom-color: #000; }
-
-  to {
-    background-color: transparent;
-    color: #33b5e5;
-    border-bottom-color: #33b5e5; } }
-
-@keyframes glowheader {
-  from {
-    background-color: #33b5e5;
-    color: #000;
-    border-bottom-color: #000; }
-
-  to {
-    background-color: transparent;
-    color: #33b5e5;
-    border-bottom-color: #33b5e5; } }
-
-h2:target,
-h3:target {
-    -webkit-animation-name: glowheader;
-    -moz-animation-name: glowheader;
-    animation-name: glowheader;
-    -webkit-animation-duration: 0.7s;
-    -moz-animation-duration: 0.7s;
-    animation-duration: 0.7s;
-    -webkit-animation-timing-function: ease-out;
-    -moz-animation-timing-function: ease-out;
-    animation-timing-function: ease-out; }
-
-.design ol h4 {
-  margin-bottom:0;
-}
-.design ol {
-  counter-reset: item; }
-  .design ol>li {
-    font-size: 14px;
-    line-height: 20px;
-    list-style-type: none;
-    position: relative; }
-    .design ol>li:before {
-      content: counter(item) ". ";
-      counter-increment: item;
-      position: absolute;
-      left: -20px;
-      top: 0; }
-    .design ol li.value-1:before {
-      content: "1. "; }
-    .design ol li.value-2:before {
-      content: "2. "; }
-    .design ol li.value-3:before {
-      content: "3. "; }
-    .design ol li.value-4:before {
-      content: "4. "; }
-    .design ol li.value-5:before {
-      content: "5. "; }
-    .design ol li.value-6:before {
-      content: "6. "; }
-    .design ol li.value-7:before {
-      content: "7. "; }
-    .design ol li.value-8:before {
-      content: "8. "; }
-    .design ol li.value-9:before {
-      content: "9. "; }
-    .design ol li.value-10:before {
-      content: "10. "; }
-.design .with-callouts ol>li {
-  list-style-position: inside;
-  margin-left: 0; }
-  .design .with-callouts ol>li:before {
-    display: inline;
-    left: -20px;
-    float: left;
-    width: 17px;
-    color: #33b5e5;
-    font-weight: 500; }
-.design .with-callouts ul>li {
-  list-style-position: outside; }
-
-/* special list items */
-li.no-bullet {
-  list-style-type: none !important; }
-li.no-bullet *{
-  margin:0; }
-
-.design li.with-icon {
-  position: relative;
-  margin-left: 20px;
-  min-height: 30px; }
-  .design li.with-icon p {
-    margin-left: 0 !important; }
-  .design li.with-icon:before {
-    position: absolute;
-    left: -40px;
-    top: 0;
-    content: '';
-    width: 30px;
-    height: 30px; }
-  .design li.with-icon.tablet:before {
-    background-image: url(../images/styles/ico_phone_tablet.png); }
-  .design li.with-icon.web:before {
-    background-image: url(../images/styles/ico_web.png); }
-  .design li.with-icon.action:before {
-    background-image: url(../images/styles/ico_action.png); }
-  .design li.with-icon.use:before {
-    background-image: url(../images/styles/ico_use.png); }
-
-/* figures and callouts */
-.figure {
-  position: relative; }
-  .figure.pad-below {
-    margin-bottom: 20px; }
-  .figure .figure-callout {
-    position: absolute;
-    color: #fff;
-    font-weight: 500;
-    font-size: 16px;
-    line-height: 23px;
-    text-align: center;
-    background: transparent url(../images/styles/callout.png) no-repeat scroll 50% 50%;
-    padding-right: 2px;
-    width: 30px;
-    height: 29px;
-    z-index: 1000; }
-    .figure .figure-callout.top {
-      top: -9px; }
-    .figure .figure-callout.right {
-      right: -5px; }
-
-.figure-caption {
-  margin: 0 10px 20px 0;
-  font-size: 14px;
-  line-height: 20px;
-  font-style: italic; }
-
-/* rows of figures */
-.figure-row {
-  font-size: 0;
-  line-height: 0;
-  /* to prevent space between figures */ }
-  .figure-row .figure {
-    display: inline-block;
-    vertical-align: top; }
-  .figure-row .figure + .figure {
-    margin-left: 10px;
-    /* reintroduce space between figures */ }
-
-/* video  containers */
-.framed-galaxynexus-land-span-13 {
-  background: transparent url(../images/styles/device_galaxynexus_blank_land_span13.png) no-repeat
-scroll top left;
-  padding: 42px 122px 62px 126px;
-  overflow: hidden; }
-  .framed-galaxynexus-land-span-13, .framed-galaxynexus-land-span-13 video,
-.framed-galaxynexus-land-span-13 img {
-    width: 512px;
-    height: 286px; }
-
-.framed-galaxynexus-port-span-9 {
-  background: transparent url(../images/styles/device_galaxynexus_blank_port_span9.png) no-repeat
-scroll top left;
-  padding: 95px 122px 107px 124px;
-  overflow: hidden; }
-  .framed-galaxynexus-port-span-9, .framed-galaxynexus-port-span-9 video,
-.framed-galaxynexus-port-span-9 img {
-    width: 274px;
-    height: 488px; }
-
-.framed-galaxynexus-port-span-5 {
-  background: transparent url(../images/styles/device_galaxynexus_blank_port_span5.png) no-repeat
-scroll top left;
-  padding: 75px 31px 76px 33px;
-  overflow: hidden; }
-  .framed-galaxynexus-port-span-5, .framed-galaxynexus-port-span-5 video,
-.framed-galaxynexus-port-span-5 img {
-    width: 216px;
-    height: 384px; }
-
-/* landing page disclosures */
-.landing-page-link {
-  text-decoration: none;
-  font-weight: 500;
-  color: #333333; }
-  .landing-page-link:after {
-    content: '';
-    background: transparent url(../images/styles/disclosure_right.png) no-repeat scroll 50% 50%;
-    width: 10px;
-    height: 10px;
-    display: inline-block;
-    margin-left: 5px; }
-
-/* tooltips */
-.tooltip-box {
-  position: absolute;
-  background-color: rgba(0, 0, 0, 0.9);
-  border-radius: 2px;
-  font-size: 14px;
-  line-height: 20px;
-  color: #fff;
-  padding: 6px 10px;
-  max-width: 250px;
-  z-index: 10000; }
-  .tooltip-box.below:after {
-    position: absolute;
-    content: '';
-    line-height: 0;
-    display: block;
-    top: -10px;
-    left: 5px;
-    border: 5px solid transparent;
-    border-bottom-color: rgba(0, 0, 0, 0.9); }
-
-/* video note */
-.video-instructions {
-  margin-top: 10px;
-  margin-bottom: 10px; }
-  .video-instructions:before {
-    content: '';
-    background: transparent url(../images/styles/ico_movie_inline.png) no-repeat scroll top left;
-    display: inline-block;
-    width: 12px;
-    height: 12px;
-    margin-right: 8px; }
-  .video-instructions:after {
-    content: 'Click device screen to replay movie.'; }
-
-/* download buttons */
-.download-button {
-  display: block;
-  margin-bottom: 5px;
-  text-decoration: none;
-  background-color: #33b5e5;
-  color: #fff !important;
-  font-weight: 500;
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
-  padding: 6px 12px;
-  border-radius: 2px; }
-  .download-button:hover, .download-button:focus {
-    background-color: #0099cc;
-    color: #fff !important; }
-  .download-button:active {
-    background-color: #006699; }
-
-/* UI tables and other things found in Writing style and Settings pattern */
-.ui-table {
-  width: 100%;
-  background-color: #282828;
-  color: #fff;
-  border-radius: 2px;
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
-  border-collapse: separate; }
-  .ui-table th,
-  .ui-table td {
-    padding: 5px 10px;
-    background-color: inherit; 
-    border:0;}
-  .ui-table thead th {
-    font-weight: bold; }
-  .ui-table tfoot td {
-    border-top: 1px solid #494949;
-    border-right: 1px solid #494949;
-    text-align: center; }
-    .ui-table tfoot td:last-child {
-      border-right: 0; }
-
-.layout-with-list-item-margins {
-  margin-left: 30px !important; }
-
-.emulate-content-left-padding {
-  margin-left: 10px; }
-
-.do-dont-label {
-  margin-bottom: 10px;
-  padding-left: 20px;
-  background: transparent none no-repeat scroll 0px 3px; }
-  .do-dont-label.bad {
-    background-image: url(../images/styles/ico_wrong.png); }
-  .do-dont-label.good {
-    background-image: url(../images/styles/ico_good.png); }
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/***** PREVIOUSLY style.css ******************/
-
-
-
-
-
-@media screen, projection, print {
-[dir='rtl'] {
-    direction: rtl;
-}
-html {
-    line-height: 20px;
-}
-pre, table, input, textarea, code {
-    font-size: 1em;
-}
-address, abbr, cite {
-    font-style: normal;
-}
-[dir='rtl'] th {
-    text-align: right;
-}
-html[lang^=ja] blockquote, html[lang^=ja] q, html[lang^=ko] blockquote, html[lang^=ko] q,
-html[lang^=zh] blockquote, html[lang^=zh] q {
-    font-style: normal;
-}
-q {
-    font-style: italic;
-}
-fieldset, iframe, img {
-    border: 0;
-}
-img { 
-	-ms-interpolation-mode: bicubic;
-	vertical-align: middle;
-	max-width: 100%;
-}
-q {
-    quotes: none;
-}
-sup, sub {
-    font-size: 11px;
-    line-height: 0;
-}
-}
-
-@media screen, projection {
-
-table, fieldset {
-    margin: 0;
-}
-h1 {
-    color:#333;
-    font-size: 22px;
-    margin: 20px 0 20px;
-    padding:0 0 10px;
-}
-h1, h2 {
-    line-height: 32px;
-}
-h1.short {
-  margin-right:320px;
-}
-h1.short {
-  margin-right:320px;
-}
-h1.super {
-    font-size: 37px;	
-}
-h2 {
-    color:#333;
-    font-size: 20px;
-    margin: 20px 0 20px;
-    padding:0;
-}
-h3 {
-    color:#333;
-    font-size: 18px;
-}
-h3, h4 {
-    color:#333;
-    line-height: 20px;
-    margin: 10px 0;
-}
-h4 {
-	font-size: 16px;
-}
-h5 {
-	font-size: 14px;	
-}
-h5, h6 {
-	margin: 5px 0;
-}
-h6 {
-	font-size: 12px;	
-}
-hr { /* applied to the bottom of h2 elements */
-	height: 1px;
-	margin: 5px 0 20px;
-	border: 0;
-	background: #ccc;
-}
-p, pre, table, form {
-    margin: 0 0 15px;
-}
-small {
-	font-size: 11.5px;
-	color: #000;
-}
-ul, ol {
-    margin: 0 0 15px 18px;
-    padding: 0;
-}
-[dir='rtl'] ul, [dir='rtl'] ol {
-    margin: 10px 30px 10px 10px;
-}
-ul ul, ul ol, ol ul, ol ol {
-    margin-bottom: 0;
-    margin-top: 0;
-}
-li {
-  margin:0 0 4px;
-}
-dd {
-  margin:0 0 10px 30px;
-}
-dd p {
-  margin:10px 0 0;
-}
-ul p,
-ol p {
-  margin:10px 0 0;
-}
-pre strong, pre b, a strong, a b, a code {
-    color: inherit;
-}
-pre, code {
-    color: #060;
-    font: 14px/1.5 'courier new', courier, monospace;
-}
-code {
-    font-weight:bold;
-}
-
-legend {
-    display: none;
-}
-a:link, a:visited {
-  color: #258aaf;
-  text-decoration: none;
-}
-a:focus, a:hover, a:active {
-  color: #33B5E5;
-  text-decoration: none;
-}
-strong, b {
-  font-weight:bold;
-  color: #222;
-}
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-  border:0;
-  margin: .5em 1em 1em 0;
-  width:100%; /* consistent table widths; within IE's quirks */
-  background-color:#f7f7f7;
-}
-th, td {
-  padding: 4px 12px;
-  vertical-align: top;
-  text-align: left;
-}
-td {
-  background-color:inherit;
-  border:solid 1px #DDD;
-}
-th {
-  background-color: #999;
-  color: #fff;
-  border:solid 1px #DDD;
-  font-weight: normal;
-}
-tr:first-of-type th:first-of-type:empty {
-    visibility: hidden;
-}
-/* --------------------------------------------------------------------------
-Footer
-*/
-.line {
-    clear: both;
-    background: #acbc00;
-    background: -moz-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #acbc00),
-color-stop(50%, #acbc00), color-stop(50%, #bdde00), color-stop(100%, #bdde00));
-    background: -webkit-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    background: -o-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    background: -ms-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    background: linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    height: 2px;
-    margin-top: 150px;
-    position: relative;
-    z-index: 11;
-}
-#footer {
-    font-size:11px;
-    clear: both;
-    color: #999;
-    padding: 15px 0;
-    margin-top:10px;
-    width:auto;
-}
-#footer-local ul {
-	list-style: none;
-	margin: 5px 0 30px 0;
-}
-#footer-local li {
-    display: inline;
-}
-#footer-local li+li:before {
-    content: '|';
-    padding: 0 3px;
-	color: #e5e5e5;
-}
-#footer-global {
-    padding: 10px 15px;
-	background: #f5f5f5;
-}
-#footer-global {
-    border-top: 1px solid #ebebeb;
-    font-size: 11.5px;
-    line-height: 1.8;
-    list-style: none;
-}
-#footer-global ul {
-    margin: 0;
-}
-#footer-global li {
-    display: inline;
-    font-weight: bold;
-}
-#footer-global li+li:before {
-    content: '¬?';
-    padding: 0 3px;
-}
-* html #footer-global li {
-    margin: 0 13px 0 0;
-}
-* [dir='rtl'] #footer-global li {
-    margin: 0 0 0 13px;
-}
-*+html #footer-global li {
-    margin: 0 13px 0 0;
-}
-*+[dir='rtl'] #footer-global li {
-    margin: 0 0 0 13px;
-}
-#footer-global li a {
-    font-weight: normal;
-}
-.locales {
-  margin: 10px 0 0 0px;
-}
-[dir='rtl'] .locales {
-    background-position: right center;
-    float: left;
-    padding: 0 24px 0 0;
-}
-.locales form {
-    margin: 0;	
-}
-.locales select, .sites select {
-  line-height: 3.08;
-  margin: 0px 0;
-  border: solid 1px #EBEBEB;
-  -webkit-appearance: none;
-  background: white url('../images/arrows-up-down.png') right center no-repeat;
-  height: 30px;
-  color: #222;
-  line-height: normal;
-  padding: 5px;
-  width: 230px;
-}
-}
-
-/* =============================================================================
-   Print Only
-   ========================================================================== */
-@media print {
-  /* configure printed page */
-  @page {
-      margin: 0.75in 1in;
-      widows: 4;
-      orphans: 4;
-  }
-
-  /* reset spacing metrics */
-  html, body, .wrap {
-      margin: 0 !important;
-      padding: 0 !important;
-      width: auto !important;
-  }
-
-  /* leave enough space on the left for bullets */
-  body {
-      padding-left: 20px !important;
-  }
-  #doc-col {
-      margin-left: 0;
-  }
-
-  /* hide a bunch of non-content elements */
-  #header, #footer, #nav-x, #side-nav,
-  .training-nav-top, .training-nav-bottom,
-  #doc-col .content-footer,
-  .nav-x, .nav-y,
-  .paging-links,
-  a.totop {
-      display: none !important;
-  }
-
-  /* remove extra space above page titles */
-  #doc-col .content-header {
-      margin-top: 0;
-  }
-
-  /* bump up spacing above subheadings */
-  h2 {
-      margin-top: 40px !important;
-  }
-
-  /* print link URLs where possible and give links default text color */
-  p a:after {
-      content: " (" attr(href) ")";
-      font-size: 80%;
-  }
-  p a {
-      word-wrap: break-word;
-  }
-  a {
-      color: inherit;
-  }
-
-  /* syntax highlighting rules */
-  .str { color: #060; }
-  .kwd { color: #006; font-weight: bold; }
-  .com { color: #600; font-style: italic; }
-  .typ { color: #404; font-weight: bold; }
-  .lit { color: #044; }
-  .pun { color: #440; }
-  .pln { color: #000; }
-  .tag { color: #006; font-weight: bold; }
-  .atn { color: #404; }
-  .atv { color: #060; }
-}
-
-/* =============================================================================
-   Columns
-   ========================================================================== */
-
-@media screen, projection, print {
-.full {
-	padding: 2.5em 0;
-	border-top: solid 1px #ddd;
-	border-bottom: solid 1px #ddd;
-	background: #f7f7f7;	
-}
-.wrap {
-	margin: 0 auto;
-	width: 940px;
-	clear: both;
-}
-.cols {
-    height: 1%;
-    margin: 0 -1.533742331288343558282%;
-    width: 103.06748466257669%}
-*+html .cols {
-    margin-bottom: 20px;
-}
-.cols:after {
-    clear: both;
-    content: ' ';
-    display: block;
-    height: 0;
-    visibility: hidden;
-}
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
-.col-13, .col-14, .col-15, .col-16 {
-    display: inline;
-	float: left;
-	margin-left: 10px;
-	margin-right: 10px;
-}
-/*
-* html .col-1, * html .col-2, * html .col-3, * html .col-4, * html .col-5, * html .col-6, * html
-.col-7, * html .col-8, * html .col-9, * html .col-10, * html .col-11, * html .col-12  {
-    margin: 0;
-    padding: 0 1.4% 20px;
-}
-[dir='rtl'] .col-1, [dir='rtl'] .col-2, [dir='rtl'] .col-3, [dir='rtl'] .col-4, [dir='rtl'] .col-5,
-[dir='rtl'] .col-6, [dir='rtl'] .col-7, [dir='rtl'] .col-8, [dir='rtl'] .col-9, [dir='rtl'] .col-10,
-[dir='rtl'] .col-11, [dir='rtl'] .col-12 {
-    float: right;
-}
-*/
-.col-1 { width: 40px }
-.col-2 { width: 100px }
-.col-3 { width: 160px }
-.col-4 { width: 220px }
-.col-5 { width: 280px }
-.col-6 { width: 340px }
-.col-7 { width: 400px }
-.col-8 { width: 460px }
-.col-9 { width: 520px }
-.col-10 { width: 580px }
-.col-11 { width: 640px }
-.col-12 { width: 700px }
-.col-13 { width: 760px }
-.col-14 { width: 820px }
-.col-15 { width: 880px }
-.col-16 { width: 940px }
-}
-
-.col-right {
-  margin-right:0px;
-}
-
-@media screen and (max-width:772px) {
-.col-5, .col-6, .col-7 {
-    clear: both;
-    width: 97.0238096%}
-}
-
-/* =============================================================================
-   Layout
-   ========================================================================== */
-@media screen, projection, print {
-
-/* --------------------------------------------------------------------------
-Header, Login, Nav-X, Search
-*/
-#header {
-	padding: 2.2em 0 0.2em 0;
-}
-#header:before, #header:after {
-	content: "";
-	display: table;
-	clear: both
-}
-.logo, .nav-x {
-    float: left;
-}
-.nav-x {
-    margin-top: -2px;
-	list-style-type: none;
-}
-.nav-x a {
-    color: #333;
-    font-size: 16px;
-}
-.design a.selected {
-    color: #33b5e5;
-}
-.develop a.selected {
-    color: #F80;
-}
-.distribute a.selected {
-    color: #9C0;
-}
-
-
-
-.nav-x li {
-    display: inline;
-    margin-right: 45px;
-}
-.search {
-	float: right;
-	position: relative;
-	width: 220px
-}
-.search .bottom, .search .left, .search .right {
-	position: absolute;
-	background-color: #a3a3a3;
-}
-.search .bottom {
-	width: 220px;
-	height: 1px;
-	top: 24px;
-	left: 0
-}
-.search .left, .search .right {	
-	height: 5px;
-	width: 1px
-}
-.search .left {	top: 19px; left: 0 }
-.search .right { top: 19px; right: 0 }
-.search form {
-	float: left;
-	margin-top: 2px;
-	width: inherit;
-}
-.search .close,
-#player-frame .close {
-  position: absolute;
-  right: 8px;
-  bottom: 4px;
-  width: 16px;
-  height: 16px;
-  margin: 0;
-  text-indent: -1000em;
-  background: url(../images/close.png) no-repeat 0 0;
-  z-index:9999;
-}
-.search .close:hover, .search .close:focus,
-#player-frame .close:hover, #player-frame .close:focus {
-  background-position: -16px 0;
-  cursor:pointer;
-}
-#player-frame .close {
-  top: 6px;
-}
-.search form input {
-	color: #999;
-	font-size: 1em;
-	width: inherit;
-	border: none;
-	margin: 0;
-	padding:0 0 0 6px;
-	z-index: 1500;
-	background-color: transparent
-}
-.search:hover .bottom, .search:hover .left, .search:hover .right {
-	background-color: #33b5e5;
-}
-.search:hover .icon {
-	background-position: -8px 0
-}
-.search form input:focus {
-	color: #222;
-	font-weight: bold;
-	outline:0;
-}
-/* Search Dropdown */
-.search-dropdown {
-	padding: 15px;
-	width: 192px;
-	border: solid 1px #c5c5c5;
-	background: #fff;
-	position: absolute;
-	top: 35px;
-	left: 0;
-	-moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
-	-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2);
-	box-shadow: 0  0 10px rgba(0,0,0,0.2)
-}
-.search-dropdown ul, .search-dropdown ul li {
-	list-style-type: none;
-	margin: 0;
-	padding: 0
-}
-.search-dropdown ul li {
-	clear: both	
-}
-.search-dropdown img {
-	float: left;
-	margin: 0 10px 10px 0
-}
-.search-dropdown h6 {
-	color: #222;
-	margin: 0;
-	line-height: normal
-}
-.search-dropdown .desc {
-	color: #999;
-	font-size: 11.5px;
-	line-height: normal;
-	margin: 0;
-}
-.search-dropdown li a:hover h6, .search-dropdown li a:hover .desc {
-	color: #33b5e5
-}
-/* --------------------------------------------------------------------------
-Buttons
-*/
-.button, a.button, .button-secondary, a.button-secondary {
-	border-image: initial;
-    -webkit-border-radius: 2px;
-    -moz-border-radius: 2px;
-    border-radius: 2px;
-    cursor: pointer;
-}
-.button, a.button {
-    background-color: #09c;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#2faddb), to(#09c));
-    background-image: -webkit-linear-gradient(top, #2faddb, #09c);
-    background-image: -moz-linear-gradient(top, #2faddb, #09c);
-    background-image: -ms-linear-gradient(top, #2faddb, #09c);
-    background-image: -o-linear-gradient(top, #2faddb, #09c);
-    background-image: linear-gradient(top, #2faddb, #09c);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#0099cc',GradientType=0);
-    border: 1px solid #3990ab;
-    color: #fff;
-}
-.button-secondary, a.button-secondary {
-    background-color: #f3f3f3;
-    border: 1px solid #dcdcdc;
-    color: #444;
-}
-a.button, a.button:visited, a.button-secondary, a.button-secondary:visited {
-    height: 28px;
-    line-height: 28px;
-    margin-right: 16px;
-	font-weight: 400;
-    min-width: 54px;
-    outline: 0;
-    padding: 8px 15px;
-    text-align: center;
-}
-.button, .button-secondary {
-    height: 34px;
-    line-height: 34px;
-    margin-right: 16px;
-	font-weight: 400;
-    min-width: 54px;
-    outline: 0;
-    padding: 0 15px;
-    text-align: center;
-}
-.button:hover, a.button:hover {
-    border-color: #09c;
-    background-color: #4cadcb;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#5dbcd9), to(#4cadcb));
-    background-image: -webkit-linear-gradient(top, #5dbcd9, #4cadcb);
-    background-image: -moz-linear-gradient(top, #5dbcd9, #4cadcb);
-    background-image: -ms-linear-gradient(top, #5dbcd9, #4cadcb);
-    background-image: -o-linear-gradient(top, #5dbcd9, #4cadcb);
-    background-image: linear-gradient(top, #5dbcd9, #4cadcb);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9',
-EndColorStr='#4cadcb',GradientType=0);
-    color: #fff !important;
-}
-.button:active, a.button:active {
-    background-color: #1e799a;
-    background-image: none;
-    border-color: #30b7e6;
-}
-.button-secondary:hover, a.button-secondary:hover {
-    border-color: #dbdbdb;
-    background-color: #f3f3f3;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));
-    background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -moz-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -ms-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -o-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: linear-gradient(top, #f9f9f9, #ececec);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9',
-EndColorStr='#ececec');
-    color: #33B5E5 !important;
-}
-.button-secondary:active, a.button-secondary:active {
-    border-color: #dadada;
-	background: #ebebeb; /* Old browsers */
-	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
-	background:
-url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/
-Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0Jv
-eD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+
-CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIg
-eDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ViZWJl
-YiIgc3RvcC1vcGFjaXR5PSIxIi8+
-CiAgICA8c3RvcCBvZmZzZXQ9IjEwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIxIi8+
-CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2ZhZmFmYSIgc3RvcC1vcGFjaXR5PSIxIi8+
-CiAgICA8c3RvcCBvZmZzZXQ9IjkwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIxIi8+
-CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNmY2ZjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFy
-R3JhZGllbnQ+
-CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIg
-Lz4KPC9zdmc+);
-	background: -moz-linear-gradient(top,  #ebebeb 0%, #f9f9f9 5%, #fafafa 50%, #f9f9f9 90%,
-#ffffff 100%); /* FF3.6+ */
-	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ebebeb),
-color-stop(5%,#f9f9f9), color-stop(50%,#fafafa), color-stop(90%,#f9f9f9), color-stop(100%,#ffffff));
-/* Chrome,Safari4+ */
-	background: -webkit-linear-gradient(top,  #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9
-90%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
-	background: -o-linear-gradient(top,  #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff
-100%); /* Opera 11.10+ */
-	background: -ms-linear-gradient(top,  #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff
-100%); /* IE10+ */
-	background: linear-gradient(top,  #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff
-100%); /* W3C */
-	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebebeb',
-endColorstr='#ffffff',GradientType=0 ); /* IE6-8 */
-	-webkit-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-	-moz-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-	box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05); 
-	color: #258AAF !important;
-}
-.button.big {
-  font-size:20px;
-  display:inline-block;
-}
-
-.button.disabled,
-.button.disabled:hover,
-.button.disabled:active {
-  background:#ebebeb;
-  color:#999;
-  border-color:#999;
-  cursor:default;
-}
-
-.training-nav-top a.button-secondary,
-.training-nav-bottom a.button-secondary {
-  display:block;
-  float:left;
-  margin:0;
-  width:130px;
-  text-transform:uppercase;
-  font-weight:bold;
-  
-    background-color: #f3f3f3;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));
-    background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -moz-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -ms-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -o-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: linear-gradient(top, #f9f9f9, #ececec);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9',
-EndColorStr='#ececec');
-    color: #33B5E5;
-}
-
-.training-nav-top a.button-secondary:hover,
-.training-nav-bottom a.button-secondary:hover {
-    background-color: #09c;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#2faddb), to(#09c));
-    background-image: -webkit-linear-gradient(top, #2faddb, #09c);
-    background-image: -moz-linear-gradient(top, #2faddb, #09c);
-    background-image: -ms-linear-gradient(top, #2faddb, #09c);
-    background-image: -o-linear-gradient(top, #2faddb, #09c);
-    background-image: linear-gradient(top, #2faddb, #09c);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#09c');
-    border: 1px solid #3990ab;
-    color: #fff !important;
-}
-
-.training-nav-top a.button-secondary.last,
-.training-nav-bottom a.button-secondary.last {
-  border-left:0;
-}
-
-.training-nav-top a.button-secondary.double-size,
-.training-nav-bottom a.button-secondary.double-size {
-  width:291px;
-}
-
-.training-nav-top,
-.training-nav-bottom {
-  float:right;
-  margin:0 0 0 20px;
-}
-
-.training-nav-bottom {
-  padding:0 0 20px;
-}
-
-#tb-wrapper,
-#qv-wrapper {
-  float:right;
-  clear:right;
-  margin:-27px 0 0 20px; /* negative top-margin to counter the content-header bottom margin */
-  padding:0 0 20px;
-}
-
-#tb,
-#qv {
-  font-size:13px;
-  line-height:18px;
-  width:238px;
-  border:1px solid #ccc;
-  float:right;
-}
-
-#tb {
-  width:278px;
-}
-
-#tb h2,
-#qv h2 {
-  margin:10px 15px;
-  padding:0;
-  text-transform:uppercase;
-  border-bottom:1px solid gainsboro;
-}
-
-#tb *,
-#qv * {
-  font-size:inherit;
-}
-
-#tb .download-box {
-  padding:0 0 0 15px;
-}
-
-#tb .download-box .filename {
-  font-size:11px;
-  margin:4px 4px 10px;
-  color:#666;
-}
-
-
-/* Dev guide quicknav */
-
-.sidebox-wrapper {
-  float:right;
-  clear:right;
-  margin:0 0 0 20px;
-  padding:0 0 20px;
-}
-
-.sidebox {
-  width:226px;
-  font-size:13px;
-  line-height:18px;
-  border-left:4px solid #99CC00;
-  float:right;
-  padding:0 0 0 10px;
-}
-
-.sidebox h2,
-.sidebox h3,
-.sidebox h4,
-.sidebox h5 {
-  font-weight:bold;
-  margin:0 0 10px;
-}
-
-.sidebox * {
-  font-size:inherit;
-}
-
-#tb ol,
-#tb ul,
-#qv ul {
-  margin:0 15px 10px 35px;
-}
-
-#qv ol {
-  list-style:none;
-  margin:0 15px 15px;
-  font-size:inherit;
-  line-height:inherit;
-}
-
-#tb ol ol,
-#tb ul ul,
-#qv ol ol,
-#qv ul ul,
-.sidebox ol ol,
-.sidebox ul ul {
-  margin-bottom:0;
-}
-
-#qv ol ol {
-  margin:3px 0 3px 15px;
-}
-
-.sidebox p,
-#qv p,
-#tb p {
-  margin: 0 0 10px;
-}
-
-
-/* --------------------------------------------------------------------------
-Form
-*/
-.article form {
-    margin: 0 0 20px;
-}
-.article form .form-required {
-    color: #dd4b39;
-}
-.article form fieldset {
-    margin: 0 0 20px;
-    padding: 0;
-}
-.article form legend {
-    display: block;
-    line-height: 1.5;
-    margin: 0;
-    padding: 0;
-}
-/*
-.article form ol, .article form ul {
-    margin: 0 0 0 1em;
-    padding: 0 0 0 1em;
-}
-[dir='rtl'] .article form ol, [dir='rtl'] .article form ul {
-    margin: 0 1em 0 0;
-    padding: 0 1em 0 0;
-}
-.article form ol ul, .article form ul ul, [dir='rtl'] .article form ol ul, [dir='rtl'] .article form
-ul ul {
-    list-style: none;
-    margin: 0;
-    padding: 0;
-}
-.article form li {
-    margin: 0 0 20px;
-}
-.article form li li {
-    margin: 0 0 5px;
-}
-*/
-.article form label {
-    display: block;
-    margin: 0 0 5px;
-    padding: 0;
-}
-.article form input[type='text'], .article form select, .article form textarea, .article form
-.checkbox-group, .article form .radio-group {
-    margin-bottom: 15px;
-}
-.checkbox-group input {
-	width: 13px;
-	height: 13px;
-	background: #fff;
-	border: solid 1px #c6c6c6;
-	float: left;
-}
-.article form .checkbox-group, .article form .radio-group {
-	display: block
-}
-.article form select {
-    border: solid 1px #ebebeb;
-    border-top-color: #ddd;
-    -webkit-appearance: none;
-    background: #f3f3f3 url(../images/arrows-up-down.png) right center no-repeat;
-    height: 30px;
-    color: #222;
-    line-height: normal;
-    padding: 5px;
-    width: 130px;
-}
-    
-.article form .browse .browse-msg {
-	font-size: 11.5px;	
-}
-.article form .browse .button-secondary {
-	height: auto;
-	line-height: 25px;
-	font-size: 11px;
-	padding: 0 8px;
-	margin: 0 10px 15px 0;
-}
-.article form input[type='text'], .article form textarea {
-    border: 1px solid #ebebeb;
-    border-top-color: #dcdcdc;
-    color: #222;
-    line-height: normal;
-    padding: 6px 10px;
-    width: 300px;	
-}
-.article form textarea {
-    height: 150px;
-}
-.article form input[type='text']:focus, .article form textarea:focus {
-    border-color: #33B5E5;
-    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
-    -o-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
-    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
-    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
-    outline: 0;
-}
-.article form input[disabled], .article form textarea[disabled], .article form label.form-disabled {
-    color: #999;
-}
-.article form input[type='text'][disabled], .article form textarea[disabled] {
-    background-color: #ebebeb;
-}
-form .form-error input[type='text'], form .form-error textarea {
-    border-color: #dd4b39;
-	margin-right: 20px;
-}
-.aside {
-    -moz-border-radius: 2px;
-    -webkit-border-radius: 2px;
-    border-radius: 2px;
-    margin: 10px 0;
-    padding: 20px;
-	color: #666;
-    position: relative;
-	background: #f9f9f9;
-}
-/*
-.aside, .notification, .promo {
-    -moz-border-radius: 2px;
-    -webkit-border-radius: 2px;
-    border-radius: 2px;
-    margin: 10px 0;
-    padding: 10px;
-    position: relative;
-}
-.aside>:first-child, .notification>:first-child, .promo>:first-child {
-    margin-top: 0;
-}
-.aside>:last-child, .notification>:last-child, .promo>:last-child {
-    margin-bottom: 0;
-}
-.aside {
-    background: #f9f9f9;
-}
-.notification {
-    background: #fffbe4;
-    border-color: #f8f6e6;
-}
-.promo {
-    background: #f6f9ff;
-    border-color: #eff2f9;
-}
-*/
-/* --------------------------------------------------------------------------
-Code Style
-*/
-pre {
-	margin: 1em 0;
-	padding: 1em;
-	overflow: auto;
-	border: solid 1px #ddd;
-	background: #f7f7f7;	
-}
-.str { color: #080; }
-.kwd { color: #008; }
-.com { color: #800; }
-.typ { color: #606; }
-.lit { color: #066; }
-.pun { color: #660; }
-.pln { color: #000; }
-.tag { color: #008; }
-.atn { color: #828; }
-.atv { color: #080; }
-.dec { color: #606; }
-
-/* --------------------------------------------------------------------------
-Three-Pane
-*/
-/* Package Nav & Classes Nav */
-.three-pane {
-	position: relative;
-	border-top: solid 1px #ebebeb;
-}
-#packages-nav .js-pane,
-#classes-nav .js-pane {
-  overflow:visible;
-}
-#packages-nav {
-        height:270px;
-	max-height: inherit;
-	overflow: hidden;
-	position: relative;	
-}
-#classes-nav {
-	overflow: hidden;
-	position: relative;	
-}
-#packages-nav ul, #classes-nav ul {
-	list-style-type: none;
-	margin: 10px 0 20px 0;
-	padding: 0;	
-}
-#classes-nav li {
-	font-weight: bold;
-	margin: 5px 0;
-}
-#packages-nav li,
-#classes-nav li li {
-	margin: 0;
-}
-#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited,
-#classes-nav li a, #classes-nav li a:active, #classes-nav li a:visited {
-	padding: 0 0 0 4px;
-}
-#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited,
-#classes-nav li li a, #classes-nav li li a:active, #classes-nav li li a:visited,
-#nav-tree li a, #nav-tree li a:active, #nav-tree li a:visited {
-	color: #222;
-	font-weight: normal;	
-}
-#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited,
-#classes-nav li li a, #classes-nav li li a:active, #classes-nav li li a:visited {
-	display: block;
-}
-#packages-nav li.selected a, #packages-nav li.selected a:active, #packages-nav li.selected
-a:visited,
-#classes-nav li li.selected a, #classes-nav li li.selected a:active, #classes-nav li li.selected
-a:visited,
-#nav-tree li div.selected {
-    font-weight: 500;
-    color: #0099cc;
-    background-color:#fff; }
-  #packages-nav li.selected ul li a,
-  #classes-nav li.selected ul li a {
-  /* don't highlight child items */
-    color: #555555; }
-#nav-tree li div.selected a {
-    font-weight: 500;
-    color: #0099cc;
-}
-#nav-swap {
-  height:30px;
-  border-top:1px solid #ccc;
-}
-#nav-swap a {
-  display:inline-block;
-  height:100%;
-  color: #222;
-  font-size: 12px;
-  padding: 5px 0 5px 5px;
-}
-
-#nav-swap .fullscreen {
-  float: right;
-  width: 24px;
-  height: 24px;
-  text-indent: -1000em;
-  padding:0;
-  margin:3px 5px 0;
-  background: url(../images/fullscreen.png) no-repeat -24px 0;
-}
-#nav-swap .fullscreen.disabled {
-  background-position: 0 0;
-}
-#nav-swap .fullscreen:hover, 
-#nav-swap .fullscreen:focus {
-  cursor:pointer;
-}
-
-
-/* nav tree */
-#side-nav, #devdoc-nav, #swapper,
-#nav-tree, #tree-list {
-  overflow:hidden;
-  margin-left:0;
-}
-
-#nav-tree ul {
-  list-style:none;
-  padding:0;
-  margin:10px 0;
-}
-
-#nav-tree ul li div {
-  padding:0 0 0 4px;
-}
-
-#side-nav #nav-tree ul li a,
-#side-nav #nav-tree ul li span.no-children {
-  padding: 0;
-  margin: 0;
-}
-
-#nav-tree .plus {
-  margin: 0 3px 0 0;
-}
-
-#nav-tree ul ul {
-  list-style: none;
-  margin: 0;
-  padding: 0 0 0 0;
-}
-
-#nav-tree ul li {
-  margin: 0;
-  padding: 0 0 0 0;
-  white-space: nowrap;
-}
-
-#nav-tree .children_ul {
-  padding:0;
-  margin:0;
-}
-#nav-tree .children_ul li div {
-  padding:0 0 0 10px;
-}
-#nav-tree .children_ul .children_ul li div {
-  padding:0 0 0 20px;
-}
-
-#nav-tree a.nolink {
-  color: #222;
-  text-decoration: none;
-}
-
-#nav-tree span.label {
-  width: 100%;
-}
-
-#nav-tree {
-  overflow-x: auto;
-  overflow-y: scroll;
-  outline:0;
-}
-
-
-/* Content */
-#doc-col {
-  margin-right:0;
-}
-#doc-content-container {
-	margin-left: 291px	
-}
-#doc-header, #doc-content {
-	padding: 1em 2em;
-}
-#doc-header {
-	background: #f7f7f7;	
-}
-#doc-header h1 {
-	line-height: 0;
-	margin-bottom: 15px;
-}
-#api-info-block {
-	float: right;
-	font-weight: bold;
-}
-#api-info-block a, #api-info-block a:active, #api-info-block a:visited {
-	color: #222;
-}
-#api-info-block a:hover, #api-info-block a:focus {
-	color: #33B5E5;
-}
-#api-nav-header {
-  height:19px; /* plus 16px padding = 35; same as #nav li */
-  font-size:14px;
-  padding: 8px 0;
-  margin: 0;
-  border-bottom: 1px solid #CCC;
-  background:#e9e9e9;
-  background: rgba(0, 0, 0, 0.05); /* matches #nav li.expanded */
-
-}
-#api-nav-title {
-  padding:0 5px;
-  white-space:nowrap;
-}
-
-#api-level-toggle {
-  float:right;
-  padding:0 5px;
-}
-
-#api-level-toggle label {
-  margin:0;
-  vertical-align:top;
-  line-height: 19px;
-  font-size:13px;
-  height: 19px;
-}
-
-#api-level-toggle .select-wrapper {
-  width: 35px;
-  display: inline-block;
-  overflow: hidden;
-}
-#api-level-toggle select {
-  border: 0;
-  appearance:none;
-  -moz-appearance:none;
-  -webkit-appearance: none;
-  background: transparent url(../images/arrows-up-down.png) 23px 5px no-repeat;
-  color: #222;
-  height: 19px;
-  line-height: 19px;
-  padding: 0;
-  margin:1px 0 0 0;
-  width:150%;
-  font-size:13px;
-  vertical-align:top;
-  outline:0;
-}
-
-
-/* Toggle for revision notes and stuff */
-div.toggle-content.closed .toggle-content-toggleme {
-  display:none;
-}
-
-#jd-content img.toggle-content-img {
-  margin:0 5px 5px 0;
-}
-div.toggle-content p {
-  margin:10px 0 0;
-}
-div.toggle-content-toggleme {
-  padding:0 0 0 15px;
-}
-
-
-/* API LEVEL FILTERED MEMBERS */
-
-.absent,
-.absent a:link,
-.absent a:visited,
-.absent a:hover,
-.absent * {
-  color:#bbb !important;
-  cursor:default !important;
-  text-decoration:none !important;
-}
-#devdoc-nav li.absent.selected,
-#devdoc-nav li.absent.selected *,
-#devdoc-nav div.label.absent.selected,
-#devdoc-nav div.label.absent.selected * {
-  background-color:#eaeaea !important;
-}
-.absent h4.jd-details-title,
-.absent h4.jd-details-title * {
-  background-color:#f6f6f6 !important;
-}
-.absent img {
-  opacity: .3;
-  filter: alpha(opacity=30);
-  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
-}
-
-
-
-
-
-
-
-
-
-/* JQUERY RESIZABLE STYLES */
-.ui-resizable { position: relative; }
-.ui-resizable-handle { position: absolute; display: none; font-size: 0.1px; z-index:1; }
-.ui-resizable .ui-resizable-handle { display: block; border-bottom: 1px solid #e4e4e4; }
-/*body .ui-resizable-disabled .ui-resizable-handle { display: none; }
-body .ui-resizable-autohide .ui-resizable-handle { display: none; }*/
-.ui-resizable-s { cursor: s-resize; height: 10px; width: 100% !important; bottom: -11px; left: 0;
-border-bottom: solid 1px #ededed;
-  background: #f7f7f7 url("../images/resizable-s2.png") no-repeat scroll center center; }
-/*
-.ui-resizable-e { 
-cursor: e-resize; width: 10px; right: 0; top: 0; height: 100%; border-right: solid
-1px #ededed;background: #f7f7f7 url("../images/resizable-e2.png") no-repeat scroll center center; }
-*/
-
-/* --------------------------------------------------------------------------
-Lightbox
-*/
-.lightbox {	
-	width: 769px;
-	padding: 1.5em;
-	margin: 0 auto;
-	border: solid 1px #dcdcdc;
-	background: #fff;
-	-moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
-	-webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
-	box-shadow: 1px 1px 5px rgba(0,0,0,0.1)
-}
-.lightbox .header {
-	float: left;
-	width: 720px;
-	margin: -10px 20px 10px 0;	
-}
-.lightbox .close {
-	float: right;
-	width: 10px;
-	height: 10px;
-	margin: -10px -10px 10px 0;
-	text-indent: -1000em;
-	background: url(../images/close.png) no-repeat 0 0;
-}
-.lightbox .close:hover, .lightbox .close:focus {
-	background-position: -10px 0;
-}
-
-/* --------------------------------------------------------------------------
-Misc
-*/
-
-
-.clearfix:before, .clearfix:after {
-	content: "";
-	display: table
-}
-.clearfix:after {
-	clear: both
-}
-.clearfix {
-	*zoom: 1
-}
-table.blank th, table.blank td {
-    border: 0;
-	background: none
-}
-.caption {
-	margin: 0.5em 0 2em 0;
-	color: #000;
-	font-size: 11.5px;	
-}
-
-.nolist {
-  list-style:none;
-  margin-left:0;
-}
-
-
-pre.classic {
-  background-color:transparent;
-  border:none;
-  padding:0;
-}
-
-p.img-caption {
-  margin: -10px 0 20px;
-  font-size:13px;
-  color:#666;
-}
-
-div.figure {
-  float:right;
-  clear:right;
-  margin:10px 0 0 0;
-  padding:0 0 0 20px;
-  /* width must be defined w/ an inline style matching the image width */
-}
-
-p.table-caption {
-  margin: 0 0 4px 0; /* matches default table left-margin */
-  font-size:13px;
-  color:#666;
-}
-
-div.note, 
-div.caution, 
-div.warning {
-  margin: 0 0 15px;
-}
-
-p.note, div.note, 
-p.caution, div.caution, 
-p.warning, div.warning {
-  padding: 0 0 0 10px;
-  border-left: 4px solid;
-}
-
-p.note {
-  border-color: #258AAF;
-}
-
-p.caution {
-  border-color: #FF8800;
-}
-
-p.warning {
-  border-color: #ff4443;
-}
-
-div.note.design {
-  border-left: 4px solid #33B5E5;
-}
-
-div.note.develop {
-  border-left: 4px solid #F80;
-}
-
-div.note.distribute {
-  border-left: 4px solid #9C0;
-}
-
-.note p, .caution p, .warning p {
-  margin:0 0 5px;
-}
-
-.note p:last-child, .caution p:last-child, .warning p:last-child {
-  margin-bottom:0;
-}
-
-blockquote {
-  display:block;
-  float:right;
-  width:280px;
-  font-size:20px;
-  font-style:italic;
-  line-height:24px;
-  color:#33B5E5;
-  margin:0 0 20px 30px;
-}
-
-div.design-announce p {
-  margin:0 0 10px;
-}
-
-#devdoc-nav a.totop {
-  display:block;
-  top:0;
-  width:inherit;
-  background: transparent url(../images/styles/gototop.png) no-repeat scroll 50% 50%;
-  text-indent:-9999em;
-}
-#devdoc-nav a.totop {
-  position:fixed;
-  display:none;
-}
-#devdoc-nav a.totop:hover {
-  background-color:#33B5E5;
-}
-
-.content-footer a.totop {
-  text-transform:uppercase;
-  line-height:30px;
-}
-
-/* -----------------------------------------------
-Dialog box for popup messages 
-*/
-
-div.dialog {
-  height:0;
-  margin:0 auto;
-}
-
-div.dialog>div {
-  z-index:99;
-  position:fixed;
-  margin:70px 0;
-  width: 391px;
-  height: 200px;
-  background: #F7F7F7;
--moz-box-shadow: 0 0 15px rgba(0,0,0,0.5);
--webkit-box-shadow: 0 0 15px rgba(0,0,0,0.5);
-box-shadow: 0 0 15px rgba(0,0,0,0.5);
-}
-/* IE6 can't position fixed */
-* html div.dialog div { position:absolute; }
-
-
-div#deprecatedSticker {
-  display:none;
-  z-index:99;
-  position:fixed;
-  right:15px;
-  top:114px;
-  margin:0;
-  padding:1em;
-  background:#FFF;
-  border:1px solid #dddd00;
-  box-shadow:-5px 5px 10px #ccc;
-  -moz-box-shadow:-5px 5px 10px #ccc;
-  -webkit-box-shadow:-5px 5px 10px #ccc;
-}
-
-div#naMessage {
-  display:none;
-  width:555px;
-  height:0;
-  margin:0 auto;
-}
-
-div#naMessage div {
-  z-index:99;
-  width:450px;
-  position:fixed;
-  margin:50px 0;
-  padding:4em 4em 3em;
-  background:#FFF;
-  border:1px solid #999;
-  box-shadow:-10px 10px 40px #888;
-  -moz-box-shadow:-10px 10px 40px #888;
-  -webkit-box-shadow:-10px 10px 40px #888;
-}
-/* IE6 can't position fixed */
-* html div#naMessage div { position:absolute; }
-
-div#naMessage strong {
-  font-size:1.1em;
-}
-
-
-/* --------------------------------------------------------------------------
-Slideshow Controls & Next/Prev 
-*/
-.slideshow-next, .slideshow-prev {	
-	width: 20px;
-	height: 36px;
-	text-indent: -1000em;
-}
-.slideshow-container {
-	margin: 2em 0;
-}
-.slideshow-container:before, .slideshow-container:after {
-	content: "";
-	display: table;
-	clear: both;
-}
-a.slideshow-next, a.slideshow-next:visited {
-
-	float: right;
-
-	background: url(../images/arrow-right.png) no-repeat 0 0
-
-}
-
-a.slideshow-prev, a.slideshow-prev:visited {
-
-	float: left;	
-
-	background: url(../images/arrow-left.png) no-repeat 0 0
-
-}
-
-.slideshow-next:hover, .slideshow-prev:hover, .slideshow-next:focus, .slideshow-prev:focus {
-
-	background-position: 0 -36px	
-
-}
-
-.slideshow-next:active, .slideshow-prev:active {
-
-	background-position: 0 -72px	
-
-}
-.slideshow-nav {
-	width: 74px;
-	margin: 0 auto;		
-}
-.slideshow-nav a, .slideshow-nav a:visited {
-	display: inline-block;
-	width: 12px;
-	height: 12px;
-	margin: 0 2px 20px 2px;
-	background: #ccc;
-	-webkit-border-radius: 50%;
-	-moz-border-radius: 50%;
-	border-radius: 50%;
-}
-.slideshow-nav a:hover, .slideshow-nav a:focus {
-
-	background: #33B5E5
-}
-
-.slideshow-nav a:active {
-
-	background: #1e799a;
-	background: #ebebeb;	
-	-webkit-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-	-moz-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-	box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-}
-.slideshow-nav a.active, .slideshow-nav a.active:active, .slideshow-nav a.active:visited {
-	background: #33B5E5
-}
-/* --------------------------------------------------------------------------
-Tabs
-*/
-ul.tabs {
-	padding: 0;
-	margin: 2em 0 0 0;	
-}
-ul.tabs:before, ul.tabs:after {
-	content: "";
-	display: table;
-	clear: both;
-}
-ul.tabs li {
-	list-style-type: none;
-	float: left;	
-}
-ul.tabs li a, ul.tabs li a:active, ul.tabs li a:visited {
-	display: block;
-	height: 36px;
-	line-height: 36px;
-	padding: 0 15px;
-	margin-right: 2px;
-	color: #222;
-	-moz-border-radius-topleft: 2px;
-	-moz-border-radius-topright: 2px;
-	-moz-border-radius-bottomright: px;
-	-moz-border-radius-bottomleft: px;
-	-webkit-border-radius: 2px 2px px px;
-	border-radius: 2px 2px px px; 
-	border-top: solid 1px #ebebeb;
-	border-left: solid 1px #ebebeb;
-	border-right: solid 1px #ebebeb;
-	background-color: #fff;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#fafafa));
-    background-image: -webkit-linear-gradient(top, #ffffff, #fafafa);
-    background-image: -moz-linear-gradient(top, #ffffff, #fafafa);
-    background-image: -ms-linear-gradient(top, #ffffff, #fafafa);
-    background-image: -o-linear-gradient(top, #ffffff, #fafafa);
-    background-image: linear-gradient(top, #ffffff, #fafafa);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff',
-EndColorStr='#fafafa');
-}
-ul.tabs li a:hover {
-	color: #33B5E5;	
-}
-ul.tabs li a.selected {
-	height: 37px;
-	color: #33B5E5;
-	background-color: #f7f7f7;
-	background-image: none;
-	border-color: #ddd;
-}
-.tab-content {
-	padding: 1.2em;
-	margin: -1px 0 2em 0;
-	-webkit-border-radius: 2px;
-    -moz-border-radius: 2px;
-    border-radius: 2px;
-	border: solid 1px #ddd;
-	background: #f7f7f7;
-}
-/* --------------------------------------------------------------------------
-Feature Boxes
-*/
-.feature-box {
-  width: 291px;
-  height: 200px;
-  position: relative;
-  background: #F7F7F7;
-}
-.box-border .top, .box-border .bottom, .box-border .left, .box-border .right {
-	z-index: 100;
-	position: absolute;
-	background-color: #aaa;
-}
-.box-border .top, .box-border .bottom {
-	width: 291px;
-	height: 1px;
-}
-.dialog .box-border .top,
-.dialog .box-border .bottom { width:391px; }
-
-.box-border .left, .box-border .right {	
-	width: 1px;
-	height: 8px;		
-}
-.box-border .top { top: 0; left: 0 }
-.box-border .top .left { top: 1px; left: 0 }
-.box-border .top .right { top: 1px; right: 0 }
-.box-border .bottom .left { top: -8px; left: 0 }
-.box-border .bottom { top: 200px; left: 0 }
-.box-border .bottom .right { top: -8px; right: 0 }
-
-.feature-box h4,
-.dialog h4 {
-    margin: 15px 18px 10px;
-    padding:0;
-}
-
-.feature-box p,
-.dialog p {
-    margin: 10px 18px;
-    padding:0;
-}
-.feature-box .link,
-.dialog .link {
-    border-top: 1px solid #dedede;
-    bottom: 0;
-    position: absolute;
-    width: inherit;
-}
-.feature-box a, .feature-box h4,
-.dialog a, .dialog h4 {
-    -webkit-transition: color .4s ease;
-    -moz-transition: color .4s ease;
-    -o-transition: color .4s ease;
-    transition: color .4s ease;
-}
-.feature-box:hover {
-	cursor: pointer;	
-}
-.feature-box:hover .box-border .top, .feature-box:hover .box-border .bottom, .feature-box:hover
-.left, .feature-box:hover .right {	
-	background-color: #33B5E5;
-}
-.feature-box:hover h4, .feature-box:hover a {
-	color: #33B5E5;
-}
-/* --------------------------------------------------------------------------
-Page-Specific Styles
-*/
-.colors { 
-	position: relative;
-	float: left;
-	width: 92px;
-	margin: 40px 0 20px;
-}
-.colors div {
-	color: #fff;
-	font-size: 11.5px;
-	width: 82px;
-	height: 82px;
-	margin-top:-30px;
-	line-height: 82px;
-	text-align: center;
-	border: solid 5px #fff;
-	-webkit-border-radius: 50%;
-	-moz-border-radius: 50%;
-	border-radius: 50%;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* ########### REFERENCE DOCS ################## */
-
-#packages-nav h2,
-#classes-nav h2 {
-  font-size:18px;
-  margin:0;
-  padding:0 0 0 4px;
-}
-
-#jd-header {
-  padding: 0 0 5px;
-  margin: 20px 0 10px;
-  font-size:13px;
-  border-bottom:solid 1px #ccc;
-}
-
-#jd-header h1 {
-  margin:0;
-  padding:0;
-}
-
-/* page-top-right container for reference pages (holds
-links to summary tables) */
-#api-info-block {
-  font-size:13px;
-  margin:20px 0 0;
-  padding:0 10px 6px;
-  font-weight:normal;
-  float:right;
-  text-align:right;
-  color:#999;
-  max-width:70%;
-}
-
-#api-info-block div.api-level {
-  font-weight:bold;
-  font-size:inherit;
-  float:none;
-  color:#222;
-  padding:0;
-  margin:0;
-}
-
-/* inheritance table */
-.jd-inheritance-table {
-  border-spacing:0;
-  margin:0;
-  padding:0;
-  font-size:13px;
-  background-color:transparent;
-}
-.jd-inheritance-table tr td {
-  border: none;
-  margin: 0;
-  padding: 0;
-  background-color:transparent;
-}
-.jd-inheritance-table .jd-inheritance-space {
-  font-weight:bold;
-  width:1em;
-}
-.jd-inheritance-table .jd-inheritance-interface-cell {
-  padding-left: 17px;
-}
-
-
-
-.jd-sumtable a {
-  text-decoration:none;
-}
-
-.jd-sumtable a:hover {
-  text-decoration:underline;
-}
-
-/* the link inside a sumtable for "Show All/Hide All" */
-.toggle-all {
-  display:block;
-  float:right;
-  font-weight:normal;
-  font-size:0.9em;
-}
-
-/* adjustments for in/direct subclasses tables */
-.jd-sumtable.jd-sumtable-subclasses {
-  margin: 1em 0 0 0;
-  max-width:968px;
-  background-color:transparent;
-  font-size:13px;
-}
-
-/* extra space between end of method name and open-paren */
-.sympad {
-  margin-right: 2px;
-}
-
-/* right alignment for the return type in sumtable */
-.jd-sumtable .jd-typecol {
-  text-align:right;
-}
-
-/* adjustments for the expando table-in-table */
-.jd-sumtable-expando {
-  margin:.5em 0;
-  padding:0;
-}
-
-/* a div that holds a short description */
-.jd-descrdiv {
-  padding:3px 1em 0 1em;
-  margin:0;
-  border:0;
-}
-
-#jd-content img.jd-expando-trigger-img {
-  padding:0 4px 4px 0;
-  margin:0;
-}
-
-.jd-sumtable-subclasses div#subclasses-direct,
-.jd-sumtable-subclasses div#subclasses-indirect {
-  margin:0 0 0 13px;
-}
-
-
-
-/********* MEMBER REF *************/
-
-
-.jd-details {
-/*  border:1px solid #669999;
-  padding:4px; */
-  margin:0 0 1em;
-}
-
-/* API reference: a container for the
-.tagdata blocks that make up the detailed
-description */
-.jd-details-descr {
-  padding:0;
-  margin:.5em .25em;
-}
-
-/* API reference: a block containing
-a detailed description, a params table,
-seealso list, etc */
-.jd-tagdata {
-  margin:.5em 1em;
-}
-
-.jd-tagdata p {
-  margin:0 0 1em 1em;
-}
-
-/* API reference: adjustments to
-the detailed description block */
-.jd-tagdescr {
-  margin:.25em 0 .75em 0;
-}
-
-.jd-tagdescr ol,
-.jd-tagdescr ul {
-  margin:0 2.5em;
-  padding:0;
-}
-
-.jd-tagdescr table,
-.jd-tagdescr img {
-  margin:.25em 1em;
-}
-
-.jd-tagdescr li {
-margin:0 0 .25em 0;
-padding:0;
-}
-
-/* API reference: heading marking
-the details section for constants,
-attrs, methods, etc. */
-h4.jd-details-title {
-  font-size:1.15em;
-  background-color: #E2E2E2;
-  margin:1.5em 0 .6em;
-  padding:3px 95px 3px 3px; /* room for api-level */
-}
-
-h4.jd-tagtitle {
-  margin:0;
-}
-
-h4 .normal {
-  font-weight:normal;
-}
-
-/* API reference: heading for "Parameters", "See Also", etc.,
-in details sections */
-h5.jd-tagtitle {
-  margin:0 0 .25em 0;
-  font-size:1em;
-}
-
-.jd-tagtable {
-  margin:0;
-  background-color:transparent;
-  width:auto;
-}
-
-.jd-tagtable td,
-.jd-tagtable th {
-  border:none;
-  background-color:#fff;
-  vertical-align:top;
-  font-weight:normal;
-  padding:2px 10px;
-}
-
-.jd-tagtable th {
-  font-style:italic;
-}
-
-/* Inline api level indicator for methods */
-div.api-level {
-  font-size:.8em;
-  font-weight:normal;
-  color:#999;
-  float:right;
-  padding:0 8px 0;
-  margin-top:-30px;
-}
-
-table.jd-tagtable td,
-table.jd-tagtable th {
-  background-color:transparent;
-}
-
-table.jd-tagtable th {
-  color:inherit;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* SEARCH FILTER */
-
-#search_autocomplete {
-  font-weight:normal;
-}
-
-#search_filtered_wrapper {
-  width: 193px;
-  float: right;
-}
-#search_filtered_div {
-  position:absolute;
-  z-index:9999;
-  min-width:171px; /* +padding and border makes this match input width */
-  padding:5px;
-  border: solid 1px #C5C5C5;
-  background: white;
-  top: 35px;
-  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
-  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
-}
-
-ul#search_filtered {
-  min-width:100%;
-  margin:0;
-  list-style: none;
-  margin: 0;
-  padding: 0;
-}
-
-
-#search_filtered li{
-  line-height:1.5em;
-  margin: 0 0 2px;
-  padding: 0;
-}
-
-#search_filtered li a {
-  padding:0 5px;
-  color:#222 !important;
-}
-
-#search_filtered .jd-selected {
-  background-color: #33B5E5;
-  cursor:pointer;
-}
-#search_filtered .jd-selected,
-#search_filtered .jd-selected a {
-  color:#f7f7f7 !important;
-}
-
-.no-display {
-  display: none;
-}
-
-.jd-autocomplete {
-  padding-left: 6px;
-  padding-right: 6px;
-  padding-top: 1px;
-  padding-bottom: 1px;
-  font-size: 0.81em;
-  border: none;
-  margin: 0;
-  line-height: 1.05em;
-}
-
-.show-item {
-  display: table-row;
-}
-.hide-item {
-  display: hidden;
-}
-
-
-
-
-
-/* SEARCH RESULTS */
-
-
-#leftSearchControl .gsc-twiddle {
-  background-image : none;
-}
-
-#leftSearchControl td, #searchForm td {
-  border: 0px solid #000;
-  padding:0;
-}
-
-#leftSearchControl .gsc-resultsHeader .gsc-title {
-  padding-left : 0px;
-  font-weight : bold;
-  font-size : 13px;
-  color:#006699;
-  display : none;
-}
-
-#leftSearchControl .gsc-resultsHeader div.gsc-results-selector {
-  display : none;
-}
-
-#leftSearchControl .gsc-resultsRoot {
-  padding-top : 6px;
-}
-
-#leftSearchControl div.gs-visibleUrl-long {
-  display : block;
-  color:#006699;
-}
-
-#leftSearchControl .gsc-webResult {
-  padding:0 0 20px 0;
-}
-
-.gsc-webResult div.gs-visibleUrl-short,
-table.gsc-branding,
-.gsc-clear-button {
-  display : none;
-}
-
-.gsc-cursor-box .gsc-cursor div.gsc-cursor-page,
-.gsc-cursor-box .gsc-trailing-more-results a.gsc-trailing-more-results,
-#leftSearchControl a,
-#leftSearchControl a b {
-  color:#006699;
-}
-
-.gsc-resultsHeader {
-  display: none;
-}
-
-/* Disable built in search forms */
-.gsc-control form.gsc-search-box {
-  display : none;
-}
-table.gsc-search-box {
-  margin:6px 0 0 0;
-  border-collapse:collapse;
-}
-
-td.gsc-input {
-  padding:0 2px;
-  width:100%;
-  vertical-align:middle;
-}
-
-input.gsc-input {
-  border:1px solid #BCCDF0;
-  width:99%;
-  padding-left:2px;
-  font-size:.95em;
-}
-
-td.gsc-search-button {
-  text-align: right;
-  padding:0;
-  vertical-align:top;
-}
-
-
-#searchResults {
-  overflow:hidden; /* because the repositioned page links makes the section think it needs to scroll
-(it doesn't) */
-  height:auto;
-}
-
-#searchResults .gsc-control {
-  position:relative;
-  width:auto;
-  padding:0 0 10px;
-}
-
-#searchResults .gsc-tabsArea {
-  position:relative;
-  white-space:nowrap;
-  float:left;
-  width:200px;
-}
-
-#searchResults .gsc-above-wrapper-area {
-  display:none;
-}
-
-#searchResults .gsc-resultsbox-visible {
-  float:left;
-  width:720px;
-  margin-left:20px;
-}
-
-#searchResults .gsc-tabHeader {
-  padding: 3px 6px;
-  position:relative;
-  width:auto;
-  display:block;
-}
-
-#searchResults h2#searchTitle {
-  padding:0;
-  margin:5px 0;
-  border:none;
-}
-
-#searchResults h2#searchTitle em {
-  font-style:normal;
-  color:#33B5E5;
-}
-
-#searchResults .gsc-table-result {
-  margin:5px 0 10px 0;
-  background-color:transparent;
-}
-#searchResults .gs-web-image-box, .gs-promotion-image-box {
-  width:120px;
-}
-#searchResults .gs-web-image-box img.gs-image, .gs-promotion-image-box img.gs-promotion-image {
-  max-width:120px;
-}
-
-#searchResults .gsc-table-result .gsc-thumbnail {
-  padding:0 20px 0 0;
-}
-
-#searchResults td {
-  background-color:transparent;
-}
-
-#searchResults .gsc-expansionArea {
-  position:relative;
-}
-#searchResults .gsc-tabsArea .gsc-cursor-box {
-  width:200px;
-  padding:20px 0 0 1px;
-}
-#searchResults .gsc-cursor-page {
-  display:inline-block;
-  float:left;
-  margin:-1px 0 0 -1px;
-  padding:0;
-  height:27px;
-  width:27px;
-  text-align:center;
-  line-height:2;
-}
-
-#searchResults .gsc-tabHeader.gsc-tabhInactive,
-#searchResults .gsc-cursor-page {
-  text-decoration:none;
-  color:#258AAF;
-  border: solid 1px #DADADA;
-}
-
-#searchResults .gsc-tabHeader.gsc-tabhInactive:hover,
-#searchResults .gsc-cursor-page:hover {
-  border-color: #DBDBDB;
-  background-color: #F3F3F3;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#F9F9F9), to(#ECECEC));
-  background-image: -webkit-linear-gradient(top, #F9F9F9, #ECECEC);
-  background-image: -moz-linear-gradient(top, #F9F9F9, #ECECEC);
-  background-image: -ms-linear-gradient(top, #F9F9F9, #ECECEC);
-  background-image: -o-linear-gradient(top, #F9F9F9, #ECECEC);
-  background-image: linear-gradient(top, #F9F9F9, #ECECEC);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9',
-EndColorStr='#ececec');
-  color: #33B5E5;
-}
-
-#searchResults .gsc-tabHeader.gsc-tabhActive,
-#searchResults .gsc-tabHeader.gsc-tabhActive:hover,
-#searchResults .gsc-cursor-page.gsc-cursor-current-page,
-#searchResults .gsc-cursor-page.gsc-cursor-current-page:hover {
-  color:#fff;
-  background-color: #09C;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#2FADDB), to(#09C));
-  background-image: -webkit-linear-gradient(top, #2FADDB, #09C);
-  background-image: -moz-linear-gradient(top, #2FADDB, #09C);
-  background-image: -ms-linear-gradient(top, #2FADDB, #09C);
-  background-image: -o-linear-gradient(top, #2FADDB, #09C);
-  background-image: linear-gradient(top, #2FADDB, #09C);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#09c');
-  border: 1px solid #3990AB;
-  z-index:100;
-}
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*********** PREVIOUSLY dac-styles.css ***************/
-
-
-
-
-
-::-webkit-selection,
-::-moz-selection,
-::selection {
-  background-color: #0099cc;
-  color: #fff; }
-
-#header {
-  border-bottom:0;
-}
-
-#header .wrap {
-  max-width:940px;
-  height:41px;
-  border-bottom:1px solid;
-  border-color: #ccc;
-  position:relative;
-}
-
-.about #header .wrap {
-  border-color: #9933CC;
-}
-
-.design #header .wrap {
-  border-color: #33b5e5;
-}
-
-.develop #header .wrap {
-  border-color: #F80;
-}
-
-.distribute #header .wrap {
-  border-color: #9C0;
-}
-
-.logo a {
-  width:123px;
-  float:left;
-}
-
-#header .logo {
-  margin-top: -6px;
-  margin-left: 0px;
-  margin-bottom:0px;
-  width: 160px;
-  padding-right:10px;
-}
-
-.search {
-  height:25px;
-  margin-top: -3px;
-  margin-bottom: 0px;
-}
-
-
-
-/* Quicknav */
-.btn-quicknav {
-  width:20px;
-  height:28px;
-  float:left;
-  margin-left:6px;
-  padding-right:10px;
-  position:relative;
-  cursor:pointer;
-  border-right:1px solid #CCC;
-}
-
-.btn-quicknav a {
-  zoom:1;
-  position:absolute;
-  top:13px;
-  left:5px;
-  display:block;
-  text-indent:-9999em;
-  width:10px;
-  height:5px;
-  background:url(../images/quicknav_arrow.png) no-repeat;
-}
-
-.btn-quicknav a.arrow-active {
-  background-position: 0 -5px;
-  display:none;
-}
-
-#header-wrap.quicknav a.arrow-inactive {
-  display:none;
-}
-
-.btn-quicknav.active a.arrow-active {
-  display:block;
-}
-
-.nav-x li {
-  display:block;
-  float:left;
-  margin-right:45px;
-  -webkit-transition: all 0.25s linear;
-      -moz-transition: all 0.25s linear;
-       -ms-transition: all 0.25s linear;
-        -o-transition: all 0.25s linear;
-           transition: all 0.25s linear;
-}
-
-#header-wrap.quicknav .nav-x li {
-  min-width:160px;
-  margin-right:20px;
-}
-
-#header-wrap.quicknav li.last {
-  margin-right:0px;
-}
-
-#quicknav {
- float:none; 
- clear:both;
- margin-left:180px;
- margin-top:-30px;
- display:none;
- overflow:hidden;
-}
-
-#header-wrap.quicknav #quicknav {
-
-}
-
-#quicknav ul {
-  margin:10px 0;
-  padding:0;
-}
-
-#quicknav ul li.design {
-  border-top:1px solid #33b5e5;
-}
-
-#quicknav ul li.develop {
-  border-top:1px solid #FF8800;
-}
-
-#quicknav ul li.distribute {
-  border-top:1px solid #99cc00;
-}
-
-#quicknav ul li {
-  display:block;
-  float:left;
-  margin:0 20px 0 0;
-  min-width:140px;
-}
-
-#quicknav ul li.last {
-  margin-right:0px;
-}
-
-#quicknav ul li ul li {
-  float:none;
-}
-
-#quicknav ul li ul li a {
-  color:#222;
-}
-
-#quicknav ul li li ul,
-#quicknav ul li li ul li {
-  margin:0;
-}
-
-#quicknav ul li li ul li:before {
-  content:"\21B3";
-}
-
-#header-wrap {
-   -webkit-transition: all 0.25s ease-out;
-      -moz-transition: all 0.25s ease-out;
-       -ms-transition: all 0.25s ease-out;
-        -o-transition: all 0.25s ease-out;
-           transition: all 0.25s ease-out;
-
-}
-
-#header-wrap.quicknav {
-  height:170px;
-  
-}
-
-/* SEARCH AND MORE */
-.search {
-  position: absolute;
-  width: 50px;
-  height:28px;
-  display: block;
-  margin-top:-3px;
-  margin-bottom:7px;
-  overflow:hidden;
-  z-index:100;
-  right:54px;
-  -webkit-transition: width 0.4s ease;
-     -moz-transition: width 0.4s ease;
-       -o-transition: width 0.4s ease;
-          transition: width 0.4s ease;
-}
-
-.search #search-btn {
-  width:50px;
-  height:28px;
-  background:url(../images/icon_search.png) no-repeat;
-  float:left;
-}
-
-.search-inner {
-  width:245px;
-}
-
-.search:hover, .search.active {
-  width:245px;
-}
-
-.search .bottom, .search .left, .search .right {
-	position: absolute;
-	background-color: #a2a2a2
-}
-
-.search .bottom {
-	width: 214px;
-	height: 1px;
-	top: 24px;
-	left: 0
-}
-
-.search .left, .search .right {	
-	height: 5px;
-	width: 1px
-}
-
-.search .left {
-  top: 22px;
-  left: 56px;
-  background-color:#CCC;
-}
-
-.search .right {
-  top: 22px;
-  left: 238px;
-  background-color:#CCC;
-}
-
-.search form {
-	margin-top: 2px;
-	width: 162px;
-	float:left;
-}
-
-.search form input {
-	color: #2f2f2f;
-	font-size: 0.95em;
-	width: 178px;  
-	border: none;
-	margin-left: 6px;  
-	z-index: 1500;  
-  position: relative;
-	background-color: transparent;
-	border-bottom:1px solid #CCC;
-	padding:0 0 0 4px;
-	outline:none;
-	height:24px;
-}
-
-.search:hover form input {
-  border-bottom:1px solid #33B5E5;
-}
-
-.search:hover .bottom, .search:hover .left, .search:hover .right {
-	background-color: #33b5e5;
-}
-
-.search:hover #search-btn {
-	background-position: 0 -28px
-}
-
-.search form input:focus {
-	color: #222;
-	font-weight: bold
-}
-
-.moremenu {
-  float: right;
-	position: relative;
-	width: 50px;
-	height:28px;
-  display: block;
-  margin-top:-3px;
-  margin-bottom:7px;
-  overflow:hidden;
-  -webkit-transition: width 0.25s ease;
-     -moz-transition: width 0.25s ease;
-       -o-transition: width 0.25s ease;
-          transition: width 0.25s ease;
-}
-
-.moremenu #more-btn {
-  width:40px;
-  height:28px;
-  background:url(../images/icon_more.png) no-repeat;
-  border-left:1px solid #CCC;
-  float:left;
-  cursor:pointer;
-}
-
-.moremenu:hover #more-btn {
-  background-position:0 -28px;
-}
-
-.morehover {
-  position:absolute;
-  right:6px;
-  top:-9px;
-  width:40px;
-  height:35px;
-  z-index:99;
-  overflow:hidden;
-
-  -webkit-opacity:0;
-     -moz-opacity:0;
-       -o-opacity:0;
-          opacity:0;
-
-  -webkit-transform-origin:100% 0%;
-     -moz-transform-origin:100% 0%; 
-       -o-transform-origin:100% 0%;
-          transform-origin:100% 0%;
-  
-  -webkit-transition-property: -webkit-opacity;
-  -webkit-transition-duration: .25s;
-  -webkit-transition-timing-function:ease;
-
-  -moz-transition-property: -webkit-opacity;
-  -moz-transition-duration: .25s;
-  -moz-transition-timing-function:ease;
-
-  -o-transition-property: -webkit-opacity;
-  -o-transition-duration: .25s;
-  -o-transition-timing-function:ease;
-  
-  -transition-property: -webkit-opacity;
-  -transition-duration: .25s;
-  -transition-timing-function:ease;
-}
-
-.morehover:hover {
-  opacity:1;
-  height:385px;
-  width:268px;
-  -webkit-transition-property:height,  -webkit-opacity;
-}
-
-.morehover .top {
-  width:268px;
-  height:39px;
-  background:url(../images/more_top.png) no-repeat;
-}
-
-.morehover .mid {
-  width:228px;
-  background:url(../images/more_mid.png) repeat-y;
-  padding:10px 20px 0 20px;
-}
-
-.morehover .mid .header {
-  border-bottom:1px solid #ccc;
-  font-weight:bold;
-}
-
-.morehover .bottom {
-  width:268px;
-  height:6px;
-  background:url(../images/more_bottom.png) no-repeat;
-}
-
-.morehover ul {
-  margin:10px 10px 20px 0;
-}
-
-.morehover ul li {
-  list-style:none;
-}
-
-.morehover ul li.active a,
-.morehover ul li.active a:hover {
-  color:#222 !important;
-}
-
-.morehover ul li.active img {
-  margin-right:4px;
-}
-
-
-
-
-/* MARQUEE */
-.slideshow-container {
-	width:100%;
-	overflow:hidden;
-	position:relative;
-}
-.slideshow-container .slideshow-prev {
-	position:absolute;
-	top:50%;
-	left:0px;
-	margin-top:-36px;
-	z-index:99;
-}
-.slideshow-container .slideshow-next {
-	position:absolute;
-	top:50%;
-	margin-top:-36px;
-	z-index:99;
-	right:0px;
-}
-
-.slideshow-container .pagination {
-	position:absolute;
-	bottom:20px;
-	width:100%;
-	text-align:center;
-	z-index:99;
-}
-.slideshow-container .pagination ul {
-	margin:0;
-}
-.slideshow-container .pagination ul li{
-	display: inline-block;
-	width:12px;
-	height:12px;
-	text-indent:-8000px;
-	list-style:none;
-	margin: 0 2px;
-	border-radius:6px;
-	background-color:#ccc;
-	cursor:pointer;
-        -webkit-transition:color .5s ease-in;  
-        -moz-transition:color .5s ease-in;  
-        -o-transition:color .5s ease-in;  
-        transition:color .5s ease-in;
-}
-.slideshow-container .pagination ul li:hover {
-	background-color:#999;
-}
-.slideshow-container .pagination ul li.active {
-	background-color:#33b5e5;
-}
-.slideshow-container .pagination ul li.active:hover {
-	background-color:#33b5e5;
-}
-.slideshow-container ul li {
-	display:inline;
-	list-style:none;
-}
-
-
-
-
-a.download-sdk {
-    float:right;
-    margin:-10px 0;
-    height:30px;
-    padding-top:4px;
-    padding-bottom:0px;
-}
-
-#nav-x {
-  padding-top: 14px;
-}
-
-#nav-x .wrap {
-  min-height:34px;
-}
-
-#nav-x .wrap,
-#searchResults.wrap {
-    max-width:940px;
-    border-bottom:1px solid #CCC;
-}
-
-#searchResults.wrap #leftSearchControl {
-  min-height:700px
-}
-.nav-x {
-    margin-left:0;
-    margin-bottom:0;
-}
-
-
-
-
-
-
-
-
-
-
-/*
- * CSS Styles that are needed by jScrollPane for it to operate correctly.
- */
-
-.jspContainer {
-  overflow: hidden;
-  position: relative;
-}
-
-.jspPane {
-  position: absolute;
-  overflow: hidden;
-  width:auto !important; /* to avoid cut-off api names in reference in horiz scroll */
-}
-
-.jspVerticalBar {
-  position: absolute;
-  top: 0;
-  right: 0;
-  width: 4px;
-  height: 100%;
-  background: #f5f5f5;
-}
-
-.jspHorizontalBar {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 4px;
-  background: #f5f5f5;
-}
-
-.jspVerticalBar *,
-.jspHorizontalBar * {
-  margin: 0;
-  padding: 0;
-}
-.jspCap {
-  display: block;
-}
-
-.jspVerticalBar .jspCap {
-  height: 4px;
-}
-
-.jspHorizontalBar .jspCap {
-  width: 0;
-  height: 100%;
-}
-
-.jspHorizontalBar .jspCap {
-  float: left;
-}
-
-.jspTrack {
-  position: relative;
-}
-
-.jspDrag {
-  background: #bbb;
-  position: relative;
-  top: 0;
-  left: 0;
-  cursor: pointer;
-}
-
-.jspDrag:hover,
-.jspDrag:active {
-  border-color: #09c;
-  background-color: #4cadcb;
-  background-image: -webkit-gradient(linear, left top, right top, from(#5dbcd9), to(#4cadcb));
-  background-image: -webkit-linear-gradient(left, #5dbcd9, #4cadcb);
-  background-image: -moz-linear-gradient(left, #5dbcd9, #4cadcb);
-  background-image: -ms-linear-gradient(left, #5dbcd9, #4cadcb);
-  background-image: -o-linear-gradient(left, #5dbcd9, #4cadcb);
-  background-image: linear-gradient(left, #5dbcd9, #4cadcb);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9', EndColorStr='#4cadcb');	
-}
-
-.jspHorizontalBar .jspTrack,
-.jspHorizontalBar .jspDrag {
-  float: left;
-  height: 100%;
-}
-
-.jspArrow {
-  background: #999;
-  text-indent: -20000px;
-  display: block;
-  cursor: pointer;
-}
-
-.jspArrow.jspDisabled {
-  cursor: default;
-  background: #ccc;
-}
-
-.jspVerticalBar .jspArrow {
-  height: 16px;
-}
-
-.jspHorizontalBar .jspArrow {
-  width: 16px;
-  float: left;
-  height: 100%;
-}
-
-.jspVerticalBar .jspArrow:focus {
-  outline: none;
-}
-
-.jspCorner {
-  float: left;
-  height: 100%;
-}
-
-/* Yuk! CSS Hack for IE6 3 pixel bug :( */
-* html .jspCorner {
-  margin: 0 -3px 0 0;
-}
-/******* end of jscrollpane *********/
-
-
-
-
-
-/************ DEVELOP HOMEPAGE ******************/
-
-/* Slideshow */
-.slideshow-develop {
-  height: 300px;
-  width: 940px;
-  position: relative;
-  overflow:hidden;
-}
-.slideshow-develop .frame {
-  width: 940px;
-  height: 300px;
-}
-.slideshow-develop img.play {
-  max-width:350px;
-  max-height:240px;
-  margin:20px 0 0 90px;
-  -webkit-transform: perspective(800px ) rotateY( 35deg );
-  box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3);
-  -moz-box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3);
-  -webkit-box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3);
-}
-.slideshow-develop img.play.no-shadow {
-    box-shadow: none;
-    -moz-box-shadow: none;
-    -webkit-box-shadow: none;
-}
-.slideshow-develop img.play.no-transform {
-  -webkit-transform: none;
-}
-.slideshow-develop a.slideshow-next {
-  background: url(../images/arrow-right-develop.png);
-}
-.slideshow-develop a.slideshow-prev {
-  background: url(../images/arrow-left-develop.png);
-}
-.slideshow-develop .content-right {
-  float: left;
-}
-.slideshow-develop .content-right p.title-intro {
-  position:absolute;
-  margin:0;
-}
-.slideshow-develop .content-right h2 {
-  padding:0;
-  margin-bottom:10px;
-  border:none;
-}
-.slideshow-develop .item {
-  height: 300px;
-  width: 940px;
-}
-.slideshow-develop .pagination ul li.active {
-  background-color: #F80;
-}
-.slideshow-develop .pagination ul li.active:hover {
-  background-color: #F80;
-}
-
-/* Feeds */
-.feed ul {
-  margin: 0;
-}
-.feed .feed-nav {
-  height: 25px;
-  border-bottom: 1px solid #CCC;
-}
-.feed .feed-nav li {
-  list-style: none;
-  float: left;
-  height: 21px; /* +4px bottom border = 25px; same as .feed-nav */
-  margin-right: 25px;
-  cursor: pointer;
-}
-.feed .feed-nav li.active {
-  color: #000;
-  border-bottom: 4px solid #F80;
-}
-.feed .feed-container {
-  overflow: hidden;
-  width: 460px;
-}
-.feed .feed-container .feed-frame {
-  width: 1000px;
-}
-.feed .feed-container .feed-frame ul {
-  float: left;
-  width:460px;
-}
-.feed .feed-container .feed-frame ul ul {
-  float: none;
-  margin:10px 0 0 30px;
-}
-.feed .feed-container .feed-frame li {
-  list-style: none;
-  margin: 20px 0 20px 0;
-  width: 460px;
-  height:93px;
-}
-.feed .feed-container .feed-frame li.playlist {
-  height:auto;
-}
-.feed .feed-container .feed-frame li.playlist a {
-  height:93px;
-  display:block;
-}
-.feed .feed-container .feed-frame li.more {
-  height:20px;
-  margin:10px 0 5px 5px;
-}
-.feed .feed-container .feed-frame li.more a {
-  height:inherit;
-}
-.feed .feed-container .feed-frame li.playlist-video {
-  list-style: none;
-  margin: 0;
-  width: 460px;
-  height:55px;
-  font-size:12px;
-}
-.feed .feed-container .feed-frame li.playlist-video a {
-  height:45px;
-  padding:5px;
-}
-.feed .feed-container .feed-frame li.playlist-video h5 {
-  font-size:12px;
-  line-height:13px;
-  margin:0;
-}
-.feed .feed-container .feed-frame li.playlist-video p {
-  margin:5px 0 0;
-  line-height:15px;
-}
-.feed-container .feed-frame div.feed-image {
-  float: left;
-  border: 1px solid #999;
-  margin:0 20px 0 0;
-  width:122px;
-  height:92px;
-  background:url('../images/blog-default.png') no-repeat 0 0;
-  background-size:180px;
-}
-#jd-content .feed .feed-container .feed-frame li img {
-  float: left;
-  border: 1px solid #999;
-  margin:0 20px 0 0;
-  width:122px;
-  height:92px;
-}
-#jd-content .feed .feed-container .feed-frame li.playlist-video img {
-  width:inherit;
-  height:inherit;
-}
-
-.feed .feed-container .feed-frame li a,
-.feed .feed-container .feed-frame li a:active {
-  color:#555 !important;
-}
-
-.feed .feed-container .feed-frame li a:hover,
-.feed .feed-container .feed-frame li a:hover * {
-  color:#7AA1B0 !important;
-}
-
-/* Video player */
-#player-wrapper {
-  display:none;
-  margin: -1px auto 0;
-  position: relative;
-  width: 940px;
-  height: 0px;
-}
-#player-frame {
-  background: #EFEFEF;
-  border: 1px solid #CCC;
-  padding: 0px 207px;
-  z-index: 10; /* stay above marque, but below search suggestions */
-  width: 525px;
-  height: 330px;
-  position: relative;
-}
-
-
-
-/************ DISTRIBUTE HOMEPAGE ***************/
-
-.marquee {
-  width: 760px;
-}
-.marquee .main-img {
-  float: left;
-  margin-top: 20px;
-  width: 490px;
-}
-.marquee .copy {
-  width: 270px;
-  float: left;
-  margin-top: 30px;
-}
-.distribute-features {
-  margin: 0;
-}
-.distribute-features ul {
-  margin: 0;
-}
-.distribute-features ul li {
-  list-style: none;
-  float: left;
-  border-top: 1px solid #9C0;
-  width: 220px;
-  margin-right: 50px;
-}
-.distribute-features ul li.last {
-  margin-right: 0px;
-}
-
-
-/************ DEVELOP TOPIC CONTAINERS ************/
-
-.landing-banner,
-.landing-docs {
-  margin:20px 0 0;
-}
-.landing-banner .col-6:first-child,
-.landing-docs .col-6:first-child,
-.landing-docs .col-12 {
-  margin-left:0;
-  min-height:280px;
-}
-.landing-banner .col-6:last-child,
-.landing-docs .col-6:last-child,
-.landing-docs .col-12 {
-  margin-right:0;
-}
-
-.landing-banner h1 {
-  margin-top:0;
-}
-.landing-docs {
-  clear:left;
-}
-.landing-docs h3 {
-  font-size:14px;
-  line-height:21px;
-  color:#555;
-  text-transform:uppercase;
-  border-bottom:1px solid #CCC;
-  margin:0 0 20px;
-}
-.landing-docs a {
-  color:#333 !important;
-}
-.landing-docs a:hover,
-.landing-docs a:hover * {
-  color:#7AA1B0 !important
-}
-
-.plusone {
-  float:right;
-}
-
-
-
-/************* HOME/LANDING PAGE *****************/
-
-.slideshow-home {
-  height: 500px;
-  width: 940px;
-  border-bottom: 1px solid #CCC;
-  position: relative;
-  margin: 0;
-}
-.slideshow-home .frame {
-  width: 940px;
-  height: 500px;
-}
-.slideshow-home .content-left {
-  float: left;
-  text-align: center;
-  vertical-align: center;
-  margin: 0 0 0 35px;
-}
-.slideshow-home .content-right {
-  margin: 80px 0 0 0;
-}
-.slideshow-home .content-right p {
-  margin-bottom: 10px;
-}
-.slideshow-home .content-right p:last-child {
-  margin-top: 15px;
-}
-.slideshow-home .content-right h1 {
-  padding:0;
-}
-.slideshow-home .item {
-  height: 500px;
-  width: 940px;
-}
-.home-sections {
-  padding: 30px 20px 20px;
-  margin: 20px 0;
-  background: -webkit-linear-gradient(top, #F6F6F6,#F9F9F9);
-}
-.home-sections ul {
-  margin: 0;
-}
-.home-sections ul li {
-  float: left;
-  display: block;
-  list-style: none;
-  width: 170px;
-  height: 35px;
-  border: 1px solid #ccc;
-  background: white;
-  margin-right: 10px;
-  border-radius: 1px;
-  -webkit-border-radius: 1px;
-  -moz-border-radius: 1px;
-  box-shadow: 1px 1px 5px #EEE;
-  -webkit-box-shadow: 1px 1px 5px #EEE;
-  -moz-box-shadow: 1px 1px 5px #EEE;
-  background: white;
-}
-.home-sections ul li:hover {
-  background: #F9F9F9;
-  border: 1px solid #CCC;
-}
-.home-sections ul li a,
-.home-sections ul li a:hover {
-  font-weight: bold;
-  margin-top: 8px;
-  line-height: 18px;
-  float: left;
-  width: 100%;
-  text-align: center;
-  color: #09c !important;
-}
-.home-sections ul li a {
-  font-weight: bold;
-  margin-top: 8px;
-  line-height: 18px;
-  float: left;
-  width:100%;
-  text-align:center;
-}
-.home-sections ul li img {
-  float: left;
-  margin: -8px 0 0 10px;
-}
-.home-sections ul li.last {
-  margin-right: 0px;
-}
-#footer {
-  margin-top: -40px;
-}
diff --git a/docs/html/google/gcm/client-javadoc/deprecated-list.html b/docs/html/google/gcm/client-javadoc/deprecated-list.html
deleted file mode 100644
index d9a63c5..0000000
--- a/docs/html/google/gcm/client-javadoc/deprecated-list.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-Deprecated List
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Deprecated List";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Deprecated API</B></H2>
-</CENTER>
-<HR SIZE="4" NOSHADE>
-<B>Contents</B><UL>
-</UL>
-
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/help-doc.html b/docs/html/google/gcm/client-javadoc/help-doc.html
deleted file mode 100644
index af1bca8..0000000
--- a/docs/html/google/gcm/client-javadoc/help-doc.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-API Help
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="API Help";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H1>
-How This API Document Is Organized</H1>
-</CENTER>
-This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
-Package</H3>
-<BLOCKQUOTE>
-
-<P>
-Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
-<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL>
-</BLOCKQUOTE>
-<H3>
-Class/Interface</H3>
-<BLOCKQUOTE>
-
-<P>
-Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
-<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
-<P>
-<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
-<P>
-<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
-Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
-</BLOCKQUOTE>
-<H3>
-Annotation Type</H3>
-<BLOCKQUOTE>
-
-<P>
-Each annotation type has its own separate page with the following sections:<UL>
-<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL>
-</BLOCKQUOTE>
-</BLOCKQUOTE>
-<H3>
-Enum</H3>
-<BLOCKQUOTE>
-
-<P>
-Each enum has its own separate page with the following sections:<UL>
-<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL>
-</BLOCKQUOTE>
-<H3>
-Tree (Class Hierarchy)</H3>
-<BLOCKQUOTE>
-There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
-<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
-</BLOCKQUOTE>
-<H3>
-Deprecated API</H3>
-<BLOCKQUOTE>
-The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
-<H3>
-Index</H3>
-<BLOCKQUOTE>
-The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
-<H3>
-Prev/Next</H3>
-These links take you to the next or previous class, interface, package, or related page.<H3>
-Frames/No Frames</H3>
-These links show and hide the HTML frames.  All pages are available with or without frames.
-<P>
-<H3>
-Serialized Form</H3>
-Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
-<P>
-<H3>
-Constant Field Values</H3>
-The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.
-<P>
-<FONT SIZE="-1">
-<EM>
-This help file applies to API documentation generated using the standard doclet.</EM>
-</FONT>
-<BR>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/index-all.html b/docs/html/google/gcm/client-javadoc/index-all.html
deleted file mode 100644
index 408edee..0000000
--- a/docs/html/google/gcm/client-javadoc/index-all.html
+++ /dev/null
@@ -1,354 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-Index
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="./default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Index";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <HR>
-<A NAME="_C_"><!-- --></A><H2>
-<B>C</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#checkDevice(Context)"><B>checkDevice(Context)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Checks if the device has the proper dependencies installed.
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#checkManifest(Context)"><B>checkManifest(Context)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Checks that the application manifest is properly configured.
-<DT><A HREF="./com/google/android/gcm/package-summary.html"><B>com.google.android.gcm</B></A> - package com.google.android.gcm<DD>&nbsp;</DL>
-<HR>
-<A NAME="_D_"><!-- --></A><H2>
-<B>D</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#DEFAULT_INTENT_SERVICE_CLASS_NAME"><B>DEFAULT_INTENT_SERVICE_CLASS_NAME</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#DEFAULT_ON_SERVER_LIFESPAN_MS"><B>DEFAULT_ON_SERVER_LIFESPAN_MS</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Default lifespan (7 days) of the <A HREF="./com/google/android/gcm/GCMRegistrar.html#isRegisteredOnServer(Context)"><CODE>isRegisteredOnServer(Context)</CODE></A>
- flag until it is considered expired.
-</DL>
-<HR>
-<A NAME="_E_"><!-- --></A><H2>
-<B>E</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#ERROR_ACCOUNT_MISSING"><B>ERROR_ACCOUNT_MISSING</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>There is no Google account on the phone.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#ERROR_AUTHENTICATION_FAILED"><B>ERROR_AUTHENTICATION_FAILED</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Bad password.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#ERROR_INVALID_PARAMETERS"><B>ERROR_INVALID_PARAMETERS</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>The request sent by the phone does not contain the expected parameters.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#ERROR_INVALID_SENDER"><B>ERROR_INVALID_SENDER</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>The sender account is not recognized.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#ERROR_PHONE_REGISTRATION_ERROR"><B>ERROR_PHONE_REGISTRATION_ERROR</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Incorrect phone registration with Google.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#ERROR_SERVICE_NOT_AVAILABLE"><B>ERROR_SERVICE_NOT_AVAILABLE</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>The device can't read the response, or there was a 500/503 from the
- server that can be retried later.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#EXTRA_APPLICATION_PENDING_INTENT"><B>EXTRA_APPLICATION_PENDING_INTENT</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Extra used on <A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION">"com.google.android.c2dm.intent.REGISTER"</A> to get the
- application info.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#EXTRA_ERROR"><B>EXTRA_ERROR</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Extra used on <A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- an error when the registration fails.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#EXTRA_FROM"><B>EXTRA_FROM</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Extra used on <A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">"com.google.android.c2dm.intent.RECEIVE"</A> to indicate which
- sender (Google API project id) sent the message.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#EXTRA_REGISTRATION_ID"><B>EXTRA_REGISTRATION_ID</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Extra used on <A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- the registration id when the registration succeeds.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#EXTRA_SENDER"><B>EXTRA_SENDER</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Extra used on <A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION">"com.google.android.c2dm.intent.REGISTER"</A> to indicate which
- senders (Google API project ids) can send messages to the application.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#EXTRA_SPECIAL_MESSAGE"><B>EXTRA_SPECIAL_MESSAGE</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Type of message present in the <A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE">"com.google.android.c2dm.intent.RECEIVE"</A> intent.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#EXTRA_TOTAL_DELETED"><B>EXTRA_TOTAL_DELETED</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Number of messages deleted by the server because the device was idle.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#EXTRA_UNREGISTERED"><B>EXTRA_UNREGISTERED</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Extra used on <A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK">"com.google.android.c2dm.intent.REGISTRATION"</A> to indicate
- that the application has been unregistered.
-</DL>
-<HR>
-<A NAME="_G_"><!-- --></A><H2>
-<B>G</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><B>GCMBaseIntentService</B></A> - Class in <A HREF="./com/google/android/gcm/package-summary.html">com.google.android.gcm</A><DD>Skeleton for application-specific <CODE>IntentService</CODE>s responsible for
- handling communication from Google Cloud Messaging service.<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#GCMBaseIntentService()"><B>GCMBaseIntentService()</B></A> - 
-Constructor for class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Constructor that does not set a sender id, useful when the sender id
- is context-specific.
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#GCMBaseIntentService(java.lang.String...)"><B>GCMBaseIntentService(String...)</B></A> - 
-Constructor for class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Constructor used when the sender id(s) is fixed.
-<DT><A HREF="./com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm"><B>GCMBroadcastReceiver</B></A> - Class in <A HREF="./com/google/android/gcm/package-summary.html">com.google.android.gcm</A><DD><CODE>BroadcastReceiver</CODE> that receives GCM messages and delivers them to
- an application-specific <A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><CODE>GCMBaseIntentService</CODE></A> subclass.<DT><A HREF="./com/google/android/gcm/GCMBroadcastReceiver.html#GCMBroadcastReceiver()"><B>GCMBroadcastReceiver()</B></A> - 
-Constructor for class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm">GCMBroadcastReceiver</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm"><B>GCMConstants</B></A> - Class in <A HREF="./com/google/android/gcm/package-summary.html">com.google.android.gcm</A><DD>Constants used by the GCM library.<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm"><B>GCMRegistrar</B></A> - Class in <A HREF="./com/google/android/gcm/package-summary.html">com.google.android.gcm</A><DD>Utilities for device registration.<DT><A HREF="./com/google/android/gcm/GCMBroadcastReceiver.html#getGCMIntentServiceClassName(Context)"><B>getGCMIntentServiceClassName(Context)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm">GCMBroadcastReceiver</A>
-<DD>Gets the class name of the intent service that will handle GCM messages.
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#getRegisterOnServerLifespan(Context)"><B>getRegisterOnServerLifespan(Context)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Gets how long (in milliseconds) the <A HREF="./com/google/android/gcm/GCMRegistrar.html#isRegistered(Context)"><CODE>isRegistered(Context)</CODE></A>
- property is valid.
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#getRegistrationId(Context)"><B>getRegistrationId(Context)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Gets the current registration id for application on GCM service.
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#getSenderIds(Context)"><B>getSenderIds(Context)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Gets the sender ids.
-</DL>
-<HR>
-<A NAME="_I_"><!-- --></A><H2>
-<B>I</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_LIBRARY_RETRY"><B>INTENT_FROM_GCM_LIBRARY_RETRY</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Intent used by the GCM library to indicate that the registration call
- should be retried.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_MESSAGE"><B>INTENT_FROM_GCM_MESSAGE</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Intent sent by GCM containing a message.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_FROM_GCM_REGISTRATION_CALLBACK"><B>INTENT_FROM_GCM_REGISTRATION_CALLBACK</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Intent sent by GCM indicating with the result of a registration request.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_REGISTRATION"><B>INTENT_TO_GCM_REGISTRATION</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Intent sent to GCM to register the application.
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#INTENT_TO_GCM_UNREGISTRATION"><B>INTENT_TO_GCM_UNREGISTRATION</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Intent sent to GCM to unregister the application.
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#isRegistered(Context)"><B>isRegistered(Context)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Checks whether the application was successfully registered on GCM
- service.
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#isRegisteredOnServer(Context)"><B>isRegisteredOnServer(Context)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Checks whether the device was successfully registered in the server side,
- as set by <A HREF="./com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(Context, boolean)"><CODE>setRegisteredOnServer(Context, boolean)</CODE></A>.
-</DL>
-<HR>
-<A NAME="_O_"><!-- --></A><H2>
-<B>O</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#onDeletedMessages(Context, int)"><B>onDeletedMessages(Context, int)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Called when the GCM server tells pending messages have been deleted
- because the device was idle.
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#onDestroy(Context)"><B>onDestroy(Context)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Clear internal resources.
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#onError(Context, java.lang.String)"><B>onError(Context, String)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Called on registration or unregistration error.
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#onHandleIntent(Intent)"><B>onHandleIntent(Intent)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#onMessage(Context, Intent)"><B>onMessage(Context, Intent)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Called when a cloud message has been received.
-<DT><A HREF="./com/google/android/gcm/GCMBroadcastReceiver.html#onReceive(Context, Intent)"><B>onReceive(Context, Intent)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm">GCMBroadcastReceiver</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#onRecoverableError(Context, java.lang.String)"><B>onRecoverableError(Context, String)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Called on a registration error that could be retried.
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#onRegistered(Context, java.lang.String)"><B>onRegistered(Context, String)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Called after a device has been registered.
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#onUnregistered(Context, java.lang.String)"><B>onUnregistered(Context, String)</B></A> - 
-Method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>Called after a device has been unregistered.
-</DL>
-<HR>
-<A NAME="_P_"><!-- --></A><H2>
-<B>P</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#PERMISSION_GCM_INTENTS"><B>PERMISSION_GCM_INTENTS</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Permission necessary to receive GCM intents.
-</DL>
-<HR>
-<A NAME="_R_"><!-- --></A><H2>
-<B>R</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#register(Context, java.lang.String...)"><B>register(Context, String...)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Initiate messaging registration for the current application.
-</DL>
-<HR>
-<A NAME="_S_"><!-- --></A><H2>
-<B>S</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#setRegisteredOnServer(Context, boolean)"><B>setRegisteredOnServer(Context, boolean)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Sets whether the device was successfully registered in the server side.
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#setRegisterOnServerLifespan(Context, long)"><B>setRegisterOnServerLifespan(Context, long)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Sets how long (in milliseconds) the <A HREF="./com/google/android/gcm/GCMRegistrar.html#isRegistered(Context)"><CODE>isRegistered(Context)</CODE></A>
- flag is valid.
-</DL>
-<HR>
-<A NAME="_T_"><!-- --></A><H2>
-<B>T</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMBaseIntentService.html#TAG"><B>TAG</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm">GCMBaseIntentService</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_U_"><!-- --></A><H2>
-<B>U</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMRegistrar.html#unregister(Context)"><B>unregister(Context)</B></A> - 
-Static method in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm">GCMRegistrar</A>
-<DD>Unregister the application.
-</DL>
-<HR>
-<A NAME="_V_"><!-- --></A><H2>
-<B>V</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/GCMConstants.html#VALUE_DELETED_MESSAGES"><B>VALUE_DELETED_MESSAGES</B></A> - 
-Static variable in class com.google.android.gcm.<A HREF="./com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm">GCMConstants</A>
-<DD>Special message indicating the server deleted the pending messages.
-</DL>
-<HR>
-<A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> 
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/index.html b/docs/html/google/gcm/client-javadoc/index.html
deleted file mode 100644
index fa7af90..0000000
--- a/docs/html/google/gcm/client-javadoc/index.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Aug 22 13:22:47 PDT 2012-->
-<TITLE>
-Generated Documentation (Untitled)
-</TITLE>
-<SCRIPT type="text/javascript">
-    targetPage = "" + window.location.search;
-    if (targetPage != "" && targetPage != "undefined")
-        targetPage = targetPage.substring(1);
-    if (targetPage.indexOf(":") != -1)
-        targetPage = "undefined";
-    function loadFrames() {
-        if (targetPage != "" && targetPage != "undefined")
-             top.classFrame.location = top.targetPage;
-    }
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-</HEAD>
-<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
-<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
-<FRAME src="com/google/android/gcm/package-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
-<NOFRAMES>
-<H2>
-Frame Alert</H2>
-
-<P>
-This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
-<BR>
-Link to<A HREF="com/google/android/gcm/package-summary.html">Non-frame version.</A>
-</NOFRAMES>
-</FRAMESET>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/overview-tree.html b/docs/html/google/gcm/client-javadoc/overview-tree.html
deleted file mode 100644
index 392f3e0..0000000
--- a/docs/html/google/gcm/client-javadoc/overview-tree.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 22 13:22:47 PDT 2012 -->
-<TITLE>
-Class Hierarchy
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-22">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Class Hierarchy";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For All Packages</H2>
-</CENTER>
-<DL>
-<DT><B>Package Hierarchies:</B><DD><A HREF="com/google/android/gcm/package-tree.html">com.google.android.gcm</A></DL>
-<HR>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">java.lang.Object<UL>
-<LI TYPE="circle">BroadcastReceiver<UL>
-<LI TYPE="circle">com.google.android.gcm.<A HREF="com/google/android/gcm/GCMBroadcastReceiver.html" title="class in com.google.android.gcm"><B>GCMBroadcastReceiver</B></A></UL>
-<LI TYPE="circle">com.google.android.gcm.<A HREF="com/google/android/gcm/GCMConstants.html" title="class in com.google.android.gcm"><B>GCMConstants</B></A><LI TYPE="circle">com.google.android.gcm.<A HREF="com/google/android/gcm/GCMRegistrar.html" title="class in com.google.android.gcm"><B>GCMRegistrar</B></A><LI TYPE="circle">IntentService<UL>
-<LI TYPE="circle">com.google.android.gcm.<A HREF="com/google/android/gcm/GCMBaseIntentService.html" title="class in com.google.android.gcm"><B>GCMBaseIntentService</B></A></UL>
-</UL>
-</UL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/client-javadoc/package-list b/docs/html/google/gcm/client-javadoc/package-list
deleted file mode 100644
index 149691e..0000000
--- a/docs/html/google/gcm/client-javadoc/package-list
+++ /dev/null
@@ -1 +0,0 @@
-com.google.android.gcm
diff --git a/docs/html/google/gcm/client-javadoc/resources/inherit.gif b/docs/html/google/gcm/client-javadoc/resources/inherit.gif
deleted file mode 100644
index c814867..0000000
--- a/docs/html/google/gcm/client-javadoc/resources/inherit.gif
+++ /dev/null
Binary files differ
diff --git a/docs/html/google/gcm/client-javadoc/stylesheet.css b/docs/html/google/gcm/client-javadoc/stylesheet.css
deleted file mode 100644
index 6ea9e51..0000000
--- a/docs/html/google/gcm/client-javadoc/stylesheet.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Javadoc style sheet */
-
-/* Define colors, fonts and other style attributes here to override the defaults */
-
-/* Page background color */
-body { background-color: #FFFFFF; color:#000000 }
-
-/* Headings */
-h1 { font-size: 145% }
-
-/* Table colors */
-.TableHeadingColor     { background: #CCCCFF; color:#000000 } /* Dark mauve */
-.TableSubHeadingColor  { background: #EEEEFF; color:#000000 } /* Light mauve */
-.TableRowColor         { background: #FFFFFF; color:#000000 } /* White */
-
-/* Font used in left-hand frame lists */
-.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
-.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
-.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
-
-/* Navigation bar fonts and colors */
-.NavBarCell1    { background-color:#EEEEFF; color:#000000} /* Light mauve */
-.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
-.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
-.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
-
-.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
-.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
-
diff --git a/docs/html/google/gcm/demo.jd b/docs/html/google/gcm/demo.jd
index 6dfae2d..1b6b368 100644
--- a/docs/html/google/gcm/demo.jd
+++ b/docs/html/google/gcm/demo.jd
@@ -38,11 +38,7 @@
   <li>A web server containing a page where you can send messages.</li>
   <li>An Android application that receives and displays such messages.</li>
 </ul>
-<p>Here is the API reference documentation for the helper libraries on which the demo is based:</p>
-<ul>
-  <li><a href="{@docRoot}google/gcm/client-javadoc/index.html">Client Reference</a></li>
-  <li><a href="{@docRoot}google/gcm/server-javadoc/index.html">Server Reference</a></li>
-</ul>
+<p>See the <a href="{@docRoot}reference/com/google/android/gcm/package-summary.html">reference</a> for the client and server helper libraries used in this demo.</p>
 
 <p>The sections below describe how to download the demo code and helper libraries from the SDK Manager. The demo code and helper libraries are also available at the <a href="http://code.google.com/p/gcm">open source site</a>.
 
diff --git a/docs/html/google/gcm/gs.jd b/docs/html/google/gcm/gs.jd
index df13373..37ef684 100644
--- a/docs/html/google/gcm/gs.jd
+++ b/docs/html/google/gcm/gs.jd
@@ -25,7 +25,7 @@
 </div>
 </div>
 
-<p>This document describes how to write an Android application and the  server-side logic, using the helper libraries (<a href="{@docRoot}google/gcm/client-javadoc/index.html">client</a> and <a href="{@docRoot}google/gcm/server-javadoc/index.html">server</a>) provided by GCM.</p>
+<p>This document describes how to write an Android application and the  server-side logic, using the client and server <a href="{@docRoot}reference/com/google/android/gcm/package-summary.html">helper libraries</a> provided by GCM.</p>
 
 
 <h2 id="create-proj">Creating a Google API project</h2>
@@ -85,7 +85,9 @@
 <p class="note"><strong>Note:</strong> If you need to rotate the key, click  <strong>Generate new key</strong>. A new key  will be created while the old one will still be active for up to 24 hours. If you want to get rid of the old key immediately (for example, if you feel it was compromised), click <strong>Delete key</strong>.</p>
 
 <h2 id="libs">Install the Helper Libraries</h2>
-<p>To perform the steps described in the following sections, you must first install the helper libraries (reference: <a href="{@docRoot}google/gcm/client-javadoc/index.html">client</a> and <a href="{@docRoot}google/gcm/server-javadoc/index.html">server</a>). From the SDK Manager, install <strong>Extras &gt; Google Cloud Messaging for Android Library</strong>. This creates a <code>gcm</code> directory under <code><em>YOUR_SDK_ROOT</em>/extras/google/</code> containing these subdirectories: <code>gcm-client</code>, <code>gcm-server</code>, <code>samples/gcm-demo-client</code>, <code>samples/gcm-demo-server</code>, and <code>samples/gcm-demo-appengine</code>.</p>
+<p>To perform the steps described in the following sections, you must first install the 
+<a href="{@docRoot}reference/com/google/android/gcm/package-summary.html">helper libraries</a>. 
+From the SDK Manager, install <strong>Extras &gt; Google Cloud Messaging for Android Library</strong>. This creates a <code>gcm</code> directory under <code><em>YOUR_SDK_ROOT</em>/extras/google/</code> containing these subdirectories: <code>gcm-client</code>, <code>gcm-server</code>, <code>samples/gcm-demo-client</code>, <code>samples/gcm-demo-server</code>, and <code>samples/gcm-demo-appengine</code>.</p>
 
 <p class="note"><strong>Note:</strong> If you don't see <strong>Extras &gt; Google Cloud Messaging for Android Library</strong> in the SDK Manager, make sure you are running version 20 or higher. Be sure to restart the SDK Manager after updating it.</p>
 
@@ -137,7 +139,7 @@
  <pre class="prettyprint pretty-xml">&lt;service android:name=&quot;.GCMIntentService&quot; /&gt;</pre>
 
 </ol>
-<p>This intent service will be called by the <code>GCMBroadcastReceiver</code> (which is is provided by GCM library), as shown in the next step. It must be a subclass of <code>com.google.android.gcm.GCMBaseIntentService</code>, must contain a public constructor, and should be named <code>my_app_package.GCMIntentService</code> (unless you use a subclass of <code>GCMBroadcastReceiver</code> that overrides the method used to name the service).</p>
+<p>This intent service will be called by the <code>GCMBroadcastReceiver</code> (which is provided by the GCM library), as shown in the next step. It must be a subclass of <code>com.google.android.gcm.GCMBaseIntentService</code>, must contain a public constructor, and should be named <code>my_app_package.GCMIntentService</code> (unless you use a subclass of <code>GCMBroadcastReceiver</code> that overrides the method used to name the service).</p>
 
 <p>The intent service must also define its sender ID(s). It does this as follows:</p>
 <ul>
diff --git a/docs/html/google/gcm/server-javadoc/allclasses-frame.html b/docs/html/google/gcm/server-javadoc/allclasses-frame.html
deleted file mode 100644
index 80ee784..0000000
--- a/docs/html/google/gcm/server-javadoc/allclasses-frame.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-All Classes
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server" target="classFrame">Constants</A>
-<BR>
-<A HREF="com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server" target="classFrame">InvalidRequestException</A>
-<BR>
-<A HREF="com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server" target="classFrame">Message</A>
-<BR>
-<A HREF="com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server" target="classFrame">Message.Builder</A>
-<BR>
-<A HREF="com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server" target="classFrame">MulticastResult</A>
-<BR>
-<A HREF="com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server" target="classFrame">Result</A>
-<BR>
-<A HREF="com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server" target="classFrame">Sender</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/allclasses-noframe.html b/docs/html/google/gcm/server-javadoc/allclasses-noframe.html
deleted file mode 100644
index 966598d..0000000
--- a/docs/html/google/gcm/server-javadoc/allclasses-noframe.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-All Classes
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<BR>
-<A HREF="com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A>
-<BR>
-<A HREF="com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>
-<BR>
-<A HREF="com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A>
-<BR>
-<A HREF="com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<BR>
-<A HREF="com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A>
-<BR>
-<A HREF="com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html
deleted file mode 100644
index 515bba4..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html
+++ /dev/null
@@ -1,807 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Constants
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Constants";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Constants.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Constants.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm.server</FONT>
-<BR>
-Class Constants</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.server.Constants</B>
-</PRE>
-<HR>
-<DL>
-<DT><PRE>public final class <B>Constants</B><DT>extends java.lang.Object</DL>
-</PRE>
-
-<P>
-Constants used on GCM service communication.
-<P>
-
-<P>
-<HR>
-
-<P>
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_DEVICE_QUOTA_EXCEEDED">ERROR_DEVICE_QUOTA_EXCEEDED</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Too many messages sent by the sender to a specific device.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_INTERNAL_SERVER_ERROR">ERROR_INTERNAL_SERVER_ERROR</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A particular message could not be sent because the GCM servers encountered
- an error.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_INVALID_REGISTRATION">ERROR_INVALID_REGISTRATION</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bad registration_id.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_INVALID_TTL">ERROR_INVALID_TTL</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Time to Live value passed is less than zero or more than maximum.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_MESSAGE_TOO_BIG">ERROR_MESSAGE_TOO_BIG</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The payload of the message is too big, see the limitations.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_MISMATCH_SENDER_ID">ERROR_MISMATCH_SENDER_ID</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The sender_id contained in the registration_id does not match the
- sender_id used to register with the GCM servers.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_MISSING_COLLAPSE_KEY">ERROR_MISSING_COLLAPSE_KEY</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collapse key is required.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_MISSING_REGISTRATION">ERROR_MISSING_REGISTRATION</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Missing registration_id.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_NOT_REGISTERED">ERROR_NOT_REGISTERED</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The user has uninstalled the application or turned off notifications.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_QUOTA_EXCEEDED">ERROR_QUOTA_EXCEEDED</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Too many messages sent by the sender.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#ERROR_UNAVAILABLE">ERROR_UNAVAILABLE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A particular message could not be sent because the GCM servers were not
- available.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#GCM_SEND_ENDPOINT">GCM_SEND_ENDPOINT</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Endpoint for sending messages.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_CANONICAL_IDS">JSON_CANONICAL_IDS</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field representing the number of messages with a canonical
- registration id.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_ERROR">JSON_ERROR</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field representing the error field of an individual request.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_FAILURE">JSON_FAILURE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field representing the number of failed messages.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_MESSAGE_ID">JSON_MESSAGE_ID</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field sent by GCM when a message was successfully sent.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_MULTICAST_ID">JSON_MULTICAST_ID</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field representing the id of the multicast request.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_PAYLOAD">JSON_PAYLOAD</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field representing the payload data.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_REGISTRATION_IDS">JSON_REGISTRATION_IDS</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field representing the registration ids.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_RESULTS">JSON_RESULTS</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field representing the result of each individual request.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#JSON_SUCCESS">JSON_SUCCESS</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSON-only field representing the number of successful messages.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#PARAM_COLLAPSE_KEY">PARAM_COLLAPSE_KEY</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP parameter for collapse key.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#PARAM_DELAY_WHILE_IDLE">PARAM_DELAY_WHILE_IDLE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP parameter for delaying the message delivery if the device is idle.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#PARAM_PAYLOAD_PREFIX">PARAM_PAYLOAD_PREFIX</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prefix to HTTP parameter used to pass key-values in the message payload.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#PARAM_REGISTRATION_ID">PARAM_REGISTRATION_ID</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP parameter for registration id.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#PARAM_TIME_TO_LIVE">PARAM_TIME_TO_LIVE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prefix to HTTP parameter used to set the message time-to-live.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#TOKEN_CANONICAL_REG_ID">TOKEN_CANONICAL_REG_ID</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Token returned by GCM when the requested registration id has a canonical
- value.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#TOKEN_ERROR">TOKEN_ERROR</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Token returned by GCM when there was an error sending a message.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html#TOKEN_MESSAGE_ID">TOKEN_MESSAGE_ID</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Token returned by GCM when a message was successfully sent.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="GCM_SEND_ENDPOINT"><!-- --></A><H3>
-GCM_SEND_ENDPOINT</H3>
-<PRE>
-public static final java.lang.String <B>GCM_SEND_ENDPOINT</B></PRE>
-<DL>
-<DD>Endpoint for sending messages.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.GCM_SEND_ENDPOINT">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="PARAM_REGISTRATION_ID"><!-- --></A><H3>
-PARAM_REGISTRATION_ID</H3>
-<PRE>
-public static final java.lang.String <B>PARAM_REGISTRATION_ID</B></PRE>
-<DL>
-<DD>HTTP parameter for registration id.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.PARAM_REGISTRATION_ID">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="PARAM_COLLAPSE_KEY"><!-- --></A><H3>
-PARAM_COLLAPSE_KEY</H3>
-<PRE>
-public static final java.lang.String <B>PARAM_COLLAPSE_KEY</B></PRE>
-<DL>
-<DD>HTTP parameter for collapse key.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.PARAM_COLLAPSE_KEY">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="PARAM_DELAY_WHILE_IDLE"><!-- --></A><H3>
-PARAM_DELAY_WHILE_IDLE</H3>
-<PRE>
-public static final java.lang.String <B>PARAM_DELAY_WHILE_IDLE</B></PRE>
-<DL>
-<DD>HTTP parameter for delaying the message delivery if the device is idle.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.PARAM_DELAY_WHILE_IDLE">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="PARAM_PAYLOAD_PREFIX"><!-- --></A><H3>
-PARAM_PAYLOAD_PREFIX</H3>
-<PRE>
-public static final java.lang.String <B>PARAM_PAYLOAD_PREFIX</B></PRE>
-<DL>
-<DD>Prefix to HTTP parameter used to pass key-values in the message payload.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.PARAM_PAYLOAD_PREFIX">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="PARAM_TIME_TO_LIVE"><!-- --></A><H3>
-PARAM_TIME_TO_LIVE</H3>
-<PRE>
-public static final java.lang.String <B>PARAM_TIME_TO_LIVE</B></PRE>
-<DL>
-<DD>Prefix to HTTP parameter used to set the message time-to-live.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.PARAM_TIME_TO_LIVE">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_QUOTA_EXCEEDED"><!-- --></A><H3>
-ERROR_QUOTA_EXCEEDED</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_QUOTA_EXCEEDED</B></PRE>
-<DL>
-<DD>Too many messages sent by the sender. Retry after a while.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_QUOTA_EXCEEDED">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_DEVICE_QUOTA_EXCEEDED"><!-- --></A><H3>
-ERROR_DEVICE_QUOTA_EXCEEDED</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_DEVICE_QUOTA_EXCEEDED</B></PRE>
-<DL>
-<DD>Too many messages sent by the sender to a specific device.
- Retry after a while.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_DEVICE_QUOTA_EXCEEDED">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_MISSING_REGISTRATION"><!-- --></A><H3>
-ERROR_MISSING_REGISTRATION</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_MISSING_REGISTRATION</B></PRE>
-<DL>
-<DD>Missing registration_id.
- Sender should always add the registration_id to the request.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_MISSING_REGISTRATION">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_INVALID_REGISTRATION"><!-- --></A><H3>
-ERROR_INVALID_REGISTRATION</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_INVALID_REGISTRATION</B></PRE>
-<DL>
-<DD>Bad registration_id. Sender should remove this registration_id.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_INVALID_REGISTRATION">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_MISMATCH_SENDER_ID"><!-- --></A><H3>
-ERROR_MISMATCH_SENDER_ID</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_MISMATCH_SENDER_ID</B></PRE>
-<DL>
-<DD>The sender_id contained in the registration_id does not match the
- sender_id used to register with the GCM servers.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_MISMATCH_SENDER_ID">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_NOT_REGISTERED"><!-- --></A><H3>
-ERROR_NOT_REGISTERED</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_NOT_REGISTERED</B></PRE>
-<DL>
-<DD>The user has uninstalled the application or turned off notifications.
- Sender should stop sending messages to this device and delete the
- registration_id. The client needs to re-register with the GCM servers to
- receive notifications again.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_NOT_REGISTERED">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_MESSAGE_TOO_BIG"><!-- --></A><H3>
-ERROR_MESSAGE_TOO_BIG</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_MESSAGE_TOO_BIG</B></PRE>
-<DL>
-<DD>The payload of the message is too big, see the limitations.
- Reduce the size of the message.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_MESSAGE_TOO_BIG">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_MISSING_COLLAPSE_KEY"><!-- --></A><H3>
-ERROR_MISSING_COLLAPSE_KEY</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_MISSING_COLLAPSE_KEY</B></PRE>
-<DL>
-<DD>Collapse key is required. Include collapse key in the request.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_MISSING_COLLAPSE_KEY">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_UNAVAILABLE"><!-- --></A><H3>
-ERROR_UNAVAILABLE</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_UNAVAILABLE</B></PRE>
-<DL>
-<DD>A particular message could not be sent because the GCM servers were not
- available. Used only on JSON requests, as in plain text requests
- unavailability is indicated by a 503 response.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_UNAVAILABLE">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_INTERNAL_SERVER_ERROR"><!-- --></A><H3>
-ERROR_INTERNAL_SERVER_ERROR</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_INTERNAL_SERVER_ERROR</B></PRE>
-<DL>
-<DD>A particular message could not be sent because the GCM servers encountered
- an error. Used only on JSON requests, as in plain text requests internal
- errors are indicated by a 500 response.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_INTERNAL_SERVER_ERROR">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="ERROR_INVALID_TTL"><!-- --></A><H3>
-ERROR_INVALID_TTL</H3>
-<PRE>
-public static final java.lang.String <B>ERROR_INVALID_TTL</B></PRE>
-<DL>
-<DD>Time to Live value passed is less than zero or more than maximum.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.ERROR_INVALID_TTL">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="TOKEN_MESSAGE_ID"><!-- --></A><H3>
-TOKEN_MESSAGE_ID</H3>
-<PRE>
-public static final java.lang.String <B>TOKEN_MESSAGE_ID</B></PRE>
-<DL>
-<DD>Token returned by GCM when a message was successfully sent.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.TOKEN_MESSAGE_ID">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="TOKEN_CANONICAL_REG_ID"><!-- --></A><H3>
-TOKEN_CANONICAL_REG_ID</H3>
-<PRE>
-public static final java.lang.String <B>TOKEN_CANONICAL_REG_ID</B></PRE>
-<DL>
-<DD>Token returned by GCM when the requested registration id has a canonical
- value.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.TOKEN_CANONICAL_REG_ID">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="TOKEN_ERROR"><!-- --></A><H3>
-TOKEN_ERROR</H3>
-<PRE>
-public static final java.lang.String <B>TOKEN_ERROR</B></PRE>
-<DL>
-<DD>Token returned by GCM when there was an error sending a message.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.TOKEN_ERROR">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_REGISTRATION_IDS"><!-- --></A><H3>
-JSON_REGISTRATION_IDS</H3>
-<PRE>
-public static final java.lang.String <B>JSON_REGISTRATION_IDS</B></PRE>
-<DL>
-<DD>JSON-only field representing the registration ids.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_REGISTRATION_IDS">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_PAYLOAD"><!-- --></A><H3>
-JSON_PAYLOAD</H3>
-<PRE>
-public static final java.lang.String <B>JSON_PAYLOAD</B></PRE>
-<DL>
-<DD>JSON-only field representing the payload data.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_PAYLOAD">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_SUCCESS"><!-- --></A><H3>
-JSON_SUCCESS</H3>
-<PRE>
-public static final java.lang.String <B>JSON_SUCCESS</B></PRE>
-<DL>
-<DD>JSON-only field representing the number of successful messages.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_SUCCESS">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_FAILURE"><!-- --></A><H3>
-JSON_FAILURE</H3>
-<PRE>
-public static final java.lang.String <B>JSON_FAILURE</B></PRE>
-<DL>
-<DD>JSON-only field representing the number of failed messages.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_FAILURE">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_CANONICAL_IDS"><!-- --></A><H3>
-JSON_CANONICAL_IDS</H3>
-<PRE>
-public static final java.lang.String <B>JSON_CANONICAL_IDS</B></PRE>
-<DL>
-<DD>JSON-only field representing the number of messages with a canonical
- registration id.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_CANONICAL_IDS">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_MULTICAST_ID"><!-- --></A><H3>
-JSON_MULTICAST_ID</H3>
-<PRE>
-public static final java.lang.String <B>JSON_MULTICAST_ID</B></PRE>
-<DL>
-<DD>JSON-only field representing the id of the multicast request.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_MULTICAST_ID">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_RESULTS"><!-- --></A><H3>
-JSON_RESULTS</H3>
-<PRE>
-public static final java.lang.String <B>JSON_RESULTS</B></PRE>
-<DL>
-<DD>JSON-only field representing the result of each individual request.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_RESULTS">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_ERROR"><!-- --></A><H3>
-JSON_ERROR</H3>
-<PRE>
-public static final java.lang.String <B>JSON_ERROR</B></PRE>
-<DL>
-<DD>JSON-only field representing the error field of an individual request.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_ERROR">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="JSON_MESSAGE_ID"><!-- --></A><H3>
-JSON_MESSAGE_ID</H3>
-<PRE>
-public static final java.lang.String <B>JSON_MESSAGE_ID</B></PRE>
-<DL>
-<DD>JSON-only field sent by GCM when a message was successfully sent.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Constants.JSON_MESSAGE_ID">Constant Field Values</A></DL>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Constants.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Constants.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html
deleted file mode 100644
index bb0974c..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html
+++ /dev/null
@@ -1,310 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-InvalidRequestException
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="InvalidRequestException";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/InvalidRequestException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="InvalidRequestException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm.server</FONT>
-<BR>
-Class InvalidRequestException</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
-      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
-          <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">java.io.IOException
-              <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.server.InvalidRequestException</B>
-</PRE>
-<DL>
-<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
-</DL>
-<HR>
-<DL>
-<DT><PRE>public final class <B>InvalidRequestException</B><DT>extends java.io.IOException</DL>
-</PRE>
-
-<P>
-Exception thrown when GCM returned an error due to an invalid request.
- <p>
- This is equivalent to GCM posts that return an HTTP error different of 200.
-<P>
-
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#com.google.android.gcm.server.InvalidRequestException">Serialized Form</A></DL>
-<HR>
-
-<P>
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html#InvalidRequestException(int)">InvalidRequestException</A></B>(int&nbsp;status)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html#InvalidRequestException(int, java.lang.String)">InvalidRequestException</A></B>(int&nbsp;status,
-                        java.lang.String&nbsp;description)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html#getDescription()">getDescription</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the error description.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html#getHttpStatusCode()">getHttpStatusCode</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the HTTP Status Code.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="InvalidRequestException(int)"><!-- --></A><H3>
-InvalidRequestException</H3>
-<PRE>
-public <B>InvalidRequestException</B>(int&nbsp;status)</PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="InvalidRequestException(int, java.lang.String)"><!-- --></A><H3>
-InvalidRequestException</H3>
-<PRE>
-public <B>InvalidRequestException</B>(int&nbsp;status,
-                               java.lang.String&nbsp;description)</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="getHttpStatusCode()"><!-- --></A><H3>
-getHttpStatusCode</H3>
-<PRE>
-public int <B>getHttpStatusCode</B>()</PRE>
-<DL>
-<DD>Gets the HTTP Status Code.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getDescription()"><!-- --></A><H3>
-getDescription</H3>
-<PRE>
-public java.lang.String <B>getDescription</B>()</PRE>
-<DL>
-<DD>Gets the error description.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/InvalidRequestException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="InvalidRequestException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html
deleted file mode 100644
index c2ee648..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html
+++ /dev/null
@@ -1,337 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Message.Builder
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Message.Builder";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Message.Builder.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Message.Builder.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm.server</FONT>
-<BR>
-Class Message.Builder</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.server.Message.Builder</B>
-</PRE>
-<DL>
-<DT><B>Enclosing class:</B><DD><A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A></DD>
-</DL>
-<HR>
-<DL>
-<DT><PRE>public static final class <B>Message.Builder</B><DT>extends java.lang.Object</DL>
-</PRE>
-
-<P>
-<HR>
-
-<P>
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html#Message.Builder()">Message.Builder</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html#addData(java.lang.String, java.lang.String)">addData</A></B>(java.lang.String&nbsp;key,
-        java.lang.String&nbsp;value)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a key/value pair to the payload data.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html#build()">build</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html#collapseKey(java.lang.String)">collapseKey</A></B>(java.lang.String&nbsp;value)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the collapseKey property.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html#delayWhileIdle(boolean)">delayWhileIdle</A></B>(boolean&nbsp;value)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the delayWhileIdle property (default value is false).</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html#timeToLive(int)">timeToLive</A></B>(int&nbsp;value)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the time to live, in seconds.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="Message.Builder()"><!-- --></A><H3>
-Message.Builder</H3>
-<PRE>
-public <B>Message.Builder</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="collapseKey(java.lang.String)"><!-- --></A><H3>
-collapseKey</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A> <B>collapseKey</B>(java.lang.String&nbsp;value)</PRE>
-<DL>
-<DD>Sets the collapseKey property.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="delayWhileIdle(boolean)"><!-- --></A><H3>
-delayWhileIdle</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A> <B>delayWhileIdle</B>(boolean&nbsp;value)</PRE>
-<DL>
-<DD>Sets the delayWhileIdle property (default value is false).
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="timeToLive(int)"><!-- --></A><H3>
-timeToLive</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A> <B>timeToLive</B>(int&nbsp;value)</PRE>
-<DL>
-<DD>Sets the time to live, in seconds.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="addData(java.lang.String, java.lang.String)"><!-- --></A><H3>
-addData</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A> <B>addData</B>(java.lang.String&nbsp;key,
-                               java.lang.String&nbsp;value)</PRE>
-<DL>
-<DD>Adds a key/value pair to the payload data.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="build()"><!-- --></A><H3>
-build</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A> <B>build</B>()</PRE>
-<DL>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Message.Builder.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Message.Builder.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html
deleted file mode 100644
index 5dbd262..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html
+++ /dev/null
@@ -1,369 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Message
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Message";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Message.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Message.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm.server</FONT>
-<BR>
-Class Message</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.server.Message</B>
-</PRE>
-<DL>
-<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
-</DL>
-<HR>
-<DL>
-<DT><PRE>public final class <B>Message</B><DT>extends java.lang.Object<DT>implements java.io.Serializable</DL>
-</PRE>
-
-<P>
-GCM message.
-
- <p>
- Instances of this class are immutable and should be created using a
- <A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server"><CODE>Message.Builder</CODE></A>. Examples:
-
- <strong>Simplest message:</strong>
- <pre><code>
- Message message = new Message.Builder().build();
- </pre></code>
-
- <strong>Message with optional attributes:</strong>
- <pre><code>
- Message message = new Message.Builder()
-    .collapseKey(collapseKey)
-    .timeToLive(3)
-    .delayWhileIdle(true)
-    .build();
- </pre></code>
-
- <strong>Message with optional attributes and payload data:</strong>
- <pre><code>
- Message message = new Message.Builder()
-    .collapseKey(collapseKey)
-    .timeToLive(3)
-    .delayWhileIdle(true)
-    .addData("key1", "value1")
-    .addData("key2", "value2")
-    .build();
- </pre></code>
-<P>
-
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#com.google.android.gcm.server.Message">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-
-<A NAME="nested_class_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Nested Class Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;class</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.html#getCollapseKey()">getCollapseKey</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the collapse key.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.html#getData()">getData</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the payload data, which is immutable.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.Integer</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.html#getTimeToLive()">getTimeToLive</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the time to live (in seconds).</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.Boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.html#isDelayWhileIdle()">isDelayWhileIdle</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the delayWhileIdle flag.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Message.html#toString()">toString</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="getCollapseKey()"><!-- --></A><H3>
-getCollapseKey</H3>
-<PRE>
-public java.lang.String <B>getCollapseKey</B>()</PRE>
-<DL>
-<DD>Gets the collapse key.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="isDelayWhileIdle()"><!-- --></A><H3>
-isDelayWhileIdle</H3>
-<PRE>
-public java.lang.Boolean <B>isDelayWhileIdle</B>()</PRE>
-<DL>
-<DD>Gets the delayWhileIdle flag.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getTimeToLive()"><!-- --></A><H3>
-getTimeToLive</H3>
-<PRE>
-public java.lang.Integer <B>getTimeToLive</B>()</PRE>
-<DL>
-<DD>Gets the time to live (in seconds).
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getData()"><!-- --></A><H3>
-getData</H3>
-<PRE>
-public java.util.Map&lt;java.lang.String,java.lang.String&gt; <B>getData</B>()</PRE>
-<DL>
-<DD>Gets the payload data, which is immutable.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="toString()"><!-- --></A><H3>
-toString</H3>
-<PRE>
-public java.lang.String <B>toString</B>()</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Message.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Message.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html
deleted file mode 100644
index 0721488..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-MulticastResult
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="MulticastResult";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/MulticastResult.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="MulticastResult.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm.server</FONT>
-<BR>
-Class MulticastResult</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.server.MulticastResult</B>
-</PRE>
-<DL>
-<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
-</DL>
-<HR>
-<DL>
-<DT><PRE>public final class <B>MulticastResult</B><DT>extends java.lang.Object<DT>implements java.io.Serializable</DL>
-</PRE>
-
-<P>
-Result of a GCM multicast message request .
-<P>
-
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#com.google.android.gcm.server.MulticastResult">Serialized Form</A></DL>
-<HR>
-
-<P>
-
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html#getCanonicalIds()">getCanonicalIds</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the number of successful messages that also returned a canonical
- registration id.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html#getFailure()">getFailure</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the number of failed messages.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;long</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html#getMulticastId()">getMulticastId</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the multicast id.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.util.List&lt;<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A>&gt;</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html#getResults()">getResults</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the results of each individual message, which is immutable.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.util.List&lt;java.lang.Long&gt;</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html#getRetryMulticastIds()">getRetryMulticastIds</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets additional ids if more than one multicast message was sent.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html#getSuccess()">getSuccess</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the number of successful messages.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html#getTotal()">getTotal</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the total number of messages sent, regardless of the status.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html#toString()">toString</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="getMulticastId()"><!-- --></A><H3>
-getMulticastId</H3>
-<PRE>
-public long <B>getMulticastId</B>()</PRE>
-<DL>
-<DD>Gets the multicast id.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getSuccess()"><!-- --></A><H3>
-getSuccess</H3>
-<PRE>
-public int <B>getSuccess</B>()</PRE>
-<DL>
-<DD>Gets the number of successful messages.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getTotal()"><!-- --></A><H3>
-getTotal</H3>
-<PRE>
-public int <B>getTotal</B>()</PRE>
-<DL>
-<DD>Gets the total number of messages sent, regardless of the status.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getFailure()"><!-- --></A><H3>
-getFailure</H3>
-<PRE>
-public int <B>getFailure</B>()</PRE>
-<DL>
-<DD>Gets the number of failed messages.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getCanonicalIds()"><!-- --></A><H3>
-getCanonicalIds</H3>
-<PRE>
-public int <B>getCanonicalIds</B>()</PRE>
-<DL>
-<DD>Gets the number of successful messages that also returned a canonical
- registration id.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getResults()"><!-- --></A><H3>
-getResults</H3>
-<PRE>
-public java.util.List&lt;<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A>&gt; <B>getResults</B>()</PRE>
-<DL>
-<DD>Gets the results of each individual message, which is immutable.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getRetryMulticastIds()"><!-- --></A><H3>
-getRetryMulticastIds</H3>
-<PRE>
-public java.util.List&lt;java.lang.Long&gt; <B>getRetryMulticastIds</B>()</PRE>
-<DL>
-<DD>Gets additional ids if more than one multicast message was sent.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="toString()"><!-- --></A><H3>
-toString</H3>
-<PRE>
-public java.lang.String <B>toString</B>()</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/MulticastResult.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="MulticastResult.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html
deleted file mode 100644
index a4aad29..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html
+++ /dev/null
@@ -1,322 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Result
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Result";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Result.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Result.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm.server</FONT>
-<BR>
-Class Result</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.server.Result</B>
-</PRE>
-<DL>
-<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
-</DL>
-<HR>
-<DL>
-<DT><PRE>public final class <B>Result</B><DT>extends java.lang.Object<DT>implements java.io.Serializable</DL>
-</PRE>
-
-<P>
-Result of a GCM message request that returned HTTP status code 200.
-
- <p>
- If the message is successfully created, the <A HREF="../../../../../com/google/android/gcm/server/Result.html#getMessageId()"><CODE>getMessageId()</CODE></A> returns
- the message id and <A HREF="../../../../../com/google/android/gcm/server/Result.html#getErrorCodeName()"><CODE>getErrorCodeName()</CODE></A> returns null;
- otherwise, <A HREF="../../../../../com/google/android/gcm/server/Result.html#getMessageId()"><CODE>getMessageId()</CODE></A> returns null and 
- <A HREF="../../../../../com/google/android/gcm/server/Result.html#getErrorCodeName()"><CODE>getErrorCodeName()</CODE></A> returns the code of the error.
-
- <p>
- There are cases when a request is accept and the message successfully
- created, but GCM has a canonical registration id for that device. In this
- case, the server should update the registration id to avoid rejected requests
- in the future.
- 
- <p>
- In a nutshell, the workflow to handle a result is:
- <pre>
-   - Call <A HREF="../../../../../com/google/android/gcm/server/Result.html#getMessageId()"><CODE>getMessageId()</CODE></A>:
-     - null means error, call <A HREF="../../../../../com/google/android/gcm/server/Result.html#getErrorCodeName()"><CODE>getErrorCodeName()</CODE></A>
-     - non-null means the message was created:
-       - Call <A HREF="../../../../../com/google/android/gcm/server/Result.html#getCanonicalRegistrationId()"><CODE>getCanonicalRegistrationId()</CODE></A>
-         - if it returns null, do nothing.
-         - otherwise, update the server datastore with the new id.
- </pre>
-<P>
-
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#com.google.android.gcm.server.Result">Serialized Form</A></DL>
-<HR>
-
-<P>
-
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Result.html#getCanonicalRegistrationId()">getCanonicalRegistrationId</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the canonical registration id, if any.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Result.html#getErrorCodeName()">getErrorCodeName</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the error code, if any.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Result.html#getMessageId()">getMessageId</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the message id, if any.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Result.html#toString()">toString</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="getMessageId()"><!-- --></A><H3>
-getMessageId</H3>
-<PRE>
-public java.lang.String <B>getMessageId</B>()</PRE>
-<DL>
-<DD>Gets the message id, if any.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getCanonicalRegistrationId()"><!-- --></A><H3>
-getCanonicalRegistrationId</H3>
-<PRE>
-public java.lang.String <B>getCanonicalRegistrationId</B>()</PRE>
-<DL>
-<DD>Gets the canonical registration id, if any.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getErrorCodeName()"><!-- --></A><H3>
-getErrorCodeName</H3>
-<PRE>
-public java.lang.String <B>getErrorCodeName</B>()</PRE>
-<DL>
-<DD>Gets the error code, if any.
-<P>
-<DD><DL>
-</DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="toString()"><!-- --></A><H3>
-toString</H3>
-<PRE>
-public java.lang.String <B>toString</B>()</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
-</DD>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Result.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Result.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html
deleted file mode 100644
index fabda98..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html
+++ /dev/null
@@ -1,664 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Sender
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Sender";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Sender.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Sender.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-com.google.android.gcm.server</FONT>
-<BR>
-Class Sender</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.google.android.gcm.server.Sender</B>
-</PRE>
-<HR>
-<DL>
-<DT><PRE>public class <B>Sender</B><DT>extends java.lang.Object</DL>
-</PRE>
-
-<P>
-Helper class to send messages to the GCM service using an API Key.
-<P>
-
-<P>
-<HR>
-
-<P>
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#BACKOFF_INITIAL_DELAY">BACKOFF_INITIAL_DELAY</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initial delay before first retry, without jitter.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.util.logging.Logger</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#logger">logger</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#MAX_BACKOFF_DELAY">MAX_BACKOFF_DELAY</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximum delay before a retry.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.util.Random</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#random">random</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#UTF8">UTF8</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#Sender(java.lang.String)">Sender</A></B>(java.lang.String&nbsp;key)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#addParameter(java.lang.StringBuilder, java.lang.String, java.lang.String)">addParameter</A></B>(java.lang.StringBuilder&nbsp;body,
-             java.lang.String&nbsp;name,
-             java.lang.String&nbsp;value)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a new parameter to the HTTP POST body.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.net.HttpURLConnection</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#getConnection(java.lang.String)">getConnection</A></B>(java.lang.String&nbsp;url)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an <CODE>HttpURLConnection</CODE> given an URL.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#getString(java.io.InputStream)">getString</A></B>(java.io.InputStream&nbsp;stream)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to convert an InputStream to a String.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected static&nbsp;java.lang.StringBuilder</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#newBody(java.lang.String, java.lang.String)">newBody</A></B>(java.lang.String&nbsp;name,
-        java.lang.String&nbsp;value)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a <CODE>StringBuilder</CODE> to be used as the body of an HTTP POST.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected static&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#newKeyValues(java.lang.String, java.lang.String)">newKeyValues</A></B>(java.lang.String&nbsp;key,
-             java.lang.String&nbsp;value)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a map with just one key-value pair.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.net.HttpURLConnection</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#post(java.lang.String, java.lang.String)">post</A></B>(java.lang.String&nbsp;url,
-     java.lang.String&nbsp;body)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make an HTTP post to a given URL.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.net.HttpURLConnection</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#post(java.lang.String, java.lang.String, java.lang.String)">post</A></B>(java.lang.String&nbsp;url,
-     java.lang.String&nbsp;contentType,
-     java.lang.String&nbsp;body)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#send(com.google.android.gcm.server.Message, java.util.List, int)">send</A></B>(<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>&nbsp;message,
-     java.util.List&lt;java.lang.String&gt;&nbsp;regIds,
-     int&nbsp;retries)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a message to many devices, retrying in case of unavailability.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#send(com.google.android.gcm.server.Message, java.lang.String, int)">send</A></B>(<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>&nbsp;message,
-     java.lang.String&nbsp;registrationId,
-     int&nbsp;retries)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a message to one device, retrying in case of unavailability.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#sendNoRetry(com.google.android.gcm.server.Message, java.util.List)">sendNoRetry</A></B>(<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>&nbsp;message,
-            java.util.List&lt;java.lang.String&gt;&nbsp;registrationIds)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a message without retrying in case of service unavailability.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html#sendNoRetry(com.google.android.gcm.server.Message, java.lang.String)">sendNoRetry</A></B>(<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>&nbsp;message,
-            java.lang.String&nbsp;registrationId)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a message without retrying in case of service unavailability.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="UTF8"><!-- --></A><H3>
-UTF8</H3>
-<PRE>
-protected static final java.lang.String <B>UTF8</B></PRE>
-<DL>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Sender.UTF8">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="BACKOFF_INITIAL_DELAY"><!-- --></A><H3>
-BACKOFF_INITIAL_DELAY</H3>
-<PRE>
-protected static final int <B>BACKOFF_INITIAL_DELAY</B></PRE>
-<DL>
-<DD>Initial delay before first retry, without jitter.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Sender.BACKOFF_INITIAL_DELAY">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="MAX_BACKOFF_DELAY"><!-- --></A><H3>
-MAX_BACKOFF_DELAY</H3>
-<PRE>
-protected static final int <B>MAX_BACKOFF_DELAY</B></PRE>
-<DL>
-<DD>Maximum delay before a retry.
-<P>
-<DL>
-<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#com.google.android.gcm.server.Sender.MAX_BACKOFF_DELAY">Constant Field Values</A></DL>
-</DL>
-<HR>
-
-<A NAME="random"><!-- --></A><H3>
-random</H3>
-<PRE>
-protected final java.util.Random <B>random</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-
-<A NAME="logger"><!-- --></A><H3>
-logger</H3>
-<PRE>
-protected final java.util.logging.Logger <B>logger</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="Sender(java.lang.String)"><!-- --></A><H3>
-Sender</H3>
-<PRE>
-public <B>Sender</B>(java.lang.String&nbsp;key)</PRE>
-<DL>
-<DD>Default constructor.
-<P>
-<DL>
-<DT><B>Parameters:</B><DD><CODE>key</CODE> - API key obtained through the Google API Console.</DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TH>
-</TR>
-</TABLE>
-
-<A NAME="send(com.google.android.gcm.server.Message, java.lang.String, int)"><!-- --></A><H3>
-send</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A> <B>send</B>(<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>&nbsp;message,
-                   java.lang.String&nbsp;registrationId,
-                   int&nbsp;retries)
-            throws java.io.IOException</PRE>
-<DL>
-<DD>Sends a message to one device, retrying in case of unavailability.
-
- <p>
- <strong>Note: </strong> this method uses exponential back-off to retry in
- case of service unavailability and hence could block the calling thread
- for many seconds.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>message</CODE> - message to be sent, including the device's registration id.<DD><CODE>registrationId</CODE> - device where the message will be sent.<DD><CODE>retries</CODE> - number of retries in case of service unavailability errors.
-<DT><B>Returns:</B><DD>result of the request (see its javadoc for more details)
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.IllegalArgumentException</CODE> - if registrationId is null.
-<DD><CODE><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A></CODE> - if GCM didn't returned a 200 or 503 status.
-<DD><CODE>java.io.IOException</CODE> - if message could not be sent.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="sendNoRetry(com.google.android.gcm.server.Message, java.lang.String)"><!-- --></A><H3>
-sendNoRetry</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A> <B>sendNoRetry</B>(<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>&nbsp;message,
-                          java.lang.String&nbsp;registrationId)
-                   throws java.io.IOException</PRE>
-<DL>
-<DD>Sends a message without retrying in case of service unavailability. See
- <A HREF="../../../../../com/google/android/gcm/server/Sender.html#send(com.google.android.gcm.server.Message, java.lang.String, int)"><CODE>send(Message, String, int)</CODE></A> for more info.
-<P>
-<DD><DL>
-
-<DT><B>Returns:</B><DD>result of the post, or null if the GCM service was
-         unavailable.
-<DT><B>Throws:</B>
-<DD><CODE><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A></CODE> - if GCM didn't returned a 200 or 503 status.
-<DD><CODE>java.lang.IllegalArgumentException</CODE> - if registrationId is null.
-<DD><CODE>java.io.IOException</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="send(com.google.android.gcm.server.Message, java.util.List, int)"><!-- --></A><H3>
-send</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A> <B>send</B>(<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>&nbsp;message,
-                            java.util.List&lt;java.lang.String&gt;&nbsp;regIds,
-                            int&nbsp;retries)
-                     throws java.io.IOException</PRE>
-<DL>
-<DD>Sends a message to many devices, retrying in case of unavailability.
-
- <p>
- <strong>Note: </strong> this method uses exponential back-off to retry in
- case of service unavailability and hence could block the calling thread
- for many seconds.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>message</CODE> - message to be sent.<DD><CODE>regIds</CODE> - registration id of the devices that will receive
-        the message.<DD><CODE>retries</CODE> - number of retries in case of service unavailability errors.
-<DT><B>Returns:</B><DD>combined result of all requests made.
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.IllegalArgumentException</CODE> - if registrationIds is null or
-         empty.
-<DD><CODE><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A></CODE> - if GCM didn't returned a 200 or 503 status.
-<DD><CODE>java.io.IOException</CODE> - if message could not be sent.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="sendNoRetry(com.google.android.gcm.server.Message, java.util.List)"><!-- --></A><H3>
-sendNoRetry</H3>
-<PRE>
-public <A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A> <B>sendNoRetry</B>(<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>&nbsp;message,
-                                   java.util.List&lt;java.lang.String&gt;&nbsp;registrationIds)
-                            throws java.io.IOException</PRE>
-<DL>
-<DD>Sends a message without retrying in case of service unavailability. See
- <A HREF="../../../../../com/google/android/gcm/server/Sender.html#send(com.google.android.gcm.server.Message, java.util.List, int)"><CODE>send(Message, List, int)</CODE></A> for more info.
-<P>
-<DD><DL>
-
-<DT><B>Returns:</B><DD>true if the message was sent successfully,
-         false if it failed but could be retried.
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.IllegalArgumentException</CODE> - if registrationIds is null or
-         empty.
-<DD><CODE><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A></CODE> - if GCM didn't returned a 200 status.
-<DD><CODE>java.io.IOException</CODE> - if message could not be sent or received.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="post(java.lang.String, java.lang.String)"><!-- --></A><H3>
-post</H3>
-<PRE>
-protected java.net.HttpURLConnection <B>post</B>(java.lang.String&nbsp;url,
-                                          java.lang.String&nbsp;body)
-                                   throws java.io.IOException</PRE>
-<DL>
-<DD>Make an HTTP post to a given URL.
-<P>
-<DD><DL>
-
-<DT><B>Returns:</B><DD>HTTP response.
-<DT><B>Throws:</B>
-<DD><CODE>java.io.IOException</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="post(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
-post</H3>
-<PRE>
-protected java.net.HttpURLConnection <B>post</B>(java.lang.String&nbsp;url,
-                                          java.lang.String&nbsp;contentType,
-                                          java.lang.String&nbsp;body)
-                                   throws java.io.IOException</PRE>
-<DL>
-<DD><DL>
-
-<DT><B>Throws:</B>
-<DD><CODE>java.io.IOException</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="newKeyValues(java.lang.String, java.lang.String)"><!-- --></A><H3>
-newKeyValues</H3>
-<PRE>
-protected static final java.util.Map&lt;java.lang.String,java.lang.String&gt; <B>newKeyValues</B>(java.lang.String&nbsp;key,
-                                                                                     java.lang.String&nbsp;value)</PRE>
-<DL>
-<DD>Creates a map with just one key-value pair.
-<P>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="newBody(java.lang.String, java.lang.String)"><!-- --></A><H3>
-newBody</H3>
-<PRE>
-protected static java.lang.StringBuilder <B>newBody</B>(java.lang.String&nbsp;name,
-                                                 java.lang.String&nbsp;value)</PRE>
-<DL>
-<DD>Creates a <CODE>StringBuilder</CODE> to be used as the body of an HTTP POST.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>name</CODE> - initial parameter for the POST.<DD><CODE>value</CODE> - initial value for that parameter.
-<DT><B>Returns:</B><DD>StringBuilder to be used an HTTP POST body.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="addParameter(java.lang.StringBuilder, java.lang.String, java.lang.String)"><!-- --></A><H3>
-addParameter</H3>
-<PRE>
-protected static void <B>addParameter</B>(java.lang.StringBuilder&nbsp;body,
-                                   java.lang.String&nbsp;name,
-                                   java.lang.String&nbsp;value)</PRE>
-<DL>
-<DD>Adds a new parameter to the HTTP POST body.
-<P>
-<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>body</CODE> - HTTP POST body<DD><CODE>name</CODE> - parameter's name<DD><CODE>value</CODE> - parameter's value</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getConnection(java.lang.String)"><!-- --></A><H3>
-getConnection</H3>
-<PRE>
-protected java.net.HttpURLConnection <B>getConnection</B>(java.lang.String&nbsp;url)
-                                            throws java.io.IOException</PRE>
-<DL>
-<DD>Gets an <CODE>HttpURLConnection</CODE> given an URL.
-<P>
-<DD><DL>
-
-<DT><B>Throws:</B>
-<DD><CODE>java.io.IOException</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getString(java.io.InputStream)"><!-- --></A><H3>
-getString</H3>
-<PRE>
-protected static java.lang.String <B>getString</B>(java.io.InputStream&nbsp;stream)
-                                     throws java.io.IOException</PRE>
-<DL>
-<DD>Convenience method to convert an InputStream to a String.
-
- <p>
- If the stream ends in a newline character, it will be stripped.
- <p>
- If the stream is null, returns an empty string.
-<P>
-<DD><DL>
-
-<DT><B>Throws:</B>
-<DD><CODE>java.io.IOException</CODE></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/Sender.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Sender.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html
deleted file mode 100644
index 1bc4fd9..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-com.google.android.gcm.server
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameTitleFont">
-<A HREF="../../../../../com/google/android/gcm/server/package-summary.html" target="classFrame">com.google.android.gcm.server</A></FONT>
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
-Classes</FONT>&nbsp;
-<FONT CLASS="FrameItemFont">
-<BR>
-<A HREF="Constants.html" title="class in com.google.android.gcm.server" target="classFrame">Constants</A>
-<BR>
-<A HREF="Message.html" title="class in com.google.android.gcm.server" target="classFrame">Message</A>
-<BR>
-<A HREF="Message.Builder.html" title="class in com.google.android.gcm.server" target="classFrame">Message.Builder</A>
-<BR>
-<A HREF="MulticastResult.html" title="class in com.google.android.gcm.server" target="classFrame">MulticastResult</A>
-<BR>
-<A HREF="Result.html" title="class in com.google.android.gcm.server" target="classFrame">Result</A>
-<BR>
-<A HREF="Sender.html" title="class in com.google.android.gcm.server" target="classFrame">Sender</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
-Exceptions</FONT>&nbsp;
-<FONT CLASS="FrameItemFont">
-<BR>
-<A HREF="InvalidRequestException.html" title="class in com.google.android.gcm.server" target="classFrame">InvalidRequestException</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html
deleted file mode 100644
index de791c7..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-com.google.android.gcm.server
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="com.google.android.gcm.server";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV PACKAGE&nbsp;
-&nbsp;NEXT PACKAGE</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<H2>
-Package com.google.android.gcm.server
-</H2>
-
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Class Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A></B></TD>
-<TD>Constants used on GCM service communication.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A></B></TD>
-<TD>GCM message.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A></B></TD>
-<TD>&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A></B></TD>
-<TD>Result of a GCM multicast message request .</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A></B></TD>
-<TD>Result of a GCM message request that returned HTTP status code 200.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A></B></TD>
-<TD>Helper class to send messages to the GCM service using an API Key.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Exception Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A></B></TD>
-<TD>Exception thrown when GCM returned an error due to an invalid request.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-<DL>
-</DL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV PACKAGE&nbsp;
-&nbsp;NEXT PACKAGE</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html
deleted file mode 100644
index d509312..0000000
--- a/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-com.google.android.gcm.server Class Hierarchy
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="com.google.android.gcm.server Class Hierarchy";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For Package com.google.android.gcm.server
-</H2>
-</CENTER>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">java.lang.Object<UL>
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="../../../../../com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server"><B>Constants</B></A><LI TYPE="circle">com.google.android.gcm.server.<A HREF="../../../../../com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server"><B>Message</B></A> (implements java.io.Serializable)
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="../../../../../com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server"><B>Message.Builder</B></A><LI TYPE="circle">com.google.android.gcm.server.<A HREF="../../../../../com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server"><B>MulticastResult</B></A> (implements java.io.Serializable)
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="../../../../../com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server"><B>Result</B></A> (implements java.io.Serializable)
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="../../../../../com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server"><B>Sender</B></A><LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
-<UL>
-<LI TYPE="circle">java.lang.Exception<UL>
-<LI TYPE="circle">java.io.IOException<UL>
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="../../../../../com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server"><B>InvalidRequestException</B></A></UL>
-</UL>
-</UL>
-</UL>
-</UL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html?com/google/android/gcm/server/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/constant-values.html b/docs/html/google/gcm/server-javadoc/constant-values.html
deleted file mode 100644
index 68db1cb..0000000
--- a/docs/html/google/gcm/server-javadoc/constant-values.html
+++ /dev/null
@@ -1,368 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Constant Field Values
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Constant Field Values";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H1>
-Constant Field Values</H1>
-</CENTER>
-<HR SIZE="4" NOSHADE>
-<B>Contents</B><UL>
-<LI><A HREF="#com.google">com.google.*</A>
-</UL>
-
-<A NAME="com.google"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left"><FONT SIZE="+2">
-com.google.*</FONT></TH>
-</TR>
-</TABLE>
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="3">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_DEVICE_QUOTA_EXCEEDED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_DEVICE_QUOTA_EXCEEDED">ERROR_DEVICE_QUOTA_EXCEEDED</A></CODE></TD>
-<TD ALIGN="right"><CODE>"DeviceQuotaExceeded"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_INTERNAL_SERVER_ERROR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_INTERNAL_SERVER_ERROR">ERROR_INTERNAL_SERVER_ERROR</A></CODE></TD>
-<TD ALIGN="right"><CODE>"InternalServerError"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_INVALID_REGISTRATION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_INVALID_REGISTRATION">ERROR_INVALID_REGISTRATION</A></CODE></TD>
-<TD ALIGN="right"><CODE>"InvalidRegistration"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_INVALID_TTL"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_INVALID_TTL">ERROR_INVALID_TTL</A></CODE></TD>
-<TD ALIGN="right"><CODE>"InvalidTtl"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_MESSAGE_TOO_BIG"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_MESSAGE_TOO_BIG">ERROR_MESSAGE_TOO_BIG</A></CODE></TD>
-<TD ALIGN="right"><CODE>"MessageTooBig"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_MISMATCH_SENDER_ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_MISMATCH_SENDER_ID">ERROR_MISMATCH_SENDER_ID</A></CODE></TD>
-<TD ALIGN="right"><CODE>"MismatchSenderId"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_MISSING_COLLAPSE_KEY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_MISSING_COLLAPSE_KEY">ERROR_MISSING_COLLAPSE_KEY</A></CODE></TD>
-<TD ALIGN="right"><CODE>"MissingCollapseKey"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_MISSING_REGISTRATION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_MISSING_REGISTRATION">ERROR_MISSING_REGISTRATION</A></CODE></TD>
-<TD ALIGN="right"><CODE>"MissingRegistration"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_NOT_REGISTERED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_NOT_REGISTERED">ERROR_NOT_REGISTERED</A></CODE></TD>
-<TD ALIGN="right"><CODE>"NotRegistered"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_QUOTA_EXCEEDED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_QUOTA_EXCEEDED">ERROR_QUOTA_EXCEEDED</A></CODE></TD>
-<TD ALIGN="right"><CODE>"QuotaExceeded"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.ERROR_UNAVAILABLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#ERROR_UNAVAILABLE">ERROR_UNAVAILABLE</A></CODE></TD>
-<TD ALIGN="right"><CODE>"Unavailable"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.GCM_SEND_ENDPOINT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#GCM_SEND_ENDPOINT">GCM_SEND_ENDPOINT</A></CODE></TD>
-<TD ALIGN="right"><CODE>"https://android.googleapis.com/gcm/send"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_CANONICAL_IDS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_CANONICAL_IDS">JSON_CANONICAL_IDS</A></CODE></TD>
-<TD ALIGN="right"><CODE>"canonical_ids"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_ERROR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_ERROR">JSON_ERROR</A></CODE></TD>
-<TD ALIGN="right"><CODE>"error"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_FAILURE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_FAILURE">JSON_FAILURE</A></CODE></TD>
-<TD ALIGN="right"><CODE>"failure"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_MESSAGE_ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_MESSAGE_ID">JSON_MESSAGE_ID</A></CODE></TD>
-<TD ALIGN="right"><CODE>"message_id"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_MULTICAST_ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_MULTICAST_ID">JSON_MULTICAST_ID</A></CODE></TD>
-<TD ALIGN="right"><CODE>"multicast_id"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_PAYLOAD"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_PAYLOAD">JSON_PAYLOAD</A></CODE></TD>
-<TD ALIGN="right"><CODE>"data"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_REGISTRATION_IDS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_REGISTRATION_IDS">JSON_REGISTRATION_IDS</A></CODE></TD>
-<TD ALIGN="right"><CODE>"registration_ids"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_RESULTS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_RESULTS">JSON_RESULTS</A></CODE></TD>
-<TD ALIGN="right"><CODE>"results"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.JSON_SUCCESS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#JSON_SUCCESS">JSON_SUCCESS</A></CODE></TD>
-<TD ALIGN="right"><CODE>"success"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.PARAM_COLLAPSE_KEY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#PARAM_COLLAPSE_KEY">PARAM_COLLAPSE_KEY</A></CODE></TD>
-<TD ALIGN="right"><CODE>"collapse_key"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.PARAM_DELAY_WHILE_IDLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#PARAM_DELAY_WHILE_IDLE">PARAM_DELAY_WHILE_IDLE</A></CODE></TD>
-<TD ALIGN="right"><CODE>"delay_while_idle"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.PARAM_PAYLOAD_PREFIX"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#PARAM_PAYLOAD_PREFIX">PARAM_PAYLOAD_PREFIX</A></CODE></TD>
-<TD ALIGN="right"><CODE>"data."</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.PARAM_REGISTRATION_ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#PARAM_REGISTRATION_ID">PARAM_REGISTRATION_ID</A></CODE></TD>
-<TD ALIGN="right"><CODE>"registration_id"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.PARAM_TIME_TO_LIVE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#PARAM_TIME_TO_LIVE">PARAM_TIME_TO_LIVE</A></CODE></TD>
-<TD ALIGN="right"><CODE>"time_to_live"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.TOKEN_CANONICAL_REG_ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#TOKEN_CANONICAL_REG_ID">TOKEN_CANONICAL_REG_ID</A></CODE></TD>
-<TD ALIGN="right"><CODE>"registration_id"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.TOKEN_ERROR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#TOKEN_ERROR">TOKEN_ERROR</A></CODE></TD>
-<TD ALIGN="right"><CODE>"Error"</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Constants.TOKEN_MESSAGE_ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Constants.html#TOKEN_MESSAGE_ID">TOKEN_MESSAGE_ID</A></CODE></TD>
-<TD ALIGN="right"><CODE>"id"</CODE></TD>
-</TR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="3">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Sender.BACKOFF_INITIAL_DELAY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Sender.html#BACKOFF_INITIAL_DELAY">BACKOFF_INITIAL_DELAY</A></CODE></TD>
-<TD ALIGN="right"><CODE>1000</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Sender.MAX_BACKOFF_DELAY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Sender.html#MAX_BACKOFF_DELAY">MAX_BACKOFF_DELAY</A></CODE></TD>
-<TD ALIGN="right"><CODE>1024000</CODE></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<A NAME="com.google.android.gcm.server.Sender.UTF8"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
-<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
-<TD ALIGN="left"><CODE><A HREF="com/google/android/gcm/server/Sender.html#UTF8">UTF8</A></CODE></TD>
-<TD ALIGN="right"><CODE>"UTF-8"</CODE></TD>
-</TR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-
-<P>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/default.css b/docs/html/google/gcm/server-javadoc/default.css
deleted file mode 100644
index 7c395c7..0000000
--- a/docs/html/google/gcm/server-javadoc/default.css
+++ /dev/null
@@ -1,4160 +0,0 @@
-/* color definitions */
-/* 16 column layout */
-/* clearfix idiom */
-/* common mixins */
-/* page layout + top-level styles */
-::-webkit-selection,
-::-moz-selection,
-::selection {
-  background-color: #0099cc;
-  color: #fff; }
-
-html, body {
-  height: 100%;
-  margin: 0;
-  padding: 0;
-  background-color:#F9F9F9;
-  -webkit-font-smoothing: antialiased;
-  /* prevent subpixel antialiasing, which thickens the text */
-  /* text-rendering: optimizeLegibility; */
-  /* turned off ligatures due to bug 5945455 */ }
-
-body {
-  color: #222;
-  font: 14px/19px Roboto, sans-serif;
-  font-weight: 400;
-  letter-spacing:.1;
-  padding:0 10px; }
-
-#page-container {
-  width: 940px;
-  margin: 0 40px; }
-
-#page-header {
-  height: 80px;
-  margin-bottom: 20px;
-  font-size: 48px;
-  line-height: 48px;
-  font-weight: 100;
-  padding-left: 10px; }
-  #page-header a {
-    display: block;
-    position: relative;
-    top: 20px;
-    text-decoration: none;
-    color: #555555 !important; }
-
-#main-row {
-  display: inline-block; }
-  #main-row:after {
-    content: ".";
-    display: block;
-    height: 0;
-    clear: both;
-    visibility: hidden; }
-  * html #main-row {
-    height: 1px; }
-
-#page-footer {
-  margin-left: 190px;
-  margin-top: 80px;
-  color: #999999;
-  padding-bottom: 40px;
-  font-size: 12px;
-  line-height: 15px; }
-  #page-footer a {
-    color: #777777; }
-  #page-footer #copyright {
-    margin-bottom: 10px; }
-
-#nav-container {
-  width: 160px;
-  min-height: 10px;
-  margin-right: 20px;
-  float: left; }
-
-#nav {
-  margin:0;
-  padding:0 0 30px;
-}
-
-#side-nav {
-  min-height:5px; /* silly way to avoid doc floating left when nav goes fixed */
-  margin-bottom:1px;
-}
-#devdoc-nav {
-  outline:none;
-  width:auto;
-  margin: 20px 0 0; }
-  
-#devdoc-nav h2 {
-  border:0;
-}
-
-#devdoc-nav.fixed {
-  position: fixed;
-  margin:0;
-  top: 20px; }
-
-#content {
-  width: 760px;
-  float: left; }
-
-a:hover,
-acronym:hover {
-  color: #7aa1b0 !important; }
-
-a:focus,
-a:active {
-  color: #33b5e5 !important; }
-
-img {
-  border: none; }
-#jd-content img {
-  margin-bottom:15px;
-}
-
-ul {
-  margin: 0;
-  padding: 0; }
-
-strong {
-  font-weight: 500; }
-
-em {
-  font-style: italic; }
-
-acronym {
-  border-bottom: 1px dotted #555555;
-  cursor: help; }
-
-acronym:hover {
-  border-bottom-color: #7aa1b0; }
-
-img.with-shadow,
-video.with-shadow {
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); }
-
-/* disclosures mixin */
-/* content layout */
-.layout-content-row {
-  display: inline-block;
-  margin-bottom: 10px; }
-  .layout-content-row:after {
-    content: ".";
-    display: block;
-    height: 0;
-    clear: both;
-    visibility: hidden; }
-  * html .layout-content-row {
-    height: 1px; }
-
-.layout-content-col {
-  float: left;
-  margin-left: 20px; }
-  .layout-content-col:first-child {
-    margin-left: 0; }
-  .layout-content-col h3,
-  .layout-content-col h4 {
-    margin-top:0; }
-
-.layout-content-col.span-1 {
-  width: 40px; }
-
-.layout-content-col.span-2 {
-  width: 100px; }
-
-.layout-content-col.span-3 {
-  width: 160px; }
-
-.layout-content-col.span-4 {
-  width: 220px; }
-
-.layout-content-col.span-5 {
-  width: 280px; }
-
-.layout-content-col.span-6 {
-  width: 340px; }
-
-.layout-content-col.span-7 {
-  width: 400px; }
-
-.layout-content-col.span-8 {
-  width: 460px; }
-
-.layout-content-col.span-9 {
-  width: 520px; }
-
-.layout-content-col.span-10 {
-  width: 580px; }
-
-.layout-content-col.span-11 {
-  width: 640px; }
-
-.layout-content-col.span-12 {
-  width: 700px; }
-
-.layout-content-col.span-13 {
-  width: 760px; }
-
-.vspace.size-1 {
-  height: 10px; }
-
-.vspace.size-2 {
-  height: 20px; }
-
-.vspace.size-3 {
-  height: 30px; }
-
-.vspace.size-4 {
-  height: 40px; }
-
-.vspace.size-5 {
-  height: 50px; }
-
-.vspace.size-6 {
-  height: 60px; }
-
-.vspace.size-7 {
-  height: 70px; }
-
-.vspace.size-8 {
-  height: 80px; }
-
-.vspace.size-9 {
-  height: 90px; }
-
-.vspace.size-10 {
-  height: 100px; }
-
-.vspace.size-11 {
-  height: 110px; }
-
-.vspace.size-12 {
-  height: 120px; }
-
-.vspace.size-13 {
-  height: 130px; }
-
-.vspace.size-14 {
-  height: 140px; }
-
-.vspace.size-15 {
-  height: 150px; }
-
-.vspace.size-16 {
-  height: 160px; }
-
-/* nav */
-#nav {
-  /* section header divs */
-  /* expanded section header divs */
-  /* sublinks */ }
-  #nav li {
-    list-style-type: none;
-    font-size: 14px;
-    margin:0;
-    padding:0;
-    line-height: 15px; }
-  #nav a {
-    color: #555555;
-    text-decoration: none; }
-  #nav .nav-section-header {
-    position: relative;
-    margin-bottom: 1px;
-    padding: 0 30px 0 0; }
-  #nav li.selected a, #nav li.selected > .nav-section-header > a {
-    color: #09C;
-  }
-  #nav li.selected ul li a {
-  /* don't highlight child items */
-    color: #555555; }
-  #nav .nav-section .nav-section .nav-section-header {
-    /* no white line between second level sections */
-    margin-bottom: 0; }
-    /* section header links */
-    #nav > li > div > a {
-      display: block;
-      color: #333333;
-      font-weight: 500;
-      padding: 10px 0 10px 10px; }
-    #nav .nav-section-header:after {
-      content: '';
-      background: transparent url(../images/styles/disclosure_down.png) no-repeat scroll 50% 50%;
-      width: 34px;
-      height: 34px;
-      display: block;
-      position: absolute;
-      top: 0;
-      right: 0; }
-    #nav .nav-section-header.empty:after {
-      display: none; }
-    /* nested nav headers */
-    #nav .nav-section .nav-section {
-      position: relative;
-      padding: 0;
-      margin: 0; }
-    #nav .nav-section li a {
-    /* first gen child (2nd level li) */
-      display:block;
-      font-weight: normal;
-      text-transform: none;
-      padding: 7px 5px 7px 10px;
-       }
-    #nav .nav-section li li a {
-    /* second gen child (3rd level li) */
-      padding: 5px 5px 5px 10px;
-       }
-  #nav li.expanded .nav-section-header {
-    background:#e9e9e9;
-    background: rgba(0, 0, 0, 0.05); }
-  #nav li.expanded li .nav-section-header {
-    background: transparent; }
-  #nav li.expanded li ul {
-  /* 3rd level ul */
-    padding:0 10px;
-  }
-    #nav li.expanded > .nav-section-header:after {
-      content: '';
-      background: transparent url(../images/styles/disclosure_up.png) no-repeat scroll 50% 50%;
-      width: 34px;
-      height: 34px; }
-  #nav li ul {
-    display:none;
-    overflow: hidden;
-    margin: 0; }
-    #nav li ul.animate-height-in {
-      -webkit-transition: height 0.25s ease-in;
-      -moz-transition: height 0.25s ease-in;
-      transition: height 0.25s ease-in; }
-    #nav li ul.animate-height-out {
-      -webkit-transition: height 0.25s ease-out;
-      -moz-transition: height 0.25s ease-out;
-      transition: height 0.25s ease-out; }
-    #nav li ul li {
-      padding: 0; }
-      #nav li li li {
-        padding: 0; }
-  #nav li.expanded ul {
-    }
-    #nav li ul > li {
-      padding:0;
-    }
-    #nav li ul > li:last-child {
-      padding-bottom:5px;
-    }
-    #nav li.expanded ul > li {
-      background:#efefef;
-      background: rgba(0, 0, 0, 0.03); }
-    #nav li.expanded ul > li li {
-      background:inherit; }
-
-.new,
-.new-child {
-  font-size: .78em;
-  font-weight: bold;
-  color: #ff3d3d;
-  vertical-align:top;
-  white-space:nowrap;
-}
-
-/* content header */
-.content-header {
-  height: 30px;
-  margin:20px 0 25px;
-  padding:0 0 10px;}
-.content-header.just-links {
-  margin-bottom:0;
-  padding-bottom:0;}
-    
-.content-header h1 {
-  color:#000;
-  margin:0;
-  border-bottom:0;
-  padding:0;
-}
-
-.content-footer {
-  border-top: 1px solid #ccc;
-  margin-top: 10px;
-  padding-top:10px;
-  height: 30px; }
-
-.content-footer .col-9 {
-  margin-left:0;
-}
-.content-footer .col-4 {
-  margin-right:0;
-}
-.content-footer.wrap {
-  width:940px;
-}
-
-.paging-links {
-  position: relative; }
-  .paging-links a {
-    position: absolute; }
-  .paging-links a,
-  .training-nav-top a {
-    font-size: 14px;
-    line-height: 30px;
-    color: #555555;
-    text-decoration: none;
-    text-transform: uppercase; }
-  .paging-links .prev-page-link,
-  .training-nav-top .prev-page-link {
-    left: -5px; }
-    .paging-links .prev-page-link:before,
-    .training-nav-top .prev-page-link:before {
-      content: '';
-      background: transparent url(../images/styles/disclosure_left.png) no-repeat scroll 50% 50%;
-      width: 10px;
-      height: 10px;
-      display: inline-block;
-      margin-right: 5px; }
-  .paging-links .next-page-link,
-  .training-nav-top .next-page-link,
-    .training-nav-top .start-class-link,
-    .training-nav-top .start-course-link {
-    right: 10px; }
-    .next-page-link:after,
-    .start-class-link:after,
-    .start-course-link:after,
-    .next-class-link:after {
-      content: '';
-      background: transparent url(../images/styles/disclosure_right.png) no-repeat scroll 50% 50%;
-      width: 10px;
-      height: 10px;
-      display: inline-block;
-      margin-left: 5px; }
-      
-      
-  .training-nav-top a {
-    display:block;
-    float:left;
-    width:108px;
-    height:28px;
-    padding: 8px 15px;
-    line-height:28px;
-    text-align:center;
-    border:1px solid #DADADA;
-    border-bottom:0;
-  }
-      
-  .training-nav-top a.next-page-link {
-    border-left:0;
-    width:109px;
-  }
-      
-  .training-nav-top a.disabled,
-  .content-footer a.disabled {
-    color:#999;
-  }
-      
-  .training-nav-top a.disabled:hover,
-  .content-footer a.disabled:hover {
-    cursor:default;
-    color:#999 !important;
-  }
-      
-  .training-nav-top a.start-class-link,
-  .training-nav-top a.start-course-link {
-    width:248px;
-  }
-  
-  .hide {
-    display:none !important;
-  }
-  
-  .content-footer.next-class {
-    display:block;
-    border:0;
-    margin-top:0;
-    padding-top:0;
-  }
-  
-  .content-footer.next-class a.next-class-link {
-    display:block;
-    float:right;
-    text-transform:uppercase;
-  }
-
-/* content body */
-@-webkit-keyframes glowheader {
-  from {
-    background-color: #33b5e5;
-    color: #000;
-    border-bottom-color: #000; }
-
-  to {
-    background-color: transparent;
-    color: #33b5e5;
-    border-bottom-color: #33b5e5; } }
-
-@-moz-keyframes glowheader {
-  from {
-    background-color: #33b5e5;
-    color: #000;
-    border-bottom-color: #000; }
-
-  to {
-    background-color: transparent;
-    color: #33b5e5;
-    border-bottom-color: #33b5e5; } }
-
-@keyframes glowheader {
-  from {
-    background-color: #33b5e5;
-    color: #000;
-    border-bottom-color: #000; }
-
-  to {
-    background-color: transparent;
-    color: #33b5e5;
-    border-bottom-color: #33b5e5; } }
-
-h2:target,
-h3:target {
-    -webkit-animation-name: glowheader;
-    -moz-animation-name: glowheader;
-    animation-name: glowheader;
-    -webkit-animation-duration: 0.7s;
-    -moz-animation-duration: 0.7s;
-    animation-duration: 0.7s;
-    -webkit-animation-timing-function: ease-out;
-    -moz-animation-timing-function: ease-out;
-    animation-timing-function: ease-out; }
-
-.design ol h4 {
-  margin-bottom:0;
-}
-.design ol {
-  counter-reset: item; }
-  .design ol>li {
-    font-size: 14px;
-    line-height: 20px;
-    list-style-type: none;
-    position: relative; }
-    .design ol>li:before {
-      content: counter(item) ". ";
-      counter-increment: item;
-      position: absolute;
-      left: -20px;
-      top: 0; }
-    .design ol li.value-1:before {
-      content: "1. "; }
-    .design ol li.value-2:before {
-      content: "2. "; }
-    .design ol li.value-3:before {
-      content: "3. "; }
-    .design ol li.value-4:before {
-      content: "4. "; }
-    .design ol li.value-5:before {
-      content: "5. "; }
-    .design ol li.value-6:before {
-      content: "6. "; }
-    .design ol li.value-7:before {
-      content: "7. "; }
-    .design ol li.value-8:before {
-      content: "8. "; }
-    .design ol li.value-9:before {
-      content: "9. "; }
-    .design ol li.value-10:before {
-      content: "10. "; }
-.design .with-callouts ol>li {
-  list-style-position: inside;
-  margin-left: 0; }
-  .design .with-callouts ol>li:before {
-    display: inline;
-    left: -20px;
-    float: left;
-    width: 17px;
-    color: #33b5e5;
-    font-weight: 500; }
-.design .with-callouts ul>li {
-  list-style-position: outside; }
-
-/* special list items */
-li.no-bullet {
-  list-style-type: none !important; }
-li.no-bullet *{
-  margin:0; }
-
-.design li.with-icon {
-  position: relative;
-  margin-left: 20px;
-  min-height: 30px; }
-  .design li.with-icon p {
-    margin-left: 0 !important; }
-  .design li.with-icon:before {
-    position: absolute;
-    left: -40px;
-    top: 0;
-    content: '';
-    width: 30px;
-    height: 30px; }
-  .design li.with-icon.tablet:before {
-    background-image: url(../images/styles/ico_phone_tablet.png); }
-  .design li.with-icon.web:before {
-    background-image: url(../images/styles/ico_web.png); }
-  .design li.with-icon.action:before {
-    background-image: url(../images/styles/ico_action.png); }
-  .design li.with-icon.use:before {
-    background-image: url(../images/styles/ico_use.png); }
-
-/* figures and callouts */
-.figure {
-  position: relative; }
-  .figure.pad-below {
-    margin-bottom: 20px; }
-  .figure .figure-callout {
-    position: absolute;
-    color: #fff;
-    font-weight: 500;
-    font-size: 16px;
-    line-height: 23px;
-    text-align: center;
-    background: transparent url(../images/styles/callout.png) no-repeat scroll 50% 50%;
-    padding-right: 2px;
-    width: 30px;
-    height: 29px;
-    z-index: 1000; }
-    .figure .figure-callout.top {
-      top: -9px; }
-    .figure .figure-callout.right {
-      right: -5px; }
-
-.figure-caption {
-  margin: 0 10px 20px 0;
-  font-size: 14px;
-  line-height: 20px;
-  font-style: italic; }
-
-/* rows of figures */
-.figure-row {
-  font-size: 0;
-  line-height: 0;
-  /* to prevent space between figures */ }
-  .figure-row .figure {
-    display: inline-block;
-    vertical-align: top; }
-  .figure-row .figure + .figure {
-    margin-left: 10px;
-    /* reintroduce space between figures */ }
-
-/* video  containers */
-.framed-galaxynexus-land-span-13 {
-  background: transparent url(../images/styles/device_galaxynexus_blank_land_span13.png) no-repeat
-scroll top left;
-  padding: 42px 122px 62px 126px;
-  overflow: hidden; }
-  .framed-galaxynexus-land-span-13, .framed-galaxynexus-land-span-13 video,
-.framed-galaxynexus-land-span-13 img {
-    width: 512px;
-    height: 286px; }
-
-.framed-galaxynexus-port-span-9 {
-  background: transparent url(../images/styles/device_galaxynexus_blank_port_span9.png) no-repeat
-scroll top left;
-  padding: 95px 122px 107px 124px;
-  overflow: hidden; }
-  .framed-galaxynexus-port-span-9, .framed-galaxynexus-port-span-9 video,
-.framed-galaxynexus-port-span-9 img {
-    width: 274px;
-    height: 488px; }
-
-.framed-galaxynexus-port-span-5 {
-  background: transparent url(../images/styles/device_galaxynexus_blank_port_span5.png) no-repeat
-scroll top left;
-  padding: 75px 31px 76px 33px;
-  overflow: hidden; }
-  .framed-galaxynexus-port-span-5, .framed-galaxynexus-port-span-5 video,
-.framed-galaxynexus-port-span-5 img {
-    width: 216px;
-    height: 384px; }
-
-/* landing page disclosures */
-.landing-page-link {
-  text-decoration: none;
-  font-weight: 500;
-  color: #333333; }
-  .landing-page-link:after {
-    content: '';
-    background: transparent url(../images/styles/disclosure_right.png) no-repeat scroll 50% 50%;
-    width: 10px;
-    height: 10px;
-    display: inline-block;
-    margin-left: 5px; }
-
-/* tooltips */
-.tooltip-box {
-  position: absolute;
-  background-color: rgba(0, 0, 0, 0.9);
-  border-radius: 2px;
-  font-size: 14px;
-  line-height: 20px;
-  color: #fff;
-  padding: 6px 10px;
-  max-width: 250px;
-  z-index: 10000; }
-  .tooltip-box.below:after {
-    position: absolute;
-    content: '';
-    line-height: 0;
-    display: block;
-    top: -10px;
-    left: 5px;
-    border: 5px solid transparent;
-    border-bottom-color: rgba(0, 0, 0, 0.9); }
-
-/* video note */
-.video-instructions {
-  margin-top: 10px;
-  margin-bottom: 10px; }
-  .video-instructions:before {
-    content: '';
-    background: transparent url(../images/styles/ico_movie_inline.png) no-repeat scroll top left;
-    display: inline-block;
-    width: 12px;
-    height: 12px;
-    margin-right: 8px; }
-  .video-instructions:after {
-    content: 'Click device screen to replay movie.'; }
-
-/* download buttons */
-.download-button {
-  display: block;
-  margin-bottom: 5px;
-  text-decoration: none;
-  background-color: #33b5e5;
-  color: #fff !important;
-  font-weight: 500;
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
-  padding: 6px 12px;
-  border-radius: 2px; }
-  .download-button:hover, .download-button:focus {
-    background-color: #0099cc;
-    color: #fff !important; }
-  .download-button:active {
-    background-color: #006699; }
-
-/* UI tables and other things found in Writing style and Settings pattern */
-.ui-table {
-  width: 100%;
-  background-color: #282828;
-  color: #fff;
-  border-radius: 2px;
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
-  border-collapse: separate; }
-  .ui-table th,
-  .ui-table td {
-    padding: 5px 10px;
-    background-color: inherit; 
-    border:0;}
-  .ui-table thead th {
-    font-weight: bold; }
-  .ui-table tfoot td {
-    border-top: 1px solid #494949;
-    border-right: 1px solid #494949;
-    text-align: center; }
-    .ui-table tfoot td:last-child {
-      border-right: 0; }
-
-.layout-with-list-item-margins {
-  margin-left: 30px !important; }
-
-.emulate-content-left-padding {
-  margin-left: 10px; }
-
-.do-dont-label {
-  margin-bottom: 10px;
-  padding-left: 20px;
-  background: transparent none no-repeat scroll 0px 3px; }
-  .do-dont-label.bad {
-    background-image: url(../images/styles/ico_wrong.png); }
-  .do-dont-label.good {
-    background-image: url(../images/styles/ico_good.png); }
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/***** PREVIOUSLY style.css ******************/
-
-
-
-
-
-@media screen, projection, print {
-[dir='rtl'] {
-    direction: rtl;
-}
-html {
-    line-height: 20px;
-}
-pre, table, input, textarea, code {
-    font-size: 1em;
-}
-address, abbr, cite {
-    font-style: normal;
-}
-[dir='rtl'] th {
-    text-align: right;
-}
-html[lang^=ja] blockquote, html[lang^=ja] q, html[lang^=ko] blockquote, html[lang^=ko] q,
-html[lang^=zh] blockquote, html[lang^=zh] q {
-    font-style: normal;
-}
-q {
-    font-style: italic;
-}
-fieldset, iframe, img {
-    border: 0;
-}
-img { 
-	-ms-interpolation-mode: bicubic;
-	vertical-align: middle;
-	max-width: 100%;
-}
-q {
-    quotes: none;
-}
-sup, sub {
-    font-size: 11px;
-    line-height: 0;
-}
-}
-
-@media screen, projection {
-
-table, fieldset {
-    margin: 0;
-}
-h1 {
-    color:#333;
-    font-size: 22px;
-    margin: 20px 0 20px;
-    padding:0 0 10px;
-}
-h1, h2 {
-    line-height: 32px;
-}
-h1.short {
-  margin-right:320px;
-}
-h1.short {
-  margin-right:320px;
-}
-h1.super {
-    font-size: 37px;	
-}
-h2 {
-    color:#333;
-    font-size: 20px;
-    margin: 20px 0 20px;
-    padding:0;
-}
-h3 {
-    color:#333;
-    font-size: 18px;
-}
-h3, h4 {
-    color:#333;
-    line-height: 20px;
-    margin: 10px 0;
-}
-h4 {
-	font-size: 16px;
-}
-h5 {
-	font-size: 14px;	
-}
-h5, h6 {
-	margin: 5px 0;
-}
-h6 {
-	font-size: 12px;	
-}
-hr { /* applied to the bottom of h2 elements */
-	height: 1px;
-	margin: 5px 0 20px;
-	border: 0;
-	background: #ccc;
-}
-p, pre, table, form {
-    margin: 0 0 15px;
-}
-small {
-	font-size: 11.5px;
-	color: #000;
-}
-ul, ol {
-    margin: 0 0 15px 18px;
-    padding: 0;
-}
-[dir='rtl'] ul, [dir='rtl'] ol {
-    margin: 10px 30px 10px 10px;
-}
-ul ul, ul ol, ol ul, ol ol {
-    margin-bottom: 0;
-    margin-top: 0;
-}
-li {
-  margin:0 0 4px;
-}
-dd {
-  margin:0 0 10px 30px;
-}
-dd p {
-  margin:10px 0 0;
-}
-ul p,
-ol p {
-  margin:10px 0 0;
-}
-pre strong, pre b, a strong, a b, a code {
-    color: inherit;
-}
-pre, code {
-    color: #060;
-    font: 14px/1.5 'courier new', courier, monospace;
-}
-code {
-    font-weight:bold;
-}
-
-legend {
-    display: none;
-}
-a:link, a:visited {
-  color: #258aaf;
-  text-decoration: none;
-}
-a:focus, a:hover, a:active {
-  color: #33B5E5;
-  text-decoration: none;
-}
-strong, b {
-  font-weight:bold;
-  color: #222;
-}
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-  border:0;
-  margin: .5em 1em 1em 0;
-  width:100%; /* consistent table widths; within IE's quirks */
-  background-color:#f7f7f7;
-}
-th, td {
-  padding: 4px 12px;
-  vertical-align: top;
-  text-align: left;
-}
-td {
-  background-color:inherit;
-  border:solid 1px #DDD;
-}
-th {
-  background-color: #999;
-  color: #fff;
-  border:solid 1px #DDD;
-  font-weight: normal;
-}
-tr:first-of-type th:first-of-type:empty {
-    visibility: hidden;
-}
-/* --------------------------------------------------------------------------
-Footer
-*/
-.line {
-    clear: both;
-    background: #acbc00;
-    background: -moz-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #acbc00),
-color-stop(50%, #acbc00), color-stop(50%, #bdde00), color-stop(100%, #bdde00));
-    background: -webkit-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    background: -o-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    background: -ms-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    background: linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%);
-    height: 2px;
-    margin-top: 150px;
-    position: relative;
-    z-index: 11;
-}
-#footer {
-    font-size:11px;
-    clear: both;
-    color: #999;
-    padding: 15px 0;
-    margin-top:10px;
-    width:auto;
-}
-#footer-local ul {
-	list-style: none;
-	margin: 5px 0 30px 0;
-}
-#footer-local li {
-    display: inline;
-}
-#footer-local li+li:before {
-    content: '|';
-    padding: 0 3px;
-	color: #e5e5e5;
-}
-#footer-global {
-    padding: 10px 15px;
-	background: #f5f5f5;
-}
-#footer-global {
-    border-top: 1px solid #ebebeb;
-    font-size: 11.5px;
-    line-height: 1.8;
-    list-style: none;
-}
-#footer-global ul {
-    margin: 0;
-}
-#footer-global li {
-    display: inline;
-    font-weight: bold;
-}
-#footer-global li+li:before {
-    content: '¬?';
-    padding: 0 3px;
-}
-* html #footer-global li {
-    margin: 0 13px 0 0;
-}
-* [dir='rtl'] #footer-global li {
-    margin: 0 0 0 13px;
-}
-*+html #footer-global li {
-    margin: 0 13px 0 0;
-}
-*+[dir='rtl'] #footer-global li {
-    margin: 0 0 0 13px;
-}
-#footer-global li a {
-    font-weight: normal;
-}
-.locales {
-  margin: 10px 0 0 0px;
-}
-[dir='rtl'] .locales {
-    background-position: right center;
-    float: left;
-    padding: 0 24px 0 0;
-}
-.locales form {
-    margin: 0;	
-}
-.locales select, .sites select {
-  line-height: 3.08;
-  margin: 0px 0;
-  border: solid 1px #EBEBEB;
-  -webkit-appearance: none;
-  background: white url('../images/arrows-up-down.png') right center no-repeat;
-  height: 30px;
-  color: #222;
-  line-height: normal;
-  padding: 5px;
-  width: 230px;
-}
-}
-
-/* =============================================================================
-   Print Only
-   ========================================================================== */
-@media print {
-  /* configure printed page */
-  @page {
-      margin: 0.75in 1in;
-      widows: 4;
-      orphans: 4;
-  }
-
-  /* reset spacing metrics */
-  html, body, .wrap {
-      margin: 0 !important;
-      padding: 0 !important;
-      width: auto !important;
-  }
-
-  /* leave enough space on the left for bullets */
-  body {
-      padding-left: 20px !important;
-  }
-  #doc-col {
-      margin-left: 0;
-  }
-
-  /* hide a bunch of non-content elements */
-  #header, #footer, #nav-x, #side-nav,
-  .training-nav-top, .training-nav-bottom,
-  #doc-col .content-footer,
-  .nav-x, .nav-y,
-  .paging-links,
-  a.totop {
-      display: none !important;
-  }
-
-  /* remove extra space above page titles */
-  #doc-col .content-header {
-      margin-top: 0;
-  }
-
-  /* bump up spacing above subheadings */
-  h2 {
-      margin-top: 40px !important;
-  }
-
-  /* print link URLs where possible and give links default text color */
-  p a:after {
-      content: " (" attr(href) ")";
-      font-size: 80%;
-  }
-  p a {
-      word-wrap: break-word;
-  }
-  a {
-      color: inherit;
-  }
-
-  /* syntax highlighting rules */
-  .str { color: #060; }
-  .kwd { color: #006; font-weight: bold; }
-  .com { color: #600; font-style: italic; }
-  .typ { color: #404; font-weight: bold; }
-  .lit { color: #044; }
-  .pun { color: #440; }
-  .pln { color: #000; }
-  .tag { color: #006; font-weight: bold; }
-  .atn { color: #404; }
-  .atv { color: #060; }
-}
-
-/* =============================================================================
-   Columns
-   ========================================================================== */
-
-@media screen, projection, print {
-.full {
-	padding: 2.5em 0;
-	border-top: solid 1px #ddd;
-	border-bottom: solid 1px #ddd;
-	background: #f7f7f7;	
-}
-.wrap {
-	margin: 0 auto;
-	width: 940px;
-	clear: both;
-}
-.cols {
-    height: 1%;
-    margin: 0 -1.533742331288343558282%;
-    width: 103.06748466257669%}
-*+html .cols {
-    margin-bottom: 20px;
-}
-.cols:after {
-    clear: both;
-    content: ' ';
-    display: block;
-    height: 0;
-    visibility: hidden;
-}
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
-.col-13, .col-14, .col-15, .col-16 {
-    display: inline;
-	float: left;
-	margin-left: 10px;
-	margin-right: 10px;
-}
-/*
-* html .col-1, * html .col-2, * html .col-3, * html .col-4, * html .col-5, * html .col-6, * html
-.col-7, * html .col-8, * html .col-9, * html .col-10, * html .col-11, * html .col-12  {
-    margin: 0;
-    padding: 0 1.4% 20px;
-}
-[dir='rtl'] .col-1, [dir='rtl'] .col-2, [dir='rtl'] .col-3, [dir='rtl'] .col-4, [dir='rtl'] .col-5,
-[dir='rtl'] .col-6, [dir='rtl'] .col-7, [dir='rtl'] .col-8, [dir='rtl'] .col-9, [dir='rtl'] .col-10,
-[dir='rtl'] .col-11, [dir='rtl'] .col-12 {
-    float: right;
-}
-*/
-.col-1 { width: 40px }
-.col-2 { width: 100px }
-.col-3 { width: 160px }
-.col-4 { width: 220px }
-.col-5 { width: 280px }
-.col-6 { width: 340px }
-.col-7 { width: 400px }
-.col-8 { width: 460px }
-.col-9 { width: 520px }
-.col-10 { width: 580px }
-.col-11 { width: 640px }
-.col-12 { width: 700px }
-.col-13 { width: 760px }
-.col-14 { width: 820px }
-.col-15 { width: 880px }
-.col-16 { width: 940px }
-}
-
-.col-right {
-  margin-right:0px;
-}
-
-@media screen and (max-width:772px) {
-.col-5, .col-6, .col-7 {
-    clear: both;
-    width: 97.0238096%}
-}
-
-/* =============================================================================
-   Layout
-   ========================================================================== */
-@media screen, projection, print {
-
-/* --------------------------------------------------------------------------
-Header, Login, Nav-X, Search
-*/
-#header {
-	padding: 2.2em 0 0.2em 0;
-}
-#header:before, #header:after {
-	content: "";
-	display: table;
-	clear: both
-}
-.logo, .nav-x {
-    float: left;
-}
-.nav-x {
-    margin-top: -2px;
-	list-style-type: none;
-}
-.nav-x a {
-    color: #333;
-    font-size: 16px;
-}
-.design a.selected {
-    color: #33b5e5;
-}
-.develop a.selected {
-    color: #F80;
-}
-.distribute a.selected {
-    color: #9C0;
-}
-
-
-
-.nav-x li {
-    display: inline;
-    margin-right: 45px;
-}
-.search {
-	float: right;
-	position: relative;
-	width: 220px
-}
-.search .bottom, .search .left, .search .right {
-	position: absolute;
-	background-color: #a3a3a3;
-}
-.search .bottom {
-	width: 220px;
-	height: 1px;
-	top: 24px;
-	left: 0
-}
-.search .left, .search .right {	
-	height: 5px;
-	width: 1px
-}
-.search .left {	top: 19px; left: 0 }
-.search .right { top: 19px; right: 0 }
-.search form {
-	float: left;
-	margin-top: 2px;
-	width: inherit;
-}
-.search .close,
-#player-frame .close {
-  position: absolute;
-  right: 8px;
-  bottom: 4px;
-  width: 16px;
-  height: 16px;
-  margin: 0;
-  text-indent: -1000em;
-  background: url(../images/close.png) no-repeat 0 0;
-  z-index:9999;
-}
-.search .close:hover, .search .close:focus,
-#player-frame .close:hover, #player-frame .close:focus {
-  background-position: -16px 0;
-  cursor:pointer;
-}
-#player-frame .close {
-  top: 6px;
-}
-.search form input {
-	color: #999;
-	font-size: 1em;
-	width: inherit;
-	border: none;
-	margin: 0;
-	padding:0 0 0 6px;
-	z-index: 1500;
-	background-color: transparent
-}
-.search:hover .bottom, .search:hover .left, .search:hover .right {
-	background-color: #33b5e5;
-}
-.search:hover .icon {
-	background-position: -8px 0
-}
-.search form input:focus {
-	color: #222;
-	font-weight: bold;
-	outline:0;
-}
-/* Search Dropdown */
-.search-dropdown {
-	padding: 15px;
-	width: 192px;
-	border: solid 1px #c5c5c5;
-	background: #fff;
-	position: absolute;
-	top: 35px;
-	left: 0;
-	-moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
-	-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2);
-	box-shadow: 0  0 10px rgba(0,0,0,0.2)
-}
-.search-dropdown ul, .search-dropdown ul li {
-	list-style-type: none;
-	margin: 0;
-	padding: 0
-}
-.search-dropdown ul li {
-	clear: both	
-}
-.search-dropdown img {
-	float: left;
-	margin: 0 10px 10px 0
-}
-.search-dropdown h6 {
-	color: #222;
-	margin: 0;
-	line-height: normal
-}
-.search-dropdown .desc {
-	color: #999;
-	font-size: 11.5px;
-	line-height: normal;
-	margin: 0;
-}
-.search-dropdown li a:hover h6, .search-dropdown li a:hover .desc {
-	color: #33b5e5
-}
-/* --------------------------------------------------------------------------
-Buttons
-*/
-.button, a.button, .button-secondary, a.button-secondary {
-	border-image: initial;
-    -webkit-border-radius: 2px;
-    -moz-border-radius: 2px;
-    border-radius: 2px;
-    cursor: pointer;
-}
-.button, a.button {
-    background-color: #09c;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#2faddb), to(#09c));
-    background-image: -webkit-linear-gradient(top, #2faddb, #09c);
-    background-image: -moz-linear-gradient(top, #2faddb, #09c);
-    background-image: -ms-linear-gradient(top, #2faddb, #09c);
-    background-image: -o-linear-gradient(top, #2faddb, #09c);
-    background-image: linear-gradient(top, #2faddb, #09c);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#0099cc',GradientType=0);
-    border: 1px solid #3990ab;
-    color: #fff;
-}
-.button-secondary, a.button-secondary {
-    background-color: #f3f3f3;
-    border: 1px solid #dcdcdc;
-    color: #444;
-}
-a.button, a.button:visited, a.button-secondary, a.button-secondary:visited {
-    height: 28px;
-    line-height: 28px;
-    margin-right: 16px;
-	font-weight: 400;
-    min-width: 54px;
-    outline: 0;
-    padding: 8px 15px;
-    text-align: center;
-}
-.button, .button-secondary {
-    height: 34px;
-    line-height: 34px;
-    margin-right: 16px;
-	font-weight: 400;
-    min-width: 54px;
-    outline: 0;
-    padding: 0 15px;
-    text-align: center;
-}
-.button:hover, a.button:hover {
-    border-color: #09c;
-    background-color: #4cadcb;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#5dbcd9), to(#4cadcb));
-    background-image: -webkit-linear-gradient(top, #5dbcd9, #4cadcb);
-    background-image: -moz-linear-gradient(top, #5dbcd9, #4cadcb);
-    background-image: -ms-linear-gradient(top, #5dbcd9, #4cadcb);
-    background-image: -o-linear-gradient(top, #5dbcd9, #4cadcb);
-    background-image: linear-gradient(top, #5dbcd9, #4cadcb);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9',
-EndColorStr='#4cadcb',GradientType=0);
-    color: #fff !important;
-}
-.button:active, a.button:active {
-    background-color: #1e799a;
-    background-image: none;
-    border-color: #30b7e6;
-}
-.button-secondary:hover, a.button-secondary:hover {
-    border-color: #dbdbdb;
-    background-color: #f3f3f3;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));
-    background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -moz-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -ms-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -o-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: linear-gradient(top, #f9f9f9, #ececec);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9',
-EndColorStr='#ececec');
-    color: #33B5E5 !important;
-}
-.button-secondary:active, a.button-secondary:active {
-    border-color: #dadada;
-	background: #ebebeb; /* Old browsers */
-	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
-	background:
-url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/
-Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0Jv
-eD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+
-CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIg
-eDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ViZWJl
-YiIgc3RvcC1vcGFjaXR5PSIxIi8+
-CiAgICA8c3RvcCBvZmZzZXQ9IjEwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIxIi8+
-CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2ZhZmFmYSIgc3RvcC1vcGFjaXR5PSIxIi8+
-CiAgICA8c3RvcCBvZmZzZXQ9IjkwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIxIi8+
-CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNmY2ZjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFy
-R3JhZGllbnQ+
-CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIg
-Lz4KPC9zdmc+);
-	background: -moz-linear-gradient(top,  #ebebeb 0%, #f9f9f9 5%, #fafafa 50%, #f9f9f9 90%,
-#ffffff 100%); /* FF3.6+ */
-	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ebebeb),
-color-stop(5%,#f9f9f9), color-stop(50%,#fafafa), color-stop(90%,#f9f9f9), color-stop(100%,#ffffff));
-/* Chrome,Safari4+ */
-	background: -webkit-linear-gradient(top,  #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9
-90%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
-	background: -o-linear-gradient(top,  #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff
-100%); /* Opera 11.10+ */
-	background: -ms-linear-gradient(top,  #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff
-100%); /* IE10+ */
-	background: linear-gradient(top,  #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff
-100%); /* W3C */
-	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebebeb',
-endColorstr='#ffffff',GradientType=0 ); /* IE6-8 */
-	-webkit-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-	-moz-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-	box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05); 
-	color: #258AAF !important;
-}
-.button.big {
-  font-size:20px;
-  display:inline-block;
-}
-
-.button.disabled,
-.button.disabled:hover,
-.button.disabled:active {
-  background:#ebebeb;
-  color:#999;
-  border-color:#999;
-  cursor:default;
-}
-
-.training-nav-top a.button-secondary,
-.training-nav-bottom a.button-secondary {
-  display:block;
-  float:left;
-  margin:0;
-  width:130px;
-  text-transform:uppercase;
-  font-weight:bold;
-  
-    background-color: #f3f3f3;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));
-    background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -moz-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -ms-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: -o-linear-gradient(top, #f9f9f9, #ececec);
-    background-image: linear-gradient(top, #f9f9f9, #ececec);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9',
-EndColorStr='#ececec');
-    color: #33B5E5;
-}
-
-.training-nav-top a.button-secondary:hover,
-.training-nav-bottom a.button-secondary:hover {
-    background-color: #09c;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#2faddb), to(#09c));
-    background-image: -webkit-linear-gradient(top, #2faddb, #09c);
-    background-image: -moz-linear-gradient(top, #2faddb, #09c);
-    background-image: -ms-linear-gradient(top, #2faddb, #09c);
-    background-image: -o-linear-gradient(top, #2faddb, #09c);
-    background-image: linear-gradient(top, #2faddb, #09c);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#09c');
-    border: 1px solid #3990ab;
-    color: #fff !important;
-}
-
-.training-nav-top a.button-secondary.last,
-.training-nav-bottom a.button-secondary.last {
-  border-left:0;
-}
-
-.training-nav-top a.button-secondary.double-size,
-.training-nav-bottom a.button-secondary.double-size {
-  width:291px;
-}
-
-.training-nav-top,
-.training-nav-bottom {
-  float:right;
-  margin:0 0 0 20px;
-}
-
-.training-nav-bottom {
-  padding:0 0 20px;
-}
-
-#tb-wrapper,
-#qv-wrapper {
-  float:right;
-  clear:right;
-  margin:-27px 0 0 20px; /* negative top-margin to counter the content-header bottom margin */
-  padding:0 0 20px;
-}
-
-#tb,
-#qv {
-  font-size:13px;
-  line-height:18px;
-  width:238px;
-  border:1px solid #ccc;
-  float:right;
-}
-
-#tb {
-  width:278px;
-}
-
-#tb h2,
-#qv h2 {
-  margin:10px 15px;
-  padding:0;
-  text-transform:uppercase;
-  border-bottom:1px solid gainsboro;
-}
-
-#tb *,
-#qv * {
-  font-size:inherit;
-}
-
-#tb .download-box {
-  padding:0 0 0 15px;
-}
-
-#tb .download-box .filename {
-  font-size:11px;
-  margin:4px 4px 10px;
-  color:#666;
-}
-
-
-/* Dev guide quicknav */
-
-.sidebox-wrapper {
-  float:right;
-  clear:right;
-  margin:0 0 0 20px;
-  padding:0 0 20px;
-}
-
-.sidebox {
-  width:226px;
-  font-size:13px;
-  line-height:18px;
-  border-left:4px solid #99CC00;
-  float:right;
-  padding:0 0 0 10px;
-}
-
-.sidebox h2,
-.sidebox h3,
-.sidebox h4,
-.sidebox h5 {
-  font-weight:bold;
-  margin:0 0 10px;
-}
-
-.sidebox * {
-  font-size:inherit;
-}
-
-#tb ol,
-#tb ul,
-#qv ul {
-  margin:0 15px 10px 35px;
-}
-
-#qv ol {
-  list-style:none;
-  margin:0 15px 15px;
-  font-size:inherit;
-  line-height:inherit;
-}
-
-#tb ol ol,
-#tb ul ul,
-#qv ol ol,
-#qv ul ul,
-.sidebox ol ol,
-.sidebox ul ul {
-  margin-bottom:0;
-}
-
-#qv ol ol {
-  margin:3px 0 3px 15px;
-}
-
-.sidebox p,
-#qv p,
-#tb p {
-  margin: 0 0 10px;
-}
-
-
-/* --------------------------------------------------------------------------
-Form
-*/
-.article form {
-    margin: 0 0 20px;
-}
-.article form .form-required {
-    color: #dd4b39;
-}
-.article form fieldset {
-    margin: 0 0 20px;
-    padding: 0;
-}
-.article form legend {
-    display: block;
-    line-height: 1.5;
-    margin: 0;
-    padding: 0;
-}
-/*
-.article form ol, .article form ul {
-    margin: 0 0 0 1em;
-    padding: 0 0 0 1em;
-}
-[dir='rtl'] .article form ol, [dir='rtl'] .article form ul {
-    margin: 0 1em 0 0;
-    padding: 0 1em 0 0;
-}
-.article form ol ul, .article form ul ul, [dir='rtl'] .article form ol ul, [dir='rtl'] .article form
-ul ul {
-    list-style: none;
-    margin: 0;
-    padding: 0;
-}
-.article form li {
-    margin: 0 0 20px;
-}
-.article form li li {
-    margin: 0 0 5px;
-}
-*/
-.article form label {
-    display: block;
-    margin: 0 0 5px;
-    padding: 0;
-}
-.article form input[type='text'], .article form select, .article form textarea, .article form
-.checkbox-group, .article form .radio-group {
-    margin-bottom: 15px;
-}
-.checkbox-group input {
-	width: 13px;
-	height: 13px;
-	background: #fff;
-	border: solid 1px #c6c6c6;
-	float: left;
-}
-.article form .checkbox-group, .article form .radio-group {
-	display: block
-}
-.article form select {
-    border: solid 1px #ebebeb;
-    border-top-color: #ddd;
-    -webkit-appearance: none;
-    background: #f3f3f3 url(../images/arrows-up-down.png) right center no-repeat;
-    height: 30px;
-    color: #222;
-    line-height: normal;
-    padding: 5px;
-    width: 130px;
-}
-    
-.article form .browse .browse-msg {
-	font-size: 11.5px;	
-}
-.article form .browse .button-secondary {
-	height: auto;
-	line-height: 25px;
-	font-size: 11px;
-	padding: 0 8px;
-	margin: 0 10px 15px 0;
-}
-.article form input[type='text'], .article form textarea {
-    border: 1px solid #ebebeb;
-    border-top-color: #dcdcdc;
-    color: #222;
-    line-height: normal;
-    padding: 6px 10px;
-    width: 300px;	
-}
-.article form textarea {
-    height: 150px;
-}
-.article form input[type='text']:focus, .article form textarea:focus {
-    border-color: #33B5E5;
-    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
-    -o-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
-    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
-    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
-    outline: 0;
-}
-.article form input[disabled], .article form textarea[disabled], .article form label.form-disabled {
-    color: #999;
-}
-.article form input[type='text'][disabled], .article form textarea[disabled] {
-    background-color: #ebebeb;
-}
-form .form-error input[type='text'], form .form-error textarea {
-    border-color: #dd4b39;
-	margin-right: 20px;
-}
-.aside {
-    -moz-border-radius: 2px;
-    -webkit-border-radius: 2px;
-    border-radius: 2px;
-    margin: 10px 0;
-    padding: 20px;
-	color: #666;
-    position: relative;
-	background: #f9f9f9;
-}
-/*
-.aside, .notification, .promo {
-    -moz-border-radius: 2px;
-    -webkit-border-radius: 2px;
-    border-radius: 2px;
-    margin: 10px 0;
-    padding: 10px;
-    position: relative;
-}
-.aside>:first-child, .notification>:first-child, .promo>:first-child {
-    margin-top: 0;
-}
-.aside>:last-child, .notification>:last-child, .promo>:last-child {
-    margin-bottom: 0;
-}
-.aside {
-    background: #f9f9f9;
-}
-.notification {
-    background: #fffbe4;
-    border-color: #f8f6e6;
-}
-.promo {
-    background: #f6f9ff;
-    border-color: #eff2f9;
-}
-*/
-/* --------------------------------------------------------------------------
-Code Style
-*/
-pre {
-	margin: 1em 0;
-	padding: 1em;
-	overflow: auto;
-	border: solid 1px #ddd;
-	background: #f7f7f7;	
-}
-.str { color: #080; }
-.kwd { color: #008; }
-.com { color: #800; }
-.typ { color: #606; }
-.lit { color: #066; }
-.pun { color: #660; }
-.pln { color: #000; }
-.tag { color: #008; }
-.atn { color: #828; }
-.atv { color: #080; }
-.dec { color: #606; }
-
-/* --------------------------------------------------------------------------
-Three-Pane
-*/
-/* Package Nav & Classes Nav */
-.three-pane {
-	position: relative;
-	border-top: solid 1px #ebebeb;
-}
-#packages-nav .js-pane,
-#classes-nav .js-pane {
-  overflow:visible;
-}
-#packages-nav {
-        height:270px;
-	max-height: inherit;
-	overflow: hidden;
-	position: relative;	
-}
-#classes-nav {
-	overflow: hidden;
-	position: relative;	
-}
-#packages-nav ul, #classes-nav ul {
-	list-style-type: none;
-	margin: 10px 0 20px 0;
-	padding: 0;	
-}
-#classes-nav li {
-	font-weight: bold;
-	margin: 5px 0;
-}
-#packages-nav li,
-#classes-nav li li {
-	margin: 0;
-}
-#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited,
-#classes-nav li a, #classes-nav li a:active, #classes-nav li a:visited {
-	padding: 0 0 0 4px;
-}
-#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited,
-#classes-nav li li a, #classes-nav li li a:active, #classes-nav li li a:visited,
-#nav-tree li a, #nav-tree li a:active, #nav-tree li a:visited {
-	color: #222;
-	font-weight: normal;	
-}
-#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited,
-#classes-nav li li a, #classes-nav li li a:active, #classes-nav li li a:visited {
-	display: block;
-}
-#packages-nav li.selected a, #packages-nav li.selected a:active, #packages-nav li.selected
-a:visited,
-#classes-nav li li.selected a, #classes-nav li li.selected a:active, #classes-nav li li.selected
-a:visited,
-#nav-tree li div.selected {
-    font-weight: 500;
-    color: #0099cc;
-    background-color:#fff; }
-  #packages-nav li.selected ul li a,
-  #classes-nav li.selected ul li a {
-  /* don't highlight child items */
-    color: #555555; }
-#nav-tree li div.selected a {
-    font-weight: 500;
-    color: #0099cc;
-}
-#nav-swap {
-  height:30px;
-  border-top:1px solid #ccc;
-}
-#nav-swap a {
-  display:inline-block;
-  height:100%;
-  color: #222;
-  font-size: 12px;
-  padding: 5px 0 5px 5px;
-}
-
-#nav-swap .fullscreen {
-  float: right;
-  width: 24px;
-  height: 24px;
-  text-indent: -1000em;
-  padding:0;
-  margin:3px 5px 0;
-  background: url(../images/fullscreen.png) no-repeat -24px 0;
-}
-#nav-swap .fullscreen.disabled {
-  background-position: 0 0;
-}
-#nav-swap .fullscreen:hover, 
-#nav-swap .fullscreen:focus {
-  cursor:pointer;
-}
-
-
-/* nav tree */
-#side-nav, #devdoc-nav, #swapper,
-#nav-tree, #tree-list {
-  overflow:hidden;
-  margin-left:0;
-}
-
-#nav-tree ul {
-  list-style:none;
-  padding:0;
-  margin:10px 0;
-}
-
-#nav-tree ul li div {
-  padding:0 0 0 4px;
-}
-
-#side-nav #nav-tree ul li a,
-#side-nav #nav-tree ul li span.no-children {
-  padding: 0;
-  margin: 0;
-}
-
-#nav-tree .plus {
-  margin: 0 3px 0 0;
-}
-
-#nav-tree ul ul {
-  list-style: none;
-  margin: 0;
-  padding: 0 0 0 0;
-}
-
-#nav-tree ul li {
-  margin: 0;
-  padding: 0 0 0 0;
-  white-space: nowrap;
-}
-
-#nav-tree .children_ul {
-  padding:0;
-  margin:0;
-}
-#nav-tree .children_ul li div {
-  padding:0 0 0 10px;
-}
-#nav-tree .children_ul .children_ul li div {
-  padding:0 0 0 20px;
-}
-
-#nav-tree a.nolink {
-  color: #222;
-  text-decoration: none;
-}
-
-#nav-tree span.label {
-  width: 100%;
-}
-
-#nav-tree {
-  overflow-x: auto;
-  overflow-y: scroll;
-  outline:0;
-}
-
-
-/* Content */
-#doc-col {
-  margin-right:0;
-}
-#doc-content-container {
-	margin-left: 291px	
-}
-#doc-header, #doc-content {
-	padding: 1em 2em;
-}
-#doc-header {
-	background: #f7f7f7;	
-}
-#doc-header h1 {
-	line-height: 0;
-	margin-bottom: 15px;
-}
-#api-info-block {
-	float: right;
-	font-weight: bold;
-}
-#api-info-block a, #api-info-block a:active, #api-info-block a:visited {
-	color: #222;
-}
-#api-info-block a:hover, #api-info-block a:focus {
-	color: #33B5E5;
-}
-#api-nav-header {
-  height:19px; /* plus 16px padding = 35; same as #nav li */
-  font-size:14px;
-  padding: 8px 0;
-  margin: 0;
-  border-bottom: 1px solid #CCC;
-  background:#e9e9e9;
-  background: rgba(0, 0, 0, 0.05); /* matches #nav li.expanded */
-
-}
-#api-nav-title {
-  padding:0 5px;
-  white-space:nowrap;
-}
-
-#api-level-toggle {
-  float:right;
-  padding:0 5px;
-}
-
-#api-level-toggle label {
-  margin:0;
-  vertical-align:top;
-  line-height: 19px;
-  font-size:13px;
-  height: 19px;
-}
-
-#api-level-toggle .select-wrapper {
-  width: 35px;
-  display: inline-block;
-  overflow: hidden;
-}
-#api-level-toggle select {
-  border: 0;
-  appearance:none;
-  -moz-appearance:none;
-  -webkit-appearance: none;
-  background: transparent url(../images/arrows-up-down.png) 23px 5px no-repeat;
-  color: #222;
-  height: 19px;
-  line-height: 19px;
-  padding: 0;
-  margin:1px 0 0 0;
-  width:150%;
-  font-size:13px;
-  vertical-align:top;
-  outline:0;
-}
-
-
-/* Toggle for revision notes and stuff */
-div.toggle-content.closed .toggle-content-toggleme {
-  display:none;
-}
-
-#jd-content img.toggle-content-img {
-  margin:0 5px 5px 0;
-}
-div.toggle-content p {
-  margin:10px 0 0;
-}
-div.toggle-content-toggleme {
-  padding:0 0 0 15px;
-}
-
-
-/* API LEVEL FILTERED MEMBERS */
-
-.absent,
-.absent a:link,
-.absent a:visited,
-.absent a:hover,
-.absent * {
-  color:#bbb !important;
-  cursor:default !important;
-  text-decoration:none !important;
-}
-#devdoc-nav li.absent.selected,
-#devdoc-nav li.absent.selected *,
-#devdoc-nav div.label.absent.selected,
-#devdoc-nav div.label.absent.selected * {
-  background-color:#eaeaea !important;
-}
-.absent h4.jd-details-title,
-.absent h4.jd-details-title * {
-  background-color:#f6f6f6 !important;
-}
-.absent img {
-  opacity: .3;
-  filter: alpha(opacity=30);
-  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
-}
-
-
-
-
-
-
-
-
-
-/* JQUERY RESIZABLE STYLES */
-.ui-resizable { position: relative; }
-.ui-resizable-handle { position: absolute; display: none; font-size: 0.1px; z-index:1; }
-.ui-resizable .ui-resizable-handle { display: block; border-bottom: 1px solid #e4e4e4; }
-/*body .ui-resizable-disabled .ui-resizable-handle { display: none; }
-body .ui-resizable-autohide .ui-resizable-handle { display: none; }*/
-.ui-resizable-s { cursor: s-resize; height: 10px; width: 100% !important; bottom: -11px; left: 0;
-border-bottom: solid 1px #ededed;
-  background: #f7f7f7 url("../images/resizable-s2.png") no-repeat scroll center center; }
-/*
-.ui-resizable-e { 
-cursor: e-resize; width: 10px; right: 0; top: 0; height: 100%; border-right: solid
-1px #ededed;background: #f7f7f7 url("../images/resizable-e2.png") no-repeat scroll center center; }
-*/
-
-/* --------------------------------------------------------------------------
-Lightbox
-*/
-.lightbox {	
-	width: 769px;
-	padding: 1.5em;
-	margin: 0 auto;
-	border: solid 1px #dcdcdc;
-	background: #fff;
-	-moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
-	-webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
-	box-shadow: 1px 1px 5px rgba(0,0,0,0.1)
-}
-.lightbox .header {
-	float: left;
-	width: 720px;
-	margin: -10px 20px 10px 0;	
-}
-.lightbox .close {
-	float: right;
-	width: 10px;
-	height: 10px;
-	margin: -10px -10px 10px 0;
-	text-indent: -1000em;
-	background: url(../images/close.png) no-repeat 0 0;
-}
-.lightbox .close:hover, .lightbox .close:focus {
-	background-position: -10px 0;
-}
-
-/* --------------------------------------------------------------------------
-Misc
-*/
-
-
-.clearfix:before, .clearfix:after {
-	content: "";
-	display: table
-}
-.clearfix:after {
-	clear: both
-}
-.clearfix {
-	*zoom: 1
-}
-table.blank th, table.blank td {
-    border: 0;
-	background: none
-}
-.caption {
-	margin: 0.5em 0 2em 0;
-	color: #000;
-	font-size: 11.5px;	
-}
-
-.nolist {
-  list-style:none;
-  margin-left:0;
-}
-
-
-pre.classic {
-  background-color:transparent;
-  border:none;
-  padding:0;
-}
-
-p.img-caption {
-  margin: -10px 0 20px;
-  font-size:13px;
-  color:#666;
-}
-
-div.figure {
-  float:right;
-  clear:right;
-  margin:10px 0 0 0;
-  padding:0 0 0 20px;
-  /* width must be defined w/ an inline style matching the image width */
-}
-
-p.table-caption {
-  margin: 0 0 4px 0; /* matches default table left-margin */
-  font-size:13px;
-  color:#666;
-}
-
-div.note, 
-div.caution, 
-div.warning {
-  margin: 0 0 15px;
-}
-
-p.note, div.note, 
-p.caution, div.caution, 
-p.warning, div.warning {
-  padding: 0 0 0 10px;
-  border-left: 4px solid;
-}
-
-p.note {
-  border-color: #258AAF;
-}
-
-p.caution {
-  border-color: #FF8800;
-}
-
-p.warning {
-  border-color: #ff4443;
-}
-
-div.note.design {
-  border-left: 4px solid #33B5E5;
-}
-
-div.note.develop {
-  border-left: 4px solid #F80;
-}
-
-div.note.distribute {
-  border-left: 4px solid #9C0;
-}
-
-.note p, .caution p, .warning p {
-  margin:0 0 5px;
-}
-
-.note p:last-child, .caution p:last-child, .warning p:last-child {
-  margin-bottom:0;
-}
-
-blockquote {
-  display:block;
-  float:right;
-  width:280px;
-  font-size:20px;
-  font-style:italic;
-  line-height:24px;
-  color:#33B5E5;
-  margin:0 0 20px 30px;
-}
-
-div.design-announce p {
-  margin:0 0 10px;
-}
-
-#devdoc-nav a.totop {
-  display:block;
-  top:0;
-  width:inherit;
-  background: transparent url(../images/styles/gototop.png) no-repeat scroll 50% 50%;
-  text-indent:-9999em;
-}
-#devdoc-nav a.totop {
-  position:fixed;
-  display:none;
-}
-#devdoc-nav a.totop:hover {
-  background-color:#33B5E5;
-}
-
-.content-footer a.totop {
-  text-transform:uppercase;
-  line-height:30px;
-}
-
-/* -----------------------------------------------
-Dialog box for popup messages 
-*/
-
-div.dialog {
-  height:0;
-  margin:0 auto;
-}
-
-div.dialog>div {
-  z-index:99;
-  position:fixed;
-  margin:70px 0;
-  width: 391px;
-  height: 200px;
-  background: #F7F7F7;
--moz-box-shadow: 0 0 15px rgba(0,0,0,0.5);
--webkit-box-shadow: 0 0 15px rgba(0,0,0,0.5);
-box-shadow: 0 0 15px rgba(0,0,0,0.5);
-}
-/* IE6 can't position fixed */
-* html div.dialog div { position:absolute; }
-
-
-div#deprecatedSticker {
-  display:none;
-  z-index:99;
-  position:fixed;
-  right:15px;
-  top:114px;
-  margin:0;
-  padding:1em;
-  background:#FFF;
-  border:1px solid #dddd00;
-  box-shadow:-5px 5px 10px #ccc;
-  -moz-box-shadow:-5px 5px 10px #ccc;
-  -webkit-box-shadow:-5px 5px 10px #ccc;
-}
-
-div#naMessage {
-  display:none;
-  width:555px;
-  height:0;
-  margin:0 auto;
-}
-
-div#naMessage div {
-  z-index:99;
-  width:450px;
-  position:fixed;
-  margin:50px 0;
-  padding:4em 4em 3em;
-  background:#FFF;
-  border:1px solid #999;
-  box-shadow:-10px 10px 40px #888;
-  -moz-box-shadow:-10px 10px 40px #888;
-  -webkit-box-shadow:-10px 10px 40px #888;
-}
-/* IE6 can't position fixed */
-* html div#naMessage div { position:absolute; }
-
-div#naMessage strong {
-  font-size:1.1em;
-}
-
-
-/* --------------------------------------------------------------------------
-Slideshow Controls & Next/Prev 
-*/
-.slideshow-next, .slideshow-prev {	
-	width: 20px;
-	height: 36px;
-	text-indent: -1000em;
-}
-.slideshow-container {
-	margin: 2em 0;
-}
-.slideshow-container:before, .slideshow-container:after {
-	content: "";
-	display: table;
-	clear: both;
-}
-a.slideshow-next, a.slideshow-next:visited {
-
-	float: right;
-
-	background: url(../images/arrow-right.png) no-repeat 0 0
-
-}
-
-a.slideshow-prev, a.slideshow-prev:visited {
-
-	float: left;	
-
-	background: url(../images/arrow-left.png) no-repeat 0 0
-
-}
-
-.slideshow-next:hover, .slideshow-prev:hover, .slideshow-next:focus, .slideshow-prev:focus {
-
-	background-position: 0 -36px	
-
-}
-
-.slideshow-next:active, .slideshow-prev:active {
-
-	background-position: 0 -72px	
-
-}
-.slideshow-nav {
-	width: 74px;
-	margin: 0 auto;		
-}
-.slideshow-nav a, .slideshow-nav a:visited {
-	display: inline-block;
-	width: 12px;
-	height: 12px;
-	margin: 0 2px 20px 2px;
-	background: #ccc;
-	-webkit-border-radius: 50%;
-	-moz-border-radius: 50%;
-	border-radius: 50%;
-}
-.slideshow-nav a:hover, .slideshow-nav a:focus {
-
-	background: #33B5E5
-}
-
-.slideshow-nav a:active {
-
-	background: #1e799a;
-	background: #ebebeb;	
-	-webkit-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-	-moz-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-	box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05);
-}
-.slideshow-nav a.active, .slideshow-nav a.active:active, .slideshow-nav a.active:visited {
-	background: #33B5E5
-}
-/* --------------------------------------------------------------------------
-Tabs
-*/
-ul.tabs {
-	padding: 0;
-	margin: 2em 0 0 0;	
-}
-ul.tabs:before, ul.tabs:after {
-	content: "";
-	display: table;
-	clear: both;
-}
-ul.tabs li {
-	list-style-type: none;
-	float: left;	
-}
-ul.tabs li a, ul.tabs li a:active, ul.tabs li a:visited {
-	display: block;
-	height: 36px;
-	line-height: 36px;
-	padding: 0 15px;
-	margin-right: 2px;
-	color: #222;
-	-moz-border-radius-topleft: 2px;
-	-moz-border-radius-topright: 2px;
-	-moz-border-radius-bottomright: px;
-	-moz-border-radius-bottomleft: px;
-	-webkit-border-radius: 2px 2px px px;
-	border-radius: 2px 2px px px; 
-	border-top: solid 1px #ebebeb;
-	border-left: solid 1px #ebebeb;
-	border-right: solid 1px #ebebeb;
-	background-color: #fff;
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#fafafa));
-    background-image: -webkit-linear-gradient(top, #ffffff, #fafafa);
-    background-image: -moz-linear-gradient(top, #ffffff, #fafafa);
-    background-image: -ms-linear-gradient(top, #ffffff, #fafafa);
-    background-image: -o-linear-gradient(top, #ffffff, #fafafa);
-    background-image: linear-gradient(top, #ffffff, #fafafa);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff',
-EndColorStr='#fafafa');
-}
-ul.tabs li a:hover {
-	color: #33B5E5;	
-}
-ul.tabs li a.selected {
-	height: 37px;
-	color: #33B5E5;
-	background-color: #f7f7f7;
-	background-image: none;
-	border-color: #ddd;
-}
-.tab-content {
-	padding: 1.2em;
-	margin: -1px 0 2em 0;
-	-webkit-border-radius: 2px;
-    -moz-border-radius: 2px;
-    border-radius: 2px;
-	border: solid 1px #ddd;
-	background: #f7f7f7;
-}
-/* --------------------------------------------------------------------------
-Feature Boxes
-*/
-.feature-box {
-  width: 291px;
-  height: 200px;
-  position: relative;
-  background: #F7F7F7;
-}
-.box-border .top, .box-border .bottom, .box-border .left, .box-border .right {
-	z-index: 100;
-	position: absolute;
-	background-color: #aaa;
-}
-.box-border .top, .box-border .bottom {
-	width: 291px;
-	height: 1px;
-}
-.dialog .box-border .top,
-.dialog .box-border .bottom { width:391px; }
-
-.box-border .left, .box-border .right {	
-	width: 1px;
-	height: 8px;		
-}
-.box-border .top { top: 0; left: 0 }
-.box-border .top .left { top: 1px; left: 0 }
-.box-border .top .right { top: 1px; right: 0 }
-.box-border .bottom .left { top: -8px; left: 0 }
-.box-border .bottom { top: 200px; left: 0 }
-.box-border .bottom .right { top: -8px; right: 0 }
-
-.feature-box h4,
-.dialog h4 {
-    margin: 15px 18px 10px;
-    padding:0;
-}
-
-.feature-box p,
-.dialog p {
-    margin: 10px 18px;
-    padding:0;
-}
-.feature-box .link,
-.dialog .link {
-    border-top: 1px solid #dedede;
-    bottom: 0;
-    position: absolute;
-    width: inherit;
-}
-.feature-box a, .feature-box h4,
-.dialog a, .dialog h4 {
-    -webkit-transition: color .4s ease;
-    -moz-transition: color .4s ease;
-    -o-transition: color .4s ease;
-    transition: color .4s ease;
-}
-.feature-box:hover {
-	cursor: pointer;	
-}
-.feature-box:hover .box-border .top, .feature-box:hover .box-border .bottom, .feature-box:hover
-.left, .feature-box:hover .right {	
-	background-color: #33B5E5;
-}
-.feature-box:hover h4, .feature-box:hover a {
-	color: #33B5E5;
-}
-/* --------------------------------------------------------------------------
-Page-Specific Styles
-*/
-.colors { 
-	position: relative;
-	float: left;
-	width: 92px;
-	margin: 40px 0 20px;
-}
-.colors div {
-	color: #fff;
-	font-size: 11.5px;
-	width: 82px;
-	height: 82px;
-	margin-top:-30px;
-	line-height: 82px;
-	text-align: center;
-	border: solid 5px #fff;
-	-webkit-border-radius: 50%;
-	-moz-border-radius: 50%;
-	border-radius: 50%;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* ########### REFERENCE DOCS ################## */
-
-#packages-nav h2,
-#classes-nav h2 {
-  font-size:18px;
-  margin:0;
-  padding:0 0 0 4px;
-}
-
-#jd-header {
-  padding: 0 0 5px;
-  margin: 20px 0 10px;
-  font-size:13px;
-  border-bottom:solid 1px #ccc;
-}
-
-#jd-header h1 {
-  margin:0;
-  padding:0;
-}
-
-/* page-top-right container for reference pages (holds
-links to summary tables) */
-#api-info-block {
-  font-size:13px;
-  margin:20px 0 0;
-  padding:0 10px 6px;
-  font-weight:normal;
-  float:right;
-  text-align:right;
-  color:#999;
-  max-width:70%;
-}
-
-#api-info-block div.api-level {
-  font-weight:bold;
-  font-size:inherit;
-  float:none;
-  color:#222;
-  padding:0;
-  margin:0;
-}
-
-/* inheritance table */
-.jd-inheritance-table {
-  border-spacing:0;
-  margin:0;
-  padding:0;
-  font-size:13px;
-  background-color:transparent;
-}
-.jd-inheritance-table tr td {
-  border: none;
-  margin: 0;
-  padding: 0;
-  background-color:transparent;
-}
-.jd-inheritance-table .jd-inheritance-space {
-  font-weight:bold;
-  width:1em;
-}
-.jd-inheritance-table .jd-inheritance-interface-cell {
-  padding-left: 17px;
-}
-
-
-
-.jd-sumtable a {
-  text-decoration:none;
-}
-
-.jd-sumtable a:hover {
-  text-decoration:underline;
-}
-
-/* the link inside a sumtable for "Show All/Hide All" */
-.toggle-all {
-  display:block;
-  float:right;
-  font-weight:normal;
-  font-size:0.9em;
-}
-
-/* adjustments for in/direct subclasses tables */
-.jd-sumtable.jd-sumtable-subclasses {
-  margin: 1em 0 0 0;
-  max-width:968px;
-  background-color:transparent;
-  font-size:13px;
-}
-
-/* extra space between end of method name and open-paren */
-.sympad {
-  margin-right: 2px;
-}
-
-/* right alignment for the return type in sumtable */
-.jd-sumtable .jd-typecol {
-  text-align:right;
-}
-
-/* adjustments for the expando table-in-table */
-.jd-sumtable-expando {
-  margin:.5em 0;
-  padding:0;
-}
-
-/* a div that holds a short description */
-.jd-descrdiv {
-  padding:3px 1em 0 1em;
-  margin:0;
-  border:0;
-}
-
-#jd-content img.jd-expando-trigger-img {
-  padding:0 4px 4px 0;
-  margin:0;
-}
-
-.jd-sumtable-subclasses div#subclasses-direct,
-.jd-sumtable-subclasses div#subclasses-indirect {
-  margin:0 0 0 13px;
-}
-
-
-
-/********* MEMBER REF *************/
-
-
-.jd-details {
-/*  border:1px solid #669999;
-  padding:4px; */
-  margin:0 0 1em;
-}
-
-/* API reference: a container for the
-.tagdata blocks that make up the detailed
-description */
-.jd-details-descr {
-  padding:0;
-  margin:.5em .25em;
-}
-
-/* API reference: a block containing
-a detailed description, a params table,
-seealso list, etc */
-.jd-tagdata {
-  margin:.5em 1em;
-}
-
-.jd-tagdata p {
-  margin:0 0 1em 1em;
-}
-
-/* API reference: adjustments to
-the detailed description block */
-.jd-tagdescr {
-  margin:.25em 0 .75em 0;
-}
-
-.jd-tagdescr ol,
-.jd-tagdescr ul {
-  margin:0 2.5em;
-  padding:0;
-}
-
-.jd-tagdescr table,
-.jd-tagdescr img {
-  margin:.25em 1em;
-}
-
-.jd-tagdescr li {
-margin:0 0 .25em 0;
-padding:0;
-}
-
-/* API reference: heading marking
-the details section for constants,
-attrs, methods, etc. */
-h4.jd-details-title {
-  font-size:1.15em;
-  background-color: #E2E2E2;
-  margin:1.5em 0 .6em;
-  padding:3px 95px 3px 3px; /* room for api-level */
-}
-
-h4.jd-tagtitle {
-  margin:0;
-}
-
-h4 .normal {
-  font-weight:normal;
-}
-
-/* API reference: heading for "Parameters", "See Also", etc.,
-in details sections */
-h5.jd-tagtitle {
-  margin:0 0 .25em 0;
-  font-size:1em;
-}
-
-.jd-tagtable {
-  margin:0;
-  background-color:transparent;
-  width:auto;
-}
-
-.jd-tagtable td,
-.jd-tagtable th {
-  border:none;
-  background-color:#fff;
-  vertical-align:top;
-  font-weight:normal;
-  padding:2px 10px;
-}
-
-.jd-tagtable th {
-  font-style:italic;
-}
-
-/* Inline api level indicator for methods */
-div.api-level {
-  font-size:.8em;
-  font-weight:normal;
-  color:#999;
-  float:right;
-  padding:0 8px 0;
-  margin-top:-30px;
-}
-
-table.jd-tagtable td,
-table.jd-tagtable th {
-  background-color:transparent;
-}
-
-table.jd-tagtable th {
-  color:inherit;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* SEARCH FILTER */
-
-#search_autocomplete {
-  font-weight:normal;
-}
-
-#search_filtered_wrapper {
-  width: 193px;
-  float: right;
-}
-#search_filtered_div {
-  position:absolute;
-  z-index:9999;
-  min-width:171px; /* +padding and border makes this match input width */
-  padding:5px;
-  border: solid 1px #C5C5C5;
-  background: white;
-  top: 35px;
-  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
-  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
-}
-
-ul#search_filtered {
-  min-width:100%;
-  margin:0;
-  list-style: none;
-  margin: 0;
-  padding: 0;
-}
-
-
-#search_filtered li{
-  line-height:1.5em;
-  margin: 0 0 2px;
-  padding: 0;
-}
-
-#search_filtered li a {
-  padding:0 5px;
-  color:#222 !important;
-}
-
-#search_filtered .jd-selected {
-  background-color: #33B5E5;
-  cursor:pointer;
-}
-#search_filtered .jd-selected,
-#search_filtered .jd-selected a {
-  color:#f7f7f7 !important;
-}
-
-.no-display {
-  display: none;
-}
-
-.jd-autocomplete {
-  padding-left: 6px;
-  padding-right: 6px;
-  padding-top: 1px;
-  padding-bottom: 1px;
-  font-size: 0.81em;
-  border: none;
-  margin: 0;
-  line-height: 1.05em;
-}
-
-.show-item {
-  display: table-row;
-}
-.hide-item {
-  display: hidden;
-}
-
-
-
-
-
-/* SEARCH RESULTS */
-
-
-#leftSearchControl .gsc-twiddle {
-  background-image : none;
-}
-
-#leftSearchControl td, #searchForm td {
-  border: 0px solid #000;
-  padding:0;
-}
-
-#leftSearchControl .gsc-resultsHeader .gsc-title {
-  padding-left : 0px;
-  font-weight : bold;
-  font-size : 13px;
-  color:#006699;
-  display : none;
-}
-
-#leftSearchControl .gsc-resultsHeader div.gsc-results-selector {
-  display : none;
-}
-
-#leftSearchControl .gsc-resultsRoot {
-  padding-top : 6px;
-}
-
-#leftSearchControl div.gs-visibleUrl-long {
-  display : block;
-  color:#006699;
-}
-
-#leftSearchControl .gsc-webResult {
-  padding:0 0 20px 0;
-}
-
-.gsc-webResult div.gs-visibleUrl-short,
-table.gsc-branding,
-.gsc-clear-button {
-  display : none;
-}
-
-.gsc-cursor-box .gsc-cursor div.gsc-cursor-page,
-.gsc-cursor-box .gsc-trailing-more-results a.gsc-trailing-more-results,
-#leftSearchControl a,
-#leftSearchControl a b {
-  color:#006699;
-}
-
-.gsc-resultsHeader {
-  display: none;
-}
-
-/* Disable built in search forms */
-.gsc-control form.gsc-search-box {
-  display : none;
-}
-table.gsc-search-box {
-  margin:6px 0 0 0;
-  border-collapse:collapse;
-}
-
-td.gsc-input {
-  padding:0 2px;
-  width:100%;
-  vertical-align:middle;
-}
-
-input.gsc-input {
-  border:1px solid #BCCDF0;
-  width:99%;
-  padding-left:2px;
-  font-size:.95em;
-}
-
-td.gsc-search-button {
-  text-align: right;
-  padding:0;
-  vertical-align:top;
-}
-
-
-#searchResults {
-  overflow:hidden; /* because the repositioned page links makes the section think it needs to scroll
-(it doesn't) */
-  height:auto;
-}
-
-#searchResults .gsc-control {
-  position:relative;
-  width:auto;
-  padding:0 0 10px;
-}
-
-#searchResults .gsc-tabsArea {
-  position:relative;
-  white-space:nowrap;
-  float:left;
-  width:200px;
-}
-
-#searchResults .gsc-above-wrapper-area {
-  display:none;
-}
-
-#searchResults .gsc-resultsbox-visible {
-  float:left;
-  width:720px;
-  margin-left:20px;
-}
-
-#searchResults .gsc-tabHeader {
-  padding: 3px 6px;
-  position:relative;
-  width:auto;
-  display:block;
-}
-
-#searchResults h2#searchTitle {
-  padding:0;
-  margin:5px 0;
-  border:none;
-}
-
-#searchResults h2#searchTitle em {
-  font-style:normal;
-  color:#33B5E5;
-}
-
-#searchResults .gsc-table-result {
-  margin:5px 0 10px 0;
-  background-color:transparent;
-}
-#searchResults .gs-web-image-box, .gs-promotion-image-box {
-  width:120px;
-}
-#searchResults .gs-web-image-box img.gs-image, .gs-promotion-image-box img.gs-promotion-image {
-  max-width:120px;
-}
-
-#searchResults .gsc-table-result .gsc-thumbnail {
-  padding:0 20px 0 0;
-}
-
-#searchResults td {
-  background-color:transparent;
-}
-
-#searchResults .gsc-expansionArea {
-  position:relative;
-}
-#searchResults .gsc-tabsArea .gsc-cursor-box {
-  width:200px;
-  padding:20px 0 0 1px;
-}
-#searchResults .gsc-cursor-page {
-  display:inline-block;
-  float:left;
-  margin:-1px 0 0 -1px;
-  padding:0;
-  height:27px;
-  width:27px;
-  text-align:center;
-  line-height:2;
-}
-
-#searchResults .gsc-tabHeader.gsc-tabhInactive,
-#searchResults .gsc-cursor-page {
-  text-decoration:none;
-  color:#258AAF;
-  border: solid 1px #DADADA;
-}
-
-#searchResults .gsc-tabHeader.gsc-tabhInactive:hover,
-#searchResults .gsc-cursor-page:hover {
-  border-color: #DBDBDB;
-  background-color: #F3F3F3;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#F9F9F9), to(#ECECEC));
-  background-image: -webkit-linear-gradient(top, #F9F9F9, #ECECEC);
-  background-image: -moz-linear-gradient(top, #F9F9F9, #ECECEC);
-  background-image: -ms-linear-gradient(top, #F9F9F9, #ECECEC);
-  background-image: -o-linear-gradient(top, #F9F9F9, #ECECEC);
-  background-image: linear-gradient(top, #F9F9F9, #ECECEC);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9',
-EndColorStr='#ececec');
-  color: #33B5E5;
-}
-
-#searchResults .gsc-tabHeader.gsc-tabhActive,
-#searchResults .gsc-tabHeader.gsc-tabhActive:hover,
-#searchResults .gsc-cursor-page.gsc-cursor-current-page,
-#searchResults .gsc-cursor-page.gsc-cursor-current-page:hover {
-  color:#fff;
-  background-color: #09C;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#2FADDB), to(#09C));
-  background-image: -webkit-linear-gradient(top, #2FADDB, #09C);
-  background-image: -moz-linear-gradient(top, #2FADDB, #09C);
-  background-image: -ms-linear-gradient(top, #2FADDB, #09C);
-  background-image: -o-linear-gradient(top, #2FADDB, #09C);
-  background-image: linear-gradient(top, #2FADDB, #09C);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#09c');
-  border: 1px solid #3990AB;
-  z-index:100;
-}
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*********** PREVIOUSLY dac-styles.css ***************/
-
-
-
-
-
-::-webkit-selection,
-::-moz-selection,
-::selection {
-  background-color: #0099cc;
-  color: #fff; }
-
-#header {
-  border-bottom:0;
-}
-
-#header .wrap {
-  max-width:940px;
-  height:41px;
-  border-bottom:1px solid;
-  border-color: #ccc;
-  position:relative;
-}
-
-.about #header .wrap {
-  border-color: #9933CC;
-}
-
-.design #header .wrap {
-  border-color: #33b5e5;
-}
-
-.develop #header .wrap {
-  border-color: #F80;
-}
-
-.distribute #header .wrap {
-  border-color: #9C0;
-}
-
-.logo a {
-  width:123px;
-  float:left;
-}
-
-#header .logo {
-  margin-top: -6px;
-  margin-left: 0px;
-  margin-bottom:0px;
-  width: 160px;
-  padding-right:10px;
-}
-
-.search {
-  height:25px;
-  margin-top: -3px;
-  margin-bottom: 0px;
-}
-
-
-
-/* Quicknav */
-.btn-quicknav {
-  width:20px;
-  height:28px;
-  float:left;
-  margin-left:6px;
-  padding-right:10px;
-  position:relative;
-  cursor:pointer;
-  border-right:1px solid #CCC;
-}
-
-.btn-quicknav a {
-  zoom:1;
-  position:absolute;
-  top:13px;
-  left:5px;
-  display:block;
-  text-indent:-9999em;
-  width:10px;
-  height:5px;
-  background:url(../images/quicknav_arrow.png) no-repeat;
-}
-
-.btn-quicknav a.arrow-active {
-  background-position: 0 -5px;
-  display:none;
-}
-
-#header-wrap.quicknav a.arrow-inactive {
-  display:none;
-}
-
-.btn-quicknav.active a.arrow-active {
-  display:block;
-}
-
-.nav-x li {
-  display:block;
-  float:left;
-  margin-right:45px;
-  -webkit-transition: all 0.25s linear;
-      -moz-transition: all 0.25s linear;
-       -ms-transition: all 0.25s linear;
-        -o-transition: all 0.25s linear;
-           transition: all 0.25s linear;
-}
-
-#header-wrap.quicknav .nav-x li {
-  min-width:160px;
-  margin-right:20px;
-}
-
-#header-wrap.quicknav li.last {
-  margin-right:0px;
-}
-
-#quicknav {
- float:none; 
- clear:both;
- margin-left:180px;
- margin-top:-30px;
- display:none;
- overflow:hidden;
-}
-
-#header-wrap.quicknav #quicknav {
-
-}
-
-#quicknav ul {
-  margin:10px 0;
-  padding:0;
-}
-
-#quicknav ul li.design {
-  border-top:1px solid #33b5e5;
-}
-
-#quicknav ul li.develop {
-  border-top:1px solid #FF8800;
-}
-
-#quicknav ul li.distribute {
-  border-top:1px solid #99cc00;
-}
-
-#quicknav ul li {
-  display:block;
-  float:left;
-  margin:0 20px 0 0;
-  min-width:140px;
-}
-
-#quicknav ul li.last {
-  margin-right:0px;
-}
-
-#quicknav ul li ul li {
-  float:none;
-}
-
-#quicknav ul li ul li a {
-  color:#222;
-}
-
-#quicknav ul li li ul,
-#quicknav ul li li ul li {
-  margin:0;
-}
-
-#quicknav ul li li ul li:before {
-  content:"\21B3";
-}
-
-#header-wrap {
-   -webkit-transition: all 0.25s ease-out;
-      -moz-transition: all 0.25s ease-out;
-       -ms-transition: all 0.25s ease-out;
-        -o-transition: all 0.25s ease-out;
-           transition: all 0.25s ease-out;
-
-}
-
-#header-wrap.quicknav {
-  height:170px;
-  
-}
-
-/* SEARCH AND MORE */
-.search {
-  position: absolute;
-  width: 50px;
-  height:28px;
-  display: block;
-  margin-top:-3px;
-  margin-bottom:7px;
-  overflow:hidden;
-  z-index:100;
-  right:54px;
-  -webkit-transition: width 0.4s ease;
-     -moz-transition: width 0.4s ease;
-       -o-transition: width 0.4s ease;
-          transition: width 0.4s ease;
-}
-
-.search #search-btn {
-  width:50px;
-  height:28px;
-  background:url(../images/icon_search.png) no-repeat;
-  float:left;
-}
-
-.search-inner {
-  width:245px;
-}
-
-.search:hover, .search.active {
-  width:245px;
-}
-
-.search .bottom, .search .left, .search .right {
-	position: absolute;
-	background-color: #a2a2a2
-}
-
-.search .bottom {
-	width: 214px;
-	height: 1px;
-	top: 24px;
-	left: 0
-}
-
-.search .left, .search .right {	
-	height: 5px;
-	width: 1px
-}
-
-.search .left {
-  top: 22px;
-  left: 56px;
-  background-color:#CCC;
-}
-
-.search .right {
-  top: 22px;
-  left: 238px;
-  background-color:#CCC;
-}
-
-.search form {
-	margin-top: 2px;
-	width: 162px;
-	float:left;
-}
-
-.search form input {
-	color: #2f2f2f;
-	font-size: 0.95em;
-	width: 178px;  
-	border: none;
-	margin-left: 6px;  
-	z-index: 1500;  
-  position: relative;
-	background-color: transparent;
-	border-bottom:1px solid #CCC;
-	padding:0 0 0 4px;
-	outline:none;
-	height:24px;
-}
-
-.search:hover form input {
-  border-bottom:1px solid #33B5E5;
-}
-
-.search:hover .bottom, .search:hover .left, .search:hover .right {
-	background-color: #33b5e5;
-}
-
-.search:hover #search-btn {
-	background-position: 0 -28px
-}
-
-.search form input:focus {
-	color: #222;
-	font-weight: bold
-}
-
-.moremenu {
-  float: right;
-	position: relative;
-	width: 50px;
-	height:28px;
-  display: block;
-  margin-top:-3px;
-  margin-bottom:7px;
-  overflow:hidden;
-  -webkit-transition: width 0.25s ease;
-     -moz-transition: width 0.25s ease;
-       -o-transition: width 0.25s ease;
-          transition: width 0.25s ease;
-}
-
-.moremenu #more-btn {
-  width:40px;
-  height:28px;
-  background:url(../images/icon_more.png) no-repeat;
-  border-left:1px solid #CCC;
-  float:left;
-  cursor:pointer;
-}
-
-.moremenu:hover #more-btn {
-  background-position:0 -28px;
-}
-
-.morehover {
-  position:absolute;
-  right:6px;
-  top:-9px;
-  width:40px;
-  height:35px;
-  z-index:99;
-  overflow:hidden;
-
-  -webkit-opacity:0;
-     -moz-opacity:0;
-       -o-opacity:0;
-          opacity:0;
-
-  -webkit-transform-origin:100% 0%;
-     -moz-transform-origin:100% 0%; 
-       -o-transform-origin:100% 0%;
-          transform-origin:100% 0%;
-  
-  -webkit-transition-property: -webkit-opacity;
-  -webkit-transition-duration: .25s;
-  -webkit-transition-timing-function:ease;
-
-  -moz-transition-property: -webkit-opacity;
-  -moz-transition-duration: .25s;
-  -moz-transition-timing-function:ease;
-
-  -o-transition-property: -webkit-opacity;
-  -o-transition-duration: .25s;
-  -o-transition-timing-function:ease;
-  
-  -transition-property: -webkit-opacity;
-  -transition-duration: .25s;
-  -transition-timing-function:ease;
-}
-
-.morehover:hover {
-  opacity:1;
-  height:385px;
-  width:268px;
-  -webkit-transition-property:height,  -webkit-opacity;
-}
-
-.morehover .top {
-  width:268px;
-  height:39px;
-  background:url(../images/more_top.png) no-repeat;
-}
-
-.morehover .mid {
-  width:228px;
-  background:url(../images/more_mid.png) repeat-y;
-  padding:10px 20px 0 20px;
-}
-
-.morehover .mid .header {
-  border-bottom:1px solid #ccc;
-  font-weight:bold;
-}
-
-.morehover .bottom {
-  width:268px;
-  height:6px;
-  background:url(../images/more_bottom.png) no-repeat;
-}
-
-.morehover ul {
-  margin:10px 10px 20px 0;
-}
-
-.morehover ul li {
-  list-style:none;
-}
-
-.morehover ul li.active a,
-.morehover ul li.active a:hover {
-  color:#222 !important;
-}
-
-.morehover ul li.active img {
-  margin-right:4px;
-}
-
-
-
-
-/* MARQUEE */
-.slideshow-container {
-	width:100%;
-	overflow:hidden;
-	position:relative;
-}
-.slideshow-container .slideshow-prev {
-	position:absolute;
-	top:50%;
-	left:0px;
-	margin-top:-36px;
-	z-index:99;
-}
-.slideshow-container .slideshow-next {
-	position:absolute;
-	top:50%;
-	margin-top:-36px;
-	z-index:99;
-	right:0px;
-}
-
-.slideshow-container .pagination {
-	position:absolute;
-	bottom:20px;
-	width:100%;
-	text-align:center;
-	z-index:99;
-}
-.slideshow-container .pagination ul {
-	margin:0;
-}
-.slideshow-container .pagination ul li{
-	display: inline-block;
-	width:12px;
-	height:12px;
-	text-indent:-8000px;
-	list-style:none;
-	margin: 0 2px;
-	border-radius:6px;
-	background-color:#ccc;
-	cursor:pointer;
-        -webkit-transition:color .5s ease-in;  
-        -moz-transition:color .5s ease-in;  
-        -o-transition:color .5s ease-in;  
-        transition:color .5s ease-in;
-}
-.slideshow-container .pagination ul li:hover {
-	background-color:#999;
-}
-.slideshow-container .pagination ul li.active {
-	background-color:#33b5e5;
-}
-.slideshow-container .pagination ul li.active:hover {
-	background-color:#33b5e5;
-}
-.slideshow-container ul li {
-	display:inline;
-	list-style:none;
-}
-
-
-
-
-a.download-sdk {
-    float:right;
-    margin:-10px 0;
-    height:30px;
-    padding-top:4px;
-    padding-bottom:0px;
-}
-
-#nav-x {
-  padding-top: 14px;
-}
-
-#nav-x .wrap {
-  min-height:34px;
-}
-
-#nav-x .wrap,
-#searchResults.wrap {
-    max-width:940px;
-    border-bottom:1px solid #CCC;
-}
-
-#searchResults.wrap #leftSearchControl {
-  min-height:700px
-}
-.nav-x {
-    margin-left:0;
-    margin-bottom:0;
-}
-
-
-
-
-
-
-
-
-
-
-/*
- * CSS Styles that are needed by jScrollPane for it to operate correctly.
- */
-
-.jspContainer {
-  overflow: hidden;
-  position: relative;
-}
-
-.jspPane {
-  position: absolute;
-  overflow: hidden;
-  width:auto !important; /* to avoid cut-off api names in reference in horiz scroll */
-}
-
-.jspVerticalBar {
-  position: absolute;
-  top: 0;
-  right: 0;
-  width: 4px;
-  height: 100%;
-  background: #f5f5f5;
-}
-
-.jspHorizontalBar {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 4px;
-  background: #f5f5f5;
-}
-
-.jspVerticalBar *,
-.jspHorizontalBar * {
-  margin: 0;
-  padding: 0;
-}
-.jspCap {
-  display: block;
-}
-
-.jspVerticalBar .jspCap {
-  height: 4px;
-}
-
-.jspHorizontalBar .jspCap {
-  width: 0;
-  height: 100%;
-}
-
-.jspHorizontalBar .jspCap {
-  float: left;
-}
-
-.jspTrack {
-  position: relative;
-}
-
-.jspDrag {
-  background: #bbb;
-  position: relative;
-  top: 0;
-  left: 0;
-  cursor: pointer;
-}
-
-.jspDrag:hover,
-.jspDrag:active {
-  border-color: #09c;
-  background-color: #4cadcb;
-  background-image: -webkit-gradient(linear, left top, right top, from(#5dbcd9), to(#4cadcb));
-  background-image: -webkit-linear-gradient(left, #5dbcd9, #4cadcb);
-  background-image: -moz-linear-gradient(left, #5dbcd9, #4cadcb);
-  background-image: -ms-linear-gradient(left, #5dbcd9, #4cadcb);
-  background-image: -o-linear-gradient(left, #5dbcd9, #4cadcb);
-  background-image: linear-gradient(left, #5dbcd9, #4cadcb);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9', EndColorStr='#4cadcb');	
-}
-
-.jspHorizontalBar .jspTrack,
-.jspHorizontalBar .jspDrag {
-  float: left;
-  height: 100%;
-}
-
-.jspArrow {
-  background: #999;
-  text-indent: -20000px;
-  display: block;
-  cursor: pointer;
-}
-
-.jspArrow.jspDisabled {
-  cursor: default;
-  background: #ccc;
-}
-
-.jspVerticalBar .jspArrow {
-  height: 16px;
-}
-
-.jspHorizontalBar .jspArrow {
-  width: 16px;
-  float: left;
-  height: 100%;
-}
-
-.jspVerticalBar .jspArrow:focus {
-  outline: none;
-}
-
-.jspCorner {
-  float: left;
-  height: 100%;
-}
-
-/* Yuk! CSS Hack for IE6 3 pixel bug :( */
-* html .jspCorner {
-  margin: 0 -3px 0 0;
-}
-/******* end of jscrollpane *********/
-
-
-
-
-
-/************ DEVELOP HOMEPAGE ******************/
-
-/* Slideshow */
-.slideshow-develop {
-  height: 300px;
-  width: 940px;
-  position: relative;
-  overflow:hidden;
-}
-.slideshow-develop .frame {
-  width: 940px;
-  height: 300px;
-}
-.slideshow-develop img.play {
-  max-width:350px;
-  max-height:240px;
-  margin:20px 0 0 90px;
-  -webkit-transform: perspective(800px ) rotateY( 35deg );
-  box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3);
-  -moz-box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3);
-  -webkit-box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3);
-}
-.slideshow-develop img.play.no-shadow {
-    box-shadow: none;
-    -moz-box-shadow: none;
-    -webkit-box-shadow: none;
-}
-.slideshow-develop img.play.no-transform {
-  -webkit-transform: none;
-}
-.slideshow-develop a.slideshow-next {
-  background: url(../images/arrow-right-develop.png);
-}
-.slideshow-develop a.slideshow-prev {
-  background: url(../images/arrow-left-develop.png);
-}
-.slideshow-develop .content-right {
-  float: left;
-}
-.slideshow-develop .content-right p.title-intro {
-  position:absolute;
-  margin:0;
-}
-.slideshow-develop .content-right h2 {
-  padding:0;
-  margin-bottom:10px;
-  border:none;
-}
-.slideshow-develop .item {
-  height: 300px;
-  width: 940px;
-}
-.slideshow-develop .pagination ul li.active {
-  background-color: #F80;
-}
-.slideshow-develop .pagination ul li.active:hover {
-  background-color: #F80;
-}
-
-/* Feeds */
-.feed ul {
-  margin: 0;
-}
-.feed .feed-nav {
-  height: 25px;
-  border-bottom: 1px solid #CCC;
-}
-.feed .feed-nav li {
-  list-style: none;
-  float: left;
-  height: 21px; /* +4px bottom border = 25px; same as .feed-nav */
-  margin-right: 25px;
-  cursor: pointer;
-}
-.feed .feed-nav li.active {
-  color: #000;
-  border-bottom: 4px solid #F80;
-}
-.feed .feed-container {
-  overflow: hidden;
-  width: 460px;
-}
-.feed .feed-container .feed-frame {
-  width: 1000px;
-}
-.feed .feed-container .feed-frame ul {
-  float: left;
-  width:460px;
-}
-.feed .feed-container .feed-frame ul ul {
-  float: none;
-  margin:10px 0 0 30px;
-}
-.feed .feed-container .feed-frame li {
-  list-style: none;
-  margin: 20px 0 20px 0;
-  width: 460px;
-  height:93px;
-}
-.feed .feed-container .feed-frame li.playlist {
-  height:auto;
-}
-.feed .feed-container .feed-frame li.playlist a {
-  height:93px;
-  display:block;
-}
-.feed .feed-container .feed-frame li.more {
-  height:20px;
-  margin:10px 0 5px 5px;
-}
-.feed .feed-container .feed-frame li.more a {
-  height:inherit;
-}
-.feed .feed-container .feed-frame li.playlist-video {
-  list-style: none;
-  margin: 0;
-  width: 460px;
-  height:55px;
-  font-size:12px;
-}
-.feed .feed-container .feed-frame li.playlist-video a {
-  height:45px;
-  padding:5px;
-}
-.feed .feed-container .feed-frame li.playlist-video h5 {
-  font-size:12px;
-  line-height:13px;
-  margin:0;
-}
-.feed .feed-container .feed-frame li.playlist-video p {
-  margin:5px 0 0;
-  line-height:15px;
-}
-.feed-container .feed-frame div.feed-image {
-  float: left;
-  border: 1px solid #999;
-  margin:0 20px 0 0;
-  width:122px;
-  height:92px;
-  background:url('../images/blog-default.png') no-repeat 0 0;
-  background-size:180px;
-}
-#jd-content .feed .feed-container .feed-frame li img {
-  float: left;
-  border: 1px solid #999;
-  margin:0 20px 0 0;
-  width:122px;
-  height:92px;
-}
-#jd-content .feed .feed-container .feed-frame li.playlist-video img {
-  width:inherit;
-  height:inherit;
-}
-
-.feed .feed-container .feed-frame li a,
-.feed .feed-container .feed-frame li a:active {
-  color:#555 !important;
-}
-
-.feed .feed-container .feed-frame li a:hover,
-.feed .feed-container .feed-frame li a:hover * {
-  color:#7AA1B0 !important;
-}
-
-/* Video player */
-#player-wrapper {
-  display:none;
-  margin: -1px auto 0;
-  position: relative;
-  width: 940px;
-  height: 0px;
-}
-#player-frame {
-  background: #EFEFEF;
-  border: 1px solid #CCC;
-  padding: 0px 207px;
-  z-index: 10; /* stay above marque, but below search suggestions */
-  width: 525px;
-  height: 330px;
-  position: relative;
-}
-
-
-
-/************ DISTRIBUTE HOMEPAGE ***************/
-
-.marquee {
-  width: 760px;
-}
-.marquee .main-img {
-  float: left;
-  margin-top: 20px;
-  width: 490px;
-}
-.marquee .copy {
-  width: 270px;
-  float: left;
-  margin-top: 30px;
-}
-.distribute-features {
-  margin: 0;
-}
-.distribute-features ul {
-  margin: 0;
-}
-.distribute-features ul li {
-  list-style: none;
-  float: left;
-  border-top: 1px solid #9C0;
-  width: 220px;
-  margin-right: 50px;
-}
-.distribute-features ul li.last {
-  margin-right: 0px;
-}
-
-
-/************ DEVELOP TOPIC CONTAINERS ************/
-
-.landing-banner,
-.landing-docs {
-  margin:20px 0 0;
-}
-.landing-banner .col-6:first-child,
-.landing-docs .col-6:first-child,
-.landing-docs .col-12 {
-  margin-left:0;
-  min-height:280px;
-}
-.landing-banner .col-6:last-child,
-.landing-docs .col-6:last-child,
-.landing-docs .col-12 {
-  margin-right:0;
-}
-
-.landing-banner h1 {
-  margin-top:0;
-}
-.landing-docs {
-  clear:left;
-}
-.landing-docs h3 {
-  font-size:14px;
-  line-height:21px;
-  color:#555;
-  text-transform:uppercase;
-  border-bottom:1px solid #CCC;
-  margin:0 0 20px;
-}
-.landing-docs a {
-  color:#333 !important;
-}
-.landing-docs a:hover,
-.landing-docs a:hover * {
-  color:#7AA1B0 !important
-}
-
-.plusone {
-  float:right;
-}
-
-
-
-/************* HOME/LANDING PAGE *****************/
-
-.slideshow-home {
-  height: 500px;
-  width: 940px;
-  border-bottom: 1px solid #CCC;
-  position: relative;
-  margin: 0;
-}
-.slideshow-home .frame {
-  width: 940px;
-  height: 500px;
-}
-.slideshow-home .content-left {
-  float: left;
-  text-align: center;
-  vertical-align: center;
-  margin: 0 0 0 35px;
-}
-.slideshow-home .content-right {
-  margin: 80px 0 0 0;
-}
-.slideshow-home .content-right p {
-  margin-bottom: 10px;
-}
-.slideshow-home .content-right p:last-child {
-  margin-top: 15px;
-}
-.slideshow-home .content-right h1 {
-  padding:0;
-}
-.slideshow-home .item {
-  height: 500px;
-  width: 940px;
-}
-.home-sections {
-  padding: 30px 20px 20px;
-  margin: 20px 0;
-  background: -webkit-linear-gradient(top, #F6F6F6,#F9F9F9);
-}
-.home-sections ul {
-  margin: 0;
-}
-.home-sections ul li {
-  float: left;
-  display: block;
-  list-style: none;
-  width: 170px;
-  height: 35px;
-  border: 1px solid #ccc;
-  background: white;
-  margin-right: 10px;
-  border-radius: 1px;
-  -webkit-border-radius: 1px;
-  -moz-border-radius: 1px;
-  box-shadow: 1px 1px 5px #EEE;
-  -webkit-box-shadow: 1px 1px 5px #EEE;
-  -moz-box-shadow: 1px 1px 5px #EEE;
-  background: white;
-}
-.home-sections ul li:hover {
-  background: #F9F9F9;
-  border: 1px solid #CCC;
-}
-.home-sections ul li a,
-.home-sections ul li a:hover {
-  font-weight: bold;
-  margin-top: 8px;
-  line-height: 18px;
-  float: left;
-  width: 100%;
-  text-align: center;
-  color: #09c !important;
-}
-.home-sections ul li a {
-  font-weight: bold;
-  margin-top: 8px;
-  line-height: 18px;
-  float: left;
-  width:100%;
-  text-align:center;
-}
-.home-sections ul li img {
-  float: left;
-  margin: -8px 0 0 10px;
-}
-.home-sections ul li.last {
-  margin-right: 0px;
-}
-.fullpage #footer {
-  margin-top: -40px;
-}
diff --git a/docs/html/google/gcm/server-javadoc/deprecated-list.html b/docs/html/google/gcm/server-javadoc/deprecated-list.html
deleted file mode 100644
index 04b9aa5..0000000
--- a/docs/html/google/gcm/server-javadoc/deprecated-list.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Deprecated List
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Deprecated List";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Deprecated API</B></H2>
-</CENTER>
-<HR SIZE="4" NOSHADE>
-<B>Contents</B><UL>
-</UL>
-
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/help-doc.html b/docs/html/google/gcm/server-javadoc/help-doc.html
deleted file mode 100644
index c479cff..0000000
--- a/docs/html/google/gcm/server-javadoc/help-doc.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-API Help
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="API Help";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H1>
-How This API Document Is Organized</H1>
-</CENTER>
-This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
-Package</H3>
-<BLOCKQUOTE>
-
-<P>
-Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
-<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL>
-</BLOCKQUOTE>
-<H3>
-Class/Interface</H3>
-<BLOCKQUOTE>
-
-<P>
-Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
-<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
-<P>
-<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
-<P>
-<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
-Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
-</BLOCKQUOTE>
-<H3>
-Annotation Type</H3>
-<BLOCKQUOTE>
-
-<P>
-Each annotation type has its own separate page with the following sections:<UL>
-<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL>
-</BLOCKQUOTE>
-</BLOCKQUOTE>
-<H3>
-Enum</H3>
-<BLOCKQUOTE>
-
-<P>
-Each enum has its own separate page with the following sections:<UL>
-<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL>
-</BLOCKQUOTE>
-<H3>
-Tree (Class Hierarchy)</H3>
-<BLOCKQUOTE>
-There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
-<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
-</BLOCKQUOTE>
-<H3>
-Deprecated API</H3>
-<BLOCKQUOTE>
-The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
-<H3>
-Index</H3>
-<BLOCKQUOTE>
-The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
-<H3>
-Prev/Next</H3>
-These links take you to the next or previous class, interface, package, or related page.<H3>
-Frames/No Frames</H3>
-These links show and hide the HTML frames.  All pages are available with or without frames.
-<P>
-<H3>
-Serialized Form</H3>
-Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
-<P>
-<H3>
-Constant Field Values</H3>
-The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.
-<P>
-<FONT SIZE="-1">
-<EM>
-This help file applies to API documentation generated using the standard doclet.</EM>
-</FONT>
-<BR>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/index-all.html b/docs/html/google/gcm/server-javadoc/index-all.html
deleted file mode 100644
index 97aa300..0000000
--- a/docs/html/google/gcm/server-javadoc/index-all.html
+++ /dev/null
@@ -1,438 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Index
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="./default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Index";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <HR>
-<A NAME="_A_"><!-- --></A><H2>
-<B>A</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Message.Builder.html#addData(java.lang.String, java.lang.String)"><B>addData(String, String)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A>
-<DD>Adds a key/value pair to the payload data.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#addParameter(java.lang.StringBuilder, java.lang.String, java.lang.String)"><B>addParameter(StringBuilder, String, String)</B></A> - 
-Static method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Adds a new parameter to the HTTP POST body.
-</DL>
-<HR>
-<A NAME="_B_"><!-- --></A><H2>
-<B>B</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#BACKOFF_INITIAL_DELAY"><B>BACKOFF_INITIAL_DELAY</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Initial delay before first retry, without jitter.
-<DT><A HREF="./com/google/android/gcm/server/Message.Builder.html#build()"><B>build()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_C_"><!-- --></A><H2>
-<B>C</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Message.Builder.html#collapseKey(java.lang.String)"><B>collapseKey(String)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A>
-<DD>Sets the collapseKey property.
-<DT><A HREF="./com/google/android/gcm/server/package-summary.html"><B>com.google.android.gcm.server</B></A> - package com.google.android.gcm.server<DD>&nbsp;<DT><A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server"><B>Constants</B></A> - Class in <A HREF="./com/google/android/gcm/server/package-summary.html">com.google.android.gcm.server</A><DD>Constants used on GCM service communication.</DL>
-<HR>
-<A NAME="_D_"><!-- --></A><H2>
-<B>D</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Message.Builder.html#delayWhileIdle(boolean)"><B>delayWhileIdle(boolean)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A>
-<DD>Sets the delayWhileIdle property (default value is false).
-</DL>
-<HR>
-<A NAME="_E_"><!-- --></A><H2>
-<B>E</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_DEVICE_QUOTA_EXCEEDED"><B>ERROR_DEVICE_QUOTA_EXCEEDED</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Too many messages sent by the sender to a specific device.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_INTERNAL_SERVER_ERROR"><B>ERROR_INTERNAL_SERVER_ERROR</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>A particular message could not be sent because the GCM servers encountered
- an error.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_INVALID_REGISTRATION"><B>ERROR_INVALID_REGISTRATION</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Bad registration_id.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_INVALID_TTL"><B>ERROR_INVALID_TTL</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Time to Live value passed is less than zero or more than maximum.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_MESSAGE_TOO_BIG"><B>ERROR_MESSAGE_TOO_BIG</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>The payload of the message is too big, see the limitations.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_MISMATCH_SENDER_ID"><B>ERROR_MISMATCH_SENDER_ID</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>The sender_id contained in the registration_id does not match the
- sender_id used to register with the GCM servers.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_MISSING_COLLAPSE_KEY"><B>ERROR_MISSING_COLLAPSE_KEY</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Collapse key is required.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_MISSING_REGISTRATION"><B>ERROR_MISSING_REGISTRATION</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Missing registration_id.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_NOT_REGISTERED"><B>ERROR_NOT_REGISTERED</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>The user has uninstalled the application or turned off notifications.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_QUOTA_EXCEEDED"><B>ERROR_QUOTA_EXCEEDED</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Too many messages sent by the sender.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#ERROR_UNAVAILABLE"><B>ERROR_UNAVAILABLE</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>A particular message could not be sent because the GCM servers were not
- available.
-</DL>
-<HR>
-<A NAME="_G_"><!-- --></A><H2>
-<B>G</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#GCM_SEND_ENDPOINT"><B>GCM_SEND_ENDPOINT</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Endpoint for sending messages.
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html#getCanonicalIds()"><B>getCanonicalIds()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<DD>Gets the number of successful messages that also returned a canonical
- registration id.
-<DT><A HREF="./com/google/android/gcm/server/Result.html#getCanonicalRegistrationId()"><B>getCanonicalRegistrationId()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A>
-<DD>Gets the canonical registration id, if any.
-<DT><A HREF="./com/google/android/gcm/server/Message.html#getCollapseKey()"><B>getCollapseKey()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>
-<DD>Gets the collapse key.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#getConnection(java.lang.String)"><B>getConnection(String)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Gets an <CODE>HttpURLConnection</CODE> given an URL.
-<DT><A HREF="./com/google/android/gcm/server/Message.html#getData()"><B>getData()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>
-<DD>Gets the payload data, which is immutable.
-<DT><A HREF="./com/google/android/gcm/server/InvalidRequestException.html#getDescription()"><B>getDescription()</B></A> - 
-Method in exception com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A>
-<DD>Gets the error description.
-<DT><A HREF="./com/google/android/gcm/server/Result.html#getErrorCodeName()"><B>getErrorCodeName()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A>
-<DD>Gets the error code, if any.
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html#getFailure()"><B>getFailure()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<DD>Gets the number of failed messages.
-<DT><A HREF="./com/google/android/gcm/server/InvalidRequestException.html#getHttpStatusCode()"><B>getHttpStatusCode()</B></A> - 
-Method in exception com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A>
-<DD>Gets the HTTP Status Code.
-<DT><A HREF="./com/google/android/gcm/server/Result.html#getMessageId()"><B>getMessageId()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A>
-<DD>Gets the message id, if any.
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html#getMulticastId()"><B>getMulticastId()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<DD>Gets the multicast id.
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html#getResults()"><B>getResults()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<DD>Gets the results of each individual message, which is immutable.
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html#getRetryMulticastIds()"><B>getRetryMulticastIds()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<DD>Gets additional ids if more than one multicast message was sent.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#getString(java.io.InputStream)"><B>getString(InputStream)</B></A> - 
-Static method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Convenience method to convert an InputStream to a String.
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html#getSuccess()"><B>getSuccess()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<DD>Gets the number of successful messages.
-<DT><A HREF="./com/google/android/gcm/server/Message.html#getTimeToLive()"><B>getTimeToLive()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>
-<DD>Gets the time to live (in seconds).
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html#getTotal()"><B>getTotal()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<DD>Gets the total number of messages sent, regardless of the status.
-</DL>
-<HR>
-<A NAME="_I_"><!-- --></A><H2>
-<B>I</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server"><B>InvalidRequestException</B></A> - Exception in <A HREF="./com/google/android/gcm/server/package-summary.html">com.google.android.gcm.server</A><DD>Exception thrown when GCM returned an error due to an invalid request.<DT><A HREF="./com/google/android/gcm/server/InvalidRequestException.html#InvalidRequestException(int)"><B>InvalidRequestException(int)</B></A> - 
-Constructor for exception com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/server/InvalidRequestException.html#InvalidRequestException(int, java.lang.String)"><B>InvalidRequestException(int, String)</B></A> - 
-Constructor for exception com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">InvalidRequestException</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/server/Message.html#isDelayWhileIdle()"><B>isDelayWhileIdle()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>
-<DD>Gets the delayWhileIdle flag.
-</DL>
-<HR>
-<A NAME="_J_"><!-- --></A><H2>
-<B>J</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_CANONICAL_IDS"><B>JSON_CANONICAL_IDS</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field representing the number of messages with a canonical
- registration id.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_ERROR"><B>JSON_ERROR</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field representing the error field of an individual request.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_FAILURE"><B>JSON_FAILURE</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field representing the number of failed messages.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_MESSAGE_ID"><B>JSON_MESSAGE_ID</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field sent by GCM when a message was successfully sent.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_MULTICAST_ID"><B>JSON_MULTICAST_ID</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field representing the id of the multicast request.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_PAYLOAD"><B>JSON_PAYLOAD</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field representing the payload data.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_REGISTRATION_IDS"><B>JSON_REGISTRATION_IDS</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field representing the registration ids.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_RESULTS"><B>JSON_RESULTS</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field representing the result of each individual request.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#JSON_SUCCESS"><B>JSON_SUCCESS</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>JSON-only field representing the number of successful messages.
-</DL>
-<HR>
-<A NAME="_L_"><!-- --></A><H2>
-<B>L</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#logger"><B>logger</B></A> - 
-Variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_M_"><!-- --></A><H2>
-<B>M</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#MAX_BACKOFF_DELAY"><B>MAX_BACKOFF_DELAY</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Maximum delay before a retry.
-<DT><A HREF="./com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server"><B>Message</B></A> - Class in <A HREF="./com/google/android/gcm/server/package-summary.html">com.google.android.gcm.server</A><DD>GCM message.<DT><A HREF="./com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server"><B>Message.Builder</B></A> - Class in <A HREF="./com/google/android/gcm/server/package-summary.html">com.google.android.gcm.server</A><DD>&nbsp;<DT><A HREF="./com/google/android/gcm/server/Message.Builder.html#Message.Builder()"><B>Message.Builder()</B></A> - 
-Constructor for class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server"><B>MulticastResult</B></A> - Class in <A HREF="./com/google/android/gcm/server/package-summary.html">com.google.android.gcm.server</A><DD>Result of a GCM multicast message request .</DL>
-<HR>
-<A NAME="_N_"><!-- --></A><H2>
-<B>N</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#newBody(java.lang.String, java.lang.String)"><B>newBody(String, String)</B></A> - 
-Static method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Creates a <CODE>StringBuilder</CODE> to be used as the body of an HTTP POST.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#newKeyValues(java.lang.String, java.lang.String)"><B>newKeyValues(String, String)</B></A> - 
-Static method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Creates a map with just one key-value pair.
-</DL>
-<HR>
-<A NAME="_P_"><!-- --></A><H2>
-<B>P</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#PARAM_COLLAPSE_KEY"><B>PARAM_COLLAPSE_KEY</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>HTTP parameter for collapse key.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#PARAM_DELAY_WHILE_IDLE"><B>PARAM_DELAY_WHILE_IDLE</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>HTTP parameter for delaying the message delivery if the device is idle.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#PARAM_PAYLOAD_PREFIX"><B>PARAM_PAYLOAD_PREFIX</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Prefix to HTTP parameter used to pass key-values in the message payload.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#PARAM_REGISTRATION_ID"><B>PARAM_REGISTRATION_ID</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>HTTP parameter for registration id.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#PARAM_TIME_TO_LIVE"><B>PARAM_TIME_TO_LIVE</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Prefix to HTTP parameter used to set the message time-to-live.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#post(java.lang.String, java.lang.String)"><B>post(String, String)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Make an HTTP post to a given URL.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#post(java.lang.String, java.lang.String, java.lang.String)"><B>post(String, String, String)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_R_"><!-- --></A><H2>
-<B>R</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#random"><B>random</B></A> - 
-Variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server"><B>Result</B></A> - Class in <A HREF="./com/google/android/gcm/server/package-summary.html">com.google.android.gcm.server</A><DD>Result of a GCM message request that returned HTTP status code 200.</DL>
-<HR>
-<A NAME="_S_"><!-- --></A><H2>
-<B>S</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#send(com.google.android.gcm.server.Message, java.lang.String, int)"><B>send(Message, String, int)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Sends a message to one device, retrying in case of unavailability.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#send(com.google.android.gcm.server.Message, java.util.List, int)"><B>send(Message, List&lt;String&gt;, int)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Sends a message to many devices, retrying in case of unavailability.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server"><B>Sender</B></A> - Class in <A HREF="./com/google/android/gcm/server/package-summary.html">com.google.android.gcm.server</A><DD>Helper class to send messages to the GCM service using an API Key.<DT><A HREF="./com/google/android/gcm/server/Sender.html#Sender(java.lang.String)"><B>Sender(String)</B></A> - 
-Constructor for class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Default constructor.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#sendNoRetry(com.google.android.gcm.server.Message, java.lang.String)"><B>sendNoRetry(Message, String)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Sends a message without retrying in case of service unavailability.
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#sendNoRetry(com.google.android.gcm.server.Message, java.util.List)"><B>sendNoRetry(Message, List&lt;String&gt;)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>Sends a message without retrying in case of service unavailability.
-</DL>
-<HR>
-<A NAME="_T_"><!-- --></A><H2>
-<B>T</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Message.Builder.html#timeToLive(int)"><B>timeToLive(int)</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server">Message.Builder</A>
-<DD>Sets the time to live, in seconds.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#TOKEN_CANONICAL_REG_ID"><B>TOKEN_CANONICAL_REG_ID</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Token returned by GCM when the requested registration id has a canonical
- value.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#TOKEN_ERROR"><B>TOKEN_ERROR</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Token returned by GCM when there was an error sending a message.
-<DT><A HREF="./com/google/android/gcm/server/Constants.html#TOKEN_MESSAGE_ID"><B>TOKEN_MESSAGE_ID</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server">Constants</A>
-<DD>Token returned by GCM when a message was successfully sent.
-<DT><A HREF="./com/google/android/gcm/server/Message.html#toString()"><B>toString()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">Message</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/server/MulticastResult.html#toString()"><B>toString()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">MulticastResult</A>
-<DD>&nbsp;
-<DT><A HREF="./com/google/android/gcm/server/Result.html#toString()"><B>toString()</B></A> - 
-Method in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">Result</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_U_"><!-- --></A><H2>
-<B>U</B></H2>
-<DL>
-<DT><A HREF="./com/google/android/gcm/server/Sender.html#UTF8"><B>UTF8</B></A> - 
-Static variable in class com.google.android.gcm.server.<A HREF="./com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server">Sender</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> 
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/index.html b/docs/html/google/gcm/server-javadoc/index.html
deleted file mode 100644
index d3c3821..0000000
--- a/docs/html/google/gcm/server-javadoc/index.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Aug 29 14:55:34 PDT 2012-->
-<TITLE>
-Generated Documentation (Untitled)
-</TITLE>
-<SCRIPT type="text/javascript">
-    targetPage = "" + window.location.search;
-    if (targetPage != "" && targetPage != "undefined")
-        targetPage = targetPage.substring(1);
-    if (targetPage.indexOf(":") != -1)
-        targetPage = "undefined";
-    function loadFrames() {
-        if (targetPage != "" && targetPage != "undefined")
-             top.classFrame.location = top.targetPage;
-    }
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-</HEAD>
-<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
-<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
-<FRAME src="com/google/android/gcm/server/package-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
-<NOFRAMES>
-<H2>
-Frame Alert</H2>
-
-<P>
-This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
-<BR>
-Link to<A HREF="com/google/android/gcm/server/package-summary.html">Non-frame version.</A>
-</NOFRAMES>
-</FRAMESET>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/overview-tree.html b/docs/html/google/gcm/server-javadoc/overview-tree.html
deleted file mode 100644
index c9afea6..0000000
--- a/docs/html/google/gcm/server-javadoc/overview-tree.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Class Hierarchy
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Class Hierarchy";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For All Packages</H2>
-</CENTER>
-<DL>
-<DT><B>Package Hierarchies:</B><DD><A HREF="com/google/android/gcm/server/package-tree.html">com.google.android.gcm.server</A></DL>
-<HR>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">java.lang.Object<UL>
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/Constants.html" title="class in com.google.android.gcm.server"><B>Constants</B></A><LI TYPE="circle">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server"><B>Message</B></A> (implements java.io.Serializable)
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/Message.Builder.html" title="class in com.google.android.gcm.server"><B>Message.Builder</B></A><LI TYPE="circle">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server"><B>MulticastResult</B></A> (implements java.io.Serializable)
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server"><B>Result</B></A> (implements java.io.Serializable)
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/Sender.html" title="class in com.google.android.gcm.server"><B>Sender</B></A><LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
-<UL>
-<LI TYPE="circle">java.lang.Exception<UL>
-<LI TYPE="circle">java.io.IOException<UL>
-<LI TYPE="circle">com.google.android.gcm.server.<A HREF="com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server"><B>InvalidRequestException</B></A></UL>
-</UL>
-</UL>
-</UL>
-</UL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/package-list b/docs/html/google/gcm/server-javadoc/package-list
deleted file mode 100644
index 5955cc0..0000000
--- a/docs/html/google/gcm/server-javadoc/package-list
+++ /dev/null
@@ -1 +0,0 @@
-com.google.android.gcm.server
diff --git a/docs/html/google/gcm/server-javadoc/resources/inherit.gif b/docs/html/google/gcm/server-javadoc/resources/inherit.gif
deleted file mode 100644
index c814867..0000000
--- a/docs/html/google/gcm/server-javadoc/resources/inherit.gif
+++ /dev/null
Binary files differ
diff --git a/docs/html/google/gcm/server-javadoc/serialized-form.html b/docs/html/google/gcm/server-javadoc/serialized-form.html
deleted file mode 100644
index ab99e41..0000000
--- a/docs/html/google/gcm/server-javadoc/serialized-form.html
+++ /dev/null
@@ -1,355 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Wed Aug 29 14:55:34 PDT 2012 -->
-<TITLE>
-Serialized Form
-</TITLE>
-
-<META NAME="date" CONTENT="2012-08-29">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="default.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Serialized Form";
-    }
-}
-</SCRIPT>
-<NOSCRIPT>
-</NOSCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-<HR>
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H1>
-Serialized Form</H1>
-</CENTER>
-<HR SIZE="4" NOSHADE>
-
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="center"><FONT SIZE="+2">
-<B>Package</B> <B>com.google.android.gcm.server</B></FONT></TH>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="com.google.android.gcm.server.InvalidRequestException"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Class <A HREF="com/google/android/gcm/server/InvalidRequestException.html" title="class in com.google.android.gcm.server">com.google.android.gcm.server.InvalidRequestException</A> extends java.io.IOException implements Serializable</B></FONT></TH>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TH>
-</TR>
-</TABLE>
-
-<H3>
-status</H3>
-<PRE>
-int <B>status</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-description</H3>
-<PRE>
-java.lang.String <B>description</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-
-<P>
-<A NAME="com.google.android.gcm.server.Message"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Class <A HREF="com/google/android/gcm/server/Message.html" title="class in com.google.android.gcm.server">com.google.android.gcm.server.Message</A> extends java.lang.Object implements Serializable</B></FONT></TH>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TH>
-</TR>
-</TABLE>
-
-<H3>
-collapseKey</H3>
-<PRE>
-java.lang.String <B>collapseKey</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-delayWhileIdle</H3>
-<PRE>
-java.lang.Boolean <B>delayWhileIdle</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-timeToLive</H3>
-<PRE>
-java.lang.Integer <B>timeToLive</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-data</H3>
-<PRE>
-java.util.Map&lt;K,V&gt; <B>data</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-
-<P>
-<A NAME="com.google.android.gcm.server.MulticastResult"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Class <A HREF="com/google/android/gcm/server/MulticastResult.html" title="class in com.google.android.gcm.server">com.google.android.gcm.server.MulticastResult</A> extends java.lang.Object implements Serializable</B></FONT></TH>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TH>
-</TR>
-</TABLE>
-
-<H3>
-success</H3>
-<PRE>
-int <B>success</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-failure</H3>
-<PRE>
-int <B>failure</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-canonicalIds</H3>
-<PRE>
-int <B>canonicalIds</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-multicastId</H3>
-<PRE>
-long <B>multicastId</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-results</H3>
-<PRE>
-java.util.List&lt;E&gt; <B>results</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-retryMulticastIds</H3>
-<PRE>
-java.util.List&lt;E&gt; <B>retryMulticastIds</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-
-<P>
-<A NAME="com.google.android.gcm.server.Result"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Class <A HREF="com/google/android/gcm/server/Result.html" title="class in com.google.android.gcm.server">com.google.android.gcm.server.Result</A> extends java.lang.Object implements Serializable</B></FONT></TH>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TH>
-</TR>
-</TABLE>
-
-<H3>
-messageId</H3>
-<PRE>
-java.lang.String <B>messageId</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-canonicalRegistrationId</H3>
-<PRE>
-java.lang.String <B>canonicalRegistrationId</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-<H3>
-errorCode</H3>
-<PRE>
-java.lang.String <B>errorCode</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-
-<P>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/android/gcm/server/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/docs/html/google/gcm/server-javadoc/stylesheet.css b/docs/html/google/gcm/server-javadoc/stylesheet.css
deleted file mode 100644
index 6ea9e51..0000000
--- a/docs/html/google/gcm/server-javadoc/stylesheet.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Javadoc style sheet */
-
-/* Define colors, fonts and other style attributes here to override the defaults */
-
-/* Page background color */
-body { background-color: #FFFFFF; color:#000000 }
-
-/* Headings */
-h1 { font-size: 145% }
-
-/* Table colors */
-.TableHeadingColor     { background: #CCCCFF; color:#000000 } /* Dark mauve */
-.TableSubHeadingColor  { background: #EEEEFF; color:#000000 } /* Light mauve */
-.TableRowColor         { background: #FFFFFF; color:#000000 } /* White */
-
-/* Font used in left-hand frame lists */
-.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
-.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
-.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
-
-/* Navigation bar fonts and colors */
-.NavBarCell1    { background-color:#EEEEFF; color:#000000} /* Light mauve */
-.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
-.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
-.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
-
-.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
-.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
-
diff --git a/docs/html/google/play-services/index.jd b/docs/html/google/play-services/index.jd
index 99f42e6..263f4b0 100644
--- a/docs/html/google/play-services/index.jd
+++ b/docs/html/google/play-services/index.jd
@@ -22,9 +22,6 @@
   and easier for you to integrate the newest that Google has to offer.
   </p>
 
-   <p><a class="next-page-link topic-start-link"
-href="/google/play-services/download.html">Setup</a></p>
-
 </div>
 </div>
 
@@ -56,6 +53,11 @@
 about your users' Android version.</p>
 
   </div>
+
+
+   <p>To start integrating Google Play services into your app,
+   follow the <a href="/google/play-services/download.html">Setup</a> guide.</p>
+
 </div>
 
 
@@ -104,7 +106,8 @@
 
   <div class="layout-content-col span-6">
     <img src="/images/play-services-diagram.png" />
-    <p class="img-caption"><em>Updates to Google Play services include access to new APIs, features, and bug fixes.</em></p>
+    <p class="img-caption"><em>The Google Play services APK on user devices receives regular updates
+    for new APIs, features, and bug fixes.</em></p>
   </div>
 </div>
 
diff --git a/docs/html/google/play-services/maps.jd b/docs/html/google/play-services/maps.jd
index 2d4b8f6..69928f1 100644
--- a/docs/html/google/play-services/maps.jd
+++ b/docs/html/google/play-services/maps.jd
@@ -83,6 +83,4 @@
     API Terms of Service</a>.</p>
   </div>
 
-
-  </div>
 </div>
\ No newline at end of file
diff --git a/docs/html/google/play/services.jd b/docs/html/google/play/services.jd
deleted file mode 100644
index 092642c..0000000
--- a/docs/html/google/play/services.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=Google Play Services
-@jd:body
-<p>
-    Google Play services is a platform that is delivered through the Google Play Store that
-    offers integration with Google products, such as Google+, into Android apps.
-    The Google Play services framework consists of a services component
-    that runs on the device and a thin client library that you package with your app.
-</p>
-<div class="distribute-features col-13">
-<ul>
-    <li style="border-top: 1px solid #F80;"><h5>Easy Authentication</h5>
-    Your app can leverage the user's existing Google account on the device without having to go
-    through tedious authentication flows. A few clicks from the user and you're set!
-    <br/>
-    <a href="https://developers.google.com/android/google-play-services">Learn more &raquo;</a>
- </li>
-    <li style="border-top: 1px solid #F80;"><h5>Google+ Integration</h5>
-    Google Play services makes it easy for your app to integrate with Google+ sign-in and the +1
-    button.
-    <br/>
-    <a href="https://developers.google.com/android/google-play-services">Learn more &raquo;</a>
- </li>
-</ul>
-
-</div>
diff --git a/docs/html/tools/help/sdk-manager.jd b/docs/html/tools/help/sdk-manager.jd
index 4852b21..215ce6f 100644
--- a/docs/html/tools/help/sdk-manager.jd
+++ b/docs/html/tools/help/sdk-manager.jd
@@ -7,6 +7,8 @@
 
 <p>You can launch the SDK Manager in one of the following ways:</p>
 <ul>
+  <li>From Eclipse (with <a href="{@docRoot}tools/help/adt.html">ADT</a>),
+  select <strong>Window</strong> &gt; <strong>Android SDK Manager</strong>.</li>
   <li>On Windows, double-click the <code>SDK Manager.exe</code> file at the root of the Android
 SDK directory.</li>
   <li>On Mac or Linux, open a terminal and navigate to the <code>tools/</code> directory in the
