<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>ANTLR Support Libraries 2.7.1+: TokenStreamHiddenTokenFilter Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.7.3 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ANTLR Support Libraries 2.7.1+</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> </div> <div class="headertitle"> <h1>TokenStreamHiddenTokenFilter Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="TokenStreamHiddenTokenFilter" --><!-- doxytag: inherits="TokenStreamBasicFilter" --> <p><code>#include <<a class="el" href="TokenStreamHiddenTokenFilter_8hpp_source.html">TokenStreamHiddenTokenFilter.hpp</a>></code></p> <div class="dynheader"> Inheritance diagram for TokenStreamHiddenTokenFilter:</div> <div class="dyncontent"> <div class="center"><img src="classTokenStreamHiddenTokenFilter__inherit__graph.png" border="0" usemap="#TokenStreamHiddenTokenFilter_inherit__map" alt="Inheritance graph"/></div> <map name="TokenStreamHiddenTokenFilter_inherit__map" id="TokenStreamHiddenTokenFilter_inherit__map"> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <div class="dynheader"> Collaboration diagram for TokenStreamHiddenTokenFilter:</div> <div class="dyncontent"> <div class="center"><img src="classTokenStreamHiddenTokenFilter__coll__graph.png" border="0" usemap="#TokenStreamHiddenTokenFilter_coll__map" alt="Collaboration graph"/></div> <map name="TokenStreamHiddenTokenFilter_coll__map" id="TokenStreamHiddenTokenFilter_coll__map"> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classTokenStreamHiddenTokenFilter-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a795214dc0fbf6afb34a1f2e912afad5a">TokenStreamHiddenTokenFilter</a> (<a class="el" href="classTokenStream.html">TokenStream</a> &<a class="el" href="classTokenStreamBasicFilter.html#a4d723b321d667bd3e12d9880ddb19563">input</a>)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBitSet.html">BitSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a2b19cf10727ce2a9401dd537d33db94f">getDiscardMask</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTokenRefCount.html">RefToken</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#ada02b8be2c427fe98966ada1f7afaae2">getHiddenAfter</a> (<a class="el" href="classTokenRefCount.html">RefToken</a> t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTokenRefCount.html">RefToken</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#aa0f75ced8c9dc25d57b6d4d3a7b24baa">getHiddenBefore</a> (<a class="el" href="classTokenRefCount.html">RefToken</a> t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBitSet.html">BitSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#ad32edfa2963f85fe20e5967c3710edc4">getHideMask</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTokenRefCount.html">RefToken</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a3b56f980f3fcd26d3a38cd6e52483107">getInitialHiddenToken</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a4d525558c61212db1d63380f6250f724">hide</a> (int m)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#af9a4004b912022bb39bccb42543da3ff">hide</a> (const <a class="el" href="classBitSet.html">BitSet</a> &mask)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTokenRefCount.html">RefToken</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a9cd2f624c8ec04daf276ceabc2b8d2bc">nextToken</a> ()</td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a293e2bb97fed11a9d9e0b45b416d3643">consume</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTokenRefCount.html">RefToken</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a4889651d72ad3b8c1046016ef62b4de0">LA</a> (int i)</td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBitSet.html">BitSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#ac6525fb37ee4668da863222ec602a232">hideMask</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTokenRefCount.html">RefToken</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#afa8dd19e8f9ab7a258cecf2c663dbf82">lastHiddenToken</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTokenRefCount.html">RefToken</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#aac23a9b2709140b2f714b98ba4ebd2e1">firstHidden</a></td></tr> <tr><td colspan="2"><h2><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a72694e6818719136d01f89ed8b4e11e7">consumeFirst</a> ()</td></tr> <tr><td colspan="2"><h2><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTokenRefCount.html">RefToken</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTokenStreamHiddenTokenFilter.html#a07a2a4bd2f1d4a30d81038dde748ef3c">nextMonitoredToken</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This object filters a token stream coming from a lexer or another <a class="el" href="classTokenStream.html">TokenStream</a> so that only certain token channels get transmitted to the parser.</p> <p>Any of the channels can be filtered off as "hidden" channels whose tokens can be accessed from the parser. </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a795214dc0fbf6afb34a1f2e912afad5a"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::TokenStreamHiddenTokenFilter" ref="a795214dc0fbf6afb34a1f2e912afad5a" args="(TokenStream &input)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TokenStreamHiddenTokenFilter::TokenStreamHiddenTokenFilter </td> <td>(</td> <td class="paramtype"><a class="el" href="classTokenStream.html">TokenStream</a> & </td> <td class="paramname"><em>input</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>This object filters a token stream coming from a lexer or another <a class="el" href="classTokenStream.html">TokenStream</a> so that only certain token channels get transmitted to the parser.</p> <p>Any of the channels can be filtered off as "hidden" channels whose tokens can be accessed from the parser. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a293e2bb97fed11a9d9e0b45b416d3643"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::consume" ref="a293e2bb97fed11a9d9e0b45b416d3643" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void TokenStreamHiddenTokenFilter::consume </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a72694e6818719136d01f89ed8b4e11e7"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::consumeFirst" ref="a72694e6818719136d01f89ed8b4e11e7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void TokenStreamHiddenTokenFilter::consumeFirst </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2b19cf10727ce2a9401dd537d33db94f"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::getDiscardMask" ref="a2b19cf10727ce2a9401dd537d33db94f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classBitSet.html">BitSet</a> TokenStreamHiddenTokenFilter::getDiscardMask </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ada02b8be2c427fe98966ada1f7afaae2"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::getHiddenAfter" ref="ada02b8be2c427fe98966ada1f7afaae2" args="(RefToken t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTokenRefCount.html">RefToken</a> TokenStreamHiddenTokenFilter::getHiddenAfter </td> <td>(</td> <td class="paramtype"><a class="el" href="classTokenRefCount.html">RefToken</a> </td> <td class="paramname"><em>t</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return a ptr to the hidden token appearing immediately after token t in the input stream. </p> </div> </div> <a class="anchor" id="aa0f75ced8c9dc25d57b6d4d3a7b24baa"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::getHiddenBefore" ref="aa0f75ced8c9dc25d57b6d4d3a7b24baa" args="(RefToken t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTokenRefCount.html">RefToken</a> TokenStreamHiddenTokenFilter::getHiddenBefore </td> <td>(</td> <td class="paramtype"><a class="el" href="classTokenRefCount.html">RefToken</a> </td> <td class="paramname"><em>t</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return a ptr to the hidden token appearing immediately before token t in the input stream. </p> </div> </div> <a class="anchor" id="ad32edfa2963f85fe20e5967c3710edc4"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::getHideMask" ref="ad32edfa2963f85fe20e5967c3710edc4" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classBitSet.html">BitSet</a> TokenStreamHiddenTokenFilter::getHideMask </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a3b56f980f3fcd26d3a38cd6e52483107"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::getInitialHiddenToken" ref="a3b56f980f3fcd26d3a38cd6e52483107" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTokenRefCount.html">RefToken</a> TokenStreamHiddenTokenFilter::getInitialHiddenToken </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return the first hidden token if one appears before any monitored token. </p> </div> </div> <a class="anchor" id="af9a4004b912022bb39bccb42543da3ff"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::hide" ref="af9a4004b912022bb39bccb42543da3ff" args="(const BitSet &mask)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void TokenStreamHiddenTokenFilter::hide </td> <td>(</td> <td class="paramtype">const <a class="el" href="classBitSet.html">BitSet</a> & </td> <td class="paramname"><em>mask</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a4d525558c61212db1d63380f6250f724"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::hide" ref="a4d525558c61212db1d63380f6250f724" args="(int m)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void TokenStreamHiddenTokenFilter::hide </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>m</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a4889651d72ad3b8c1046016ef62b4de0"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::LA" ref="a4889651d72ad3b8c1046016ef62b4de0" args="(int i)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTokenRefCount.html">RefToken</a> TokenStreamHiddenTokenFilter::LA </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>i</em></td><td>)</td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a9cd2f624c8ec04daf276ceabc2b8d2bc"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::nextToken" ref="a9cd2f624c8ec04daf276ceabc2b8d2bc" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTokenRefCount.html">RefToken</a> TokenStreamHiddenTokenFilter::nextToken </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the next monitored token. Test the token following the monitored token. If following is another monitored token, save it for the next invocation of nextToken (like a single lookahead token) and return it then. If following is unmonitored, nondiscarded (hidden) channel token, add it to the monitored token.</p> <p>Note: EOF must be a monitored <a class="el" href="classToken.html">Token</a>. </p> <p>Reimplemented from <a class="el" href="classTokenStreamBasicFilter.html#aa5181a67511ae6329826f81771be9544">TokenStreamBasicFilter</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="aac23a9b2709140b2f714b98ba4ebd2e1"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::firstHidden" ref="aac23a9b2709140b2f714b98ba4ebd2e1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTokenRefCount.html">RefToken</a> <a class="el" href="classTokenStreamHiddenTokenFilter.html#aac23a9b2709140b2f714b98ba4ebd2e1">TokenStreamHiddenTokenFilter::firstHidden</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ac6525fb37ee4668da863222ec602a232"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::hideMask" ref="ac6525fb37ee4668da863222ec602a232" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classBitSet.html">BitSet</a> <a class="el" href="classTokenStreamHiddenTokenFilter.html#ac6525fb37ee4668da863222ec602a232">TokenStreamHiddenTokenFilter::hideMask</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="afa8dd19e8f9ab7a258cecf2c663dbf82"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::lastHiddenToken" ref="afa8dd19e8f9ab7a258cecf2c663dbf82" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTokenRefCount.html">RefToken</a> <a class="el" href="classTokenStreamHiddenTokenFilter.html#afa8dd19e8f9ab7a258cecf2c663dbf82">TokenStreamHiddenTokenFilter::lastHiddenToken</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>track tail of hidden list emanating from previous monitored token </p> </div> </div> <a class="anchor" id="a07a2a4bd2f1d4a30d81038dde748ef3c"></a><!-- doxytag: member="TokenStreamHiddenTokenFilter::nextMonitoredToken" ref="a07a2a4bd2f1d4a30d81038dde748ef3c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTokenRefCount.html">RefToken</a> <a class="el" href="classTokenStreamHiddenTokenFilter.html#a07a2a4bd2f1d4a30d81038dde748ef3c">TokenStreamHiddenTokenFilter::nextMonitoredToken</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>antlr/<a class="el" href="TokenStreamHiddenTokenFilter_8hpp_source.html">TokenStreamHiddenTokenFilter.hpp</a></li> <li>src/<a class="el" href="TokenStreamHiddenTokenFilter_8cpp.html">TokenStreamHiddenTokenFilter.cpp</a></li> </ul> </div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr class="footer"/><address class="footer"><small>Generated on Fri Mar 25 2011 for ANTLR Support Libraries 2.7.1+ by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>