help.jsp revision 99b4056e2c5b0a51f7f480ebcefb1f917613ce2a
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<%--
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoCDDL HEADER START
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoThe contents of this file are subject to the terms of the
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoCommon Development and Distribution License (the "License").
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoYou may not use this file except in compliance with the License.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoSee LICENSE.txt included in this distribution for the specific
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscolanguage governing permissions and limitations under the License.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoWhen distributing Covered Code, include this CDDL HEADER in each
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscofile and include the License file at LICENSE.txt.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoIf applicable, add the following below this CDDL HEADER, with the
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscofields enclosed by brackets "[]" replaced with your own identifying
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoinformation: Portions Copyright [yyyy] [name of copyright owner]
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoCDDL HEADER END
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoCopyright 2007 Sun Microsystems, Inc. All rights reserved.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoUse is subject to license terms.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoPortions Copyright 2011 Jens Elkner.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco--%><%@ page session="false" errorPage="error.jsp" import="
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoorg.opensolaris.opengrok.web.PageConfig"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco%><%
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco/* ---------------------- help.jsp start --------------------- */
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco{
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco cfg = PageConfig.get(request);
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco cfg.setTitle("OpenGrok Help");
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco%><%@
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoinclude file="httpheader.jspf"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco%>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<body>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <div id="page">
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <div id="whole_header">
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <div id="header"><%@
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoinclude file="pageheader.jspf"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco %></div>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <div id="Masthead"></div>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco </div>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <div id="sbar">
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <div id="menu"><%@
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoinclude file="menu.jspf"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco%>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco </div>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco </div>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <div id="help">
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dfn><b>Examples:</b></dfn>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<pre class="example">
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find where setResourceMonitors is defined:
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?q=&amp;defs=setResourceMonitors">defs:setResourceMonitors</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find files that use sprintf in usr/src/cmd/cmd-inet/usr.sbin/:
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?refs=sprintf&amp;path=usr%2Fsrc%2Fcmd%2Fcmd-inet%2Fusr.sbin%2F"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco>refs:sprintf path:usr/src/cmd/cmd-inet/usr.sbin</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find assignments to variable foo:
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?q=%22foo+%3D%22">"foo ="</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find Makefiles where pstack binary is being built:
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?q=pstack&amp;path=Makefile">pstack path:Makefile</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoto search for phrase "Bill Joy":
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?q=%22Bill+Joy%22">"Bill Joy"</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find perl files that do not use /usr/bin/perl but something else:
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?q=-%22%2Fusr%2Fbin%2Fperl%22+%2B%22%2Fbin%2Fperl%22"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco>-"/usr/bin/perl" +"/bin/perl"</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find all strings begining with foo use the wildcard:
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?q=foo*">foo*</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find all files which have . c in their name (dot is a token!):
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?path=%22. c%22">". c"</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find all files which start with "ma" and then have only alphabet characters do:
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?path=/ma[a-zA-Z]*/">path:/ma[a-zA-Z]*/</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo find all main methods in all files analyzed by C analyzer (so .c, .h, ...) do:
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a href="search?q=main&type=c">main type:c</a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco</pre>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<br/>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dfn><b>More info:</b></dfn><br/><br/>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoA <dfn>Query</dfn> is a series of clauses. A clause may be prefixed by:</p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<ul>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>a plus "<b>+</b>" or a minus "<b>-</b>" sign, indicating that the clause
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco is required or prohibited respectively; or</li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>a <dfn>term</dfn> followed by a colon "<b>:</b>", indicating the
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <dfn>field</dfn> to be searched. This enables one to construct queries
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco which search multiple <dfn>fields</dfn>.</li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco</ul>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<p>A clause may be either:</p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<ul>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>a <dfn>term</dfn>, indicating all the documents that contain this term;
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco or</li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>a <dfn>phrase</dfn> - group of words surrounded by double quotes
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <b>" "</b>, e.g. "hello dolly" </li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>a nested query, enclosed in parentheses "<b>(</b>" "<b>)</b>" (also
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco called query/field <dfn>grouping</dfn>) . Note that this may be used
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco with a +/- prefix to require any of a set of terms. </li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>boolean <dfn>operators</dfn> which allow terms to be combined through
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco logic operators. Supported are <b>AND</b>(<b>&amp;&amp;</b>), "<b>+</b>",
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <b>OR</b>(<b>||</b>), <b>NOT</b>(<b>!</b>) and "<b>-</b>" (Note: they
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco must be ALL CAPS).</li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco</ul>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<p>Regular Expression, Wildcard, Fuzzy, Proximity &amp; Range Searches:</p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<ul>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>to perform a regular expression search use the "<b>/</b>" enclosure,
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco e.g. /[mb]an/ - will search for man or for ban;<br>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco NOTE: path field search escapes "/" by default, so it only supports
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco regexps when the search string <u>starts and ends</u> with "/".<br>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco More info can be found on <a href="http://lucene.apache.org/core/4_3_1/core/org/apache/lucene/util/automaton/RegExp.html?is-external=true">lucene regexp page</a>.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco </li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>to perform a single character wildcard search use the "<b>?</b>" symbol,
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco e.g. te?t</li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>to perform a multiple character wildcard search use the "<b>*</b>"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco symbol, e.g. test* or te*t</li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>you can use a * or ? symbol as the first character of a search
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco (unless not enabled using indexer option -a).</li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>to do a fuzzy search (find words similar in spelling, based on the
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco Levenshtein Distance, or Edit Distance algorithm) use the tilde,
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco "<b>~</b>", e.g. rcs~ </li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>to do a proximity search use the tilde, "~", symbol at the end of a
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco Phrase. For example to search for a "opengrok" and "help" within 10
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco words of each other enter: "opengrok help"~10 </li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <li>range queries allow one to match documents whose field(s) values are
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco between the lower and upper bound specified by the Range Query. Range
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco Queries can be inclusive or exclusive of the upper and lower bounds.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco Sorting is done lexicographically. Inclusive queries are denoted by
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco square brackets <b>[ ]</b> , exclusive by curly brackets <b>{ }</b>.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco For example: title:{Aida TO Carmen} - will find all documents between
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco Aida to Carmen, exclusive of Aida and Carmen. </li>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco</ul>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<a id="escaping"><dfn>Escaping special characters:</dfn></a>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<p>Opengrok supports escaping special characters that are part of the query
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco syntax. Current special characters are:<br/>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <b>+ - &amp;&amp; || ! ( ) { } [ ] ^ " ~ * ? : \ / </b><br/>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoTo escape these character use the \ before the character. For example to search
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscofor <b>(1+1):2</b> use the query: <b>\(1\+1\)\:2</b>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco</p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<p>NOTE on analyzers: Indexed words are made up of Alpha-Numeric and Underscore
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscocharacters. One letter words are usually not indexed as symbols!<br/>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoMost other characters (including single and double quotes) are treated as
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco"spaces/whitespace" (so even if you escape them, they will not be found, since
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscomost analyzers ignore them). <br/>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoThe exceptions are: <b>@ $ % ^ &amp; = ? . :</b> which are mostly indexed as
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoseparate words.<br/>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoBecause some of them are part of the query syntax, they must be escaped with a
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoreverse slash as noted above.<br/>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos KoscoSo searching for <b>\+1</b> or <b>\+ 1</b> will both find <b>+1</b> and <b>+ 1</b>.
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco</p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<p>valid <dfn>FIELDs</dfn> are</p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco <dl class="fields">
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dt>full</dt>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dd>Search through all text tokens (words,strings,identifiers,numbers) in index.</dd>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dt>defs</dt>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dd>Only finds symbol definitions (where e.g. a variable (function, ...) is defined).</dd>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dt>refs</dt>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dd>Only finds symbols (e.g. methods, classes, functions, variables).</dd>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dt>path</dt>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dd>path of the source file (no need to use dividers).</dd>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dt>hist</dt>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dd>History log comments.</dd>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dt>type</dt>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<dd>Type of analyzer used to scope down to certain file types (e.g. just C sources).<br/>Current mappings: <%=SearchHelper.getFileTypeDescirptions().toString()%></dd>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco </dl>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscothe term (phrases) can be boosted (making it more relevant) using a caret
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<b>^</b> , e.g. help^4 opengrok - will make term help boosted
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco</p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<p>Opengrok search is powered by <a href="http://lucene.apache.org/"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco>lucene</a>, for more detail on query syntax refer to <a href="http://lucene.apache.org/core/4_3_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package_description">lucene docs</a>.<br>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco</p>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco </div>
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco<%
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco}
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco/* ---------------------- help.jsp end --------------------- */
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco%><%@
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Koscoinclude file="foot.jspf"
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco
df0f31230faf76eaf3a4eac5eaac78389167caa6Lubos Kosco%>