zookeeper-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r821505 [2/2] - in /websites/staging/zookeeper/trunk/content: ./ bookkeeper/ bookkeeper/docs/r4.0.0/ bookkeeper/docs/r4.1.0/ bookkeeper/docs/trunk/
Date Tue, 12 Jun 2012 20:47:33 GMT
Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigBuild.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigBuild.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigBuild.html Tue Jun
12 20:47:31 2012
@@ -68,7 +68,7 @@
 
 <p>From the top level bookkeeper directory, run <code>mvn package</code>.
This will compile and package the jars necessary for running hedwig. </p>
 
-<p>See the User&#39;s Guide for instructions on running and usage.</p>
+<p>See the User's Guide for instructions on running and usage.</p>
 
 <h1>Eclipse Instructions</h1>
 
@@ -76,13 +76,13 @@
 
 <ol>
 <li>Install the Subclipse plugin. Update site: <a href="http://subclipse.tigris.org/update_1.4.x">http://subclipse.tigris.org/update_1.4.x</a>.</li>
-<li>Install the Maven plugin. Update site: <a href="http://m2eclipse.sonatype.org/update">http://m2eclipse.sonatype.org/update</a>.
From the list of packages available from this site, select everything under the &#34;Maven
Integration&#34; category, and from the optional components select the ones with the word
&#34;SCM&#34; in them.</li>
-<li>Go to Preferences &gt; Team &gt; <span class="caps">SVN.</span>
For the <span class="caps">SVN </span>interface, choose &#34;Pure Java&#34;.</li>
+<li>Install the Maven plugin. Update site: <a href="http://m2eclipse.sonatype.org/update">http://m2eclipse.sonatype.org/update</a>.
From the list of packages available from this site, select everything under the "Maven Integration"
category, and from the optional components select the ones with the word "SCM" in them.</li>
+<li>Go to Preferences &gt; Team &gt; <span class="caps">SVN.</span>
For the <span class="caps">SVN </span>interface, choose "Pure Java".</li>
 <li>Choose File &gt; New &gt; Project... &gt; Maven &gt; Checkout Maven
Projects from <span class="caps">SCM.</span></li>
 <li>For the <span class="caps">SCM URL </span>type, choose <span class="caps">SVN.</span>
For the <span class="caps">URL, </span>enter <span class="caps">SVN URL.</span>
Maven will automatically create a top-level Eclipse project for each of the 4 Maven modules
(recommended). If you want fewer top-level projects, uncheck the option of having a project
for each module (under Advanced).</li>
 </ol>
 
-<p>You are now ready to run and debug the client and server code. See the User&#39;s
Guide for instructions on running and usage.</p>
+<p>You are now ready to run and debug the client and server code. See the User's Guide
for instructions on running and usage.</p>
           </div>
         </td>
         <td valign="top">
@@ -116,6 +116,7 @@
 <h3>Documentation</h3>
 
 <ul>
+<li><a href="/bookkeeper/docs/r4.1.0">Release 4.1.0</a></li>
 <li><a href="/bookkeeper/docs/r4.0.0">Release 4.0.0</a></li>
 <li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
 </ul>

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigConsole.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigConsole.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigConsole.html Tue
Jun 12 20:47:31 2012
@@ -290,6 +290,7 @@ Finished 0.388 s.
 <h3>Documentation</h3>
 
 <ul>
+<li><a href="/bookkeeper/docs/r4.1.0">Release 4.1.0</a></li>
 <li><a href="/bookkeeper/docs/r4.0.0">Release 4.0.0</a></li>
 <li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
 </ul>

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigDesign.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigDesign.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigDesign.html Tue Jun
12 20:47:31 2012
@@ -63,11 +63,11 @@
 
 <h1>Netty Notes</h1>
 
-<p>The asynchronous network IO infrastructure that Hedwig uses is <a href="http://www.jboss.org/netty">Netty</a>.
Here are some notes on Netty&#39;s concurrency architecture and its filter pipeline design.</p>
+<p>The asynchronous network IO infrastructure that Hedwig uses is <a href="http://www.jboss.org/netty">Netty</a>.
Here are some notes on Netty's concurrency architecture and its filter pipeline design.</p>
 
 <h2>Concurrency Architecture</h2>
 
-<p>After calling <code>ServerBootstrap.bind()</code>, Netty starts a boss
thread (<code>NioServerSocketPipelineSink.Boss</code>) that just accepts new connections
and registers them with one of the workers from the <code>NioWorker</code> pool
in round-robin fashion (pool size defaults to <span class="caps">CPU </span>count).
Each worker runs its own select loop over just the set of keys that have been registered with
it. Workers start lazily on demand and run only so long as there are interested fd&#39;s/keys.
All selected events are handled in the same thread and sent up the pipeline attached to the
channel (this association is established by the boss as soon as a new connection is accepted).</p>
+<p>After calling <code>ServerBootstrap.bind()</code>, Netty starts a boss
thread (<code>NioServerSocketPipelineSink.Boss</code>) that just accepts new connections
and registers them with one of the workers from the <code>NioWorker</code> pool
in round-robin fashion (pool size defaults to <span class="caps">CPU </span>count).
Each worker runs its own select loop over just the set of keys that have been registered with
it. Workers start lazily on demand and run only so long as there are interested fd's/keys.
All selected events are handled in the same thread and sent up the pipeline attached to the
channel (this association is established by the boss as soon as a new connection is accepted).</p>
 
 <p>All workers, and the boss, run via the executor thread pool; hence, the executor
must support at least two simultaneous threads.</p>
 
@@ -90,9 +90,9 @@
 
 <h1>ReadAhead Cache</h1>
 
-<p>The delivery manager class is responsible for pushing published messages from the
hubs to the subscribers. The most common case is that all subscribers are connected and either
caught up, or close to the tail end of the topic. In this case, we don&#39;t want the
delivery manager to be polling bookkeeper for any newly arrived messages on the topic; new
messages should just be pushed to the delivery manager. However, there is also the uncommon
case when a subscriber is behind, and messages must be pulled from Bookkeeper.</p>
+<p>The delivery manager class is responsible for pushing published messages from the
hubs to the subscribers. The most common case is that all subscribers are connected and either
caught up, or close to the tail end of the topic. In this case, we don't want the delivery
manager to be polling bookkeeper for any newly arrived messages on the topic; new messages
should just be pushed to the delivery manager. However, there is also the uncommon case when
a subscriber is behind, and messages must be pulled from Bookkeeper.</p>
 
-<p>Since all publishes go through the hub, it is possible to cache the recently published
messages in the hub, and then the delivery manager won&#39;t have to make the trip to
bookkeeper to get the messages but instead get them from local process memory.</p>
+<p>Since all publishes go through the hub, it is possible to cache the recently published
messages in the hub, and then the delivery manager won't have to make the trip to bookkeeper
to get the messages but instead get them from local process memory.</p>
 
 <p>These ideas of push, pull, and caching are unified in the following way: - A hub
has a cache of messages</p>
 
@@ -150,6 +150,7 @@
 <h3>Documentation</h3>
 
 <ul>
+<li><a href="/bookkeeper/docs/r4.1.0">Release 4.1.0</a></li>
 <li><a href="/bookkeeper/docs/r4.0.0">Release 4.0.0</a></li>
 <li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
 </ul>

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigJMX.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigJMX.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigJMX.html Tue Jun
12 20:47:31 2012
@@ -101,6 +101,7 @@
 <h3>Documentation</h3>
 
 <ul>
+<li><a href="/bookkeeper/docs/r4.1.0">Release 4.1.0</a></li>
 <li><a href="/bookkeeper/docs/r4.0.0">Release 4.0.0</a></li>
 <li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
 </ul>

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigUser.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigUser.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/hedwigUser.html Tue Jun
12 20:47:31 2012
@@ -55,7 +55,7 @@
           <div class="wiki-content">
  <h1>Design</h1>
 
-<p>In Hedwig, clients publish messages associated with a topic, and they subscribe
to a topic to receive all messages published with that topic. Clients are associated with
(publish to and subscribe from) a Hedwig <em>instance</em> (also referred to as
a <em>region</em>), which consists of a number of servers called <em>hubs</em>.
The hubs partition up topic ownership among themselves, and all publishes and subscribes to
a topic must be done to its owning hub. When a client doesn&#39;t know the owning hub,
it tries a default hub, which may redirect the client.</p>
+<p>In Hedwig, clients publish messages associated with a topic, and they subscribe
to a topic to receive all messages published with that topic. Clients are associated with
(publish to and subscribe from) a Hedwig <em>instance</em> (also referred to as
a <em>region</em>), which consists of a number of servers called <em>hubs</em>.
The hubs partition up topic ownership among themselves, and all publishes and subscribes to
a topic must be done to its owning hub. When a client doesn't know the owning hub, it tries
a default hub, which may redirect the client.</p>
 
 <p>Running a Hedwig instance requires a Zookeeper server and at least three Bookkeeper
servers.</p>
 
@@ -65,7 +65,7 @@
 
 <p>Topics are independent; Hedwig provides no ordering across different topics.</p>
 
-<p>Version vectors are associated with each topic and serve as the identifiers for
each message. Vectors consist of one component per region. A component value is the region&#39;s
local sequence number on the topic, and is incremented each time a hub persists a message
(published either locally or remotely) to <span class="caps">BK.</span></p>
+<p>Version vectors are associated with each topic and serve as the identifiers for
each message. Vectors consist of one component per region. A component value is the region's
local sequence number on the topic, and is incremented each time a hub persists a message
(published either locally or remotely) to <span class="caps">BK.</span></p>
 
 <p><span class="caps">TODO</span>: More on how version vectors are to be
used, and on maintaining vector-maxes.</p>
 
@@ -79,7 +79,7 @@
 
 <h2>Limits</h2>
 
-<p>Because the current implementation uses a single socket per subscription, the Hedwig
requires a high <code>ulimit</code> on the number of open file descriptors. Non-root
users can only use up to the limit specified in <code>/etc/security/limits.conf</code>;
to raise this to 1024^2, as root, modify the &#34;nofile&#34; line in /etc/security/limits.conf
on all hubs.</p>
+<p>Because the current implementation uses a single socket per subscription, the Hedwig
requires a high <code>ulimit</code> on the number of open file descriptors. Non-root
users can only use up to the limit specified in <code>/etc/security/limits.conf</code>;
to raise this to 1024^2, as root, modify the "nofile" line in /etc/security/limits.conf on
all hubs.</p>
 
 <h2>Running Servers</h2>
 
@@ -136,6 +136,7 @@
 <h3>Documentation</h3>
 
 <ul>
+<li><a href="/bookkeeper/docs/r4.1.0">Release 4.1.0</a></li>
 <li><a href="/bookkeeper/docs/r4.0.0">Release 4.0.0</a></li>
 <li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
 </ul>

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/index.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/index.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/index.html Tue Jun 12 20:47:31
2012
@@ -58,7 +58,7 @@
 <ul>
 <li><a href="./bookkeeperOverview.html">Overview</a></li>
 <li><a href="./bookkeeperStarted.html">Getting started</a></li>
-<li><a href="./bookkeeperProgrammer.html">Programmer&#39;s Guide</a></li>
+<li><a href="./bookkeeperProgrammer.html">Programmer's Guide</a></li>
 <li><a href="./bookieConfigParams.html">Bookie Server Configuration Parameters</a></li>
 <li><a href="./bookkeeperConfigParams.html">BookKeeper Configuration Parameters</a></li>
 <li><a href="./bookkeeperInternals.html">BookKeeper Internals</a></li>
@@ -77,8 +77,8 @@
 
 <ul>
 <li><a href="./hedwigBuild.html">Building Hedwig, or how to set up Hedwig</a></li>
-<li><a href="./hedwigUser.html">User&#39;s Guide, or how to program against
the Hedwig <span class="caps">API </span>and how to run it</a></li>
-<li><a href="./hedwigDesign.html">Developer&#39;s Guide, or Hedwig internals
and hacking details</a></li>
+<li><a href="./hedwigUser.html">User's Guide, or how to program against the Hedwig
<span class="caps">API </span>and how to run it</a></li>
+<li><a href="./hedwigDesign.html">Developer's Guide, or Hedwig internals and
hacking details</a></li>
 </ul>
 
 <h2>Hedwig Admin &amp; Ops</h2>
@@ -120,6 +120,7 @@
 <h3>Documentation</h3>
 
 <ul>
+<li><a href="/bookkeeper/docs/r4.1.0">Release 4.1.0</a></li>
 <li><a href="/bookkeeper/docs/r4.0.0">Release 4.0.0</a></li>
 <li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
 </ul>

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/lists.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/lists.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/lists.html Tue Jun 12 20:47:31 2012
@@ -73,7 +73,7 @@ In order to post to the list, it is nece
 
 <h2>Developers</h2>
 
-<p>If you&#39;d like to contribute to BookKeeper or Hedwig, please subscribe to
the BookKeeper developer mailing list.</p>
+<p>If you'd like to contribute to BookKeeper or Hedwig, please subscribe to the BookKeeper
developer mailing list.</p>
 
 <p>The BookKeeper developer mailing list is : <a href="mailto:%62%6F%6F%6B%6B%65%65%70%65%72%2D%64%65%76%40%7A%6F%6F%6B%65%65%70%65%72%2E%61%70%61%63%68%65%2E%6F%72%67">bookkeeper-dev@zookeeper.apache.org</a>.</p>
 
@@ -88,7 +88,7 @@ In order to post to the list, it is nece
 
 <h2>Commits</h2>
 
-<p>If you&#39;d like to see changes made in BookKeeper&#39;s version control
system then subscribe to the BookKeeper commit mailing list.</p>
+<p>If you'd like to see changes made in BookKeeper's version control system then subscribe
to the BookKeeper commit mailing list.</p>
 
 <ul>
 <li><a href="mailto:%62%6F%6F%6B%6B%65%65%70%65%72%2D%63%6F%6D%6D%69%74%73%2D%73%75%62%73%63%72%69%62%65%40%7A%6F%6F%6B%65%65%70%65%72%2E%61%70%61%63%68%65%2E%6F%72%67">Subscribe
to List</a></li>

Modified: websites/staging/zookeeper/trunk/content/bylaws.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bylaws.html (original)
+++ websites/staging/zookeeper/trunk/content/bylaws.html Tue Jun 12 20:47:31 2012
@@ -83,7 +83,7 @@ perform within the project. The roles ar
 
 <p>The most important participants in the project are people who use our <br />
 software. The majority of our contributors start out as users and guide <br />
-their development efforts from the user&#39;s perspective. </p>
+their development efforts from the user's perspective. </p>
 
 <p>Users contribute to the Apache projects by providing feedback to <br />
 contributors in the form of bug reports and feature suggestions. As <br />
@@ -100,8 +100,8 @@ factors. </p>
 
 <h2>Committers </h2>
 
-<p>The project&#39;s committers are responsible for the project&#39;s technical
<br />
-management. Committers have access to a specified set of subproject&#39;s <br />
+<p>The project's committers are responsible for the project's technical <br />
+management. Committers have access to a specified set of subproject's <br />
 subversion repositories. Committers on subprojects may cast binding <br />
 votes on any technical discussion regarding that subproject. </p>
 
@@ -135,7 +135,7 @@ oversight of the Apache ZooKeeper codeba
 <ul>
 <li>Deciding what is distributed as products of the Apache ZooKeeper <br />
 project. In particular all releases must be approved by the <span class="caps">PMC.
</span></li>
-<li>Maintaining the project&#39;s shared resources, including the codebase <br
/>
+<li>Maintaining the project's shared resources, including the codebase <br />
 repository, mailing lists, websites. </li>
 <li>Speaking on behalf of the project. </li>
 <li>Resolving license disputes regarding products of the project. </li>
@@ -167,7 +167,7 @@ Apache board. </p>
 
 <p>Within the ZooKeeper project, different types of decisions require <br />
 different forms of approval. For example, the previous section describes <br />
-several decisions which require &#39;lazy consensus&#39; approval. This section <br
/>
+several decisions which require 'lazy consensus' approval. This section <br />
 defines how voting is performed, the types of approvals, and which types <br />
 of decision require which type of approval. </p>
 
@@ -181,9 +181,9 @@ line starting with [VOTE]. Votes may con
 and these should be clearly separated. Voting is carried out by replying <br />
 to the vote mail. Voting may take four flavors. </p>
 
-<table><tr><td>Vote</td><td>Meaning</td></tr><tr><td>+1</td><td>&#39;Yes,&#39;
&#39;Agree,&#39; or &#39;the action should be performed.&#39; In general,
<br />
+<table><tr><td>Vote</td><td>Meaning</td></tr><tr><td>+1</td><td>'Yes,'
'Agree,' or 'the action should be performed.' In general, <br />
 this vote also indicates a willingness on the behalf of the voter in <br />
-&#39;making it happen&#39;.</td></tr><tr><td>+0</td><td>This
vote indicates a willingness for the action under <br />
+'making it happen'.</td></tr><tr><td>+0</td><td>This
vote indicates a willingness for the action under <br />
 consideration to go ahead. The voter, however will not be able to help.</td></tr><tr><td>-0</td><td>This
vote indicates that the voter does not, in general, agree <br />
 with the proposed action but is not concerned enough to prevent the <br />
 action going ahead.</td></tr><tr><td>-1</td><td>This
is a negative vote. On issues where consensus is required, <br />
@@ -251,7 +251,7 @@ content, etc.</td><td>Lazy approval (not
 contributor), moving to lazy majority if a -1 is received</td><td>Active <br
/>
 committers</td><td>1</td></tr><tr><td>Release Plan</td><td>Defines
the timetable and actions for a release. The <br />
 plan also nominates a Release Manager.</td><td>Lazy majority</td><td>Active
<br />
-committers</td><td>3</td></tr><tr><td>Product Release</td><td>When
a release of one of the project&#39;s products is <br />
+committers</td><td>3</td></tr><tr><td>Product Release</td><td>When
a release of one of the project's products is <br />
 ready, a vote is required to accept the release as an official release <br />
 of the project.</td><td>Lazy Majority</td><td>Active <span class="caps">PMC
</span>members</td><td>3</td></tr><tr><td>Adoption
of New Codebase</td><td>When the codebase for an existing, released <br />
 product is to be replaced with an alternative codebase. If such a vote <br />

Modified: websites/staging/zookeeper/trunk/content/credits.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/credits.html (original)
+++ websites/staging/zookeeper/trunk/content/credits.html Tue Jun 12 20:47:31 2012
@@ -63,13 +63,13 @@
 
 <h2 id="pmc"><span class="caps">PMC</span> Members</h2>
 
-<p>ZooKeeper&#39;s active <span class="caps">PMC </span>members are</p>
+<p>ZooKeeper's active <span class="caps">PMC </span>members are</p>
 
 <table><tr><td>username</td><td>name</td><td>organization</td><td>timezone</td></tr><tr><td>tdunning</td><td>Ted
Dunning</td><td>MapR Technologies</td><td>-8</td></tr><tr><td>camille</td><td>Camille
Fournier</td><td>RentTheRunway</td><td>-5</td></tr><tr><td>phunt</td><td>Patrick
Hunt</td><td>Cloudera Inc.</td><td>-8</td></tr><tr><td>fpj</td><td>Flavio
Junqueira</td><td>Yahoo Inc.</td><td>+2</td></tr><tr><td>mahadev</td><td>Mahadev
Konar</td><td>Hortonworks Inc.</td><td>-8</td></tr><tr><td>breed</td><td>Benjamin
Reed</td><td>Yahoo Inc.</td><td>-8</td></tr><tr><td>henry</td><td>Henry
Robinson</td><td>Cloudera Inc.</td><td>-8</td></tr></table>
 
 <h2 id="committers">Committers</h2>
 
-<p>ZooKeeper&#39;s active committers are</p>
+<p>ZooKeeper's active committers are</p>
 
 <table><tr><td>username</td><td>name</td><td>organization</td><td>timezone</td></tr><tr><td>camille</td><td>Camille
Fournier</td><td>RentTheRunway</td><td>-5</td></tr><tr><td>phunt</td><td>Patrick
Hunt</td><td>Cloudera Inc.</td><td>-8</td></tr><tr><td>fpj</td><td>Flavio
Junqueira</td><td>Yahoo Inc.</td><td>+2</td></tr><tr><td>mahadev</td><td>Mahadev
Konar</td><td>Hortonworks Inc.</td><td>-8</td></tr><tr><td>akornev</td><td
colspan="3">Andrew Kornev</td></tr><tr><td>michim</td><td>Michi
Mutsuzaki</td><td>Yahoo Inc.</td><td>-8</td></tr><tr><td>breed</td><td>Benjamin
Reed</td><td>Yahoo Inc.</td><td>-8</td></tr><tr><td>henry</td><td>Henry
Robinson</td><td>Cloudera Inc.</td><td>-8</td></tr></table>
 

Modified: websites/staging/zookeeper/trunk/content/lists.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/lists.html (original)
+++ websites/staging/zookeeper/trunk/content/lists.html Tue Jun 12 20:47:31 2012
@@ -74,7 +74,7 @@ In order to post to the list, it is nece
 
 <h2>Developers</h2>
 
-<p>If you&#39;d like to contribute to ZooKeeper, please subscribe to the ZooKeeper
developer mailing list.</p>
+<p>If you'd like to contribute to ZooKeeper, please subscribe to the ZooKeeper developer
mailing list.</p>
 
 <p>The ZooKeeper developer mailing list is : <a href="mailto:%64%65%76%40%7A%6F%6F%6B%65%65%70%65%72%2E%61%70%61%63%68%65%2E%6F%72%67">dev@zookeeper.apache.org</a>.</p>
 
@@ -90,7 +90,7 @@ In order to post to the list, it is nece
 
 <h2>Commits</h2>
 
-<p>If you&#39;d like to see changes made in ZooKeeper&#39;s version control
system then subscribe to the ZooKeeper commit mailing list.</p>
+<p>If you'd like to see changes made in ZooKeeper's version control system then subscribe
to the ZooKeeper commit mailing list.</p>
 
 <ul>
 <li><a href="mailto:%63%6F%6D%6D%69%74%73%2D%73%75%62%73%63%72%69%62%65%40%7A%6F%6F%6B%65%65%70%65%72%2E%61%70%61%63%68%65%2E%6F%72%67">Subscribe
to List</a></li>



Mime
View raw message