You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@predictionio.apache.org by gi...@apache.org on 2017/11/08 19:18:15 UTC

[01/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Repository: incubator-predictionio-site
Updated Branches:
  refs/heads/asf-site eaa3a41f5 -> 1da18bd7e


http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/quickstart/index.html b/templates/similarproduct/quickstart/index.html
index 62bcaa4..8a786bc 100644
--- a/templates/similarproduct/quickstart/index.html
+++ b/templates/similarproduct/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>.
-</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect some training data for the app of this Engine. By default, the Similar Product Engine Template supports 2 types of entities: <strong>user</strong> and <strong>item</strong>, and event <strong>view</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view an item. Respectively, this template requires &#39;$set&#39; user event, &#39;$set&#39; item event, and user-view-item events.</p><div class="alert-message info"><p>This template can easily be customized to consider more user events such as <em>buy</em>, <em>rate</em> and <em>like</em>.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more detai
 ls how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when a new user with id &quot;u0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-5549ec39-a034-4002-b4c1-63f2bd691232">REST API</a></li> <li data-lang="python"><a href="#tab-2825f28f-9c
 4b-4f4f-a971-8d611544eb80">Python SDK</a></li> <li data-lang="php"><a href="#tab-4be9e151-29ab-48a9-8c64-7f744336bd49">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-69c355d7-4d3a-42f0-928b-9a2526071c86">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-be0a3171-9511-4112-b27a-5d3ab83aff18">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-5549ec39-a034-4002-b4c1-63f2bd691232"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect some training data for the app of this Engine. By default, the Similar Product Engine Template supports 2 types of entities: <strong>user</strong> and <strong>item</strong>, and event <strong>view</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view an item. Respectively, this template requires &#39;$set&#39; user event, &#39;$set&#39; item event, and user-view-item events.</p><div class="alert-message info"><p>This template can easily be customized to consider more user events such as <em>buy</em>, <em>rate</em> and <em>like</em>.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more detai
 ls how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when a new user with id &quot;u0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-50ce1a56-d08e-4594-98fc-f0f7cd4c7982">REST API</a></li> <li data-lang="python"><a href="#tab-dc54e3fe-9b
 1f-4774-af42-325c497b2119">Python SDK</a></li> <li data-lang="php"><a href="#tab-f19dace6-b7b7-49d2-947d-19a855673952">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-bc13442c-833a-41b6-9e94-2ebefa54f9e2">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-9da1032b-c4a6-49f7-87fd-a4b49c2fec77">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-50ce1a56-d08e-4594-98fc-f0f7cd4c7982"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -47,7 +47,7 @@ Your system is all ready to go.
   "entityId" : "u0",
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-2825f28f-9c4b-4f4f-a971-8d611544eb80"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-dc54e3fe-9b1f-4774-af42-325c497b2119"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -86,7 +86,7 @@ Your system is all ready to go.
   <span class="n">event_time</span><span class="o">=</span><span class="n">datetime</span><span class="p">(</span>
     <span class="mi">2014</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mo">02</span><span class="p">,</span> <span class="mi">09</span><span class="p">,</span> <span class="mi">39</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">618000</span><span class="p">,</span> <span class="n">pytz</span><span class="o">.</span><span class="n">timezone</span><span class="p">(</span><span class="s">'US/Pacific'</span><span class="p">)</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-4be9e151-29ab-48a9-8c64-7f744336bd49"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-f19dace6-b7b7-49d2-947d-19a855673952"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -111,7 +111,7 @@ Your system is all ready to go.
   <span class="s1">'entityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">USER</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-69c355d7-4d3a-42f0-928b-9a2526071c86"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-bc13442c-833a-41b6-9e94-2ebefa54f9e2"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -128,7 +128,7 @@ Your system is all ready to go.
   <span class="s1">'user'</span><span class="p">,</span>
   <span class="o">&lt;</span><span class="no">USER</span> <span class="no">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-be0a3171-9511-4112-b27a-5d3ab83aff18"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-9da1032b-c4a6-49f7-87fd-a4b49c2fec77"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -153,7 +153,7 @@ Your system is all ready to go.
   <span class="o">.</span><span class="na">entityType</span><span class="o">(</span><span class="s">"user"</span><span class="o">)</span>
   <span class="o">.</span><span class="na">entityId</span><span class="o">(&lt;</span><span class="n">USER_ID</span><span class="o">&gt;);</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">userEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item &quot;i0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Note that the item is set with categories properties: <code>&quot;c1&quot;</code> and <code>&quot;c2&quot;</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-097742cf-3bb5-4807-bf01-62de9c09c0af">REST API</a></li> <li data-lang="python"><a href="#tab-bb3b5144-e82e-4d48-b442-640e6cdbc000">Python SDK</a></li> <li data-lang="php"><a href="#tab-3b8ea1ea-ba33-40e9-ab87-e4e15802112e">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-d741c98f-e7ff-4782-a665-ff08a4515fc5">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-99512a57-272b-4ab8-9b8b-e8bc247b78f9">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-097742
 cf-3bb5-4807-bf01-62de9c09c0af"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item &quot;i0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Note that the item is set with categories properties: <code>&quot;c1&quot;</code> and <code>&quot;c2&quot;</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-22756a9d-6bb3-494f-a654-712c84b03c17">REST API</a></li> <li data-lang="python"><a href="#tab-427e66bb-b150-4e22-b058-2b621178db40">Python SDK</a></li> <li data-lang="php"><a href="#tab-76892b91-dff0-4d05-9d85-6940cf0f06b0">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-b3107e4a-6dc0-47a5-bfbf-019a6095d233">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-da03d072-487f-4d68-8a4b-7e91052e8faa">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-22756a
 9d-6bb3-494f-a654-712c84b03c17"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -174,7 +174,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-bb3b5144-e82e-4d48-b442-640e6cdbc000"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-427e66bb-b150-4e22-b058-2b621178db40"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -193,7 +193,7 @@ Your system is all ready to go.
     <span class="s">"categories"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"&lt;CATEGORY_1&gt;"</span><span class="p">,</span> <span class="s">"&lt;CATEGORY_2&gt;"</span><span class="p">]</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-3b8ea1ea-ba33-40e9-ab87-e4e15802112e"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-76892b91-dff0-4d05-9d85-6940cf0f06b0"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -214,7 +214,7 @@ Your system is all ready to go.
 <span class="p">));</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-d741c98f-e7ff-4782-a665-ff08a4515fc5"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-b3107e4a-6dc0-47a5-bfbf-019a6095d233"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -231,7 +231,7 @@ Your system is all ready to go.
   <span class="p">}</span>
 <span class="p">)</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-99512a57-272b-4ab8-9b8b-e8bc247b78f9"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-da03d072-487f-4d68-8a4b-7e91052e8faa"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -244,7 +244,7 @@ Your system is all ready to go.
   <span class="o">.</span><span class="na">entityId</span><span class="o">(&lt;</span><span class="n">ITEM_ID</span><span class="o">&gt;)</span>
   <span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"categories"</span><span class="o">,</span> <span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"&lt;CATEGORY_1&gt;"</span><span class="o">,</span> <span class="s">"&lt;CATEGORY_2&gt;"</span><span class="o">));</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">itemEvent</span><span class="o">)</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user &quot;u0&quot; view item &quot;i0&quot; on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-068ca78c-06d1-44a6-ad4f-d246b5965baf">REST API</a></li> <li data-lang="python"><a href="#tab-27a1d2b6-b621-430d-80da-38bd2fd75d2f">Python SDK</a></li> <li data-lang="php"><a href="#tab-8e6fe2bd-8125-45f2-b307-7712c94f24f9">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-63531cc7-84de-4fc9-82df-1b61c7ba3eda">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-2d09711e-eeef-46f0-9f74-4aca0988a251">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-068ca78c-06d1-44a6-ad4f-d246b5965baf"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text
 -align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user &quot;u0&quot; view item &quot;i0&quot; on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-52bf07d2-c4d0-4f5f-aa14-8726f66fb982">REST API</a></li> <li data-lang="python"><a href="#tab-98e9b50a-f6a6-4a73-a873-d8564204c59c">Python SDK</a></li> <li data-lang="php"><a href="#tab-e77e76e4-1067-4437-ae10-075f77116b3b">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-17bae8d4-bdd1-4f2b-8051-c588f7382242">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-56d1448a-31fe-4df9-a6b0-a0266cc604cd">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-52bf07d2-c4d0-4f5f-aa14-8726f66fb982"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text
 -align: right"><pre class="lineno">1
 2
 3
 4
@@ -263,7 +263,7 @@ Your system is all ready to go.
   "targetEntityId" : "i0",
   "eventTime" : "2014-11-10T12:34:56.123-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-27a1d2b6-b621-430d-80da-38bd2fd75d2f"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-98e9b50a-f6a6-4a73-a873-d8564204c59c"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -280,7 +280,7 @@ Your system is all ready to go.
   <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span>
   <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-8e6fe2bd-8125-45f2-b307-7712c94f24f9"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-e77e76e4-1067-4437-ae10-075f77116b3b"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -299,7 +299,7 @@ Your system is all ready to go.
    <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-63531cc7-84de-4fc9-82df-1b61c7ba3eda"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-17bae8d4-bdd1-4f2b-8051-c588f7382242"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -316,7 +316,7 @@ Your system is all ready to go.
     <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">&gt;</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-2d09711e-eeef-46f0-9f74-4aca0988a251"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-56d1448a-31fe-4df9-a6b0-a0266cc604cd"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -376,19 +376,19 @@ User u10 views item i29
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To retrieve 4 items which are similar to item ID &quot;i1&quot;. You send this JSON <code>{ &quot;items&quot;: [&quot;i1&quot;], &quot;num&quot;: 4 }</code> to the deployed engine and it will return a JSON of the recommended items. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control
 "> <li data-lang="json"><a href="#tab-4dede3d4-7849-4ca0-816e-229a9811aa36">REST API</a></li> <li data-lang="python"><a href="#tab-7bcee31f-7cf6-4faa-973c-24a3f2733881">Python SDK</a></li> <li data-lang="php"><a href="#tab-4efcd129-2dce-4777-aed4-aa3606db1b56">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-cd16dda4-56a7-40ad-a3e0-442fe0758559">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-65a0fcba-1cb2-4fb4-b23e-e731ab5f4a72">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-4dede3d4-7849-4ca0-816e-229a9811aa36"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To retrieve 4 items which are similar to item ID &quot;i1&quot;. You send this JSON <code>{ &quot;items&quot;: [&quot;i1&quot;], &quot;num&quot;: 4 }</code> to the deployed engine and it will return a JSON of the recommended items. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control
 "> <li data-lang="json"><a href="#tab-e26feeaa-b0ea-468f-9b2c-995172360f55">REST API</a></li> <li data-lang="python"><a href="#tab-4348d6b2-c59a-46ff-8abc-e6841ab27dd3">Python SDK</a></li> <li data-lang="php"><a href="#tab-e2badaa5-eef3-4797-923e-e0ead1b1fae4">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-f07c44ba-8b1b-4c9a-9119-29bf6627e49e">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d288ac5d-cf18-4a0c-8aa7-a83d09c996be">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-e26feeaa-b0ea-468f-9b2c-995172360f55"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
 -d <span class="s1">'{ "items": ["i1"], "num": 4 }'</span> <span class="se">\</span>
 http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-7bcee31f-7cf6-4faa-973c-24a3f2733881"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-4348d6b2-c59a-46ff-8abc-e6841ab27dd3"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="kn">import</span> <span class="nn">predictionio</span>
 <span class="n">engine_client</span> <span class="o">=</span> <span class="n">predictionio</span><span class="o">.</span><span class="n">EngineClient</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">"http://localhost:8000"</span><span class="p">)</span>
 <span class="k">print</span> <span class="n">engine_client</span><span class="o">.</span><span class="n">send_query</span><span class="p">({</span><span class="s">"items"</span><span class="p">:</span> <span class="p">[</span><span class="s">"i1"</span><span class="p">],</span> <span class="s">"num"</span><span class="p">:</span> <span class="mi">4</span><span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-4efcd129-2dce-4777-aed4-aa3606db1b56"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-e2badaa5-eef3-4797-923e-e0ead1b1fae4"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -407,7 +407,7 @@ http://localhost:8000/queries.json
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-cd16dda4-56a7-40ad-a3e0-442fe0758559"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-f07c44ba-8b1b-4c9a-9119-29bf6627e49e"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -420,7 +420,7 @@ http://localhost:8000/queries.json
 <span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">send_query</span><span class="p">(</span><span class="s1">'items'</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="s1">'i1'</span><span class="p">],</span> <span class="s1">'num'</span> <span class="o">=&gt;</span> <span class="mi">4</span><span class="p">)</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-65a0fcba-1cb2-4fb4-b23e-e731ab5f4a72"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-d288ac5d-cf18-4a0c-8aa7-a83d09c996be"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -533,4 +533,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/similarproduct/quickstart/index.html.gz b/templates/similarproduct/quickstart/index.html.gz
index 46e25fe..aeb8fee 100644
Binary files a/templates/similarproduct/quickstart/index.html.gz and b/templates/similarproduct/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/recommended-user/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/recommended-user/index.html b/templates/similarproduct/recommended-user/index.html
index 09a1c59..f0a4588 100644
--- a/templates/similarproduct/recommended-user/index.html
+++ b/templates/similarproduct/recommended-user/index.html
@@ -182,4 +182,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/recommended-user/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/similarproduct/recommended-user/index.html.gz b/templates/similarproduct/recommended-user/index.html.gz
index 846ddd3..3e4d00b 100644
Binary files a/templates/similarproduct/recommended-user/index.html.gz and b/templates/similarproduct/recommended-user/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/return-item-properties/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/return-item-properties/index.html b/templates/similarproduct/return-item-properties/index.html
index 5d9020c..fe2133c 100644
--- a/templates/similarproduct/return-item-properties/index.html
+++ b/templates/similarproduct/return-item-properties/index.html
@@ -150,4 +150,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/return-item-properties/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/similarproduct/return-item-properties/index.html.gz b/templates/similarproduct/return-item-properties/index.html.gz
index 218df90..7470665 100644
Binary files a/templates/similarproduct/return-item-properties/index.html.gz and b/templates/similarproduct/return-item-properties/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/rid-user-set-event/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/rid-user-set-event/index.html b/templates/similarproduct/rid-user-set-event/index.html
index f4f15c8..555ffaf 100644
--- a/templates/similarproduct/rid-user-set-event/index.html
+++ b/templates/similarproduct/rid-user-set-event/index.html
@@ -132,4 +132,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/rid-user-set-event/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/similarproduct/rid-user-set-event/index.html.gz b/templates/similarproduct/rid-user-set-event/index.html.gz
index b6970d0..dd2a4d5 100644
Binary files a/templates/similarproduct/rid-user-set-event/index.html.gz and b/templates/similarproduct/rid-user-set-event/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/train-with-rate-event/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/train-with-rate-event/index.html b/templates/similarproduct/train-with-rate-event/index.html
index 142536e..8074bd9 100644
--- a/templates/similarproduct/train-with-rate-event/index.html
+++ b/templates/similarproduct/train-with-rate-event/index.html
@@ -252,4 +252,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/train-with-rate-event/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/similarproduct/train-with-rate-event/index.html.gz b/templates/similarproduct/train-with-rate-event/index.html.gz
index 4465b3f..f8bb053 100644
Binary files a/templates/similarproduct/train-with-rate-event/index.html.gz and b/templates/similarproduct/train-with-rate-event/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/vanilla/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/vanilla/dase/index.html b/templates/vanilla/dase/index.html
index a4308d0..c07388c 100644
--- a/templates/vanilla/dase/index.html
+++ b/templates/vanilla/dase/index.html
@@ -172,4 +172,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/vanilla/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/vanilla/dase/index.html.gz b/templates/vanilla/dase/index.html.gz
index 5cc8cb2..fa5258f 100644
Binary files a/templates/vanilla/dase/index.html.gz and b/templates/vanilla/dase/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/vanilla/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/vanilla/quickstart/index.html b/templates/vanilla/quickstart/index.html
index 83fe967..7383ee6 100644
--- a/templates/vanilla/quickstart/index.html
+++ b/templates/vanilla/quickstart/index.html
@@ -54,17 +54,17 @@ Your system is all ready to go.
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can try to retrieve predicted results. The engine accepts JSON query with the field &#39;q&#39;: <code>{ &quot;q&quot; : &quot;foo&quot; }</code>. A prefix is added to the query data and return as PredictedResult.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-c3b101dd-576b-4139-a911-e54b60a0c0c3">REST API</a></li> <li data-lang="python"><a href="#tab-d9bf14b6-f9f9-4a
 bd-a56d-62ca0ea0fd87">Python SDK</a></li> <li data-lang="php"><a href="#tab-469daabc-b501-46ef-a036-663f6fd75c8e">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-343193c9-3d37-418e-8d1f-ef6a224d8682">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-26910305-f338-4582-bb0a-b0f5e1173770">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-c3b101dd-576b-4139-a911-e54b60a0c0c3"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can try to retrieve predicted results. The engine accepts JSON query with the field &#39;q&#39;: <code>{ &quot;q&quot; : &quot;foo&quot; }</code>. A prefix is added to the query data and return as PredictedResult.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-4c2fd237-96bc-4f46-a38d-dfdc821a8275">REST API</a></li> <li data-lang="python"><a href="#tab-7d1311ab-9c4c-4d
 c7-9d6e-59341e2c1ccc">Python SDK</a></li> <li data-lang="php"><a href="#tab-96308789-6b97-4419-8f53-7914aa6c33a0">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-05c2f991-9f4b-414c-ae4d-c2fdae04da9e">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-0f7bf5b9-b155-49a0-bdb0-af917cbda22b">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-4c2fd237-96bc-4f46-a38d-dfdc821a8275"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
 -d <span class="s1">'{ "q": "foo" }'</span> http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-d9bf14b6-f9f9-4abd-a56d-62ca0ea0fd87"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-7d1311ab-9c4c-4dc7-9d6e-59341e2c1ccc"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="kn">import</span> <span class="nn">predictionio</span>
 <span class="n">engine_client</span> <span class="o">=</span> <span class="n">predictionio</span><span class="o">.</span><span class="n">EngineClient</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">"http://localhost:8000"</span><span class="p">)</span>
 <span class="k">print</span> <span class="n">engine_client</span><span class="o">.</span><span class="n">send_query</span><span class="p">({</span> <span class="s">"q"</span><span class="p">:</span> <span class="s">"foo"</span> <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-469daabc-b501-46ef-a036-663f6fd75c8e"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-96308789-6b97-4419-8f53-7914aa6c33a0"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -83,7 +83,7 @@ Your system is all ready to go.
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-343193c9-3d37-418e-8d1f-ef6a224d8682"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-05c2f991-9f4b-414c-ae4d-c2fdae04da9e"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -96,7 +96,7 @@ Your system is all ready to go.
 <span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">send_query</span><span class="p">(</span><span class="s1">'q'</span> <span class="o">=&gt;</span> <span class="s1">'foo'</span><span class="p">)</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-26910305-f338-4582-bb0a-b0f5e1173770"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-0f7bf5b9-b155-49a0-bdb0-af917cbda22b"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -125,4 +125,4 @@ Your system is all ready to go.
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/vanilla/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/vanilla/quickstart/index.html.gz b/templates/vanilla/quickstart/index.html.gz
index 43f327e..bae87a2 100644
Binary files a/templates/vanilla/quickstart/index.html.gz and b/templates/vanilla/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/tryit/index.html
----------------------------------------------------------------------
diff --git a/tryit/index.html b/tryit/index.html
index 04560ab..b0863d1 100644
--- a/tryit/index.html
+++ b/tryit/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script><script src="/javascripts/tryit-e18ad27c.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script><script src="/javascripts/tryit-d34ba011.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/tryit/index.html.gz
----------------------------------------------------------------------
diff --git a/tryit/index.html.gz b/tryit/index.html.gz
index dd6b148..7e5c4b0 100644
Binary files a/tryit/index.html.gz and b/tryit/index.html.gz differ



[06/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/javascripts/tryit-d34ba011.js
----------------------------------------------------------------------
diff --git a/javascripts/tryit-d34ba011.js b/javascripts/tryit-d34ba011.js
new file mode 100644
index 0000000..8f6867b
--- /dev/null
+++ b/javascripts/tryit-d34ba011.js
@@ -0,0 +1,2 @@
+// this work for additional information regarding copyright ownership.
+$(document).ready(function(){$(".jcarousel").jcarousel({}),$(".jcarousel-control-prev").on("jcarouselcontrol:active",function(){$(this).removeClass("inactive")}).on("jcarouselcontrol:inactive",function(){$(this).addClass("inactive")}).jcarouselControl({target:"-=1"}),$(".jcarousel-control-next").on("jcarouselcontrol:active",function(){$(this).removeClass("inactive")}).on("jcarouselcontrol:inactive",function(){$(this).addClass("inactive")}).jcarouselControl({target:"+=1"}),$(".jcarousel-pagination").on("jcarouselpagination:active","li",function(){$(this).addClass("active")}).on("jcarouselpagination:inactive","li",function(){$(this).removeClass("active")}).jcarouselPagination({item:function(e){return'<li><a href="#'+e+'">'+e+"</a></li>"}}),$("#tryit-start").on("click",function(){$(".jcarousel").jcarousel("scroll",1)})});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/javascripts/tryit-d34ba011.js.gz
----------------------------------------------------------------------
diff --git a/javascripts/tryit-d34ba011.js.gz b/javascripts/tryit-d34ba011.js.gz
new file mode 100644
index 0000000..5617461
Binary files /dev/null and b/javascripts/tryit-d34ba011.js.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/javascripts/tryit-e18ad27c.js
----------------------------------------------------------------------
diff --git a/javascripts/tryit-e18ad27c.js b/javascripts/tryit-e18ad27c.js
deleted file mode 100644
index 8f6867b..0000000
--- a/javascripts/tryit-e18ad27c.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// this work for additional information regarding copyright ownership.
-$(document).ready(function(){$(".jcarousel").jcarousel({}),$(".jcarousel-control-prev").on("jcarouselcontrol:active",function(){$(this).removeClass("inactive")}).on("jcarouselcontrol:inactive",function(){$(this).addClass("inactive")}).jcarouselControl({target:"-=1"}),$(".jcarousel-control-next").on("jcarouselcontrol:active",function(){$(this).removeClass("inactive")}).on("jcarouselcontrol:inactive",function(){$(this).addClass("inactive")}).jcarouselControl({target:"+=1"}),$(".jcarousel-pagination").on("jcarouselpagination:active","li",function(){$(this).addClass("active")}).on("jcarouselpagination:inactive","li",function(){$(this).removeClass("active")}).jcarouselPagination({item:function(e){return'<li><a href="#'+e+'">'+e+"</a></li>"}}),$("#tryit-start").on("click",function(){$(".jcarousel").jcarousel("scroll",1)})});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/javascripts/tryit-e18ad27c.js.gz
----------------------------------------------------------------------
diff --git a/javascripts/tryit-e18ad27c.js.gz b/javascripts/tryit-e18ad27c.js.gz
deleted file mode 100644
index 586a153..0000000
Binary files a/javascripts/tryit-e18ad27c.js.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/machinelearning/dimensionalityreduction/index.html
----------------------------------------------------------------------
diff --git a/machinelearning/dimensionalityreduction/index.html b/machinelearning/dimensionalityreduction/index.html
index ab7f0aa..2ab6784 100644
--- a/machinelearning/dimensionalityreduction/index.html
+++ b/machinelearning/dimensionalityreduction/index.html
@@ -739,4 +739,4 @@ pio deploy
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/machinelearning/dimensionalityreduction/index.html.gz
----------------------------------------------------------------------
diff --git a/machinelearning/dimensionalityreduction/index.html.gz b/machinelearning/dimensionalityreduction/index.html.gz
index 9725946..f70a91b 100644
Binary files a/machinelearning/dimensionalityreduction/index.html.gz and b/machinelearning/dimensionalityreduction/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/machinelearning/modelingworkflow/index.html
----------------------------------------------------------------------
diff --git a/machinelearning/modelingworkflow/index.html b/machinelearning/modelingworkflow/index.html
index ac9da5c..eef0521 100644
--- a/machinelearning/modelingworkflow/index.html
+++ b/machinelearning/modelingworkflow/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/machinelearning/modelingworkflow/index.html.gz
----------------------------------------------------------------------
diff --git a/machinelearning/modelingworkflow/index.html.gz b/machinelearning/modelingworkflow/index.html.gz
index e55b146..3e92044 100644
Binary files a/machinelearning/modelingworkflow/index.html.gz and b/machinelearning/modelingworkflow/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/production/deploy-cloudformation/index.html
----------------------------------------------------------------------
diff --git a/production/deploy-cloudformation/index.html b/production/deploy-cloudformation/index.html
index d622073..631d03d 100644
--- a/production/deploy-cloudformation/index.html
+++ b/production/deploy-cloudformation/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/production/deploy-cloudformation/index.html.gz
----------------------------------------------------------------------
diff --git a/production/deploy-cloudformation/index.html.gz b/production/deploy-cloudformation/index.html.gz
index f564237..6b23cbe 100644
Binary files a/production/deploy-cloudformation/index.html.gz and b/production/deploy-cloudformation/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/faq/index.html
----------------------------------------------------------------------
diff --git a/resources/faq/index.html b/resources/faq/index.html
index 7ddd20d..5d5ab33 100644
--- a/resources/faq/index.html
+++ b/resources/faq/index.html
@@ -133,4 +133,4 @@ Table pio_event:events_1 is inconsistent.
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/faq/index.html.gz
----------------------------------------------------------------------
diff --git a/resources/faq/index.html.gz b/resources/faq/index.html.gz
index a6858af..a8cad26 100644
Binary files a/resources/faq/index.html.gz and b/resources/faq/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/glossary/index.html
----------------------------------------------------------------------
diff --git a/resources/glossary/index.html b/resources/glossary/index.html
index 6b1fe56..57d39a9 100644
--- a/resources/glossary/index.html
+++ b/resources/glossary/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/glossary/index.html.gz
----------------------------------------------------------------------
diff --git a/resources/glossary/index.html.gz b/resources/glossary/index.html.gz
index 93971c7..78471b3 100644
Binary files a/resources/glossary/index.html.gz and b/resources/glossary/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/intellij/index.html
----------------------------------------------------------------------
diff --git a/resources/intellij/index.html b/resources/intellij/index.html
index b0bc666..f74d9c5 100644
--- a/resources/intellij/index.html
+++ b/resources/intellij/index.html
@@ -66,4 +66,4 @@ Program Arguments: --engineInstanceId <span class="k">**</span>replace_with_the_
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/intellij/index.html.gz
----------------------------------------------------------------------
diff --git a/resources/intellij/index.html.gz b/resources/intellij/index.html.gz
index c7f5510..f9c705e 100644
Binary files a/resources/intellij/index.html.gz and b/resources/intellij/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/release/index.html
----------------------------------------------------------------------
diff --git a/resources/release/index.html b/resources/release/index.html
index ae4017a..8567b2e 100644
--- a/resources/release/index.html
+++ b/resources/release/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/release/index.html.gz
----------------------------------------------------------------------
diff --git a/resources/release/index.html.gz b/resources/release/index.html.gz
index 5d42b44..9da5c3d2 100644
Binary files a/resources/release/index.html.gz and b/resources/release/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/upgrade/index.html
----------------------------------------------------------------------
diff --git a/resources/upgrade/index.html b/resources/upgrade/index.html
index eb5bf1f..c9d7308 100644
--- a/resources/upgrade/index.html
+++ b/resources/upgrade/index.html
@@ -275,4 +275,4 @@ assembly.sbt  pio-build.sbt
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/resources/upgrade/index.html.gz
----------------------------------------------------------------------
diff --git a/resources/upgrade/index.html.gz b/resources/upgrade/index.html.gz
index fe7d0f6..46cfc38 100644
Binary files a/resources/upgrade/index.html.gz and b/resources/upgrade/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/index.html
----------------------------------------------------------------------
diff --git a/samples/index.html b/samples/index.html
index 4c0b1ca..e41b9f8 100644
--- a/samples/index.html
+++ b/samples/index.html
@@ -12,4 +12,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/index.html.gz b/samples/index.html.gz
index d9b7c59..f1ae332 100644
Binary files a/samples/index.html.gz and b/samples/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/languages/index.html
----------------------------------------------------------------------
diff --git a/samples/languages/index.html b/samples/languages/index.html
index 60e65d7..2a0e68f 100644
--- a/samples/languages/index.html
+++ b/samples/languages/index.html
@@ -147,4 +147,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/languages/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/languages/index.html.gz b/samples/languages/index.html.gz
index b8c7e73..0f67a85 100644
Binary files a/samples/languages/index.html.gz and b/samples/languages/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-1/index.html
----------------------------------------------------------------------
diff --git a/samples/level-1/index.html b/samples/level-1/index.html
index 52bd6c9..34c6579 100644
--- a/samples/level-1/index.html
+++ b/samples/level-1/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-1/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-1/index.html.gz b/samples/level-1/index.html.gz
index e50a6ca..cc4823a 100644
Binary files a/samples/level-1/index.html.gz and b/samples/level-1/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-2-1/index.html
----------------------------------------------------------------------
diff --git a/samples/level-2-1/index.html b/samples/level-2-1/index.html
index f5e6c19..164bdcc 100644
--- a/samples/level-2-1/index.html
+++ b/samples/level-2-1/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-2-1/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-2-1/index.html.gz b/samples/level-2-1/index.html.gz
index 0e01e0c..af022c2 100644
Binary files a/samples/level-2-1/index.html.gz and b/samples/level-2-1/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-2-2/index.html
----------------------------------------------------------------------
diff --git a/samples/level-2-2/index.html b/samples/level-2-2/index.html
index 966d5a6..1d97f12 100644
--- a/samples/level-2-2/index.html
+++ b/samples/level-2-2/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-2-2/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-2-2/index.html.gz b/samples/level-2-2/index.html.gz
index 946c292..43b0974 100644
Binary files a/samples/level-2-2/index.html.gz and b/samples/level-2-2/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-2/index.html
----------------------------------------------------------------------
diff --git a/samples/level-2/index.html b/samples/level-2/index.html
index 7badf7e..9cf590e 100644
--- a/samples/level-2/index.html
+++ b/samples/level-2/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-2/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-2/index.html.gz b/samples/level-2/index.html.gz
index 491ed0e..0bdc80b 100644
Binary files a/samples/level-2/index.html.gz and b/samples/level-2/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-3-1/index.html
----------------------------------------------------------------------
diff --git a/samples/level-3-1/index.html b/samples/level-3-1/index.html
index 718a0e9..92a6b1b 100644
--- a/samples/level-3-1/index.html
+++ b/samples/level-3-1/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-3-1/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-3-1/index.html.gz b/samples/level-3-1/index.html.gz
index 32bb736..03b3218 100644
Binary files a/samples/level-3-1/index.html.gz and b/samples/level-3-1/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-3-2/index.html
----------------------------------------------------------------------
diff --git a/samples/level-3-2/index.html b/samples/level-3-2/index.html
index 434eb99..5dd8c85 100644
--- a/samples/level-3-2/index.html
+++ b/samples/level-3-2/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-3-2/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-3-2/index.html.gz b/samples/level-3-2/index.html.gz
index de11293..2197f1e 100644
Binary files a/samples/level-3-2/index.html.gz and b/samples/level-3-2/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-3/index.html
----------------------------------------------------------------------
diff --git a/samples/level-3/index.html b/samples/level-3/index.html
index bc20100..ad95c7e 100644
--- a/samples/level-3/index.html
+++ b/samples/level-3/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-3/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-3/index.html.gz b/samples/level-3/index.html.gz
index ce46a2e..b83e7af 100644
Binary files a/samples/level-3/index.html.gz and b/samples/level-3/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-4-1/index.html
----------------------------------------------------------------------
diff --git a/samples/level-4-1/index.html b/samples/level-4-1/index.html
index c06ce38..7114703 100644
--- a/samples/level-4-1/index.html
+++ b/samples/level-4-1/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-4-1/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-4-1/index.html.gz b/samples/level-4-1/index.html.gz
index a0f71e9..115b698 100644
Binary files a/samples/level-4-1/index.html.gz and b/samples/level-4-1/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-4-2/index.html
----------------------------------------------------------------------
diff --git a/samples/level-4-2/index.html b/samples/level-4-2/index.html
index 328bc42..369c3d5 100644
--- a/samples/level-4-2/index.html
+++ b/samples/level-4-2/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-4-2/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-4-2/index.html.gz b/samples/level-4-2/index.html.gz
index 9052e84..1c36377 100644
Binary files a/samples/level-4-2/index.html.gz and b/samples/level-4-2/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-4-3/index.html
----------------------------------------------------------------------
diff --git a/samples/level-4-3/index.html b/samples/level-4-3/index.html
index 444d7b4..4517910 100644
--- a/samples/level-4-3/index.html
+++ b/samples/level-4-3/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-4-3/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-4-3/index.html.gz b/samples/level-4-3/index.html.gz
index fd1ba10..d5f6a60 100644
Binary files a/samples/level-4-3/index.html.gz and b/samples/level-4-3/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-4/index.html
----------------------------------------------------------------------
diff --git a/samples/level-4/index.html b/samples/level-4/index.html
index e2c41bf..a592033 100644
--- a/samples/level-4/index.html
+++ b/samples/level-4/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/level-4/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/level-4/index.html.gz b/samples/level-4/index.html.gz
index 0eed3ff..dbb5786 100644
Binary files a/samples/level-4/index.html.gz and b/samples/level-4/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/narrow/index.html
----------------------------------------------------------------------
diff --git a/samples/narrow/index.html b/samples/narrow/index.html
index 6abf7aa..21a83d9 100644
--- a/samples/narrow/index.html
+++ b/samples/narrow/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/narrow/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/narrow/index.html.gz b/samples/narrow/index.html.gz
index a24ede9..b6fa678 100644
Binary files a/samples/narrow/index.html.gz and b/samples/narrow/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/sizing/index.html
----------------------------------------------------------------------
diff --git a/samples/sizing/index.html b/samples/sizing/index.html
index 957bb1b..3c7100e 100644
--- a/samples/sizing/index.html
+++ b/samples/sizing/index.html
@@ -8,4 +8,4 @@ This is a code block with lines longer than 80 characters. This is a code block
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/sizing/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/sizing/index.html.gz b/samples/sizing/index.html.gz
index 1e5c551..00e70a3 100644
Binary files a/samples/sizing/index.html.gz and b/samples/sizing/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/tabs/index.html
----------------------------------------------------------------------
diff --git a/samples/tabs/index.html b/samples/tabs/index.html
index 50328c1..d640d33 100644
--- a/samples/tabs/index.html
+++ b/samples/tabs/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><title>Tabs</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Tabs"/><link rel="canonical" href="https://predictionio.apache.org/samples/tabs/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
 "></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>â„¢</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md hidden-lg" id="mobile-
 page-heading-wrapper"><p>PredictionIO Docs</p><h4>Tabs</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1
 "><a class="expandible" href="/"><span>Apache PredictionIOâ„¢ Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Ov
 erview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2
 "><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href
 ="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a cla
 ss="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="fi
 nal" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluation 
 Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li class
 ="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase/"
 ><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3"><a class="final" href="/templates/classification/qui
 ckstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final" 
 href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li cl
 ass="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class="f
 inal" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="page-title"><h1>Tabs</h1></div></div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#test-syncing">Test Syncing</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/samples/tabs.html.md"><img src="/images
 /icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Tabs</h1></div></div><div class="content"> <p>This page is used to test the tabs plugin based on <a href="https://github.com/vdw/Tabslet">Tabslet</a>.</p><div class="tabs"> <ul class="control"> <li data-lang="ruby"><a href="#tab-ab73d144-3ee2-4098-aad3-e454a1c62e46">Ruby</a></li> <li data-lang=""><a href="#tab-32983b37-133f-4277-9f3b-a8ed9624c85d">Plain</a></li> <li data-lang="html"><a href="#tab-c1e69845-5626-428b-927e-5127a387356a">HTML</a></li> <li data-lang=""><a href="#tab-021ac912-3736-4295-a610-e68e60b4a21c">Test</a></li> </ul> <div data-tab="Ruby" data-lang="ruby" id="tab-ab73d144-3ee2-4098-aad3-e454a1c62e46"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+<!DOCTYPE html><html><head><title>Tabs</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Tabs"/><link rel="canonical" href="https://predictionio.apache.org/samples/tabs/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
 "></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>â„¢</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md hidden-lg" id="mobile-
 page-heading-wrapper"><p>PredictionIO Docs</p><h4>Tabs</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1
 "><a class="expandible" href="/"><span>Apache PredictionIOâ„¢ Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Ov
 erview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2
 "><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href
 ="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a cla
 ss="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="fi
 nal" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluation 
 Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li class
 ="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase/"
 ><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3"><a class="final" href="/templates/classification/qui
 ckstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final" 
 href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li cl
 ass="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class="f
 inal" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="page-title"><h1>Tabs</h1></div></div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#test-syncing">Test Syncing</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/samples/tabs.html.md"><img src="/images
 /icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Tabs</h1></div></div><div class="content"> <p>This page is used to test the tabs plugin based on <a href="https://github.com/vdw/Tabslet">Tabslet</a>.</p><div class="tabs"> <ul class="control"> <li data-lang="ruby"><a href="#tab-6b2fd426-ce81-499b-9503-5f05974dc340">Ruby</a></li> <li data-lang=""><a href="#tab-fafed873-cfda-447d-b9c2-f20db3dc218f">Plain</a></li> <li data-lang="html"><a href="#tab-7ccb7d98-0bbd-4e37-b6da-66b5701465dc">HTML</a></li> <li data-lang=""><a href="#tab-3d06f5ca-c973-408e-bffc-c637984e41c5">Test</a></li> </ul> <div data-tab="Ruby" data-lang="ruby" id="tab-6b2fd426-ce81-499b-9503-5f05974dc340"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -9,11 +9,11 @@
     <span class="s1">'bar'</span>
   <span class="k">end</span>
 <span class="k">end</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Plain" id="tab-32983b37-133f-4277-9f3b-a8ed9624c85d"> This is a test of **markdown** inside a tab! <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Plain" id="tab-fafed873-cfda-447d-b9c2-f20db3dc218f"> This is a test of **markdown** inside a tab! <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td> <td class="code"><pre>// This tab does not have the data-lang attribute <span class="nb">set</span>!
 <span class="gp">$ </span><span class="nb">cd </span>path/to/your/file
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-c1e69845-5626-428b-927e-5127a387356a"> <div class="highlight html"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="nt">&lt;p&gt;</span>Yes you can still use HTML in code blocks!<span class="nt">&lt;/p&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Test" id="tab-021ac912-3736-4295-a610-e68e60b4a21c"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-7ccb7d98-0bbd-4e37-b6da-66b5701465dc"> <div class="highlight html"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="nt">&lt;p&gt;</span>Yes you can still use HTML in code blocks!<span class="nt">&lt;/p&gt;</span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Test" id="tab-3d06f5ca-c973-408e-bffc-c637984e41c5"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -28,7 +28,7 @@ Test</span> <span class="na">5 =</span><span class="err">&gt;
 </span><span class="s">Test</span> <span class="na">6</span> <span class="err">&lt;=</span>
 <span class="na">Test</span> <span class="na">7</span> <span class="err">&lt;</span><span class="nt">&gt;</span>
 <span class="nt">&lt;p&gt;&lt;b&gt;</span>Test<span class="nt">&lt;/b&gt;&lt;/p&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <h2 id='test-syncing' class='header-anchors'>Test Syncing</h2><p>Here we show a similar set of tabs to test language syncing:</p><div class="tabs"> <ul class="control"> <li data-lang="ruby"><a href="#tab-f56de319-552c-4456-9de9-29c83a7aafee">Ruby</a></li> <li data-lang=""><a href="#tab-17413289-2e50-4238-9048-20a929439886">Plain</a></li> <li data-lang="html"><a href="#tab-30f0f2ec-c9d1-4d20-9d15-dc297fa7c615">HTML</a></li> <li data-lang="python"><a href="#tab-df4dbe30-3909-4c3c-912a-17ab3ddb88f3">Python</a></li> </ul> <div data-tab="Ruby" data-lang="ruby" id="tab-f56de319-552c-4456-9de9-29c83a7aafee"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <h2 id='test-syncing' class='header-anchors'>Test Syncing</h2><p>Here we show a similar set of tabs to test language syncing:</p><div class="tabs"> <ul class="control"> <li data-lang="ruby"><a href="#tab-108e1807-ecf2-4208-a26b-26244b3494ec">Ruby</a></li> <li data-lang=""><a href="#tab-5683c0f4-9a82-4770-a86a-5c5c54fd0b24">Plain</a></li> <li data-lang="html"><a href="#tab-07f4bffa-59fa-4b88-9796-52fc5769cb0f">HTML</a></li> <li data-lang="python"><a href="#tab-4aa650e7-082e-4ab1-aeec-1060f4e6bee6">Python</a></li> </ul> <div data-tab="Ruby" data-lang="ruby" id="tab-108e1807-ecf2-4208-a26b-26244b3494ec"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -39,14 +39,14 @@ Test</span> <span class="na">5 =</span><span class="err">&gt;
     <span class="s1">'bar'</span>
   <span class="k">end</span>
 <span class="k">end</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Plain" id="tab-17413289-2e50-4238-9048-20a929439886"> This is a test of **markdown** inside a tab! <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Plain" id="tab-5683c0f4-9a82-4770-a86a-5c5c54fd0b24"> This is a test of **markdown** inside a tab! <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td> <td class="code"><pre>// This tab does not have the data-lang attribute <span class="nb">set</span>!
 <span class="gp">$ </span><span class="nb">cd </span>path/to/your/file
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-30f0f2ec-c9d1-4d20-9d15-dc297fa7c615"> <p>This HTML is <b>hard coded</b>.</p> </div> <div data-tab="Python" data-lang="python" id="tab-df4dbe30-3909-4c3c-912a-17ab3ddb88f3"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="c"># The other group does not have a Python tab.</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <div class="tabs"> <ul class="control"> <li data-lang="java"><a href="#tab-670ae54e-5cb8-40f7-85f4-a1c41c8e460b">Java</a></li> <li data-lang="html"><a href="#tab-6c9d61e5-f1a6-4728-8c75-fcbabebffc2a">HTML</a></li> </ul> <div data-tab="Java" data-lang="java" id="tab-670ae54e-5cb8-40f7-85f4-a1c41c8e460b"> <div class="highlight plaintext"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre>// Java code..
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-6c9d61e5-f1a6-4728-8c75-fcbabebffc2a"> This includes **bold** with Markdown. </div> </div> </div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/comm
 unity/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>â„¢</span
 ></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https
 ://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-07f4bffa-59fa-4b88-9796-52fc5769cb0f"> <p>This HTML is <b>hard coded</b>.</p> </div> <div data-tab="Python" data-lang="python" id="tab-4aa650e7-082e-4ab1-aeec-1060f4e6bee6"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="c"># The other group does not have a Python tab.</span>
+</pre></td> </tr></tbody></table> </div> </div> </div> <div class="tabs"> <ul class="control"> <li data-lang="java"><a href="#tab-06537806-6b76-4b5d-af34-13f8f989a285">Java</a></li> <li data-lang="html"><a href="#tab-70540676-c65f-4015-a39f-9fe24e973234">HTML</a></li> </ul> <div data-tab="Java" data-lang="java" id="tab-06537806-6b76-4b5d-af34-13f8f989a285"> <div class="highlight plaintext"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre>// Java code..
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-70540676-c65f-4015-a39f-9fe24e973234"> This includes **bold** with Markdown. </div> </div> </div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/comm
 unity/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>â„¢</span
 ></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https
 ://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
 (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/samples/tabs/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/tabs/index.html.gz b/samples/tabs/index.html.gz
index 87b94d4..67869b1 100644
Binary files a/samples/tabs/index.html.gz and b/samples/tabs/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/community/index.html
----------------------------------------------------------------------
diff --git a/sdk/community/index.html b/sdk/community/index.html
index bcdf0ae..dcd9828 100644
--- a/sdk/community/index.html
+++ b/sdk/community/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/community/index.html.gz
----------------------------------------------------------------------
diff --git a/sdk/community/index.html.gz b/sdk/community/index.html.gz
index 451f889..ec00625 100644
Binary files a/sdk/community/index.html.gz and b/sdk/community/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/index.html
----------------------------------------------------------------------
diff --git a/sdk/index.html b/sdk/index.html
index 81e8c71..1f99185 100644
--- a/sdk/index.html
+++ b/sdk/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/index.html.gz
----------------------------------------------------------------------
diff --git a/sdk/index.html.gz b/sdk/index.html.gz
index 5818038..5685b04 100644
Binary files a/sdk/index.html.gz and b/sdk/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/java/index.html
----------------------------------------------------------------------
diff --git a/sdk/java/index.html b/sdk/java/index.html
index 2a8bc9b..321aa77 100644
--- a/sdk/java/index.html
+++ b/sdk/java/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/java/index.html.gz
----------------------------------------------------------------------
diff --git a/sdk/java/index.html.gz b/sdk/java/index.html.gz
index 398477f..c0dade8 100644
Binary files a/sdk/java/index.html.gz and b/sdk/java/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/php/index.html
----------------------------------------------------------------------
diff --git a/sdk/php/index.html b/sdk/php/index.html
index 35ddc74..415a216 100644
--- a/sdk/php/index.html
+++ b/sdk/php/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/php/index.html.gz
----------------------------------------------------------------------
diff --git a/sdk/php/index.html.gz b/sdk/php/index.html.gz
index c3ddfa2..a6d202c 100644
Binary files a/sdk/php/index.html.gz and b/sdk/php/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/python/index.html
----------------------------------------------------------------------
diff --git a/sdk/python/index.html b/sdk/python/index.html
index 5bf6120..79458d1 100644
--- a/sdk/python/index.html
+++ b/sdk/python/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/python/index.html.gz
----------------------------------------------------------------------
diff --git a/sdk/python/index.html.gz b/sdk/python/index.html.gz
index 4bfc3a8..74a67da 100644
Binary files a/sdk/python/index.html.gz and b/sdk/python/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/ruby/index.html
----------------------------------------------------------------------
diff --git a/sdk/ruby/index.html b/sdk/ruby/index.html
index c56e73a..4cd81c0 100644
--- a/sdk/ruby/index.html
+++ b/sdk/ruby/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sdk/ruby/index.html.gz
----------------------------------------------------------------------
diff --git a/sdk/ruby/index.html.gz b/sdk/ruby/index.html.gz
index 1c99741..a0dc3f6 100644
Binary files a/sdk/ruby/index.html.gz and b/sdk/ruby/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/search/index.html
----------------------------------------------------------------------
diff --git a/search/index.html b/search/index.html
index 018c6a9..c56d454 100644
--- a/search/index.html
+++ b/search/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/search/index.html.gz
----------------------------------------------------------------------
diff --git a/search/index.html.gz b/search/index.html.gz
index e88ede9..f96f6b6 100644
Binary files a/search/index.html.gz and b/search/index.html.gz differ


[07/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/javascripts/application-a6acb1f5.js
----------------------------------------------------------------------
diff --git a/javascripts/application-a6acb1f5.js b/javascripts/application-a6acb1f5.js
deleted file mode 100644
index b5e4e53..0000000
--- a/javascripts/application-a6acb1f5.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/*!
- * jQuery JavaScript Library v2.1.4
- * http://jquery.com/
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- *
- * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2015-04-28T16:01Z
- */
-function formCallBack(){}!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t="length"in e&&e.length,n=K.type(e);return"function"===n||K.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function i(e,t,n){if(K.isFunction(t))return K.grep(e,function(e,i){return!!t.call(e,i,e)!==n});if(t.nodeType)return K.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(at.test(t))return K.filter(t,e,n);t=K.filter(t,e)}return K.grep(e,function(e){return U.call(t,e)>=0!==n})}function r(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function o(e){var t=pt[e]={};return K.each(e.match(dt)||[],function(e,n){t[n]=!0}),t}function s(){Z.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1),K.ready()}fun
 ction a(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=K.expando+a.uid++}function l(e,t,n){var i;if(void 0===n&&1===e.nodeType)if(i="data-"+t.replace(bt,"-$1").toLowerCase(),n=e.getAttribute(i),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:xt.test(n)?K.parseJSON(n):n}catch(r){}yt.set(e,t,n)}else n=void 0;return n}function u(){return!0}function c(){return!1}function f(){try{return Z.activeElement}catch(e){}}function h(e,t){return K.nodeName(e,"table")&&K.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function d(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function p(e){var t=Ht.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function g(e,t){for(var n=0,i=e.length;i>n;n++)vt.set(e[n],"globalEval",!t||vt.get(t[n],"globalEval"))}function m(e,t){var n,i,r,o,s,a,l,u;if(1===t.nodeType){if(vt.hasData
 (e)&&(o=vt.access(e),s=vt.set(t,o),u=o.events)){delete s.handle,s.events={};for(r in u)for(n=0,i=u[r].length;i>n;n++)K.event.add(t,r,u[r][n])}yt.hasData(e)&&(a=yt.access(e),l=K.extend({},a),yt.set(t,l))}}function v(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&K.nodeName(e,t)?K.merge([e],n):n}function y(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Tt.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}function x(t,n){var i,r=K(n.createElement(t)).appendTo(n.body),o=e.getDefaultComputedStyle&&(i=e.getDefaultComputedStyle(r[0]))?i.display:K.css(r[0],"display");return r.detach(),o}function b(e){var t=Z,n=Mt[e];return n||(n=x(e,t),"none"!==n&&n||(Rt=(Rt||K("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=Rt[0].contentDocument,t.write(),t.close(),n=x(e,t),Rt.detach()),Mt[e]=n),n}function w(e,t,n){var i,r,o,s,a=e.style;re
 turn n=n||Bt(e),n&&(s=n.getPropertyValue(t)||n[t]),n&&(""!==s||K.contains(e.ownerDocument,e)||(s=K.style(e,t)),Wt.test(s)&&It.test(t)&&(i=a.width,r=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=i,a.minWidth=r,a.maxWidth=o)),void 0!==s?s+"":s}function C(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function _(e,t){if(t in e)return t;for(var n=t[0].toUpperCase()+t.slice(1),i=t,r=Yt.length;r--;)if(t=Yt[r]+n,t in e)return t;return i}function T(e,t,n){var i=Xt.exec(t);return i?Math.max(0,i[1]-(n||0))+(i[2]||"px"):t}function j(e,t,n,i,r){for(var o=n===(i?"border":"content")?4:"width"===t?1:0,s=0;4>o;o+=2)"margin"===n&&(s+=K.css(e,n+Ct[o],!0,r)),i?("content"===n&&(s-=K.css(e,"padding"+Ct[o],!0,r)),"margin"!==n&&(s-=K.css(e,"border"+Ct[o]+"Width",!0,r))):(s+=K.css(e,"padding"+Ct[o],!0,r),"padding"!==n&&(s+=K.css(e,"border"+Ct[o]+"Width",!0,r)));return s}function k(e,t,n){var i=!0,r="width"===t?e.offsetWidth:e.offs
 etHeight,o=Bt(e),s="border-box"===K.css(e,"boxSizing",!1,o);if(0>=r||null==r){if(r=w(e,t,o),(0>r||null==r)&&(r=e.style[t]),Wt.test(r))return r;i=s&&(G.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+j(e,t,n||(s?"border":"content"),i,o)+"px"}function N(e,t){for(var n,i,r,o=[],s=0,a=e.length;a>s;s++)i=e[s],i.style&&(o[s]=vt.get(i,"olddisplay"),n=i.style.display,t?(o[s]||"none"!==n||(i.style.display=""),""===i.style.display&&_t(i)&&(o[s]=vt.access(i,"olddisplay",b(i.nodeName)))):(r=_t(i),"none"===n&&r||vt.set(i,"olddisplay",r?n:K.css(i,"display"))));for(s=0;a>s;s++)i=e[s],i.style&&(t&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=t?o[s]||"":"none"));return e}function E(e,t,n,i,r){return new E.prototype.init(e,t,n,i,r)}function $(){return setTimeout(function(){Gt=void 0}),Gt=K.now()}function D(e,t){var n,i=0,r={height:e};for(t=t?1:0;4>i;i+=2-t)n=Ct[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function S(e,t,n){for(var i,r=(nn[t]
 ||[]).concat(nn["*"]),o=0,s=r.length;s>o;o++)if(i=r[o].call(n,t,e))return i}function A(e,t,n){var i,r,o,s,a,l,u,c,f=this,h={},d=e.style,p=e.nodeType&&_t(e),g=vt.get(e,"fxshow");n.queue||(a=K._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,l=a.empty.fire,a.empty.fire=function(){a.unqueued||l()}),a.unqueued++,f.always(function(){f.always(function(){a.unqueued--,K.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],u=K.css(e,"display"),c="none"===u?vt.get(e,"olddisplay")||b(e.nodeName):u,"inline"===c&&"none"===K.css(e,"float")&&(d.display="inline-block")),n.overflow&&(d.overflow="hidden",f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(r=t[i],Jt.exec(r)){if(delete t[i],o=o||"toggle"===r,r===(p?"hide":"show")){if("show"!==r||!g||void 0===g[i])continue;p=!0}h[i]=g&&g[i]||K.style(e,i)}else u=void 0;if(K.isEmptyObject(h))"inline"===("none"
 ===u?b(e.nodeName):u)&&(d.display=u);else{g?"hidden"in g&&(p=g.hidden):g=vt.access(e,"fxshow",{}),o&&(g.hidden=!p),p?K(e).show():f.done(function(){K(e).hide()}),f.done(function(){var t;vt.remove(e,"fxshow");for(t in h)K.style(e,t,h[t])});for(i in h)s=S(p?g[i]:0,i,f),i in g||(g[i]=s.start,p&&(s.end=s.start,s.start="width"===i||"height"===i?1:0))}}function q(e,t){var n,i,r,o,s;for(n in e)if(i=K.camelCase(n),r=t[i],o=e[n],K.isArray(o)&&(r=o[1],o=e[n]=o[0]),n!==i&&(e[i]=o,delete e[n]),s=K.cssHooks[i],s&&"expand"in s){o=s.expand(o),delete e[i];for(n in o)n in e||(e[n]=o[n],t[n]=r)}else t[i]=r}function L(e,t,n){var i,r,o=0,s=tn.length,a=K.Deferred().always(function(){delete l.elem}),l=function(){if(r)return!1;for(var t=Gt||$(),n=Math.max(0,u.startTime+u.duration-t),i=n/u.duration||0,o=1-i,s=0,l=u.tweens.length;l>s;s++)u.tweens[s].run(o);return a.notifyWith(e,[u,o,n]),1>o&&l?n:(a.resolveWith(e,[u]),!1)},u=a.promise({elem:e,props:K.extend({},t),opts:K.extend(!0,{specialEasing:{}},n),origina
 lProperties:t,originalOptions:n,startTime:Gt||$(),duration:n.duration,tweens:[],createTween:function(t,n){var i=K.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(i),i},stop:function(t){var n=0,i=t?u.tweens.length:0;if(r)return this;for(r=!0;i>n;n++)u.tweens[n].run(1);return t?a.resolveWith(e,[u,t]):a.rejectWith(e,[u,t]),this}}),c=u.props;for(q(c,u.opts.specialEasing);s>o;o++)if(i=tn[o].call(u,e,c,u.opts))return i;return K.map(c,S,u),K.isFunction(u.opts.start)&&u.opts.start.call(e,u),K.fx.timer(K.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function F(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,r=0,o=t.toLowerCase().match(dt)||[];if(K.isFunction(n))for(;i=o[r++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function H(e,t,n,i){function r(a){var l;return o[a]=!0,K.each(e[a]||[],function(e,a){var u
 =a(t,n,i);return"string"!=typeof u||s||o[u]?s?!(l=u):void 0:(t.dataTypes.unshift(u),r(u),!1)}),l}var o={},s=e===bn;return r(t.dataTypes[0])||!o["*"]&&r("*")}function P(e,t){var n,i,r=K.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:i||(i={}))[n]=t[n]);return i&&K.extend(!0,e,i),e}function O(e,t,n){for(var i,r,o,s,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){l.unshift(r);break}if(l[0]in n)o=l[0];else{for(r in n){if(!l[0]||e.converters[r+" "+l[0]]){o=r;break}s||(s=r)}o=o||s}return o?(o!==l[0]&&l.unshift(o),n[o]):void 0}function R(e,t,n,i){var r,o,s,a,l,u={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)u[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(s=u[l+" "+o]||u["* "+o],!s)for(r in u)if(a=r
 .split(" "),a[1]===o&&(s=u[l+" "+a[0]]||u["* "+a[0]])){s===!0?s=u[r]:u[r]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(f){return{state:"parsererror",error:s?f:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}function M(e,t,n,i){var r;if(K.isArray(t))K.each(t,function(t,r){n||jn.test(e)?i(e,r):M(e+"["+("object"==typeof r?t:"")+"]",r,n,i)});else if(n||"object"!==K.type(t))i(e,t);else for(r in t)M(e+"["+r+"]",t[r],n,i)}function I(e){return K.isWindow(e)?e:9===e.nodeType&&e.defaultView}var W=[],B=W.slice,z=W.concat,X=W.push,U=W.indexOf,V={},Q=V.toString,Y=V.hasOwnProperty,G={},Z=e.document,J="2.1.4",K=function(e,t){return new K.fn.init(e,t)},et=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,tt=/^-ms-/,nt=/-([\da-z])/gi,it=function(e,t){return t.toUpperCase()};K.fn=K.prototype={jquery:J,constructor:K,selector:"",length:0,toArray:function(){return B.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:B.call(thi
 s)},pushStack:function(e){var t=K.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return K.each(this,e,t)},map:function(e){return this.pushStack(K.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(B.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:X,sort:W.sort,splice:W.splice},K.extend=K.fn.extend=function(){var e,t,n,i,r,o,s=arguments[0]||{},a=1,l=arguments.length,u=!1;for("boolean"==typeof s&&(u=s,s=arguments[a]||{},a++),"object"==typeof s||K.isFunction(s)||(s={}),a===l&&(s=this,a--);l>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],i=e[t],s!==i&&(u&&i&&(K.isPlainObject(i)||(r=K.isArray(i)))?(r?(r=!1,o=n&&K.isArray(n)?n:[]):o=n&&K.isPlainObject(n)?n:{},s[t]=K.extend(u,o,i)):void 0!==i&&
 (s[t]=i));return s},K.extend({expando:"jQuery"+(J+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===K.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!K.isArray(e)&&e-parseFloat(e)+1>=0},isPlainObject:function(e){return"object"!==K.type(e)||e.nodeType||K.isWindow(e)?!1:e.constructor&&!Y.call(e.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?V[Q.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;e=K.trim(e),e&&(1===e.indexOf("use strict")?(t=Z.createElement("script"),t.text=e,Z.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(tt,"ms-").replace(nt,it)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each
 :function(e,t,i){var r,o=0,s=e.length,a=n(e);if(i){if(a)for(;s>o&&(r=t.apply(e[o],i),r!==!1);o++);else for(o in e)if(r=t.apply(e[o],i),r===!1)break}else if(a)for(;s>o&&(r=t.call(e[o],o,e[o]),r!==!1);o++);else for(o in e)if(r=t.call(e[o],o,e[o]),r===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(et,"")},makeArray:function(e,t){var i=t||[];return null!=e&&(n(Object(e))?K.merge(i,"string"==typeof e?[e]:e):X.call(i,e)),i},inArray:function(e,t,n){return null==t?-1:U.call(t,e,n)},merge:function(e,t){for(var n=+t.length,i=0,r=e.length;n>i;i++)e[r++]=t[i];return e.length=r,e},grep:function(e,t,n){for(var i,r=[],o=0,s=e.length,a=!n;s>o;o++)i=!t(e[o],o),i!==a&&r.push(e[o]);return r},map:function(e,t,i){var r,o=0,s=e.length,a=n(e),l=[];if(a)for(;s>o;o++)r=t(e[o],o,i),null!=r&&l.push(r);else for(o in e)r=t(e[o],o,i),null!=r&&l.push(r);return z.apply([],l)},guid:1,proxy:function(e,t){var n,i,r;return"string"==typeof t&&(n=e[t],t=e,e=n),K.isFunction(e)?(i=B.call(arguments,2)
 ,r=function(){return e.apply(t||this,i.concat(B.call(arguments)))},r.guid=e.guid=e.guid||K.guid++,r):void 0},now:Date.now,support:G}),K.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){V["[object "+t+"]"]=t.toLowerCase()});var rt=/*!
- * Sizzle CSS Selector Engine v2.2.0-pre
- * http://sizzlejs.com/
- *
- * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2014-12-16
- */
-function(e){function t(e,t,n,i){var r,o,s,a,l,u,f,d,p,g;if((t?t.ownerDocument||t:M)!==A&&S(t),t=t||A,n=n||[],a=t.nodeType,"string"!=typeof e||!e||1!==a&&9!==a&&11!==a)return n;if(!i&&L){if(11!==a&&(r=yt.exec(e)))if(s=r[1]){if(9===a){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&O(t,o)&&o.id===s)return n.push(o),n}else{if(r[2])return J.apply(n,t.getElementsByTagName(e)),n;if((s=r[3])&&w.getElementsByClassName)return J.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!F||!F.test(e))){if(d=f=R,p=t,g=1!==a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(u=j(e),(f=t.getAttribute("id"))?d=f.replace(bt,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",l=u.length;l--;)u[l]=d+h(u[l]);p=xt.test(e)&&c(t.parentNode)||t,g=u.join(",")}if(g)try{return J.apply(n,p.querySelectorAll(g)),n}catch(m){}finally{f||t.removeAttribute("id")}}}return N(e.replace(lt,"$1"),t,n,i)}function n(){function e(n,i){
 return t.push(n+" ")>C.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[R]=!0,e}function r(e){var t=A.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),i=e.length;i--;)C.attrHandle[n[i]]=t}function s(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function u(e){return i(function(t){return t=+t,i(function(n,i){for(var r,o=e([],n.length,t),s=o.length;s--;)n[r=o[s]]&&(n[r]=!(i[r]=n[r]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function h(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].v
 alue;return i}function d(e,t,n){var i=t.dir,r=n&&"parentNode"===i,o=W++;return t.first?function(t,n,o){for(;t=t[i];)if(1===t.nodeType||r)return e(t,n,o)}:function(t,n,s){var a,l,u=[I,o];if(s){for(;t=t[i];)if((1===t.nodeType||r)&&e(t,n,s))return!0}else for(;t=t[i];)if(1===t.nodeType||r){if(l=t[R]||(t[R]={}),(a=l[i])&&a[0]===I&&a[1]===o)return u[2]=a[2];if(l[i]=u,u[2]=e(t,n,s))return!0}}}function p(e){return e.length>1?function(t,n,i){for(var r=e.length;r--;)if(!e[r](t,n,i))return!1;return!0}:e[0]}function g(e,n,i){for(var r=0,o=n.length;o>r;r++)t(e,n[r],i);return i}function m(e,t,n,i,r){for(var o,s=[],a=0,l=e.length,u=null!=t;l>a;a++)(o=e[a])&&(!n||n(o,i,r))&&(s.push(o),u&&t.push(a));return s}function v(e,t,n,r,o,s){return r&&!r[R]&&(r=v(r)),o&&!o[R]&&(o=v(o,s)),i(function(i,s,a,l){var u,c,f,h=[],d=[],p=s.length,v=i||g(t||"*",a.nodeType?[a]:a,[]),y=!e||!i&&t?v:m(v,h,e,a,l),x=n?o||(i?e:p||r)?[]:s:y;if(n&&n(y,x,a,l),r)for(u=m(x,d),r(u,[],a,l),c=u.length;c--;)(f=u[c])&&(x[d[c]]=!(y[d[c]
 ]=f));if(i){if(o||e){if(o){for(u=[],c=x.length;c--;)(f=x[c])&&u.push(y[c]=f);o(null,x=[],u,l)}for(c=x.length;c--;)(f=x[c])&&(u=o?et(i,f):h[c])>-1&&(i[u]=!(s[u]=f))}}else x=m(x===s?x.splice(p,x.length):x),o?o(null,s,x,l):J.apply(s,x)})}function y(e){for(var t,n,i,r=e.length,o=C.relative[e[0].type],s=o||C.relative[" "],a=o?1:0,l=d(function(e){return e===t},s,!0),u=d(function(e){return et(t,e)>-1},s,!0),c=[function(e,n,i){var r=!o&&(i||n!==E)||((t=n).nodeType?l(e,n,i):u(e,n,i));return t=null,r}];r>a;a++)if(n=C.relative[e[a].type])c=[d(p(c),n)];else{if(n=C.filter[e[a].type].apply(null,e[a].matches),n[R]){for(i=++a;r>i&&!C.relative[e[i].type];i++);return v(a>1&&p(c),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(lt,"$1"),n,i>a&&y(e.slice(a,i)),r>i&&y(e=e.slice(i)),r>i&&h(e))}c.push(n)}return p(c)}function x(e,n){var r=n.length>0,o=e.length>0,s=function(i,s,a,l,u){var c,f,h,d=0,p="0",g=i&&[],v=[],y=E,x=i||o&&C.find.TAG("*",u),b=I+=null==y?1:Math.random()||.1,w=x.l
 ength;for(u&&(E=s!==A&&s);p!==w&&null!=(c=x[p]);p++){if(o&&c){for(f=0;h=e[f++];)if(h(c,s,a)){l.push(c);break}u&&(I=b)}r&&((c=!h&&c)&&d--,i&&g.push(c))}if(d+=p,r&&p!==d){for(f=0;h=n[f++];)h(g,v,s,a);if(i){if(d>0)for(;p--;)g[p]||v[p]||(v[p]=G.call(l));v=m(v)}J.apply(l,v),u&&!i&&v.length>0&&d+n.length>1&&t.uniqueSort(l)}return u&&(I=b,E=y),g};return r?i(s):s}var b,w,C,_,T,j,k,N,E,$,D,S,A,q,L,F,H,P,O,R="sizzle"+1*new Date,M=e.document,I=0,W=0,B=n(),z=n(),X=n(),U=function(e,t){return e===t&&(D=!0),0},V=1<<31,Q={}.hasOwnProperty,Y=[],G=Y.pop,Z=Y.push,J=Y.push,K=Y.slice,et=function(e,t){for(var n=0,i=e.length;i>n;n++)if(e[n]===t)return n;return-1},tt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",nt="[\\x20\\t\\r\\n\\f]",it="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",rt=it.replace("w","w#"),ot="\\["+nt+"*("+it+")(?:"+nt+"*([*^$|!~]?=)"+nt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+rt+"))|)"+nt+"*\\]",st=":
 ("+it+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ot+")*)|.*)\\)|)",at=new RegExp(nt+"+","g"),lt=new RegExp("^"+nt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+nt+"+$","g"),ut=new RegExp("^"+nt+"*,"+nt+"*"),ct=new RegExp("^"+nt+"*([>+~]|"+nt+")"+nt+"*"),ft=new RegExp("="+nt+"*([^\\]'\"]*?)"+nt+"*\\]","g"),ht=new RegExp(st),dt=new RegExp("^"+rt+"$"),pt={ID:new RegExp("^#("+it+")"),CLASS:new RegExp("^\\.("+it+")"),TAG:new RegExp("^("+it.replace("w","w*")+")"),ATTR:new RegExp("^"+ot),PSEUDO:new RegExp("^"+st),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+nt+"*(even|odd|(([+-]|)(\\d*)n|)"+nt+"*(?:([+-]|)"+nt+"*(\\d+)|))"+nt+"*\\)|)","i"),bool:new RegExp("^(?:"+tt+")$","i"),needsContext:new RegExp("^"+nt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+nt+"*((?:-\\d)?\\d*)"+nt+"*\\)|)(?=[^-]|$)","i")},gt=/^(?:input|select|textarea|button)$/i,mt=/^h\d$/i,vt=/^[^{]+\{\s*\[native \w/,yt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,xt=/[+~]/,b
 t=/'|\\/g,wt=new RegExp("\\\\([\\da-f]{1,6}"+nt+"?|("+nt+")|.)","ig"),Ct=function(e,t,n){var i="0x"+t-65536;return i!==i||n?t:0>i?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},_t=function(){S()};try{J.apply(Y=K.call(M.childNodes),M.childNodes),Y[M.childNodes.length].nodeType}catch(Tt){J={apply:Y.length?function(e,t){Z.apply(e,K.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}w=t.support={},T=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},S=t.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:M;return i!==A&&9===i.nodeType&&i.documentElement?(A=i,q=i.documentElement,n=i.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",_t,!1):n.attachEvent&&n.attachEvent("onunload",_t)),L=!T(i),w.attributes=r(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=r(function(e){return e.appendChild(i.createComment("")),!e.getEleme
 ntsByTagName("*").length}),w.getElementsByClassName=vt.test(i.getElementsByClassName),w.getById=r(function(e){return q.appendChild(e).id=R,!i.getElementsByName||!i.getElementsByName(R).length}),w.getById?(C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&L){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},C.filter.ID=function(e){var t=e.replace(wt,Ct);return function(e){return e.getAttribute("id")===t}}):(delete C.find.ID,C.filter.ID=function(e){var t=e.replace(wt,Ct);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),C.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},C.find.CLASS=w.getElementsByClassName&&function(e,t){return L?t.getElementsByClassName(e):void 0}
 ,H=[],F=[],(w.qsa=vt.test(i.querySelectorAll))&&(r(function(e){q.appendChild(e).innerHTML="<a id='"+R+"'></a><select id='"+R+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+nt+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+nt+"*(?:value|"+tt+")"),e.querySelectorAll("[id~="+R+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+R+"+*").length||F.push(".#.+[+~]")}),r(function(e){var t=i.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+nt+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=vt.test(P=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&r(function(e){w.disconnectedMatch
 =P.call(e,"div"),P.call(e,"[s!='']:x"),H.push("!=",st)}),F=F.length&&new RegExp(F.join("|")),H=H.length&&new RegExp(H.join("|")),t=vt.test(q.compareDocumentPosition),O=t||vt.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===i||e.ownerDocument===M&&O(M,e)?-1:t===i||t.ownerDocument===M&&O(M,t)?1:$?et($,e)-et($,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,a=t.parentNode,l=[e],u=[t];if(!o||!a)return e===i?-1:t===i?1:o?-1:a?1:$?et($,e)-et($,t):0;if(o===a)return s(e,t);for(n=e;n=n.pa
 rentNode;)l.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;l[r]===u[r];)r++;return r?s(l[r],u[r]):l[r]===M?-1:u[r]===M?1:0},i):A},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==A&&S(e),n=n.replace(ft,"='$1']"),!(!w.matchesSelector||!L||H&&H.test(n)||F&&F.test(n)))try{var i=P.call(e,n);if(i||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(r){}return t(n,A,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==A&&S(e),O(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==A&&S(e);var n=C.attrHandle[t.toLowerCase()],i=n&&Q.call(C.attrHandle,t.toLowerCase())?n(e,t,!L):void 0;return void 0!==i?i:w.attributes||!L?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],i=0,r=0;if(D=!w.detectDuplicates,$=!w.sortStable&&e.slice(0),e.sort(U),D){for(;t=e[r++
 ];)t===e[r]&&(i=n.push(r));for(;i--;)e.splice(n[i],1)}return $=null,e},_=t.getText=function(e){var t,n="",i=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=_(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[i++];)n+=_(t);return n},C=t.selectors={cacheLength:50,createPseudo:i,match:pt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(wt,Ct),e[3]=(e[3]||e[4]||e[5]||"").replace(wt,Ct),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pt.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n
 &&ht.test(n)&&(t=j(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(wt,Ct).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=B[e+" "];return t||(t=new RegExp("(^|"+nt+")"+e+"("+nt+"|$)"))&&B(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,i){return function(r){var o=t.attr(r,e);return null==o?"!="===n:n?(o+="","="===n?o===i:"!="===n?o!==i:"^="===n?i&&0===o.indexOf(i):"*="===n?i&&o.indexOf(i)>-1:"$="===n?i&&o.slice(-i.length)===i:"~="===n?(" "+o.replace(at," ")+" ").indexOf(i)>-1:"|="===n?o===i||o.slice(0,i.length+1)===i+"-":!1):!0}},CHILD:function(e,t,n,i,r){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===i&&0===r?function(e){return!!e.parentNode}:function(t,n,l){var u,
 c,f,h,d,p,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!l&&!a;if(m){if(o){for(;g;){for(f=t;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[s?m.firstChild:m.lastChild],s&&y){for(c=m[R]||(m[R]={}),u=c[e]||[],d=u[0]===I&&u[1],h=u[0]===I&&u[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(h=d=0)||p.pop();)if(1===f.nodeType&&++h&&f===t){c[e]=[I,d,h];break}}else if(y&&(u=(t[R]||(t[R]={}))[e])&&u[0]===I)h=u[1];else for(;(f=++d&&f&&f[g]||(h=d=0)||p.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++h||(y&&((f[R]||(f[R]={}))[e]=[I,h]),f!==t)););return h-=r,h===i||h%i===0&&h/i>=0}}},PSEUDO:function(e,n){var r,o=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[R]?o(n):o.length>1?(r=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,t){for(var i,r=o(e,n),s=r.length;s--;)i=et(e,r[s]),e[i]=!(t[i]=r[s])}):function(e){return o(e,0,r)
 }):o}},pseudos:{not:i(function(e){var t=[],n=[],r=k(e.replace(lt,"$1"));return r[R]?i(function(e,t,n,i){for(var o,s=r(e,null,i,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:i(function(e){return function(n){return t(e,n).length>0}}),contains:i(function(e){return e=e.replace(wt,Ct),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:i(function(e){return dt.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(wt,Ct).toLowerCase(),function(t){var n;do if(n=L?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===A.activeElement&&(!A.hasFocus||A.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:f
 unction(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return mt.test(e.nodeName)},input:function(e){return gt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[0>n?n+t:n]}),even:u(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:u(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:u(function(e,t,n){for(var i=0>n?n+t:n;--i>=0;)e.push(i)
 ;return e}),gt:u(function(e,t,n){for(var i=0>n?n+t:n;++i<t;)e.push(i);return e})}},C.pseudos.nth=C.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})C.pseudos[b]=a(b);for(b in{submit:!0,reset:!0})C.pseudos[b]=l(b);return f.prototype=C.filters=C.pseudos,C.setFilters=new f,j=t.tokenize=function(e,n){var i,r,o,s,a,l,u,c=z[e+" "];if(c)return n?0:c.slice(0);for(a=e,l=[],u=C.preFilter;a;){(!i||(r=ut.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),l.push(o=[])),i=!1,(r=ct.exec(a))&&(i=r.shift(),o.push({value:i,type:r[0].replace(lt," ")}),a=a.slice(i.length));for(s in C.filter)!(r=pt[s].exec(a))||u[s]&&!(r=u[s](r))||(i=r.shift(),o.push({value:i,type:s,matches:r}),a=a.slice(i.length));if(!i)break}return n?a.length:a?t.error(e):z(e,l).slice(0)},k=t.compile=function(e,t){var n,i=[],r=[],o=X[e+" "];if(!o){for(t||(t=j(e)),n=t.length;n--;)o=y(t[n]),o[R]?i.push(o):r.push(o);o=X(e,x(r,i)),o.selector=e}return o},N=t.select=function(e,t,n,i){var r,o,s,a,l,u="function"==typeof e&&e,f=!
 i&&j(e=u.selector||e);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&"ID"===(s=o[0]).type&&w.getById&&9===t.nodeType&&L&&C.relative[o[1].type]){if(t=(C.find.ID(s.matches[0].replace(wt,Ct),t)||[])[0],!t)return n;u&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(r=pt.needsContext.test(e)?0:o.length;r--&&(s=o[r],!C.relative[a=s.type]);)if((l=C.find[a])&&(i=l(s.matches[0].replace(wt,Ct),xt.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(r,1),e=i.length&&h(o),!e)return J.apply(n,i),n;break}}return(u||k(e,f))(i,t,!L,n,xt.test(e)&&c(t.parentNode)||t),n},w.sortStable=R.split("").sort(U).join("")===R,w.detectDuplicates=!!D,S(),w.sortDetached=r(function(e){return 1&e.compareDocumentPosition(A.createElement("div"))}),r(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&r(function(e){return e.innerHTML="<inpu
 t/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),r(function(e){return null==e.getAttribute("disabled")})||o(tt,function(e,t,n){var i;return n?void 0:e[t]===!0?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),t}(e);K.find=rt,K.expr=rt.selectors,K.expr[":"]=K.expr.pseudos,K.unique=rt.uniqueSort,K.text=rt.getText,K.isXMLDoc=rt.isXML,K.contains=rt.contains;var ot=K.expr.match.needsContext,st=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,at=/^.[^:#\[\.,]*$/;K.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?K.find.matchesSelector(i,e)?[i]:[]:K.find.matches(e,K.grep(t,function(e){return 1===e.nodeType}))},K.fn.extend({find:function(e){var t,n=this.length,i=[],r=this;if("string"!=typeof e)return this.pushStack(K(e).filter(function(){for(t=0;n>t;t++)if(K.contains(r[t],this))return!0}));for(t=0;n>t;t++)K.find(e,r[t],
 i);return i=this.pushStack(n>1?K.unique(i):i),i.selector=this.selector?this.selector+" "+e:e,i},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,"string"==typeof e&&ot.test(e)?K(e):e||[],!1).length}});var lt,ut=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ct=K.fn.init=function(e,t){var n,i;if(!e)return this;if("string"==typeof e){if(n="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ut.exec(e),!n||!n[1]&&t)return!t||t.jquery?(t||lt).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof K?t[0]:t,K.merge(this,K.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:Z,!0)),st.test(n[1])&&K.isPlainObject(t))for(n in t)K.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return i=Z.getElementById(n[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=Z,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):K.isFunction(e)?"undefined"!=type
 of lt.ready?lt.ready(e):e(K):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),K.makeArray(e,this))};ct.prototype=K.fn,lt=K(Z);var ft=/^(?:parents|prev(?:Until|All))/,ht={children:!0,contents:!0,next:!0,prev:!0};K.extend({dir:function(e,t,n){for(var i=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&K(e).is(n))break;i.push(e)}return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}}),K.fn.extend({has:function(e){var t=K(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(K.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,i=0,r=this.length,o=[],s=ot.test(e)||"string"!=typeof e?K(e,t||this.context):0;r>i;i++)for(n=this[i];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&K.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?K.unique(o):o)},index:function(e){return e?"string"==typeof e?U.call(K(e),this[0]):U.call(t
 his,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(K.unique(K.merge(this.get(),K(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),K.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return K.dir(e,"parentNode")},parentsUntil:function(e,t,n){return K.dir(e,"parentNode",n)},next:function(e){return r(e,"nextSibling")},prev:function(e){return r(e,"previousSibling")},nextAll:function(e){return K.dir(e,"nextSibling")},prevAll:function(e){return K.dir(e,"previousSibling")},nextUntil:function(e,t,n){return K.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return K.dir(e,"previousSibling",n)},siblings:function(e){return K.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return K.sibling(e.firstChild)},contents:function(e){return e.contentDocument||K.merge([],e.childNodes)}},function(e,t){K.fn[e]=function(n,i)
 {var r=K.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=K.filter(i,r)),this.length>1&&(ht[e]||K.unique(r),ft.test(e)&&r.reverse()),this.pushStack(r)}});var dt=/\S+/g,pt={};K.Callbacks=function(e){e="string"==typeof e?pt[e]||o(e):K.extend({},e);var t,n,i,r,s,a,l=[],u=!e.once&&[],c=function(o){for(t=e.memory&&o,n=!0,a=r||0,r=0,s=l.length,i=!0;l&&s>a;a++)if(l[a].apply(o[0],o[1])===!1&&e.stopOnFalse){t=!1;break}i=!1,l&&(u?u.length&&c(u.shift()):t?l=[]:f.disable())},f={add:function(){if(l){var n=l.length;!function o(t){K.each(t,function(t,n){var i=K.type(n);"function"===i?e.unique&&f.has(n)||l.push(n):n&&n.length&&"string"!==i&&o(n)})}(arguments),i?s=l.length:t&&(r=n,c(t))}return this},remove:function(){return l&&K.each(arguments,function(e,t){for(var n;(n=K.inArray(t,l,n))>-1;)l.splice(n,1),i&&(s>=n&&s--,a>=n&&a--)}),this},has:function(e){return e?K.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],s=0,this},disable:function(){return l=u=t=void 0
 ,this},disabled:function(){return!l},lock:function(){return u=void 0,t||f.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],i?u.push(t):c(t)),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!n}};return f},K.extend({Deferred:function(e){var t=[["resolve","done",K.Callbacks("once memory"),"resolved"],["reject","fail",K.Callbacks("once memory"),"rejected"],["notify","progress",K.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var e=arguments;return K.Deferred(function(n){K.each(t,function(t,o){var s=K.isFunction(e[t])&&e[t];r[o[1]](function(){var e=s&&s.apply(this,arguments);e&&K.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o[0]+"With"](this===i?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?K.extend
 (e,i):i}},r={};return i.pipe=i.then,K.each(t,function(e,o){var s=o[2],a=o[3];i[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),r[o[0]]=function(){return r[o[0]+"With"](this===r?i:this,arguments),this},r[o[0]+"With"]=s.fireWith}),i.promise(r),e&&e.call(r,r),r},when:function(e){var t,n,i,r=0,o=B.call(arguments),s=o.length,a=1!==s||e&&K.isFunction(e.promise)?s:0,l=1===a?e:K.Deferred(),u=function(e,n,i){return function(r){n[e]=this,i[e]=arguments.length>1?B.call(arguments):r,i===t?l.notifyWith(n,i):--a||l.resolveWith(n,i)}};if(s>1)for(t=new Array(s),n=new Array(s),i=new Array(s);s>r;r++)o[r]&&K.isFunction(o[r].promise)?o[r].promise().done(u(r,i,o)).fail(l.reject).progress(u(r,n,t)):--a;return a||l.resolveWith(i,o),l.promise()}});var gt;K.fn.ready=function(e){return K.ready.promise().done(e),this},K.extend({isReady:!1,readyWait:1,holdReady:function(e){e?K.readyWait++:K.ready(!0)},ready:function(e){(e===!0?--K.readyWait:K.isReady)||(K.isReady=!0,e!==!0&&--K.readyWait>
 0||(gt.resolveWith(Z,[K]),K.fn.triggerHandler&&(K(Z).triggerHandler("ready"),K(Z).off("ready"))))}}),K.ready.promise=function(t){return gt||(gt=K.Deferred(),"complete"===Z.readyState?setTimeout(K.ready):(Z.addEventListener("DOMContentLoaded",s,!1),e.addEventListener("load",s,!1))),gt.promise(t)},K.ready.promise();var mt=K.access=function(e,t,n,i,r,o,s){var a=0,l=e.length,u=null==n;if("object"===K.type(n)){r=!0;for(a in n)K.access(e,t,a,n[a],!0,o,s)}else if(void 0!==i&&(r=!0,K.isFunction(i)||(s=!0),u&&(s?(t.call(e,i),t=null):(u=t,t=function(e,t,n){return u.call(K(e),n)})),t))for(;l>a;a++)t(e[a],n,s?i:i.call(e[a],a,t(e[a],n)));return r?e:u?t.call(e):l?t(e[0],n):o};K.acceptData=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},a.uid=1,a.accepts=K.acceptData,a.prototype={key:function(e){if(!a.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=a.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(i){t[this.expando]=n,K.extend(e,t)}}return this.cache
 [n]||(this.cache[n]={}),n},set:function(e,t,n){var i,r=this.key(e),o=this.cache[r];if("string"==typeof t)o[t]=n;else if(K.isEmptyObject(o))K.extend(this.cache[r],t);else for(i in t)o[i]=t[i];return o},get:function(e,t){var n=this.cache[this.key(e)];return void 0===t?n:n[t]},access:function(e,t,n){var i;return void 0===t||t&&"string"==typeof t&&void 0===n?(i=this.get(e,t),void 0!==i?i:this.get(e,K.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,i,r,o=this.key(e),s=this.cache[o];if(void 0===t)this.cache[o]={};else{K.isArray(t)?i=t.concat(t.map(K.camelCase)):(r=K.camelCase(t),t in s?i=[t,r]:(i=r,i=i in s?[i]:i.match(dt)||[])),n=i.length;for(;n--;)delete s[i[n]]}},hasData:function(e){return!K.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var vt=new a,yt=new a,xt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,bt=/([A-Z])/g;K.extend({hasData:function(e){return yt.hasData(e)||vt.hasData(e)},data:functi
 on(e,t,n){return yt.access(e,t,n)},removeData:function(e,t){yt.remove(e,t)},_data:function(e,t,n){return vt.access(e,t,n)},_removeData:function(e,t){vt.remove(e,t)}}),K.fn.extend({data:function(e,t){var n,i,r,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(r=yt.get(o),1===o.nodeType&&!vt.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(i=s[n].name,0===i.indexOf("data-")&&(i=K.camelCase(i.slice(5)),l(o,i,r[i])));vt.set(o,"hasDataAttrs",!0)}return r}return"object"==typeof e?this.each(function(){yt.set(this,e)}):mt(this,function(t){var n,i=K.camelCase(e);if(o&&void 0===t){if(n=yt.get(o,e),void 0!==n)return n;if(n=yt.get(o,i),void 0!==n)return n;if(n=l(o,i,void 0),void 0!==n)return n}else this.each(function(){var n=yt.get(this,i);yt.set(this,i,t),-1!==e.indexOf("-")&&void 0!==n&&yt.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){yt.remove(this,e)})}}),K.extend({queue:function(e,t,n){var i;return e?(t=(t||"fx")+"queue"
 ,i=vt.get(e,t),n&&(!i||K.isArray(n)?i=vt.access(e,t,K.makeArray(n)):i.push(n)),i||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=K.queue(e,t),i=n.length,r=n.shift(),o=K._queueHooks(e,t),s=function(){K.dequeue(e,t)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===t&&n.unshift("inprogress"),delete o.stop,r.call(e,s,o)),!i&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return vt.get(e,n)||vt.access(e,n,{empty:K.Callbacks("once memory").add(function(){vt.remove(e,[t+"queue",n])})})}}),K.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?K.queue(this[0],e):void 0===t?this:this.each(function(){var n=K.queue(this,e,t);K._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&K.dequeue(this,e)})},dequeue:function(e){return this.each(function(){K.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,i=1,r=K.Deferred(),o=this,s=this.length,a=function(){--i||r.resolveWith(o,[o])};f
 or("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)n=vt.get(o[s],e+"queueHooks"),n&&n.empty&&(i++,n.empty.add(a));return a(),r.promise(t)}});var wt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Ct=["Top","Right","Bottom","Left"],_t=function(e,t){return e=t||e,"none"===K.css(e,"display")||!K.contains(e.ownerDocument,e)},Tt=/^(?:checkbox|radio)$/i;!function(){var e=Z.createDocumentFragment(),t=e.appendChild(Z.createElement("div")),n=Z.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),G.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",G.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var jt="undefined";G.focusinBubbles="onfocusin"in e;var kt=/^key/,Nt=/^(?:mouse|pointer|contextmenu)|click/,Et=/^(?:focusinfocus|focusoutblur)$/,$t=/^([^.]*)(?:\.(.+)|)$/;K.event={global:{},add:function(e,t,n,i,r){var o,s,a,l,u,c,f,h,d,p,g,m=vt.get(e);if(m)for(n.han
 dler&&(o=n,n=o.handler,r=o.selector),n.guid||(n.guid=K.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(t){return typeof K!==jt&&K.event.triggered!==t.type?K.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(dt)||[""],u=t.length;u--;)a=$t.exec(t[u])||[],d=g=a[1],p=(a[2]||"").split(".").sort(),d&&(f=K.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,f=K.event.special[d]||{},c=K.extend({type:d,origType:g,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&K.expr.match.needsContext.test(r),namespace:p.join(".")},o),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,p,s)!==!1||e.addEventListener&&e.addEventListener(d,s,!1)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),r?h.splice(h.delegateCount++,0,c):h.push(c),K.event.global[d]=!0)},remove:function(e,t,n,i,r){var o,s,a,l,u,c,f,h,d,p,g,m=vt.hasData(e)&&vt.get(e);if(m&&(l=m.events)){for(t=(t||"").match(dt)||[""],u=t.length;u--;)if(a=$t.exec(t[u])||[],d=g=a[1],p
 =(a[2]||"").split(".").sort(),d){for(f=K.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,h=l[d]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=h.length;o--;)c=h[o],!r&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,f.remove&&f.remove.call(e,c));s&&!h.length&&(f.teardown&&f.teardown.call(e,p,m.handle)!==!1||K.removeEvent(e,d,m.handle),delete l[d])}else for(d in l)K.event.remove(e,d+t[u],n,i,!0);K.isEmptyObject(l)&&(delete m.handle,vt.remove(e,"events"))}},trigger:function(t,n,i,r){var o,s,a,l,u,c,f,h=[i||Z],d=Y.call(t,"type")?t.type:t,p=Y.call(t,"namespace")?t.namespace.split("."):[];if(s=a=i=i||Z,3!==i.nodeType&&8!==i.nodeType&&!Et.test(d+K.event.triggered)&&(d.indexOf(".")>=0&&(p=d.split("."),d=p.shift(),p.sort()),u=d.indexOf(":")<0&&"on"+d,t=t[K.expando]?t:new K.Event(d,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=p.join("."),t.namespace_r
 e=t.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:K.makeArray(n,[t]),f=K.event.special[d]||{},r||!f.trigger||f.trigger.apply(i,n)!==!1)){if(!r&&!f.noBubble&&!K.isWindow(i)){for(l=f.delegateType||d,Et.test(l+d)||(s=s.parentNode);s;s=s.parentNode)h.push(s),a=s;a===(i.ownerDocument||Z)&&h.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=h[o++])&&!t.isPropagationStopped();)t.type=o>1?l:f.bindType||d,c=(vt.get(s,"events")||{})[t.type]&&vt.get(s,"handle"),c&&c.apply(s,n),c=u&&s[u],c&&c.apply&&K.acceptData(s)&&(t.result=c.apply(s,n),t.result===!1&&t.preventDefault());return t.type=d,r||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!K.acceptData(i)||u&&K.isFunction(i[d])&&!K.isWindow(i)&&(a=i[u],a&&(i[u]=null),K.event.triggered=d,i[d](),K.event.triggered=void 0,a&&(i[u]=a)),t.result
-}},dispatch:function(e){e=K.event.fix(e);var t,n,i,r,o,s=[],a=B.call(arguments),l=(vt.get(this,"events")||{})[e.type]||[],u=K.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!u.preDispatch||u.preDispatch.call(this,e)!==!1){for(s=K.event.handlers.call(this,e,l),t=0;(r=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=r.elem,n=0;(o=r.handlers[n++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,i=((K.event.special[o.origType]||{}).handle||o.handler).apply(r.elem,a),void 0!==i&&(e.result=i)===!1&&(e.preventDefault(),e.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,i,r,o,s=[],a=t.delegateCount,l=e.target;if(a&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!==this;l=l.parentNode||this)if(l.disabled!==!0||"click"!==e.type){for(i=[],n=0;a>n;n++)o=t[n],r=o.selector+" ",void 0===i[r]&&(i[r]=o.needsContext?K(r,this).index(l)>=0:K.find(r,this
 ,null,[l]).length),i[r]&&i.push(o);i.length&&s.push({elem:l,handlers:i})}return a<t.length&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,i,r,o=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||Z,i=n.documentElement,r=n.body,e.pageX=t.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},fix:function(e){if(e[K.expando])return e;var t,n,i,r=e.type,o=e,s=th
 is.fixHooks[r];for(s||(this.fixHooks[r]=s=Nt.test(r)?this.mouseHooks:kt.test(r)?this.keyHooks:{}),i=s.props?this.props.concat(s.props):this.props,e=new K.Event(o),t=i.length;t--;)n=i[t],e[n]=o[n];return e.target||(e.target=Z),3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,o):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==f()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===f()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&K.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return K.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,i){var r=K.extend(new K.Event,n,{type:e,isSimulated:!0,originalEvent:{}});i?K.event.trigger(r,null,t):K.event.dispatch.call(t,r),r.isDefau
 ltPrevented()&&n.preventDefault()}},K.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},K.Event=function(e,t){return this instanceof K.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?u:c):this.type=e,t&&K.extend(this,t),this.timeStamp=e&&e.timeStamp||K.now(),void(this[K.expando]=!0)):new K.Event(e,t)},K.Event.prototype={isDefaultPrevented:c,isPropagationStopped:c,isImmediatePropagationStopped:c,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=u,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=u,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=u,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},K.each({mouseenter:"mouseover",mouseleave:"
 mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){K.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,i=this,r=e.relatedTarget,o=e.handleObj;return(!r||r!==i&&!K.contains(i,r))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),G.focusinBubbles||K.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){K.event.simulate(t,e.target,K.event.fix(e),!0)};K.event.special[t]={setup:function(){var i=this.ownerDocument||this,r=vt.access(i,t);r||i.addEventListener(e,n,!0),vt.access(i,t,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=vt.access(i,t)-1;r?vt.access(i,t,r):(i.removeEventListener(e,n,!0),vt.remove(i,t))}}}),K.fn.extend({on:function(e,t,n,i,r){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=void 0);for(s in e)this.on(s,t,n,e[s],r);return this}if(null==n&&null==i?(i=t,n=t=void 0):null==i&&("string"==typeof t?(i=n,n=void 0):(i=n,n=t,t=void 0)),i===!1)i=c;else if(!i)return this
 ;return 1===r&&(o=i,i=function(e){return K().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=K.guid++)),this.each(function(){K.event.add(this,e,i,n,t)})},one:function(e,t,n,i){return this.on(e,t,n,i,1)},off:function(e,t,n){var i,r;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,K(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(r in e)this.off(r,t,e[r]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=void 0),n===!1&&(n=c),this.each(function(){K.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){K.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?K.event.trigger(e,t,n,!0):void 0}});var Dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,St=/<([\w:]+)/,At=/<|&#?\w+;/,qt=/<(?:script|style|link)/i,Lt=/checked\s*(?:[^=]|=\s*.checked.)/i,Ft=/^$|\/(?:java|ecma)script/i,Ht=/^true\/(.*)/,Pt=/^\s*<!(?:\[CDATA\[|-
 -)|(?:\]\]|--)>\s*$/g,Ot={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ot.optgroup=Ot.option,Ot.tbody=Ot.tfoot=Ot.colgroup=Ot.caption=Ot.thead,Ot.th=Ot.td,K.extend({clone:function(e,t,n){var i,r,o,s,a=e.cloneNode(!0),l=K.contains(e.ownerDocument,e);if(!(G.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||K.isXMLDoc(e)))for(s=v(a),o=v(e),i=0,r=o.length;r>i;i++)y(o[i],s[i]);if(t)if(n)for(o=o||v(e),s=s||v(a),i=0,r=o.length;r>i;i++)m(o[i],s[i]);else m(e,a);return s=v(a,"script"),s.length>0&&g(s,!l&&v(e,"script")),a},buildFragment:function(e,t,n,i){for(var r,o,s,a,l,u,c=t.createDocumentFragment(),f=[],h=0,d=e.length;d>h;h++)if(r=e[h],r||0===r)if("object"===K.type(r))K.merge(f,r.nodeType?[r]:r);else if(At.test(r)){for(o=o||c.appendChild(t.createElement("div")),s=(St.exec(r)||["",""])[1].t
 oLowerCase(),a=Ot[s]||Ot._default,o.innerHTML=a[1]+r.replace(Dt,"<$1></$2>")+a[2],u=a[0];u--;)o=o.lastChild;K.merge(f,o.childNodes),o=c.firstChild,o.textContent=""}else f.push(t.createTextNode(r));for(c.textContent="",h=0;r=f[h++];)if((!i||-1===K.inArray(r,i))&&(l=K.contains(r.ownerDocument,r),o=v(c.appendChild(r),"script"),l&&g(o),n))for(u=0;r=o[u++];)Ft.test(r.type||"")&&n.push(r);return c},cleanData:function(e){for(var t,n,i,r,o=K.event.special,s=0;void 0!==(n=e[s]);s++){if(K.acceptData(n)&&(r=n[vt.expando],r&&(t=vt.cache[r]))){if(t.events)for(i in t.events)o[i]?K.event.remove(n,i):K.removeEvent(n,i,t.handle);vt.cache[r]&&delete vt.cache[r]}delete yt.cache[n[yt.expando]]}}}),K.fn.extend({text:function(e){return mt(this,function(e){return void 0===e?K.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=e)})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||
 11===this.nodeType||9===this.nodeType){var t=h(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,i=e?K.filter(e,this):this,r=0;null!=(n=i[r]);r++)t||1!==n.nodeType||K.cleanData(v(n)),n.parentNode&&(t&&K.contains(n.ownerDocument,n)&&g(v(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(K.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return K.clone(this,e,t)})},html:function(e){return mt(this,function(e){var t
 =this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qt.test(e)&&!Ot[(St.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(Dt,"<$1></$2>");try{for(;i>n;n++)t=this[n]||{},1===t.nodeType&&(K.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(r){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,K.cleanData(v(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=z.apply([],e);var n,i,r,o,s,a,l=0,u=this.length,c=this,f=u-1,h=e[0],g=K.isFunction(h);if(g||u>1&&"string"==typeof h&&!G.checkClone&&Lt.test(h))return this.each(function(n){var i=c.eq(n);g&&(e[0]=h.call(this,n,i.html())),i.domManip(e,t)});if(u&&(n=K.buildFragment(e,this[0].ownerDocument,!1,this),i=n.firstChild,1===n.childNodes.length&&(n=i),i)){for(r=K.map(v(n,"script"),d),o=r.length;u>
 l;l++)s=n,l!==f&&(s=K.clone(s,!0,!0),o&&K.merge(r,v(s,"script"))),t.call(this[l],s,l);if(o)for(a=r[r.length-1].ownerDocument,K.map(r,p),l=0;o>l;l++)s=r[l],Ft.test(s.type||"")&&!vt.access(s,"globalEval")&&K.contains(a,s)&&(s.src?K._evalUrl&&K._evalUrl(s.src):K.globalEval(s.textContent.replace(Pt,"")))}return this}}),K.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){K.fn[e]=function(e){for(var n,i=[],r=K(e),o=r.length-1,s=0;o>=s;s++)n=s===o?this:this.clone(!0),K(r[s])[t](n),X.apply(i,n.get());return this.pushStack(i)}});var Rt,Mt={},It=/^margin/,Wt=new RegExp("^("+wt+")(?!px)[a-z%]+$","i"),Bt=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)};!function(){function t(){s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4
 px;position:absolute",s.innerHTML="",r.appendChild(o);var t=e.getComputedStyle(s,null);n="1%"!==t.top,i="4px"===t.width,r.removeChild(o)}var n,i,r=Z.documentElement,o=Z.createElement("div"),s=Z.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",G.clearCloneStyle="content-box"===s.style.backgroundClip,o.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",o.appendChild(s),e.getComputedStyle&&K.extend(G,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return null==i&&t(),i},reliableMarginRight:function(){var t,n=s.appendChild(Z.createElement("div"));return n.style.cssText=s.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",s.style.width="1px",r.appendChild(o),t=!parseFloat(e.getComputedStyle(n,null).marginRight),r.removeChild(o),s.removeChild(
 n),t}}))}(),K.swap=function(e,t,n,i){var r,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];r=n.apply(e,i||[]);for(o in t)e.style[o]=s[o];return r};var zt=/^(none|table(?!-c[ea]).+)/,Xt=new RegExp("^("+wt+")(.*)$","i"),Ut=new RegExp("^([+-])=("+wt+")","i"),Vt={position:"absolute",visibility:"hidden",display:"block"},Qt={letterSpacing:"0",fontWeight:"400"},Yt=["Webkit","O","Moz","ms"];K.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=w(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,o,s,a=K.camelCase(t),l=e.style;return t=K.cssProps[a]||(K.cssProps[a]=_(l,a)),s=K.cssHooks[t]||K.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(r=s.get(e,!1,i))?r:l[t]:(o=typeof n,"string"===o&&(r=Ut.exec(n))&&(n=(r[1]+1)*r[2]+parseFloat(K.css(e,t)),
 o="number"),null!=n&&n===n&&("number"!==o||K.cssNumber[a]||(n+="px"),G.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,i))||(l[t]=n)),void 0)}},css:function(e,t,n,i){var r,o,s,a=K.camelCase(t);return t=K.cssProps[a]||(K.cssProps[a]=_(e.style,a)),s=K.cssHooks[t]||K.cssHooks[a],s&&"get"in s&&(r=s.get(e,!0,n)),void 0===r&&(r=w(e,t,i)),"normal"===r&&t in Qt&&(r=Qt[t]),""===n||n?(o=parseFloat(r),n===!0||K.isNumeric(o)?o||0:r):r}}),K.each(["height","width"],function(e,t){K.cssHooks[t]={get:function(e,n,i){return n?zt.test(K.css(e,"display"))&&0===e.offsetWidth?K.swap(e,Vt,function(){return k(e,t,i)}):k(e,t,i):void 0},set:function(e,n,i){var r=i&&Bt(e);return T(e,n,i?j(e,t,i,"border-box"===K.css(e,"boxSizing",!1,r),r):0)}}}),K.cssHooks.marginRight=C(G.reliableMarginRight,function(e,t){return t?K.swap(e,{display:"inline-block"},w,[e,"marginRight"]):void 0}),K.each({margin:"",padding:"",border:"Width"},function(e,t){K.cssHooks[e+t]={
 expand:function(n){for(var i=0,r={},o="string"==typeof n?n.split(" "):[n];4>i;i++)r[e+Ct[i]+t]=o[i]||o[i-2]||o[0];return r}},It.test(e)||(K.cssHooks[e+t].set=T)}),K.fn.extend({css:function(e,t){return mt(this,function(e,t,n){var i,r,o={},s=0;if(K.isArray(t)){for(i=Bt(e),r=t.length;r>s;s++)o[t[s]]=K.css(e,t[s],!1,i);return o}return void 0!==n?K.style(e,t,n):K.css(e,t)},e,t,arguments.length>1)},show:function(){return N(this,!0)},hide:function(){return N(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){_t(this)?K(this).show():K(this).hide()})}}),K.Tween=E,E.prototype={constructor:E,init:function(e,t,n,i,r,o){this.elem=e,this.prop=n,this.easing=r||"swing",this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=o||(K.cssNumber[n]?"":"px")},cur:function(){var e=E.propHooks[this.prop];return e&&e.get?e.get(this):E.propHooks._default.get(this)},run:function(e){var t,n=E.propHooks[this.prop];return this.pos=t=this.options.duration?
 K.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):E.propHooks._default.set(this),this}},E.prototype.init.prototype=E.prototype,E.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=K.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){K.fx.step[e.prop]?K.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[K.cssProps[e.prop]]||K.cssHooks[e.prop])?K.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},E.propHooks.scrollTop=E.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},K.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},K.fx=E.prototype.init,K.fx.step={};var Gt,Zt,Jt=/^(?:toggle|show|hide)$/,Kt=new RegExp("^(?:([+-])=|)("+wt+")([a-z%]*)$","i"),en=/q
 ueueHooks$/,tn=[A],nn={"*":[function(e,t){var n=this.createTween(e,t),i=n.cur(),r=Kt.exec(t),o=r&&r[3]||(K.cssNumber[e]?"":"px"),s=(K.cssNumber[e]||"px"!==o&&+i)&&Kt.exec(K.css(n.elem,e)),a=1,l=20;if(s&&s[3]!==o){o=o||s[3],r=r||[],s=+i||1;do a=a||".5",s/=a,K.style(n.elem,e,s+o);while(a!==(a=n.cur()/i)&&1!==a&&--l)}return r&&(s=n.start=+s||+i||0,n.unit=o,n.end=r[1]?s+(r[1]+1)*r[2]:+r[2]),n}]};K.Animation=K.extend(L,{tweener:function(e,t){K.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,i=0,r=e.length;r>i;i++)n=e[i],nn[n]=nn[n]||[],nn[n].unshift(t)},prefilter:function(e,t){t?tn.unshift(e):tn.push(e)}}),K.speed=function(e,t,n){var i=e&&"object"==typeof e?K.extend({},e):{complete:n||!n&&t||K.isFunction(e)&&e,duration:e,easing:n&&t||t&&!K.isFunction(t)&&t};return i.duration=K.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in K.fx.speeds?K.fx.speeds[i.duration]:K.fx.speeds._default,(null==i.queue||i.queue===!0)&&(i.queue="fx"),i.old=i.complete,i.complete=function(){K.isF
 unction(i.old)&&i.old.call(this),i.queue&&K.dequeue(this,i.queue)},i},K.fn.extend({fadeTo:function(e,t,n,i){return this.filter(_t).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(e,t,n,i){var r=K.isEmptyObject(e),o=K.speed(t,n,i),s=function(){var t=L(this,K.extend({},e),o);(r||vt.get(this,"finish"))&&t.stop(!0)};return s.finish=s,r||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var i=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,r=null!=e&&e+"queueHooks",o=K.timers,s=vt.get(this);if(r)s[r]&&s[r].stop&&i(s[r]);else for(r in s)s[r]&&s[r].stop&&en.test(r)&&i(s[r]);for(r=o.length;r--;)o[r].elem!==this||null!=e&&o[r].queue!==e||(o[r].anim.stop(n),t=!1,o.splice(r,1));(t||!n)&&K.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=vt.get(this),i=n[e+"queue"],r=n[e+"queueHooks"],o=K.timers,s=i?
 i.length:0;for(n.finish=!0,K.queue(this,e,[]),r&&r.stop&&r.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)i[t]&&i[t].finish&&i[t].finish.call(this);delete n.finish})}}),K.each(["toggle","show","hide"],function(e,t){var n=K.fn[t];K.fn[t]=function(e,i,r){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(D(t,!0),e,i,r)}}),K.each({slideDown:D("show"),slideUp:D("hide"),slideToggle:D("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){K.fn[e]=function(e,n,i){return this.animate(t,e,n,i)}}),K.timers=[],K.fx.tick=function(){var e,t=0,n=K.timers;for(Gt=K.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||K.fx.stop(),Gt=void 0},K.fx.timer=function(e){K.timers.push(e),e()?K.fx.start():K.timers.pop()},K.fx.interval=13,K.fx.start=function(){Zt||(Zt=setInterval(K.fx.tick,K.fx.interval))},K.fx.stop=function(){clearInterval(Zt),Zt=null
 },K.fx.speeds={slow:600,fast:200,_default:400},K.fn.delay=function(e,t){return e=K.fx?K.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var i=setTimeout(t,e);n.stop=function(){clearTimeout(i)}})},function(){var e=Z.createElement("input"),t=Z.createElement("select"),n=t.appendChild(Z.createElement("option"));e.type="checkbox",G.checkOn=""!==e.value,G.optSelected=n.selected,t.disabled=!0,G.optDisabled=!n.disabled,e=Z.createElement("input"),e.value="t",e.type="radio",G.radioValue="t"===e.value}();var rn,on,sn=K.expr.attrHandle;K.fn.extend({attr:function(e,t){return mt(this,K.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){K.removeAttr(this,e)})}}),K.extend({attr:function(e,t,n){var i,r,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return typeof e.getAttribute===jt?K.prop(e,t,n):(1===o&&K.isXMLDoc(e)||(t=t.toLowerCase(),i=K.attrHooks[t]||(K.expr.match.bool.test(t)?on:rn)),void 0===n?i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=K.find.attr(e,t),null==r?void 0
 :r):null!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):void K.removeAttr(e,t))},removeAttr:function(e,t){var n,i,r=0,o=t&&t.match(dt);if(o&&1===e.nodeType)for(;n=o[r++];)i=K.propFix[n]||n,K.expr.match.bool.test(n)&&(e[i]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!G.radioValue&&"radio"===t&&K.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),on={set:function(e,t,n){return t===!1?K.removeAttr(e,n):e.setAttribute(n,n),n}},K.each(K.expr.match.bool.source.match(/\w+/g),function(e,t){var n=sn[t]||K.find.attr;sn[t]=function(e,t,i){var r,o;return i||(o=sn[t],sn[t]=r,r=null!=n(e,t,i)?t.toLowerCase():null,sn[t]=o),r}});var an=/^(?:input|select|textarea|button)$/i;K.fn.extend({prop:function(e,t){return mt(this,K.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[K.propFix[e]||e]})}}),K.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var i
 ,r,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!K.isXMLDoc(e),o&&(t=K.propFix[t]||t,r=K.propHooks[t]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:e[t]=n:r&&"get"in r&&null!==(i=r.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||an.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),G.optSelected||(K.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),K.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){K.propFix[this.toLowerCase()]=this});var ln=/[\t\r\n\f]/g;K.fn.extend({addClass:function(e){var t,n,i,r,o,s,a="string"==typeof e&&e,l=0,u=this.length;if(K.isFunction(e))return this.each(function(t){K(this).addClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(dt)||[];u>l;l++)if(n=this[l],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(ln," "):" ")){for(o=0
 ;r=t[o++];)i.indexOf(" "+r+" ")<0&&(i+=r+" ");s=K.trim(i),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,i,r,o,s,a=0===arguments.length||"string"==typeof e&&e,l=0,u=this.length;if(K.isFunction(e))return this.each(function(t){K(this).removeClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(dt)||[];u>l;l++)if(n=this[l],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(ln," "):"")){for(o=0;r=t[o++];)for(;i.indexOf(" "+r+" ")>=0;)i=i.replace(" "+r+" "," ");s=e?K.trim(i):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(K.isFunction(e)?function(n){K(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,r=K(this),o=e.match(dt)||[];t=o[i++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else(n===jt||"boolean"===n)&&(this.className&&vt.set(this,"__className__",this.class
 Name),this.className=this.className||e===!1?"":vt.get(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(ln," ").indexOf(t)>=0)return!0;return!1}});var un=/\r/g;K.fn.extend({val:function(e){var t,n,i,r=this[0];{if(arguments.length)return i=K.isFunction(e),this.each(function(n){var r;1===this.nodeType&&(r=i?e.call(this,n,K(this).val()):e,null==r?r="":"number"==typeof r?r+="":K.isArray(r)&&(r=K.map(r,function(e){return null==e?"":e+""})),t=K.valHooks[this.type]||K.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))});if(r)return t=K.valHooks[r.type]||K.valHooks[r.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(r,"value"))?n:(n=r.value,"string"==typeof n?n.replace(un,""):null==n?"":n)}}}),K.extend({valHooks:{option:{get:function(e){var t=K.find.attr(e,"value");return null!=t?t:K.trim(K.text(e))}},select:{get:function(e){for(v
 ar t,n,i=e.options,r=e.selectedIndex,o="select-one"===e.type||0>r,s=o?null:[],a=o?r+1:i.length,l=0>r?a:o?r:0;a>l;l++)if(n=i[l],!(!n.selected&&l!==r||(G.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&K.nodeName(n.parentNode,"optgroup"))){if(t=K(n).val(),o)return t;s.push(t)}return s},set:function(e,t){for(var n,i,r=e.options,o=K.makeArray(t),s=r.length;s--;)i=r[s],(i.selected=K.inArray(i.value,o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),K.each(["radio","checkbox"],function(){K.valHooks[this]={set:function(e,t){return K.isArray(t)?e.checked=K.inArray(K(e).val(),t)>=0:void 0}},G.checkOn||(K.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),K.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){K.fn[t]=function(e,n){return arguments
 .length>0?this.on(t,null,e,n):this.trigger(t)}}),K.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var cn=K.now(),fn=/\?/;K.parseJSON=function(e){return JSON.parse(e+"")},K.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(i){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&K.error("Invalid XML: "+e),t};var hn=/#.*$/,dn=/([?&])_=[^&]*/,pn=/^(.*?):[ \t]*([^\r\n]*)$/gm,gn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,mn=/^(?:GET|HEAD)$/,vn=/^\/\//,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,xn={},bn={},wn="*/".concat("*"),Cn=e.location.href,_n=yn.exec(Cn.toLowerCase())||[];K.extend({active:0
 ,lastModified:{},etag:{},ajaxSettings:{url:Cn,type:"GET",isLocal:gn.test(_n[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":wn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":K.parseJSON,"text xml":K.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?P(P(e,K.ajaxSettings),t):P(K.ajaxSettings,e)},ajaxPrefilter:F(xn),ajaxTransport:F(bn),ajax:function(e,t){function n(e,t,n,s){var l,c,v,y,b,C=t;2!==x&&(x=2,a&&clearTimeout(a),i=void 0,o=s||"",w.readyState=e>0?4:0,l=e>=200&&300>e||304===e,n&&(y=O(f,w,n)),y=R(f,y,w,l),l?(f.ifModified&&(b=w.getResponseHeader("Last-Modified"),b&&(K.lastModified[r]=b),b=w.getResponseHeader("etag"),b&&(K.etag[r]=b)),204===e||"HEAD"===f.typ
 e?C="nocontent":304===e?C="notmodified":(C=y.state,c=y.data,v=y.error,l=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),w.status=e,w.statusText=(t||C)+"",l?p.resolveWith(h,[c,C,w]):p.rejectWith(h,[w,C,v]),w.statusCode(m),m=void 0,u&&d.trigger(l?"ajaxSuccess":"ajaxError",[w,f,l?c:v]),g.fireWith(h,[w,C]),u&&(d.trigger("ajaxComplete",[w,f]),--K.active||K.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var i,r,o,s,a,l,u,c,f=K.ajaxSetup({},t),h=f.context||f,d=f.context&&(h.nodeType||h.jquery)?K(h):K.event,p=K.Deferred(),g=K.Callbacks("once memory"),m=f.statusCode||{},v={},y={},x=0,b="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!s)for(s={};t=pn.exec(o);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?o:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=y[n]=y[n]||e,v[e]=t),this},overrideMimeType:function(e){return x||(f.mimeType=e),this},statusCode:fun
 ction(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||b;return i&&i.abort(t),n(0,t),this}};if(p.promise(w).complete=g.add,w.success=w.done,w.error=w.fail,f.url=((e||f.url||Cn)+"").replace(hn,"").replace(vn,_n[1]+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=K.trim(f.dataType||"*").toLowerCase().match(dt)||[""],null==f.crossDomain&&(l=yn.exec(f.url.toLowerCase()),f.crossDomain=!(!l||l[1]===_n[1]&&l[2]===_n[2]&&(l[3]||("http:"===l[1]?"80":"443"))===(_n[3]||("http:"===_n[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=K.param(f.data,f.traditional)),H(xn,f,t,w),2===x)return w;u=K.event&&f.global,u&&0===K.active++&&K.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!mn.test(f.type),r=f.url,f.hasContent||(f.data&&(r=f.url+=(fn.test(r)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=dn.test(r)?r.replace(dn,"$1_="+cn++):r+(fn.test(r)?"&":"?")+"_="+cn++)),f.ifMod
 ified&&(K.lastModified[r]&&w.setRequestHeader("If-Modified-Since",K.lastModified[r]),K.etag[r]&&w.setRequestHeader("If-None-Match",K.etag[r])),(f.data&&f.hasContent&&f.contentType!==!1||t.contentType)&&w.setRequestHeader("Content-Type",f.contentType),w.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+wn+"; q=0.01":""):f.accepts["*"]);for(c in f.headers)w.setRequestHeader(c,f.headers[c]);if(f.beforeSend&&(f.beforeSend.call(h,w,f)===!1||2===x))return w.abort();b="abort";for(c in{success:1,error:1,complete:1})w[c](f[c]);if(i=H(bn,f,t,w)){w.readyState=1,u&&d.trigger("ajaxSend",[w,f]),f.async&&f.timeout>0&&(a=setTimeout(function(){w.abort("timeout")},f.timeout));try{x=1,i.send(v,n)}catch(C){if(!(2>x))throw C;n(-1,C)}}else n(-1,"No Transport");return w},getJSON:function(e,t,n){return K.get(e,t,n,"json")},getScript:function(e,t){return K.get(e,void 0,t,"script")}}),K.each(["get","post"],function(e,t){K[t]=function(e,n,
 i,r){return K.isFunction(n)&&(r=r||i,i=n,n=void 0),K.ajax({url:e,type:t,dataType:r,data:n,success:i})}}),K._evalUrl=function(e){return K.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},K.fn.extend({wrapAll:function(e){var t;return K.isFunction(e)?this.each(function(t){K(this).wrapAll(e.call(this,t))}):(this[0]&&(t=K(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return this.each(K.isFunction(e)?function(t){K(this).wrapInner(e.call(this,t))}:function(){var t=K(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=K.isFunction(e);return this.each(function(n){K(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){K.nodeName(this,"body")||K(this).replaceWith(this.childNodes)}).end()}}),K.expr.filters.hidden=function(e){return e.off
 setWidth<=0&&e.offsetHeight<=0},K.expr.filters.visible=function(e){return!K.expr.filters.hidden(e)};var Tn=/%20/g,jn=/\[\]$/,kn=/\r?\n/g,Nn=/^(?:submit|button|image|reset|file)$/i,En=/^(?:input|select|textarea|keygen)/i;K.param=function(e,t){var n,i=[],r=function(e,t){t=K.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=K.ajaxSettings&&K.ajaxSettings.traditional),K.isArray(e)||e.jquery&&!K.isPlainObject(e))K.each(e,function(){r(this.name,this.value)});else for(n in e)M(n,e[n],t,r);return i.join("&").replace(Tn,"+")},K.fn.extend({serialize:function(){return K.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=K.prop(this,"elements");return e?K.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!K(this).is(":disabled")&&En.test(this.nodeName)&&!Nn.test(e)&&(this.checked||!Tt.test(e))}).map(function(e,t){var n=K(this).val();return null==n?null:K.isArray(n)?K.map(n,fun
 ction(e){return{name:t.name,value:e.replace(kn,"\r\n")}}):{name:t.name,value:n.replace(kn,"\r\n")}}).get()}}),K.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var $n=0,Dn={},Sn={0:200,1223:204},An=K.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in Dn)Dn[e]()}),G.cors=!!An&&"withCredentials"in An,G.ajax=An=!!An,K.ajaxTransport(function(e){var t;return G.cors||An&&!e.crossDomain?{send:function(n,i){var r,o=e.xhr(),s=++$n;if(o.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(r in e.xhrFields)o[r]=e.xhrFields[r];e.mimeType&&o.overrideMimeType&&o.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(r in n)o.setRequestHeader(r,n[r]);t=function(e){return function(){t&&(delete Dn[s],t=o.onload=o.onerror=null,"abort"===e?o.abort():"error"===e?i(o.status,o.statusText):i(Sn[o.status]||o.status,o.statusText,"string"==typeof o.responseText?{text:o.responseText}:void
  0,o.getAllResponseHeaders()))
-}},o.onload=t(),o.onerror=t("error"),t=Dn[s]=t("abort");try{o.send(e.hasContent&&e.data||null)}catch(a){if(t)throw a}},abort:function(){t&&t()}}:void 0}),K.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return K.globalEval(e),e}}}),K.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),K.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,r){t=K("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&r("error"===e.type?404:200,e.type)}),Z.head.appendChild(t[0])},abort:function(){n&&n()}}}});var qn=[],Ln=/(=)\?(?=&|$)|\?\?/;K.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=qn.pop()||K.expando+"_"+cn++;return this[e]=!0,e}}),K.ajaxPrefilter("json jsonp",function(t,n,i){var r,o,s,a=t.jsonp!==!1
 &&(Ln.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ln.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(r=t.jsonpCallback=K.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Ln,"$1"+r):t.jsonp!==!1&&(t.url+=(fn.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return s||K.error(r+" was not called"),s[0]},t.dataTypes[0]="json",o=e[r],e[r]=function(){s=arguments},i.always(function(){e[r]=o,t[r]&&(t.jsonpCallback=n.jsonpCallback,qn.push(r)),s&&K.isFunction(o)&&o(s[0]),s=o=void 0}),"script"):void 0}),K.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||Z;var i=st.exec(e),r=!n&&[];return i?[t.createElement(i[1])]:(i=K.buildFragment([e],t,r),r&&r.length&&K(r).remove(),K.merge([],i.childNodes))};var Fn=K.fn.load;K.fn.load=function(e,t,n){if("string"!=typeof e&&Fn)return Fn.apply(this,arguments);var i,r,o,s=this,a
 =e.indexOf(" ");return a>=0&&(i=K.trim(e.slice(a)),e=e.slice(0,a)),K.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(r="POST"),s.length>0&&K.ajax({url:e,type:r,dataType:"html",data:t}).done(function(e){o=arguments,s.html(i?K("<div>").append(K.parseHTML(e)).find(i):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},K.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){K.fn[t]=function(e){return this.on(t,e)}}),K.expr.filters.animated=function(e){return K.grep(K.timers,function(t){return e===t.elem}).length};var Hn=e.document.documentElement;K.offset={setOffset:function(e,t,n){var i,r,o,s,a,l,u,c=K.css(e,"position"),f=K(e),h={};"static"===c&&(e.style.position="relative"),a=f.offset(),o=K.css(e,"top"),l=K.css(e,"left"),u=("absolute"===c||"fixed"===c)&&(o+l).indexOf("auto")>-1,u?(i=f.position(),s=i.top,r=i.left):(s=parseFloat(o)||0,r=parseFloat(l)||0),K.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(h.top=t.top-a.top
 +s),null!=t.left&&(h.left=t.left-a.left+r),"using"in t?t.using.call(e,h):f.css(h)}},K.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){K.offset.setOffset(this,e,t)});var t,n,i=this[0],r={top:0,left:0},o=i&&i.ownerDocument;if(o)return t=o.documentElement,K.contains(t,i)?(typeof i.getBoundingClientRect!==jt&&(r=i.getBoundingClientRect()),n=I(o),{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r},position:function(){if(this[0]){var e,t,n=this[0],i={top:0,left:0};return"fixed"===K.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),K.nodeName(e[0],"html")||(i=e.offset()),i.top+=K.css(e[0],"borderTopWidth",!0),i.left+=K.css(e[0],"borderLeftWidth",!0)),{top:t.top-i.top-K.css(n,"marginTop",!0),left:t.left-i.left-K.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||Hn;e&&!K.nodeName(e,"html")&&"static"===K.css(e,"position");)e=e.o
 ffsetParent;return e||Hn})}}),K.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var i="pageYOffset"===n;K.fn[t]=function(r){return mt(this,function(t,r,o){var s=I(t);return void 0===o?s?s[n]:t[r]:void(s?s.scrollTo(i?e.pageXOffset:o,i?o:e.pageYOffset):t[r]=o)},t,r,arguments.length,null)}}),K.each(["top","left"],function(e,t){K.cssHooks[t]=C(G.pixelPosition,function(e,n){return n?(n=w(e,t),Wt.test(n)?K(e).position()[t]+"px":n):void 0})}),K.each({Height:"height",Width:"width"},function(e,t){K.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,i){K.fn[i]=function(i,r){var o=arguments.length&&(n||"boolean"!=typeof i),s=n||(i===!0||r===!0?"margin":"border");return mt(this,function(t,n,i){var r;return K.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(r=t.documentElement,Math.max(t.body["scroll"+e],r["scroll"+e],t.body["offset"+e],r["offset"+e],r["client"+e])):void 0===i?K.css(t,n,s):K.style(t,n,i,s)},t,o?i:void 0,o,null)}})}),K.fn.size=funct
 ion(){return this.length},K.fn.andSelf=K.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return K});var Pn=e.jQuery,On=e.$;return K.noConflict=function(t){return e.$===K&&(e.$=On),t&&e.jQuery===K&&(e.jQuery=Pn),K},typeof t===jt&&(e.jQuery=e.$=K),K}),/**
- * Tabslet | tabs jQuery plugin
- *
- * @copyright Copyright 2015, Dimitris Krestos
- * @license   Apache License, Version 2.0 (http://www.opensource.org/licenses/apache2.0.php)
- * @link      http://vdw.staytuned.gr
- * @version   v1.4.9
- */
-!function($,window,undefined){"use strict";$.fn.tabslet=function(options){var defaults={mouseevent:"click",attribute:"href",animation:!1,autorotate:!1,pauseonhover:!0,delay:2e3,active:1,controls:{prev:".prev",next:".next"}},options=$.extend(defaults,options);return this.each(function(){var $this=$(this),_cache_li=[],_cache_div=[];$this.find("> div").each(function(){_cache_div.push($(this).css("display"))});var elements=$this.find("> ul li"),i=options.active-1;if(!$this.data("tabslet-init")){$this.data("tabslet-init",!0),options.mouseevent=$this.data("mouseevent")||options.mouseevent,options.attribute=$this.data("attribute")||options.attribute,options.animation=$this.data("animation")||options.animation,options.autorotate=$this.data("autorotate")||options.autorotate,options.pauseonhover=$this.data("pauseonhover")||options.pauseonhover,options.delay=$this.data("delay")||options.delay,options.active=$this.data("active")||options.active,$this.find("> div").hide(),options.active&&($this.
 find("> div").eq(options.active-1).show(),$this.find("> ul li").eq(options.active-1).addClass("active"));var fn=eval(function(){$(this).trigger("_before"),$this.find("> ul li").removeClass("active"),$(this).addClass("active"),$this.find("> div").hide(),i=elements.index($(this));var e=$(this).find("a").attr(options.attribute);return options.animation?$this.find(e).animate({opacity:"show"},"slow",function(){$(this).trigger("_after")}):($this.find(e).show(),$(this).trigger("_after")),!1}),init=eval("$this.find('> ul li')."+options.mouseevent+"(fn)"),t,forward=function(){i=++i%elements.length,"hover"==options.mouseevent?elements.eq(i).trigger("mouseover"):elements.eq(i).click(),options.autorotate&&(clearTimeout(t),t=setTimeout(forward,options.delay),$this.mouseover(function(){options.pauseonhover&&clearTimeout(t)}))};options.autorotate&&(t=setTimeout(forward,options.delay),$this.hover(function(){options.pauseonhover&&clearTimeout(t)},function(){t=setTimeout(forward,options.delay)}),opti
 ons.pauseonhover&&$this.on("mouseleave",function(){clearTimeout(t),t=setTimeout(forward,options.delay)}));var move=function(e){"forward"==e&&(i=++i%elements.length),"backward"==e&&(i=--i%elements.length),elements.eq(i).click()};$this.find(options.controls.next).click(function(){move("forward")}),$this.find(options.controls.prev).click(function(){move("backward")}),$this.on("destroy",function(){$(this).removeData().find("> ul li").each(function(){$(this).removeClass("active")}),$(this).find("> div").each(function(e){$(this).removeAttr("style").css("display",_cache_div[e])})})}})},$(document).ready(function(){$('[data-toggle="tabslet"]').tabslet()})}(jQuery),/*! jCarousel - v0.3.5 - 2017-03-15
-* http://sorgalla.com/jcarousel/
-* Copyright (c) 2006-2017 Jan Sorgalla; Licensed MIT */
-function(e){"use strict";var t=e.jCarousel={};t.version="0.3.5";var n=/^([+\-]=)?(.+)$/;t.parseTarget=function(e){var t=!1,i="object"!=typeof e?n.exec(e):null;return i?(e=parseInt(i[2],10)||0,i[1]&&(t=!0,"-="===i[1]&&(e*=-1))):"object"!=typeof e&&(e=parseInt(e,10)||0),{target:e,relative:t}},t.detectCarousel=function(e){for(var t;e.length>0;){if(t=e.filter("[data-jcarousel]"),t.length>0)return t;if(t=e.find("[data-jcarousel]"),t.length>0)return t;e=e.parent()}return null},t.base=function(n){return{version:t.version,_options:{},_element:null,_carousel:null,_init:e.noop,_create:e.noop,_destroy:e.noop,_reload:e.noop,create:function(){return this._element.attr("data-"+n.toLowerCase(),!0).data(n,this),!1===this._trigger("create")?this:(this._create(),this._trigger("createend"),this)},destroy:function(){return!1===this._trigger("destroy")?this:(this._destroy(),this._trigger("destroyend"),this._element.removeData(n).removeAttr("data-"+n.toLowerCase()),this)},reload:function(e){return!1===th
 is._trigger("reload")?this:(e&&this.options(e),this._reload(),this._trigger("reloadend"),this)},element:function(){return this._element},options:function(t,n){if(0===arguments.length)return e.extend({},this._options);if("string"==typeof t){if("undefined"==typeof n)return"undefined"==typeo

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/javascripts/application-a6acb1f5.js.gz
----------------------------------------------------------------------
diff --git a/javascripts/application-a6acb1f5.js.gz b/javascripts/application-a6acb1f5.js.gz
deleted file mode 100644
index 14f86a6..0000000
Binary files a/javascripts/application-a6acb1f5.js.gz and /dev/null differ



[08/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/javascripts/application-3058a372.js
----------------------------------------------------------------------
diff --git a/javascripts/application-3058a372.js b/javascripts/application-3058a372.js
new file mode 100644
index 0000000..30c0644
--- /dev/null
+++ b/javascripts/application-3058a372.js
@@ -0,0 +1,38 @@
+/*!
+ * jQuery JavaScript Library v2.1.4
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-04-28T16:01Z
+ */
+function formCallBack(){}!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t="length"in e&&e.length,n=K.type(e);return"function"===n||K.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function i(e,t,n){if(K.isFunction(t))return K.grep(e,function(e,i){return!!t.call(e,i,e)!==n});if(t.nodeType)return K.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(at.test(t))return K.filter(t,e,n);t=K.filter(t,e)}return K.grep(e,function(e){return U.call(t,e)>=0!==n})}function r(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function o(e){var t=pt[e]={};return K.each(e.match(dt)||[],function(e,n){t[n]=!0}),t}function s(){Z.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1),K.ready()}fun
 ction a(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=K.expando+a.uid++}function l(e,t,n){var i;if(void 0===n&&1===e.nodeType)if(i="data-"+t.replace(bt,"-$1").toLowerCase(),n=e.getAttribute(i),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:xt.test(n)?K.parseJSON(n):n}catch(r){}yt.set(e,t,n)}else n=void 0;return n}function u(){return!0}function c(){return!1}function f(){try{return Z.activeElement}catch(e){}}function h(e,t){return K.nodeName(e,"table")&&K.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function d(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function p(e){var t=Ht.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function g(e,t){for(var n=0,i=e.length;i>n;n++)vt.set(e[n],"globalEval",!t||vt.get(t[n],"globalEval"))}function m(e,t){var n,i,r,o,s,a,l,u;if(1===t.nodeType){if(vt.hasData
 (e)&&(o=vt.access(e),s=vt.set(t,o),u=o.events)){delete s.handle,s.events={};for(r in u)for(n=0,i=u[r].length;i>n;n++)K.event.add(t,r,u[r][n])}yt.hasData(e)&&(a=yt.access(e),l=K.extend({},a),yt.set(t,l))}}function v(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&K.nodeName(e,t)?K.merge([e],n):n}function y(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Tt.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}function x(t,n){var i,r=K(n.createElement(t)).appendTo(n.body),o=e.getDefaultComputedStyle&&(i=e.getDefaultComputedStyle(r[0]))?i.display:K.css(r[0],"display");return r.detach(),o}function b(e){var t=Z,n=Mt[e];return n||(n=x(e,t),"none"!==n&&n||(Rt=(Rt||K("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=Rt[0].contentDocument,t.write(),t.close(),n=x(e,t),Rt.detach()),Mt[e]=n),n}function w(e,t,n){var i,r,o,s,a=e.style;re
 turn n=n||Bt(e),n&&(s=n.getPropertyValue(t)||n[t]),n&&(""!==s||K.contains(e.ownerDocument,e)||(s=K.style(e,t)),Wt.test(s)&&It.test(t)&&(i=a.width,r=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=i,a.minWidth=r,a.maxWidth=o)),void 0!==s?s+"":s}function C(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function _(e,t){if(t in e)return t;for(var n=t[0].toUpperCase()+t.slice(1),i=t,r=Yt.length;r--;)if(t=Yt[r]+n,t in e)return t;return i}function T(e,t,n){var i=Xt.exec(t);return i?Math.max(0,i[1]-(n||0))+(i[2]||"px"):t}function j(e,t,n,i,r){for(var o=n===(i?"border":"content")?4:"width"===t?1:0,s=0;4>o;o+=2)"margin"===n&&(s+=K.css(e,n+Ct[o],!0,r)),i?("content"===n&&(s-=K.css(e,"padding"+Ct[o],!0,r)),"margin"!==n&&(s-=K.css(e,"border"+Ct[o]+"Width",!0,r))):(s+=K.css(e,"padding"+Ct[o],!0,r),"padding"!==n&&(s+=K.css(e,"border"+Ct[o]+"Width",!0,r)));return s}function k(e,t,n){var i=!0,r="width"===t?e.offsetWidth:e.offs
 etHeight,o=Bt(e),s="border-box"===K.css(e,"boxSizing",!1,o);if(0>=r||null==r){if(r=w(e,t,o),(0>r||null==r)&&(r=e.style[t]),Wt.test(r))return r;i=s&&(G.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+j(e,t,n||(s?"border":"content"),i,o)+"px"}function N(e,t){for(var n,i,r,o=[],s=0,a=e.length;a>s;s++)i=e[s],i.style&&(o[s]=vt.get(i,"olddisplay"),n=i.style.display,t?(o[s]||"none"!==n||(i.style.display=""),""===i.style.display&&_t(i)&&(o[s]=vt.access(i,"olddisplay",b(i.nodeName)))):(r=_t(i),"none"===n&&r||vt.set(i,"olddisplay",r?n:K.css(i,"display"))));for(s=0;a>s;s++)i=e[s],i.style&&(t&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=t?o[s]||"":"none"));return e}function E(e,t,n,i,r){return new E.prototype.init(e,t,n,i,r)}function D(){return setTimeout(function(){Gt=void 0}),Gt=K.now()}function $(e,t){var n,i=0,r={height:e};for(t=t?1:0;4>i;i+=2-t)n=Ct[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function S(e,t,n){for(var i,r=(nn[t]
 ||[]).concat(nn["*"]),o=0,s=r.length;s>o;o++)if(i=r[o].call(n,t,e))return i}function A(e,t,n){var i,r,o,s,a,l,u,c,f=this,h={},d=e.style,p=e.nodeType&&_t(e),g=vt.get(e,"fxshow");n.queue||(a=K._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,l=a.empty.fire,a.empty.fire=function(){a.unqueued||l()}),a.unqueued++,f.always(function(){f.always(function(){a.unqueued--,K.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],u=K.css(e,"display"),c="none"===u?vt.get(e,"olddisplay")||b(e.nodeName):u,"inline"===c&&"none"===K.css(e,"float")&&(d.display="inline-block")),n.overflow&&(d.overflow="hidden",f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(r=t[i],Jt.exec(r)){if(delete t[i],o=o||"toggle"===r,r===(p?"hide":"show")){if("show"!==r||!g||void 0===g[i])continue;p=!0}h[i]=g&&g[i]||K.style(e,i)}else u=void 0;if(K.isEmptyObject(h))"inline"===("none"
 ===u?b(e.nodeName):u)&&(d.display=u);else{g?"hidden"in g&&(p=g.hidden):g=vt.access(e,"fxshow",{}),o&&(g.hidden=!p),p?K(e).show():f.done(function(){K(e).hide()}),f.done(function(){var t;vt.remove(e,"fxshow");for(t in h)K.style(e,t,h[t])});for(i in h)s=S(p?g[i]:0,i,f),i in g||(g[i]=s.start,p&&(s.end=s.start,s.start="width"===i||"height"===i?1:0))}}function q(e,t){var n,i,r,o,s;for(n in e)if(i=K.camelCase(n),r=t[i],o=e[n],K.isArray(o)&&(r=o[1],o=e[n]=o[0]),n!==i&&(e[i]=o,delete e[n]),s=K.cssHooks[i],s&&"expand"in s){o=s.expand(o),delete e[i];for(n in o)n in e||(e[n]=o[n],t[n]=r)}else t[i]=r}function L(e,t,n){var i,r,o=0,s=tn.length,a=K.Deferred().always(function(){delete l.elem}),l=function(){if(r)return!1;for(var t=Gt||D(),n=Math.max(0,u.startTime+u.duration-t),i=n/u.duration||0,o=1-i,s=0,l=u.tweens.length;l>s;s++)u.tweens[s].run(o);return a.notifyWith(e,[u,o,n]),1>o&&l?n:(a.resolveWith(e,[u]),!1)},u=a.promise({elem:e,props:K.extend({},t),opts:K.extend(!0,{specialEasing:{}},n),origina
 lProperties:t,originalOptions:n,startTime:Gt||D(),duration:n.duration,tweens:[],createTween:function(t,n){var i=K.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(i),i},stop:function(t){var n=0,i=t?u.tweens.length:0;if(r)return this;for(r=!0;i>n;n++)u.tweens[n].run(1);return t?a.resolveWith(e,[u,t]):a.rejectWith(e,[u,t]),this}}),c=u.props;for(q(c,u.opts.specialEasing);s>o;o++)if(i=tn[o].call(u,e,c,u.opts))return i;return K.map(c,S,u),K.isFunction(u.opts.start)&&u.opts.start.call(e,u),K.fx.timer(K.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function F(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,r=0,o=t.toLowerCase().match(dt)||[];if(K.isFunction(n))for(;i=o[r++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function H(e,t,n,i){function r(a){var l;return o[a]=!0,K.each(e[a]||[],function(e,a){var u
 =a(t,n,i);return"string"!=typeof u||s||o[u]?s?!(l=u):void 0:(t.dataTypes.unshift(u),r(u),!1)}),l}var o={},s=e===bn;return r(t.dataTypes[0])||!o["*"]&&r("*")}function P(e,t){var n,i,r=K.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:i||(i={}))[n]=t[n]);return i&&K.extend(!0,e,i),e}function O(e,t,n){for(var i,r,o,s,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){l.unshift(r);break}if(l[0]in n)o=l[0];else{for(r in n){if(!l[0]||e.converters[r+" "+l[0]]){o=r;break}s||(s=r)}o=o||s}return o?(o!==l[0]&&l.unshift(o),n[o]):void 0}function R(e,t,n,i){var r,o,s,a,l,u={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)u[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(s=u[l+" "+o]||u["* "+o],!s)for(r in u)if(a=r
 .split(" "),a[1]===o&&(s=u[l+" "+a[0]]||u["* "+a[0]])){s===!0?s=u[r]:u[r]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(f){return{state:"parsererror",error:s?f:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}function M(e,t,n,i){var r;if(K.isArray(t))K.each(t,function(t,r){n||jn.test(e)?i(e,r):M(e+"["+("object"==typeof r?t:"")+"]",r,n,i)});else if(n||"object"!==K.type(t))i(e,t);else for(r in t)M(e+"["+r+"]",t[r],n,i)}function I(e){return K.isWindow(e)?e:9===e.nodeType&&e.defaultView}var W=[],B=W.slice,z=W.concat,X=W.push,U=W.indexOf,V={},Q=V.toString,Y=V.hasOwnProperty,G={},Z=e.document,J="2.1.4",K=function(e,t){return new K.fn.init(e,t)},et=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,tt=/^-ms-/,nt=/-([\da-z])/gi,it=function(e,t){return t.toUpperCase()};K.fn=K.prototype={jquery:J,constructor:K,selector:"",length:0,toArray:function(){return B.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:B.call(thi
 s)},pushStack:function(e){var t=K.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return K.each(this,e,t)},map:function(e){return this.pushStack(K.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(B.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:X,sort:W.sort,splice:W.splice},K.extend=K.fn.extend=function(){var e,t,n,i,r,o,s=arguments[0]||{},a=1,l=arguments.length,u=!1;for("boolean"==typeof s&&(u=s,s=arguments[a]||{},a++),"object"==typeof s||K.isFunction(s)||(s={}),a===l&&(s=this,a--);l>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],i=e[t],s!==i&&(u&&i&&(K.isPlainObject(i)||(r=K.isArray(i)))?(r?(r=!1,o=n&&K.isArray(n)?n:[]):o=n&&K.isPlainObject(n)?n:{},s[t]=K.extend(u,o,i)):void 0!==i&&
 (s[t]=i));return s},K.extend({expando:"jQuery"+(J+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===K.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!K.isArray(e)&&e-parseFloat(e)+1>=0},isPlainObject:function(e){return"object"!==K.type(e)||e.nodeType||K.isWindow(e)?!1:e.constructor&&!Y.call(e.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?V[Q.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;e=K.trim(e),e&&(1===e.indexOf("use strict")?(t=Z.createElement("script"),t.text=e,Z.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(tt,"ms-").replace(nt,it)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each
 :function(e,t,i){var r,o=0,s=e.length,a=n(e);if(i){if(a)for(;s>o&&(r=t.apply(e[o],i),r!==!1);o++);else for(o in e)if(r=t.apply(e[o],i),r===!1)break}else if(a)for(;s>o&&(r=t.call(e[o],o,e[o]),r!==!1);o++);else for(o in e)if(r=t.call(e[o],o,e[o]),r===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(et,"")},makeArray:function(e,t){var i=t||[];return null!=e&&(n(Object(e))?K.merge(i,"string"==typeof e?[e]:e):X.call(i,e)),i},inArray:function(e,t,n){return null==t?-1:U.call(t,e,n)},merge:function(e,t){for(var n=+t.length,i=0,r=e.length;n>i;i++)e[r++]=t[i];return e.length=r,e},grep:function(e,t,n){for(var i,r=[],o=0,s=e.length,a=!n;s>o;o++)i=!t(e[o],o),i!==a&&r.push(e[o]);return r},map:function(e,t,i){var r,o=0,s=e.length,a=n(e),l=[];if(a)for(;s>o;o++)r=t(e[o],o,i),null!=r&&l.push(r);else for(o in e)r=t(e[o],o,i),null!=r&&l.push(r);return z.apply([],l)},guid:1,proxy:function(e,t){var n,i,r;return"string"==typeof t&&(n=e[t],t=e,e=n),K.isFunction(e)?(i=B.call(arguments,2)
 ,r=function(){return e.apply(t||this,i.concat(B.call(arguments)))},r.guid=e.guid=e.guid||K.guid++,r):void 0},now:Date.now,support:G}),K.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){V["[object "+t+"]"]=t.toLowerCase()});var rt=/*!
+ * Sizzle CSS Selector Engine v2.2.0-pre
+ * http://sizzlejs.com/
+ *
+ * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2014-12-16
+ */
+function(e){function t(e,t,n,i){var r,o,s,a,l,u,f,d,p,g;if((t?t.ownerDocument||t:M)!==A&&S(t),t=t||A,n=n||[],a=t.nodeType,"string"!=typeof e||!e||1!==a&&9!==a&&11!==a)return n;if(!i&&L){if(11!==a&&(r=yt.exec(e)))if(s=r[1]){if(9===a){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&O(t,o)&&o.id===s)return n.push(o),n}else{if(r[2])return J.apply(n,t.getElementsByTagName(e)),n;if((s=r[3])&&w.getElementsByClassName)return J.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!F||!F.test(e))){if(d=f=R,p=t,g=1!==a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(u=j(e),(f=t.getAttribute("id"))?d=f.replace(bt,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",l=u.length;l--;)u[l]=d+h(u[l]);p=xt.test(e)&&c(t.parentNode)||t,g=u.join(",")}if(g)try{return J.apply(n,p.querySelectorAll(g)),n}catch(m){}finally{f||t.removeAttribute("id")}}}return N(e.replace(lt,"$1"),t,n,i)}function n(){function e(n,i){
 return t.push(n+" ")>C.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[R]=!0,e}function r(e){var t=A.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),i=e.length;i--;)C.attrHandle[n[i]]=t}function s(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function u(e){return i(function(t){return t=+t,i(function(n,i){for(var r,o=e([],n.length,t),s=o.length;s--;)n[r=o[s]]&&(n[r]=!(i[r]=n[r]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function h(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].v
 alue;return i}function d(e,t,n){var i=t.dir,r=n&&"parentNode"===i,o=W++;return t.first?function(t,n,o){for(;t=t[i];)if(1===t.nodeType||r)return e(t,n,o)}:function(t,n,s){var a,l,u=[I,o];if(s){for(;t=t[i];)if((1===t.nodeType||r)&&e(t,n,s))return!0}else for(;t=t[i];)if(1===t.nodeType||r){if(l=t[R]||(t[R]={}),(a=l[i])&&a[0]===I&&a[1]===o)return u[2]=a[2];if(l[i]=u,u[2]=e(t,n,s))return!0}}}function p(e){return e.length>1?function(t,n,i){for(var r=e.length;r--;)if(!e[r](t,n,i))return!1;return!0}:e[0]}function g(e,n,i){for(var r=0,o=n.length;o>r;r++)t(e,n[r],i);return i}function m(e,t,n,i,r){for(var o,s=[],a=0,l=e.length,u=null!=t;l>a;a++)(o=e[a])&&(!n||n(o,i,r))&&(s.push(o),u&&t.push(a));return s}function v(e,t,n,r,o,s){return r&&!r[R]&&(r=v(r)),o&&!o[R]&&(o=v(o,s)),i(function(i,s,a,l){var u,c,f,h=[],d=[],p=s.length,v=i||g(t||"*",a.nodeType?[a]:a,[]),y=!e||!i&&t?v:m(v,h,e,a,l),x=n?o||(i?e:p||r)?[]:s:y;if(n&&n(y,x,a,l),r)for(u=m(x,d),r(u,[],a,l),c=u.length;c--;)(f=u[c])&&(x[d[c]]=!(y[d[c]
 ]=f));if(i){if(o||e){if(o){for(u=[],c=x.length;c--;)(f=x[c])&&u.push(y[c]=f);o(null,x=[],u,l)}for(c=x.length;c--;)(f=x[c])&&(u=o?et(i,f):h[c])>-1&&(i[u]=!(s[u]=f))}}else x=m(x===s?x.splice(p,x.length):x),o?o(null,s,x,l):J.apply(s,x)})}function y(e){for(var t,n,i,r=e.length,o=C.relative[e[0].type],s=o||C.relative[" "],a=o?1:0,l=d(function(e){return e===t},s,!0),u=d(function(e){return et(t,e)>-1},s,!0),c=[function(e,n,i){var r=!o&&(i||n!==E)||((t=n).nodeType?l(e,n,i):u(e,n,i));return t=null,r}];r>a;a++)if(n=C.relative[e[a].type])c=[d(p(c),n)];else{if(n=C.filter[e[a].type].apply(null,e[a].matches),n[R]){for(i=++a;r>i&&!C.relative[e[i].type];i++);return v(a>1&&p(c),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(lt,"$1"),n,i>a&&y(e.slice(a,i)),r>i&&y(e=e.slice(i)),r>i&&h(e))}c.push(n)}return p(c)}function x(e,n){var r=n.length>0,o=e.length>0,s=function(i,s,a,l,u){var c,f,h,d=0,p="0",g=i&&[],v=[],y=E,x=i||o&&C.find.TAG("*",u),b=I+=null==y?1:Math.random()||.1,w=x.l
 ength;for(u&&(E=s!==A&&s);p!==w&&null!=(c=x[p]);p++){if(o&&c){for(f=0;h=e[f++];)if(h(c,s,a)){l.push(c);break}u&&(I=b)}r&&((c=!h&&c)&&d--,i&&g.push(c))}if(d+=p,r&&p!==d){for(f=0;h=n[f++];)h(g,v,s,a);if(i){if(d>0)for(;p--;)g[p]||v[p]||(v[p]=G.call(l));v=m(v)}J.apply(l,v),u&&!i&&v.length>0&&d+n.length>1&&t.uniqueSort(l)}return u&&(I=b,E=y),g};return r?i(s):s}var b,w,C,_,T,j,k,N,E,D,$,S,A,q,L,F,H,P,O,R="sizzle"+1*new Date,M=e.document,I=0,W=0,B=n(),z=n(),X=n(),U=function(e,t){return e===t&&($=!0),0},V=1<<31,Q={}.hasOwnProperty,Y=[],G=Y.pop,Z=Y.push,J=Y.push,K=Y.slice,et=function(e,t){for(var n=0,i=e.length;i>n;n++)if(e[n]===t)return n;return-1},tt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",nt="[\\x20\\t\\r\\n\\f]",it="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",rt=it.replace("w","w#"),ot="\\["+nt+"*("+it+")(?:"+nt+"*([*^$|!~]?=)"+nt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+rt+"))|)"+nt+"*\\]",st=":
 ("+it+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ot+")*)|.*)\\)|)",at=new RegExp(nt+"+","g"),lt=new RegExp("^"+nt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+nt+"+$","g"),ut=new RegExp("^"+nt+"*,"+nt+"*"),ct=new RegExp("^"+nt+"*([>+~]|"+nt+")"+nt+"*"),ft=new RegExp("="+nt+"*([^\\]'\"]*?)"+nt+"*\\]","g"),ht=new RegExp(st),dt=new RegExp("^"+rt+"$"),pt={ID:new RegExp("^#("+it+")"),CLASS:new RegExp("^\\.("+it+")"),TAG:new RegExp("^("+it.replace("w","w*")+")"),ATTR:new RegExp("^"+ot),PSEUDO:new RegExp("^"+st),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+nt+"*(even|odd|(([+-]|)(\\d*)n|)"+nt+"*(?:([+-]|)"+nt+"*(\\d+)|))"+nt+"*\\)|)","i"),bool:new RegExp("^(?:"+tt+")$","i"),needsContext:new RegExp("^"+nt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+nt+"*((?:-\\d)?\\d*)"+nt+"*\\)|)(?=[^-]|$)","i")},gt=/^(?:input|select|textarea|button)$/i,mt=/^h\d$/i,vt=/^[^{]+\{\s*\[native \w/,yt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,xt=/[+~]/,b
 t=/'|\\/g,wt=new RegExp("\\\\([\\da-f]{1,6}"+nt+"?|("+nt+")|.)","ig"),Ct=function(e,t,n){var i="0x"+t-65536;return i!==i||n?t:0>i?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},_t=function(){S()};try{J.apply(Y=K.call(M.childNodes),M.childNodes),Y[M.childNodes.length].nodeType}catch(Tt){J={apply:Y.length?function(e,t){Z.apply(e,K.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}w=t.support={},T=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},S=t.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:M;return i!==A&&9===i.nodeType&&i.documentElement?(A=i,q=i.documentElement,n=i.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",_t,!1):n.attachEvent&&n.attachEvent("onunload",_t)),L=!T(i),w.attributes=r(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=r(function(e){return e.appendChild(i.createComment("")),!e.getEleme
 ntsByTagName("*").length}),w.getElementsByClassName=vt.test(i.getElementsByClassName),w.getById=r(function(e){return q.appendChild(e).id=R,!i.getElementsByName||!i.getElementsByName(R).length}),w.getById?(C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&L){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},C.filter.ID=function(e){var t=e.replace(wt,Ct);return function(e){return e.getAttribute("id")===t}}):(delete C.find.ID,C.filter.ID=function(e){var t=e.replace(wt,Ct);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),C.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},C.find.CLASS=w.getElementsByClassName&&function(e,t){return L?t.getElementsByClassName(e):void 0}
 ,H=[],F=[],(w.qsa=vt.test(i.querySelectorAll))&&(r(function(e){q.appendChild(e).innerHTML="<a id='"+R+"'></a><select id='"+R+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+nt+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+nt+"*(?:value|"+tt+")"),e.querySelectorAll("[id~="+R+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+R+"+*").length||F.push(".#.+[+~]")}),r(function(e){var t=i.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+nt+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=vt.test(P=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&r(function(e){w.disconnectedMatch
 =P.call(e,"div"),P.call(e,"[s!='']:x"),H.push("!=",st)}),F=F.length&&new RegExp(F.join("|")),H=H.length&&new RegExp(H.join("|")),t=vt.test(q.compareDocumentPosition),O=t||vt.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return $=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===i||e.ownerDocument===M&&O(M,e)?-1:t===i||t.ownerDocument===M&&O(M,t)?1:D?et(D,e)-et(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return $=!0,0;var n,r=0,o=e.parentNode,a=t.parentNode,l=[e],u=[t];if(!o||!a)return e===i?-1:t===i?1:o?-1:a?1:D?et(D,e)-et(D,t):0;if(o===a)return s(e,t);for(n=e;n=n.pa
 rentNode;)l.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;l[r]===u[r];)r++;return r?s(l[r],u[r]):l[r]===M?-1:u[r]===M?1:0},i):A},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==A&&S(e),n=n.replace(ft,"='$1']"),!(!w.matchesSelector||!L||H&&H.test(n)||F&&F.test(n)))try{var i=P.call(e,n);if(i||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(r){}return t(n,A,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==A&&S(e),O(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==A&&S(e);var n=C.attrHandle[t.toLowerCase()],i=n&&Q.call(C.attrHandle,t.toLowerCase())?n(e,t,!L):void 0;return void 0!==i?i:w.attributes||!L?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],i=0,r=0;if($=!w.detectDuplicates,D=!w.sortStable&&e.slice(0),e.sort(U),$){for(;t=e[r++
 ];)t===e[r]&&(i=n.push(r));for(;i--;)e.splice(n[i],1)}return D=null,e},_=t.getText=function(e){var t,n="",i=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=_(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[i++];)n+=_(t);return n},C=t.selectors={cacheLength:50,createPseudo:i,match:pt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(wt,Ct),e[3]=(e[3]||e[4]||e[5]||"").replace(wt,Ct),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pt.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n
 &&ht.test(n)&&(t=j(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(wt,Ct).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=B[e+" "];return t||(t=new RegExp("(^|"+nt+")"+e+"("+nt+"|$)"))&&B(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,i){return function(r){var o=t.attr(r,e);return null==o?"!="===n:n?(o+="","="===n?o===i:"!="===n?o!==i:"^="===n?i&&0===o.indexOf(i):"*="===n?i&&o.indexOf(i)>-1:"$="===n?i&&o.slice(-i.length)===i:"~="===n?(" "+o.replace(at," ")+" ").indexOf(i)>-1:"|="===n?o===i||o.slice(0,i.length+1)===i+"-":!1):!0}},CHILD:function(e,t,n,i,r){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===i&&0===r?function(e){return!!e.parentNode}:function(t,n,l){var u,
 c,f,h,d,p,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!l&&!a;if(m){if(o){for(;g;){for(f=t;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[s?m.firstChild:m.lastChild],s&&y){for(c=m[R]||(m[R]={}),u=c[e]||[],d=u[0]===I&&u[1],h=u[0]===I&&u[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(h=d=0)||p.pop();)if(1===f.nodeType&&++h&&f===t){c[e]=[I,d,h];break}}else if(y&&(u=(t[R]||(t[R]={}))[e])&&u[0]===I)h=u[1];else for(;(f=++d&&f&&f[g]||(h=d=0)||p.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++h||(y&&((f[R]||(f[R]={}))[e]=[I,h]),f!==t)););return h-=r,h===i||h%i===0&&h/i>=0}}},PSEUDO:function(e,n){var r,o=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[R]?o(n):o.length>1?(r=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,t){for(var i,r=o(e,n),s=r.length;s--;)i=et(e,r[s]),e[i]=!(t[i]=r[s])}):function(e){return o(e,0,r)
 }):o}},pseudos:{not:i(function(e){var t=[],n=[],r=k(e.replace(lt,"$1"));return r[R]?i(function(e,t,n,i){for(var o,s=r(e,null,i,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:i(function(e){return function(n){return t(e,n).length>0}}),contains:i(function(e){return e=e.replace(wt,Ct),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:i(function(e){return dt.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(wt,Ct).toLowerCase(),function(t){var n;do if(n=L?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===A.activeElement&&(!A.hasFocus||A.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:f
 unction(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return mt.test(e.nodeName)},input:function(e){return gt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[0>n?n+t:n]}),even:u(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:u(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:u(function(e,t,n){for(var i=0>n?n+t:n;--i>=0;)e.push(i)
 ;return e}),gt:u(function(e,t,n){for(var i=0>n?n+t:n;++i<t;)e.push(i);return e})}},C.pseudos.nth=C.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})C.pseudos[b]=a(b);for(b in{submit:!0,reset:!0})C.pseudos[b]=l(b);return f.prototype=C.filters=C.pseudos,C.setFilters=new f,j=t.tokenize=function(e,n){var i,r,o,s,a,l,u,c=z[e+" "];if(c)return n?0:c.slice(0);for(a=e,l=[],u=C.preFilter;a;){(!i||(r=ut.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),l.push(o=[])),i=!1,(r=ct.exec(a))&&(i=r.shift(),o.push({value:i,type:r[0].replace(lt," ")}),a=a.slice(i.length));for(s in C.filter)!(r=pt[s].exec(a))||u[s]&&!(r=u[s](r))||(i=r.shift(),o.push({value:i,type:s,matches:r}),a=a.slice(i.length));if(!i)break}return n?a.length:a?t.error(e):z(e,l).slice(0)},k=t.compile=function(e,t){var n,i=[],r=[],o=X[e+" "];if(!o){for(t||(t=j(e)),n=t.length;n--;)o=y(t[n]),o[R]?i.push(o):r.push(o);o=X(e,x(r,i)),o.selector=e}return o},N=t.select=function(e,t,n,i){var r,o,s,a,l,u="function"==typeof e&&e,f=!
 i&&j(e=u.selector||e);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&"ID"===(s=o[0]).type&&w.getById&&9===t.nodeType&&L&&C.relative[o[1].type]){if(t=(C.find.ID(s.matches[0].replace(wt,Ct),t)||[])[0],!t)return n;u&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(r=pt.needsContext.test(e)?0:o.length;r--&&(s=o[r],!C.relative[a=s.type]);)if((l=C.find[a])&&(i=l(s.matches[0].replace(wt,Ct),xt.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(r,1),e=i.length&&h(o),!e)return J.apply(n,i),n;break}}return(u||k(e,f))(i,t,!L,n,xt.test(e)&&c(t.parentNode)||t),n},w.sortStable=R.split("").sort(U).join("")===R,w.detectDuplicates=!!$,S(),w.sortDetached=r(function(e){return 1&e.compareDocumentPosition(A.createElement("div"))}),r(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&r(function(e){return e.innerHTML="<inpu
 t/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),r(function(e){return null==e.getAttribute("disabled")})||o(tt,function(e,t,n){var i;return n?void 0:e[t]===!0?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),t}(e);K.find=rt,K.expr=rt.selectors,K.expr[":"]=K.expr.pseudos,K.unique=rt.uniqueSort,K.text=rt.getText,K.isXMLDoc=rt.isXML,K.contains=rt.contains;var ot=K.expr.match.needsContext,st=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,at=/^.[^:#\[\.,]*$/;K.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?K.find.matchesSelector(i,e)?[i]:[]:K.find.matches(e,K.grep(t,function(e){return 1===e.nodeType}))},K.fn.extend({find:function(e){var t,n=this.length,i=[],r=this;if("string"!=typeof e)return this.pushStack(K(e).filter(function(){for(t=0;n>t;t++)if(K.contains(r[t],this))return!0}));for(t=0;n>t;t++)K.find(e,r[t],
 i);return i=this.pushStack(n>1?K.unique(i):i),i.selector=this.selector?this.selector+" "+e:e,i},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,"string"==typeof e&&ot.test(e)?K(e):e||[],!1).length}});var lt,ut=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ct=K.fn.init=function(e,t){var n,i;if(!e)return this;if("string"==typeof e){if(n="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ut.exec(e),!n||!n[1]&&t)return!t||t.jquery?(t||lt).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof K?t[0]:t,K.merge(this,K.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:Z,!0)),st.test(n[1])&&K.isPlainObject(t))for(n in t)K.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return i=Z.getElementById(n[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=Z,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):K.isFunction(e)?"undefined"!=type
 of lt.ready?lt.ready(e):e(K):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),K.makeArray(e,this))};ct.prototype=K.fn,lt=K(Z);var ft=/^(?:parents|prev(?:Until|All))/,ht={children:!0,contents:!0,next:!0,prev:!0};K.extend({dir:function(e,t,n){for(var i=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&K(e).is(n))break;i.push(e)}return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}}),K.fn.extend({has:function(e){var t=K(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(K.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,i=0,r=this.length,o=[],s=ot.test(e)||"string"!=typeof e?K(e,t||this.context):0;r>i;i++)for(n=this[i];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&K.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?K.unique(o):o)},index:function(e){return e?"string"==typeof e?U.call(K(e),this[0]):U.call(t
 his,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(K.unique(K.merge(this.get(),K(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),K.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return K.dir(e,"parentNode")},parentsUntil:function(e,t,n){return K.dir(e,"parentNode",n)},next:function(e){return r(e,"nextSibling")},prev:function(e){return r(e,"previousSibling")},nextAll:function(e){return K.dir(e,"nextSibling")},prevAll:function(e){return K.dir(e,"previousSibling")},nextUntil:function(e,t,n){return K.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return K.dir(e,"previousSibling",n)},siblings:function(e){return K.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return K.sibling(e.firstChild)},contents:function(e){return e.contentDocument||K.merge([],e.childNodes)}},function(e,t){K.fn[e]=function(n,i)
 {var r=K.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=K.filter(i,r)),this.length>1&&(ht[e]||K.unique(r),ft.test(e)&&r.reverse()),this.pushStack(r)}});var dt=/\S+/g,pt={};K.Callbacks=function(e){e="string"==typeof e?pt[e]||o(e):K.extend({},e);var t,n,i,r,s,a,l=[],u=!e.once&&[],c=function(o){for(t=e.memory&&o,n=!0,a=r||0,r=0,s=l.length,i=!0;l&&s>a;a++)if(l[a].apply(o[0],o[1])===!1&&e.stopOnFalse){t=!1;break}i=!1,l&&(u?u.length&&c(u.shift()):t?l=[]:f.disable())},f={add:function(){if(l){var n=l.length;!function o(t){K.each(t,function(t,n){var i=K.type(n);"function"===i?e.unique&&f.has(n)||l.push(n):n&&n.length&&"string"!==i&&o(n)})}(arguments),i?s=l.length:t&&(r=n,c(t))}return this},remove:function(){return l&&K.each(arguments,function(e,t){for(var n;(n=K.inArray(t,l,n))>-1;)l.splice(n,1),i&&(s>=n&&s--,a>=n&&a--)}),this},has:function(e){return e?K.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],s=0,this},disable:function(){return l=u=t=void 0
 ,this},disabled:function(){return!l},lock:function(){return u=void 0,t||f.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],i?u.push(t):c(t)),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!n}};return f},K.extend({Deferred:function(e){var t=[["resolve","done",K.Callbacks("once memory"),"resolved"],["reject","fail",K.Callbacks("once memory"),"rejected"],["notify","progress",K.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var e=arguments;return K.Deferred(function(n){K.each(t,function(t,o){var s=K.isFunction(e[t])&&e[t];r[o[1]](function(){var e=s&&s.apply(this,arguments);e&&K.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o[0]+"With"](this===i?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?K.extend
 (e,i):i}},r={};return i.pipe=i.then,K.each(t,function(e,o){var s=o[2],a=o[3];i[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),r[o[0]]=function(){return r[o[0]+"With"](this===r?i:this,arguments),this},r[o[0]+"With"]=s.fireWith}),i.promise(r),e&&e.call(r,r),r},when:function(e){var t,n,i,r=0,o=B.call(arguments),s=o.length,a=1!==s||e&&K.isFunction(e.promise)?s:0,l=1===a?e:K.Deferred(),u=function(e,n,i){return function(r){n[e]=this,i[e]=arguments.length>1?B.call(arguments):r,i===t?l.notifyWith(n,i):--a||l.resolveWith(n,i)}};if(s>1)for(t=new Array(s),n=new Array(s),i=new Array(s);s>r;r++)o[r]&&K.isFunction(o[r].promise)?o[r].promise().done(u(r,i,o)).fail(l.reject).progress(u(r,n,t)):--a;return a||l.resolveWith(i,o),l.promise()}});var gt;K.fn.ready=function(e){return K.ready.promise().done(e),this},K.extend({isReady:!1,readyWait:1,holdReady:function(e){e?K.readyWait++:K.ready(!0)},ready:function(e){(e===!0?--K.readyWait:K.isReady)||(K.isReady=!0,e!==!0&&--K.readyWait>
 0||(gt.resolveWith(Z,[K]),K.fn.triggerHandler&&(K(Z).triggerHandler("ready"),K(Z).off("ready"))))}}),K.ready.promise=function(t){return gt||(gt=K.Deferred(),"complete"===Z.readyState?setTimeout(K.ready):(Z.addEventListener("DOMContentLoaded",s,!1),e.addEventListener("load",s,!1))),gt.promise(t)},K.ready.promise();var mt=K.access=function(e,t,n,i,r,o,s){var a=0,l=e.length,u=null==n;if("object"===K.type(n)){r=!0;for(a in n)K.access(e,t,a,n[a],!0,o,s)}else if(void 0!==i&&(r=!0,K.isFunction(i)||(s=!0),u&&(s?(t.call(e,i),t=null):(u=t,t=function(e,t,n){return u.call(K(e),n)})),t))for(;l>a;a++)t(e[a],n,s?i:i.call(e[a],a,t(e[a],n)));return r?e:u?t.call(e):l?t(e[0],n):o};K.acceptData=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},a.uid=1,a.accepts=K.acceptData,a.prototype={key:function(e){if(!a.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=a.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(i){t[this.expando]=n,K.extend(e,t)}}return this.cache
 [n]||(this.cache[n]={}),n},set:function(e,t,n){var i,r=this.key(e),o=this.cache[r];if("string"==typeof t)o[t]=n;else if(K.isEmptyObject(o))K.extend(this.cache[r],t);else for(i in t)o[i]=t[i];return o},get:function(e,t){var n=this.cache[this.key(e)];return void 0===t?n:n[t]},access:function(e,t,n){var i;return void 0===t||t&&"string"==typeof t&&void 0===n?(i=this.get(e,t),void 0!==i?i:this.get(e,K.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,i,r,o=this.key(e),s=this.cache[o];if(void 0===t)this.cache[o]={};else{K.isArray(t)?i=t.concat(t.map(K.camelCase)):(r=K.camelCase(t),t in s?i=[t,r]:(i=r,i=i in s?[i]:i.match(dt)||[])),n=i.length;for(;n--;)delete s[i[n]]}},hasData:function(e){return!K.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var vt=new a,yt=new a,xt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,bt=/([A-Z])/g;K.extend({hasData:function(e){return yt.hasData(e)||vt.hasData(e)},data:functi
 on(e,t,n){return yt.access(e,t,n)},removeData:function(e,t){yt.remove(e,t)},_data:function(e,t,n){return vt.access(e,t,n)},_removeData:function(e,t){vt.remove(e,t)}}),K.fn.extend({data:function(e,t){var n,i,r,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(r=yt.get(o),1===o.nodeType&&!vt.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(i=s[n].name,0===i.indexOf("data-")&&(i=K.camelCase(i.slice(5)),l(o,i,r[i])));vt.set(o,"hasDataAttrs",!0)}return r}return"object"==typeof e?this.each(function(){yt.set(this,e)}):mt(this,function(t){var n,i=K.camelCase(e);if(o&&void 0===t){if(n=yt.get(o,e),void 0!==n)return n;if(n=yt.get(o,i),void 0!==n)return n;if(n=l(o,i,void 0),void 0!==n)return n}else this.each(function(){var n=yt.get(this,i);yt.set(this,i,t),-1!==e.indexOf("-")&&void 0!==n&&yt.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){yt.remove(this,e)})}}),K.extend({queue:function(e,t,n){var i;return e?(t=(t||"fx")+"queue"
 ,i=vt.get(e,t),n&&(!i||K.isArray(n)?i=vt.access(e,t,K.makeArray(n)):i.push(n)),i||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=K.queue(e,t),i=n.length,r=n.shift(),o=K._queueHooks(e,t),s=function(){K.dequeue(e,t)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===t&&n.unshift("inprogress"),delete o.stop,r.call(e,s,o)),!i&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return vt.get(e,n)||vt.access(e,n,{empty:K.Callbacks("once memory").add(function(){vt.remove(e,[t+"queue",n])})})}}),K.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?K.queue(this[0],e):void 0===t?this:this.each(function(){var n=K.queue(this,e,t);K._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&K.dequeue(this,e)})},dequeue:function(e){return this.each(function(){K.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,i=1,r=K.Deferred(),o=this,s=this.length,a=function(){--i||r.resolveWith(o,[o])};f
 or("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)n=vt.get(o[s],e+"queueHooks"),n&&n.empty&&(i++,n.empty.add(a));return a(),r.promise(t)}});var wt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Ct=["Top","Right","Bottom","Left"],_t=function(e,t){return e=t||e,"none"===K.css(e,"display")||!K.contains(e.ownerDocument,e)},Tt=/^(?:checkbox|radio)$/i;!function(){var e=Z.createDocumentFragment(),t=e.appendChild(Z.createElement("div")),n=Z.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),G.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",G.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var jt="undefined";G.focusinBubbles="onfocusin"in e;var kt=/^key/,Nt=/^(?:mouse|pointer|contextmenu)|click/,Et=/^(?:focusinfocus|focusoutblur)$/,Dt=/^([^.]*)(?:\.(.+)|)$/;K.event={global:{},add:function(e,t,n,i,r){var o,s,a,l,u,c,f,h,d,p,g,m=vt.get(e);if(m)for(n.han
 dler&&(o=n,n=o.handler,r=o.selector),n.guid||(n.guid=K.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(t){return typeof K!==jt&&K.event.triggered!==t.type?K.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(dt)||[""],u=t.length;u--;)a=Dt.exec(t[u])||[],d=g=a[1],p=(a[2]||"").split(".").sort(),d&&(f=K.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,f=K.event.special[d]||{},c=K.extend({type:d,origType:g,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&K.expr.match.needsContext.test(r),namespace:p.join(".")},o),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,p,s)!==!1||e.addEventListener&&e.addEventListener(d,s,!1)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),r?h.splice(h.delegateCount++,0,c):h.push(c),K.event.global[d]=!0)},remove:function(e,t,n,i,r){var o,s,a,l,u,c,f,h,d,p,g,m=vt.hasData(e)&&vt.get(e);if(m&&(l=m.events)){for(t=(t||"").match(dt)||[""],u=t.length;u--;)if(a=Dt.exec(t[u])||[],d=g=a[1],p
 =(a[2]||"").split(".").sort(),d){for(f=K.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,h=l[d]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=h.length;o--;)c=h[o],!r&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,f.remove&&f.remove.call(e,c));s&&!h.length&&(f.teardown&&f.teardown.call(e,p,m.handle)!==!1||K.removeEvent(e,d,m.handle),delete l[d])}else for(d in l)K.event.remove(e,d+t[u],n,i,!0);K.isEmptyObject(l)&&(delete m.handle,vt.remove(e,"events"))}},trigger:function(t,n,i,r){var o,s,a,l,u,c,f,h=[i||Z],d=Y.call(t,"type")?t.type:t,p=Y.call(t,"namespace")?t.namespace.split("."):[];if(s=a=i=i||Z,3!==i.nodeType&&8!==i.nodeType&&!Et.test(d+K.event.triggered)&&(d.indexOf(".")>=0&&(p=d.split("."),d=p.shift(),p.sort()),u=d.indexOf(":")<0&&"on"+d,t=t[K.expando]?t:new K.Event(d,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=p.join("."),t.namespace_r
 e=t.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:K.makeArray(n,[t]),f=K.event.special[d]||{},r||!f.trigger||f.trigger.apply(i,n)!==!1)){if(!r&&!f.noBubble&&!K.isWindow(i)){for(l=f.delegateType||d,Et.test(l+d)||(s=s.parentNode);s;s=s.parentNode)h.push(s),a=s;a===(i.ownerDocument||Z)&&h.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=h[o++])&&!t.isPropagationStopped();)t.type=o>1?l:f.bindType||d,c=(vt.get(s,"events")||{})[t.type]&&vt.get(s,"handle"),c&&c.apply(s,n),c=u&&s[u],c&&c.apply&&K.acceptData(s)&&(t.result=c.apply(s,n),t.result===!1&&t.preventDefault());return t.type=d,r||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!K.acceptData(i)||u&&K.isFunction(i[d])&&!K.isWindow(i)&&(a=i[u],a&&(i[u]=null),K.event.triggered=d,i[d](),K.event.triggered=void 0,a&&(i[u]=a)),t.result
+}},dispatch:function(e){e=K.event.fix(e);var t,n,i,r,o,s=[],a=B.call(arguments),l=(vt.get(this,"events")||{})[e.type]||[],u=K.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!u.preDispatch||u.preDispatch.call(this,e)!==!1){for(s=K.event.handlers.call(this,e,l),t=0;(r=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=r.elem,n=0;(o=r.handlers[n++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,i=((K.event.special[o.origType]||{}).handle||o.handler).apply(r.elem,a),void 0!==i&&(e.result=i)===!1&&(e.preventDefault(),e.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,i,r,o,s=[],a=t.delegateCount,l=e.target;if(a&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!==this;l=l.parentNode||this)if(l.disabled!==!0||"click"!==e.type){for(i=[],n=0;a>n;n++)o=t[n],r=o.selector+" ",void 0===i[r]&&(i[r]=o.needsContext?K(r,this).index(l)>=0:K.find(r,this
 ,null,[l]).length),i[r]&&i.push(o);i.length&&s.push({elem:l,handlers:i})}return a<t.length&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,i,r,o=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||Z,i=n.documentElement,r=n.body,e.pageX=t.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},fix:function(e){if(e[K.expando])return e;var t,n,i,r=e.type,o=e,s=th
 is.fixHooks[r];for(s||(this.fixHooks[r]=s=Nt.test(r)?this.mouseHooks:kt.test(r)?this.keyHooks:{}),i=s.props?this.props.concat(s.props):this.props,e=new K.Event(o),t=i.length;t--;)n=i[t],e[n]=o[n];return e.target||(e.target=Z),3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,o):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==f()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===f()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&K.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return K.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,i){var r=K.extend(new K.Event,n,{type:e,isSimulated:!0,originalEvent:{}});i?K.event.trigger(r,null,t):K.event.dispatch.call(t,r),r.isDefau
 ltPrevented()&&n.preventDefault()}},K.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},K.Event=function(e,t){return this instanceof K.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?u:c):this.type=e,t&&K.extend(this,t),this.timeStamp=e&&e.timeStamp||K.now(),void(this[K.expando]=!0)):new K.Event(e,t)},K.Event.prototype={isDefaultPrevented:c,isPropagationStopped:c,isImmediatePropagationStopped:c,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=u,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=u,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=u,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},K.each({mouseenter:"mouseover",mouseleave:"
 mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){K.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,i=this,r=e.relatedTarget,o=e.handleObj;return(!r||r!==i&&!K.contains(i,r))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),G.focusinBubbles||K.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){K.event.simulate(t,e.target,K.event.fix(e),!0)};K.event.special[t]={setup:function(){var i=this.ownerDocument||this,r=vt.access(i,t);r||i.addEventListener(e,n,!0),vt.access(i,t,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=vt.access(i,t)-1;r?vt.access(i,t,r):(i.removeEventListener(e,n,!0),vt.remove(i,t))}}}),K.fn.extend({on:function(e,t,n,i,r){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=void 0);for(s in e)this.on(s,t,n,e[s],r);return this}if(null==n&&null==i?(i=t,n=t=void 0):null==i&&("string"==typeof t?(i=n,n=void 0):(i=n,n=t,t=void 0)),i===!1)i=c;else if(!i)return this
 ;return 1===r&&(o=i,i=function(e){return K().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=K.guid++)),this.each(function(){K.event.add(this,e,i,n,t)})},one:function(e,t,n,i){return this.on(e,t,n,i,1)},off:function(e,t,n){var i,r;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,K(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(r in e)this.off(r,t,e[r]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=void 0),n===!1&&(n=c),this.each(function(){K.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){K.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?K.event.trigger(e,t,n,!0):void 0}});var $t=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,St=/<([\w:]+)/,At=/<|&#?\w+;/,qt=/<(?:script|style|link)/i,Lt=/checked\s*(?:[^=]|=\s*.checked.)/i,Ft=/^$|\/(?:java|ecma)script/i,Ht=/^true\/(.*)/,Pt=/^\s*<!(?:\[CDATA\[|-
 -)|(?:\]\]|--)>\s*$/g,Ot={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ot.optgroup=Ot.option,Ot.tbody=Ot.tfoot=Ot.colgroup=Ot.caption=Ot.thead,Ot.th=Ot.td,K.extend({clone:function(e,t,n){var i,r,o,s,a=e.cloneNode(!0),l=K.contains(e.ownerDocument,e);if(!(G.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||K.isXMLDoc(e)))for(s=v(a),o=v(e),i=0,r=o.length;r>i;i++)y(o[i],s[i]);if(t)if(n)for(o=o||v(e),s=s||v(a),i=0,r=o.length;r>i;i++)m(o[i],s[i]);else m(e,a);return s=v(a,"script"),s.length>0&&g(s,!l&&v(e,"script")),a},buildFragment:function(e,t,n,i){for(var r,o,s,a,l,u,c=t.createDocumentFragment(),f=[],h=0,d=e.length;d>h;h++)if(r=e[h],r||0===r)if("object"===K.type(r))K.merge(f,r.nodeType?[r]:r);else if(At.test(r)){for(o=o||c.appendChild(t.createElement("div")),s=(St.exec(r)||["",""])[1].t
 oLowerCase(),a=Ot[s]||Ot._default,o.innerHTML=a[1]+r.replace($t,"<$1></$2>")+a[2],u=a[0];u--;)o=o.lastChild;K.merge(f,o.childNodes),o=c.firstChild,o.textContent=""}else f.push(t.createTextNode(r));for(c.textContent="",h=0;r=f[h++];)if((!i||-1===K.inArray(r,i))&&(l=K.contains(r.ownerDocument,r),o=v(c.appendChild(r),"script"),l&&g(o),n))for(u=0;r=o[u++];)Ft.test(r.type||"")&&n.push(r);return c},cleanData:function(e){for(var t,n,i,r,o=K.event.special,s=0;void 0!==(n=e[s]);s++){if(K.acceptData(n)&&(r=n[vt.expando],r&&(t=vt.cache[r]))){if(t.events)for(i in t.events)o[i]?K.event.remove(n,i):K.removeEvent(n,i,t.handle);vt.cache[r]&&delete vt.cache[r]}delete yt.cache[n[yt.expando]]}}}),K.fn.extend({text:function(e){return mt(this,function(e){return void 0===e?K.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=e)})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||
 11===this.nodeType||9===this.nodeType){var t=h(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,i=e?K.filter(e,this):this,r=0;null!=(n=i[r]);r++)t||1!==n.nodeType||K.cleanData(v(n)),n.parentNode&&(t&&K.contains(n.ownerDocument,n)&&g(v(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(K.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return K.clone(this,e,t)})},html:function(e){return mt(this,function(e){var t
 =this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qt.test(e)&&!Ot[(St.exec(e)||["",""])[1].toLowerCase()]){e=e.replace($t,"<$1></$2>");try{for(;i>n;n++)t=this[n]||{},1===t.nodeType&&(K.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(r){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,K.cleanData(v(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=z.apply([],e);var n,i,r,o,s,a,l=0,u=this.length,c=this,f=u-1,h=e[0],g=K.isFunction(h);if(g||u>1&&"string"==typeof h&&!G.checkClone&&Lt.test(h))return this.each(function(n){var i=c.eq(n);g&&(e[0]=h.call(this,n,i.html())),i.domManip(e,t)});if(u&&(n=K.buildFragment(e,this[0].ownerDocument,!1,this),i=n.firstChild,1===n.childNodes.length&&(n=i),i)){for(r=K.map(v(n,"script"),d),o=r.length;u>
 l;l++)s=n,l!==f&&(s=K.clone(s,!0,!0),o&&K.merge(r,v(s,"script"))),t.call(this[l],s,l);if(o)for(a=r[r.length-1].ownerDocument,K.map(r,p),l=0;o>l;l++)s=r[l],Ft.test(s.type||"")&&!vt.access(s,"globalEval")&&K.contains(a,s)&&(s.src?K._evalUrl&&K._evalUrl(s.src):K.globalEval(s.textContent.replace(Pt,"")))}return this}}),K.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){K.fn[e]=function(e){for(var n,i=[],r=K(e),o=r.length-1,s=0;o>=s;s++)n=s===o?this:this.clone(!0),K(r[s])[t](n),X.apply(i,n.get());return this.pushStack(i)}});var Rt,Mt={},It=/^margin/,Wt=new RegExp("^("+wt+")(?!px)[a-z%]+$","i"),Bt=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)};!function(){function t(){s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4
 px;position:absolute",s.innerHTML="",r.appendChild(o);var t=e.getComputedStyle(s,null);n="1%"!==t.top,i="4px"===t.width,r.removeChild(o)}var n,i,r=Z.documentElement,o=Z.createElement("div"),s=Z.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",G.clearCloneStyle="content-box"===s.style.backgroundClip,o.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",o.appendChild(s),e.getComputedStyle&&K.extend(G,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return null==i&&t(),i},reliableMarginRight:function(){var t,n=s.appendChild(Z.createElement("div"));return n.style.cssText=s.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",s.style.width="1px",r.appendChild(o),t=!parseFloat(e.getComputedStyle(n,null).marginRight),r.removeChild(o),s.removeChild(
 n),t}}))}(),K.swap=function(e,t,n,i){var r,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];r=n.apply(e,i||[]);for(o in t)e.style[o]=s[o];return r};var zt=/^(none|table(?!-c[ea]).+)/,Xt=new RegExp("^("+wt+")(.*)$","i"),Ut=new RegExp("^([+-])=("+wt+")","i"),Vt={position:"absolute",visibility:"hidden",display:"block"},Qt={letterSpacing:"0",fontWeight:"400"},Yt=["Webkit","O","Moz","ms"];K.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=w(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,o,s,a=K.camelCase(t),l=e.style;return t=K.cssProps[a]||(K.cssProps[a]=_(l,a)),s=K.cssHooks[t]||K.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(r=s.get(e,!1,i))?r:l[t]:(o=typeof n,"string"===o&&(r=Ut.exec(n))&&(n=(r[1]+1)*r[2]+parseFloat(K.css(e,t)),
 o="number"),null!=n&&n===n&&("number"!==o||K.cssNumber[a]||(n+="px"),G.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,i))||(l[t]=n)),void 0)}},css:function(e,t,n,i){var r,o,s,a=K.camelCase(t);return t=K.cssProps[a]||(K.cssProps[a]=_(e.style,a)),s=K.cssHooks[t]||K.cssHooks[a],s&&"get"in s&&(r=s.get(e,!0,n)),void 0===r&&(r=w(e,t,i)),"normal"===r&&t in Qt&&(r=Qt[t]),""===n||n?(o=parseFloat(r),n===!0||K.isNumeric(o)?o||0:r):r}}),K.each(["height","width"],function(e,t){K.cssHooks[t]={get:function(e,n,i){return n?zt.test(K.css(e,"display"))&&0===e.offsetWidth?K.swap(e,Vt,function(){return k(e,t,i)}):k(e,t,i):void 0},set:function(e,n,i){var r=i&&Bt(e);return T(e,n,i?j(e,t,i,"border-box"===K.css(e,"boxSizing",!1,r),r):0)}}}),K.cssHooks.marginRight=C(G.reliableMarginRight,function(e,t){return t?K.swap(e,{display:"inline-block"},w,[e,"marginRight"]):void 0}),K.each({margin:"",padding:"",border:"Width"},function(e,t){K.cssHooks[e+t]={
 expand:function(n){for(var i=0,r={},o="string"==typeof n?n.split(" "):[n];4>i;i++)r[e+Ct[i]+t]=o[i]||o[i-2]||o[0];return r}},It.test(e)||(K.cssHooks[e+t].set=T)}),K.fn.extend({css:function(e,t){return mt(this,function(e,t,n){var i,r,o={},s=0;if(K.isArray(t)){for(i=Bt(e),r=t.length;r>s;s++)o[t[s]]=K.css(e,t[s],!1,i);return o}return void 0!==n?K.style(e,t,n):K.css(e,t)},e,t,arguments.length>1)},show:function(){return N(this,!0)},hide:function(){return N(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){_t(this)?K(this).show():K(this).hide()})}}),K.Tween=E,E.prototype={constructor:E,init:function(e,t,n,i,r,o){this.elem=e,this.prop=n,this.easing=r||"swing",this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=o||(K.cssNumber[n]?"":"px")},cur:function(){var e=E.propHooks[this.prop];return e&&e.get?e.get(this):E.propHooks._default.get(this)},run:function(e){var t,n=E.propHooks[this.prop];return this.pos=t=this.options.duration?
 K.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):E.propHooks._default.set(this),this}},E.prototype.init.prototype=E.prototype,E.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=K.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){K.fx.step[e.prop]?K.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[K.cssProps[e.prop]]||K.cssHooks[e.prop])?K.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},E.propHooks.scrollTop=E.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},K.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},K.fx=E.prototype.init,K.fx.step={};var Gt,Zt,Jt=/^(?:toggle|show|hide)$/,Kt=new RegExp("^(?:([+-])=|)("+wt+")([a-z%]*)$","i"),en=/q
 ueueHooks$/,tn=[A],nn={"*":[function(e,t){var n=this.createTween(e,t),i=n.cur(),r=Kt.exec(t),o=r&&r[3]||(K.cssNumber[e]?"":"px"),s=(K.cssNumber[e]||"px"!==o&&+i)&&Kt.exec(K.css(n.elem,e)),a=1,l=20;if(s&&s[3]!==o){o=o||s[3],r=r||[],s=+i||1;do a=a||".5",s/=a,K.style(n.elem,e,s+o);while(a!==(a=n.cur()/i)&&1!==a&&--l)}return r&&(s=n.start=+s||+i||0,n.unit=o,n.end=r[1]?s+(r[1]+1)*r[2]:+r[2]),n}]};K.Animation=K.extend(L,{tweener:function(e,t){K.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,i=0,r=e.length;r>i;i++)n=e[i],nn[n]=nn[n]||[],nn[n].unshift(t)},prefilter:function(e,t){t?tn.unshift(e):tn.push(e)}}),K.speed=function(e,t,n){var i=e&&"object"==typeof e?K.extend({},e):{complete:n||!n&&t||K.isFunction(e)&&e,duration:e,easing:n&&t||t&&!K.isFunction(t)&&t};return i.duration=K.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in K.fx.speeds?K.fx.speeds[i.duration]:K.fx.speeds._default,(null==i.queue||i.queue===!0)&&(i.queue="fx"),i.old=i.complete,i.complete=function(){K.isF
 unction(i.old)&&i.old.call(this),i.queue&&K.dequeue(this,i.queue)},i},K.fn.extend({fadeTo:function(e,t,n,i){return this.filter(_t).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(e,t,n,i){var r=K.isEmptyObject(e),o=K.speed(t,n,i),s=function(){var t=L(this,K.extend({},e),o);(r||vt.get(this,"finish"))&&t.stop(!0)};return s.finish=s,r||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var i=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,r=null!=e&&e+"queueHooks",o=K.timers,s=vt.get(this);if(r)s[r]&&s[r].stop&&i(s[r]);else for(r in s)s[r]&&s[r].stop&&en.test(r)&&i(s[r]);for(r=o.length;r--;)o[r].elem!==this||null!=e&&o[r].queue!==e||(o[r].anim.stop(n),t=!1,o.splice(r,1));(t||!n)&&K.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=vt.get(this),i=n[e+"queue"],r=n[e+"queueHooks"],o=K.timers,s=i?
 i.length:0;for(n.finish=!0,K.queue(this,e,[]),r&&r.stop&&r.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)i[t]&&i[t].finish&&i[t].finish.call(this);delete n.finish})}}),K.each(["toggle","show","hide"],function(e,t){var n=K.fn[t];K.fn[t]=function(e,i,r){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate($(t,!0),e,i,r)}}),K.each({slideDown:$("show"),slideUp:$("hide"),slideToggle:$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){K.fn[e]=function(e,n,i){return this.animate(t,e,n,i)}}),K.timers=[],K.fx.tick=function(){var e,t=0,n=K.timers;for(Gt=K.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||K.fx.stop(),Gt=void 0},K.fx.timer=function(e){K.timers.push(e),e()?K.fx.start():K.timers.pop()},K.fx.interval=13,K.fx.start=function(){Zt||(Zt=setInterval(K.fx.tick,K.fx.interval))},K.fx.stop=function(){clearInterval(Zt),Zt=null
 },K.fx.speeds={slow:600,fast:200,_default:400},K.fn.delay=function(e,t){return e=K.fx?K.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var i=setTimeout(t,e);n.stop=function(){clearTimeout(i)}})},function(){var e=Z.createElement("input"),t=Z.createElement("select"),n=t.appendChild(Z.createElement("option"));e.type="checkbox",G.checkOn=""!==e.value,G.optSelected=n.selected,t.disabled=!0,G.optDisabled=!n.disabled,e=Z.createElement("input"),e.value="t",e.type="radio",G.radioValue="t"===e.value}();var rn,on,sn=K.expr.attrHandle;K.fn.extend({attr:function(e,t){return mt(this,K.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){K.removeAttr(this,e)})}}),K.extend({attr:function(e,t,n){var i,r,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return typeof e.getAttribute===jt?K.prop(e,t,n):(1===o&&K.isXMLDoc(e)||(t=t.toLowerCase(),i=K.attrHooks[t]||(K.expr.match.bool.test(t)?on:rn)),void 0===n?i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=K.find.attr(e,t),null==r?void 0
 :r):null!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):void K.removeAttr(e,t))},removeAttr:function(e,t){var n,i,r=0,o=t&&t.match(dt);if(o&&1===e.nodeType)for(;n=o[r++];)i=K.propFix[n]||n,K.expr.match.bool.test(n)&&(e[i]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!G.radioValue&&"radio"===t&&K.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),on={set:function(e,t,n){return t===!1?K.removeAttr(e,n):e.setAttribute(n,n),n}},K.each(K.expr.match.bool.source.match(/\w+/g),function(e,t){var n=sn[t]||K.find.attr;sn[t]=function(e,t,i){var r,o;return i||(o=sn[t],sn[t]=r,r=null!=n(e,t,i)?t.toLowerCase():null,sn[t]=o),r}});var an=/^(?:input|select|textarea|button)$/i;K.fn.extend({prop:function(e,t){return mt(this,K.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[K.propFix[e]||e]})}}),K.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var i
 ,r,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!K.isXMLDoc(e),o&&(t=K.propFix[t]||t,r=K.propHooks[t]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:e[t]=n:r&&"get"in r&&null!==(i=r.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||an.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),G.optSelected||(K.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),K.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){K.propFix[this.toLowerCase()]=this});var ln=/[\t\r\n\f]/g;K.fn.extend({addClass:function(e){var t,n,i,r,o,s,a="string"==typeof e&&e,l=0,u=this.length;if(K.isFunction(e))return this.each(function(t){K(this).addClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(dt)||[];u>l;l++)if(n=this[l],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(ln," "):" ")){for(o=0
 ;r=t[o++];)i.indexOf(" "+r+" ")<0&&(i+=r+" ");s=K.trim(i),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,i,r,o,s,a=0===arguments.length||"string"==typeof e&&e,l=0,u=this.length;if(K.isFunction(e))return this.each(function(t){K(this).removeClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(dt)||[];u>l;l++)if(n=this[l],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(ln," "):"")){for(o=0;r=t[o++];)for(;i.indexOf(" "+r+" ")>=0;)i=i.replace(" "+r+" "," ");s=e?K.trim(i):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(K.isFunction(e)?function(n){K(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,r=K(this),o=e.match(dt)||[];t=o[i++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else(n===jt||"boolean"===n)&&(this.className&&vt.set(this,"__className__",this.class
 Name),this.className=this.className||e===!1?"":vt.get(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(ln," ").indexOf(t)>=0)return!0;return!1}});var un=/\r/g;K.fn.extend({val:function(e){var t,n,i,r=this[0];{if(arguments.length)return i=K.isFunction(e),this.each(function(n){var r;1===this.nodeType&&(r=i?e.call(this,n,K(this).val()):e,null==r?r="":"number"==typeof r?r+="":K.isArray(r)&&(r=K.map(r,function(e){return null==e?"":e+""})),t=K.valHooks[this.type]||K.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))});if(r)return t=K.valHooks[r.type]||K.valHooks[r.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(r,"value"))?n:(n=r.value,"string"==typeof n?n.replace(un,""):null==n?"":n)}}}),K.extend({valHooks:{option:{get:function(e){var t=K.find.attr(e,"value");return null!=t?t:K.trim(K.text(e))}},select:{get:function(e){for(v
 ar t,n,i=e.options,r=e.selectedIndex,o="select-one"===e.type||0>r,s=o?null:[],a=o?r+1:i.length,l=0>r?a:o?r:0;a>l;l++)if(n=i[l],!(!n.selected&&l!==r||(G.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&K.nodeName(n.parentNode,"optgroup"))){if(t=K(n).val(),o)return t;s.push(t)}return s},set:function(e,t){for(var n,i,r=e.options,o=K.makeArray(t),s=r.length;s--;)i=r[s],(i.selected=K.inArray(i.value,o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),K.each(["radio","checkbox"],function(){K.valHooks[this]={set:function(e,t){return K.isArray(t)?e.checked=K.inArray(K(e).val(),t)>=0:void 0}},G.checkOn||(K.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),K.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){K.fn[t]=function(e,n){return arguments
 .length>0?this.on(t,null,e,n):this.trigger(t)}}),K.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var cn=K.now(),fn=/\?/;K.parseJSON=function(e){return JSON.parse(e+"")},K.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(i){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&K.error("Invalid XML: "+e),t};var hn=/#.*$/,dn=/([?&])_=[^&]*/,pn=/^(.*?):[ \t]*([^\r\n]*)$/gm,gn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,mn=/^(?:GET|HEAD)$/,vn=/^\/\//,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,xn={},bn={},wn="*/".concat("*"),Cn=e.location.href,_n=yn.exec(Cn.toLowerCase())||[];K.extend({active:0
 ,lastModified:{},etag:{},ajaxSettings:{url:Cn,type:"GET",isLocal:gn.test(_n[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":wn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":K.parseJSON,"text xml":K.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?P(P(e,K.ajaxSettings),t):P(K.ajaxSettings,e)},ajaxPrefilter:F(xn),ajaxTransport:F(bn),ajax:function(e,t){function n(e,t,n,s){var l,c,v,y,b,C=t;2!==x&&(x=2,a&&clearTimeout(a),i=void 0,o=s||"",w.readyState=e>0?4:0,l=e>=200&&300>e||304===e,n&&(y=O(f,w,n)),y=R(f,y,w,l),l?(f.ifModified&&(b=w.getResponseHeader("Last-Modified"),b&&(K.lastModified[r]=b),b=w.getResponseHeader("etag"),b&&(K.etag[r]=b)),204===e||"HEAD"===f.typ
 e?C="nocontent":304===e?C="notmodified":(C=y.state,c=y.data,v=y.error,l=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),w.status=e,w.statusText=(t||C)+"",l?p.resolveWith(h,[c,C,w]):p.rejectWith(h,[w,C,v]),w.statusCode(m),m=void 0,u&&d.trigger(l?"ajaxSuccess":"ajaxError",[w,f,l?c:v]),g.fireWith(h,[w,C]),u&&(d.trigger("ajaxComplete",[w,f]),--K.active||K.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var i,r,o,s,a,l,u,c,f=K.ajaxSetup({},t),h=f.context||f,d=f.context&&(h.nodeType||h.jquery)?K(h):K.event,p=K.Deferred(),g=K.Callbacks("once memory"),m=f.statusCode||{},v={},y={},x=0,b="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!s)for(s={};t=pn.exec(o);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?o:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=y[n]=y[n]||e,v[e]=t),this},overrideMimeType:function(e){return x||(f.mimeType=e),this},statusCode:fun
 ction(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||b;return i&&i.abort(t),n(0,t),this}};if(p.promise(w).complete=g.add,w.success=w.done,w.error=w.fail,f.url=((e||f.url||Cn)+"").replace(hn,"").replace(vn,_n[1]+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=K.trim(f.dataType||"*").toLowerCase().match(dt)||[""],null==f.crossDomain&&(l=yn.exec(f.url.toLowerCase()),f.crossDomain=!(!l||l[1]===_n[1]&&l[2]===_n[2]&&(l[3]||("http:"===l[1]?"80":"443"))===(_n[3]||("http:"===_n[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=K.param(f.data,f.traditional)),H(xn,f,t,w),2===x)return w;u=K.event&&f.global,u&&0===K.active++&&K.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!mn.test(f.type),r=f.url,f.hasContent||(f.data&&(r=f.url+=(fn.test(r)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=dn.test(r)?r.replace(dn,"$1_="+cn++):r+(fn.test(r)?"&":"?")+"_="+cn++)),f.ifMod
 ified&&(K.lastModified[r]&&w.setRequestHeader("If-Modified-Since",K.lastModified[r]),K.etag[r]&&w.setRequestHeader("If-None-Match",K.etag[r])),(f.data&&f.hasContent&&f.contentType!==!1||t.contentType)&&w.setRequestHeader("Content-Type",f.contentType),w.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+wn+"; q=0.01":""):f.accepts["*"]);for(c in f.headers)w.setRequestHeader(c,f.headers[c]);if(f.beforeSend&&(f.beforeSend.call(h,w,f)===!1||2===x))return w.abort();b="abort";for(c in{success:1,error:1,complete:1})w[c](f[c]);if(i=H(bn,f,t,w)){w.readyState=1,u&&d.trigger("ajaxSend",[w,f]),f.async&&f.timeout>0&&(a=setTimeout(function(){w.abort("timeout")},f.timeout));try{x=1,i.send(v,n)}catch(C){if(!(2>x))throw C;n(-1,C)}}else n(-1,"No Transport");return w},getJSON:function(e,t,n){return K.get(e,t,n,"json")},getScript:function(e,t){return K.get(e,void 0,t,"script")}}),K.each(["get","post"],function(e,t){K[t]=function(e,n,
 i,r){return K.isFunction(n)&&(r=r||i,i=n,n=void 0),K.ajax({url:e,type:t,dataType:r,data:n,success:i})}}),K._evalUrl=function(e){return K.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},K.fn.extend({wrapAll:function(e){var t;return K.isFunction(e)?this.each(function(t){K(this).wrapAll(e.call(this,t))}):(this[0]&&(t=K(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return this.each(K.isFunction(e)?function(t){K(this).wrapInner(e.call(this,t))}:function(){var t=K(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=K.isFunction(e);return this.each(function(n){K(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){K.nodeName(this,"body")||K(this).replaceWith(this.childNodes)}).end()}}),K.expr.filters.hidden=function(e){return e.off
 setWidth<=0&&e.offsetHeight<=0},K.expr.filters.visible=function(e){return!K.expr.filters.hidden(e)};var Tn=/%20/g,jn=/\[\]$/,kn=/\r?\n/g,Nn=/^(?:submit|button|image|reset|file)$/i,En=/^(?:input|select|textarea|keygen)/i;K.param=function(e,t){var n,i=[],r=function(e,t){t=K.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=K.ajaxSettings&&K.ajaxSettings.traditional),K.isArray(e)||e.jquery&&!K.isPlainObject(e))K.each(e,function(){r(this.name,this.value)});else for(n in e)M(n,e[n],t,r);return i.join("&").replace(Tn,"+")},K.fn.extend({serialize:function(){return K.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=K.prop(this,"elements");return e?K.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!K(this).is(":disabled")&&En.test(this.nodeName)&&!Nn.test(e)&&(this.checked||!Tt.test(e))}).map(function(e,t){var n=K(this).val();return null==n?null:K.isArray(n)?K.map(n,fun
 ction(e){return{name:t.name,value:e.replace(kn,"\r\n")}}):{name:t.name,value:n.replace(kn,"\r\n")}}).get()}}),K.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var Dn=0,$n={},Sn={0:200,1223:204},An=K.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in $n)$n[e]()}),G.cors=!!An&&"withCredentials"in An,G.ajax=An=!!An,K.ajaxTransport(function(e){var t;return G.cors||An&&!e.crossDomain?{send:function(n,i){var r,o=e.xhr(),s=++Dn;if(o.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(r in e.xhrFields)o[r]=e.xhrFields[r];e.mimeType&&o.overrideMimeType&&o.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(r in n)o.setRequestHeader(r,n[r]);t=function(e){return function(){t&&(delete $n[s],t=o.onload=o.onerror=null,"abort"===e?o.abort():"error"===e?i(o.status,o.statusText):i(Sn[o.status]||o.status,o.statusText,"string"==typeof o.responseText?{text:o.responseText}:void
  0,o.getAllResponseHeaders()))
+}},o.onload=t(),o.onerror=t("error"),t=$n[s]=t("abort");try{o.send(e.hasContent&&e.data||null)}catch(a){if(t)throw a}},abort:function(){t&&t()}}:void 0}),K.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return K.globalEval(e),e}}}),K.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),K.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,r){t=K("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&r("error"===e.type?404:200,e.type)}),Z.head.appendChild(t[0])},abort:function(){n&&n()}}}});var qn=[],Ln=/(=)\?(?=&|$)|\?\?/;K.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=qn.pop()||K.expando+"_"+cn++;return this[e]=!0,e}}),K.ajaxPrefilter("json jsonp",function(t,n,i){var r,o,s,a=t.jsonp!==!1
 &&(Ln.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ln.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(r=t.jsonpCallback=K.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Ln,"$1"+r):t.jsonp!==!1&&(t.url+=(fn.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return s||K.error(r+" was not called"),s[0]},t.dataTypes[0]="json",o=e[r],e[r]=function(){s=arguments},i.always(function(){e[r]=o,t[r]&&(t.jsonpCallback=n.jsonpCallback,qn.push(r)),s&&K.isFunction(o)&&o(s[0]),s=o=void 0}),"script"):void 0}),K.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||Z;var i=st.exec(e),r=!n&&[];return i?[t.createElement(i[1])]:(i=K.buildFragment([e],t,r),r&&r.length&&K(r).remove(),K.merge([],i.childNodes))};var Fn=K.fn.load;K.fn.load=function(e,t,n){if("string"!=typeof e&&Fn)return Fn.apply(this,arguments);var i,r,o,s=this,a
 =e.indexOf(" ");return a>=0&&(i=K.trim(e.slice(a)),e=e.slice(0,a)),K.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(r="POST"),s.length>0&&K.ajax({url:e,type:r,dataType:"html",data:t}).done(function(e){o=arguments,s.html(i?K("<div>").append(K.parseHTML(e)).find(i):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},K.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){K.fn[t]=function(e){return this.on(t,e)}}),K.expr.filters.animated=function(e){return K.grep(K.timers,function(t){return e===t.elem}).length};var Hn=e.document.documentElement;K.offset={setOffset:function(e,t,n){var i,r,o,s,a,l,u,c=K.css(e,"position"),f=K(e),h={};"static"===c&&(e.style.position="relative"),a=f.offset(),o=K.css(e,"top"),l=K.css(e,"left"),u=("absolute"===c||"fixed"===c)&&(o+l).indexOf("auto")>-1,u?(i=f.position(),s=i.top,r=i.left):(s=parseFloat(o)||0,r=parseFloat(l)||0),K.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(h.top=t.top-a.top
 +s),null!=t.left&&(h.left=t.left-a.left+r),"using"in t?t.using.call(e,h):f.css(h)}},K.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){K.offset.setOffset(this,e,t)});var t,n,i=this[0],r={top:0,left:0},o=i&&i.ownerDocument;if(o)return t=o.documentElement,K.contains(t,i)?(typeof i.getBoundingClientRect!==jt&&(r=i.getBoundingClientRect()),n=I(o),{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r},position:function(){if(this[0]){var e,t,n=this[0],i={top:0,left:0};return"fixed"===K.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),K.nodeName(e[0],"html")||(i=e.offset()),i.top+=K.css(e[0],"borderTopWidth",!0),i.left+=K.css(e[0],"borderLeftWidth",!0)),{top:t.top-i.top-K.css(n,"marginTop",!0),left:t.left-i.left-K.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||Hn;e&&!K.nodeName(e,"html")&&"static"===K.css(e,"position");)e=e.o
 ffsetParent;return e||Hn})}}),K.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var i="pageYOffset"===n;K.fn[t]=function(r){return mt(this,function(t,r,o){var s=I(t);return void 0===o?s?s[n]:t[r]:void(s?s.scrollTo(i?e.pageXOffset:o,i?o:e.pageYOffset):t[r]=o)},t,r,arguments.length,null)}}),K.each(["top","left"],function(e,t){K.cssHooks[t]=C(G.pixelPosition,function(e,n){return n?(n=w(e,t),Wt.test(n)?K(e).position()[t]+"px":n):void 0})}),K.each({Height:"height",Width:"width"},function(e,t){K.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,i){K.fn[i]=function(i,r){var o=arguments.length&&(n||"boolean"!=typeof i),s=n||(i===!0||r===!0?"margin":"border");return mt(this,function(t,n,i){var r;return K.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(r=t.documentElement,Math.max(t.body["scroll"+e],r["scroll"+e],t.body["offset"+e],r["offset"+e],r["client"+e])):void 0===i?K.css(t,n,s):K.style(t,n,i,s)},t,o?i:void 0,o,null)}})}),K.fn.size=funct
 ion(){return this.length},K.fn.andSelf=K.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return K});var Pn=e.jQuery,On=e.$;return K.noConflict=function(t){return e.$===K&&(e.$=On),t&&e.jQuery===K&&(e.jQuery=Pn),K},typeof t===jt&&(e.jQuery=e.$=K),K}),/**
+ * Tabslet | tabs jQuery plugin
+ *
+ * @copyright Copyright 2015, Dimitris Krestos
+ * @license   Apache License, Version 2.0 (http://www.opensource.org/licenses/apache2.0.php)
+ * @link      http://vdw.staytuned.gr
+ * @version   v1.4.9
+ */
+!function($,window,undefined){"use strict";$.fn.tabslet=function(options){var defaults={mouseevent:"click",attribute:"href",animation:!1,autorotate:!1,pauseonhover:!0,delay:2e3,active:1,controls:{prev:".prev",next:".next"}},options=$.extend(defaults,options);return this.each(function(){var $this=$(this),_cache_li=[],_cache_div=[];$this.find("> div").each(function(){_cache_div.push($(this).css("display"))});var elements=$this.find("> ul li"),i=options.active-1;if(!$this.data("tabslet-init")){$this.data("tabslet-init",!0),options.mouseevent=$this.data("mouseevent")||options.mouseevent,options.attribute=$this.data("attribute")||options.attribute,options.animation=$this.data("animation")||options.animation,options.autorotate=$this.data("autorotate")||options.autorotate,options.pauseonhover=$this.data("pauseonhover")||options.pauseonhover,options.delay=$this.data("delay")||options.delay,options.active=$this.data("active")||options.active,$this.find("> div").hide(),options.active&&($this.
 find("> div").eq(options.active-1).show(),$this.find("> ul li").eq(options.active-1).addClass("active"));var fn=eval(function(){$(this).trigger("_before"),$this.find("> ul li").removeClass("active"),$(this).addClass("active"),$this.find("> div").hide(),i=elements.index($(this));var e=$(this).find("a").attr(options.attribute);return options.animation?$this.find(e).animate({opacity:"show"},"slow",function(){$(this).trigger("_after")}):($this.find(e).show(),$(this).trigger("_after")),!1}),init=eval("$this.find('> ul li')."+options.mouseevent+"(fn)"),t,forward=function(){i=++i%elements.length,"hover"==options.mouseevent?elements.eq(i).trigger("mouseover"):elements.eq(i).click(),options.autorotate&&(clearTimeout(t),t=setTimeout(forward,options.delay),$this.mouseover(function(){options.pauseonhover&&clearTimeout(t)}))};options.autorotate&&(t=setTimeout(forward,options.delay),$this.hover(function(){options.pauseonhover&&clearTimeout(t)},function(){t=setTimeout(forward,options.delay)}),opti
 ons.pauseonhover&&$this.on("mouseleave",function(){clearTimeout(t),t=setTimeout(forward,options.delay)}));var move=function(e){"forward"==e&&(i=++i%elements.length),"backward"==e&&(i=--i%elements.length),elements.eq(i).click()};$this.find(options.controls.next).click(function(){move("forward")}),$this.find(options.controls.prev).click(function(){move("backward")}),$this.on("destroy",function(){$(this).removeData().find("> ul li").each(function(){$(this).removeClass("active")}),$(this).find("> div").each(function(e){$(this).removeAttr("style").css("display",_cache_div[e])})})}})},$(document).ready(function(){$('[data-toggle="tabslet"]').tabslet()})}(jQuery),/*! jCarousel - v0.3.5 - 2017-03-15
+* http://sorgalla.com/jcarousel/
+* Copyright (c) 2006-2017 Jan Sorgalla; Licensed MIT */
+function(e){"use strict";var t=e.jCarousel={};t.version="0.3.5";var n=/^([+\-]=)?(.+)$/;t.parseTarget=function(e){var t=!1,i="object"!=typeof e?n.exec(e):null;return i?(e=parseInt(i[2],10)||0,i[1]&&(t=!0,"-="===i[1]&&(e*=-1))):"object"!=typeof e&&(e=parseInt(e,10)||0),{target:e,relative:t}},t.detectCarousel=function(e){for(var t;e.length>0;){if(t=e.filter("[data-jcarousel]"),t.length>0)return t;if(t=e.find("[data-jcarousel]"),t.length>0)return t;e=e.parent()}return null},t.base=function(n){return{version:t.version,_options:{},_element:null,_carousel:null,_init:e.noop,_create:e.noop,_destroy:e.noop,_reload:e.noop,create:function(){return this._element.attr("data-"+n.toLowerCase(),!0).data(n,this),!1===this._trigger("create")?this:(this._create(),this._trigger("createend"),this)},destroy:function(){return!1===this._trigger("destroy")?this:(this._destroy(),this._trigger("destroyend"),this._element.removeData(n).removeAttr("data-"+n.toLowerCase()),this)},reload:function(e){return!1===th
 is._trigger("reload")?this:(e&&this.options(e),this._reload(),this._trigger("reloadend"),this)},element:function(){return this._element},options:function(t,n){if(0===arguments.length)return e.extend({},this._options);if("string"==typeof t){if("undefined"==typeof n)return"undefined"==typeof th

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/javascripts/application-3058a372.js.gz
----------------------------------------------------------------------
diff --git a/javascripts/application-3058a372.js.gz b/javascripts/application-3058a372.js.gz
new file mode 100644
index 0000000..98b4073
Binary files /dev/null and b/javascripts/application-3058a372.js.gz differ



[10/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/gallery/template-gallery/index.html
----------------------------------------------------------------------
diff --git a/gallery/template-gallery/index.html b/gallery/template-gallery/index.html
index 30ca941..ae32d15 100644
--- a/gallery/template-gallery/index.html
+++ b/gallery/template-gallery/index.html
@@ -1,6 +1,6 @@
-<!DOCTYPE html><html><head><title>Engine Template Gallery</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Engine Template Gallery"/><link rel="canonical" href="https://predictionio.apache.org/gallery/template-gallery/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/math
 jax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>â„¢</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-x
 s-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Browse</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class=
 "col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIOâ„¢ Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="fin
 al" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span
 >Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</sp
 an></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an A
 lgorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Met
 rics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/tem
 plates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Pers
 istable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a 
 class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3">
 <a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final active" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tu
 torials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final" href="/community/projects
 /"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Softwa
 re Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="#">Engine Template Gallery</a><span class="spacer">&gt;</span></li><li><span class="last">Browse</span></li></ul></div><div id="page-title"><h1>Engine Template Gallery</h1></div></div><div id="table-of-content-wrapper"><a id="edit-
 page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/gallery/template-gallery.html.md"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="#">Engine Template Gallery</a><span class="spacer">&gt;</span></li><li><span class="last">Browse</span></li></ul></div><div id="page-title"><h1>Engine Template Gallery</h1></div></div><div class="content"><p>Pick a tab for the type of template you are looking for. Some still need to be ported (a simple process) to Apache PIO and these are marked. Also see each Template description for special support instructions.</p><div class="tabs"> <ul class="control"> <li data-lang=""><a href="#tab-9805bb89-ce00-4398-88c6-a1ac6c248dce">Recommenders</a></li> <li data-lang=""><a href="#tab-e7c3a100-0350-4efd-ba94-1f2866213038">Classification</a></li> <li data-lang=""><a href="#tab
 -ffb234d6-cff4-4bb2-876d-ef993fd352ec">Regression</a></li> <li data-lang=""><a href="#tab-762a0324-ebbf-4185-8840-dbc130fb7668">NLP</a></li> <li data-lang=""><a href="#tab-85cdddcd-f2ed-40e9-b0fc-919a9a0abf1e">Clustering</a></li> <li data-lang=""><a href="#tab-4407b69b-ec7a-49bc-8533-96555c3d92a9">Similarity</a></li> <li data-lang=""><a href="#tab-203df6ac-8da2-4263-b637-aa5939631b75">Other</a></li> </ul> <div data-tab="Recommenders" id="tab-9805bb89-ce00-4398-88c6-a1ac6c248dce"> <h3><a href="https://github.com/actionml/universal-recommender">The Universal Recommender</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=actionml&amp;repo=universal-recommender&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Use for: </p> <ul class="tab-list"> <li class="tab-list-element">Personalized recommendations—user-based</li> <li class="tab-list-element">Similar items—item-based</li> <li class="tab-list-element">V
 iewed this bought that—item-based cross-action</li> <li class="tab-list-element">Popular Items and User-defined ranking</li> <li class="tab-list-element">Item-set recommendations for complimentarty purchases or shopping carts—item-set-based</li> <li class="tab-list-element">Hybrid collaborative filtering and content based recommendations—limited content-based</li> <li class-tab-list-element>Business rules</li> </ul> <p>The name "Universal" refers to the use of this template in virtually any case that calls for recommendations - ecommerce, news, videos, virtually anywhere user behavioral data is known. This recommender uses the new <a href="http://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html">Cross-Occurrence (CCO) algorithm</a> to auto-correlate different user actions (clickstream data), profile data, contextual information (location, device), and some content types to make better recommendations. It also implements flexible filters and boosts for implement
 ing business rules.</p> <p>Support: <a href="https://groups.google.com/forum/#!forum/actionml-user">The Universal Recommender user group</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-recommender">Recommendation</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=incubator-predictionio-template-recommender&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> An engine template is an almost-complete implementation of an engine. PredictionIO's Recommendation Engine Template has integrated Apache Spark MLlib's Collaborative Filtering algorithm by default. You ca
 n customize it easily to fit your specific needs. </p> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-ecom-recommender">E-Commerce Recommendation</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=incubator-predictionio-template-ecom-recommender&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template provides personalized recommendation for e-commerce applications with the following features by default: </p> <ul class="tab-list"> <li class="tab-l
 ist-element">Exclude out-of-stock items</li> <li class="tab-list-element">Provide recommendation to new users who sign up after the model is trained</li> <li class="tab-list-element">Recommend unseen items only (configurable)</li> <li class="tab-list-element">Recommend popular items if no information about the user is available (added in template version v0.4.0)</li> </ul> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-similar-product">Similar Product</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=incubator-predictionio-tem
 plate-similar-product&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template recommends products that are "similar" to the input product(s). Similarity is not defined by user or item attributes but by users' previous actions. By default, it uses 'view' action such that product A and B are considered similar if most users who view A also view B. The template can be customized to support other action types such as buy, rate, like..etc </p> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictio
 nio-template-java-ecom-recommender">E-Commerce Recommendation (Java)</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=incubator-predictionio-template-java-ecom-recommender&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template provides personalized recommendation for e-commerce applications with the following features by default: </p> <ul class="tab-list"> <li class="tab-list-element">Exclude out-of-stock items</li> <li class="tab-list-element">Provide recommendation to new users who sign up after the model is trained</li> <li class="tab-list-element">Recommend unseen items only (configurable)</li> <li class="tab-list-element">Recommend popular items if no information about the user is available</li> </ul> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th
 > <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Java</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.3</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/PredictionIO/template-scala-parallel-productranking">Product Ranking</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=PredictionIO&amp;repo=template-scala-parallel-productranking&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template sorts a list of products for a user based on his/her preference. This is ideal for personalizing the display order of product page, catalog, or menu items if you have large number of options. It creates engagement and early conversion by placing products that a user prefers on the top. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min
  version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/PredictionIO/template-scala-parallel-complementarypurchase">Complementary Purchase</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=PredictionIO&amp;repo=template-scala-parallel-complementarypurchase&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template recommends the complementary items which most user frequently buy at the same time with one or more items in the query. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conve
 rsion</td> </tr> </table> <br> <h3><a href="https://github.com/vaibhavist/template-scala-parallel-recommendation">Music Recommendations</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=vaibhavist&amp;repo=template-scala-parallel-recommendation&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is very similar to music recommendations template. It is integrated with all the events a music application can have such as song played, liked, downloaded, purchased, etc. </p> <p>Support: <a href="https://github.com/vaibhavist/template-scala-parallel-recommendation/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://g
 ithub.com/vngrs/template-scala-parallel-viewedthenbought">Viewed This Bought That</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=vngrs&amp;repo=template-scala-parallel-viewedthenbought&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This Engine uses co-occurence algorithm to match viewed items to bought items. Using this engine you may predict which item the user will buy, given the item(s) browsed. </p> <p>Support: <a href="https://github.com/vngrs/template-scala-parallel-viewedthenbought/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/goliasz/pio-template-fpm">Frequent Pattern Mining</a></h3
 > <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&amp;repo=pio-template-fpm&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Template uses FP Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score. Sometimes used as a shopping cart recommender but has other uses. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-fpm/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/ramaboo/template-scala-parallel-similarproduct-with-rating">Similar Product with Rating</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=ramab
 oo&amp;repo=template-scala-parallel-similarproduct-with-rating&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Similar product template with rating support! Used for the MovieLens Demo. </p> <p>Support: <a href="https://github.com/ramaboo/template-scala-parallel-similarproduct-with-rating/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/goliasz/pio-template-fpm">Frequent Pattern Mining</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&amp;repo=pio-template-fpm&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Template uses FP
  Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-fpm/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> </div> <div data-tab="Classification" id="tab-e7c3a100-0350-4efd-ba94-1f2866213038"> <h3><a href="https://github.com/apache/incubator-predictionio-template-attribute-based-classifier">Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=incubator-predictionio-template-attribute-based-classifier&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> An engine template is 
 an almost-complete implementation of an engine. PredictionIO's Classification Engine Template has integrated Apache Spark MLlib's Naive Bayes algorithm by default. </p> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/haricharan123/PredictionIo-lingpipe-MultiLabelClassification">Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=haricharan123&amp;repo=PredictionIo-lingpipe-MultiLabelClassification&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template is an almost-complete implementation of an engi
 ne meant to used with PredictionIO. This Multi-label Classification Engine Template has integrated LingPipe (http://alias-i.com/lingpipe/) algorithm by default. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Java</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.5</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/PredictionIO/template-scala-parallel-leadscoring">Lead Scoring</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=PredictionIO&amp;repo=template-scala-parallel-leadscoring&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template predicts the probability of an user will convert (conversion event by user) in the current session. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Langua
 ge</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-text-classifier">Text Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=incubator-predictionio-template-text-classifier&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Use this engine for general text classification purposes. Uses OpenNLP library for text vectorization, includes t.f.-i.d.f.-based feature transformation and reduction, and uses Spark MLLib's Multinomial Naive Bayes implementation for classification. </p> <p>Support: <a href="https://github.com/apache/incubator-predictionio-template-text-classifier/issues">Github issues</a></p> <br> <tabl
 e> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/andrewwuan/PredictionIO-Churn-Prediction-H2O-Sparkling-Water">Churn Prediction - H2O Sparkling Water</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=andrewwuan&amp;repo=PredictionIO-Churn-Prediction-H2O-Sparkling-Water&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is an engine template with Sparkling Water integration. The goal is to use Deep Learning algorithm to predict the churn rate for a phone carrier's customers. </p> <p>Support: <a href="https://github.com/andrewwuan/PredictionIO-Churn-Prediction-H2O-Sparkling-Water/issues">Github issues</a></p> <br> <table> <tr> <th>Type</
 th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/detrevid/predictionio-template-classification-dl4j">Classification Deeplearning4j</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=detrevid&amp;repo=predictionio-template-classification-dl4j&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> A classification engine template that uses Deeplearning4j library. </p> <p>Support: <a href="https://github.com/detrevid/predictionio-template-classification-dl4j/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>S
 cala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/EmergentOrder/template-scala-probabilistic-classifier-batch-lbfgs">Probabilistic Classifier (Logistic Regression w/ LBFGS)</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=EmergentOrder&amp;repo=template-scala-probabilistic-classifier-batch-lbfgs&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> A PredictionIO engine template using logistic regression (trained with limited-memory BFGS ) with raw (probabilistic) outputs. </p> <p>Support: <a href="https://github.com/EmergentOrder/template-scala-probabilistic-classifier-batch-lbfgs/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>MIT Lice
 nse</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/chrischris292/template-classification-opennlp">Document Classification with OpenNLP</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=chrischris292&amp;repo=template-classification-opennlp&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Document Classification template with OpenNLP GISModel. </p> <p>Support: <a href="https://github.com/chrischris292/template-classification-opennlp/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/harry5z/template-circuit-classification-sparkling-wa
 ter">Circuit End Use Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=harry5z&amp;repo=template-circuit-classification-sparkling-water&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> A classification engine template that uses machine learning models trained with sample circuit energy consumption data and end usage to predict the end use of a circuit by its energy consumption history. </p> <p>Support: <a href="https://github.com/harry5z/template-circuit-classification-sparkling-water/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.1</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/ailurus1991/GBRT_Template_PredictionIO">GBRT_Classif
 ication</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=ailurus1991&amp;repo=GBRT_Template_PredictionIO&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> The Gradient-Boosted Regression Trees(GBRT) for classification. </p> <p>Support: <a href="https://github.com/ailurus1991/GBRT_Template_PredictionIO/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/mohanaprasad1994/PredictionIO-MLlib-Decision-Trees-Template">MLlib-Decision-Trees-Template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=mohanaprasad1994&amp;repo=PredictionIO-MLlib-Decision-Trees-Template&amp;type=star&amp;count=true" fr
 ameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> An engine template is an almost-complete implementation of an engine. This is a classification engine template which has integrated Apache Spark MLlib's Decision tree algorithm by default. </p> <p>Support: <a href="https://github.com/mohanaprasad1994/PredictionIO-MLlib-Decision-Trees-Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/jimmyywu/predictionio-template-classification-dl4j-multilayer-network">Classification with MultiLayerNetwork</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=jimmyywu&amp;repo=predictionio-template-classification-dl4j-multilayer-network&amp;type
 =star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template integrates the MultiLayerNetwork implementation from the Deeplearning4j library into PredictionIO. In this template, we use PredictionIO to classify the widely-known IRIS flower dataset by constructing a deep-belief net. </p> <p>Support: <a href="https://github.com/jimmyywu/predictionio-template-classification-dl4j-multilayer-network/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/thomasste/template-scala-parallel-dl4j-rntn">Deeplearning4j RNTN</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=thomasste&amp;repo=template-scala-parallel-d
 l4j-rntn&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Recursive Neural Tensor Network algorithm is supervised learning algorithm used to predict sentiment of sentences. This template is based on deeplearning4j RNTN example: https://github.com/SkymindIO/deeplearning4j-nlp-examples/tree/master/src/main/java/org/deeplearning4j/rottentomatoes/rntn. It's goal is to show how to integrate deeplearning4j library with PredictionIO. </p> <p>Support: <a href="https://github.com/thomasste/template-scala-parallel-dl4j-rntn/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/singsanj/classifier-kafka-streaming-template">cla
 ssifier-kafka-streaming-template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=singsanj&amp;repo=classifier-kafka-streaming-template&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> The template will provide a simple integration of DASE with kafka using spark streaming capabilites in order to play around with real time notification, messages .. </p> <p>Support: <a href="https://github.com/singsanj/classifier-kafka-streaming-template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>-</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/peoplehum/BagOfWords_SentimentAnalysis_Template">Sentiment Analysis - Bag of Words Model</a></h3> <iframe src="https://g
 hbtns.com/github-btn.html?user=peoplehum&amp;repo=BagOfWords_SentimentAnalysis_Template&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This sentiment analysis template uses a bag of words model. Given text, the engine will return sentiment as 1.0 (positive) or 0.0 (negative) along with scores indicating how +ve or -ve it is. </p> <p>Support: <a href="https://github.com/peoplehum/BagOfWords_SentimentAnalysis_Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/jpioug/predictionio-template-iris">Classification template for Iris</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=jpiou
 g&amp;repo=predictionio-template-iris&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is Python(PySpark) based classification example for Iris dataset. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Python</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.12.0-incubating</td> <td></td> </tr> </table> <br> </div> <div data-tab="Regression" id="tab-ffb234d6-cff4-4bb2-876d-ef993fd352ec"> <h3><a href="https://github.com/goliasz/pio-template-sr">Survival Regression</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&amp;repo=pio-template-sr&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Survival regression template is based on brand new Spark 1.6 AFT (accelerated failure 
 time) survival analysis algorithm. There are interesting applications of survival analysis like: </p> <ul class="tab-list"> <li class="tab-list-element">Business Planning : Profiling customers who has a higher survival rate and make strategy accordingly.</li> <li class="tab-list-element">Lifetime Value Prediction : Engage with customers according to their lifetime value</li> <li class="tab-list-element">Active customers : Predict when the customer will be active for the next time and take interventions accordingly. * Campaign evaluation : Monitor effect of campaign on the survival rate of customers.</li> </ul> Source: http://www.analyticsvidhya.com/blog/2014/04/survival-analysis-model-you/ <p>Support: <a href="http://www.analyticsvidhya.com/blog/2014/04/survival-analysis-model-you/">Blog post</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala
 </td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/BensonQiu/predictionio-template-recommendation-sparklingwater">Sparkling Water-Deep Learning Energy Forecasting</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=BensonQiu&amp;repo=predictionio-template-recommendation-sparklingwater&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This Engine Template demonstrates an energy forecasting engine. It integrates Deep Learning from the Sparkling Water library to perform energy analysis. We can query the circuit and time, and return predicted energy usage. </p> <p>Support: <a href="https://github.com/BensonQiu/predictionio-template-recommendation-sparklingwater/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesio
 n Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/detrevid/predictionio-load-forecasting">Electric Load Forecasting</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=detrevid&amp;repo=predictionio-load-forecasting&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is a PredictionIO engine for electric load forecasting. The engine is using linear regression with stochastic gradient descent from Spark MLlib. </p> <p>Support: <a href="https://github.com/detrevid/predictionio-load-forecasting/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.
 9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/RAditi/PredictionIO-MLLib-LinReg-Template">MLLib-LinearRegression</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=RAditi&amp;repo=PredictionIO-MLLib-LinReg-Template&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template uses the linear regression with stochastic gradient descent algorithm from MLLib to make predictions on real-valued data based on features (explanatory variables) </p> <p>Support: <a href="https://github.com/RAditi/PredictionIO-MLLib-LinReg-Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.1</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https:
 //github.com/mgcdanny/pio-linear-regression-bfgs">Linear Regression BFGS</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=mgcdanny&amp;repo=pio-linear-regression-bfgs&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Modeling the relationship between a dependent variable, y, and one or more explanatory variables, denoted X. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.10.0</td> <td></td> </tr> </table> <br> <h3><a href="https://github.com/jpioug/predictionio-template-boston-house-prices">Regression template for Boston House Prices</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=jpioug&amp;repo=predictionio-template-boston-house-prices&amp;type=star&amp;count=true" frameborder="0
 " align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is Python(PySpark) based regression example for Boston House Prices dataset. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Python</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.12.0-incubating</td> <td></td> </tr> </table> <br> </div> <div data-tab="NLP" id="tab-762a0324-ebbf-4185-8840-dbc130fb7668"> <h3><a href="https://github.com/goliasz/pio-template-text-similarity">Cstablo-template-text-similarity-classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&amp;repo=pio-template-text-similarity&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Text similarity engine based on Word2Vec algorithm. Builds vectors of full documents in training phase. Finds 
 similar documents in query phase. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-text-similarity/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/peoplehum/template-Labelling-Topics-with-wikipedia">Topic Labelling with Wikipedia</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=peoplehum&amp;repo=template-Labelling-Topics-with-wikipedia&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template will label topics (e.g. topic generated through LDA topic modeling) with relevant category by referring to Wikipedia as a knowledge base. </p> <p>Support: <a href="https://github.com/pe
 oplehum/template-Labelling-Topics-with-wikipedia/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-text-classifier">Text Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=incubator-predictionio-template-text-classifier&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Use this engine for general text classification purposes. Uses OpenNLP library for text vectorization, includes t.f.-i.d.f.-based feature transformation and reduction, and uses Spark MLLib's Multinomial Naive Bayes implementation for classification. </p> <p
 >Support: <a href="https://github.com/apache/incubator-predictionio-template-text-classifier/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/thomasste/template-scala-parallel-dl4j-rntn">Deeplearning4j RNTN</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=thomasste&amp;repo=template-scala-parallel-dl4j-rntn&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Recursive Neural Tensor Network algorithm is supervised learning algorithm used to predict sentiment of sentences. This template is based on deeplearning4j RNTN example: https://github.com/SkymindIO/deeplearning4j-nlp-examples/tree/master/src/main
 /java/org/deeplearning4j/rottentomatoes/rntn. It's goal is to show how to integrate deeplearning4j library with PredictionIO. </p> <p>Support: <a href="https://github.com/thomasste/template-scala-parallel-dl4j-rntn/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/peoplehum/BagOfWords_SentimentAnalysis_Template">Sentiment Analysis - Bag of Words Model</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=peoplehum&amp;repo=BagOfWords_SentimentAnalysis_Template&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This sentiment analysis template uses a bag of words model. Given text, the engine will return se
 ntiment as 1.0 (positive) or 0.0 (negative) along with scores indicating how +ve or -ve it is. </p> <p>Support: <a href="https://github.com/peoplehum/BagOfWords_SentimentAnalysis_Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/infoquestsolutions/OpenNLP-SentimentAnalysis-Template">OpenNLP Sentiment Analysis Template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=infoquestsolutions&amp;repo=OpenNLP-SentimentAnalysis-Template&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Given a sentence, this engine will return a score between 0 and 4. This is the sentiment of the sentence
 . The lower the number the more negative the sentence is. It uses the OpenNLP library. </p> <p>Support: <a href="https://github.com/infoquestsolutions/OpenNLP-SentimentAnalysis-Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/pawel-n/template-scala-cml-sentiment">Sentiment analysis</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=pawel-n&amp;repo=template-scala-cml-sentiment&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template implements various algorithms for sentiment analysis, most based on recursive neural networks (RNN) and recursive neural tensor networks (RNTN)[1
 ]. It uses an experimental library called Composable Machine Learning (CML) and the Stanford Parser. The example data set is the Stanford Sentiment Treebank. </p> <p>Support: <a href="https://github.com/pawel-n/template-scala-cml-sentiment/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/pawel-n/template-scala-parallel-word2vec">Word2Vec</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=pawel-n&amp;repo=template-scala-parallel-word2vec&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template integrates the Word2Vec implementation from deeplearning4j with PredictionIO. The Word2Vec algorithm ta
 kes a corpus of text and computes a vector representation for each word. These representations can be subsequently used in many natural language processing applications. </p> <p>Support: <a href="https://github.com/pawel-n/template-scala-parallel-word2vec/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/thomasste/template-scala-spark-dl4j-word2vec">Spark Deeplearning4j Word2Vec</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=thomasste&amp;repo=template-scala-spark-dl4j-word2vec&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template shows how to integrate Deeplearnign4j spark api with Predi
 ctionIO on example of app which uses Word2Vec algorithm to predict nearest words. </p> <p>Support: <a href="https://github.com/thomasste/template-scala-spark-dl4j-word2vec/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/whhone/template-sentiment-analysis">Sentiment Analysis Template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=whhone&amp;repo=template-sentiment-analysis&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Given a sentence, return a score between 0 and 4, indicating the sentence's sentiment. 0 being very negative, 4 being very positive, 2 being neutral. The engine uses the stanfor
 d CoreNLP library and the Scala binding `gangeli/CoreNLP-Scala` for parsing. </p> <p>Support: <a href="https://github.com/whhone/template-sentiment-analysis/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>None</td> <td>stable</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/thomasste/template-scala-rnn">Recursive Neural Networks (Sentiment Analysis)</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=thomasste&amp;repo=template-scala-rnn&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Predicting sentiment of phrases with use of Recursive Neural Network algorithm and OpenNLP parser. </p> <p>Support: <a href="https://github.com/thomasste/template-scala-rnn/issues">Github issues</a><
 /p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/Ling-Ling/CoreNLP-Text-Classification">CoreNLP Text Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=Ling-Ling&amp;repo=CoreNLP-Text-Classification&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine uses CoreNLP to do text analysis in order to classify the category a strings of text falls under. </p> <p>Support: <a href="https://github.com/Ling-Ling/CoreNLP-Text-Classification/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th>
  </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>-</td> <td>requires conversion</td> </tr> </table> <br> </div> <div data-tab="Clustering" id="tab-85cdddcd-f2ed-40e9-b0fc-919a9a0abf1e"> <h3><a href="https://github.com/sahiliitm/predictionio-MLlibKMeansClusteringTemplate">MLlibKMeansClustering</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=sahiliitm&amp;repo=predictionio-MLlibKMeansClusteringTemplate&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is a template which demonstrates the use of K-Means clustering algorithm which can be deployed on a spark-cluster using prediction.io. </p> <p>Support: <a href="https://github.com/sahiliitm/predictionio-MLlibKMeansClusteringTemplate/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr
 > <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>-</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/EmergentOrder/template-scala-topic-model-LDA">Topc Model (LDA)</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=EmergentOrder&amp;repo=template-scala-topic-model-LDA&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> A PredictionIO engine template using Latent Dirichlet Allocation to learn a topic model from raw text </p> <p>Support: <a href="https://github.com/EmergentOrder/template-scala-topic-model-LDA/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.4</td> <td>requires conversion</td> </tr> </table> <br> <h3><a
  href="https://github.com/singsanj/KMeans-parallel-template">KMeans-Clustering-Template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=singsanj&amp;repo=KMeans-parallel-template&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> forked from PredictionIO/template-scala-parallel-vanilla. It implements the KMeans Algorithm. Can be extended to mainstream implementation with minor changes. </p> <p>Support: <a href="https://github.com/singsanj/KMeans-parallel-template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/peoplehum/template-Labelling-Topics-with-wikipedia">Topic Labelling with Wikipedia</a></h
 3> <iframe src="https://ghbtns.com/github-btn.html?user=peoplehum&amp;repo=template-Labelling-Topics-with-wikipedia&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template will label topics (e.g. topic generated through LDA topic modeling) with relevant category by referring to Wikipedia as a knowledge base. </p> <p>Support: <a href="https://github.com/peoplehum/template-Labelling-Topics-with-wikipedia/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> </div> <div data-tab="Similarity" id="tab-4407b69b-ec7a-49bc-8533-96555c3d92a9"> <h3><a href="https://github.com/alexice/template-scala-parallel-svd-item-similarity">Content Ba
 sed SVD Item Similarity Engine</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=alexice&amp;repo=template-scala-parallel-svd-item-similarity&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Template to calculate similarity between items based on their attributes—sometimes called content-based similarity. Attributes can be either numeric or categorical in the last case it will be encoded using one-hot encoder. Algorithm uses SVD in order to reduce data dimensionality. Cosine similarity is now implemented but can be easily extended to other similarity measures. </p> <p>Support: <a href="https://groups.google.com/forum/#!forum/actionml-user">The Universal Recommender user group</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td
 >alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/goliasz/pio-template-text-similarity">Cstablo-template-text-similarity-classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&amp;repo=pio-template-text-similarity&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Text similarity engine based on Word2Vec algorithm. Builds vectors of full documents in training phase. Finds similar documents in query phase. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-text-similarity/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://git
 hub.com/ramaboo/template-scala-parallel-similarproduct-with-rating">Similar Product with Rating</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=ramaboo&amp;repo=template-scala-parallel-similarproduct-with-rating&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Similar product template with rating support! Used for the MovieLens Demo. </p> <p>Support: <a href="https://github.com/ramaboo/template-scala-parallel-similarproduct-with-rating/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> </div> <div data-tab="Other" id="tab-203df6ac-8da2-4263-b637-aa5939631b75"> <h3><a href="https://github.com/goliasz/pio-template-fpm">Frequent Patte
 rn Mining</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&amp;repo=pio-template-fpm&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Template uses FP Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-fpm/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/anthill/template-decision-tree-feature-importance">template-decision-tree-feature-importance</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=anthill&amp;repo=template-decision-tree-feature-i
 mportance&amp;type=star&amp;count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template shows how to use spark' decision tree. It enables : - both categorical and continuous features - feature importance calculation - tree output in json - reading training data from a csv file </p> <p>Support: <a href="https://github.com/anthill/template-decision-tree-feature-importance/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-skeleton">Skeleton</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=incubator-predictionio-template-skeleton&amp;type=star&amp;count=true" fra
 meborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Skeleton template is for developing new engine when you find other engine templates do not fit your needs. This template provides a skeleton to kick start new engine development. </p> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>already compatible</td> </tr> </table> <br> </div> </div> </div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apac
 he.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/community/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feat
 her logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>â„¢</span></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch"
  data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
+<!DOCTYPE html><html><head><title>Engine Template Gallery</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Engine Template Gallery"/><link rel="canonical" href="https://predictionio.apache.org/gallery/template-gallery/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/math
 jax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>â„¢</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-x
 s-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Browse</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class=
 "col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIOâ„¢ Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="fin
 al" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span
 >Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</sp
 an></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an A
 lgorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Met
 rics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/tem
 plates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Pers
 istable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a 
 class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3">
 <a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final active" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tu
 torials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/gallery/template-gallery/index.html.gz
----------------------------------------------------------------------
diff --git a/gallery/template-gallery/index.html.gz b/gallery/template-gallery/index.html.gz
index ed113e5..6bbe0ab 100644
Binary files a/gallery/template-gallery/index.html.gz and b/gallery/template-gallery/index.html.gz differ



[03/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/javaecommercerecommendation/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/javaecommercerecommendation/quickstart/index.html b/templates/javaecommercerecommendation/quickstart/index.html
index c0b7c1c..e47ec2c 100644
--- a/templates/javaecommercerecommendation/quickstart/index.html
+++ b/templates/javaecommercerecommendation/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>.
-</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect training data for this Engine. By default, the E-Commerce Recommendation Engine Template supports 2 types of entities and 2 events: <strong>user</strong> and <strong>item</strong>; events <strong>view</strong> and <strong>buy</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view and buy an item. The specical <strong>constraint</strong> entiy with entityId <strong>unavailableItems</strong> defines a list of unavailable items and is taken into account in realtime during serving.</p><p>In summary, this template requires &#39;$set&#39; user event, &#39;$set&#39; item event, user-view-item events, user-buy-item event and &#39;$set&#39; constraint event.</p><div class="alert-message info"><p>This template can easily be customized to consider other user-to-it
 em events.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when a new user with id &quot;u0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this 
 event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-01035731-1962-4da7-8b50-3dd1618340e2">REST API</a></li> <li data-lang="python"><a href="#tab-3f6f5bec-f3a2-419b-9702-d7d9e035a276">Python SDK</a></li> <li data-lang="php"><a href="#tab-bdd4afdf-30a7-4623-8b2e-b3bf46869218">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-7c7acace-f715-4758-af07-5bc5377930aa">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-1a1289f1-8173-4c69-becf-5a4dd90ef8a0">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-01035731-1962-4da7-8b50-3dd1618340e2"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect training data for this Engine. By default, the E-Commerce Recommendation Engine Template supports 2 types of entities and 2 events: <strong>user</strong> and <strong>item</strong>; events <strong>view</strong> and <strong>buy</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view and buy an item. The specical <strong>constraint</strong> entiy with entityId <strong>unavailableItems</strong> defines a list of unavailable items and is taken into account in realtime during serving.</p><p>In summary, this template requires &#39;$set&#39; user event, &#39;$set&#39; item event, user-view-item events, user-buy-item event and &#39;$set&#39; constraint event.</p><div class="alert-message info"><p>This template can easily be customized to consider other user-to-it
 em events.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when a new user with id &quot;u0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this 
 event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-fbb5db32-2aa3-40af-a16b-912ecb334554">REST API</a></li> <li data-lang="python"><a href="#tab-d77c1dcf-0456-458c-809a-9dee7a8a1509">Python SDK</a></li> <li data-lang="php"><a href="#tab-afca0782-e297-4693-96c8-252e2d01372d">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-86a1d701-c5d6-4766-bf2c-2a7429540ec9">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-201d4750-c11d-40ed-a000-d176abae32dc">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-fbb5db32-2aa3-40af-a16b-912ecb334554"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -47,7 +47,7 @@ Your system is all ready to go.
   "entityId" : "u0",
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-3f6f5bec-f3a2-419b-9702-d7d9e035a276"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-d77c1dcf-0456-458c-809a-9dee7a8a1509"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -78,7 +78,7 @@ Your system is all ready to go.
   <span class="n">entity_type</span><span class="o">=</span><span class="s">"user"</span><span class="p">,</span>
   <span class="n">entity_id</span><span class="o">=&lt;</span><span class="n">USER_ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-bdd4afdf-30a7-4623-8b2e-b3bf46869218"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-afca0782-e297-4693-96c8-252e2d01372d"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -119,7 +119,7 @@ Your system is all ready to go.
   <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'categories'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'&lt;CATEGORY_1&gt;'</span><span class="p">,</span> <span class="s1">'&lt;CATEGORY_2&gt;'</span><span class="p">))</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-7c7acace-f715-4758-af07-5bc5377930aa"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-86a1d701-c5d6-4766-bf2c-2a7429540ec9"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -136,7 +136,7 @@ Your system is all ready to go.
   <span class="s1">'user'</span><span class="p">,</span>
   <span class="o">&lt;</span><span class="no">USER</span> <span class="no">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-1a1289f1-8173-4c69-becf-5a4dd90ef8a0"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-201d4750-c11d-40ed-a000-d176abae32dc"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -161,7 +161,7 @@ Your system is all ready to go.
   <span class="o">.</span><span class="na">entityType</span><span class="o">(</span><span class="s">"user"</span><span class="o">)</span>
   <span class="o">.</span><span class="na">entityId</span><span class="o">(&lt;</span><span class="n">USER_ID</span><span class="o">&gt;);</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">userEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item &quot;i0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Note that the item is set with categories properties: <code>&quot;c1&quot;</code> and <code>&quot;c2&quot;</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-3c858b73-0ee3-4d23-b1a2-0e05444d9bb8">REST API</a></li> <li data-lang="python"><a href="#tab-d753f10b-d761-4eba-9406-ff5e16466523">Python SDK</a></li> <li data-lang="php"><a href="#tab-e62a578a-2c16-4323-a798-7501fc8f62df">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5042c084-05f9-4a90-b0ee-f34896c1634d">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-8ca30a4d-0a88-437e-8aee-e8434df1d76d">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-3c858b
 73-0ee3-4d23-b1a2-0e05444d9bb8"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item &quot;i0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Note that the item is set with categories properties: <code>&quot;c1&quot;</code> and <code>&quot;c2&quot;</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-995c4438-61ee-4dd9-930a-5f968846c412">REST API</a></li> <li data-lang="python"><a href="#tab-84a62421-533f-4602-8e41-abe8eefe82a8">Python SDK</a></li> <li data-lang="php"><a href="#tab-301cfdd9-8599-44fa-961b-5d5195cce1b2">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-a5142b61-e192-4fd1-be6a-a83a46675bf6">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-3309865c-82f6-4ac4-8788-f206928beb16">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-995c44
 38-61ee-4dd9-930a-5f968846c412"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -182,7 +182,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-d753f10b-d761-4eba-9406-ff5e16466523"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-84a62421-533f-4602-8e41-abe8eefe82a8"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -201,7 +201,7 @@ Your system is all ready to go.
     <span class="s">"categories"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"&lt;CATEGORY_1&gt;"</span><span class="p">,</span> <span class="s">"&lt;CATEGORY_2&gt;"</span><span class="p">]</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-e62a578a-2c16-4323-a798-7501fc8f62df"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-301cfdd9-8599-44fa-961b-5d5195cce1b2"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -218,7 +218,7 @@ Your system is all ready to go.
   <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'categories'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'&lt;CATEGORY_1&gt;'</span><span class="p">,</span> <span class="s1">'&lt;CATEGORY_2&gt;'</span><span class="p">))</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-5042c084-05f9-4a90-b0ee-f34896c1634d"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-a5142b61-e192-4fd1-be6a-a83a46675bf6"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -235,7 +235,7 @@ Your system is all ready to go.
   <span class="p">}</span>
 <span class="p">)</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-8ca30a4d-0a88-437e-8aee-e8434df1d76d"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-3309865c-82f6-4ac4-8788-f206928beb16"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -248,7 +248,7 @@ Your system is all ready to go.
   <span class="o">.</span><span class="na">entityId</span><span class="o">(&lt;</span><span class="n">ITEM_ID</span><span class="o">&gt;)</span>
   <span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"categories"</span><span class="o">,</span> <span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"&lt;CATEGORY_1&gt;"</span><span class="o">,</span> <span class="s">"&lt;CATEGORY_2&gt;"</span><span class="o">));</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">itemEvent</span><span class="o">)</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>The properties of the <code>user</code> and <code>item</code> can be set, unset, or delete by special events <strong>$set</strong>, <strong>$unset</strong> and <strong>$delete</strong>. Please refer to <a href="/datacollection/eventapi/#note-about-properties">Event API</a> for more details of using these events.</p><p>When the user &quot;u0&quot; view item &quot;i0&quot; on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-cbf3739f-4907-4852-bcee-2d0f0eeb1850">REST API</a></li> <li data-lang="python"><a href="#tab-7c56c09d-d696-4b95-8271-a506d0ac05f2">Python SDK</a></li> <li data-lang="php"><a href="#tab-3ffb2b4a-543f-4e1c-8f7a-f0565e7d6ada">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-157cb020-29bb-407a-bc93-f35dd4
 7593b7">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-ff9495c5-668c-4922-9bcd-5e0f800495b8">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-cbf3739f-4907-4852-bcee-2d0f0eeb1850"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>The properties of the <code>user</code> and <code>item</code> can be set, unset, or delete by special events <strong>$set</strong>, <strong>$unset</strong> and <strong>$delete</strong>. Please refer to <a href="/datacollection/eventapi/#note-about-properties">Event API</a> for more details of using these events.</p><p>When the user &quot;u0&quot; view item &quot;i0&quot; on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-40a73a76-c678-4cf3-96f1-e78497688186">REST API</a></li> <li data-lang="python"><a href="#tab-22588bc3-f649-4227-b997-0e078c6d46a7">Python SDK</a></li> <li data-lang="php"><a href="#tab-79cc3508-97af-4252-b1b2-e204365ebb06">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-493d400b-a682-4abf-b6b8-4d6386
 fe0ad8">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-e60961ba-70b5-4dfd-83b4-f40a387dcbe6">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-40a73a76-c678-4cf3-96f1-e78497688186"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -267,7 +267,7 @@ Your system is all ready to go.
   "targetEntityId" : "i0",
   "eventTime" : "2014-11-10T12:34:56.123-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-7c56c09d-d696-4b95-8271-a506d0ac05f2"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-22588bc3-f649-4227-b997-0e078c6d46a7"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -284,7 +284,7 @@ Your system is all ready to go.
   <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span>
   <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-3ffb2b4a-543f-4e1c-8f7a-f0565e7d6ada"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-79cc3508-97af-4252-b1b2-e204365ebb06"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -303,7 +303,7 @@ Your system is all ready to go.
    <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-157cb020-29bb-407a-bc93-f35dd47593b7"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-493d400b-a682-4abf-b6b8-4d6386fe0ad8"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -322,7 +322,7 @@ Your system is all ready to go.
   <span class="p">}</span>
 <span class="p">)</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-ff9495c5-668c-4922-9bcd-5e0f800495b8"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-e60961ba-70b5-4dfd-83b4-f40a387dcbe6"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -337,7 +337,7 @@ Your system is all ready to go.
     <span class="o">.</span><span class="na">targetEntityType</span><span class="o">(</span><span class="s">"item"</span><span class="o">)</span>
     <span class="o">.</span><span class="na">targetEntityId</span><span class="o">(&lt;</span><span class="n">ITEM_ID</span><span class="o">&gt;);</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">viewEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user &quot;u0&quot; buy item &quot;i0&quot; on time <code>2014-11-10T13:00:00.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-d102ea9f-40a9-4bb5-9fb2-73965e5c9a76">REST API</a></li> <li data-lang="python"><a href="#tab-0533d6ee-ac32-411a-8169-b67ce8397333">Python SDK</a></li> <li data-lang="php"><a href="#tab-2b0f2756-498b-46d0-a063-808a36b5fadc">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-4e42db7b-fd26-44e6-a8d0-843df4c46af2">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-3d9fea8d-c7c7-41af-a837-db2faa39e4d0">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-d102ea9f-40a9-4bb5-9fb2-73965e5c9a76"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-
 align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user &quot;u0&quot; buy item &quot;i0&quot; on time <code>2014-11-10T13:00:00.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-1db0e06d-ffca-45ed-aeaa-0110c6400327">REST API</a></li> <li data-lang="python"><a href="#tab-f4adf02f-fddf-4f1f-bfce-c36500babf49">Python SDK</a></li> <li data-lang="php"><a href="#tab-279906b9-e509-4556-8cad-8be916459fe4">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-01bbeba2-9744-40d1-9d16-b28c46785caa">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-0338f898-0d35-4aff-a3a7-f086c86f3a10">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-1db0e06d-ffca-45ed-aeaa-0110c6400327"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-
 align: right"><pre class="lineno">1
 2
 3
 4
@@ -356,7 +356,7 @@ Your system is all ready to go.
   "targetEntityId" : "i0",
   "eventTime" : "2014-11-10T13:00:00.123-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-0533d6ee-ac32-411a-8169-b67ce8397333"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-f4adf02f-fddf-4f1f-bfce-c36500babf49"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -373,7 +373,7 @@ Your system is all ready to go.
   <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span>
   <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-2b0f2756-498b-46d0-a063-808a36b5fadc"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-279906b9-e509-4556-8cad-8be916459fe4"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -392,7 +392,7 @@ Your system is all ready to go.
    <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-4e42db7b-fd26-44e6-a8d0-843df4c46af2"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-01bbeba2-9744-40d1-9d16-b28c46785caa"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -409,7 +409,7 @@ Your system is all ready to go.
     <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">&gt;</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-3d9fea8d-c7c7-41af-a837-db2faa39e4d0"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-0338f898-0d35-4aff-a3a7-f086c86f3a10"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -490,19 +490,19 @@ User u10 buys item i40
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To recommend 4 items to user ID &quot;u1&quot;. You send this JSON <code>{ &quot;userEntityId&quot;: &quot;u1&quot;, &quot;number&quot;: 4 }</code> to the deployed engine and it will return a JSON of the recommended items. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li da
 ta-lang="json"><a href="#tab-b6750426-5bde-4def-8373-7392465c4871">REST API</a></li> <li data-lang="python"><a href="#tab-677ce135-9839-4885-b2c5-4ead4b883ac3">Python SDK</a></li> <li data-lang="php"><a href="#tab-06f2e454-9316-4221-bde2-386d48834c76">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5aaddb6f-14cb-4717-b431-64ea020406bb">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-2bcd64e0-2790-43ea-be03-0fb9be1b55a5">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b6750426-5bde-4def-8373-7392465c4871"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To recommend 4 items to user ID &quot;u1&quot;. You send this JSON <code>{ &quot;userEntityId&quot;: &quot;u1&quot;, &quot;number&quot;: 4 }</code> to the deployed engine and it will return a JSON of the recommended items. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li da
 ta-lang="json"><a href="#tab-b00258b1-2436-4fd3-9e47-2246fcf827c9">REST API</a></li> <li data-lang="python"><a href="#tab-6253a116-9fd2-4b4b-a6a2-5d20cfc73609">Python SDK</a></li> <li data-lang="php"><a href="#tab-75a59116-ff3f-49de-ba04-9dcb77095d1d">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-a2edbc70-a3f4-4dca-b195-07045c42c4be">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-03ee18bf-bfad-4771-86ad-dc71816b6b34">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b00258b1-2436-4fd3-9e47-2246fcf827c9"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
 -d <span class="s1">'{ "userEntityId": "u1", "number": 4 }'</span> <span class="se">\</span>
 http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-677ce135-9839-4885-b2c5-4ead4b883ac3"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-6253a116-9fd2-4b4b-a6a2-5d20cfc73609"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="kn">import</span> <span class="nn">predictionio</span>
 <span class="n">engine_client</span> <span class="o">=</span> <span class="n">predictionio</span><span class="o">.</span><span class="n">EngineClient</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">"http://localhost:8000"</span><span class="p">)</span>
 <span class="k">print</span> <span class="n">engine_client</span><span class="o">.</span><span class="n">send_query</span><span class="p">({</span><span class="s">"userEntityId"</span><span class="p">:</span> <span class="s">"u1"</span><span class="p">,</span> <span class="s">"number"</span><span class="p">:</span> <span class="mi">4</span><span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-06f2e454-9316-4221-bde2-386d48834c76"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-75a59116-ff3f-49de-ba04-9dcb77095d1d"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -521,7 +521,7 @@ http://localhost:8000/queries.json
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-5aaddb6f-14cb-4717-b431-64ea020406bb"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-a2edbc70-a3f4-4dca-b195-07045c42c4be"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -534,7 +534,7 @@ http://localhost:8000/queries.json
 <span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">send_query</span><span class="p">(</span><span class="s1">'userEntityId'</span> <span class="o">=&gt;</span> <span class="s1">'i1'</span><span class="p">,</span> <span class="s1">'number'</span> <span class="o">=&gt;</span> <span class="mi">4</span><span class="p">)</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-2bcd64e0-2790-43ea-be03-0fb9be1b55a5"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-03ee18bf-bfad-4771-86ad-dc71816b6b34"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -578,7 +578,7 @@ http://localhost:8000/queries.json
     <span class="o">{</span><span class="s2">"itemEntityId"</span>:<span class="s2">"i3"</span>,<span class="s2">"score"</span>:0.003007015026561692<span class="o">}</span>
   <span class="o">]</span>
 <span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <p><em>MyECommerceRecommendation</em> is now running.</p> <div class="alert-message info"><p>To update the model periodically with new data, simply set up a cron job to call <code>pio train</code> and <code>pio deploy</code>. The engine will continue to serve prediction results during the re-train process. After the training is completed, <code>pio deploy</code> will automatically shutdown the existing engine server and bring up a new process on the same port.</p></div><div class="alert-message info"><p><strong>Note that if you import a <em>large</em> data set</strong> and the training seems to be taking forever or getting stuck, it&#39;s likely that there is not enough executor memory. It&#39;s recommended to setup a Spark standalone cluster, you&#39;ll need to specify more driver and executor memory when training with a large data set. Please see <a href="/resources/faq/#engine-training">FAQ here</a> for instructions.</p></div> <h2 id='setti
 ng-constraint-&quot;unavailableitems&quot;' class='header-anchors'>Setting constraint &quot;unavailableItems&quot;</h2><p>Now let&#39;s send an item constraint &quot;unavailableItems&quot; (replace accessKey with your Access Key):</p><div class="alert-message note"><p>You can also use SDK to send this event as described in the SDK sample above.</p></div><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-aa889010-47e1-4cb8-a447-3fd7d839d9f8">REST API</a></li> <li data-lang="python"><a href="#tab-eb0a0193-87f8-462f-9e1b-4ba024763b13">Python SDK</a></li> <li data-lang="php"><a href="#tab-d4af9c1c-a98e-4db2-b58e-36d16feecdf1">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5038ca9a-a5bd-4228-a9c1-e7fc3c24b0ee">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-f06ec5f2-0342-4f4a-a5be-05d92810ca76">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-aa889010-47e1-4cb8-a447-3fd7d839d9f8"> <div class="highlight shell"> <table style="borde
 r-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><em>MyECommerceRecommendation</em> is now running.</p> <div class="alert-message info"><p>To update the model periodically with new data, simply set up a cron job to call <code>pio train</code> and <code>pio deploy</code>. The engine will continue to serve prediction results during the re-train process. After the training is completed, <code>pio deploy</code> will automatically shutdown the existing engine server and bring up a new process on the same port.</p></div><div class="alert-message info"><p><strong>Note that if you import a <em>large</em> data set</strong> and the training seems to be taking forever or getting stuck, it&#39;s likely that there is not enough executor memory. It&#39;s recommended to setup a Spark standalone cluster, you&#39;ll need to specify more driver and executor memory when training with a large data set. Please see <a href="/resources/faq/#engine-training">FAQ here</a> for instructions.</p></div> <h2 id='setti
 ng-constraint-&quot;unavailableitems&quot;' class='header-anchors'>Setting constraint &quot;unavailableItems&quot;</h2><p>Now let&#39;s send an item constraint &quot;unavailableItems&quot; (replace accessKey with your Access Key):</p><div class="alert-message note"><p>You can also use SDK to send this event as described in the SDK sample above.</p></div><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-bf5ecd2a-1f2e-4df3-949b-4c71547b01df">REST API</a></li> <li data-lang="python"><a href="#tab-517bce08-e534-42e6-8319-bac321be2442">Python SDK</a></li> <li data-lang="php"><a href="#tab-a637e890-3892-42d7-a51f-9b6f71de2b60">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-370c76a6-36ec-4856-aca8-a7083aa4564a">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-34963179-5d40-4ec8-9561-7d47422e43ca">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-bf5ecd2a-1f2e-4df3-949b-4c71547b01df"> <div class="highlight shell"> <table style="borde
 r-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -599,7 +599,7 @@ http://localhost:8000/queries.json
   }
   "eventTime" : "2015-02-17T02:11:21.934Z"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-eb0a0193-87f8-462f-9e1b-4ba024763b13"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-517bce08-e534-42e6-8319-bac321be2442"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -618,7 +618,7 @@ http://localhost:8000/queries.json
     <span class="s">"items"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"&lt;ITEM ID1&gt;"</span><span class="p">,</span> <span class="s">"&lt;ITEM ID2&gt;"</span><span class="p">]</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-d4af9c1c-a98e-4db2-b58e-36d16feecdf1"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-a637e890-3892-42d7-a51f-9b6f71de2b60"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -635,7 +635,7 @@ http://localhost:8000/queries.json
   <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'items'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'&lt;ITEM ID1&gt;'</span><span class="p">,</span> <span class="s1">'&lt;ITEM ID2&gt;'</span><span class="p">))</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-5038ca9a-a5bd-4228-a9c1-e7fc3c24b0ee"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-370c76a6-36ec-4856-aca8-a7083aa4564a"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -650,7 +650,7 @@ http://localhost:8000/queries.json
     <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="s1">'items'</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="s1">'&lt;ITEM ID1&gt;'</span><span class="p">,</span> <span class="s1">'&lt;ITEM ID2&gt;'</span><span class="p">]</span> <span class="p">}</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-f06ec5f2-0342-4f4a-a5be-05d92810ca76"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-34963179-5d40-4ec8-9561-7d47422e43ca"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -759,4 +759,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/javaecommercerecommendation/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/javaecommercerecommendation/quickstart/index.html.gz b/templates/javaecommercerecommendation/quickstart/index.html.gz
index 6e00eb5..48d3a83 100644
Binary files a/templates/javaecommercerecommendation/quickstart/index.html.gz and b/templates/javaecommercerecommendation/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/leadscoring/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/leadscoring/dase/index.html b/templates/leadscoring/dase/index.html
index 7adfb74..7aa22d4 100644
--- a/templates/leadscoring/dase/index.html
+++ b/templates/leadscoring/dase/index.html
@@ -623,4 +623,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/leadscoring/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/leadscoring/dase/index.html.gz b/templates/leadscoring/dase/index.html.gz
index 4ebec8f..33b191b 100644
Binary files a/templates/leadscoring/dase/index.html.gz and b/templates/leadscoring/dase/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/leadscoring/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/leadscoring/quickstart/index.html b/templates/leadscoring/quickstart/index.html
index 7633794..f7daec3 100644
--- a/templates/leadscoring/quickstart/index.html
+++ b/templates/leadscoring/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>.
-</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect training data for this Engine. By default, Lead Scoring Engine Template supports the following entities: <strong>user</strong>, <strong>page</strong>, and <strong>item</strong>. An user views a page, and buys an item.</p><p>Note that a &quot;sessionId&quot; property is required to indicate these events happen in the same session. In the first visit of a user, you should specify the optional &quot;referrral ID&quot; and &quot;browser&quot; information. These are used to determine where the user comes from and the browser information.</p><p>In summary, this template requires user-view-page event and user-buy-item events with the session ID, referrer ID and browser properties.</p> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a
  href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when an user with ID u0 views a URL page &quot;example.com/page0&quot; on time <code>2014-11-02T09:39:45.618-08:00</code>, with session ID &quot;akdj230fj8ass&quot; (current time will be used if eventTime is not specified) you can send the event to Event Server. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-9d87cd09-0f08-4326-
 b770-61f24790d49e">REST API</a></li> <li data-lang="python"><a href="#tab-205c63ab-02fa-44e7-9cbe-45c20199e2a6">Python SDK</a></li> <li data-lang="php"><a href="#tab-d5f4786a-9cf4-49d3-8e1c-a4c3cb0260a0">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-b8e71131-668e-4d96-8132-463b5e23462f">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-6d0f304b-4a9f-4f04-a80a-ed1ca9d0163e">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-9d87cd09-0f08-4326-b770-61f24790d49e"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect training data for this Engine. By default, Lead Scoring Engine Template supports the following entities: <strong>user</strong>, <strong>page</strong>, and <strong>item</strong>. An user views a page, and buys an item.</p><p>Note that a &quot;sessionId&quot; property is required to indicate these events happen in the same session. In the first visit of a user, you should specify the optional &quot;referrral ID&quot; and &quot;browser&quot; information. These are used to determine where the user comes from and the browser information.</p><p>In summary, this template requires user-view-page event and user-buy-item events with the session ID, referrer ID and browser properties.</p> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a
  href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when an user with ID u0 views a URL page &quot;example.com/page0&quot; on time <code>2014-11-02T09:39:45.618-08:00</code>, with session ID &quot;akdj230fj8ass&quot; (current time will be used if eventTime is not specified) you can send the event to Event Server. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-c28d2ca3-6a9a-468f-
 8e0c-72a532a083f8">REST API</a></li> <li data-lang="python"><a href="#tab-51bea6ec-8098-41b1-853d-8d738fdd40e9">Python SDK</a></li> <li data-lang="php"><a href="#tab-e6ed005f-d5ef-4636-b64a-49ebc71b3827">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-3695d687-7df3-4b2a-8d35-7184e85e7cbd">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-8e172901-67ea-4911-bfab-173ca2ad46cd">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-c28d2ca3-6a9a-468f-8e0c-72a532a083f8"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -61,7 +61,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-205c63ab-02fa-44e7-9cbe-45c20199e2a6"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-51bea6ec-8098-41b1-853d-8d738fdd40e9"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -106,7 +106,7 @@ Your system is all ready to go.
     <span class="s">"browser"</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">BROWSER</span><span class="o">&gt;</span> <span class="c"># optinal. but should specify this if you have this information when user views the landing page</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-d5f4786a-9cf4-49d3-8e1c-a4c3cb0260a0"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-e6ed005f-d5ef-4636-b64a-49ebc71b3827"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -145,7 +145,7 @@ Your system is all ready to go.
   <span class="p">)</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-b8e71131-668e-4d96-8132-463b5e23462f"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-3695d687-7df3-4b2a-8d35-7184e85e7cbd"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -178,7 +178,7 @@ Your system is all ready to go.
     <span class="p">}</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-6d0f304b-4a9f-4f04-a80a-ed1ca9d0163e"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-8e172901-67ea-4911-bfab-173ca2ad46cd"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -213,7 +213,7 @@ Your system is all ready to go.
     <span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"referrerId"</span><span class="o">,</span> <span class="s">"&lt;REFERRER ID&gt;"</span><span class="o">)</span>
     <span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"browser"</span><span class="o">,</span> <span class="s">"&lt;BROWSER&gt;"</span><span class="o">);</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">viewEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>In the same browing session &quot;akdj230fj8ass&quot;, the user with ID u0 buys an item i0 on time <code>2014-11-02T09:42:00.123-08:00</code> (current time will be used if eventTime is not specified), you can send the following buy event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-13b91753-1347-4687-9681-8f8001381e1b">REST API</a></li> <li data-lang="python"><a href="#tab-33bec8b1-e7f3-46a7-8f08-eec655a39e42">Python SDK</a></li> <li data-lang="php"><a href="#tab-6e826158-333f-4c6b-b10f-d1f50be02bb8">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2592ca2b-652d-4c71-beed-0dc77a29d95c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-2c585fcc-b135-4eae-8af0-14760fe27e0c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-13b91753-1347-4687-9681-8f8001381e1b"> <div class="highlight shell"> <table style="border-spacing: 
 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>In the same browing session &quot;akdj230fj8ass&quot;, the user with ID u0 buys an item i0 on time <code>2014-11-02T09:42:00.123-08:00</code> (current time will be used if eventTime is not specified), you can send the following buy event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-64eae063-1a05-483d-8e06-04c88a18e1cc">REST API</a></li> <li data-lang="python"><a href="#tab-0a797976-48f7-4db4-bf34-bfe5e3f282d5">Python SDK</a></li> <li data-lang="php"><a href="#tab-1f8806b4-ddf8-44fb-a087-b2a4253cb7c8">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-4b1a1e38-ba09-4131-8b66-082fafe55b96">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-6bd83096-4574-4efd-b00a-9f72ddaca93c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-64eae063-1a05-483d-8e06-04c88a18e1cc"> <div class="highlight shell"> <table style="border-spacing: 
 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -238,7 +238,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:42:00.123-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-33bec8b1-e7f3-46a7-8f08-eec655a39e42"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-0a797976-48f7-4db4-bf34-bfe5e3f282d5"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -261,7 +261,7 @@ Your system is all ready to go.
     <span class="s">"sessionId"</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">SESSION</span> <span class="n">ID</span><span class="o">&gt;</span><span class="p">,</span> <span class="c"># required</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-6e826158-333f-4c6b-b10f-d1f50be02bb8"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-1f8806b4-ddf8-44fb-a087-b2a4253cb7c8"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -288,7 +288,7 @@ Your system is all ready to go.
 <span class="p">));</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-2592ca2b-652d-4c71-beed-0dc77a29d95c"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-4b1a1e38-ba09-4131-8b66-082fafe55b96"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -311,7 +311,7 @@ Your system is all ready to go.
     <span class="p">}</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-2c585fcc-b135-4eae-8af0-14760fe27e0c"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-6bd83096-4574-4efd-b00a-9f72ddaca93c"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -371,7 +371,7 @@ User u5 buys item i5
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve the results. When a user lands on your page &quot;example.com/page9&quot;, with referrer &quot;referrer10.com&quot; and browser &quot;Firefox&quot;, you can get the predicted lead score by sending this JSON &#39;{ &quot;landingPageId&quot; : &quot;example.com/page9&quot;, &quot;referrerId&quot; : &quot;referrer10.com&quot;, &quot;browser&quot;: &quot;Firefox&quot; }&#39; to the deployed engine. The engine will return a JSON with the score.</p><p>Simply send a query by making a HTTP request or through the <code>EngineClient
 </code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-8be02f37-e285-4e6c-8381-7148329f2d45">REST API</a></li> <li data-lang="python"><a href="#tab-48d168b6-376c-42cc-9384-dc3482498cf0">Python SDK</a></li> <li data-lang="php"><a href="#tab-d1e44fd1-b941-40d5-bc31-68200a933eb6">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-fc195600-5af8-410c-bd63-f8e0b3cdccce">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-dae00bb9-0e67-4909-b2f0-35ddef76b5d3">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-8be02f37-e285-4e6c-8381-7148329f2d45"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve the results. When a user lands on your page &quot;example.com/page9&quot;, with referrer &quot;referrer10.com&quot; and browser &quot;Firefox&quot;, you can get the predicted lead score by sending this JSON &#39;{ &quot;landingPageId&quot; : &quot;example.com/page9&quot;, &quot;referrerId&quot; : &quot;referrer10.com&quot;, &quot;browser&quot;: &quot;Firefox&quot; }&#39; to the deployed engine. The engine will return a JSON with the score.</p><p>Simply send a query by making a HTTP request or through the <code>EngineClient
 </code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-baf16387-bdc6-4392-887e-6db082c13226">REST API</a></li> <li data-lang="python"><a href="#tab-68a54edb-6213-4fa6-b93a-04d4b2584f2c">Python SDK</a></li> <li data-lang="php"><a href="#tab-f7ef3ebc-9863-40e6-ac8b-9a6f34e1b001">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-224c55ff-254d-41a7-9b87-6a948b2f476d">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-9442ba94-2b85-4b35-a3ca-7edbb2ef2f2f">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-baf16387-bdc6-4392-887e-6db082c13226"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -384,7 +384,7 @@ User u5 buys item i5
   "browser": "Firefox" }'</span> <span class="se">\</span>
 http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-48d168b6-376c-42cc-9384-dc3482498cf0"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-68a54edb-6213-4fa6-b93a-04d4b2584f2c"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -397,7 +397,7 @@ http://localhost:8000/queries.json
   <span class="s">"referrerId"</span> <span class="p">:</span> <span class="s">"referrer10.com"</span><span class="p">,</span>
   <span class="s">"browser"</span><span class="p">:</span> <span class="s">"Firefox"</span>
 <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-d1e44fd1-b941-40d5-bc31-68200a933eb6"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-f7ef3ebc-9863-40e6-ac8b-9a6f34e1b001"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -426,7 +426,7 @@ http://localhost:8000/queries.json
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-fc195600-5af8-410c-bd63-f8e0b3cdccce"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-224c55ff-254d-41a7-9b87-6a948b2f476d"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -447,7 +447,7 @@ http://localhost:8000/queries.json
 <span class="p">)</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-dae00bb9-0e67-4909-b2f0-35ddef76b5d3"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-9442ba94-2b85-4b35-a3ca-7edbb2ef2f2f"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -484,4 +484,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/leadscoring/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/leadscoring/quickstart/index.html.gz b/templates/leadscoring/quickstart/index.html.gz
index 4ef5ca8..1fb1556 100644
Binary files a/templates/leadscoring/quickstart/index.html.gz and b/templates/leadscoring/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/productranking/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/productranking/dase/index.html b/templates/productranking/dase/index.html
index 90c2e9e..93efadb 100644
--- a/templates/productranking/dase/index.html
+++ b/templates/productranking/dase/index.html
@@ -654,4 +654,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/productranking/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/productranking/dase/index.html.gz b/templates/productranking/dase/index.html.gz
index da07ed5..3098c25 100644
Binary files a/templates/productranking/dase/index.html.gz and b/templates/productranking/dase/index.html.gz differ


[11/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/index.html
----------------------------------------------------------------------
diff --git a/demo/index.html b/demo/index.html
index c952a38..88833e8 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/index.html.gz
----------------------------------------------------------------------
diff --git a/demo/index.html.gz b/demo/index.html.gz
index d500571..372fc21 100644
Binary files a/demo/index.html.gz and b/demo/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/supervisedlearning/index.html
----------------------------------------------------------------------
diff --git a/demo/supervisedlearning/index.html b/demo/supervisedlearning/index.html
index 89acbb8..c0cf165 100644
--- a/demo/supervisedlearning/index.html
+++ b/demo/supervisedlearning/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/supervisedlearning/index.html.gz
----------------------------------------------------------------------
diff --git a/demo/supervisedlearning/index.html.gz b/demo/supervisedlearning/index.html.gz
index 80db0f1..af5dc63 100644
Binary files a/demo/supervisedlearning/index.html.gz and b/demo/supervisedlearning/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/tapster/index.html
----------------------------------------------------------------------
diff --git a/demo/tapster/index.html b/demo/tapster/index.html
index 5a808e3..aa05703 100644
--- a/demo/tapster/index.html
+++ b/demo/tapster/index.html
@@ -266,4 +266,4 @@ end
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/tapster/index.html.gz
----------------------------------------------------------------------
diff --git a/demo/tapster/index.html.gz b/demo/tapster/index.html.gz
index 823cc8a..9ed9149 100644
Binary files a/demo/tapster/index.html.gz and b/demo/tapster/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/textclassification/index.html
----------------------------------------------------------------------
diff --git a/demo/textclassification/index.html b/demo/textclassification/index.html
index f4ee9ea..fa031a0 100644
--- a/demo/textclassification/index.html
+++ b/demo/textclassification/index.html
@@ -552,4 +552,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/textclassification/index.html.gz
----------------------------------------------------------------------
diff --git a/demo/textclassification/index.html.gz b/demo/textclassification/index.html.gz
index 6040d50..bb2ab73 100644
Binary files a/demo/textclassification/index.html.gz and b/demo/textclassification/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/engineparams/index.html
----------------------------------------------------------------------
diff --git a/deploy/engineparams/index.html b/deploy/engineparams/index.html
index 1fd2623..107ee91 100644
--- a/deploy/engineparams/index.html
+++ b/deploy/engineparams/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/engineparams/index.html.gz
----------------------------------------------------------------------
diff --git a/deploy/engineparams/index.html.gz b/deploy/engineparams/index.html.gz
index adfc813..74a24b1 100644
Binary files a/deploy/engineparams/index.html.gz and b/deploy/engineparams/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/enginevariants/index.html
----------------------------------------------------------------------
diff --git a/deploy/enginevariants/index.html b/deploy/enginevariants/index.html
index 332042f..a09e1ed 100644
--- a/deploy/enginevariants/index.html
+++ b/deploy/enginevariants/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/enginevariants/index.html.gz
----------------------------------------------------------------------
diff --git a/deploy/enginevariants/index.html.gz b/deploy/enginevariants/index.html.gz
index 62961fc..19045d0 100644
Binary files a/deploy/enginevariants/index.html.gz and b/deploy/enginevariants/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/index.html
----------------------------------------------------------------------
diff --git a/deploy/index.html b/deploy/index.html
index fd383a1..06f5b60 100644
--- a/deploy/index.html
+++ b/deploy/index.html
@@ -10,4 +10,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/index.html.gz
----------------------------------------------------------------------
diff --git a/deploy/index.html.gz b/deploy/index.html.gz
index 2b35694..fbf9417 100644
Binary files a/deploy/index.html.gz and b/deploy/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/monitoring/index.html
----------------------------------------------------------------------
diff --git a/deploy/monitoring/index.html b/deploy/monitoring/index.html
index c42e963..a10a322 100644
--- a/deploy/monitoring/index.html
+++ b/deploy/monitoring/index.html
@@ -125,4 +125,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/monitoring/index.html.gz
----------------------------------------------------------------------
diff --git a/deploy/monitoring/index.html.gz b/deploy/monitoring/index.html.gz
index e04eab9..97c49bf 100644
Binary files a/deploy/monitoring/index.html.gz and b/deploy/monitoring/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/plugin/index.html
----------------------------------------------------------------------
diff --git a/deploy/plugin/index.html b/deploy/plugin/index.html
index a912794..80a86df 100644
--- a/deploy/plugin/index.html
+++ b/deploy/plugin/index.html
@@ -119,4 +119,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/deploy/plugin/index.html.gz
----------------------------------------------------------------------
diff --git a/deploy/plugin/index.html.gz b/deploy/plugin/index.html.gz
index fa1e505..b950750 100644
Binary files a/deploy/plugin/index.html.gz and b/deploy/plugin/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/evaluationdashboard/index.html
----------------------------------------------------------------------
diff --git a/evaluation/evaluationdashboard/index.html b/evaluation/evaluationdashboard/index.html
index 14dc618..26a7734 100644
--- a/evaluation/evaluationdashboard/index.html
+++ b/evaluation/evaluationdashboard/index.html
@@ -4,4 +4,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/evaluationdashboard/index.html.gz
----------------------------------------------------------------------
diff --git a/evaluation/evaluationdashboard/index.html.gz b/evaluation/evaluationdashboard/index.html.gz
index 71052ac..3dce366 100644
Binary files a/evaluation/evaluationdashboard/index.html.gz and b/evaluation/evaluationdashboard/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/history/index.html
----------------------------------------------------------------------
diff --git a/evaluation/history/index.html b/evaluation/history/index.html
index f71c41b..a4d2d90 100644
--- a/evaluation/history/index.html
+++ b/evaluation/history/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/history/index.html.gz
----------------------------------------------------------------------
diff --git a/evaluation/history/index.html.gz b/evaluation/history/index.html.gz
index bc00cb3..d61a45f 100644
Binary files a/evaluation/history/index.html.gz and b/evaluation/history/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/index.html
----------------------------------------------------------------------
diff --git a/evaluation/index.html b/evaluation/index.html
index 13e3351..63d7edc 100644
--- a/evaluation/index.html
+++ b/evaluation/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/index.html.gz
----------------------------------------------------------------------
diff --git a/evaluation/index.html.gz b/evaluation/index.html.gz
index dbd4ba4..c778c00 100644
Binary files a/evaluation/index.html.gz and b/evaluation/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/metricbuild/index.html
----------------------------------------------------------------------
diff --git a/evaluation/metricbuild/index.html b/evaluation/metricbuild/index.html
index 88bd277..eacc139 100644
--- a/evaluation/metricbuild/index.html
+++ b/evaluation/metricbuild/index.html
@@ -148,4 +148,4 @@ Metrics:
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/metricbuild/index.html.gz
----------------------------------------------------------------------
diff --git a/evaluation/metricbuild/index.html.gz b/evaluation/metricbuild/index.html.gz
index 8d74819..5d0a53c 100644
Binary files a/evaluation/metricbuild/index.html.gz and b/evaluation/metricbuild/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/metricchoose/index.html
----------------------------------------------------------------------
diff --git a/evaluation/metricchoose/index.html b/evaluation/metricchoose/index.html
index 8a97930..dcc5297 100644
--- a/evaluation/metricchoose/index.html
+++ b/evaluation/metricchoose/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/metricchoose/index.html.gz
----------------------------------------------------------------------
diff --git a/evaluation/metricchoose/index.html.gz b/evaluation/metricchoose/index.html.gz
index e135eae..7af3c1b 100644
Binary files a/evaluation/metricchoose/index.html.gz and b/evaluation/metricchoose/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/paramtuning/index.html
----------------------------------------------------------------------
diff --git a/evaluation/paramtuning/index.html b/evaluation/paramtuning/index.html
index ef76d65..7f406db 100644
--- a/evaluation/paramtuning/index.html
+++ b/evaluation/paramtuning/index.html
@@ -390,4 +390,4 @@ The best variant params can be found <span class="k">in </span>best.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/evaluation/paramtuning/index.html.gz
----------------------------------------------------------------------
diff --git a/evaluation/paramtuning/index.html.gz b/evaluation/paramtuning/index.html.gz
index ef161ab..8c9dda7 100644
Binary files a/evaluation/paramtuning/index.html.gz and b/evaluation/paramtuning/index.html.gz differ


[05/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/sitemap.xml
----------------------------------------------------------------------
diff --git a/sitemap.xml b/sitemap.xml
index 4fcbede..c7a22f9 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1,782 +1,782 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
-    <loc>//predictionio.apache.org/search/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/support/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/deploy/plugin/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/sdk/php/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/deploy/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/sdk/python/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/deploy/monitoring/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/sdk/java/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/deploy/enginevariants/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/sdk/ruby/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/deploy/engineparams/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/sdk/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/github/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/sdk/community/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/algorithm/switch/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/appintegration/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/algorithm/multiple/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/install/install-vagrant/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/algorithm/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/install/sdk/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/algorithm/custom/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/install/config-datastore/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/appintegration/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/install/install-linux/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/resources/intellij/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/install/install-sourcecode/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/resources/glossary/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/install/launch-aws/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/resources/release/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/install/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/resources/faq/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/production/deploy-cloudformation/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/resources/upgrade/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/system/deploy-cloudformation/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/batchimport/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/system/anotherdatastore/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/eventmodel/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/system/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/eventapi/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/webhooks/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/plugin/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/analytics/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/eventapi/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/analytics-zeppelin/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/analytics-tableau/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/channel/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/eventmodel/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/analytics/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/analytics-ipynb/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/analytics-ipynb/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/batchimport/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/analytics-tableau/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/channel/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/datacollection/webhooks/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/plugin/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/demo/supervisedlearning/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/demo/textclassification/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/datacollection/analytics-zeppelin/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/demo/community/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/resources/glossary/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/demo/tapster/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/resources/faq/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/demo/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/resources/intellij/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/sdk/java/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/resources/upgrade/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/sdk/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/resources/release/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/sdk/python/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/tryit/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/sdk/community/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/cli/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/sdk/ruby/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/evaluation/metricchoose/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/sdk/php/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/evaluation/evaluationdashboard/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-4-3/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/evaluation/history/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-4/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/evaluation/paramtuning/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-4-1/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/evaluation/metricbuild/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-3-2/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/evaluation/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-3-1/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/batchpredict/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/gallery/template-gallery/</loc>
+    <lastmod>2017-11-08T18:54:53+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-1/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/community/projects/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-4-2/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/community/submit-template/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-2-1/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/community/contribute-sdk/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-2-2/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/community/contribute-documentation/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-3/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/community/contribute-webhook/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/samples/level-2/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/community/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/customize/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/community/contribute-code/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/customize/troubleshooting/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/customize/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/customize/dase/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/customize/troubleshooting/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/support/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/customize/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/evaluation/paramtuning/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/machinelearning/dimensionalityreduction/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/evaluation/metricchoose/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/machinelearning/modelingworkflow/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/evaluation/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/deploy/enginevariants/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/evaluation/history/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/deploy/engineparams/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/evaluation/evaluationdashboard/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/deploy/monitoring/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/evaluation/metricbuild/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/deploy/plugin/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/404/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/deploy/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/start/customize/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/search/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/start/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/demo/textclassification/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/start/download/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/demo/supervisedlearning/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/start/deploy/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/demo/tapster/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/cli/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/demo/community/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/batchpredict/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/demo/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/community/submit-template/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/start/customize/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/community/contribute-sdk/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/start/deploy/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/community/contribute-webhook/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/start/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/community/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/start/download/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/community/contribute-code/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/404/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/community/projects/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/algorithm/custom/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/community/contribute-documentation/</loc>
-    <lastmod>2017-10-31T07:27:00+00:00</lastmod>
+    <loc>//predictionio.apache.org/algorithm/switch/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/production/deploy-cloudformation/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/algorithm/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/machinelearning/dimensionalityreduction/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/algorithm/multiple/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/machinelearning/modelingworkflow/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/complementarypurchase/quickstart/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/tryit/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/complementarypurchase/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/system/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/similarproduct/return-item-properties/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/system/deploy-cloudformation/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/similarproduct/quickstart/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/system/anotherdatastore/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/similarproduct/rid-user-set-event/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/gallery/template-gallery/</loc>
-    <lastmod>2017-10-31T07:27:20+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/similarproduct/how-to/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/similarproduct/multi-events-multi-algos/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/install/sdk/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/similarproduct/train-with-rate-event/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/install/config-datastore/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/similarproduct/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/install/launch-aws/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/similarproduct/recommended-user/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/install/install-vagrant/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/leadscoring/quickstart/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/install/install-sourcecode/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/leadscoring/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/install/install-linux/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/javaecommercerecommendation/quickstart/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/install/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/javaecommercerecommendation/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/vanilla/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/quickstart/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/vanilla/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/batch-evaluator/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/similarproduct/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/blacklist-items/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/similarproduct/rid-user-set-event/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/how-to/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/similarproduct/recommended-user/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/reading-custom-events/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/similarproduct/return-item-properties/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/customize-serving/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/similarproduct/multi-events-multi-algos/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/evaluation/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/similarproduct/train-with-rate-event/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/similarproduct/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/customize-data-prep/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/similarproduct/how-to/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/recommendation/training-with-implicit-preference/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
     <loc>//predictionio.apache.org/templates/classification/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
     <loc>//predictionio.apache.org/templates/classification/add-algorithm/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/classification/reading-custom-properties/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/classification/how-to/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/classification/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/classification/reading-custom-properties/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/classification/how-to/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/classification/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/ecommercerecommendation/quickstart/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/complementarypurchase/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/ecommercerecommendation/how-to/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/complementarypurchase/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/ecommercerecommendation/train-with-rate-event/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/ecommercerecommendation/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/ecommercerecommendation/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/ecommercerecommendation/train-with-rate-event/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/ecommercerecommendation/adjust-score/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/ecommercerecommendation/adjust-score/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/ecommercerecommendation/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/productranking/quickstart/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/ecommercerecommendation/how-to/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/productranking/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/blacklist-items/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/vanilla/quickstart/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/training-with-implicit-preference/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/templates/vanilla/dase/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-2-1/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/evaluation/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-3-1/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/customize-serving/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-1/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/reading-custom-events/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-2/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/customize-data-prep/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-2-2/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/batch-evaluator/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-4-2/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-4-3/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/recommendation/how-to/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-4-1/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/productranking/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-3/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/productranking/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-3-2/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/leadscoring/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/leadscoring/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/samples/level-4/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/javaecommercerecommendation/quickstart/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/github/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>
   <url>
-    <loc>//predictionio.apache.org/templates/javaecommercerecommendation/dase/</loc>
-    <lastmod>2017-10-31T07:27:01+00:00</lastmod>
+    <loc>//predictionio.apache.org/</loc>
+    <lastmod>2017-11-08T18:54:33+00:00</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.5</priority>
   </url>

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/start/customize/index.html
----------------------------------------------------------------------
diff --git a/start/customize/index.html b/start/customize/index.html
index c2f3aaf..bcabe0b 100644
--- a/start/customize/index.html
+++ b/start/customize/index.html
@@ -4,4 +4,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/start/customize/index.html.gz
----------------------------------------------------------------------
diff --git a/start/customize/index.html.gz b/start/customize/index.html.gz
index a31e3dd..50259f9 100644
Binary files a/start/customize/index.html.gz and b/start/customize/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/start/deploy/index.html
----------------------------------------------------------------------
diff --git a/start/deploy/index.html b/start/deploy/index.html
index a086386..0bf3fe9 100644
--- a/start/deploy/index.html
+++ b/start/deploy/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/start/deploy/index.html.gz
----------------------------------------------------------------------
diff --git a/start/deploy/index.html.gz b/start/deploy/index.html.gz
index 82d62f6..c6d3652 100644
Binary files a/start/deploy/index.html.gz and b/start/deploy/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/start/download/index.html
----------------------------------------------------------------------
diff --git a/start/download/index.html b/start/download/index.html
index b23273c..a3e3210 100644
--- a/start/download/index.html
+++ b/start/download/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/start/download/index.html.gz
----------------------------------------------------------------------
diff --git a/start/download/index.html.gz b/start/download/index.html.gz
index 3001e35..9ac6cb8 100644
Binary files a/start/download/index.html.gz and b/start/download/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/start/index.html
----------------------------------------------------------------------
diff --git a/start/index.html b/start/index.html
index 14c50e0..c39c76b 100644
--- a/start/index.html
+++ b/start/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/start/index.html.gz
----------------------------------------------------------------------
diff --git a/start/index.html.gz b/start/index.html.gz
index 5dc6c45..a452252 100644
Binary files a/start/index.html.gz and b/start/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/stylesheets/application-eccfc6cb.css.gz
----------------------------------------------------------------------
diff --git a/stylesheets/application-eccfc6cb.css.gz b/stylesheets/application-eccfc6cb.css.gz
index 2ec5e0d..60a2764 100644
Binary files a/stylesheets/application-eccfc6cb.css.gz and b/stylesheets/application-eccfc6cb.css.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/support/index.html
----------------------------------------------------------------------
diff --git a/support/index.html b/support/index.html
index ea8c948..ae8d659 100644
--- a/support/index.html
+++ b/support/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/support/index.html.gz
----------------------------------------------------------------------
diff --git a/support/index.html.gz b/support/index.html.gz
index 289223c..934ca4f 100644
Binary files a/support/index.html.gz and b/support/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/system/anotherdatastore/index.html
----------------------------------------------------------------------
diff --git a/system/anotherdatastore/index.html b/system/anotherdatastore/index.html
index 92fc3ee..625c9bc 100644
--- a/system/anotherdatastore/index.html
+++ b/system/anotherdatastore/index.html
@@ -36,4 +36,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/system/anotherdatastore/index.html.gz
----------------------------------------------------------------------
diff --git a/system/anotherdatastore/index.html.gz b/system/anotherdatastore/index.html.gz
index eda7792..cecb5ad 100644
Binary files a/system/anotherdatastore/index.html.gz and b/system/anotherdatastore/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/system/deploy-cloudformation/index.html
----------------------------------------------------------------------
diff --git a/system/deploy-cloudformation/index.html b/system/deploy-cloudformation/index.html
index 5d8eea9..278d2b4 100644
--- a/system/deploy-cloudformation/index.html
+++ b/system/deploy-cloudformation/index.html
@@ -5,4 +5,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/system/deploy-cloudformation/index.html.gz
----------------------------------------------------------------------
diff --git a/system/deploy-cloudformation/index.html.gz b/system/deploy-cloudformation/index.html.gz
index e7cbffd..069447d 100644
Binary files a/system/deploy-cloudformation/index.html.gz and b/system/deploy-cloudformation/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/system/index.html
----------------------------------------------------------------------
diff --git a/system/index.html b/system/index.html
index 32ca9d6..36f6669 100644
--- a/system/index.html
+++ b/system/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/system/index.html.gz
----------------------------------------------------------------------
diff --git a/system/index.html.gz b/system/index.html.gz
index 5758bc8..3873709 100644
Binary files a/system/index.html.gz and b/system/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/add-algorithm/index.html
----------------------------------------------------------------------
diff --git a/templates/classification/add-algorithm/index.html b/templates/classification/add-algorithm/index.html
index 9c9a767..41ac2c5 100644
--- a/templates/classification/add-algorithm/index.html
+++ b/templates/classification/add-algorithm/index.html
@@ -144,4 +144,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/add-algorithm/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/classification/add-algorithm/index.html.gz b/templates/classification/add-algorithm/index.html.gz
index 8209744..a17d79c 100644
Binary files a/templates/classification/add-algorithm/index.html.gz and b/templates/classification/add-algorithm/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/classification/dase/index.html b/templates/classification/dase/index.html
index 8d8aa86..ee8af48 100644
--- a/templates/classification/dase/index.html
+++ b/templates/classification/dase/index.html
@@ -215,4 +215,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/classification/dase/index.html.gz b/templates/classification/dase/index.html.gz
index 030b8f0..7b592a2 100644
Binary files a/templates/classification/dase/index.html.gz and b/templates/classification/dase/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/how-to/index.html
----------------------------------------------------------------------
diff --git a/templates/classification/how-to/index.html b/templates/classification/how-to/index.html
index 541cccf..69caf5e 100644
--- a/templates/classification/how-to/index.html
+++ b/templates/classification/how-to/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/how-to/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/classification/how-to/index.html.gz b/templates/classification/how-to/index.html.gz
index d851b19..773fb93 100644
Binary files a/templates/classification/how-to/index.html.gz and b/templates/classification/how-to/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/classification/quickstart/index.html b/templates/classification/quickstart/index.html
index a9ec788..177c32b 100644
--- a/templates/classification/quickstart/index.html
+++ b/templates/classification/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>.
-</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect some training data. By default, the Classification Engine Template reads 4 properties of a user record: attr0, attr1, attr2 and plan. This templates requires &#39;$set&#39; user events.</p><div class="alert-message info"><p>This template can easily be customized to use different or more number of attributes.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>loc
 alhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>To set properties &quot;attr0&quot;, &quot;attr1&quot;, &quot;attr2&quot; and &quot;plan&quot; for user &quot;u0&quot; on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send <code>$set</code> event for the user. To send this event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-c02a43a8-1591-4139-8354-fdf50548b539">REST API</a></li> <li data-lang="python"><a href="#tab-dd36e6fa-4578-4cee-93d3-d9c7e9050f0a">Python SDK</a></li> <li data-lang="php"><a href="#tab-fe86434a-15a4-4783-86cc-eba30b994e0c">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-f0187808-9583-4529-a869-be2499faebc0">Ruby SDK</a></li> <li data-lang="java"><a href="#
 tab-9197f334-ff2a-4b81-b040-4ba923ba11d4">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-c02a43a8-1591-4139-8354-fdf50548b539"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect some training data. By default, the Classification Engine Template reads 4 properties of a user record: attr0, attr1, attr2 and plan. This templates requires &#39;$set&#39; user events.</p><div class="alert-message info"><p>This template can easily be customized to use different or more number of attributes.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>loc
 alhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>To set properties &quot;attr0&quot;, &quot;attr1&quot;, &quot;attr2&quot; and &quot;plan&quot; for user &quot;u0&quot; on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send <code>$set</code> event for the user. To send this event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-887a5cc9-fc52-4cf1-98d2-38480a2f7640">REST API</a></li> <li data-lang="python"><a href="#tab-2260788c-c011-4eea-b32a-449c5ee2585f">Python SDK</a></li> <li data-lang="php"><a href="#tab-9e40de20-85ab-40f0-9d73-f7e37a8944bb">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-ca590ba4-635b-4c7c-b273-1fcfc1d80d32">Ruby SDK</a></li> <li data-lang="java"><a href="#
 tab-9061fe83-ad20-4d6a-9f1e-71e95593c51c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-887a5cc9-fc52-4cf1-98d2-38480a2f7640"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -59,7 +59,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-dd36e6fa-4578-4cee-93d3-d9c7e9050f0a"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-2260788c-c011-4eea-b32a-449c5ee2585f"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -100,7 +100,7 @@ Your system is all ready to go.
       <span class="s">"plan"</span> <span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="o">&lt;</span><span class="n">VALUE</span> <span class="n">OF</span> <span class="n">PLAN</span><span class="o">&gt;</span><span class="p">)</span>
     <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-fe86434a-15a4-4783-86cc-eba30b994e0c"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-9e40de20-85ab-40f0-9d73-f7e37a8944bb"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -137,7 +137,7 @@ Your system is all ready to go.
    <span class="p">)</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-f0187808-9583-4529-a869-be2499faebc0"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-ca590ba4-635b-4c7c-b273-1fcfc1d80d32"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -168,7 +168,7 @@ Your system is all ready to go.
     <span class="p">}</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-9197f334-ff2a-4b81-b040-4ba923ba11d4"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-9061fe83-ad20-4d6a-9f1e-71e95593c51c"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -203,7 +203,7 @@ Your system is all ready to go.
         <span class="s">"plan"</span><span class="o">,</span> <span class="o">&lt;</span><span class="n">VALUE</span> <span class="n">OF</span> <span class="n">PLAN</span><span class="o">&gt;</span>
     <span class="o">));</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">event</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>Note that you can also set the properties for the user with multiple <code>$set</code> events (They will be aggregated during engine training).</p><p>To set properties &quot;attr0&quot;, &quot;attr1&quot; and &quot;attr2&quot;, and &quot;plan&quot; for user &quot;u1&quot; at different time, you can send follwing <code>$set</code> events for the user. To send these events, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-183c7e9e-0a51-48c4-a133-1f9c6a3f19d0">REST API</a></li> <li data-lang="python"><a href="#tab-b3e5d6f8-0d56-4a24-89bc-1a830e09e6c5">Python SDK</a></li> <li data-lang="php"><a href="#tab-58e05deb-4fa1-4347-b72c-9033a3a32a6f">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-052bf950-9557-46cc-bebc-eb7429e864de">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-0a22b4d8-1ab6-4e43-b493-f0834a778afb">Java SDK</a></li> </ul> <div data-tab
 ="REST API" data-lang="json" id="tab-183c7e9e-0a51-48c4-a133-1f9c6a3f19d0"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>Note that you can also set the properties for the user with multiple <code>$set</code> events (They will be aggregated during engine training).</p><p>To set properties &quot;attr0&quot;, &quot;attr1&quot; and &quot;attr2&quot;, and &quot;plan&quot; for user &quot;u1&quot; at different time, you can send follwing <code>$set</code> events for the user. To send these events, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-e833db48-d008-4f9e-851b-097c3ce9246c">REST API</a></li> <li data-lang="python"><a href="#tab-146bbb1c-302e-459b-a518-c5a4d99ce1e0">Python SDK</a></li> <li data-lang="php"><a href="#tab-4d9eeecc-29ca-45f3-9f2c-188e475d9b17">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-937db00b-79aa-424a-a5b4-764d90975cae">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-3524e6df-bb3c-493c-b91a-53f7b7356a09">Java SDK</a></li> </ul> <div data-tab
 ="REST API" data-lang="json" id="tab-e833db48-d008-4f9e-851b-097c3ce9246c"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -274,7 +274,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-b3e5d6f8-0d56-4a24-89bc-1a830e09e6c5"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-146bbb1c-302e-459b-a518-c5a4d99ce1e0"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -327,7 +327,7 @@ Your system is all ready to go.
       <span class="s">"plan"</span> <span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="o">&lt;</span><span class="n">VALUE</span> <span class="n">OF</span> <span class="n">PLAN</span><span class="o">&gt;</span><span class="p">)</span>
     <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-58e05deb-4fa1-4347-b72c-9033a3a32a6f"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-4d9eeecc-29ca-45f3-9f2c-188e475d9b17"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -390,7 +390,7 @@ Your system is all ready to go.
 <span class="p">));</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-052bf950-9557-46cc-bebc-eb7429e864de"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-937db00b-79aa-424a-a5b4-764d90975cae"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -433,7 +433,7 @@ Your system is all ready to go.
 <span class="p">)</span>
 
 <span class="c1"># Etc...</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-0a22b4d8-1ab6-4e43-b493-f0834a778afb"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-3524e6df-bb3c-493c-b91a-53f7b7356a09"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -497,17 +497,17 @@ Your system is all ready to go.
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can try to retrieve predicted results. For example, to predict the label (i.e. <em>plan</em> in this case) of a user with attr0=2, attr1=0 and attr2=0, you send this JSON <code>{ &quot;attr0&quot;:2, &quot;attr1&quot;:0, &quot;attr2&quot;:0 }</code> to the deployed engine and it will return a JSON of the predicted plan. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK t
 o send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-3ac2abb4-283a-4149-bd2e-c504281ce042">REST API</a></li> <li data-lang="python"><a href="#tab-739a839d-42c3-49f2-911b-f03a0d905a21">Python SDK</a></li> <li data-lang="php"><a href="#tab-6e69c0bf-ed7a-4b6a-8da0-48c65587a065">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-bb384335-dd7d-4d69-b1f7-c6d06f59fc70">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-8a9e6e96-0589-4349-af49-3c076140b4de">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="bash" id="tab-3ac2abb4-283a-4149-bd2e-c504281ce042"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can try to retrieve predicted results. For example, to predict the label (i.e. <em>plan</em> in this case) of a user with attr0=2, attr1=0 and attr2=0, you send this JSON <code>{ &quot;attr0&quot;:2, &quot;attr1&quot;:0, &quot;attr2&quot;:0 }</code> to the deployed engine and it will return a JSON of the predicted plan. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK t
 o send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-eb7f4565-20b2-4ecd-aec3-e942ffe52d52">REST API</a></li> <li data-lang="python"><a href="#tab-d3a87f54-dd23-451a-84b9-9af05c528abf">Python SDK</a></li> <li data-lang="php"><a href="#tab-0e6fda3b-dd2d-4e6f-8555-209eb2de90d7">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-ad976a4b-40fc-41bc-b7ba-6891469a5d29">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-f378259d-4049-44b2-9470-a6a384aa3ea9">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="bash" id="tab-eb7f4565-20b2-4ecd-aec3-e942ffe52d52"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
 -d <span class="s1">'{ "attr0":2, "attr1":0, "attr2":0 }'</span> http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-739a839d-42c3-49f2-911b-f03a0d905a21"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-d3a87f54-dd23-451a-84b9-9af05c528abf"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="kn">import</span> <span class="nn">predictionio</span>
 <span class="n">engine_client</span> <span class="o">=</span> <span class="n">predictionio</span><span class="o">.</span><span class="n">EngineClient</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">"http://localhost:8000"</span><span class="p">)</span>
 <span class="k">print</span> <span class="n">engine_client</span><span class="o">.</span><span class="n">send_query</span><span class="p">({</span><span class="s">"attr0"</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span> <span class="s">"attr1"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span> <span class="s">"attr2"</span><span class="p">:</span><span class="mi">0</span><span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-6e69c0bf-ed7a-4b6a-8da0-48c65587a065"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-0e6fda3b-dd2d-4e6f-8555-209eb2de90d7"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -526,7 +526,7 @@ Your system is all ready to go.
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-bb384335-dd7d-4d69-b1f7-c6d06f59fc70"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-ad976a4b-40fc-41bc-b7ba-6891469a5d29"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -539,7 +539,7 @@ Your system is all ready to go.
 <span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">send_query</span><span class="p">(</span><span class="s1">'attr0'</span> <span class="o">=&gt;</span> <span class="mi">2</span><span class="p">,</span> <span class="s1">'attr1'</span> <span class="o">=&gt;</span> <span class="mi">0</span><span class="p">,</span> <span class="s1">'attr2'</span> <span class="o">=&gt;</span> <span class="mi">0</span><span class="p">)</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-8a9e6e96-0589-4349-af49-3c076140b4de"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-f378259d-4049-44b2-9470-a6a384aa3ea9"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -570,4 +570,4 @@ Your system is all ready to go.
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/classification/quickstart/index.html.gz b/templates/classification/quickstart/index.html.gz
index a921099..8670305 100644
Binary files a/templates/classification/quickstart/index.html.gz and b/templates/classification/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/reading-custom-properties/index.html
----------------------------------------------------------------------
diff --git a/templates/classification/reading-custom-properties/index.html b/templates/classification/reading-custom-properties/index.html
index 68e4112..0a8e72d 100644
--- a/templates/classification/reading-custom-properties/index.html
+++ b/templates/classification/reading-custom-properties/index.html
@@ -65,4 +65,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/classification/reading-custom-properties/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/classification/reading-custom-properties/index.html.gz b/templates/classification/reading-custom-properties/index.html.gz
index 9c5b27c..dfa3927 100644
Binary files a/templates/classification/reading-custom-properties/index.html.gz and b/templates/classification/reading-custom-properties/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/complementarypurchase/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/complementarypurchase/dase/index.html b/templates/complementarypurchase/dase/index.html
index b33a751..f3f2c44 100644
--- a/templates/complementarypurchase/dase/index.html
+++ b/templates/complementarypurchase/dase/index.html
@@ -413,4 +413,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/complementarypurchase/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/complementarypurchase/dase/index.html.gz b/templates/complementarypurchase/dase/index.html.gz
index b09eeb9..6c291cd 100644
Binary files a/templates/complementarypurchase/dase/index.html.gz and b/templates/complementarypurchase/dase/index.html.gz differ


[04/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/complementarypurchase/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/complementarypurchase/quickstart/index.html b/templates/complementarypurchase/quickstart/index.html
index 65ad061..122cf7d 100644
--- a/templates/complementarypurchase/quickstart/index.html
+++ b/templates/complementarypurchase/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>.
-</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect training data for this Engine. By default, Complementary Purchase Engine Template supports the following entities: <strong>user</strong>, <strong>item</strong>. A user buys an item. This template requires user-buy-item events.</p><p>Note that the engine requires correct buy event time being used in order to determine if the items being bought are in the same &#39;basket&#39;, which is configured by the &#39;basketWindow&#39; parameter. Using an unreal event time for the buy events will cause an incorrect model. If you use SDK, the current time is used as event time by default.</p><div class="alert-message warning"><p>In particular, make sure correct event time is specified if you import data in batch (i.e. not in real time). If the event time is omitted, the SDK will use <strong>current time</strong> as event time which 
 is not the actual time of the buy event in this case!</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>When an user u0 buys item i0 on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a buy event. Run the following <code>curl</code> command:
 </p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-cb875eee-4c17-4313-b545-c0c445fefa3e">REST API</a></li> <li data-lang="python"><a href="#tab-053720f7-5533-44a3-822d-b3aaee6e9b00">Python SDK</a></li> <li data-lang="php"><a href="#tab-df451942-9796-4d68-bf3d-683d92b23a90">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-3035347c-d523-440d-ad20-d574a0f4f6eb">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-ab99f513-1237-4831-b940-5989add533cc">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-cb875eee-4c17-4313-b545-c0c445fefa3e"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect training data for this Engine. By default, Complementary Purchase Engine Template supports the following entities: <strong>user</strong>, <strong>item</strong>. A user buys an item. This template requires user-buy-item events.</p><p>Note that the engine requires correct buy event time being used in order to determine if the items being bought are in the same &#39;basket&#39;, which is configured by the &#39;basketWindow&#39; parameter. Using an unreal event time for the buy events will cause an incorrect model. If you use SDK, the current time is used as event time by default.</p><div class="alert-message warning"><p>In particular, make sure correct event time is specified if you import data in batch (i.e. not in real time). If the event time is omitted, the SDK will use <strong>current time</strong> as event time which 
 is not the actual time of the buy event in this case!</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>When an user u0 buys item i0 on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a buy event. Run the following <code>curl</code> command:
 </p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-b563c810-cb0e-48f6-9e6b-d6972d025ec7">REST API</a></li> <li data-lang="python"><a href="#tab-6541b049-bfa1-44a9-b4c5-34b5d1829ac3">Python SDK</a></li> <li data-lang="php"><a href="#tab-38d6fa75-f8b9-4bf0-b57e-dda37928c6e3">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-70a14ac3-2db9-4233-978f-4ecedcc51076">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-e28cb2de-591f-41a1-b07b-afdfb0a8885e">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b563c810-cb0e-48f6-9e6b-d6972d025ec7"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -51,7 +51,7 @@ Your system is all ready to go.
   "targetEntityId" : "i0",
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-053720f7-5533-44a3-822d-b3aaee6e9b00"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-6541b049-bfa1-44a9-b4c5-34b5d1829ac3"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -104,7 +104,7 @@ Your system is all ready to go.
   <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span><span class="p">,</span>
   <span class="n">event_time</span><span class="o">=&lt;</span><span class="n">EVENT_TIME</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-df451942-9796-4d68-bf3d-683d92b23a90"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-38d6fa75-f8b9-4bf0-b57e-dda37928c6e3"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -155,7 +155,7 @@ Your system is all ready to go.
 <span class="p">));</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-3035347c-d523-440d-ad20-d574a0f4f6eb"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-70a14ac3-2db9-4233-978f-4ecedcc51076"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -200,7 +200,7 @@ Your system is all ready to go.
     <span class="s1">'eventTime'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="no">EVENT_TIME</span><span class="o">&gt;</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-ab99f513-1237-4831-b940-5989add533cc"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-e28cb2de-591f-41a1-b07b-afdfb0a8885e"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -290,7 +290,7 @@ User u10 buys item s2i1 at 2014-10-19 15:43:15.618000-07:53
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can query the engine. For example, return top 3 items which are frequently bought with item &quot;s2i1&quot;. You can sending this JSON &#39;{ &quot;items&quot; : [&quot;s2i1&quot;], &quot;num&quot; : 3 }&#39; to the deployed engine. The engine will return a JSON with the recommeded items.</p><p>If you include one or more items in the query, the engine will use each combination of the query items as condition, and return recommended items if there is any for this condition. For example, if you query items are [&quot;A&quot;, &quot;B&qu
 ot;], then the engine will use [&quot;A&quot;], [&quot;B&quot;], and [&quot;A&quot;, &quot;B&quot;] as condition and try to find top n recommended items for each combination.</p><p>You can simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-4ffed5ad-b01a-40f9-9031-ab6009acb1f9">REST API</a></li> <li data-lang="python"><a href="#tab-bdce32ad-3da5-4d11-8a89-1e12e9732b38">Python SDK</a></li> <li data-lang="php"><a href="#tab-87ac8f02-4905-4423-80ee-71db89bcba14">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2bc3699c-274f-4677-bbd2-3cd0f412f65a">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-5a7f64a1-6d32-4840-a11f-f02a3924f98b">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-4ffed5ad-b01a-4
 0f9-9031-ab6009acb1f9"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can query the engine. For example, return top 3 items which are frequently bought with item &quot;s2i1&quot;. You can sending this JSON &#39;{ &quot;items&quot; : [&quot;s2i1&quot;], &quot;num&quot; : 3 }&#39; to the deployed engine. The engine will return a JSON with the recommeded items.</p><p>If you include one or more items in the query, the engine will use each combination of the query items as condition, and return recommended items if there is any for this condition. For example, if you query items are [&quot;A&quot;, &quot;B&qu
 ot;], then the engine will use [&quot;A&quot;], [&quot;B&quot;], and [&quot;A&quot;, &quot;B&quot;] as condition and try to find top n recommended items for each combination.</p><p>You can simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-a5435de5-a8cd-44ae-9838-ca4b6fe1b5b5">REST API</a></li> <li data-lang="python"><a href="#tab-593307fb-fb20-486a-96ba-e9ba2152ec59">Python SDK</a></li> <li data-lang="php"><a href="#tab-e1d4232c-fbab-4e60-ae2d-f0073f23d08d">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-b0e60fe7-48c5-450e-b6f9-7334393d74be">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-28a828dc-c095-4fa7-9606-e31885c80f82">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-a5435de5-a8cd-4
 4ae-9838-ca4b6fe1b5b5"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -303,7 +303,7 @@ User u10 buys item s2i1 at 2014-10-19 15:43:15.618000-07:53
 }'</span> <span class="se">\</span>
 http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-bdce32ad-3da5-4d11-8a89-1e12e9732b38"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-593307fb-fb20-486a-96ba-e9ba2152ec59"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -314,7 +314,7 @@ http://localhost:8000/queries.json
   <span class="s">"items"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"s2i1"</span><span class="p">],</span>
   <span class="s">"num"</span> <span class="p">:</span> <span class="mi">3</span>
 <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-87ac8f02-4905-4423-80ee-71db89bcba14"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-e1d4232c-fbab-4e60-ae2d-f0073f23d08d"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -341,7 +341,7 @@ http://localhost:8000/queries.json
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-2bc3699c-274f-4677-bbd2-3cd0f412f65a"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-b0e60fe7-48c5-450e-b6f9-7334393d74be"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -360,7 +360,7 @@ http://localhost:8000/queries.json
 <span class="p">)</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-5a7f64a1-6d32-4840-a11f-f02a3924f98b"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-28a828dc-c095-4fa7-9606-e31885c80f82"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -435,4 +435,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/complementarypurchase/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/complementarypurchase/quickstart/index.html.gz b/templates/complementarypurchase/quickstart/index.html.gz
index a9bf54a..ff24ecb 100644
Binary files a/templates/complementarypurchase/quickstart/index.html.gz and b/templates/complementarypurchase/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/adjust-score/index.html
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/adjust-score/index.html b/templates/ecommercerecommendation/adjust-score/index.html
index 2987b92..b79f08f 100644
--- a/templates/ecommercerecommendation/adjust-score/index.html
+++ b/templates/ecommercerecommendation/adjust-score/index.html
@@ -248,4 +248,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/adjust-score/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/adjust-score/index.html.gz b/templates/ecommercerecommendation/adjust-score/index.html.gz
index 7c38746..1188760 100644
Binary files a/templates/ecommercerecommendation/adjust-score/index.html.gz and b/templates/ecommercerecommendation/adjust-score/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/dase/index.html b/templates/ecommercerecommendation/dase/index.html
index cfe3ada..443956c 100644
--- a/templates/ecommercerecommendation/dase/index.html
+++ b/templates/ecommercerecommendation/dase/index.html
@@ -803,4 +803,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/dase/index.html.gz b/templates/ecommercerecommendation/dase/index.html.gz
index cbeac13..1d99417 100644
Binary files a/templates/ecommercerecommendation/dase/index.html.gz and b/templates/ecommercerecommendation/dase/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/how-to/index.html
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/how-to/index.html b/templates/ecommercerecommendation/how-to/index.html
index 7504755..d1df6f9 100644
--- a/templates/ecommercerecommendation/how-to/index.html
+++ b/templates/ecommercerecommendation/how-to/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/how-to/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/how-to/index.html.gz b/templates/ecommercerecommendation/how-to/index.html.gz
index dbfca92..3dba55e 100644
Binary files a/templates/ecommercerecommendation/how-to/index.html.gz and b/templates/ecommercerecommendation/how-to/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/quickstart/index.html b/templates/ecommercerecommendation/quickstart/index.html
index b07c140..7d93ede 100644
--- a/templates/ecommercerecommendation/quickstart/index.html
+++ b/templates/ecommercerecommendation/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>.
-</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect training data for this Engine. By default, the E-Commerce Recommendation Engine Template supports 2 types of entities and 2 events: <strong>user</strong> and <strong>item</strong>; events <strong>view</strong> and <strong>buy</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view and buy an item. The specical <strong>constraint</strong> entiy with entityId <strong>unavailableItems</strong> defines a list of unavailable items and is taken into account in realtime during serving.</p><p>In summary, this template requires &#39;$set&#39; user event, &#39;$set&#39; item event, user-view-item events, user-buy-item event and &#39;$set&#39; constraint event.</p><div class="alert-message info"><p>This template can easily be customized to consider other user-to-it
 em events.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when a new user with id &quot;u0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this 
 event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-78ba10c4-b136-4c54-876a-c591126873db">REST API</a></li> <li data-lang="python"><a href="#tab-7e7adef8-6ab8-4290-ac7e-85c2cf7c2e63">Python SDK</a></li> <li data-lang="php"><a href="#tab-b6c0bae7-b283-42d7-9327-862a5d352751">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-7ecc6a4f-0dea-4eaa-8e1a-605d1107a6ec">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-dd28ccb8-14aa-4695-853a-39ec3a5dca9c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-78ba10c4-b136-4c54-876a-c591126873db"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect training data for this Engine. By default, the E-Commerce Recommendation Engine Template supports 2 types of entities and 2 events: <strong>user</strong> and <strong>item</strong>; events <strong>view</strong> and <strong>buy</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view and buy an item. The specical <strong>constraint</strong> entiy with entityId <strong>unavailableItems</strong> defines a list of unavailable items and is taken into account in realtime during serving.</p><p>In summary, this template requires &#39;$set&#39; user event, &#39;$set&#39; item event, user-view-item events, user-buy-item event and &#39;$set&#39; constraint event.</p><div class="alert-message info"><p>This template can easily be customized to consider other user-to-it
 em events.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when a new user with id &quot;u0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this 
 event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-59827934-ea55-41d0-aa2b-7610335a53a5">REST API</a></li> <li data-lang="python"><a href="#tab-c191d37d-527a-4dc5-b82b-ff965e849ba3">Python SDK</a></li> <li data-lang="php"><a href="#tab-be1cbf3d-3f3b-49b1-a5ab-7f754f7d1dfd">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-1aa16e45-c053-4207-96ed-7b4309bbdf8e">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-e439af33-575a-4c75-8afd-db9d0a68cb55">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-59827934-ea55-41d0-aa2b-7610335a53a5"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -47,7 +47,7 @@ Your system is all ready to go.
   "entityId" : "u0",
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-7e7adef8-6ab8-4290-ac7e-85c2cf7c2e63"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-c191d37d-527a-4dc5-b82b-ff965e849ba3"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -78,7 +78,7 @@ Your system is all ready to go.
   <span class="n">entity_type</span><span class="o">=</span><span class="s">"user"</span><span class="p">,</span>
   <span class="n">entity_id</span><span class="o">=&lt;</span><span class="n">USER_ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-b6c0bae7-b283-42d7-9327-862a5d352751"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-be1cbf3d-3f3b-49b1-a5ab-7f754f7d1dfd"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -119,7 +119,7 @@ Your system is all ready to go.
   <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'categories'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'&lt;CATEGORY_1&gt;'</span><span class="p">,</span> <span class="s1">'&lt;CATEGORY_2&gt;'</span><span class="p">))</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-7ecc6a4f-0dea-4eaa-8e1a-605d1107a6ec"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-1aa16e45-c053-4207-96ed-7b4309bbdf8e"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -136,7 +136,7 @@ Your system is all ready to go.
   <span class="s1">'user'</span><span class="p">,</span>
   <span class="o">&lt;</span><span class="no">USER</span> <span class="no">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-dd28ccb8-14aa-4695-853a-39ec3a5dca9c"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-e439af33-575a-4c75-8afd-db9d0a68cb55"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -161,7 +161,7 @@ Your system is all ready to go.
   <span class="o">.</span><span class="na">entityType</span><span class="o">(</span><span class="s">"user"</span><span class="o">)</span>
   <span class="o">.</span><span class="na">entityId</span><span class="o">(&lt;</span><span class="n">USER_ID</span><span class="o">&gt;);</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">userEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item &quot;i0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Note that the item is set with categories properties: <code>&quot;c1&quot;</code> and <code>&quot;c2&quot;</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-d1514a8b-cd2b-4df4-9e85-7f74cea1ca26">REST API</a></li> <li data-lang="python"><a href="#tab-8763dde8-9540-42fa-9581-f10719a8d36d">Python SDK</a></li> <li data-lang="php"><a href="#tab-2dfbbd50-7701-4330-be0d-007ef2e4d23e">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5aace630-67b4-4f29-8477-086321978fed">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-32269101-79b7-40ef-81c7-a7224a43e17f">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-d1514a
 8b-cd2b-4df4-9e85-7f74cea1ca26"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item &quot;i0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Note that the item is set with categories properties: <code>&quot;c1&quot;</code> and <code>&quot;c2&quot;</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-f181540d-508a-4b1c-9f32-983761fa6675">REST API</a></li> <li data-lang="python"><a href="#tab-84b9781c-ba2c-4cbe-a044-7cd36a187e85">Python SDK</a></li> <li data-lang="php"><a href="#tab-55377236-22c0-4861-abb3-bec1a9d282a0">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-813c56f8-2480-436a-8f28-1509f14df188">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-baa5d3d2-f608-4d15-b52d-7912f144afe7">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-f18154
 0d-508a-4b1c-9f32-983761fa6675"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -182,7 +182,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-8763dde8-9540-42fa-9581-f10719a8d36d"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-84b9781c-ba2c-4cbe-a044-7cd36a187e85"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -201,7 +201,7 @@ Your system is all ready to go.
     <span class="s">"categories"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"&lt;CATEGORY_1&gt;"</span><span class="p">,</span> <span class="s">"&lt;CATEGORY_2&gt;"</span><span class="p">]</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-2dfbbd50-7701-4330-be0d-007ef2e4d23e"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-55377236-22c0-4861-abb3-bec1a9d282a0"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -218,7 +218,7 @@ Your system is all ready to go.
   <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'categories'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'&lt;CATEGORY_1&gt;'</span><span class="p">,</span> <span class="s1">'&lt;CATEGORY_2&gt;'</span><span class="p">))</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-5aace630-67b4-4f29-8477-086321978fed"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-813c56f8-2480-436a-8f28-1509f14df188"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -235,7 +235,7 @@ Your system is all ready to go.
   <span class="p">}</span>
 <span class="p">)</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-32269101-79b7-40ef-81c7-a7224a43e17f"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-baa5d3d2-f608-4d15-b52d-7912f144afe7"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -248,7 +248,7 @@ Your system is all ready to go.
   <span class="o">.</span><span class="na">entityId</span><span class="o">(&lt;</span><span class="n">ITEM_ID</span><span class="o">&gt;)</span>
   <span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"categories"</span><span class="o">,</span> <span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"&lt;CATEGORY_1&gt;"</span><span class="o">,</span> <span class="s">"&lt;CATEGORY_2&gt;"</span><span class="o">));</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">itemEvent</span><span class="o">)</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>The properties of the <code>user</code> and <code>item</code> can be set, unset, or delete by special events <strong>$set</strong>, <strong>$unset</strong> and <strong>$delete</strong>. Please refer to <a href="/datacollection/eventapi/#note-about-properties">Event API</a> for more details of using these events.</p><p>When the user &quot;u0&quot; view item &quot;i0&quot; on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-bc92c6c9-01dc-43e7-9db4-e6be76ad2525">REST API</a></li> <li data-lang="python"><a href="#tab-5716e06f-f59f-479c-a53c-9d756ea80b69">Python SDK</a></li> <li data-lang="php"><a href="#tab-40cc1577-c417-40b8-bd1a-1800ff813110">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-60db26a8-ed0b-4041-a0cb-6fcce3
 c40d1e">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-7d2b4dd5-689d-4aac-b992-64b72a6a3226">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-bc92c6c9-01dc-43e7-9db4-e6be76ad2525"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>The properties of the <code>user</code> and <code>item</code> can be set, unset, or delete by special events <strong>$set</strong>, <strong>$unset</strong> and <strong>$delete</strong>. Please refer to <a href="/datacollection/eventapi/#note-about-properties">Event API</a> for more details of using these events.</p><p>When the user &quot;u0&quot; view item &quot;i0&quot; on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-02b5f826-1825-4790-ae7b-34527bcf64d2">REST API</a></li> <li data-lang="python"><a href="#tab-d8111037-38fc-4974-894f-290382431255">Python SDK</a></li> <li data-lang="php"><a href="#tab-8b8d5ce6-edfa-4492-b9ec-940e76997d27">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-77c20333-4450-4b38-bb6e-2402b5
 a48df1">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-66ebdbec-6574-49a8-a3c0-0d524381c4cf">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-02b5f826-1825-4790-ae7b-34527bcf64d2"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -267,7 +267,7 @@ Your system is all ready to go.
   "targetEntityId" : "i0",
   "eventTime" : "2014-11-10T12:34:56.123-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-5716e06f-f59f-479c-a53c-9d756ea80b69"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-d8111037-38fc-4974-894f-290382431255"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -284,7 +284,7 @@ Your system is all ready to go.
   <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span>
   <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-40cc1577-c417-40b8-bd1a-1800ff813110"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-8b8d5ce6-edfa-4492-b9ec-940e76997d27"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -303,7 +303,7 @@ Your system is all ready to go.
    <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-60db26a8-ed0b-4041-a0cb-6fcce3c40d1e"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-77c20333-4450-4b38-bb6e-2402b5a48df1"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -322,7 +322,7 @@ Your system is all ready to go.
   <span class="p">}</span>
 <span class="p">)</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-7d2b4dd5-689d-4aac-b992-64b72a6a3226"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-66ebdbec-6574-49a8-a3c0-0d524381c4cf"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -337,7 +337,7 @@ Your system is all ready to go.
     <span class="o">.</span><span class="na">targetEntityType</span><span class="o">(</span><span class="s">"item"</span><span class="o">)</span>
     <span class="o">.</span><span class="na">targetEntityId</span><span class="o">(&lt;</span><span class="n">ITEM_ID</span><span class="o">&gt;);</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">viewEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user &quot;u0&quot; buy item &quot;i0&quot; on time <code>2014-11-10T13:00:00.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-c5092f2c-0a7f-4c80-809c-6d2025911aa2">REST API</a></li> <li data-lang="python"><a href="#tab-bda456ed-1e8b-4db8-a37a-c61ba9b37a56">Python SDK</a></li> <li data-lang="php"><a href="#tab-af6f54e2-4c14-4387-9380-5ee6d82374e1">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-556faa0f-3fd7-4c1a-ac1c-d22a536baaae">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d9e91294-284f-4862-a957-f87cd9a0e3aa">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-c5092f2c-0a7f-4c80-809c-6d2025911aa2"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-
 align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user &quot;u0&quot; buy item &quot;i0&quot; on time <code>2014-11-10T13:00:00.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-1532682e-022a-431e-aa6b-631d20f39748">REST API</a></li> <li data-lang="python"><a href="#tab-794c5d09-5ee8-44aa-aa3d-bcd7c11a1259">Python SDK</a></li> <li data-lang="php"><a href="#tab-2adfaebf-d12d-41b8-b62f-c3cccdac3c35">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-a7ac28a9-e4f3-4ef4-82b6-49145a2fe9c2">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-a3152218-6a48-4f07-b76e-22a90fa09f86">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-1532682e-022a-431e-aa6b-631d20f39748"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-
 align: right"><pre class="lineno">1
 2
 3
 4
@@ -356,7 +356,7 @@ Your system is all ready to go.
   "targetEntityId" : "i0",
   "eventTime" : "2014-11-10T13:00:00.123-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-bda456ed-1e8b-4db8-a37a-c61ba9b37a56"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-794c5d09-5ee8-44aa-aa3d-bcd7c11a1259"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -373,7 +373,7 @@ Your system is all ready to go.
   <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span>
   <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-af6f54e2-4c14-4387-9380-5ee6d82374e1"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-2adfaebf-d12d-41b8-b62f-c3cccdac3c35"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -392,7 +392,7 @@ Your system is all ready to go.
    <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-556faa0f-3fd7-4c1a-ac1c-d22a536baaae"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-a7ac28a9-e4f3-4ef4-82b6-49145a2fe9c2"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -409,7 +409,7 @@ Your system is all ready to go.
     <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">&gt;</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-d9e91294-284f-4862-a957-f87cd9a0e3aa"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-a3152218-6a48-4f07-b76e-22a90fa09f86"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -490,19 +490,19 @@ User u10 buys item i40
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To recommend 4 items to user ID &quot;u1&quot;. You send this JSON <code>{ &quot;user&quot;: [&quot;u1&quot;], &quot;num&quot;: 4 }</code> to the deployed engine and it will return a JSON of the recommended items. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="
 json"><a href="#tab-8fca533c-4908-45b4-8bf3-17f55022cab4">REST API</a></li> <li data-lang="python"><a href="#tab-6fdedcf2-fc5c-4d72-b630-7a7fe506a772">Python SDK</a></li> <li data-lang="php"><a href="#tab-6e3690ac-effe-4d12-a64f-6f636efdee80">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-d9ca1fdd-f9d6-4cff-becd-52acda65b5a6">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-e9d53fc0-590c-4abc-b9bf-fd3f6a7e1594">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-8fca533c-4908-45b4-8bf3-17f55022cab4"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To recommend 4 items to user ID &quot;u1&quot;. You send this JSON <code>{ &quot;user&quot;: [&quot;u1&quot;], &quot;num&quot;: 4 }</code> to the deployed engine and it will return a JSON of the recommended items. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="
 json"><a href="#tab-4eb89dd6-98e8-4a53-b6a5-a1f8f78892b4">REST API</a></li> <li data-lang="python"><a href="#tab-8a9d476c-32eb-41a3-a9a0-3fab3832e170">Python SDK</a></li> <li data-lang="php"><a href="#tab-83f986d6-d241-439f-ab87-3fde3ad6b137">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-e1062538-882d-4b96-a421-50bc1e95f0f5">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-742d18fc-f8e3-47ac-b1cb-e67a76e97a7c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-4eb89dd6-98e8-4a53-b6a5-a1f8f78892b4"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
 -d <span class="s1">'{ "user": "u1", "num": 4 }'</span> <span class="se">\</span>
 http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-6fdedcf2-fc5c-4d72-b630-7a7fe506a772"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-8a9d476c-32eb-41a3-a9a0-3fab3832e170"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="kn">import</span> <span class="nn">predictionio</span>
 <span class="n">engine_client</span> <span class="o">=</span> <span class="n">predictionio</span><span class="o">.</span><span class="n">EngineClient</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">"http://localhost:8000"</span><span class="p">)</span>
 <span class="k">print</span> <span class="n">engine_client</span><span class="o">.</span><span class="n">send_query</span><span class="p">({</span><span class="s">"user"</span><span class="p">:</span> <span class="s">"u1"</span><span class="p">,</span> <span class="s">"num"</span><span class="p">:</span> <span class="mi">4</span><span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-6e3690ac-effe-4d12-a64f-6f636efdee80"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-83f986d6-d241-439f-ab87-3fde3ad6b137"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -521,7 +521,7 @@ http://localhost:8000/queries.json
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-d9ca1fdd-f9d6-4cff-becd-52acda65b5a6"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-e1062538-882d-4b96-a421-50bc1e95f0f5"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -534,7 +534,7 @@ http://localhost:8000/queries.json
 <span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">send_query</span><span class="p">(</span><span class="s1">'user'</span> <span class="o">=&gt;</span> <span class="s1">'i1'</span><span class="p">,</span> <span class="s1">'num'</span> <span class="o">=&gt;</span> <span class="mi">4</span><span class="p">)</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-e9d53fc0-590c-4abc-b9bf-fd3f6a7e1594"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-742d18fc-f8e3-47ac-b1cb-e67a76e97a7c"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -578,7 +578,7 @@ http://localhost:8000/queries.json
     <span class="o">{</span><span class="s2">"item"</span>:<span class="s2">"i3"</span>,<span class="s2">"score"</span>:0.003007015026561692<span class="o">}</span>
   <span class="o">]</span>
 <span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <p><em>MyECommerceRecommendation</em> is now running.</p> <div class="alert-message info"><p>To update the model periodically with new data, simply set up a cron job to call <code>pio train</code> and <code>pio deploy</code>. The engine will continue to serve prediction results during the re-train process. After the training is completed, <code>pio deploy</code> will automatically shutdown the existing engine server and bring up a new process on the same port.</p></div><div class="alert-message info"><p><strong>Note that if you import a <em>large</em> data set</strong> and the training seems to be taking forever or getting stuck, it&#39;s likely that there is not enough executor memory. It&#39;s recommended to setup a Spark standalone cluster, you&#39;ll need to specify more driver and executor memory when training with a large data set. Please see <a href="/resources/faq/#engine-training">FAQ here</a> for instructions.</p></div> <h2 id='setti
 ng-constraint-&quot;unavailableitems&quot;' class='header-anchors'>Setting constraint &quot;unavailableItems&quot;</h2><p>Now let&#39;s send a item contraint &quot;unavailableItems&quot; (replace accessKey with your Access Key):</p><div class="alert-message note"><p>You can also use SDK to send this event as decribed in the SDK sample above.</p></div><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-d8b72b73-de94-45e1-a68f-fe6a9c4b2ca5">REST API</a></li> <li data-lang="python"><a href="#tab-a618936b-c056-451e-b5cc-325db982eac8">Python SDK</a></li> <li data-lang="php"><a href="#tab-ed5988e8-2f9e-4175-9d8d-6c702a5f8a5c">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-9f2d5576-a8f3-4e84-a1cb-6d264526e109">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-54a2ae0d-01d4-4e68-99e8-a67311bdc365">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-d8b72b73-de94-45e1-a68f-fe6a9c4b2ca5"> <div class="highlight shell"> <table style="border-s
 pacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><em>MyECommerceRecommendation</em> is now running.</p> <div class="alert-message info"><p>To update the model periodically with new data, simply set up a cron job to call <code>pio train</code> and <code>pio deploy</code>. The engine will continue to serve prediction results during the re-train process. After the training is completed, <code>pio deploy</code> will automatically shutdown the existing engine server and bring up a new process on the same port.</p></div><div class="alert-message info"><p><strong>Note that if you import a <em>large</em> data set</strong> and the training seems to be taking forever or getting stuck, it&#39;s likely that there is not enough executor memory. It&#39;s recommended to setup a Spark standalone cluster, you&#39;ll need to specify more driver and executor memory when training with a large data set. Please see <a href="/resources/faq/#engine-training">FAQ here</a> for instructions.</p></div> <h2 id='setti
 ng-constraint-&quot;unavailableitems&quot;' class='header-anchors'>Setting constraint &quot;unavailableItems&quot;</h2><p>Now let&#39;s send a item contraint &quot;unavailableItems&quot; (replace accessKey with your Access Key):</p><div class="alert-message note"><p>You can also use SDK to send this event as decribed in the SDK sample above.</p></div><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-184bdb26-c9a8-41b5-a1e0-cfdf5545be1a">REST API</a></li> <li data-lang="python"><a href="#tab-6558ad5b-cd27-42a4-be60-0b53b0dc3f68">Python SDK</a></li> <li data-lang="php"><a href="#tab-7a654b99-1644-4b6c-9c2a-52734b8005c2">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-6054897a-5109-4150-a01a-2ad9d1ed0dd0">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-43c509c4-15a6-4218-bbb5-68c9ebd739f3">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-184bdb26-c9a8-41b5-a1e0-cfdf5545be1a"> <div class="highlight shell"> <table style="border-s
 pacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -599,7 +599,7 @@ http://localhost:8000/queries.json
   }
   "eventTime" : "2015-02-17T02:11:21.934Z"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-a618936b-c056-451e-b5cc-325db982eac8"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-6558ad5b-cd27-42a4-be60-0b53b0dc3f68"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -618,7 +618,7 @@ http://localhost:8000/queries.json
     <span class="s">"items"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"&lt;ITEM ID1&gt;"</span><span class="p">,</span> <span class="s">"&lt;ITEM ID2&gt;"</span><span class="p">]</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-ed5988e8-2f9e-4175-9d8d-6c702a5f8a5c"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-7a654b99-1644-4b6c-9c2a-52734b8005c2"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -635,7 +635,7 @@ http://localhost:8000/queries.json
   <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'items'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'&lt;ITEM ID1&gt;'</span><span class="p">,</span> <span class="s1">'&lt;ITEM ID2&gt;'</span><span class="p">))</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-9f2d5576-a8f3-4e84-a1cb-6d264526e109"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-6054897a-5109-4150-a01a-2ad9d1ed0dd0"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -650,7 +650,7 @@ http://localhost:8000/queries.json
     <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="s1">'items'</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="s1">'&lt;ITEM ID1&gt;'</span><span class="p">,</span> <span class="s1">'&lt;ITEM ID2&gt;'</span><span class="p">]</span> <span class="p">}</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-54a2ae0d-01d4-4e68-99e8-a67311bdc365"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-43c509c4-15a6-4218-bbb5-68c9ebd739f3"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -759,4 +759,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/quickstart/index.html.gz b/templates/ecommercerecommendation/quickstart/index.html.gz
index 3c1e74c..b5d20b1 100644
Binary files a/templates/ecommercerecommendation/quickstart/index.html.gz and b/templates/ecommercerecommendation/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/train-with-rate-event/index.html
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/train-with-rate-event/index.html b/templates/ecommercerecommendation/train-with-rate-event/index.html
index 3cb10e7..f67ad11 100644
--- a/templates/ecommercerecommendation/train-with-rate-event/index.html
+++ b/templates/ecommercerecommendation/train-with-rate-event/index.html
@@ -272,4 +272,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/ecommercerecommendation/train-with-rate-event/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/train-with-rate-event/index.html.gz b/templates/ecommercerecommendation/train-with-rate-event/index.html.gz
index 85be45e..b578a7d 100644
Binary files a/templates/ecommercerecommendation/train-with-rate-event/index.html.gz and b/templates/ecommercerecommendation/train-with-rate-event/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/index.html
----------------------------------------------------------------------
diff --git a/templates/index.html b/templates/index.html
index 55ff1e4..dadf8ad 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/index.html.gz b/templates/index.html.gz
index f82466e..fc01343 100644
Binary files a/templates/index.html.gz and b/templates/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/javaecommercerecommendation/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/javaecommercerecommendation/dase/index.html b/templates/javaecommercerecommendation/dase/index.html
index a1e327f..58a47f0 100644
--- a/templates/javaecommercerecommendation/dase/index.html
+++ b/templates/javaecommercerecommendation/dase/index.html
@@ -470,4 +470,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/javaecommercerecommendation/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/javaecommercerecommendation/dase/index.html.gz b/templates/javaecommercerecommendation/dase/index.html.gz
index f29a6bf..79d6bc2 100644
Binary files a/templates/javaecommercerecommendation/dase/index.html.gz and b/templates/javaecommercerecommendation/dase/index.html.gz differ


[09/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/github/index.html.gz
----------------------------------------------------------------------
diff --git a/github/index.html.gz b/github/index.html.gz
index dbc63e8..934fc5f 100644
Binary files a/github/index.html.gz and b/github/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 6a8e71e..0352876 100644
--- a/index.html
+++ b/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/index.html.gz
----------------------------------------------------------------------
diff --git a/index.html.gz b/index.html.gz
index bf45a6a..5b47559 100644
Binary files a/index.html.gz and b/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/config-datastore/index.html
----------------------------------------------------------------------
diff --git a/install/config-datastore/index.html b/install/config-datastore/index.html
index 01b160d..94f72e2 100644
--- a/install/config-datastore/index.html
+++ b/install/config-datastore/index.html
@@ -8,4 +8,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/config-datastore/index.html.gz
----------------------------------------------------------------------
diff --git a/install/config-datastore/index.html.gz b/install/config-datastore/index.html.gz
index a5cd0ea..d22f1df 100644
Binary files a/install/config-datastore/index.html.gz and b/install/config-datastore/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/index.html
----------------------------------------------------------------------
diff --git a/install/index.html b/install/index.html
index 4a38204..242e0e2 100644
--- a/install/index.html
+++ b/install/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/index.html.gz
----------------------------------------------------------------------
diff --git a/install/index.html.gz b/install/index.html.gz
index 5ff7d3c..74865bf 100644
Binary files a/install/index.html.gz and b/install/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/install-linux/index.html
----------------------------------------------------------------------
diff --git a/install/install-linux/index.html b/install/install-linux/index.html
index d13da5b..d220927 100644
--- a/install/install-linux/index.html
+++ b/install/install-linux/index.html
@@ -79,4 +79,4 @@ Starting PredictionIO Event Server...
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/install-linux/index.html.gz
----------------------------------------------------------------------
diff --git a/install/install-linux/index.html.gz b/install/install-linux/index.html.gz
index 165e6b2..5ecbd47 100644
Binary files a/install/install-linux/index.html.gz and b/install/install-linux/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/install-sourcecode/index.html
----------------------------------------------------------------------
diff --git a/install/install-sourcecode/index.html b/install/install-sourcecode/index.html
index ea40cc4..39e8a92 100644
--- a/install/install-sourcecode/index.html
+++ b/install/install-sourcecode/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><title>Installing Apache PredictionIO from Source Code</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Installing Apache PredictionIO from Source Code"/><link rel="canonical" href="https://predictionio.apache.org/install/install-sourcecode/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.mi
 n.js"></script><script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>â„¢</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><di
 v class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Installing Apache PredictionIO from Source Code</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div
 ><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIOâ„¢ Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandibl
 e" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predi
 ctions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li
 ><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</spa
 n></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li clas
 s="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/reco
 mmendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="l
 evel-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/tem
 plates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="leve
 l-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span
 ></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a W
 ebhook</span></a></li><li class="level-2"><a class="final" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a><
 /li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="page-title"><h1>Installing Apache PredictionIO from Source Code</h1></div></div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#downloading-source-
 code">Downloading Source Code</a> </li> <li> <a href="#building">Building</a> </li> <li> <a href="#installing-dependencies">Installing Dependencies</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/install/install-sourcecode.html.md.erb"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Installing Apache PredictionIO from Source Code</h1></div></div><div class="content"> <div class="alert-message info"><p>Assuming you are following the directory structure in the following, replace <code>/home/abc</code> with your own home directory wherever you see it.</p></div><h2 id='downloading-source-code' class='header-anchors'>Downloading Source Code</h2><p>Download Apache PredictionIO 0.12.0-incubating from an Apache <a href="https://www.apache.org/dyn/closer.cgi/incubator/predictionio/0.12.0-incubating/apach
 e-predictionio-0.12.0-incubating.tar.gz">mirror</a>. </p><p>Verify this release using <a href="https://www.apache.org/ dist/incubator/predictionio/0.12.0-incubating/">signatures and checksums</a> and <a href="https://www.apache.org/dist/incubator/predictionio/KEYS">project release KEYS</a>.</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
+<!DOCTYPE html><html><head><title>Installing Apache PredictionIO from Source Code</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Installing Apache PredictionIO from Source Code"/><link rel="canonical" href="https://predictionio.apache.org/install/install-sourcecode/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.mi
 n.js"></script><script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>â„¢</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><di
 v class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Installing Apache PredictionIO from Source Code</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div
 ><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIOâ„¢ Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandibl
 e" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predi
 ctions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li
 ><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</spa
 n></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li clas
 s="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/reco
 mmendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="l
 evel-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/tem
 plates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="leve
 l-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span
 ></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a W
 ebhook</span></a></li><li class="level-2"><a class="final" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a><
 /li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="page-title"><h1>Installing Apache PredictionIO from Source Code</h1></div></div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#downloading-source-
 code">Downloading Source Code</a> </li> <li> <a href="#building">Building</a> </li> <li> <a href="#installing-dependencies">Installing Dependencies</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/install/install-sourcecode.html.md.erb"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Installing Apache PredictionIO from Source Code</h1></div></div><div class="content"> <div class="alert-message info"><p>Assuming you are following the directory structure in the following, replace <code>/home/abc</code> with your own home directory wherever you see it.</p></div><h2 id='downloading-source-code' class='header-anchors'>Downloading Source Code</h2><p>Download Apache PredictionIO 0.12.0-incubating from an Apache <a href="https://www.apache.org/dyn/closer.cgi/incubator/predictionio/0.12.0-incubating/apach
 e-predictionio-0.12.0-incubating.tar.gz">mirror</a>. </p><p>Verify this release using <a href="https://www.apache.org/dist/incubator/predictionio/0.12.0-incubating/">signatures and checksums</a> and <a href="https://www.apache.org/dist/incubator/predictionio/KEYS">project release KEYS</a>.</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="gp">$ </span>gpg --import KEYS
 <span class="gp">$ </span>gpg --verify apache-predictionio-0.12.0-incubating.tar.gz.asc apache-predictionio-0.12.0-incubating.tar.gz
 </pre></td></tr></tbody></table> </div> <p>You should see something like this.</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
@@ -91,4 +91,4 @@ Starting PredictionIO Event Server...
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/install-sourcecode/index.html.gz
----------------------------------------------------------------------
diff --git a/install/install-sourcecode/index.html.gz b/install/install-sourcecode/index.html.gz
index 3a0c796..b64753e 100644
Binary files a/install/install-sourcecode/index.html.gz and b/install/install-sourcecode/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/install-vagrant/index.html
----------------------------------------------------------------------
diff --git a/install/install-vagrant/index.html b/install/install-vagrant/index.html
index 57fd63e..3feda55 100644
--- a/install/install-vagrant/index.html
+++ b/install/install-vagrant/index.html
@@ -46,4 +46,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/install-vagrant/index.html.gz
----------------------------------------------------------------------
diff --git a/install/install-vagrant/index.html.gz b/install/install-vagrant/index.html.gz
index adf2dff..9e76c0b 100644
Binary files a/install/install-vagrant/index.html.gz and b/install/install-vagrant/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/launch-aws/index.html
----------------------------------------------------------------------
diff --git a/install/launch-aws/index.html b/install/launch-aws/index.html
index d67f053..22ebf63 100644
--- a/install/launch-aws/index.html
+++ b/install/launch-aws/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/launch-aws/index.html.gz
----------------------------------------------------------------------
diff --git a/install/launch-aws/index.html.gz b/install/launch-aws/index.html.gz
index 49e5ed5..9896e06 100644
Binary files a/install/launch-aws/index.html.gz and b/install/launch-aws/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/sdk/index.html
----------------------------------------------------------------------
diff --git a/install/sdk/index.html b/install/sdk/index.html
index c2d9381..1639c68 100644
--- a/install/sdk/index.html
+++ b/install/sdk/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/install/sdk/index.html.gz
----------------------------------------------------------------------
diff --git a/install/sdk/index.html.gz b/install/sdk/index.html.gz
index 2d22047..33e9a4f 100644
Binary files a/install/sdk/index.html.gz and b/install/sdk/index.html.gz differ



[12/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315


Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/commit/1da18bd7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/tree/1da18bd7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/diff/1da18bd7

Branch: refs/heads/asf-site
Commit: 1da18bd7e25c662a0f807aaaeef342a7096c966b
Parents: eaa3a41
Author: jenkins <bu...@apache.org>
Authored: Wed Nov 8 19:18:08 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Wed Nov 8 19:18:08 2017 +0000

----------------------------------------------------------------------
 404/index.html                                  |   2 +-
 404/index.html.gz                               | Bin 4326 -> 4327 bytes
 algorithm/custom/index.html                     |   2 +-
 algorithm/custom/index.html.gz                  | Bin 4270 -> 4271 bytes
 algorithm/index.html                            |   2 +-
 algorithm/index.html.gz                         | Bin 4423 -> 4425 bytes
 algorithm/multiple/index.html                   |   2 +-
 algorithm/multiple/index.html.gz                | Bin 4372 -> 4374 bytes
 algorithm/switch/index.html                     |   2 +-
 algorithm/switch/index.html.gz                  | Bin 4389 -> 4391 bytes
 appintegration/index.html                       |   2 +-
 appintegration/index.html.gz                    | Bin 4855 -> 4856 bytes
 batchpredict/index.html                         |   2 +-
 batchpredict/index.html.gz                      | Bin 6360 -> 6360 bytes
 cli/index.html                                  |   2 +-
 cli/index.html.gz                               | Bin 5060 -> 5062 bytes
 community/contribute-code/index.html            |   2 +-
 community/contribute-code/index.html.gz         | Bin 7500 -> 7502 bytes
 community/contribute-documentation/index.html   |   2 +-
 .../contribute-documentation/index.html.gz      | Bin 7426 -> 7427 bytes
 community/contribute-sdk/index.html             |   2 +-
 community/contribute-sdk/index.html.gz          | Bin 6476 -> 6478 bytes
 community/contribute-webhook/index.html         |   2 +-
 community/contribute-webhook/index.html.gz      | Bin 7590 -> 7590 bytes
 community/index.html                            |   2 +-
 community/index.html.gz                         | Bin 4704 -> 4706 bytes
 community/projects/index.html                   |   2 +-
 community/projects/index.html.gz                | Bin 5406 -> 5407 bytes
 community/submit-template/index.html            |   2 +-
 community/submit-template/index.html.gz         | Bin 5501 -> 5502 bytes
 customize/dase/index.html                       |   2 +-
 customize/dase/index.html.gz                    | Bin 8233 -> 8234 bytes
 customize/index.html                            |   2 +-
 customize/index.html.gz                         | Bin 5555 -> 5555 bytes
 customize/troubleshooting/index.html            |   2 +-
 customize/troubleshooting/index.html.gz         | Bin 7334 -> 7336 bytes
 datacollection/analytics-ipynb/index.html       |   2 +-
 datacollection/analytics-ipynb/index.html.gz    | Bin 6654 -> 6655 bytes
 datacollection/analytics-tableau/index.html     |   2 +-
 datacollection/analytics-tableau/index.html.gz  | Bin 7018 -> 7019 bytes
 datacollection/analytics-zeppelin/index.html    |   2 +-
 datacollection/analytics-zeppelin/index.html.gz | Bin 5904 -> 5905 bytes
 datacollection/analytics/index.html             |   2 +-
 datacollection/analytics/index.html.gz          | Bin 4427 -> 4429 bytes
 datacollection/batchimport/index.html           |   6 +-
 datacollection/batchimport/index.html.gz        | Bin 6296 -> 6292 bytes
 datacollection/channel/index.html               |   8 +-
 datacollection/channel/index.html.gz            | Bin 7233 -> 7231 bytes
 datacollection/eventapi/index.html              |  22 +-
 datacollection/eventapi/index.html.gz           | Bin 10319 -> 10312 bytes
 datacollection/eventmodel/index.html            |   2 +-
 datacollection/eventmodel/index.html.gz         | Bin 9565 -> 9565 bytes
 datacollection/index.html                       |   2 +-
 datacollection/index.html.gz                    | Bin 5000 -> 5001 bytes
 datacollection/plugin/index.html                |   2 +-
 datacollection/plugin/index.html.gz             | Bin 6172 -> 6172 bytes
 datacollection/webhooks/index.html              |   2 +-
 datacollection/webhooks/index.html.gz           | Bin 4440 -> 4441 bytes
 demo/community/index.html                       |   2 +-
 demo/community/index.html.gz                    | Bin 4930 -> 4930 bytes
 demo/index.html                                 |   2 +-
 demo/index.html.gz                              | Bin 4374 -> 4376 bytes
 demo/supervisedlearning/index.html              |   2 +-
 demo/supervisedlearning/index.html.gz           | Bin 6575 -> 6577 bytes
 demo/tapster/index.html                         |   2 +-
 demo/tapster/index.html.gz                      | Bin 10624 -> 10625 bytes
 demo/textclassification/index.html              |   2 +-
 demo/textclassification/index.html.gz           | Bin 19522 -> 19522 bytes
 deploy/engineparams/index.html                  |   2 +-
 deploy/engineparams/index.html.gz               | Bin 4265 -> 4266 bytes
 deploy/enginevariants/index.html                |   2 +-
 deploy/enginevariants/index.html.gz             | Bin 4269 -> 4269 bytes
 deploy/index.html                               |   2 +-
 deploy/index.html.gz                            | Bin 6254 -> 6256 bytes
 deploy/monitoring/index.html                    |   2 +-
 deploy/monitoring/index.html.gz                 | Bin 6942 -> 6943 bytes
 deploy/plugin/index.html                        |   2 +-
 deploy/plugin/index.html.gz                     | Bin 6211 -> 6212 bytes
 evaluation/evaluationdashboard/index.html       |   2 +-
 evaluation/evaluationdashboard/index.html.gz    | Bin 4874 -> 4876 bytes
 evaluation/history/index.html                   |   2 +-
 evaluation/history/index.html.gz                | Bin 4191 -> 4192 bytes
 evaluation/index.html                           |   2 +-
 evaluation/index.html.gz                        | Bin 4952 -> 4954 bytes
 evaluation/metricbuild/index.html               |   2 +-
 evaluation/metricbuild/index.html.gz            | Bin 6938 -> 6939 bytes
 evaluation/metricchoose/index.html              |   2 +-
 evaluation/metricchoose/index.html.gz           | Bin 5792 -> 5793 bytes
 evaluation/paramtuning/index.html               |   2 +-
 evaluation/paramtuning/index.html.gz            | Bin 10324 -> 10325 bytes
 gallery/template-gallery/index.html             |   4 +-
 gallery/template-gallery/index.html.gz          | Bin 11784 -> 11780 bytes
 github/index.html.gz                            | Bin 3094 -> 3094 bytes
 index.html                                      |   2 +-
 index.html.gz                                   | Bin 5377 -> 5379 bytes
 install/config-datastore/index.html             |   2 +-
 install/config-datastore/index.html.gz          | Bin 4706 -> 4708 bytes
 install/index.html                              |   2 +-
 install/index.html.gz                           | Bin 5068 -> 5070 bytes
 install/install-linux/index.html                |   2 +-
 install/install-linux/index.html.gz             | Bin 7337 -> 7338 bytes
 install/install-sourcecode/index.html           |   4 +-
 install/install-sourcecode/index.html.gz        | Bin 7902 -> 7900 bytes
 install/install-vagrant/index.html              |   2 +-
 install/install-vagrant/index.html.gz           | Bin 6234 -> 6235 bytes
 install/launch-aws/index.html                   |   2 +-
 install/launch-aws/index.html.gz                | Bin 5345 -> 5346 bytes
 install/sdk/index.html                          |   2 +-
 install/sdk/index.html.gz                       | Bin 4183 -> 4184 bytes
 javascripts/application-3058a372.js             |  38 ++
 javascripts/application-3058a372.js.gz          | Bin 0 -> 36970 bytes
 javascripts/application-a6acb1f5.js             |  38 --
 javascripts/application-a6acb1f5.js.gz          | Bin 36970 -> 0 bytes
 javascripts/tryit-d34ba011.js                   |   2 +
 javascripts/tryit-d34ba011.js.gz                | Bin 0 -> 322 bytes
 javascripts/tryit-e18ad27c.js                   |   2 -
 javascripts/tryit-e18ad27c.js.gz                | Bin 322 -> 0 bytes
 .../dimensionalityreduction/index.html          |   2 +-
 .../dimensionalityreduction/index.html.gz       | Bin 16918 -> 16919 bytes
 machinelearning/modelingworkflow/index.html     |   2 +-
 machinelearning/modelingworkflow/index.html.gz  | Bin 5127 -> 5128 bytes
 production/deploy-cloudformation/index.html     |   2 +-
 production/deploy-cloudformation/index.html.gz  | Bin 4242 -> 4243 bytes
 resources/faq/index.html                        |   2 +-
 resources/faq/index.html.gz                     | Bin 9364 -> 9366 bytes
 resources/glossary/index.html                   |   2 +-
 resources/glossary/index.html.gz                | Bin 4951 -> 4954 bytes
 resources/intellij/index.html                   |   2 +-
 resources/intellij/index.html.gz                | Bin 7880 -> 7881 bytes
 resources/release/index.html                    |   2 +-
 resources/release/index.html.gz                 | Bin 4771 -> 4773 bytes
 resources/upgrade/index.html                    |   2 +-
 resources/upgrade/index.html.gz                 | Bin 9919 -> 9920 bytes
 samples/index.html                              |   2 +-
 samples/index.html.gz                           | Bin 5590 -> 5592 bytes
 samples/languages/index.html                    |   2 +-
 samples/languages/index.html.gz                 | Bin 5916 -> 5916 bytes
 samples/level-1/index.html                      |   2 +-
 samples/level-1/index.html.gz                   | Bin 4253 -> 4255 bytes
 samples/level-2-1/index.html                    |   2 +-
 samples/level-2-1/index.html.gz                 | Bin 4261 -> 4263 bytes
 samples/level-2-2/index.html                    |   2 +-
 samples/level-2-2/index.html.gz                 | Bin 4262 -> 4263 bytes
 samples/level-2/index.html                      |   2 +-
 samples/level-2/index.html.gz                   | Bin 4254 -> 4256 bytes
 samples/level-3-1/index.html                    |   2 +-
 samples/level-3-1/index.html.gz                 | Bin 4261 -> 4263 bytes
 samples/level-3-2/index.html                    |   2 +-
 samples/level-3-2/index.html.gz                 | Bin 4262 -> 4263 bytes
 samples/level-3/index.html                      |   2 +-
 samples/level-3/index.html.gz                   | Bin 4255 -> 4256 bytes
 samples/level-4-1/index.html                    |   2 +-
 samples/level-4-1/index.html.gz                 | Bin 4262 -> 4263 bytes
 samples/level-4-2/index.html                    |   2 +-
 samples/level-4-2/index.html.gz                 | Bin 4261 -> 4263 bytes
 samples/level-4-3/index.html                    |   2 +-
 samples/level-4-3/index.html.gz                 | Bin 4262 -> 4263 bytes
 samples/level-4/index.html                      |   2 +-
 samples/level-4/index.html.gz                   | Bin 4256 -> 4257 bytes
 samples/narrow/index.html                       |   2 +-
 samples/narrow/index.html.gz                    | Bin 4202 -> 4204 bytes
 samples/sizing/index.html                       |   2 +-
 samples/sizing/index.html.gz                    | Bin 4539 -> 4541 bytes
 samples/tabs/index.html                         |  20 +-
 samples/tabs/index.html.gz                      | Bin 5419 -> 5417 bytes
 sdk/community/index.html                        |   2 +-
 sdk/community/index.html.gz                     | Bin 4986 -> 4988 bytes
 sdk/index.html                                  |   2 +-
 sdk/index.html.gz                               | Bin 4432 -> 4434 bytes
 sdk/java/index.html                             |   2 +-
 sdk/java/index.html.gz                          | Bin 4654 -> 4656 bytes
 sdk/php/index.html                              |   2 +-
 sdk/php/index.html.gz                           | Bin 4629 -> 4630 bytes
 sdk/python/index.html                           |   2 +-
 sdk/python/index.html.gz                        | Bin 4637 -> 4639 bytes
 sdk/ruby/index.html                             |   2 +-
 sdk/ruby/index.html.gz                          | Bin 4631 -> 4632 bytes
 search/index.html                               |   2 +-
 search/index.html.gz                            | Bin 4200 -> 4202 bytes
 sitemap.xml                                     | 516 +++++++++----------
 start/customize/index.html                      |   2 +-
 start/customize/index.html.gz                   | Bin 4708 -> 4709 bytes
 start/deploy/index.html                         |   2 +-
 start/deploy/index.html.gz                      | Bin 4590 -> 4592 bytes
 start/download/index.html                       |   2 +-
 start/download/index.html.gz                    | Bin 4508 -> 4510 bytes
 start/index.html                                |   2 +-
 start/index.html.gz                             | Bin 5348 -> 5349 bytes
 stylesheets/application-eccfc6cb.css.gz         | Bin 24889 -> 24889 bytes
 support/index.html                              |   2 +-
 support/index.html.gz                           | Bin 4830 -> 4832 bytes
 system/anotherdatastore/index.html              |   2 +-
 system/anotherdatastore/index.html.gz           | Bin 8040 -> 8040 bytes
 system/deploy-cloudformation/index.html         |   2 +-
 system/deploy-cloudformation/index.html.gz      | Bin 8987 -> 8986 bytes
 system/index.html                               |   2 +-
 system/index.html.gz                            | Bin 5132 -> 5132 bytes
 .../classification/add-algorithm/index.html     |   2 +-
 .../classification/add-algorithm/index.html.gz  | Bin 6881 -> 6881 bytes
 templates/classification/dase/index.html        |   2 +-
 templates/classification/dase/index.html.gz     | Bin 8463 -> 8464 bytes
 templates/classification/how-to/index.html      |   2 +-
 templates/classification/how-to/index.html.gz   | Bin 4327 -> 4329 bytes
 templates/classification/quickstart/index.html  |  32 +-
 .../classification/quickstart/index.html.gz     | Bin 13169 -> 13164 bytes
 .../reading-custom-properties/index.html        |   2 +-
 .../reading-custom-properties/index.html.gz     | Bin 5721 -> 5722 bytes
 templates/complementarypurchase/dase/index.html |   2 +-
 .../complementarypurchase/dase/index.html.gz    | Bin 10418 -> 10418 bytes
 .../complementarypurchase/quickstart/index.html |  22 +-
 .../quickstart/index.html.gz                    | Bin 12356 -> 12354 bytes
 .../adjust-score/index.html                     |   2 +-
 .../adjust-score/index.html.gz                  | Bin 6864 -> 6864 bytes
 .../ecommercerecommendation/dase/index.html     |   2 +-
 .../ecommercerecommendation/dase/index.html.gz  | Bin 14426 -> 14427 bytes
 .../ecommercerecommendation/how-to/index.html   |   2 +-
 .../how-to/index.html.gz                        | Bin 4334 -> 4336 bytes
 .../quickstart/index.html                       |  62 +--
 .../quickstart/index.html.gz                    | Bin 15515 -> 15525 bytes
 .../train-with-rate-event/index.html            |   2 +-
 .../train-with-rate-event/index.html.gz         | Bin 7158 -> 7159 bytes
 templates/index.html                            |   2 +-
 templates/index.html.gz                         | Bin 4438 -> 4439 bytes
 .../javaecommercerecommendation/dase/index.html |   2 +-
 .../dase/index.html.gz                          | Bin 11533 -> 11535 bytes
 .../quickstart/index.html                       |  62 +--
 .../quickstart/index.html.gz                    | Bin 15443 -> 15450 bytes
 templates/leadscoring/dase/index.html           |   2 +-
 templates/leadscoring/dase/index.html.gz        | Bin 11280 -> 11281 bytes
 templates/leadscoring/quickstart/index.html     |  32 +-
 templates/leadscoring/quickstart/index.html.gz  | Bin 12733 -> 12726 bytes
 templates/productranking/dase/index.html        |   2 +-
 templates/productranking/dase/index.html.gz     | Bin 12489 -> 12490 bytes
 templates/productranking/quickstart/index.html  |  42 +-
 .../productranking/quickstart/index.html.gz     | Bin 12699 -> 12697 bytes
 .../recommendation/batch-evaluator/index.html   |   2 +-
 .../batch-evaluator/index.html.gz               | Bin 7704 -> 7705 bytes
 .../recommendation/blacklist-items/index.html   |   2 +-
 .../blacklist-items/index.html.gz               | Bin 6989 -> 6990 bytes
 .../customize-data-prep/index.html              |   2 +-
 .../customize-data-prep/index.html.gz           | Bin 6944 -> 6945 bytes
 .../recommendation/customize-serving/index.html |   2 +-
 .../customize-serving/index.html.gz             | Bin 7214 -> 7215 bytes
 templates/recommendation/dase/index.html        |   2 +-
 templates/recommendation/dase/index.html.gz     | Bin 10551 -> 10551 bytes
 templates/recommendation/evaluation/index.html  |   2 +-
 .../recommendation/evaluation/index.html.gz     | Bin 10390 -> 10391 bytes
 templates/recommendation/how-to/index.html      |   2 +-
 templates/recommendation/how-to/index.html.gz   | Bin 4366 -> 4368 bytes
 templates/recommendation/quickstart/index.html  |  32 +-
 .../recommendation/quickstart/index.html.gz     | Bin 12473 -> 12476 bytes
 .../reading-custom-events/index.html            |   2 +-
 .../reading-custom-events/index.html.gz         | Bin 5706 -> 5707 bytes
 .../index.html                                  |   2 +-
 .../index.html.gz                               | Bin 6618 -> 6619 bytes
 templates/similarproduct/dase/index.html        |   2 +-
 templates/similarproduct/dase/index.html.gz     | Bin 12835 -> 12835 bytes
 templates/similarproduct/how-to/index.html      |   2 +-
 templates/similarproduct/how-to/index.html.gz   | Bin 4359 -> 4361 bytes
 .../multi-events-multi-algos/index.html         |   2 +-
 .../multi-events-multi-algos/index.html.gz      | Bin 11475 -> 11476 bytes
 templates/similarproduct/quickstart/index.html  |  42 +-
 .../similarproduct/quickstart/index.html.gz     | Bin 14078 -> 14080 bytes
 .../similarproduct/recommended-user/index.html  |   2 +-
 .../recommended-user/index.html.gz              | Bin 6735 -> 6736 bytes
 .../return-item-properties/index.html           |   2 +-
 .../return-item-properties/index.html.gz        | Bin 6421 -> 6422 bytes
 .../rid-user-set-event/index.html               |   2 +-
 .../rid-user-set-event/index.html.gz            | Bin 6024 -> 6024 bytes
 .../train-with-rate-event/index.html            |   2 +-
 .../train-with-rate-event/index.html.gz         | Bin 7049 -> 7050 bytes
 templates/vanilla/dase/index.html               |   2 +-
 templates/vanilla/dase/index.html.gz            | Bin 6475 -> 6474 bytes
 templates/vanilla/quickstart/index.html         |  12 +-
 templates/vanilla/quickstart/index.html.gz      | Bin 9132 -> 9127 bytes
 tryit/index.html                                |   2 +-
 tryit/index.html.gz                             | Bin 2821 -> 2823 bytes
 277 files changed, 617 insertions(+), 617 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/404/index.html
----------------------------------------------------------------------
diff --git a/404/index.html b/404/index.html
index bd32051..66b4a1c 100644
--- a/404/index.html
+++ b/404/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/404/index.html.gz
----------------------------------------------------------------------
diff --git a/404/index.html.gz b/404/index.html.gz
index c1330a2..62ba0a2 100644
Binary files a/404/index.html.gz and b/404/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/algorithm/custom/index.html
----------------------------------------------------------------------
diff --git a/algorithm/custom/index.html b/algorithm/custom/index.html
index 152b82b..0dcfc50 100644
--- a/algorithm/custom/index.html
+++ b/algorithm/custom/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/algorithm/custom/index.html.gz
----------------------------------------------------------------------
diff --git a/algorithm/custom/index.html.gz b/algorithm/custom/index.html.gz
index 82c740e..39fbe8f 100644
Binary files a/algorithm/custom/index.html.gz and b/algorithm/custom/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/algorithm/index.html
----------------------------------------------------------------------
diff --git a/algorithm/index.html b/algorithm/index.html
index 16e0084..d9be241 100644
--- a/algorithm/index.html
+++ b/algorithm/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/algorithm/index.html.gz
----------------------------------------------------------------------
diff --git a/algorithm/index.html.gz b/algorithm/index.html.gz
index e2a60f8..5ccd384 100644
Binary files a/algorithm/index.html.gz and b/algorithm/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/algorithm/multiple/index.html
----------------------------------------------------------------------
diff --git a/algorithm/multiple/index.html b/algorithm/multiple/index.html
index ec22c75..b6ea607 100644
--- a/algorithm/multiple/index.html
+++ b/algorithm/multiple/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/algorithm/multiple/index.html.gz
----------------------------------------------------------------------
diff --git a/algorithm/multiple/index.html.gz b/algorithm/multiple/index.html.gz
index e49588c..66e62c3 100644
Binary files a/algorithm/multiple/index.html.gz and b/algorithm/multiple/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/algorithm/switch/index.html
----------------------------------------------------------------------
diff --git a/algorithm/switch/index.html b/algorithm/switch/index.html
index d8148d7..9063c7e 100644
--- a/algorithm/switch/index.html
+++ b/algorithm/switch/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/algorithm/switch/index.html.gz
----------------------------------------------------------------------
diff --git a/algorithm/switch/index.html.gz b/algorithm/switch/index.html.gz
index f27a40b..ac47aea 100644
Binary files a/algorithm/switch/index.html.gz and b/algorithm/switch/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/appintegration/index.html
----------------------------------------------------------------------
diff --git a/appintegration/index.html b/appintegration/index.html
index 046e7e8..1c6b6ae 100644
--- a/appintegration/index.html
+++ b/appintegration/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/appintegration/index.html.gz
----------------------------------------------------------------------
diff --git a/appintegration/index.html.gz b/appintegration/index.html.gz
index 73d0216..0fa5b56 100644
Binary files a/appintegration/index.html.gz and b/appintegration/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/batchpredict/index.html
----------------------------------------------------------------------
diff --git a/batchpredict/index.html b/batchpredict/index.html
index 9ac0b34..7502c40 100644
--- a/batchpredict/index.html
+++ b/batchpredict/index.html
@@ -26,4 +26,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/batchpredict/index.html.gz
----------------------------------------------------------------------
diff --git a/batchpredict/index.html.gz b/batchpredict/index.html.gz
index c6e67a3..b477d25 100644
Binary files a/batchpredict/index.html.gz and b/batchpredict/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/cli/index.html
----------------------------------------------------------------------
diff --git a/cli/index.html b/cli/index.html
index 031c038..95ed837 100644
--- a/cli/index.html
+++ b/cli/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/cli/index.html.gz
----------------------------------------------------------------------
diff --git a/cli/index.html.gz b/cli/index.html.gz
index bce11a2..b274992 100644
Binary files a/cli/index.html.gz and b/cli/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/contribute-code/index.html
----------------------------------------------------------------------
diff --git a/community/contribute-code/index.html b/community/contribute-code/index.html
index 78476d4..ac38bcb 100644
--- a/community/contribute-code/index.html
+++ b/community/contribute-code/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/contribute-code/index.html.gz
----------------------------------------------------------------------
diff --git a/community/contribute-code/index.html.gz b/community/contribute-code/index.html.gz
index 637b4a4..14ddb9a 100644
Binary files a/community/contribute-code/index.html.gz and b/community/contribute-code/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/contribute-documentation/index.html
----------------------------------------------------------------------
diff --git a/community/contribute-documentation/index.html b/community/contribute-documentation/index.html
index 06b9ca0..67a3673 100644
--- a/community/contribute-documentation/index.html
+++ b/community/contribute-documentation/index.html
@@ -60,4 +60,4 @@ title: Page Title
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/contribute-documentation/index.html.gz
----------------------------------------------------------------------
diff --git a/community/contribute-documentation/index.html.gz b/community/contribute-documentation/index.html.gz
index c37e1ed..80fd1ea 100644
Binary files a/community/contribute-documentation/index.html.gz and b/community/contribute-documentation/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/contribute-sdk/index.html
----------------------------------------------------------------------
diff --git a/community/contribute-sdk/index.html b/community/contribute-sdk/index.html
index 5b08820..ff687dc 100644
--- a/community/contribute-sdk/index.html
+++ b/community/contribute-sdk/index.html
@@ -127,4 +127,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/contribute-sdk/index.html.gz
----------------------------------------------------------------------
diff --git a/community/contribute-sdk/index.html.gz b/community/contribute-sdk/index.html.gz
index d16a1e3..ce5fe7e 100644
Binary files a/community/contribute-sdk/index.html.gz and b/community/contribute-sdk/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/contribute-webhook/index.html
----------------------------------------------------------------------
diff --git a/community/contribute-webhook/index.html b/community/contribute-webhook/index.html
index 8a5155f..ada725e 100644
--- a/community/contribute-webhook/index.html
+++ b/community/contribute-webhook/index.html
@@ -252,4 +252,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/contribute-webhook/index.html.gz
----------------------------------------------------------------------
diff --git a/community/contribute-webhook/index.html.gz b/community/contribute-webhook/index.html.gz
index 7e646b0..9b6bc2e 100644
Binary files a/community/contribute-webhook/index.html.gz and b/community/contribute-webhook/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/index.html
----------------------------------------------------------------------
diff --git a/community/index.html b/community/index.html
index dcf4b80..928ed00 100644
--- a/community/index.html
+++ b/community/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/index.html.gz
----------------------------------------------------------------------
diff --git a/community/index.html.gz b/community/index.html.gz
index 35549d1..fb2eb0e 100644
Binary files a/community/index.html.gz and b/community/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/projects/index.html
----------------------------------------------------------------------
diff --git a/community/projects/index.html b/community/projects/index.html
index da629d3..5849624 100644
--- a/community/projects/index.html
+++ b/community/projects/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/projects/index.html.gz
----------------------------------------------------------------------
diff --git a/community/projects/index.html.gz b/community/projects/index.html.gz
index 01c565f..a746f03 100644
Binary files a/community/projects/index.html.gz and b/community/projects/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/submit-template/index.html
----------------------------------------------------------------------
diff --git a/community/submit-template/index.html b/community/submit-template/index.html
index 2219ed7..644d319 100644
--- a/community/submit-template/index.html
+++ b/community/submit-template/index.html
@@ -40,4 +40,4 @@ template.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/community/submit-template/index.html.gz
----------------------------------------------------------------------
diff --git a/community/submit-template/index.html.gz b/community/submit-template/index.html.gz
index 2fead20..a080bfd 100644
Binary files a/community/submit-template/index.html.gz and b/community/submit-template/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/customize/dase/index.html
----------------------------------------------------------------------
diff --git a/customize/dase/index.html b/customize/dase/index.html
index 2bc07d9..d149be3 100644
--- a/customize/dase/index.html
+++ b/customize/dase/index.html
@@ -216,4 +216,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/customize/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/customize/dase/index.html.gz b/customize/dase/index.html.gz
index c3b9443..419c991 100644
Binary files a/customize/dase/index.html.gz and b/customize/dase/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/customize/index.html
----------------------------------------------------------------------
diff --git a/customize/index.html b/customize/index.html
index 8cc278d..9b8ecc2 100644
--- a/customize/index.html
+++ b/customize/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/customize/index.html.gz
----------------------------------------------------------------------
diff --git a/customize/index.html.gz b/customize/index.html.gz
index 232dcbb..78c1926 100644
Binary files a/customize/index.html.gz and b/customize/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/customize/troubleshooting/index.html
----------------------------------------------------------------------
diff --git a/customize/troubleshooting/index.html b/customize/troubleshooting/index.html
index c82cb41..2eeacf9 100644
--- a/customize/troubleshooting/index.html
+++ b/customize/troubleshooting/index.html
@@ -82,4 +82,4 @@ c: Array[org.apache.predictionio.data.storage.Event] <span class="o">=</span> Ar
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/customize/troubleshooting/index.html.gz
----------------------------------------------------------------------
diff --git a/customize/troubleshooting/index.html.gz b/customize/troubleshooting/index.html.gz
index bffa6ed..ec83802 100644
Binary files a/customize/troubleshooting/index.html.gz and b/customize/troubleshooting/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/analytics-ipynb/index.html
----------------------------------------------------------------------
diff --git a/datacollection/analytics-ipynb/index.html b/datacollection/analytics-ipynb/index.html
index 84b9c43..2516af8 100644
--- a/datacollection/analytics-ipynb/index.html
+++ b/datacollection/analytics-ipynb/index.html
@@ -88,4 +88,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/analytics-ipynb/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/analytics-ipynb/index.html.gz b/datacollection/analytics-ipynb/index.html.gz
index 688282d..44bc86f 100644
Binary files a/datacollection/analytics-ipynb/index.html.gz and b/datacollection/analytics-ipynb/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/analytics-tableau/index.html
----------------------------------------------------------------------
diff --git a/datacollection/analytics-tableau/index.html b/datacollection/analytics-tableau/index.html
index a903a1e..477ab95 100644
--- a/datacollection/analytics-tableau/index.html
+++ b/datacollection/analytics-tableau/index.html
@@ -88,4 +88,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/analytics-tableau/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/analytics-tableau/index.html.gz b/datacollection/analytics-tableau/index.html.gz
index d8bd061..b7b8ec4 100644
Binary files a/datacollection/analytics-tableau/index.html.gz and b/datacollection/analytics-tableau/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/analytics-zeppelin/index.html
----------------------------------------------------------------------
diff --git a/datacollection/analytics-zeppelin/index.html b/datacollection/analytics-zeppelin/index.html
index 1007fc0..ebd74a3 100644
--- a/datacollection/analytics-zeppelin/index.html
+++ b/datacollection/analytics-zeppelin/index.html
@@ -44,4 +44,4 @@ WHERE properties.rating IS NOT NULL GROUP BY properties.rating ORDER BY r
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/analytics-zeppelin/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/analytics-zeppelin/index.html.gz b/datacollection/analytics-zeppelin/index.html.gz
index c8852b2..575fdb9 100644
Binary files a/datacollection/analytics-zeppelin/index.html.gz and b/datacollection/analytics-zeppelin/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/analytics/index.html
----------------------------------------------------------------------
diff --git a/datacollection/analytics/index.html b/datacollection/analytics/index.html
index d3df098..8d5a989 100644
--- a/datacollection/analytics/index.html
+++ b/datacollection/analytics/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/analytics/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/analytics/index.html.gz b/datacollection/analytics/index.html.gz
index 233df4b..a1c6738 100644
Binary files a/datacollection/analytics/index.html.gz and b/datacollection/analytics/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/batchimport/index.html
----------------------------------------------------------------------
diff --git a/datacollection/batchimport/index.html b/datacollection/batchimport/index.html
index cdc3f7c..43ea9a0 100644
--- a/datacollection/batchimport/index.html
+++ b/datacollection/batchimport/index.html
@@ -7,7 +7,7 @@
 </span><span class="p">{</span><span class="s2">"event"</span><span class="p">:</span><span class="s2">"rate"</span><span class="p">,</span><span class="s2">"entityType"</span><span class="p">:</span><span class="s2">"user"</span><span class="p">,</span><span class="s2">"entityId"</span><span class="p">:</span><span class="s2">"3"</span><span class="p">,</span><span class="s2">"targetEntityType"</span><span class="p">:</span><span class="s2">"item"</span><span class="p">,</span><span class="s2">"targetEntityId"</span><span class="p">:</span><span class="s2">"2"</span><span class="p">,</span><span class="s2">"properties"</span><span class="p">:{</span><span class="s2">"rating"</span><span class="p">:</span><span class="mf">1.0</span><span class="p">},</span><span class="s2">"eventTime"</span><span class="p">:</span><span class="s2">"2014-11-21T01:04:14.729Z"</span><span class="p">}</span><span class="w">
 </span><span class="p">{</span><span class="s2">"event"</span><span class="p">:</span><span class="s2">"buy"</span><span class="p">,</span><span class="s2">"entityType"</span><span class="p">:</span><span class="s2">"user"</span><span class="p">,</span><span class="s2">"entityId"</span><span class="p">:</span><span class="s2">"3"</span><span class="p">,</span><span class="s2">"targetEntityType"</span><span class="p">:</span><span class="s2">"item"</span><span class="p">,</span><span class="s2">"targetEntityId"</span><span class="p">:</span><span class="s2">"7"</span><span class="p">,</span><span class="s2">"eventTime"</span><span class="p">:</span><span class="s2">"2014-11-21T01:04:14.735Z"</span><span class="p">}</span><span class="w">
 </span><span class="p">{</span><span class="s2">"event"</span><span class="p">:</span><span class="s2">"buy"</span><span class="p">,</span><span class="s2">"entityType"</span><span class="p">:</span><span class="s2">"user"</span><span class="p">,</span><span class="s2">"entityId"</span><span class="p">:</span><span class="s2">"3"</span><span class="p">,</span><span class="s2">"targetEntityType"</span><span class="p">:</span><span class="s2">"item"</span><span class="p">,</span><span class="s2">"targetEntityId"</span><span class="p">:</span><span class="s2">"8"</span><span class="p">,</span><span class="s2">"eventTime"</span><span class="p">:</span><span class="s2">"2014-11-21T01:04:14.741Z"</span><span class="p">}</span><span class="w">
-</span></pre></td></tr></tbody></table> </div> <div class="alert-message warning"><p>Please make sure your import file does not contain any empty lines. Empty lines will be treated as a null object and will return an error during import.</p></div><h2 id='use-sdk-to-prepare-batch-input-file' class='header-anchors'>Use SDK to Prepare Batch Input File</h2><p>Some of the Apache PredictionIO SDKs also provides FileExporter client. You may use them to prepare the JSON file as described above. The FileExporter creates event in the same way as EventClient except that the events are written to a JSON file instead of being sent to EventSever. The written JSON file can then be used by batch import.</p><div class="tabs"> <ul class="control"> <li data-lang="php"><a href="#tab-7adf7ae0-ada7-48ac-98d2-45338940e150">PHP SDK</a></li> <li data-lang="python"><a href="#tab-ae68b201-9009-4be1-99db-916ed2df8c4e">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-3cc9b17b-cabe-4337-bf17-c816d514a8da">
 Ruby SDK</a></li> <li data-lang="java"><a href="#tab-8f86c20a-1245-443d-81a8-e67188d92b94">Java SDK</a></li> </ul> <div data-tab="PHP SDK" data-lang="php" id="tab-7adf7ae0-ada7-48ac-98d2-45338940e150"> (coming soon) </div> <div data-tab="Python SDK" data-lang="python" id="tab-ae68b201-9009-4be1-99db-916ed2df8c4e"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</span></pre></td></tr></tbody></table> </div> <div class="alert-message warning"><p>Please make sure your import file does not contain any empty lines. Empty lines will be treated as a null object and will return an error during import.</p></div><h2 id='use-sdk-to-prepare-batch-input-file' class='header-anchors'>Use SDK to Prepare Batch Input File</h2><p>Some of the Apache PredictionIO SDKs also provides FileExporter client. You may use them to prepare the JSON file as described above. The FileExporter creates event in the same way as EventClient except that the events are written to a JSON file instead of being sent to EventSever. The written JSON file can then be used by batch import.</p><div class="tabs"> <ul class="control"> <li data-lang="php"><a href="#tab-bd148aa4-d19e-458e-a5b9-06a6fbe63fbe">PHP SDK</a></li> <li data-lang="python"><a href="#tab-b1b2a851-033c-4f50-bfa5-70e0a37f3506">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-7d585c69-7323-4f5e-a7fb-6bfa709a9abb">
 Ruby SDK</a></li> <li data-lang="java"><a href="#tab-f35f5166-488f-4eb0-bac7-779f11070dbf">Java SDK</a></li> </ul> <div data-tab="PHP SDK" data-lang="php" id="tab-bd148aa4-d19e-458e-a5b9-06a6fbe63fbe"> (coming soon) </div> <div data-tab="Python SDK" data-lang="python" id="tab-b1b2a851-033c-4f50-bfa5-70e0a37f3506"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -58,11 +58,11 @@
 <span class="c"># close the FileExporter when finish writing all events</span>
 <span class="n">exporter</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-3cc9b17b-cabe-4337-bf17-c816d514a8da"> (coming soon) </div> <div data-tab="Java SDK" data-lang="java" id="tab-8f86c20a-1245-443d-81a8-e67188d92b94"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-7d585c69-7323-4f5e-a7fb-6bfa709a9abb"> (coming soon) </div> <div data-tab="Java SDK" data-lang="java" id="tab-f35f5166-488f-4eb0-bac7-779f11070dbf"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
 </pre></td> </tr></tbody></table> </div> </div> </div> <h2 id='import-events-from-input-file' class='header-anchors'>Import Events from Input File</h2><p>Importing events from a file can be done easily using the command line interface. Assuming that <code>pio</code> be in your search path, your App ID be <code>123</code>, and the input file <code>my_events.json</code> be in your current working directory:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td class="code"><pre><span class="gp">$ </span>pio import --appid 123 --input my_events.json
 </pre></td></tr></tbody></table> </div> <p>After a brief while, the tool should return to the console without any error. Congratulations! You have successfully imported your events.</p></div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/comm
 unity/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>â„¢</span
 ></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https
 ://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
 (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/batchimport/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/batchimport/index.html.gz b/datacollection/batchimport/index.html.gz
index 3d3a9b1..336282c 100644
Binary files a/datacollection/batchimport/index.html.gz and b/datacollection/batchimport/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/channel/index.html
----------------------------------------------------------------------
diff --git a/datacollection/channel/index.html b/datacollection/channel/index.html
index 6463918..1ef769a 100644
--- a/datacollection/channel/index.html
+++ b/datacollection/channel/index.html
@@ -12,7 +12,7 @@
 [INFO] [App$]     Channel Name: myChannel
 [INFO] [App$]       Channel ID: 2
 [INFO] [App$]           App ID: 5
-</span></pre></td></tr></tbody></table> </div> <p>Now &quot;myChannel&quot; is created and ready for collecting data.</p><h2 id='collect-data-through-channel' class='header-anchors'>Collect data through Channel</h2><p>The Event API support optional <code>channel</code> query parameter. This allows you to import and query events of the specified channel. When the <code>channel</code> parameter is not specified, the data is collected through the default channel.</p><p>URL: <code>http://localhost:7070/events.json?accessKey=yourAccessKeyString&amp;channel=yourChannelName</code></p><p>Query parameters:</p> <table><thead> <tr> <th style="text-align: left">Field</th> <th style="text-align: left">Type</th> <th style="text-align: left">Description</th> </tr> </thead><tbody> <tr> <td style="text-align: left"><code>accessKey</code></td> <td style="text-align: left">String</td> <td style="text-align: left">The Access Key for your App</td> </tr> <tr> <td style="text-align: left"><code>channel</c
 ode></td> <td style="text-align: left">String</td> <td style="text-align: left">The channel name (optional). Specify this to import data to this channel. <strong>NOTE: supported in PIO version &gt;= 0.9.2</strong> only. Channel must be created first.</td> </tr> </tbody></table> <p>For SDK usage, one EventClient should be responsible for collecting data of one specific channel. The channel name is specified when the EventClient object is instantiated.</p><p>For example, the following code import event to &quot;YOUR_CHANNEL&quot; of the corresponding App.</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-824d3582-7113-493c-a68d-4d84af93a6a6">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-f0b5ba05-8c1a-4b4f-b7f8-fec167b2580d">PHP SDK</a></li> <li data-lang="python"><a href="#tab-30e8a7d7-1048-426a-b1a5-fc267ceed240">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-cbd19a5f-ee13-4465-ab7c-903185a46159">Ruby SDK</a></li> <li data-lang="java"><a href
 ="#tab-c89b69f7-5378-48e6-990a-822e2c2f7d55">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-824d3582-7113-493c-a68d-4d84af93a6a6"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</span></pre></td></tr></tbody></table> </div> <p>Now &quot;myChannel&quot; is created and ready for collecting data.</p><h2 id='collect-data-through-channel' class='header-anchors'>Collect data through Channel</h2><p>The Event API support optional <code>channel</code> query parameter. This allows you to import and query events of the specified channel. When the <code>channel</code> parameter is not specified, the data is collected through the default channel.</p><p>URL: <code>http://localhost:7070/events.json?accessKey=yourAccessKeyString&amp;channel=yourChannelName</code></p><p>Query parameters:</p> <table><thead> <tr> <th style="text-align: left">Field</th> <th style="text-align: left">Type</th> <th style="text-align: left">Description</th> </tr> </thead><tbody> <tr> <td style="text-align: left"><code>accessKey</code></td> <td style="text-align: left">String</td> <td style="text-align: left">The Access Key for your App</td> </tr> <tr> <td style="text-align: left"><code>channel</c
 ode></td> <td style="text-align: left">String</td> <td style="text-align: left">The channel name (optional). Specify this to import data to this channel. <strong>NOTE: supported in PIO version &gt;= 0.9.2</strong> only. Channel must be created first.</td> </tr> </tbody></table> <p>For SDK usage, one EventClient should be responsible for collecting data of one specific channel. The channel name is specified when the EventClient object is instantiated.</p><p>For example, the following code import event to &quot;YOUR_CHANNEL&quot; of the corresponding App.</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-e26e63c1-003e-4127-b562-a6efc646d241">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-d0f690f1-6459-4d3b-95b2-5bae1d26bede">PHP SDK</a></li> <li data-lang="python"><a href="#tab-f3738b28-d6cb-4556-86df-ad3f6d2ae8c0">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-68e203d4-1bf4-4029-90f8-8b265cd0485e">Ruby SDK</a></li> <li data-lang="java"><a href
 ="#tab-0af923d0-5dda-4962-8718-cf4c1b2de0f6">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-e26e63c1-003e-4127-b562-a6efc646d241"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -39,7 +39,7 @@
   },
   "eventTime" : "2004-12-13T21:39:45.618Z"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-f0b5ba05-8c1a-4b4f-b7f8-fec167b2580d"> (TODO: update me) </div> <div data-tab="Python SDK" data-lang="python" id="tab-30e8a7d7-1048-426a-b1a5-fc267ceed240"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-d0f690f1-6459-4d3b-95b2-5bae1d26bede"> (TODO: update me) </div> <div data-tab="Python SDK" data-lang="python" id="tab-f3738b28-d6cb-4556-86df-ad3f6d2ae8c0"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -80,7 +80,7 @@
     <span class="n">properties</span><span class="o">=</span><span class="n">event_properties</span><span class="p">,</span>
     <span class="n">event_time</span><span class="o">=</span><span class="n">datetime</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span> <span class="mi">12</span><span class="p">,</span> <span class="mi">13</span><span class="p">,</span> <span class="mi">21</span><span class="p">,</span> <span class="mi">38</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">618000</span><span class="p">,</span> <span class="n">pytz</span><span class="o">.</span><span class="n">utc</span><span class="p">))</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-cbd19a5f-ee13-4465-ab7c-903185a46159"> (TODO: update me) </div> <div data-tab="Java SDK" data-lang="java" id="tab-c89b69f7-5378-48e6-990a-822e2c2f7d55"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-68e203d4-1bf4-4029-90f8-8b265cd0485e"> (TODO: update me) </div> <div data-tab="Java SDK" data-lang="java" id="tab-0af923d0-5dda-4962-8718-cf4c1b2de0f6"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
 </pre></td> </tr></tbody></table> </div> </div> </div> <p>You can also follow the EventAPI <a href="/datacollection/eventapi/#debugging-recipes">debug receipts</a> to query the events of specific channel by adding the <code>channel</code> query parameter in the URL.</p><h2 id='delete-a-channel-(including-all-imported-data)' class='header-anchors'>Delete a Channel (including all imported data)</h2><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td class="code"><pre>pio app channel-delete &lt;app name&gt; &lt;channel name&gt;
 </pre></td></tr></tbody></table> </div> <h2 id='delete-the-data-only-of-a-channel' class='header-anchors'>Delete the data-only of a Channel</h2><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td class="code"><pre>pio app data-delete &lt;app name&gt; --channel &lt;channel name&gt;
 </pre></td></tr></tbody></table> </div> <h2 id='accessing-channel-data-in-engine' class='header-anchors'>Accessing Channel Data in Engine</h2><p>To acccess channel data, simply specify the channel name when use the PEventStore or LEventStore API. Data is read from from the default channel if channelName is not specified.</p><p>For example, read data from default channel:</p><div class="highlight scala"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
@@ -120,4 +120,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/channel/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/channel/index.html.gz b/datacollection/channel/index.html.gz
index e5794bb..67cf74d 100644
Binary files a/datacollection/channel/index.html.gz and b/datacollection/channel/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/eventapi/index.html
----------------------------------------------------------------------
diff --git a/datacollection/eventapi/index.html b/datacollection/eventapi/index.html
index 81576ab..5bd4d8a 100644
--- a/datacollection/eventapi/index.html
+++ b/datacollection/eventapi/index.html
@@ -22,7 +22,7 @@ Content-Length: 18
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>         Name: MyTestApp
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>           ID: 6
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>   Access Key: WPgcXKd42FPQpZHVbVeMyqF4CQJUnXQmIMTHhX3ZUrSzvy1KXJjdFUrslifa9rnB
-</pre></td></tr></tbody></table> </div> <h3 id='creating-your-first-event' class='header-anchors'>Creating Your First Event</h3><p>You may connect to the Event Server with HTTP request or by using one of many <strong>Apache PredictionIO SDKs</strong>.</p><p>For example, the following shows how one can create an event involving a single entity. Replace the value of <code>accessKey</code> by the <em>Access Key</em> generated for your App.</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-91485258-769d-4829-9302-a8ab4d0c4ae8">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-a183b65a-2e69-4ed3-bb16-ca90dc082233">PHP SDK</a></li> <li data-lang="python"><a href="#tab-37315987-77b3-4884-b655-4e8dab643680">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-023d2e19-2cd4-49b5-91b7-6386fe4e19e7">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-9bcdb515-ba38-4fc1-9ab4-d444ccaf4091">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-
 91485258-769d-4829-9302-a8ab4d0c4ae8"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <h3 id='creating-your-first-event' class='header-anchors'>Creating Your First Event</h3><p>You may connect to the Event Server with HTTP request or by using one of many <strong>Apache PredictionIO SDKs</strong>.</p><p>For example, the following shows how one can create an event involving a single entity. Replace the value of <code>accessKey</code> by the <em>Access Key</em> generated for your App.</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-ec669be2-0c8e-482b-b093-a82d7d663c4c">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-4fd2297e-fbe9-46ab-8d38-fd33c093b036">PHP SDK</a></li> <li data-lang="python"><a href="#tab-420715ac-1b79-4bf4-857c-6798990d0990">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-5b6cb089-bf23-4a20-9f0d-88bab655a4bd">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-64b280cd-1fe3-4fe8-8227-3bbd42b2d4ce">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-
 ec669be2-0c8e-482b-b093-a82d7d663c4c"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -53,7 +53,7 @@ Content-Length: 18
   }
   "eventTime" : "2004-12-13T21:39:45.618-07:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-a183b65a-2e69-4ed3-bb16-ca90dc082233"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-4fd2297e-fbe9-46ab-8d38-fd33c093b036"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -94,7 +94,7 @@ Content-Length: 18
                         <span class="s1">'eventTime'</span> <span class="o">=&gt;</span> <span class="s1">'2004-12-13T21:39:45.618-07:00'</span>
                        <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-37315987-77b3-4884-b655-4e8dab643680"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-420715ac-1b79-4bf4-857c-6798990d0990"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -137,7 +137,7 @@ Content-Length: 18
     <span class="n">properties</span><span class="o">=</span><span class="n">first_event_properties</span><span class="p">,</span>
     <span class="n">event_time</span><span class="o">=</span><span class="n">first_event_time</span><span class="p">,</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-023d2e19-2cd4-49b5-91b7-6386fe4e19e7"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-5b6cb089-bf23-4a20-9f0d-88bab655a4bd"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -158,8 +158,8 @@ Content-Length: 18
                                             <span class="s1">'prop4'</span> <span class="o">=&gt;</span> <span class="kp">true</span><span class="p">,</span>
                                             <span class="s1">'prop5'</span> <span class="o">=&gt;</span> <span class="sx">%w(a b c)</span><span class="p">,</span>
                                             <span class="s1">'prop6'</span> <span class="o">=&gt;</span> <span class="mi">4</span><span class="o">.</span><span class="mi">56</span> <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-9bcdb515-ba38-4fc1-9ab4-d444ccaf4091"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>For example, the following shows how one can create an event involving two entities (with <code>targetEntity</code>).</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-f09ec885-b900-46cd-a80b-735016e4e167">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-d324e50e-8e09-4de2-9996-94786628dfc7">PHP SDK</a></li> <li data-lang="python"><a href="#tab-3f52efae-0d63-49a0-a7ed-86a2d6a02807">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-79513844-5700-4b20-8459-5fbbbf386459">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-cc7e24c2-4d40-446e-950c-14ac865d071d">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-f09ec885-b900-46cd-a80b-735016e4e167"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-64b280cd-1fe3-4fe8-8227-3bbd42b2d4ce"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>For example, the following shows how one can create an event involving two entities (with <code>targetEntity</code>).</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-69be4bf7-bee8-48d4-a0bd-ee7626fe0fa8">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-e3d8ff33-d397-46ab-8efa-c5fb7e5eb06b">PHP SDK</a></li> <li data-lang="python"><a href="#tab-e629c991-a29c-4539-af9d-d2642e62ce80">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-f6b25608-fba9-490e-b176-6c74f6fb1e8d">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-856711ce-37bd-4d75-9a8a-e63bae006609">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-69be4bf7-bee8-48d4-a0bd-ee7626fe0fa8"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -186,7 +186,7 @@ Content-Length: 18
   },
   "eventTime" : "2004-12-13T21:39:45.618Z"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-d324e50e-8e09-4de2-9996-94786628dfc7"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-e3d8ff33-d397-46ab-8efa-c5fb7e5eb06b"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -221,7 +221,7 @@ Content-Length: 18
                         <span class="s1">'eventTime'</span> <span class="o">=&gt;</span> <span class="s1">'2004-12-13T21:39:45.618Z'</span>
                        <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-3f52efae-0d63-49a0-a7ed-86a2d6a02807"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-e629c991-a29c-4539-af9d-d2642e62ce80"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -246,7 +246,7 @@ Content-Length: 18
     <span class="n">target_entity_id</span><span class="o">=</span><span class="s">"iid"</span><span class="p">,</span>
     <span class="n">properties</span><span class="o">=</span><span class="n">second_event_properties</span><span class="p">,</span>
     <span class="n">event_time</span><span class="o">=</span><span class="n">datetime</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span> <span class="mi">12</span><span class="p">,</span> <span class="mi">13</span><span class="p">,</span> <span class="mi">21</span><span class="p">,</span> <span class="mi">38</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">618000</span><span class="p">,</span> <span class="n">pytz</span><span class="o">.</span><span class="n">utc</span><span class="p">))</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-79513844-5700-4b20-8459-5fbbbf386459"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-f6b25608-fba9-490e-b176-6c74f6fb1e8d"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -263,7 +263,7 @@ Content-Length: 18
                           <span class="s1">'eventTime'</span> <span class="o">=&gt;</span> <span class="s1">'2004-12-13T21:39:45.618Z'</span><span class="p">,</span>
                           <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="s1">'someProperty'</span> <span class="o">=&gt;</span> <span class="s1">'value1'</span><span class="p">,</span>
                                             <span class="s1">'anotherProperty'</span> <span class="o">=&gt;</span> <span class="s1">'value2'</span> <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-cc7e24c2-4d40-446e-950c-14ac865d071d"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-856711ce-37bd-4d75-9a8a-e63bae006609"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
 </pre></td> </tr></tbody></table> </div> </div> </div> <p>Sample response:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
@@ -290,4 +290,4 @@ Content-Length: 41
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/eventapi/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/eventapi/index.html.gz b/datacollection/eventapi/index.html.gz
index fcd7647..76ae503 100644
Binary files a/datacollection/eventapi/index.html.gz and b/datacollection/eventapi/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/eventmodel/index.html
----------------------------------------------------------------------
diff --git a/datacollection/eventmodel/index.html b/datacollection/eventmodel/index.html
index 05285b1..9eebb58 100644
--- a/datacollection/eventmodel/index.html
+++ b/datacollection/eventmodel/index.html
@@ -292,4 +292,4 @@ Content-Length: 41
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/eventmodel/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/eventmodel/index.html.gz b/datacollection/eventmodel/index.html.gz
index 5c1df8b..73f100d 100644
Binary files a/datacollection/eventmodel/index.html.gz and b/datacollection/eventmodel/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/index.html
----------------------------------------------------------------------
diff --git a/datacollection/index.html b/datacollection/index.html
index 8e3072d..9b1ac2c 100644
--- a/datacollection/index.html
+++ b/datacollection/index.html
@@ -4,4 +4,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/index.html.gz b/datacollection/index.html.gz
index b5b1310..c9d8cb9 100644
Binary files a/datacollection/index.html.gz and b/datacollection/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/plugin/index.html
----------------------------------------------------------------------
diff --git a/datacollection/plugin/index.html b/datacollection/plugin/index.html
index bba147a..252df40 100644
--- a/datacollection/plugin/index.html
+++ b/datacollection/plugin/index.html
@@ -92,4 +92,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/plugin/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/plugin/index.html.gz b/datacollection/plugin/index.html.gz
index b2ef2b2..675c2fd 100644
Binary files a/datacollection/plugin/index.html.gz and b/datacollection/plugin/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/webhooks/index.html
----------------------------------------------------------------------
diff --git a/datacollection/webhooks/index.html b/datacollection/webhooks/index.html
index 7decb1e..81c79c3 100644
--- a/datacollection/webhooks/index.html
+++ b/datacollection/webhooks/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/datacollection/webhooks/index.html.gz
----------------------------------------------------------------------
diff --git a/datacollection/webhooks/index.html.gz b/datacollection/webhooks/index.html.gz
index b4151ee..1102af1 100644
Binary files a/datacollection/webhooks/index.html.gz and b/datacollection/webhooks/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/community/index.html
----------------------------------------------------------------------
diff --git a/demo/community/index.html b/demo/community/index.html
index 13f9a23..15024b7 100644
--- a/demo/community/index.html
+++ b/demo/community/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/demo/community/index.html.gz
----------------------------------------------------------------------
diff --git a/demo/community/index.html.gz b/demo/community/index.html.gz
index beea592..42b10bc 100644
Binary files a/demo/community/index.html.gz and b/demo/community/index.html.gz differ



[02/12] incubator-predictionio-site git commit: Documentation based on apache/incubator-predictionio#e1b211e8d90b21baa41a3b0f31bee8f953097315

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/productranking/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/productranking/quickstart/index.html b/templates/productranking/quickstart/index.html
index 0981fb8..7471627 100644
--- a/templates/productranking/quickstart/index.html
+++ b/templates/productranking/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>.
-</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect some training data for the app of this Engine. By default, the Product Ranking Engine Template supports 2 types of entities: <strong>user</strong> and <strong>item</strong>, and event <strong>view</strong>. A user can view an item. This template requires &#39;$set&#39; user event, &#39;$set&#39; item event and user-view-item events.</p> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. 
 Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when a new user with id &quot;u0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-a7e81d9b-f3e5-41c2-a39f-ea6c463bffa8">REST API</a></li> <li data-lang="python"><a href="#tab-3374fb14-88e9-469a-a455-95d0595bffd3">Python SDK</a></li> <li data-lang="php"><a href="#tab-5b324ac9-13fd-4a78-a086-3963c6288301">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-b25b9042-72a9-4f98-9c82-ab67b0864ec7">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-1ddb7a82-b94b-4ebf
 -a401-cb289d9c292a">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-a7e81d9b-f3e5-41c2-a39f-ea6c463bffa8"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect some training data for the app of this Engine. By default, the Product Ranking Engine Template supports 2 types of entities: <strong>user</strong> and <strong>item</strong>, and event <strong>view</strong>. A user can view an item. This template requires &#39;$set&#39; user event, &#39;$set&#39; item event and user-view-item events.</p> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. 
 Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <p>For example, when a new user with id &quot;u0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-729c8fcb-fe6b-42ed-aff0-0380a79d7b71">REST API</a></li> <li data-lang="python"><a href="#tab-f0f2bf9d-e9a5-4f80-8f5b-e4ef406cd1b1">Python SDK</a></li> <li data-lang="php"><a href="#tab-b357bdd3-0ef0-4827-b28a-dc8bae6fafa1">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-012b2187-ac37-46a1-b7d6-4153fd0c1f97">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-eaff109f-337b-4a1f
 -948c-3b198568346f">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-729c8fcb-fe6b-42ed-aff0-0380a79d7b71"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -47,7 +47,7 @@ Your system is all ready to go.
   "entityId" : "u0",
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-3374fb14-88e9-469a-a455-95d0595bffd3"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-f0f2bf9d-e9a5-4f80-8f5b-e4ef406cd1b1"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -78,7 +78,7 @@ Your system is all ready to go.
   <span class="n">entity_type</span><span class="o">=</span><span class="s">"user"</span><span class="p">,</span>
   <span class="n">entity_id</span><span class="o">=&lt;</span><span class="n">USER_ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-5b324ac9-13fd-4a78-a086-3963c6288301"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-b357bdd3-0ef0-4827-b28a-dc8bae6fafa1"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -103,7 +103,7 @@ Your system is all ready to go.
   <span class="s1">'entityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">USER</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-b25b9042-72a9-4f98-9c82-ab67b0864ec7"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-012b2187-ac37-46a1-b7d6-4153fd0c1f97"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -120,7 +120,7 @@ Your system is all ready to go.
   <span class="s1">'user'</span><span class="p">,</span>
   <span class="o">&lt;</span><span class="no">USER</span> <span class="no">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-1ddb7a82-b94b-4ebf-a401-cb289d9c292a"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-eaff109f-337b-4a1f-948c-3b198568346f"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -145,7 +145,7 @@ Your system is all ready to go.
   <span class="o">.</span><span class="na">entityType</span><span class="o">(</span><span class="s">"user"</span><span class="o">)</span>
   <span class="o">.</span><span class="na">entityId</span><span class="o">(&lt;</span><span class="n">USER_ID</span><span class="o">&gt;);</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">userEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item &quot;i0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-dcb22005-cdfa-49a4-8f5b-c1fb97e07dc2">REST API</a></li> <li data-lang="python"><a href="#tab-fb8d2c2a-1e5b-460c-a9b8-886837222a3e">Python SDK</a></li> <li data-lang="php"><a href="#tab-3a8dc662-a37f-4d69-8013-4ebc1b7aeae8">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-d454fd4a-d080-489e-859b-ade4a49c3bd5">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-b957386c-069c-413f-8773-124ed0c2ebca">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-dcb22005-cdfa-49a4-8f5b-c1fb97e07dc2"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td cla
 ss="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item &quot;i0&quot; is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-dbb093c2-8581-4130-8c31-460fae074ec2">REST API</a></li> <li data-lang="python"><a href="#tab-a733b5c0-c33d-4f69-86ba-a0cedb2b9481">Python SDK</a></li> <li data-lang="php"><a href="#tab-8eb5b2a3-5522-45c0-80ad-797afeed9918">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-b64fa697-e0e7-470a-8feb-3a0135dcad8f">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-65db6824-f827-47b4-864f-c8032ab30344">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-dbb093c2-8581-4130-8c31-460fae074ec2"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td cla
 ss="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -160,7 +160,7 @@ Your system is all ready to go.
   "entityId" : "i0",
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-fb8d2c2a-1e5b-460c-a9b8-886837222a3e"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-a733b5c0-c33d-4f69-86ba-a0cedb2b9481"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -173,7 +173,7 @@ Your system is all ready to go.
   <span class="n">entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span>
   <span class="n">entity_id</span><span class="o">=&lt;</span><span class="n">ITEM_ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-3a8dc662-a37f-4d69-8013-4ebc1b7aeae8"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-8eb5b2a3-5522-45c0-80ad-797afeed9918"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -190,7 +190,7 @@ Your system is all ready to go.
 <span class="p">));</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-d454fd4a-d080-489e-859b-ade4a49c3bd5"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-b64fa697-e0e7-470a-8feb-3a0135dcad8f"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -203,7 +203,7 @@ Your system is all ready to go.
   <span class="o">&lt;</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-b957386c-069c-413f-8773-124ed0c2ebca"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-65db6824-f827-47b4-864f-c8032ab30344"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -214,7 +214,7 @@ Your system is all ready to go.
   <span class="o">.</span><span class="na">entityType</span><span class="o">(</span><span class="s">"item"</span><span class="o">)</span>
   <span class="o">.</span><span class="na">entityId</span><span class="o">(&lt;</span><span class="n">ITEM_ID</span><span class="o">&gt;);</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">itemEvent</span><span class="o">)</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user &quot;u0&quot; view item &quot;i0&quot; on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-a85f4f62-f511-4141-ad0f-6789353a3804">REST API</a></li> <li data-lang="python"><a href="#tab-3bb551a3-3b78-4cac-8cd1-9a0219566ef2">Python SDK</a></li> <li data-lang="php"><a href="#tab-3852385b-36e0-4147-8242-acd652f25e56">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-30c5de45-b799-4980-b296-a7996a12da1c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-0b220a9c-1f16-4e97-9838-cad57b20736c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-a85f4f62-f511-4141-ad0f-6789353a3804"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text
 -align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user &quot;u0&quot; view item &quot;i0&quot; on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-43b414dd-d314-4ee1-8277-eb4de325d0f0">REST API</a></li> <li data-lang="python"><a href="#tab-ec92f4a6-26b0-4449-a3fd-59ca0d4238f7">Python SDK</a></li> <li data-lang="php"><a href="#tab-c395cbdb-ccfb-4829-8fce-0db0125e4e4a">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-e2c3a7c9-0a2d-47dc-b646-d4178bc548f2">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d3a0a19c-a25f-4a0e-97f3-157fc27443cf">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-43b414dd-d314-4ee1-8277-eb4de325d0f0"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text
 -align: right"><pre class="lineno">1
 2
 3
 4
@@ -233,7 +233,7 @@ Your system is all ready to go.
   "targetEntityId" : "i0",
   "eventTime" : "2014-11-10T12:34:56.123-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-3bb551a3-3b78-4cac-8cd1-9a0219566ef2"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-ec92f4a6-26b0-4449-a3fd-59ca0d4238f7"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -250,7 +250,7 @@ Your system is all ready to go.
   <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span>
   <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-3852385b-36e0-4147-8242-acd652f25e56"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-c395cbdb-ccfb-4829-8fce-0db0125e4e4a"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -269,7 +269,7 @@ Your system is all ready to go.
    <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-30c5de45-b799-4980-b296-a7996a12da1c"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-e2c3a7c9-0a2d-47dc-b646-d4178bc548f2"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -286,7 +286,7 @@ Your system is all ready to go.
     <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">&gt;</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-0b220a9c-1f16-4e97-9838-cad57b20736c"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-d3a0a19c-a25f-4a0e-97f3-157fc27443cf"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -344,14 +344,14 @@ User u10 views item i7
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To rank items with IDs &quot;i1&quot;, &quot;i3&quot;, &quot;i10&quot;, &quot;i2&quot;, &quot;i5&quot;, &quot;i31&quot;, &quot;i9&quot; for user &quot;u2&quot;. You send this JSON <code>{ &quot;user&quot;: &quot;u2&quot;, &quot;items&quot;: [&quot;i1&quot;, &quot;i3&quot;, &quot;i10&quot;, &quot;i2&quot;, &quot;i5&quot;, &quot;i31&quot;, &quot;i9&quot;] }</code> to the deployed engine and it will return a JSON of the ranked items. Simply send a query by making a HTTP request or through the <code>EngineCl
 ient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-302a5e03-c944-4230-a207-31a2c73627d0">REST API</a></li> <li data-lang="python"><a href="#tab-58960b2a-a4cc-4c05-b321-54b62bd542da">Python SDK</a></li> <li data-lang="php"><a href="#tab-ad7d2789-1c6c-4f0e-acce-6fbd484ec2e5">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-c5755147-7a0f-43ab-a3f7-b71b9aeb150e">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-98883129-9bf5-457a-a8e3-478b316a8118">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-302a5e03-c944-4230-a207-31a2c73627d0"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To rank items with IDs &quot;i1&quot;, &quot;i3&quot;, &quot;i10&quot;, &quot;i2&quot;, &quot;i5&quot;, &quot;i31&quot;, &quot;i9&quot; for user &quot;u2&quot;. You send this JSON <code>{ &quot;user&quot;: &quot;u2&quot;, &quot;items&quot;: [&quot;i1&quot;, &quot;i3&quot;, &quot;i10&quot;, &quot;i2&quot;, &quot;i5&quot;, &quot;i31&quot;, &quot;i9&quot;] }</code> to the deployed engine and it will return a JSON of the ranked items. Simply send a query by making a HTTP request or through the <code>EngineCl
 ient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-2b82b896-15e0-4cd2-9ef5-ccc0ff4a5fa8">REST API</a></li> <li data-lang="python"><a href="#tab-e0c76da3-7972-49e7-acc5-34b07f882109">Python SDK</a></li> <li data-lang="php"><a href="#tab-d8fe8949-b615-42fe-ba7b-84cf9772b190">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-15e16829-437b-4368-a3a9-6aa9f314822c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-ee8b3030-725b-4557-bb51-0625c5f62ab3">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-2b82b896-15e0-4cd2-9ef5-ccc0ff4a5fa8"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
 -d <span class="s1">'{ "user": "u2", "items": ["i1", "i3", "i10", "i2", "i5", "i31", "i9"]}'</span> <span class="se">\</span>
 http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-58960b2a-a4cc-4c05-b321-54b62bd542da"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-e0c76da3-7972-49e7-acc5-34b07f882109"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -362,7 +362,7 @@ http://localhost:8000/queries.json
   <span class="s">"user"</span><span class="p">:</span> <span class="s">"u2"</span><span class="p">,</span>
   <span class="s">"items"</span><span class="p">:</span> <span class="p">[</span><span class="s">"i1"</span><span class="p">,</span> <span class="s">"i3"</span><span class="p">,</span> <span class="s">"i10"</span><span class="p">,</span> <span class="s">"i2"</span><span class="p">,</span> <span class="s">"i5"</span><span class="p">,</span> <span class="s">"i31"</span><span class="p">,</span> <span class="s">"i9"</span><span class="p">]</span>
 <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-ad7d2789-1c6c-4f0e-acce-6fbd484ec2e5"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-d8fe8949-b615-42fe-ba7b-84cf9772b190"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -385,7 +385,7 @@ http://localhost:8000/queries.json
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-c5755147-7a0f-43ab-a3f7-b71b9aeb150e"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-15e16829-437b-4368-a3a9-6aa9f314822c"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -402,7 +402,7 @@ http://localhost:8000/queries.json
   <span class="s1">'items'</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="s1">'i1'</span><span class="p">,</span> <span class="s1">'i3'</span><span class="p">,</span> <span class="s1">'i10'</span><span class="p">,</span> <span class="s1">'i2'</span><span class="p">,</span> <span class="s1">'i5'</span><span class="p">,</span> <span class="s1">'i31'</span><span class="p">,</span> <span class="s1">'i9'</span><span class="p">])</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-98883129-9bf5-457a-a8e3-478b316a8118"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-ee8b3030-725b-4557-bb51-0625c5f62ab3"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -459,4 +459,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/productranking/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/productranking/quickstart/index.html.gz b/templates/productranking/quickstart/index.html.gz
index b16147d..502ab1c 100644
Binary files a/templates/productranking/quickstart/index.html.gz and b/templates/productranking/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/batch-evaluator/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/batch-evaluator/index.html b/templates/recommendation/batch-evaluator/index.html
index b2ca64d..a140d0d 100644
--- a/templates/recommendation/batch-evaluator/index.html
+++ b/templates/recommendation/batch-evaluator/index.html
@@ -294,4 +294,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/batch-evaluator/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/batch-evaluator/index.html.gz b/templates/recommendation/batch-evaluator/index.html.gz
index c6f5cc0..f82c35a 100644
Binary files a/templates/recommendation/batch-evaluator/index.html.gz and b/templates/recommendation/batch-evaluator/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/blacklist-items/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/blacklist-items/index.html b/templates/recommendation/blacklist-items/index.html
index 3b02e74..4285cca 100644
--- a/templates/recommendation/blacklist-items/index.html
+++ b/templates/recommendation/blacklist-items/index.html
@@ -166,4 +166,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/blacklist-items/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/blacklist-items/index.html.gz b/templates/recommendation/blacklist-items/index.html.gz
index eea77f3..f21d794 100644
Binary files a/templates/recommendation/blacklist-items/index.html.gz and b/templates/recommendation/blacklist-items/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/customize-data-prep/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/customize-data-prep/index.html b/templates/recommendation/customize-data-prep/index.html
index d86bae3..2397853 100644
--- a/templates/recommendation/customize-data-prep/index.html
+++ b/templates/recommendation/customize-data-prep/index.html
@@ -140,4 +140,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/customize-data-prep/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/customize-data-prep/index.html.gz b/templates/recommendation/customize-data-prep/index.html.gz
index d0fcbde..4ed2dbc 100644
Binary files a/templates/recommendation/customize-data-prep/index.html.gz and b/templates/recommendation/customize-data-prep/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/customize-serving/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/customize-serving/index.html b/templates/recommendation/customize-serving/index.html
index 4c06ec1..499da45 100644
--- a/templates/recommendation/customize-serving/index.html
+++ b/templates/recommendation/customize-serving/index.html
@@ -178,4 +178,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/customize-serving/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/customize-serving/index.html.gz b/templates/recommendation/customize-serving/index.html.gz
index 66bcf91..1eb8768 100644
Binary files a/templates/recommendation/customize-serving/index.html.gz and b/templates/recommendation/customize-serving/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/dase/index.html b/templates/recommendation/dase/index.html
index bf5593c..b5a9e55 100644
--- a/templates/recommendation/dase/index.html
+++ b/templates/recommendation/dase/index.html
@@ -364,4 +364,4 @@ val itemStringIntMap <span class="o">=</span> BiMap.stringInt<span class="o">(</
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/dase/index.html.gz b/templates/recommendation/dase/index.html.gz
index a90040a..ecf4fba 100644
Binary files a/templates/recommendation/dase/index.html.gz and b/templates/recommendation/dase/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/evaluation/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/evaluation/index.html b/templates/recommendation/evaluation/index.html
index ad5ef52..8483030 100644
--- a/templates/recommendation/evaluation/index.html
+++ b/templates/recommendation/evaluation/index.html
@@ -288,4 +288,4 @@ Metrics:
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/evaluation/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/evaluation/index.html.gz b/templates/recommendation/evaluation/index.html.gz
index b51e06c..3886659 100644
Binary files a/templates/recommendation/evaluation/index.html.gz and b/templates/recommendation/evaluation/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/how-to/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/how-to/index.html b/templates/recommendation/how-to/index.html
index c89bf55..fb19d23 100644
--- a/templates/recommendation/how-to/index.html
+++ b/templates/recommendation/how-to/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/how-to/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/how-to/index.html.gz b/templates/recommendation/how-to/index.html.gz
index f219f66..a4abd57 100644
Binary files a/templates/recommendation/how-to/index.html.gz and b/templates/recommendation/how-to/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/quickstart/index.html b/templates/recommendation/quickstart/index.html
index ae47a24..44539f8 100644
--- a/templates/recommendation/quickstart/index.html
+++ b/templates/recommendation/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span>               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span>
 <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>.
-</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect some training data. By default, the Recommendation Engine Template supports 2 types of events: <strong>rate</strong> and <strong>buy</strong>. A user can give a rating score to an item or buy an item. This template requires user-view-item and user-buy-item events.</p><div class="alert-message info"><p>This template can easily be customized to consider more user events such as <em>like</em>, <em>dislike</em> etc.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><
 p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <h3 id='example-<strong>rate</strong>-event' class='header-anchors' >Example <strong>rate</strong> event</h3><p>A user (ID &quot;u0&quot;) gives an item (ID &quot;i0&quot;) a rating of 5 at <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified)</p><p>Run the following <code>curl</code> command to send the <code>rate</code> event:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-ceb07725-2b82-4620-aac6-11fa9f2ecf72">REST API</a></li> <li data-lang="python"><a href="#tab-14ec87b6-6383-47c9-9088-0c4c0b065cbc">Python SDK</a></li> <li data-lang="php"><a href="#tab-4a34ddc2-051f-4724-b37d-b2a037e5defa">PHP
  SDK</a></li> <li data-lang="ruby"><a href="#tab-e08d953e-9944-4cb7-8bb0-0023a9a7e8e3">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-b672dc0e-77c2-417a-9429-899e57d38085">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-ceb07725-2b82-4620-aac6-11fa9f2ecf72"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let&#39;s collect some training data. By default, the Recommendation Engine Template supports 2 types of events: <strong>rate</strong> and <strong>buy</strong>. A user can give a rating score to an item or buy an item. This template requires user-view-item and user-buy-item events.</p><div class="alert-message info"><p>This template can easily be customized to consider more user events such as <em>like</em>, <em>dislike</em> etc.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let&#39;s try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><
 p>Replace <code>&lt;ACCCESS_KEY&gt;</code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=&lt;ACCESS_KEY&gt;</code></p> <p><a href="#"></a></p> <h3 id='example-<strong>rate</strong>-event' class='header-anchors' >Example <strong>rate</strong> event</h3><p>A user (ID &quot;u0&quot;) gives an item (ID &quot;i0&quot;) a rating of 5 at <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified)</p><p>Run the following <code>curl</code> command to send the <code>rate</code> event:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-61b0679c-1690-453e-b64f-c8a8e54c45fd">REST API</a></li> <li data-lang="python"><a href="#tab-9b711a77-2431-4ab7-aa95-b4a886a82ebb">Python SDK</a></li> <li data-lang="php"><a href="#tab-ef0c0bac-f972-49fd-bb36-af4e545b0d7c">PHP
  SDK</a></li> <li data-lang="ruby"><a href="#tab-4e179a34-5d76-4702-9c30-5dfd719045be">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-088246e7-79ef-4653-a508-0b6a41e9bd23">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-61b0679c-1690-453e-b64f-c8a8e54c45fd"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -57,7 +57,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-14ec87b6-6383-47c9-9088-0c4c0b065cbc"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-9b711a77-2431-4ab7-aa95-b4a886a82ebb"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -92,7 +92,7 @@ Your system is all ready to go.
     <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span><span class="p">,</span>
     <span class="n">properties</span><span class="o">=</span> <span class="p">{</span> <span class="s">"rating"</span> <span class="p">:</span> <span class="nb">float</span><span class="p">(</span><span class="o">&lt;</span><span class="n">RATING</span><span class="o">&gt;</span><span class="p">)</span> <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-4a34ddc2-051f-4724-b37d-b2a037e5defa"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-ef0c0bac-f972-49fd-bb36-af4e545b0d7c"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -123,7 +123,7 @@ Your system is all ready to go.
    <span class="s1">'properties'</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">'rating'</span><span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">RATING</span><span class="o">&gt;</span><span class="p">)</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-e08d953e-9944-4cb7-8bb0-0023a9a7e8e3"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-4e179a34-5d76-4702-9c30-5dfd719045be"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -150,7 +150,7 @@ Your system is all ready to go.
   <span class="p">}</span>
 <span class="p">)</span>
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-b672dc0e-77c2-417a-9429-899e57d38085"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-088246e7-79ef-4653-a508-0b6a41e9bd23"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -179,7 +179,7 @@ Your system is all ready to go.
     <span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"rating"</span><span class="o">,</span> <span class="k">new</span> <span class="n">Float</span><span class="o">(&lt;</span><span class="n">RATING</span><span class="o">&gt;));</span>
 <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">rateEvent</span><span class="o">);</span>
 
-</pre></td> </tr></tbody></table> </div> </div> </div> <h3 id='example-<strong>buy</strong>-event' class='header-anchors' >Example <strong>buy</strong> event</h3><p>A user (ID &quot;u1&quot;) buys an item (ID &quot;i2&quot;) at <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified)</p><p>Run the following <code>curl</code> command to send the <code>buy</code> event:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-d5d22280-c4e3-4dcb-81d6-92dd74f627cc">REST API</a></li> <li data-lang="python"><a href="#tab-136de66f-0838-4170-ae8f-33f90c4a23ad">Python SDK</a></li> <li data-lang="php"><a href="#tab-6e49f4a8-aef1-4f01-86b1-940c72941307">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-8fb0953d-aecf-4fca-882c-3362b07982a2">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-1176904a-ab40-4f56-abd4-e47a99e9898c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-d5d22280-c4e3-4dcb-81d6-92
 dd74f627cc"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> </div> <h3 id='example-<strong>buy</strong>-event' class='header-anchors' >Example <strong>buy</strong> event</h3><p>A user (ID &quot;u1&quot;) buys an item (ID &quot;i2&quot;) at <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified)</p><p>Run the following <code>curl</code> command to send the <code>buy</code> event:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-aa6974e8-e208-4d96-a7a3-0acd27b92e16">REST API</a></li> <li data-lang="python"><a href="#tab-d7e1801b-bda5-4c49-80de-96f495a834ca">Python SDK</a></li> <li data-lang="php"><a href="#tab-6ecac145-9bb1-4f88-a273-4af30ed80aa0">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5b2ef539-0514-4804-b1db-ca8297147c35">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-23f28c10-c054-47d5-a8b7-1aaee2eac606">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-aa6974e8-e208-4d96-a7a3-0a
 cd27b92e16"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -198,7 +198,7 @@ Your system is all ready to go.
   "targetEntityId" : "i2",
   "eventTime" : "2014-11-10T12:34:56.123-08:00"
 }'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-136de66f-0838-4170-ae8f-33f90c4a23ad"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-d7e1801b-bda5-4c49-80de-96f495a834ca"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -213,7 +213,7 @@ Your system is all ready to go.
     <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span>
     <span class="n">target_entity_id</span><span class="o">=&lt;</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">&gt;</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-6e49f4a8-aef1-4f01-86b1-940c72941307"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-6ecac145-9bb1-4f88-a273-4af30ed80aa0"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -232,7 +232,7 @@ Your system is all ready to go.
    <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">&gt;</span>
 <span class="p">));</span>
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-8fb0953d-aecf-4fca-882c-3362b07982a2"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-5b2ef539-0514-4804-b1db-ca8297147c35"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -249,7 +249,7 @@ Your system is all ready to go.
     <span class="s1">'targetEntityId'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">&gt;</span>
   <span class="p">}</span>
 <span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-1176904a-ab40-4f56-abd4-e47a99e9898c"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-23f28c10-c054-47d5-a8b7-1aaee2eac606"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -297,17 +297,17 @@ Your system is all ready to go.
 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000
 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve.
-</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can try to retrieve predicted results. To recommend 4 movies to user whose id is 1, you send this JSON <code>{ &quot;user&quot;: &quot;1&quot;, &quot;num&quot;: 4 }</code> to the deployed engine and it will return a JSON of the recommended movies. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang
 ="json"><a href="#tab-331411ba-4fe4-41bb-a5ef-21d2091e4684">REST API</a></li> <li data-lang="python"><a href="#tab-94bbf27a-5604-4ed6-bebe-1c7d316e3b9a">Python SDK</a></li> <li data-lang="php"><a href="#tab-cfca045d-4146-47f9-841d-f383bbe90dab">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-43cc30ef-af2f-4e05-9b79-7178792ecfe2">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-1434f6c4-284b-4f07-ab16-6d0c63e625c4">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-331411ba-4fe4-41bb-a5ef-21d2091e4684"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can try to retrieve predicted results. To recommend 4 movies to user whose id is 1, you send this JSON <code>{ &quot;user&quot;: &quot;1&quot;, &quot;num&quot;: 4 }</code> to the deployed engine and it will return a JSON of the recommended movies. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang
 ="json"><a href="#tab-957a3b86-d8db-46d5-8860-cc475418d9f2">REST API</a></li> <li data-lang="python"><a href="#tab-c0375566-fbc2-4741-aad3-0aaee34339bc">Python SDK</a></li> <li data-lang="php"><a href="#tab-2cca843c-49c1-4f70-8bde-64f6dbc2e037">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-f8e5c037-9264-47da-8649-9cbf744df248">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-14a7dc6e-ec93-457f-9d22-2066242269fe">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-957a3b86-d8db-46d5-8860-cc475418d9f2"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
 -d <span class="s1">'{ "user": "1", "num": 4 }'</span> http://localhost:8000/queries.json
 
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-94bbf27a-5604-4ed6-bebe-1c7d316e3b9a"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-c0375566-fbc2-4741-aad3-0aaee34339bc"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3</pre></td> <td class="code"><pre><span class="kn">import</span> <span class="nn">predictionio</span>
 <span class="n">engine_client</span> <span class="o">=</span> <span class="n">predictionio</span><span class="o">.</span><span class="n">EngineClient</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">"http://localhost:8000"</span><span class="p">)</span>
 <span class="k">print</span> <span class="n">engine_client</span><span class="o">.</span><span class="n">send_query</span><span class="p">({</span><span class="s">"user"</span><span class="p">:</span> <span class="s">"1"</span><span class="p">,</span> <span class="s">"num"</span><span class="p">:</span> <span class="mi">4</span><span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-cfca045d-4146-47f9-841d-f383bbe90dab"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-2cca843c-49c1-4f70-8bde-64f6dbc2e037"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -326,7 +326,7 @@ Your system is all ready to go.
 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span>
 
 <span class="cp">?&gt;</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-43cc30ef-af2f-4e05-9b79-7178792ecfe2"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-f8e5c037-9264-47da-8649-9cbf744df248"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -339,7 +339,7 @@ Your system is all ready to go.
 <span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">send_query</span><span class="p">(</span><span class="s1">'user'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="no">USER</span> <span class="no">ID</span><span class="o">&gt;</span><span class="p">,</span> <span class="s1">'num'</span> <span class="o">=&gt;</span> <span class="o">&lt;</span><span class="no">NUMBER</span> <span class="p">(</span><span class="n">integer</span><span class="p">)</span><span class="o">&gt;</span><span class="p">)</span>
 
 <span class="nb">puts</span> <span class="n">response</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-1434f6c4-284b-4f07-ab16-6d0c63e625c4"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-14a7dc6e-ec93-457f-9d22-2066242269fe"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
 2
 3
 4
@@ -384,4 +384,4 @@ Your system is all ready to go.
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/quickstart/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/quickstart/index.html.gz b/templates/recommendation/quickstart/index.html.gz
index 7b947b7..04e9994 100644
Binary files a/templates/recommendation/quickstart/index.html.gz and b/templates/recommendation/quickstart/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/reading-custom-events/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/reading-custom-events/index.html b/templates/recommendation/reading-custom-events/index.html
index 3213e1d..bebdd48 100644
--- a/templates/recommendation/reading-custom-events/index.html
+++ b/templates/recommendation/reading-custom-events/index.html
@@ -53,4 +53,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/reading-custom-events/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/reading-custom-events/index.html.gz b/templates/recommendation/reading-custom-events/index.html.gz
index 08eeb69..e13bbcc 100644
Binary files a/templates/recommendation/reading-custom-events/index.html.gz and b/templates/recommendation/reading-custom-events/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/training-with-implicit-preference/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/training-with-implicit-preference/index.html b/templates/recommendation/training-with-implicit-preference/index.html
index b05b224..024a0ab 100644
--- a/templates/recommendation/training-with-implicit-preference/index.html
+++ b/templates/recommendation/training-with-implicit-preference/index.html
@@ -162,4 +162,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/recommendation/training-with-implicit-preference/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/recommendation/training-with-implicit-preference/index.html.gz b/templates/recommendation/training-with-implicit-preference/index.html.gz
index 9bc34d8..3028274 100644
Binary files a/templates/recommendation/training-with-implicit-preference/index.html.gz and b/templates/recommendation/training-with-implicit-preference/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/dase/index.html b/templates/similarproduct/dase/index.html
index 3a7a6b0..8d7a888 100644
--- a/templates/similarproduct/dase/index.html
+++ b/templates/similarproduct/dase/index.html
@@ -666,4 +666,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/dase/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/similarproduct/dase/index.html.gz b/templates/similarproduct/dase/index.html.gz
index 9588afb..e09b03a 100644
Binary files a/templates/similarproduct/dase/index.html.gz and b/templates/similarproduct/dase/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/how-to/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/how-to/index.html b/templates/similarproduct/how-to/index.html
index 2ba7163..830bb4b 100644
--- a/templates/similarproduct/how-to/index.html
+++ b/templates/similarproduct/how-to/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/how-to/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/similarproduct/how-to/index.html.gz b/templates/similarproduct/how-to/index.html.gz
index 57c044e..c9201c1 100644
Binary files a/templates/similarproduct/how-to/index.html.gz and b/templates/similarproduct/how-to/index.html.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/multi-events-multi-algos/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/multi-events-multi-algos/index.html b/templates/similarproduct/multi-events-multi-algos/index.html
index be36c3d..2cdc7cc 100644
--- a/templates/similarproduct/multi-events-multi-algos/index.html
+++ b/templates/similarproduct/multi-events-multi-algos/index.html
@@ -570,4 +570,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-a6acb1f5.js"></script></body></html>
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/1da18bd7/templates/similarproduct/multi-events-multi-algos/index.html.gz
----------------------------------------------------------------------
diff --git a/templates/similarproduct/multi-events-multi-algos/index.html.gz b/templates/similarproduct/multi-events-multi-algos/index.html.gz
index 19e0045..9d34504 100644
Binary files a/templates/similarproduct/multi-events-multi-algos/index.html.gz and b/templates/similarproduct/multi-events-multi-algos/index.html.gz differ