Added: datafu/site/docs/spark/2.0.0/datafu/spark/index.html
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/datafu/spark/index.html?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/datafu/spark/index.html (added)
+++ datafu/site/docs/spark/2.0.0/datafu/spark/index.html Tue Jan 16 19:56:02 
2024
@@ -0,0 +1,458 @@
+<!DOCTYPE html >
+<html>
+        <head>
+          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+          <meta name="viewport" content="width=device-width, 
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
+          <title>datafu-spark 2.0.0 API  - datafu.spark</title>
+          <meta name="description" content="datafu - spark 2.0.0 API - 
datafu.spark" />
+          <meta name="keywords" content="datafu spark 2.0.0 API datafu.spark" 
/>
+          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+          
+      
+      <link href="../../lib/index.css" media="screen" type="text/css" 
rel="stylesheet" />
+      <link href="../../lib/template.css" media="screen" type="text/css" 
rel="stylesheet" />
+      <link href="../../lib/diagrams.css" media="screen" type="text/css" 
rel="stylesheet" id="diagrams-css" />
+      <script type="text/javascript" src="../../lib/jquery.min.js"></script>
+      <script type="text/javascript" 
src="../../lib/jquery.panzoom.min.js"></script>
+      <script type="text/javascript" 
src="../../lib/jquery.mousewheel.min.js"></script>
+      <script type="text/javascript" src="../../lib/index.js"></script>
+      <script type="text/javascript" src="../../index.js"></script>
+      <script type="text/javascript" src="../../lib/scheduler.js"></script>
+      <script type="text/javascript" src="../../lib/template.js"></script>
+      
+      <script type="text/javascript">
+        /* this variable can be used by the JS to determine the path to the 
root document */
+        var toRoot = '../../';
+      </script>
+    
+        </head>
+        <body>
+      <div id="search">
+        <span id="doc-title">datafu-spark 2.0.0 API<span 
id="doc-version"></span></span>
+        <span class="close-results"><span class="left">&lt;</span> Back</span>
+        <div id="textfilter">
+          <span class="input">
+            <input autocapitalize="none" placeholder="Search" id="index-input" 
type="text" accesskey="/" />
+            <i class="clear material-icons"></i>
+            <i id="search-icon" class="material-icons"></i>
+          </span>
+        </div>
+    </div>
+      <div id="search-results">
+        <div id="search-progress">
+          <div id="progress-fill"></div>
+        </div>
+        <div id="results-content">
+          <div id="entity-results"></div>
+          <div id="member-results"></div>
+        </div>
+      </div>
+      <div id="content-scroll-container" style="-webkit-overflow-scrolling: 
touch;">
+        <div id="content-container" style="-webkit-overflow-scrolling: touch;">
+          <div id="subpackage-spacer">
+            <div id="packages">
+              <h1>Packages</h1>
+              <ul>
+                <li name="_root_.root" visbl="pub" class="indented0 " 
data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="_root_"></a><a id="root:_root_"></a>
+      <span class="permalink">
+      <a href="../../index.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <a title="" href="../../index.html"><span class="name">root</span></a>
+      </span>
+      
+      <div class="fullcomment"><dl class="attributes block"> <dt>Definition 
Classes</dt><dd><a href="../../index.html" class="extype" 
name="_root_">root</a></dd></dl></div>
+    </li><li name="_root_.datafu" visbl="pub" class="indented1 " 
data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="datafu"></a><a id="datafu:datafu"></a>
+      <span class="permalink">
+      <a href="../../datafu/index.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <a title="" href="../index.html"><span class="name">datafu</span></a>
+      </span>
+      
+      <div class="fullcomment"><dl class="attributes block"> <dt>Definition 
Classes</dt><dd><a href="../../index.html" class="extype" 
name="_root_">root</a></dd></dl></div>
+    </li><li name="datafu.spark" visbl="pub" class="indented2 current" 
data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="spark"></a><a id="spark:spark"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/index.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <span class="name">spark</span>
+      </span>
+      
+      <div class="fullcomment"><dl class="attributes block"> <dt>Definition 
Classes</dt><dd><a href="../index.html" class="extype" 
name="datafu">datafu</a></dd></dl></div>
+    </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="object" href="Aggregators$.html" title="This 
file contains UDAFs which extend the Aggregator class."></a>
+                        <a href="Aggregators$.html" title="This file contains 
UDAFs which extend the Aggregator class.">Aggregators</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="class" href="CoreBridgeDirectory.html" 
title="Contains all python files needed by the bridge itself"></a>
+                        <a href="CoreBridgeDirectory.html" title="Contains all 
python files needed by the bridge itself">CoreBridgeDirectory</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="object" href="DataFrameOps$.html" 
title="implicit class to enable easier usage e.g:"></a>
+                        <a href="DataFrameOps$.html" title="implicit class to 
enable easier usage e.g:">DataFrameOps</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="object" href="PythonPathsManager$.html" 
title="There are two phases of resolving python files path:"></a>
+                        <a href="PythonPathsManager$.html" title="There are 
two phases of resolving python files path:">PythonPathsManager</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="class" href="PythonResource.html" 
title="Represents a resource that needs to be added to PYTHONPATH used by 
ScalaPythonBridge."></a>
+                        <a href="PythonResource.html" title="Represents a 
resource that needs to be added to PYTHONPATH used by 
ScalaPythonBridge.">PythonResource</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="object" href="ResourceCloning$.html" 
title="Utility for extracting resource from a jar and copy it to a temporary 
location"></a>
+                        <a href="ResourceCloning$.html" title="Utility for 
extracting resource from a jar and copy it to a temporary 
location">ResourceCloning</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="object" href="ScalaPythonBridge$.html" 
title="Do not instantiate this class! Use the companion object instead."></a>
+                        <a href="ScalaPythonBridge$.html" title="Do not 
instantiate this class! Use the companion object instead.">ScalaPythonBridge</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="class" href="ScalaPythonBridgeRunner.html" 
title="this class let's the user invoke PySpark code from scala example 
usage:"></a>
+                        <a href="ScalaPythonBridgeRunner.html" title="this 
class let's the user invoke PySpark code from scala example 
usage:">ScalaPythonBridgeRunner</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="object" href="SparkDFUtils$.html" 
title=""></a>
+                        <a href="SparkDFUtils$.html" title="">SparkDFUtils</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="class" href="SparkDFUtilsBridge.html" 
title="class definition so we could expose this functionality in PySpark"></a>
+                        <a href="SparkDFUtilsBridge.html" title="class 
definition so we could expose this functionality in 
PySpark">SparkDFUtilsBridge</a>
+                      </li><li class="current-entities indented2">
+                        <span class="separator"></span>
+                        <a class="object" href="SparkUDAFs$.html" 
title="UserDefineAggregateFunction is deprecated and will be removed in DataFu 
2.1.0 in order to allow compilation with Spark 3.2 and up."></a>
+                        <a href="SparkUDAFs$.html" 
title="UserDefineAggregateFunction is deprecated and will be removed in DataFu 
2.1.0 in order to allow compilation with Spark 3.2 and up.">SparkUDAFs</a>
+                      </li>
+              </ul>
+            </div>
+          </div>
+          <div id="content">
+            <body class="package value">
+      <div id="definition">
+        <div class="big-circle package">p</div>
+        <p id="owner"><a href="../index.html" class="extype" 
name="datafu">datafu</a></p>
+        <h1>spark<span class="permalink">
+      <a href="../../datafu/spark/index.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span></h1>
+        
+      </div>
+
+      <h4 id="signature" class="signature">
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <span class="name">spark</span>
+      </span>
+      </h4>
+
+      
+          <div id="comment" class="fullcommenttop"></div>
+        
+
+      <div id="mbrsel">
+        <div class="toggle"></div>
+        <div id="memberfilter">
+          <i class="material-icons arrow"></i>
+          <span class="input">
+            <input id="mbrsel-input" placeholder="Filter all members" 
type="text" accesskey="/" />
+          </span>
+          <i class="clear material-icons"></i>
+        </div>
+        <div id="filterby">
+          <div id="order">
+            <span class="filtertype">Ordering</span>
+            <ol>
+              
+              <li class="alpha in"><span>Alphabetic</span></li>
+              
+            </ol>
+          </div>
+          
+          <div id="visbl">
+              <span class="filtertype">Visibility</span>
+              <ol><li class="public in"><span>Public</span></li><li class="all 
out"><span>All</span></li></ol>
+            </div>
+        </div>
+      </div>
+
+      <div id="template">
+        <div id="allMembers">
+        
+
+        <div id="types" class="types members">
+              <h3>Type Members</h3>
+              <ol><li name="datafu.spark.CoreBridgeDirectory" visbl="pub" 
class="indented0 " data-isabs="false" fullComment="no" group="Ungrouped">
+      <a id="CoreBridgeDirectoryextendsPythonResource"></a><a 
id="CoreBridgeDirectory:CoreBridgeDirectory"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/CoreBridgeDirectory.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">class</span>
+      </span>
+      <span class="symbol">
+        <a title="Contains all python files needed by the bridge itself" 
href="CoreBridgeDirectory.html"><span 
class="name">CoreBridgeDirectory</span></a><span class="result"> extends <a 
href="PythonResource.html" class="extype" 
name="datafu.spark.PythonResource">PythonResource</a></span>
+      </span>
+      
+      <p class="shortcomment cmt">Contains all python files needed by the 
bridge itself
+</p>
+    </li><li name="datafu.spark.PythonResource" visbl="pub" class="indented0 " 
data-isabs="true" fullComment="yes" group="Ungrouped">
+      <a id="PythonResourceextendsAnyRef"></a><a 
id="PythonResource:PythonResource"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/PythonResource.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier">abstract </span>
+        <span class="kind">class</span>
+      </span>
+      <span class="symbol">
+        <a title="Represents a resource that needs to be added to PYTHONPATH 
used by ScalaPythonBridge." href="PythonResource.html"><span 
class="name">PythonResource</span></a><span class="result"> extends <span 
class="extype" name="scala.AnyRef">AnyRef</span></span>
+      </span>
+      
+      <p class="shortcomment cmt">Represents a resource that needs to be added 
to PYTHONPATH used by ScalaPythonBridge.</p><div class="fullcomment"><div 
class="comment cmt"><p>Represents a resource that needs to be added to 
PYTHONPATH used by ScalaPythonBridge.</p><p>To ensure your python resources 
(modules, files, etc.) are properly added to the bridge,
+do the following:
+1)  Put all the resource under some root directory with a unique name x, and 
make sure path/to/x
+is visible to the class loader (usually just use src/main/resources/x).
+2)  Extend this class like this:
+class MyResource extends PythonResource(&quot;x&quot;)
+This assumes x is under src/main/resources/x
+3)  (since we use ServiceLoader) Add a file to your jar/project:
+META-INF/services/spark.utils.PythonResource
+with a single line containing the full name (including package) of 
MyResource.</p><p>This process involves scanning the entire jar and copying 
files from the jar to some temporary
+location, so if your jar is really big consider putting the resources in a 
smaller jar.
+</p></div></div>
+    </li><li name="datafu.spark.ScalaPythonBridgeRunner" visbl="pub" 
class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="ScalaPythonBridgeRunnerextendsProductwithSerializable"></a><a 
id="ScalaPythonBridgeRunner:ScalaPythonBridgeRunner"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/ScalaPythonBridgeRunner.html" 
title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">case class</span>
+      </span>
+      <span class="symbol">
+        <a title="this class let's the user invoke PySpark code from scala 
example usage:" href="ScalaPythonBridgeRunner.html"><span 
class="name">ScalaPythonBridgeRunner</span></a><span class="params">(<span 
name="extraPath">extraPath: <span class="extype" 
name="scala.Predef.String">String</span> = <span 
class="symbol">&quot;&quot;</span></span>)</span><span class="result"> extends 
<span class="extype" name="scala.Product">Product</span> with <span 
class="extype" name="scala.Serializable">Serializable</span></span>
+      </span>
+      
+      <p class="shortcomment cmt">this class let's the user invoke PySpark 
code from scala
+example usage:</p><div class="fullcomment"><div class="comment cmt"><p>this 
class let's the user invoke PySpark code from scala
+example usage:</p><p>val runner = ScalaPythonBridgeRunner()
+runner.runPythonFile(&quot;my_package/my_pyspark_logic.py&quot;)</p></div></div>
+    </li><li name="datafu.spark.SparkDFUtilsBridge" visbl="pub" 
class="indented0 " data-isabs="false" fullComment="no" group="Ungrouped">
+      <a id="SparkDFUtilsBridgeextendsAnyRef"></a><a 
id="SparkDFUtilsBridge:SparkDFUtilsBridge"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/SparkDFUtilsBridge.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">class</span>
+      </span>
+      <span class="symbol">
+        <a title="class definition so we could expose this functionality in 
PySpark" href="SparkDFUtilsBridge.html"><span 
class="name">SparkDFUtilsBridge</span></a><span class="result"> extends <span 
class="extype" name="scala.AnyRef">AnyRef</span></span>
+      </span>
+      
+      <p class="shortcomment cmt">class definition so we could expose this 
functionality in PySpark
+</p>
+    </li></ol>
+            </div>
+
+        
+
+        <div class="values members">
+              <h3>Value Members</h3>
+              <ol>
+                <li name="datafu.spark.Aggregators" visbl="pub" 
class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="Aggregators"></a><a id="Aggregators:Aggregators"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/Aggregators$.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">object</span>
+      </span>
+      <span class="symbol">
+        <a title="This file contains UDAFs which extend the Aggregator class." 
href="Aggregators$.html"><span class="name">Aggregators</span></a>
+      </span>
+      
+      <p class="shortcomment cmt">This file contains UDAFs which extend the 
Aggregator class.</p><div class="fullcomment"><div class="comment cmt"><p>This 
file contains UDAFs which extend the Aggregator class.
+They were migrated from previous implementations which used 
UserDefinedAggregateFunction</p><p>The implementations below reuse the 
intermediate buffer in the merge function
+( see 
https://stackoverflow.com/questions/77713959/can-you-reuse-one-of-the-buffers-in-the-merge-method-of-spark-aggregators
 )
+</p></div></div>
+    </li><li name="datafu.spark.DataFrameOps" visbl="pub" class="indented0 " 
data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="DataFrameOps"></a><a id="DataFrameOps:DataFrameOps"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/DataFrameOps$.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">object</span>
+      </span>
+      <span class="symbol">
+        <a title="implicit class to enable easier usage e.g:" 
href="DataFrameOps$.html"><span class="name">DataFrameOps</span></a>
+      </span>
+      
+      <p class="shortcomment cmt">implicit class to enable easier usage 
e.g:</p><div class="fullcomment"><div class="comment cmt"><p>implicit class to 
enable easier usage e.g:</p><p>df.dedup(..)</p><p>instead 
of:</p><p>SparkDFUtils.dedup(...)</p></div></div>
+    </li><li name="datafu.spark.PythonPathsManager" visbl="pub" 
class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="PythonPathsManager"></a><a 
id="PythonPathsManager:PythonPathsManager"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/PythonPathsManager$.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">object</span>
+      </span>
+      <span class="symbol">
+        <a title="There are two phases of resolving python files path:" 
href="PythonPathsManager$.html"><span class="name">PythonPathsManager</span></a>
+      </span>
+      
+      <p class="shortcomment cmt">There are two phases of resolving python 
files path:</p><div class="fullcomment"><div class="comment cmt"><p>There are 
two phases of resolving python files path:</p><p>1) When launching spark:
+  the files need to be added to spark.executorEnv.PYTHONPATH</p><p>2) When 
executing python file via bridge:
+  the files need to be added to the process PYTHONPATH.
+  This is different than the previous phase because
+  this python process is spawned by datafu-spark, not by spark, and always on 
the driver.
+</p></div></div>
+    </li><li name="datafu.spark.ResourceCloning" visbl="pub" class="indented0 
" data-isabs="false" fullComment="no" group="Ungrouped">
+      <a id="ResourceCloning"></a><a id="ResourceCloning:ResourceCloning"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/ResourceCloning$.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">object</span>
+      </span>
+      <span class="symbol">
+        <a title="Utility for extracting resource from a jar and copy it to a 
temporary location" href="ResourceCloning$.html"><span 
class="name">ResourceCloning</span></a>
+      </span>
+      
+      <p class="shortcomment cmt">Utility for extracting resource from a jar 
and copy it to a temporary location
+</p>
+    </li><li name="datafu.spark.ScalaPythonBridge" visbl="pub" 
class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="ScalaPythonBridge"></a><a 
id="ScalaPythonBridge:ScalaPythonBridge"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/ScalaPythonBridge$.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">object</span>
+      </span>
+      <span class="symbol">
+        <a title="Do not instantiate this class! Use the companion object 
instead." href="ScalaPythonBridge$.html"><span 
class="name">ScalaPythonBridge</span></a>
+      </span>
+      
+      <p class="shortcomment cmt">Do not instantiate this class! Use the 
companion object instead.</p><div class="fullcomment"><div class="comment 
cmt"><p>Do not instantiate this class! Use the companion object instead.
+This class should only be used by python
+</p></div></div>
+    </li><li name="datafu.spark.SparkDFUtils" visbl="pub" class="indented0 " 
data-isabs="false" fullComment="no" group="Ungrouped">
+      <a id="SparkDFUtils"></a><a id="SparkDFUtils:SparkDFUtils"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/SparkDFUtils$.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">object</span>
+      </span>
+      <span class="symbol">
+        <a title="" href="SparkDFUtils$.html"><span 
class="name">SparkDFUtils</span></a>
+      </span>
+      
+      
+    </li><li name="datafu.spark.SparkUDAFs" visbl="pub" class="indented0 " 
data-isabs="false" fullComment="yes" group="Ungrouped">
+      <a id="SparkUDAFs"></a><a id="SparkUDAFs:SparkUDAFs"></a>
+      <span class="permalink">
+      <a href="../../datafu/spark/SparkUDAFs$.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">object</span>
+      </span>
+      <span class="symbol">
+        <a title="UserDefineAggregateFunction is deprecated and will be 
removed in DataFu 2.1.0 in order to allow compilation with Spark 3.2 and up." 
href="SparkUDAFs$.html"><span class="name">SparkUDAFs</span></a>
+      </span>
+      
+      <p class="shortcomment cmt">UserDefineAggregateFunction is deprecated 
and will be removed in DataFu 2.1.0 in order to allow compilation with Spark 
3.2 and up.</p><div class="fullcomment"><div class="comment 
cmt"><p>UserDefineAggregateFunction is deprecated and will be removed in DataFu 
2.1.0 in order to allow compilation with Spark 3.2 and up.
+Please use the methods in @Aggregators instead
+</p></div><dl class="attributes block"> <dt>Annotations</dt><dd>
+                <span class="name">@Deprecated</span>
+              
+        </dd></dl></div>
+    </li>
+              </ol>
+            </div>
+
+        
+
+        
+        </div>
+
+        <div id="inheritedMembers">
+        
+        
+        </div>
+
+        <div id="groupedMembers">
+        <div class="group" name="Ungrouped">
+              <h3>Ungrouped</h3>
+              
+            </div>
+        </div>
+
+      </div>
+
+      <div id="tooltip"></div>
+
+      <div id="footer">  </div>
+    </body>
+          </div>
+        </div>
+      </div>
+    </body>
+      </html>

Added: datafu/site/docs/spark/2.0.0/index.html
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/index.html?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/index.html (added)
+++ datafu/site/docs/spark/2.0.0/index.html Tue Jan 16 19:56:02 2024
@@ -0,0 +1,174 @@
+<!DOCTYPE html >
+<html>
+        <head>
+          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+          <meta name="viewport" content="width=device-width, 
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
+          <title>datafu-spark 2.0.0 API </title>
+          <meta name="description" content="datafu - spark 2.0.0 API " />
+          <meta name="keywords" content="datafu spark 2.0.0 API " />
+          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+          
+      
+      <link href="lib/index.css" media="screen" type="text/css" 
rel="stylesheet" />
+      <link href="lib/template.css" media="screen" type="text/css" 
rel="stylesheet" />
+      <link href="lib/diagrams.css" media="screen" type="text/css" 
rel="stylesheet" id="diagrams-css" />
+      <script type="text/javascript" src="lib/jquery.min.js"></script>
+      <script type="text/javascript" src="lib/jquery.panzoom.min.js"></script>
+      <script type="text/javascript" 
src="lib/jquery.mousewheel.min.js"></script>
+      <script type="text/javascript" src="lib/index.js"></script>
+      <script type="text/javascript" src="index.js"></script>
+      <script type="text/javascript" src="lib/scheduler.js"></script>
+      <script type="text/javascript" src="lib/template.js"></script>
+      
+      <script type="text/javascript">
+        /* this variable can be used by the JS to determine the path to the 
root document */
+        var toRoot = '';
+      </script>
+    
+        </head>
+        <body>
+      <div id="search">
+        <span id="doc-title">datafu-spark 2.0.0 API<span 
id="doc-version"></span></span>
+        <span class="close-results"><span class="left">&lt;</span> Back</span>
+        <div id="textfilter">
+          <span class="input">
+            <input autocapitalize="none" placeholder="Search" id="index-input" 
type="text" accesskey="/" />
+            <i class="clear material-icons"></i>
+            <i id="search-icon" class="material-icons"></i>
+          </span>
+        </div>
+    </div>
+      <div id="search-results">
+        <div id="search-progress">
+          <div id="progress-fill"></div>
+        </div>
+        <div id="results-content">
+          <div id="entity-results"></div>
+          <div id="member-results"></div>
+        </div>
+      </div>
+      <div id="content-scroll-container" style="-webkit-overflow-scrolling: 
touch;">
+        <div id="content-container" style="-webkit-overflow-scrolling: touch;">
+          <div id="subpackage-spacer">
+            <div id="packages">
+              <h1>Packages</h1>
+              <ul>
+                <li name="_root_.root" visbl="pub" class="indented0 current" 
data-isabs="false" fullComment="no" group="Ungrouped">
+      <a id="_root_"></a><a id="root:_root_"></a>
+      <span class="permalink">
+      <a href="index.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <span class="name">root</span>
+      </span>
+      
+      
+    </li><li name="_root_.datafu" visbl="pub" class="indented1 " 
data-isabs="false" fullComment="no" group="Ungrouped">
+      <a id="datafu"></a><a id="datafu:datafu"></a>
+      <span class="permalink">
+      <a href="datafu/index.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <a title="" href="datafu/index.html"><span 
class="name">datafu</span></a>
+      </span>
+      
+      
+    </li><li name="_root_.org" visbl="pub" class="indented1 " 
data-isabs="false" fullComment="no" group="Ungrouped">
+      <a id="org"></a><a id="org:org"></a>
+      <span class="permalink">
+      <a href="org/index.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span>
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <a title="" href="org/index.html"><span class="name">org</span></a>
+      </span>
+      
+      
+    </li>
+              </ul>
+            </div>
+          </div>
+          <div id="content">
+            <body class="package value">
+      <div id="definition">
+        <div class="big-circle package">p</div>
+        
+        <h1>root package<span class="permalink">
+      <a href="index.html" title="Permalink">
+        <i class="material-icons"></i>
+      </a>
+    </span></h1>
+        
+      </div>
+
+      <h4 id="signature" class="signature">
+      <span class="modifier_kind">
+        <span class="modifier"></span>
+        <span class="kind">package</span>
+      </span>
+      <span class="symbol">
+        <span class="name">root</span>
+      </span>
+      </h4>
+
+      
+          <div id="comment" class="fullcommenttop"></div>
+        
+
+      
+
+      <div id="template">
+        <div id="allMembers">
+        
+
+        
+
+        
+
+        
+
+        
+
+        
+        </div>
+
+        <div id="inheritedMembers">
+        
+        
+        </div>
+
+        <div id="groupedMembers">
+        <div class="group" name="Ungrouped">
+              <h3>Ungrouped</h3>
+              
+            </div>
+        </div>
+
+      </div>
+
+      <div id="tooltip"></div>
+
+      <div id="footer">  </div>
+    </body>
+          </div>
+        </div>
+      </div>
+    </body>
+      </html>

Added: datafu/site/docs/spark/2.0.0/index.js
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/index.js?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/index.js (added)
+++ datafu/site/docs/spark/2.0.0/index.js Tue Jan 16 19:56:02 2024
@@ -0,0 +1 @@

[... 3 lines stripped ...]
Added: datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.eot
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.eot?rev=1915275&view=auto
==============================================================================
Binary file - no diff available.

Propchange: datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.eot
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.ttf
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.ttf?rev=1915275&view=auto
==============================================================================
Binary file - no diff available.

Propchange: datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.ttf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.woff
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.woff?rev=1915275&view=auto
==============================================================================
Binary file - no diff available.

Propchange: datafu/site/docs/spark/2.0.0/lib/MaterialIcons-Regular.woff
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: datafu/site/docs/spark/2.0.0/lib/abstract_type.svg
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/abstract_type.svg?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/lib/abstract_type.svg (added)
+++ datafu/site/docs/spark/2.0.0/lib/abstract_type.svg Tue Jan 16 19:56:02 2024
@@ -0,0 +1,54 @@
+<svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="72px" height="72px" 
viewBox="0 0 72 72" version="1.1">
+  <defs>
+    <filter x="-50%" y="-50%" width="200%" height="200%" 
filterUnits="objectBoundingBox" id="filter-1">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" 
result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+      </feMerge>
+    </filter>
+    <circle id="path-2" cx="32" cy="32" r="32"/>
+    <filter x="-50%" y="-50%" width="200%" height="200%" 
filterUnits="objectBoundingBox" id="filter-4">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" 
result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner1" 
result="shadowBlurInner1"/>
+      <feComposite in="shadowBlurInner1" in2="SourceAlpha" 
operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"/>
+      <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 0.14 0" 
in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"/>
+      <feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetInner2"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner2" 
result="shadowBlurInner2"/>
+      <feComposite in="shadowBlurInner2" in2="SourceAlpha" 
operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowInnerInner2" type="matrix" result="shadowMatrixInner2"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+        <feMergeNode in="shadowMatrixInner1"/>
+        <feMergeNode in="shadowMatrixInner2"/>
+      </feMerge>
+    </filter>
+    <path id="path-5" d="M32 61C49.673112 61 64 48.0162577 64 32 64 15.9837423 
49.673112 3 32 3 14.326888 3 0 15.9837423 0 32 0 48.0162577 14.326888 61 32 
61Z"/>
+  </defs>
+  <g id="Page-1" stroke="none" stroke-width="1" fill="none" 
fill-rule="evenodd">
+    <g id="Artboard-1" transform="translate(-298.000000, -91.000000)">
+      <g id="BG" transform="translate(302.000000, 91.000000)">
+        <g id="Icon">
+          <mask id="mask-3" fill="white">
+            <use xlink:href="#path-2"/>
+          </mask>
+          <use id="Mask" fill="#6C7A89" filter="url(#filter-1)" 
xlink:href="#path-2"/>
+          <mask id="mask-6" fill="white">
+            <use xlink:href="#path-5"/>
+          </mask>
+          <text id="a" mask="url(#mask-6)" font-family="Open Sans, Helvetica 
Neueu, Sans-serif" font-size="40" font-weight="normal" fill="#FFFFFF">
+            <tspan x="21" y="43">
+              a
+            </tspan>
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>

Added: datafu/site/docs/spark/2.0.0/lib/class.svg
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/class.svg?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/lib/class.svg (added)
+++ datafu/site/docs/spark/2.0.0/lib/class.svg Tue Jan 16 19:56:02 2024
@@ -0,0 +1,54 @@
+<svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="72px" height="72px" 
viewBox="0 0 72 72" version="1.1">
+  <defs>
+    <filter x="-50%" y="-50%" width="200%" height="200%" 
filterUnits="objectBoundingBox" id="filter-1">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" 
result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+      </feMerge>
+    </filter>
+    <circle id="path-2" cx="32" cy="32" r="32"/>
+    <filter x="-50%" y="-50%" width="200%" height="200%" 
filterUnits="objectBoundingBox" id="filter-4">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" 
result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner1" 
result="shadowBlurInner1"/>
+      <feComposite in="shadowBlurInner1" in2="SourceAlpha" 
operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"/>
+      <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 0.14 0" 
in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"/>
+      <feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetInner2"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner2" 
result="shadowBlurInner2"/>
+      <feComposite in="shadowBlurInner2" in2="SourceAlpha" 
operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowInnerInner2" type="matrix" result="shadowMatrixInner2"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+        <feMergeNode in="shadowMatrixInner1"/>
+        <feMergeNode in="shadowMatrixInner2"/>
+      </feMerge>
+    </filter>
+    <path id="path-5" d="M32 61C49.673112 61 64 48.0162577 64 32 64 15.9837423 
49.673112 3 32 3 14.326888 3 0 15.9837423 0 32 0 48.0162577 14.326888 61 32 
61Z"/>
+  </defs>
+  <g id="Page-1" stroke="none" stroke-width="1" fill="none" 
fill-rule="evenodd">
+    <g id="Artboard-1" transform="translate(-298.000000, -91.000000)">
+      <g id="BG" transform="translate(302.000000, 91.000000)">
+        <g id="Icon">
+          <mask id="mask-3" fill="white">
+            <use xlink:href="#path-2"/>
+          </mask>
+          <use id="Mask" fill="#44AD7D" filter="url(#filter-1)" 
xlink:href="#path-2"/>
+          <mask id="mask-6" fill="white">
+            <use xlink:href="#path-5"/>
+          </mask>
+          <text id="C" mask="url(#mask-6)" font-family="Open Sans, Helvetica 
Neueu, Sans-serif" font-size="40" font-weight="normal" fill="#FFFFFF">
+            <tspan x="17" y="47">
+              C
+            </tspan>
+          </text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>

Added: datafu/site/docs/spark/2.0.0/lib/class_comp.svg
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/class_comp.svg?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/lib/class_comp.svg (added)
+++ datafu/site/docs/spark/2.0.0/lib/class_comp.svg Tue Jan 16 19:56:02 2024
@@ -0,0 +1,57 @@
+<svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="72px" height="72px" 
viewBox="0 0 72 72" version="1.1">
+  <defs>
+    <filter x="-50%" y="-50%" width="200%" height="200%" 
filterUnits="objectBoundingBox" id="filter-1">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" 
result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+      </feMerge>
+    </filter>
+    <circle id="path-2" cx="32" cy="32" r="32"/>
+    <filter x="-50%" y="-50%" width="200%" height="200%" 
filterUnits="objectBoundingBox" id="filter-4">
+      <feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" 
result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"/>
+      <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner1" 
result="shadowBlurInner1"/>
+      <feComposite in="shadowBlurInner1" in2="SourceAlpha" 
operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"/>
+      <feColorMatrix values="0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 0.14 0" 
in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"/>
+      <feOffset dx="0" dy="-1" in="SourceAlpha" result="shadowOffsetInner2"/>
+      <feGaussianBlur stdDeviation="0" in="shadowOffsetInner2" 
result="shadowBlurInner2"/>
+      <feComposite in="shadowBlurInner2" in2="SourceAlpha" 
operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner2"/>
+      <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.14 0" 
in="shadowInnerInner2" type="matrix" result="shadowMatrixInner2"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="SourceGraphic"/>
+        <feMergeNode in="shadowMatrixInner1"/>
+        <feMergeNode in="shadowMatrixInner2"/>
+      </feMerge>
+    </filter>
+    <path id="path-5" d="M32 61C49.673112 61 64 48.0162577 64 32 64 15.9837423 
49.673112 3 32 3 14.326888 3 0 15.9837423 0 32 0 48.0162577 14.326888 61 32 
61Z"/>
+  </defs>
+  <g id="Page-1" stroke="none" stroke-width="1" fill="none" 
fill-rule="evenodd">
+    <g id="Artboard-1" transform="translate(-298.000000, -91.000000)">
+      <g id="BG" transform="translate(302.000000, 91.000000)">
+        <g id="Icon">
+          <mask id="mask-3" fill="white">
+            <use xlink:href="#path-2"/>
+          </mask>
+          <use id="Mask" fill="#2C6C8D" filter="url(#filter-1)" 
xlink:href="#path-2"/>
+          <rect id="Rectangle-2" opacity="0.3" fill="#000000" 
mask="url(#mask-3)" x="-8" y="33" width="80" height="31"/>
+          <mask id="mask-6" fill="white">
+            <use xlink:href="#path-5"/>
+          </mask>
+          <use id="Mask" fill="#44AD7D" filter="url(#filter-4)" 
xlink:href="#path-5"/>
+          <text id="C" mask="url(#mask-6)" font-family="Open Sans, Helvetica 
Neueu, Sans-serif" font-size="40" font-weight="normal" fill="#FFFFFF">
+            <tspan x="17" y="47">
+              C
+            </tspan>
+          </text>
+          <rect id="Rectangle-2" opacity="0.190065299" fill="#000000" 
mask="url(#mask-6)" x="-8" y="2" width="80" height="31"/>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>

Added: datafu/site/docs/spark/2.0.0/lib/class_diagram.png
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/class_diagram.png?rev=1915275&view=auto
==============================================================================
Binary file - no diff available.

Propchange: datafu/site/docs/spark/2.0.0/lib/class_diagram.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: datafu/site/docs/spark/2.0.0/lib/diagrams.css
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/diagrams.css?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/lib/diagrams.css (added)
+++ datafu/site/docs/spark/2.0.0/lib/diagrams.css Tue Jan 16 19:56:02 2024
@@ -0,0 +1,203 @@
+@font-face {
+  font-family: 'Material Icons';
+  font-style: normal;
+  font-weight: 400;
+  src: url(MaterialIcons-Regular.eot);
+  src: local('Material Icons'),
+  local('MaterialIcons-Regular'),
+  url(MaterialIcons-Regular.woff) format('woff'),
+  url(MaterialIcons-Regular.ttf) format('truetype');
+}
+
+.material-icons {
+  font-family: 'Material Icons';
+  font-weight: normal;
+  font-style: normal;
+  font-size: 24px;
+  display: inline-block;
+  width: 1em;
+  height: 1em;
+  line-height: 1;
+  text-transform: none;
+  letter-spacing: normal;
+  word-wrap: normal;
+  white-space: nowrap;
+  direction: ltr;
+  -webkit-font-smoothing: antialiased;
+  text-rendering: optimizeLegibility;
+  -moz-osx-font-smoothing: grayscale;
+  font-feature-settings: 'liga';
+}
+
+.diagram-container {
+  display: none;
+}
+
+.diagram-container > span.toggle {
+  z-index: 9;
+}
+
+.diagram {
+  overflow: hidden;
+  padding-top:15px;
+}
+
+.diagram svg {
+  display: block;
+  position: absolute;
+  visibility: hidden;
+  margin: auto;
+}
+
+.diagram-help {
+  float:right;
+  display:none;
+}
+
+.magnifying {
+  cursor: -webkit-zoom-in ! important;
+  cursor: -moz-zoom-in ! important;
+  cursor: pointer;
+}
+
+#close-link {
+  position: absolute;
+  z-index: 100;
+  font-family: Arial, sans-serif;
+  font-size: 10pt;
+  text-decoration: underline;
+  color: #315479;
+}
+
+#close:hover {
+  text-decoration: none;
+}
+
+#inheritance-diagram-container > span.toggle {
+  z-index: 2;
+}
+
+.diagram-container.full-screen {
+  position: fixed !important;
+  margin: 0;
+  border-radius: 0;
+  top: 0em;
+  bottom: 3em;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 10000;
+}
+
+.diagram-container.full-screen > span.toggle {
+  display: none;
+}
+
+.diagram-container.full-screen > div.diagram {
+  position: absolute;
+  top: 0; right: 0; bottom: 0; left: 0;
+  margin: auto;
+}
+
+#diagram-controls {
+  z-index: 2;
+  position: absolute;
+  bottom: 1em;
+  right: 1em;
+}
+
+#diagram-controls > button.diagram-btn {
+  border-radius: 1.25em;
+  height: 2.5em;
+  width: 2.5em;
+  background-color: #c2c2c2;
+  color: #fff;
+  border: 0;
+  float: left;
+  margin: 0 0.1em;
+  cursor: pointer;
+  line-height: 0.9;
+  outline: none;
+}
+
+#diagram-controls > button.diagram-btn:hover {
+  background-color: #e2e2e2;
+}
+
+#diagram-controls > button.diagram-btn > i.material-icons {
+  font-size: 1.5em;
+}
+
+svg a {
+  cursor:pointer;
+}
+
+svg text {
+  font-size: 8.5px;
+}
+
+/* try to move the node text 1px in order to be vertically
+ * centered (does not work in all browsers)
+ */
+svg .node text {
+  transform: translate(0px,1px);
+  -ms-transform: translate(0px,1px);
+  -webkit-transform: translate(0px,1px);
+  -o-transform: translate(0px,1px);
+  -moz-transform: translate(0px,1px);
+}
+
+/* hover effect for edges */
+
+svg .edge.over text,
+svg .edge.implicit-incoming.over polygon,
+svg .edge.implicit-outgoing.over polygon {
+  fill: #103A51;
+}
+
+svg .edge.over path,
+svg .edge.over polygon {
+  stroke: #103A51;
+}
+
+/* for hover effect on nodes in diagrams, edit the following */
+svg.class-diagram .node {}
+svg.class-diagram .node.this {}
+svg.class-diagram .node.over {}
+
+svg .node.over polygon {
+  stroke: #202020;
+}
+
+/* hover effect for nodes in package diagrams */
+
+svg.package-diagram .node.class.over polygon,
+svg.class-diagram .node.this.class.over polygon {
+  fill: #098552;
+  fill: #04663e;
+}
+
+svg.package-diagram .node.trait.over polygon,
+svg.class-diagram .node.this.trait.over polygon {
+  fill: #3c7b9b;
+  fill: #235d7b;
+}
+
+svg.package-diagram .node.type.over polygon,
+svg.class-diagram .node.this.type.over polygon {
+  fill: #098552;
+  fill: #04663e;
+}
+
+
+svg.package-diagram .node.object.over polygon {
+  fill: #183377;
+}
+
+svg.package-diagram .node.outside.over polygon {
+  fill: #d4d4d4;
+}
+
+svg.package-diagram .node.default.over polygon {
+  fill: #d4d4d4;
+}

Added: datafu/site/docs/spark/2.0.0/lib/diagrams.js
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/diagrams.js?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/lib/diagrams.js (added)
+++ datafu/site/docs/spark/2.0.0/lib/diagrams.js Tue Jan 16 19:56:02 2024
@@ -0,0 +1,240 @@
+/**
+ * JavaScript functions enhancing the SVG diagrams.
+ *
+ * @author Damien Obrist
+ */
+
+var diagrams = {};
+
+/**
+ * Initializes the diagrams in the main window.
+ */
+$(document).ready(function()
+{
+       // hide diagrams in browsers not supporting SVG
+       if(Modernizr && !Modernizr.inlinesvg)
+               return;
+
+       if($("#content-diagram").length)
+               $("#inheritance-diagram").css("padding-bottom", "20px");
+
+       $(".diagram-container").css("display", "block");
+
+       $(".diagram").each(function() {
+               // store initial dimensions
+               $(this).data("width", $("svg", $(this)).width());
+               $(this).data("height", $("svg", $(this)).height());
+               // store unscaled clone of SVG element
+               $(this).data("svg", 
$(this).get(0).childNodes[0].cloneNode(true));
+       });
+
+       // make diagram visible, hide container
+       $(".diagram").css("display", "none");
+       $(".diagram svg").css({
+               "position": "static",
+               "visibility": "visible",
+               "z-index": "auto"
+       });
+
+       // enable linking to diagrams
+       if($(location).attr("hash") == "#inheritance-diagram") {
+               diagrams.toggle($("#inheritance-diagram-container"), true);
+       } else if($(location).attr("hash") == "#content-diagram") {
+               diagrams.toggle($("#content-diagram-container"), true);
+       }
+
+       $(".diagram-link").click(function() {
+               diagrams.toggle($(this).parent());
+       });
+
+       // register resize function
+       $(window).resize(diagrams.resize);
+
+       // don't bubble event to parent div
+       // when clicking on a node of a resized
+       // diagram
+       $("svg a").click(function(e) {
+               e.stopPropagation();
+       });
+
+       diagrams.initHighlighting();
+
+    $("button#diagram-fs").click(function() {
+        $(".diagram-container").toggleClass("full-screen");
+        $(".diagram-container > div.diagram").css({
+            height: $("svg").height() + "pt"
+        });
+
+        $panzoom.panzoom("reset", { animate: false, contain: false });
+    });
+});
+
+/**
+ * Initializes highlighting for nodes and edges.
+ */
+diagrams.initHighlighting = function()
+{
+       // helper function since $.hover doesn't work in IE
+
+       function hover(elements, fn)
+       {
+               elements.mouseover(fn);
+               elements.mouseout(fn);
+       }
+
+       // inheritance edges
+
+       hover($("svg .edge.inheritance"), function(evt){
+               var toggleClass = evt.type == "mouseout" ? diagrams.removeClass 
: diagrams.addClass;
+               var parts = $(this).attr("id").split("_");
+               toggleClass($("#" + parts[0] + "_" + parts[1]));
+               toggleClass($("#" + parts[0] + "_" + parts[2]));
+               toggleClass($(this));
+       });
+
+       // nodes
+
+       hover($("svg .node"), function(evt){
+               var toggleClass = evt.type == "mouseout" ? diagrams.removeClass 
: diagrams.addClass;
+               toggleClass($(this));
+               var parts = $(this).attr("id").split("_");
+               var index = parts[1];
+               $("svg#" + parts[0] + " .edge.inheritance").each(function(){
+                       var parts2 = $(this).attr("id").split("_");
+                       if(parts2[1] == index)
+                       {
+                               toggleClass($("#" + parts2[0] + "_" + 
parts2[2]));
+                               toggleClass($(this));
+                       } else if(parts2[2] == index)
+                       {
+                               toggleClass($("#" + parts2[0] + "_" + 
parts2[1]));
+                               toggleClass($(this));
+                       }
+               });
+       });
+
+       // incoming implicits
+
+       hover($("svg .node.implicit-incoming"), function(evt){
+               var toggleClass = evt.type == "mouseout" ? diagrams.removeClass 
: diagrams.addClass;
+               toggleClass($(this));
+               toggleClass($("svg .edge.implicit-incoming"));
+               toggleClass($("svg .node.this"));
+       });
+
+       hover($("svg .edge.implicit-incoming"), function(evt){
+               var toggleClass = evt.type == "mouseout" ? diagrams.removeClass 
: diagrams.addClass;
+               toggleClass($(this));
+               toggleClass($("svg .node.this"));
+               $("svg .node.implicit-incoming").each(function(){
+                       toggleClass($(this));
+               });
+       });
+
+       // implicit outgoing nodes
+
+       hover($("svg .node.implicit-outgoing"), function(evt){
+               var toggleClass = evt.type == "mouseout" ? diagrams.removeClass 
: diagrams.addClass;
+               toggleClass($(this));
+               toggleClass($("svg .edge.implicit-outgoing"));
+               toggleClass($("svg .node.this"));
+       });
+
+       hover($("svg .edge.implicit-outgoing"), function(evt){
+               var toggleClass = evt.type == "mouseout" ? diagrams.removeClass 
: diagrams.addClass;
+               toggleClass($(this));
+               toggleClass($("svg .node.this"));
+               $("svg .node.implicit-outgoing").each(function(){
+                       toggleClass($(this));
+               });
+       });
+};
+
+/**
+ * Resizes the diagrams according to the available width.
+ */
+diagrams.resize = function() {
+    // available width
+    var availableWidth = $(".diagram-container").width();
+
+    $(".diagram-container").each(function() {
+        // unregister click event on whole div
+        $(".diagram", this).unbind("click");
+        var diagramWidth = $(".diagram", this).data("width");
+        var diagramHeight = $(".diagram", this).data("height");
+
+        if (diagramWidth > availableWidth) {
+            // resize diagram
+            var height = diagramHeight / diagramWidth * availableWidth;
+            $(".diagram svg", this).width(availableWidth);
+            $(".diagram svg", this).height(height);
+        } else {
+            // restore full size of diagram
+            $(".diagram svg", this).width(diagramWidth);
+            $(".diagram svg", this).height(diagramHeight);
+            // don't show custom cursor any more
+            $(".diagram", this).removeClass("magnifying");
+        }
+    });
+};
+
+/**
+ * Shows or hides a diagram depending on its current state.
+ */
+diagrams.toggle = function(container, dontAnimate)
+{
+    // change class of link
+    $(".diagram-link", container).toggleClass("open");
+    // get element to show / hide
+    var div = $(".diagram", container);
+    if (div.is(':visible')) {
+        $(".diagram-help", container).hide();
+        div.unbind("click");
+        div.slideUp(100);
+
+        $("#diagram-controls", container).hide();
+        $("#inheritance-diagram-container").unbind('mousewheel.focal');
+    } else {
+        diagrams.resize();
+        if(dontAnimate)
+            div.show();
+        else
+            div.slideDown(100);
+        $(".diagram-help", container).show();
+
+        $("#diagram-controls", container).show();
+
+        $(".diagram-container").on('mousewheel.focal', function(e) {
+            e.preventDefault();
+            var delta = e.delta || e.originalEvent.wheelDelta;
+            var zoomOut = delta ? delta < 0 : e.originalEvent.deltaY > 0;
+            $panzoom.panzoom('zoom', zoomOut, {
+                increment: 0.1,
+                animate: true,
+                focal: e
+            });
+        });
+    }
+};
+
+/**
+ * Helper method that adds a class to a SVG element.
+ */
+diagrams.addClass = function(svgElem, newClass) {
+       newClass = newClass || "over";
+       var classes = svgElem.attr("class");
+       if ($.inArray(newClass, classes.split(/\s+/)) == -1) {
+               classes += (classes ? ' ' : '') + newClass;
+               svgElem.attr("class", classes);
+       }
+};
+
+/**
+ * Helper method that removes a class from a SVG element.
+ */
+diagrams.removeClass = function(svgElem, oldClass) {
+       oldClass = oldClass || "over";
+       var classes = svgElem.attr("class");
+       classes = $.grep(classes.split(/\s+/), function(n, i) { return n != 
oldClass; }).join(' ');
+       svgElem.attr("class", classes);
+};

Added: datafu/site/docs/spark/2.0.0/lib/index.css
URL: 
http://svn.apache.org/viewvc/datafu/site/docs/spark/2.0.0/lib/index.css?rev=1915275&view=auto
==============================================================================
--- datafu/site/docs/spark/2.0.0/lib/index.css (added)
+++ datafu/site/docs/spark/2.0.0/lib/index.css Tue Jan 16 19:56:02 2024
@@ -0,0 +1,928 @@
+/* Fonts */
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 100;
+  src: url('lato-v11-latin-regular.eot');
+  src: local('Lato'), local('Lato'),
+  url('lato-v11-latin-100.eot?#iefix') format('embedded-opentype'),
+  url('lato-v11-latin-100.woff') format('woff'),
+  url('lato-v11-latin-100.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 400;
+  src: url('lato-v11-latin-regular.eot');
+  src: local('Lato'), local('Lato'),
+  url('lato-v11-latin-regular.eot?#iefix') format('embedded-opentype'),
+  url('lato-v11-latin-regular.woff') format('woff'),
+  url('lato-v11-latin-regular.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 400;
+  src: url('open-sans-v13-latin-regular.eot');
+  src: local('Open Sans'), local('OpenSans'),
+  url('open-sans-v13-latin-regular.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-regular.woff') format('woff'),
+  url('open-sans-v13-latin-regular.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 400;
+  src: url('open-sans-v13-latin-400i.eot');
+  src: local('Open Sans Italic'), local('OpenSans-Italic'),
+  url('open-sans-v13-latin-400i.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-400i.woff') format('woff'),
+  url('open-sans-v13-latin-400i.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: oblique;
+  font-weight: 400;
+  src: url('open-sans-v13-latin-400i.eot');
+  src: local('Open Sans Italic'), local('OpenSans-Italic'),
+  url('open-sans-v13-latin-400i.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-400i.woff') format('woff'),
+  url('open-sans-v13-latin-400i.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 700;
+  src: url('open-sans-v13-latin-700.eot');
+  src: local('Open Sans Bold'), local('OpenSans-Bold'),
+  url('open-sans-v13-latin-700.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-700.woff') format('woff'),
+  url('open-sans-v13-latin-700.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 700;
+  src: url('open-sans-v13-latin-700i.eot');
+  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
+  url('open-sans-v13-latin-700i.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-700i.woff') format('woff'),
+  url('open-sans-v13-latin-700i.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: oblique;
+  font-weight: 700;
+  src: url('open-sans-v13-latin-700i.eot');
+  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
+  url('open-sans-v13-latin-700i.eot?#iefix') format('embedded-opentype'),
+  url('open-sans-v13-latin-700i.woff') format('woff'),
+  url('open-sans-v13-latin-700i.ttf') format('truetype');
+}
+
+@font-face {
+  font-family: 'Source Code Pro';
+  font-style: normal;
+  font-weight: 400;
+  src: url('source-code-pro-v6-latin-regular.eot');
+  src: local('Source Code Pro'), local('SourceCodePro-Regular'),
+  url('source-code-pro-v6-latin-regular.eot?#iefix') 
format('embedded-opentype'),
+  url('source-code-pro-v6-latin-regular.woff') format('woff'),
+  url('source-code-pro-v6-latin-regular.ttf') format('truetype');
+}
+@font-face {
+  font-family: 'Source Code Pro';
+  font-style: normal;
+  font-weight: 700;
+  src: url('source-code-pro-v6-latin-700.eot');
+  src: local('Source Code Pro Bold'), local('SourceCodePro-Bold'),
+  url('source-code-pro-v6-latin-700.eot?#iefix') format('embedded-opentype'),
+  url('source-code-pro-v6-latin-700.woff') format('woff'),
+  url('source-code-pro-v6-latin-700.ttf') format('truetype');
+}
+
+* {
+  color: inherit;
+  text-decoration: none;
+  font-family: "Lato", Arial, sans-serif;
+  border-width: 0px;
+  margin: 0px;
+}
+
+u { 
+  text-decoration: underline; 
+}
+
+a {
+  cursor: pointer;
+  text-decoration: none;
+}
+
+a:hover {
+  text-decoration: underline;
+}
+
+span.entity > a {
+  padding: 0.1em 0.5em;
+  margin-left: 0.2em;
+}
+
+span.entity > a.selected {
+  background-color: #C2D2DC;
+  border-radius: 0.2em;
+}
+
+html {
+  background-color: #f0f3f6;
+  box-sizing: border-box;
+}
+*, *:before, *:after {
+  box-sizing: inherit;
+}
+
+textarea, input { outline: none; }
+
+#library {
+    display: none;
+}
+
+#browser {
+  width: 17.5em;
+  top: 0px;
+  left: 0;
+  bottom: 0px;
+  display: block;
+  position: fixed;
+  background-color: #f0f3f6;
+}
+
+#browser.full-screen {
+  left: -17.5em;
+}
+
+#search {
+  background-color: #103a51; /* typesafe blue */
+  min-height: 5.5em;
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  height: 3em;
+  min-height: initial;
+  z-index: 103;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.18), 0 4px 8px rgba(0, 0, 0, 0.28);
+}
+
+#search > h1 {
+  font-size: 2em;
+  position: absolute;
+  left: 0.25em;
+  top: 0.5em;
+}
+
+#search > h2 {
+  position: absolute;
+  left: 3.8em;
+  top: 3em;
+}
+
+#search > img.scala-logo {
+  width: 3em;
+  height: auto;
+  position: absolute;
+  left: 5.8em;
+  top: 0.43em;
+}
+
+#search > span.toggle-sidebar {
+  position: absolute;
+  top: 0.8em;
+  left: 0.2em;
+  color: #fff;
+  z-index: 99;
+  width: 1.5em;
+  height: 1.5em;
+}
+
+#search > span#doc-title {
+  color: #fff;
+  position: absolute;
+  top: 0.8em;
+  left: 0;
+  width: 18em;
+  text-align: center;
+  cursor: pointer;
+  z-index: 2;
+}
+
+#search > span#doc-title > span#doc-version {
+  color: #c2c2c2;
+  font-weight: 100;
+  font-size: 0.72em;
+  display: inline-block;
+  width: 12ex;
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+#search > span#doc-title > span#doc-version:hover {
+  overflow: visible;
+}
+
+#search > span.toggle-sidebar:hover {
+  cursor: pointer;
+}
+
+/* Pseudo element replacing UTF8-symbol "Trigram From Heaven" */
+#search > span.toggle-sidebar:before {
+  position: absolute;
+  top: -0.45em;
+  left: 0.45em;
+  content: "";
+  display: block;
+  width: 0.7em;
+  -webkit-box-shadow: 0 0.8em 0 1px #fff, 0 1.1em 0 1px #fff, 0 1.4em 0 1px 
#fff;
+  box-shadow: 0 0.8em 0 1px #fff, 0 1.1em 0 1px #fff, 0 1.4em 0 1px #fff;
+}
+
+#search > span.toggle-sidebar:hover:before {
+  -webkit-box-shadow: 0 0.8em 0 1px #c2c2c2, 0 1.1em 0 1px #c2c2c2, 0 1.4em 0 
1px #c2c2c2;
+  box-shadow: 0 0.8em 0 1px #c2c2c2, 0 1.1em 0 1px #c2c2c2, 0 1.4em 0 1px 
#c2c2c2;
+}
+
+#textfilter > .pre {
+  display: block;
+  position: absolute;
+  top: 0;
+  left: 0;
+  height: 23px;
+  width: 21px;
+}
+
+#textfilter {
+  position: absolute;
+  top: 0.5em;
+  bottom: 0.8em;
+  left: 0;
+  right: 0;
+  display: block;
+  height: 2em;
+}
+
+#textfilter > .input {
+  position: relative;
+  display: block;
+  padding: 0.2em;
+  max-width: 48.5em;
+  margin: 0 auto;
+}
+
+#textfilter > .input > i#search-icon {
+  color: rgba(255,255,255, 0.4);
+  position: absolute;
+  left: 0.34em;
+  top: 0.3em;
+  font-size: 1.3rem;
+}
+
+#textfilter > span.toggle {
+  cursor: pointer;
+  padding-left: 15px;
+  position: absolute;
+  left: -0.55em;
+  top: 3em;
+  z-index: 99;
+  color: #fff;
+  font-size: 0.8em;
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+#textfilter > span.toggle:hover {
+  color: #c2c2c2;
+}
+
+#textfilter > span.toggle:hover {
+  cursor: pointer;
+}
+
+#textfilter > .hide:hover {
+  cursor: pointer;
+  color: #a2a2a2;
+}
+
+#textfilter > .input > input {
+  font-family: "Open Sans";
+  font-size: 0.85em;
+  height: 2em;
+  padding: 0 0 0 2.1em;
+  color: #fff;
+  width: 100%;
+  border-radius: 0.2em;
+  background: rgba(255, 255, 255, 0.2);
+}
+
+
+#textfilter > .input > input::-webkit-input-placeholder {
+  color: rgba(255, 255, 255, 0.4);
+}
+
+#textfilter > .input > input::-moz-placeholder {
+  color: rgba(255, 255, 255, 0.4);
+}
+
+#textfilter > .input > input:-ms-input-placeholder {
+  color: rgba(255, 255, 255, 0.4);
+}
+
+#textfilter > .input > input:-moz-placeholder {
+  color: rgba(255, 255, 255, 0.4);
+}
+
+#focusfilter > .focusremove:hover {
+  text-decoration: none;
+}
+
+#textfilter > .input > .clear {
+  display: none;
+  position: absolute;
+  font-size: 0.9em;
+  top: 0.7em;
+  right: 0.1em;
+  height: 23px;
+  width: 21px;
+  color: rgba(255, 255, 255, 0.4);
+}
+
+#textfilter > .input > .clear:hover {
+  cursor: pointer;
+  color: #fff;
+}
+
+#focusfilter {
+  font-size: 0.9em;
+  position: relative;
+  text-align: center;
+  display: none;
+  padding: 0.6em;
+  background-color: #f16665;
+  color: #fff;
+  margin: 3.9em 0.55em 0 0.35em;
+  border-radius: 0.2em;
+  z-index: 1;
+}
+
+div#search-progress {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 0.25em;
+}
+
+div#search-progress > div#progress-fill {
+  width: 0%;
+  background-color: #f16665;
+  transition: 0.1s;
+}
+
+#focusfilter .focuscoll {
+  font-weight: bold;
+}
+
+#focusfilter a.focusremove {
+  margin-left: 0.2em;
+  font-size: 0.9em;
+}
+
+#kindfilter-container {
+  position: fixed;
+  display: block;
+  z-index: 99;
+  bottom: 0.5em;
+  left: 0;
+  width: 17.25em;
+}
+
+#kindfilter {
+  float: right;
+  text-align: center;
+  padding: 0.3em 1em;
+  border-radius: 0.8em;
+  background: #f16665;
+  border-bottom: 2px solid #d64546;
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #fff;
+  font-size: 0.8em;
+}
+
+#kindfilter:hover {
+  cursor: pointer;
+  background-color: rgb(226, 87, 88);
+}
+
+#letters {
+  position: relative;
+  text-align: center;
+  border: 0;
+  margin-top: 0em;
+  color: #fff;
+}
+
+#letters > a, #letters > span {
+  color: #fff;
+  font-size: 0.67em;
+  padding-right: 2px;
+}
+
+#letters > a:hover {
+  text-decoration: none;
+  color: #c2c2c2;
+}
+
+#letters > span {
+  color: #bbb;
+}
+
+div#content-scroll-container {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 100;
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+
+div#content-container {
+  max-width: 1140px;
+  margin: 0 auto;
+}
+
+div#content-container > div#content {
+  -webkit-overflow-scrolling: touch;
+  display: block;
+  overflow-y: hidden;
+  max-width: 1140px;
+  margin: 4em auto 0;
+}
+
+div#content-container > div#subpackage-spacer {
+  float: right;
+  height: 100%;
+  margin: 1.1rem 0.5rem 0 0.5em;
+  font-size: 0.8em;
+  min-width: 8rem;
+  max-width: 16rem;
+}
+
+div#packages > h1 {
+  color: #103a51;
+}
+
+div#packages > ul {
+  list-style-type: none;
+}
+
+div#packages > ul > li {
+  position: relative;
+  margin: 0.5rem 0;
+  width: 100%;
+  border-radius: 0.2em;
+  min-height: 1.5em;
+  padding-left: 2em;
+}
+
+div#packages > ul > li.current-entities {
+  margin: 0.3rem 0;
+}
+
+div#packages > ul > li.current:hover {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  cursor: pointer;
+}
+
+div#packages > ul > li.current-entities > *:nth-child(1),
+div#packages > ul > li.current-entities > *:nth-child(2) {
+  float: left;
+  display: inline;
+  height: 1rem;
+  width: 1rem;
+  margin: 1px 0 0 0;
+  cursor: pointer;
+}
+
+div#packages > ul > li > a.class {
+  background: url("class.svg") no-repeat center;
+  background-size: 0.9rem;
+}
+
+div#packages > ul > li > a.trait {
+  background: url("trait.svg") no-repeat center;
+  background-size: 0.9rem;
+}
+
+div#packages > ul > li > a.object {
+  background: url("object.svg") no-repeat center;
+  background-size: 0.9rem;
+}
+
+div#packages > ul > li > a.abstract.type {
+  background: url("abstract_type.svg") no-repeat center;
+  background-size: 0.9rem;
+}
+
+div#packages > ul > li > a {
+  text-decoration: none !important;
+  margin-left: 1px;
+  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida 
Console", monospace;
+  font-size: 0.9em;
+}
+
+/* Indentation levels for packages */
+div#packages > ul > li.indented0  { padding-left: 0em; }
+div#packages > ul > li.indented1  { padding-left: 1em; }
+div#packages > ul > li.indented2  { padding-left: 2em; }
+div#packages > ul > li.indented3  { padding-left: 3em; }
+div#packages > ul > li.indented4  { padding-left: 4em; }
+div#packages > ul > li.indented5  { padding-left: 5em; }
+div#packages > ul > li.indented6  { padding-left: 6em; }
+div#packages > ul > li.indented7  { padding-left: 7em; }
+div#packages > ul > li.indented8  { padding-left: 8em; }
+div#packages > ul > li.indented9  { padding-left: 9em; }
+div#packages > ul > li.indented10 { padding-left: 10em; }
+div#packages > ul > li.current.indented0  { padding-left: -0.5em }
+div#packages > ul > li.current.indented1  { padding-left: 0.5em }
+div#packages > ul > li.current.indented2  { padding-left: 1.5em }
+div#packages > ul > li.current.indented3  { padding-left: 2.5em }
+div#packages > ul > li.current.indented4  { padding-left: 3.5em }
+div#packages > ul > li.current.indented5  { padding-left: 4.5em }
+div#packages > ul > li.current.indented6  { padding-left: 5.5em }
+div#packages > ul > li.current.indented7  { padding-left: 6.5em }
+div#packages > ul > li.current.indented8  { padding-left: 7.5em }
+div#packages > ul > li.current.indented9  { padding-left: 8.5em }
+div#packages > ul > li.current.indented10 { padding-left: 9.5em }
+
+div#packages > ul > li.current > span.symbol {
+  border-left: 0.25em solid #72D0EB;
+  padding-left: 0.25em;
+}
+
+div#packages > ul > li > span.symbol > a {
+  text-decoration: none;
+}
+
+div#packages > ul > li > span.symbol > span.name {
+  font-weight: normal;
+}
+
+div#packages > ul > li .fullcomment,
+div#packages > ul > li .modifier_kind,
+div#packages > ul > li .permalink,
+div#packages > ul > li .shortcomment {
+  display: none;
+}
+
+div#search-results {
+  color: #103a51;
+  position: absolute;
+  left: 0;
+  top: 3em;
+  right: 0;
+  bottom: 0;
+  background-color: rgb(240, 243, 246);
+  z-index: 101;
+  overflow-x: hidden;
+  display: none;
+  padding: 1em;
+  -webkit-overflow-scrolling: touch;
+}
+
+div#search > span.close-results {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  position: fixed;
+  top: 0.8em;
+  left: 1em;
+  color: #fff;
+  display: none;
+  z-index: 1;
+}
+
+div#search > span.close-results:hover {
+  cursor: pointer;
+}
+
+div#results-content {
+  max-width: 1140px;
+  margin: 0 auto;
+}
+
+div#results-content > span.search-text {
+  margin-left: 1em;
+  font-size: 1.2em;
+  float: left;
+  width: 100%;
+}
+
+div#results-content > span.search-text > span.query-str {
+  font-weight: 900;
+}
+
+div#results-content > div > h1.result-type {
+  font-size: 1.5em;
+  margin: 1em 0 0.3em;
+  font-family: "Open Sans";
+  font-weight: 300;
+  border-bottom: 1px solid #103a51;
+}
+
+div#results-content > div#entity-results {
+  float: left;
+  width: 50%;
+  padding: 1em;
+  display: inline;
+}
+
+div#results-content > div#member-results {
+  float: left;
+  width: 50%;
+  padding: 1em;
+  display: inline;
+}
+
+div#results-content > div#member-results > a.package,
+div#results-content > div#entity-results > a.package {
+  font-size: 1em;
+  margin: 0 0 1em 0;
+  color: #f16665;
+  cursor: pointer;
+}
+
+div#results-content > div#member-results > ul.entities,
+div#results-content > div#entity-results > ul.entities {
+  list-style-type: none;
+  padding-left: 0;
+}
+
+div#results-content > div#member-results > ul.entities > li,
+div#results-content > div#entity-results > ul.entities > li {
+  margin: 0.5em 0;
+}
+
+div#results-content > div#member-results > ul.entities > li > .icon,
+div#results-content > div#entity-results > ul.entities > li > .icon {
+  float: left;
+  display: inline;
+  height: 1em;
+  width: 1em;
+  margin: 0.23em 0 0;
+  cursor: pointer;
+}
+
+div#results-content > div#member-results > ul.entities > li > .icon.class,
+div#results-content > div#entity-results > ul.entities > li > .icon.class {
+  background: url("class.svg") no-repeat center;
+  background-size: 1em 1em;
+}
+
+div#results-content > div#member-results > ul.entities > li > .icon.trait,
+div#results-content > div#entity-results > ul.entities > li > .icon.trait {
+  background: url("trait.svg") no-repeat center;
+  background-size: 1em 1em;
+}
+
+div#results-content > div#member-results > ul.entities > li > .icon.object,
+div#results-content > div#entity-results > ul.entities > li > .icon.object {
+  background: url("object.svg") no-repeat center;
+  background-size: 1em 1em;
+}
+
+div#results-content > div#member-results > ul.entities > li > span.entity,
+div#results-content > div#entity-results > ul.entities > li > span.entity {
+  font-size: 1.1em;
+  font-weight: 900;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members,
+div#results-content > div#entity-results > ul.entities > li > ul.members {
+  margin-top: 0.5em;
+  list-style-type: none;
+  font-size: 0.85em;
+  margin-left: 0.2em;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members > li,
+div#results-content > div#entity-results > ul.entities > li > ul.members > li {
+  margin: 0.5em 0;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members > li 
> span.kind,
+div#results-content > div#member-results > ul.entities > li > ul.members > li 
> span.tail,
+div#results-content > div#entity-results > ul.entities > li > ul.members > li 
> span.kind,
+div#results-content > div#entity-results > ul.entities > li > ul.members > li 
> span.tail {
+  margin-right: 0.6em;
+  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida 
Console", monospace;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members > li 
> span.kind {
+  font-weight: 600;
+}
+
+div#results-content > div#member-results > ul.entities > li > ul.members > li 
> a.label,
+div#results-content > div#entity-results > ul.entities > li > ul.members > li 
> a.label {
+  color: #2C3D9B;
+  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida 
Console", monospace;
+}
+
+/** Scrollpane settings needed for jquery.scrollpane.min.js */
+.jspContainer {
+  overflow: hidden;
+  position: relative;
+}
+
+.jspPane {
+  position: absolute;
+}
+
+.jspVerticalBar {
+  position: absolute;
+  top: 0;
+  right: 0;
+  width: 0.6em;
+  height: 100%;
+  background: transparent;
+}
+
+.jspHorizontalBar {
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 16px;
+  background: red;
+}
+
+.jspCap {
+  display: none;
+}
+
+.jspHorizontalBar .jspCap {
+  float: left;
+}
+
+.jspTrack {
+  background: #f0f3f6;
+  position: relative;
+}
+
+.jspDrag {
+  display: none;
+  background: rgba(0, 0, 0, 0.35);
+  position: relative;
+  top: 0;
+  left: 0;
+  cursor: pointer;
+}
+
+#tpl:hover .jspDrag {
+  display: block;
+}
+
+.jspHorizontalBar .jspTrack,
+.jspHorizontalBar .jspDrag {
+  float: left;
+  height: 100%;
+}
+
+.jspArrow {
+  background: #50506d;
+  text-indent: -20000px;
+  display: block;
+  cursor: pointer;
+  padding: 0;
+  margin: 0;
+}
+
+.jspArrow.jspDisabled {
+  cursor: default;
+  background: #80808d;
+}
+
+.jspVerticalBar .jspArrow {
+  height: 16px;
+}
+
+.jspHorizontalBar .jspArrow {
+  width: 16px;
+  float: left;
+  height: 100%;
+}
+
+.jspVerticalBar .jspArrow:focus {
+  outline: none;
+}
+
+.jspCorner {
+  background: #eeeef4;
+  float: left;
+  height: 100%;
+}
+
+/* CSS Hack for IE6 3 pixel bug */
+* html .jspCorner {
+  margin: 0 -3px 0 0;
+}
+
+/* Media query rules for smaller viewport */
+@media only screen /* Large screen with a small window */
+and (max-width: 1300px)
+{
+  #textfilter {
+    left: 17.8em;
+    right: 0.35em;
+  }
+
+  #textfilter .input {
+    max-width: none;
+    margin: 0;
+  }
+}
+
+@media only screen /* Large screen with a smaller window */
+and (max-width: 800px)
+{
+  div#results-content > div#entity-results {
+    width: 100%;
+    padding: 0em;
+  }
+
+  div#results-content > div#member-results {
+    width: 100%;
+    padding: 0em;
+  }
+}
+
+/* Media query rules specifically for mobile devices */
+@media
+screen /* HiDPI device like Nexus 5 */
+and (max-device-width: 360px)
+and (max-device-height: 640px)
+and (-webkit-device-pixel-ratio: 3)
+,
+screen /* Most mobile devices  */
+and (max-device-width: 480px)
+and (orientation: portrait)
+,
+only screen /* iPhone 6 */
+and (max-device-width: 667px)
+and (-webkit-device-pixel-ratio: 2)
+{
+  div#content-container > div#subpackage-spacer {
+      display: none;
+  }
+
+  div#content-container > div#content {
+    margin: 3.3em auto 0;
+  }
+
+  #search > span#doc-title {
+    width: 100%;
+    text-align: left;
+    padding-left: 0.7em;
+    top: 0.95em;
+    z-index: 1;
+  }
+
+  #search > div#textfilter {
+    z-index: 2;
+  }
+
+  #search > span#doc-title > span#doc-version {
+    display: none;
+  }
+
+  #textfilter {
+    left: 12.2em;
+  }
+}


Reply via email to