<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.6.0/javadoc/org/apache/ignite/compute/gridify/GridifySetToSet.html" />
<!-- Generated by javadoc (version 1.7.0_80) on Wed May 18 17:03:58 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GridifySetToSet (Ignite 1.6.0)</title>
<meta name="date" content="2016-05-18">
<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="GridifySetToSet (Ignite 1.6.0)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/GridifySetToSet.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/ignite/compute/gridify/GridifyRuntimeException.html" title="class in org.apache.ignite.compute.gridify"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToValue.html" title="annotation in org.apache.ignite.compute.gridify"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/compute/gridify/GridifySetToSet.html" target="_top">Frames</a></li>
<li><a href="GridifySetToSet.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation_type_optional_element_summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#annotation_type_element_detail">Element</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.compute.gridify</div>
<h2 title="Annotation Type GridifySetToSet" class="title">Annotation Type GridifySetToSet</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Documented.html?is-external=true" title="class or interface in java.lang.annotation">@Documented</a>
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true#value()" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true#value()" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>)
public @interface <span class="strong">GridifySetToSet</span></pre>
<div class="block"><code>GridifySetToSet</code> annotation allows to grid-enable existing code with specific semantics.
 <p>
 This annotation can be applied to any public method that needs to be grid-enabled,
 static or non-static. When this annotation is applied to a method, the method
 execution is considered to be grid-enabled. In general, the execution of this
 method can be transferred to another node in the grid, potentially splitting it
 into multiple subtasks to be executed in parallel on multiple grid nodes. But
 from the caller perspective this method still looks and behaves like a local apply.
 This is achieved by utilizing AOP-based interception of the annotated code and
 injecting all the necessary grid logic into the method execution.
 <p>
 <code>GridifySetToSet</code> used as extended version of <code>Gridify</code> annotation.
 It provides automated gridification of two popular types of mathematical
 functions that allow for "embarrassingly" simple parallelization (for example,
 find prime numbers in collection or find maximum in collection). The goal of this
 annotation is to provide very simple and easy to use ForkJoin gridification
 for some often used use cases. Note that in a standard <code>Gridify</code> annotation
 the user has to write <a href="../../../../../org/apache/ignite/compute/ComputeTask.html" title="interface in org.apache.ignite.compute"><code>ComputeTask</code></a> to provide ForkJoin behavior.
 In a proposed design - the ForkJoin will be achieved <b>automatically</b>.
 <p>
 Let <b>F</b> be the function or a method in Java language and <b>St</b> be a set of values
 of type <code>t</code> or a typed Collection&lt;T&gt; in Java. Let also <code>R</code> be
 the result value. These are the types of functions that will be supported (defined in
 terms of their properties):
 <p>
 <code>F (S 1, S 2, ..., S k) =&gt; {R 1, R 2, ..., R n,}, where F (S 1, S 2, ..., S k) == {F (S 1), F (S 2), ..., F (S k)}</code>
 which defines a function whose result can be constructed as concatenation of results
 of the same function applied to subsets of the original set.
 <p>
 In definition above we used Collection&lt;T&gt; for the purpose of example.
 The following Java types and their subtypes will have to be supported as return values or method parameters:
 <ul>
 <li>java.util.Collection</li>
 <li>java.util.Iterator</li>
 <li>java.util.Enumeration</li>
 <li>java.lang.CharSequence</li>
 <li>java array</li>
 </ul>
 <p>
 Note that when using <code>@GridifySetToSet</code> annotation the state of the whole instance will be
 serialized and sent out to remote node. Therefore the class must implement
 <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface. If you cannot make the class <code>Serializable</code>,
 then you must implement custom grid task which will take care of proper state
 initialization. In either case, Ignite must be able to serialize the state passed to remote node.
 <p>
 <h1 class="header">Java Example</h1>
 <p>
 Example for these types of functions would be any function that is looking for a subset of data
 in a given input collection. For example:
 <pre name="code" class="java">
 ...
 &#64;GridifySetToSet(threshold = 2)
 public static Collection&lt;Number&gt; findAllPrimeNumbers(Collection&lt;Number&gt; input) {...}
 ...
 </pre>
 This function searches all elements in the input collection and returns another collection
 containing only prime numbers found in the original collection. We can split this collection into
 two sub-collection, find primes in each - and then simply concatenate two collections to get
 the final set of all primes.
 <p>
 The formal definition of (or requirement for) such method:
 <ul>
 <li>Have return value of type <b>Collection&lt;T&gt;</b></li>
 <li>Have one and only one parameter of type <b>Collection&lt;T&gt;</b></li>
 <li>Order of <b>Collection&lt;T&gt;</b> parameter is irrelevant</li>
 <li>Method can have as many other parameters as needed of any type except for <b>Collection&lt;T&gt;</b></li>
 <li>Logic of the method must allow for concatenation of results from the same method apply
 on a subset of the original collection</li>
 </ul>
 <p>
 <h1 class="header">Jboss AOP</h1>
 The following configuration needs to be applied to enable JBoss byte code
 weaving. Note that Ignite is not shipped with JBoss and necessary
 libraries will have to be downloaded separately (they come standard
 if you have JBoss installed already):
 <ul>
 <li>
      The following JVM configuration must be present:
      <ul>
      <li><code>-javaagent:[path to jboss-aop-jdk50-4.x.x.jar]</code></li>
      <li><code>-Djboss.aop.class.path=[path to ignite.jar]</code></li>
      <li><code>-Djboss.aop.exclude=org,com -Djboss.aop.include=org.apache.ignite.examples</code></li>
      </ul>
 </li>
 <li>
      The following JARs should be in a classpath:
      <ul>
      <li><code>javassist-3.x.x.jar</code></li>
      <li><code>jboss-aop-jdk50-4.x.x.jar</code></li>
      <li><code>jboss-aspect-library-jdk50-4.x.x.jar</code></li>
      <li><code>jboss-common-4.x.x.jar</code></li>
      <li><code>trove-1.0.2.jar</code></li>
      </ul>
 </li>
 </ul>
 <p>
 <h1 class="header">AspectJ AOP</h1>
 The following configuration needs to be applied to enable AspectJ byte code
 weaving.
 <ul>
 <li>
      JVM configuration should include:
      <code>-javaagent:${IGNITE_HOME}/libs/aspectjweaver-1.7.2.jar</code>
 </li>
 <li>
      META-INF/aop.xml file should be created and specified on the classpath.
      The file should contain Gridify aspects and needed weaver options.
 </li>
 </ul>
 <p>
 <h1 class="header">Spring AOP</h1>
 Spring AOP framework is based on dynamic proxy implementation and doesn't require
 any specific runtime parameters for online weaving. All weaving is on-demand and should
 be performed by calling method
 <a href="../../../../../org/apache/ignite/compute/gridify/aop/spring/GridifySpringEnhancer.html#enhance(java.lang.Object)"><code>GridifySpringEnhancer.enhance(java.lang.Object)</code></a> for the object
 that has method with <a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html" title="annotation in org.apache.ignite.compute.gridify"><code>GridifySetToSet</code></a> annotation.
 <p>
 Note that this method of weaving is rather inconvenient and AspectJ or JBoss AOP is
 recommended over it. Spring AOP can be used in situation when code augmentation is
 undesired and cannot be used. It also allows for very fine grained control of what gets
 weaved.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation_type_optional_element_summary">
<!--   -->
</a>
<h3>Optional Element Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html#gridName()">gridName</a></strong></code>
<div class="block">Name of the grid to use.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/ignite/compute/gridify/GridifyInterceptor.html" title="interface in org.apache.ignite.compute.gridify">GridifyInterceptor</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html#interceptor()">interceptor</a></strong></code>
<div class="block">Optional interceptor class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/ignite/compute/gridify/GridifyNodeFilter.html" title="interface in org.apache.ignite.compute.gridify">GridifyNodeFilter</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html#nodeFilter()">nodeFilter</a></strong></code>
<div class="block">Optional node filter to filter nodes participated in job split.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html#splitSize()">splitSize</a></strong></code>
<div class="block">Optional parameter that defines a split size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html#threshold()">threshold</a></strong></code>
<div class="block">Optional parameter that defines the minimal value below which the
 execution will NOT be grid-enabled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html#timeout()">timeout</a></strong></code>
<div class="block">Optional gridify task execution timeout.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation_type_element_detail">
<!--   -->
</a>
<h3>Element Detail</h3>
<a name="nodeFilter()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeFilter</h4>
<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/ignite/compute/gridify/GridifyNodeFilter.html" title="interface in org.apache.ignite.compute.gridify">GridifyNodeFilter</a>&gt;&nbsp;nodeFilter</pre>
<div class="block">Optional node filter to filter nodes participated in job split.</div>
<dl>
<dt>Default:</dt>
<dd>org.apache.ignite.compute.gridify.GridifyNodeFilter.class</dd>
</dl>
</li>
</ul>
<a name="timeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>timeout</h4>
<pre>public abstract&nbsp;long&nbsp;timeout</pre>
<div class="block">Optional gridify task execution timeout. Default is <code>0</code>
 which indicates that task will not timeout.</div>
<dl>
<dt>Default:</dt>
<dd>0L</dd>
</dl>
</li>
</ul>
<a name="threshold()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>threshold</h4>
<pre>public abstract&nbsp;int&nbsp;threshold</pre>
<div class="block">Optional parameter that defines the minimal value below which the
 execution will NOT be grid-enabled.</div>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
<a name="splitSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>splitSize</h4>
<pre>public abstract&nbsp;int&nbsp;splitSize</pre>
<div class="block">Optional parameter that defines a split size. Split size in other words means how big will
 be the sub-collection
 that will travel to remote nodes. Note that this is NOT a dynamic setting and you have to set
 the split size up front. This may look
 as a deficiency but Ignite will properly handle this case by giving more than one sub-collection
 to a specific node (as defined by load balancing SPI in use).
 <p>
 This value should be greater than zero and can be less, equal or greater than <a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html#threshold()"><code>threshold()</code></a>
 value. In most cases, however, the optimal value for the split size is the <a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToSet.html#threshold()"><code>threshold()</code></a> value.
 For example, if input collection size is 100, number of nodes 10 and split size is set to 5 - Ignition
 will submit 2 sub-collections of 5 elements each to each node (provided in order by load
 balancing SPI).
 <p>
 By default (when split size is zero) - Ignite will automatically determine the split size based on
 number of nodes and collection size - if collection size is available (not an iterator). If collection
 size cannot be determined - the split size will default to threshold. If threshold is not set - a runtime
 exception will be thrown.</div>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
<a name="interceptor()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interceptor</h4>
<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/ignite/compute/gridify/GridifyInterceptor.html" title="interface in org.apache.ignite.compute.gridify">GridifyInterceptor</a>&gt;&nbsp;interceptor</pre>
<div class="block">Optional interceptor class.</div>
<dl>
<dt>Default:</dt>
<dd>org.apache.ignite.compute.gridify.GridifyInterceptor.class</dd>
</dl>
</li>
</ul>
<a name="gridName()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>gridName</h4>
<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;gridName</pre>
<div class="block">Name of the grid to use. By default, no-name default grid is used.
 Refer to <a href="../../../../../org/apache/ignite/Ignition.html" title="class in org.apache.ignite"><code>Ignition</code></a> for information about named grids.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/GridifySetToSet.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/ignite/compute/gridify/GridifyRuntimeException.html" title="class in org.apache.ignite.compute.gridify"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/ignite/compute/gridify/GridifySetToValue.html" title="annotation in org.apache.ignite.compute.gridify"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/compute/gridify/GridifySetToSet.html" target="_top">Frames</a></li>
<li><a href="GridifySetToSet.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation_type_optional_element_summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#annotation_type_element_detail">Element</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://ignite.apache.org"><nobr>2015 Copyright &#169; Apache Software Foundation</nobr></a>                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                         <td width="100%" align="right" valign="center">                                             <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>                                             <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>                                         </td>                                     </tr>                                     <tr>                                         <td colspan="2" valign="top" align="left">                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>1.6.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             May 18 2016                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
