\
You have successfully set up a JETServer.\
Session Id: " << httpSession->getSessionId() << "\
diff --git a/JETServer Concepts.aux b/docs/JETServer Concepts.aux
similarity index 99%
rename from JETServer Concepts.aux
rename to docs/JETServer Concepts.aux
index f89d2e9..86fa54c 100644
--- a/JETServer Concepts.aux
+++ b/docs/JETServer Concepts.aux
@@ -9,7 +9,7 @@
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Forms}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Image Library}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {1.6}Work Flow Networks}{7}}
-\@writefile{toc}{\contentsline {section}{\numberline {1.7}Requests}{7}}
+\@writefile{toc}{\contentsline {section}{\numberline {1.7}Requests}{8}}
\@writefile{toc}{\contentsline {section}{\numberline {1.8}Business Entities}{8}}
\@writefile{toc}{\contentsline {section}{\numberline {1.9}Microservice Methods}{8}}
\@writefile{toc}{\contentsline {section}{\numberline {1.10}URIs}{9}}
diff --git a/docs/JETServer Concepts.log b/docs/JETServer Concepts.log
new file mode 100644
index 0000000..653f414
--- /dev/null
+++ b/docs/JETServer Concepts.log
@@ -0,0 +1,202 @@
+This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex 2019.5.23) 23 AUG 2019 11:48
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**"JETServer Concepts.tex"
+(./JETServer Concepts.tex
+LaTeX2e <2017-04-15>
+Babel <3.18> and hyphenation patterns for 5 language(s) loaded.
+(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
+Document Class: book 2014/09/29 v1.4h Standard LaTeX document class
+(/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo
+File: bk10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@chapter=\count80
+\c@section=\count81
+\c@subsection=\count82
+\c@subsubsection=\count83
+\c@paragraph=\count84
+\c@subparagraph=\count85
+\c@figure=\count86
+\c@table=\count87
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
+)
+Package graphics Info: Driver file: pdftex.def on input line 99.
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
+File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
+))
+(./JETServer Concepts.aux)
+\openout1 = `"JETServer Concepts.aux"'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 4.
+LaTeX Font Info: ... okay on input line 4.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 4.
+LaTeX Font Info: ... okay on input line 4.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 4.
+LaTeX Font Info: ... okay on input line 4.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 4.
+LaTeX Font Info: ... okay on input line 4.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 4.
+LaTeX Font Info: ... okay on input line 4.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 4.
+LaTeX Font Info: ... okay on input line 4.
+
+(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+[Loading MPS to PDF converter (version 2006.09.02).]
+\scratchcounter=\count88
+\scratchdimen=\dimen103
+\scratchbox=\box26
+\nofMPsegments=\count89
+\nofMParguments=\count90
+\everyMPshowfont=\toks14
+\MPscratchCnt=\count91
+\MPscratchDim=\dimen104
+\MPnumerator=\count92
+\makeMPintoPDFobject=\count93
+\everyMPtoPDFconversion=\toks15
+) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
+Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
+Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
+Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
+Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
+Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
+)))
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
+Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
+\KV@toks@=\toks16
+)
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
+Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
+Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
+Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
+Package ifluatex Info: LuaTeX not detected.
+)
+Package etexcmds Info: Could not find \expanded.
+(etexcmds) That can mean that you are not using pdfTeX 1.50 or
+(etexcmds) that some package has redefined \expanded.
+(etexcmds) In the latter case, load this package earlier.
+)))
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
+Package: pdftexcmds 2018/01/21 v0.26 Utility functions of pdfTeX for LuaTeX (HO
+)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
+Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch
+)
+Package pdftexcmds Info: LuaTeX not detected.
+Package pdftexcmds Info: \pdf@primitive is available.
+Package pdftexcmds Info: \pdf@ifprimitive is available.
+Package pdftexcmds Info: \pdfdraftmode found.
+)
+Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
+38.
+Package grfext Info: Graphics extension search list:
+(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE
+G,.JBIG2,.JB2,.eps]
+(grfext) \AppendGraphicsExtensions on input line 456.
+
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
+e
+))
+[1
+
+
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2
+
+]
+(./JETServer Concepts.toc
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line 2.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 2.
+)
+\tf@toc=\write3
+\openout3 = `"JETServer Concepts.toc"'.
+
+ [3] [4]
+Chapter 1.
+[5
+
+] [6] [7] [8] [9] [10
+
+]
+Chapter 2.
+
+File: images/classcore_1_1_socket__inherit__graph.png Graphic file (type png)
+
+Package pdftex.def Info: images/classcore_1_1_socket__inherit__graph.png used
+on input line 169.
+(pdftex.def) Requested size: 715.672pt x 412.54024pt.
+
+Overfull \hbox (385.672pt too wide) in paragraph at lines 169--170
+[][]
+ []
+
+
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [11]
+[12 <./images/classcore_1_1_socket__inherit__graph.png>]
+Chapter 3.
+[13
+
+] [14]
+Chapter 4.
+
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [15
+
+]
+[16] (./JETServer Concepts.aux) )
+Here is how much of TeX's memory you used:
+ 1397 strings out of 494880
+ 20127 string characters out of 6179601
+ 74925 words of memory out of 5000000
+ 4732 multiletter control sequences out of 15000+600000
+ 7069 words of font info for 25 fonts, out of 8000000 for 9000
+ 36 hyphenation exceptions out of 8191
+ 41i,5n,25p,479b,141s stack positions out of 5000i,500n,10000p,200000b,80000s
+
+Output written on "JETServer Concepts.pdf" (16 pages, 122185 bytes).
+PDF statistics:
+ 79 PDF objects out of 1000 (max. 8388607)
+ 53 compressed objects within 1 object stream
+ 0 named destinations out of 1000 (max. 500000)
+ 6 words of extra memory for PDF output out of 10000 (max. 10000000)
+
diff --git a/JETServer Concepts.pdf b/docs/JETServer Concepts.pdf
similarity index 61%
rename from JETServer Concepts.pdf
rename to docs/JETServer Concepts.pdf
index 05874ce..282b610 100644
Binary files a/JETServer Concepts.pdf and b/docs/JETServer Concepts.pdf differ
diff --git a/docs/JETServer Concepts.synctex.gz b/docs/JETServer Concepts.synctex.gz
new file mode 100644
index 0000000..8a35b2a
Binary files /dev/null and b/docs/JETServer Concepts.synctex.gz differ
diff --git a/JETServer Concepts.tex b/docs/JETServer Concepts.tex
similarity index 95%
rename from JETServer Concepts.tex
rename to docs/JETServer Concepts.tex
index 9633f9d..43372d1 100644
--- a/JETServer Concepts.tex
+++ b/docs/JETServer Concepts.tex
@@ -1,5 +1,6 @@
\documentclass[10pt]{book}
-
+\usepackage{graphics}
+\graphicspath{/home/barant/HTTPServer/images}
\begin{document}
\begin{titlepage}
@@ -8,9 +9,6 @@
\textbf{JETServer Concepts}
- \vspace{0.5cm}
- JETServer Concepts
-
\vspace{1.5cm}
\textbf{Bradford M. Arant Sr.}
@@ -61,6 +59,8 @@ TABLE elements can also be specified in a view.
Javascript code can be attached to components within the view or to the view itself. Custom components can be built that plug into the layout tool environment and can be designed into the application environment with prebuilt behaviors. Complex display control can be constructed using these tools.
+Views can optionally contain a \emph{subview} element that can be used to provide a placeholder for subsequent view requests. When these are provided inside a view the view will act as a template that can encapsulate the subview.
+
\subsection{View Data Sources}
Data is available to be displayed and represented that is only available when the views are rendered. Sources of this data are as follows:
@@ -166,6 +166,9 @@ JETServer is utilizing the ServerCore library to implement the TCP networking re
Written in C++ JETServer is designed for performance at all levels of the technical implementation. Using the core namespace along with the http namespace to create the basic core functionality JETServer provides a framework in which to create complete work flow patterns required to build complex applications.
+\includegraphics{images/classcore_1_1_socket__inherit__graph.png}
+
+
\chapter{User Interfaces and Tools}
\section{View Layout Editor}
@@ -176,12 +179,14 @@ Development of a theme editor provides ability to allow user to set various them
The designed view layouts can be saved to create a view library and are usually associated to an entity and placed into the workflow storyboard.
-In order to create a subfunctionlity within a view you can add the request object into the view layouts. As these layouts are rendered to the browser they willmake their subsequent requests to the server keeping the event chain alive for the initiating or root request object.
+In order to create a subfunctionlity within a view you can add the request object into the view layouts. As these layouts are rendered to the browser they will make their subsequent requests to the server keeping the event chain alive for the initiating or root request object.
\section{Business Entity Editor}
The Business Entity Editor provides a work management area to create and maintain business entity related data and the relationship between them. A repository provides for linking together data description elements with views and work flow elements to create a feature rich base to construct highly capable work flows for business and function.
+Business Entities can have work flow processes attached to them. Processes can be developed to interact with other entity work flows using an advanced event management system.
+
\section{Storyboard Editor}
The Storyboard Editor provides the designer the ability to layout the pages and their components and design the flow relationships between the elements. As designs require extending the control elements of various views the storyboard editor keeps track of the request branching and allows the designer to maintain control over the hierarchical flow elements of the UI design.
diff --git a/JETServer Concepts.toc b/docs/JETServer Concepts.toc
similarity index 97%
rename from JETServer Concepts.toc
rename to docs/JETServer Concepts.toc
index 65b8d25..d4257c6 100644
--- a/JETServer Concepts.toc
+++ b/docs/JETServer Concepts.toc
@@ -6,7 +6,7 @@
\contentsline {section}{\numberline {1.4}Forms}{7}
\contentsline {section}{\numberline {1.5}Image Library}{7}
\contentsline {section}{\numberline {1.6}Work Flow Networks}{7}
-\contentsline {section}{\numberline {1.7}Requests}{7}
+\contentsline {section}{\numberline {1.7}Requests}{8}
\contentsline {section}{\numberline {1.8}Business Entities}{8}
\contentsline {section}{\numberline {1.9}Microservice Methods}{8}
\contentsline {section}{\numberline {1.10}URIs}{9}
diff --git a/docs/html/____configure_8h_source.html b/docs/html/____configure_8h_source.html
new file mode 100644
index 0000000..db55f35
--- /dev/null
+++ b/docs/html/____configure_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__configure.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef ____configure_h__ 2 #define ____configure_h__ 8 int processCommand(std::string request, core::Session *session,
HTTPSession *httpSession,
HTTPRequest &httpRequest, std::stringstream &data)
override {
10 data <<
"<form name=\"configure\" action=\"setupadmin\" method=\"POST\">" << std::endl;
11 data <<
" <div class=\"window\"><h1>System Configuration</h1>" << std::endl;
12 data <<
"" << std::endl;
13 data <<
" <div style=\"border: 1pt solid white; padding: 3px; margin-bottom: 5px;\">" << std::endl;
14 data <<
" <div>Web Domain Name:</div>" << std::endl;
15 data <<
" <input type=\"text\" name=\"domainname\" size=\"30\">" << std::endl;
16 data <<
" </div>" << std::endl;
17 data <<
" <div style=\"border: 1pt solid white; padding: 3px; margin-bottom: 5px;\">" << std::endl;
18 data <<
" <div>View Directory:</div>" << std::endl;
19 data <<
" <input type=\"text\" name=\"viewdirectory\" size=\"30\">" << std::endl;
20 data <<
" </div>" << std::endl;
21 data <<
" <div style=\"border: 1pt solid white; padding: 3px; margin-bottom: 5px;\">" << std::endl;
22 data <<
" <div>Image Library Directory:</div>" << std::endl;
23 data <<
" <input type=\"password\" name=\"imagelibrary\" size=\"30\">" << std::endl;
24 data <<
" </div>" << std::endl;
25 data <<
" <br><br>Session Id: " << httpSession->getSessionId() <<
"" << std::endl;
26 data <<
" <br>The configuration has not yet been established for this web site.</p>" << std::endl;
27 data <<
" <input type=\"button\" onmousedown=\"process('/mainmenu','configure', 'main'); return true;\" name=\"button1\" value=\"Update Configuration\">" << std::endl;
28 data <<
" </div></form>" << std::endl;
30 httpRequest.response.addHeader(
"Content-Type" ,
"text/html" );
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
+
+
+
+
+
diff --git a/docs/html/____editview_8h_source.html b/docs/html/____editview_8h_source.html
new file mode 100644
index 0000000..64ce66f
--- /dev/null
+++ b/docs/html/____editview_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__editview.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef ____editview_h__ 2 #define ____editview_h__ 10 int processCommand(std::string request, core::Session *session,
HTTPSession *httpSession,
HTTPRequest &httpRequest, std::stringstream &data)
override {
12 data <<
" <div style=\"position: relative;\">" << std::endl;
13 data <<
"" << std::endl;
14 data <<
" <div id=\"window1\" style=\"position: absolute; left: 0px; top: 0px; border: 1pt solid black; display: inline-block; padding: 2px; background: #808080; color: #ffffff;\">" << std::endl;
15 data <<
"" << std::endl;
16 data <<
" <span style=\"font: 20px bebasneue;\">View Editor</span>" << std::endl;
17 data <<
"" << std::endl;
18 data <<
" <div id=\"mainpage\" " << std::endl;
19 data <<
" style=\"width: 600px; height: 600px; border: 1px solid black; position: relative; background: #ffffff;\" " << std::endl;
20 data <<
" onmousemove=\"mousemove(event); return true;\" " << std::endl;
21 data <<
" onmouseup=\"mouseup(); return true;\">" << std::endl;
22 data <<
"" << std::endl;
23 data <<
" <canvas id=\"grid\" width=\"600px\" height=\"600px\" style=\"position: absolute; left: 0px; top: 0px; alpha: 0.5; cursor: normal;\"></canvas>" << std::endl;
24 data <<
"" << std::endl;
26 data <<
"<div id=\"__workspace__\"></div>" << std::endl;
28 data <<
"" << std::endl;
29 data <<
" <div id=\"window3\" style=\"position:absolute; top: 235px; left: 610px;" << std::endl;
30 data <<
" border: 1pt solid black; display: inline-block; padding: 2px; background: #808080; color: #ffffff;\">" << std::endl;
31 data <<
"" << std::endl;
32 data <<
" <span style=\"font: 20px bebasneue;\">OPTIONS</span>" << std::endl;
33 data <<
"" << std::endl;
34 data <<
" <div style=\"width: 150px; height: 300px; color: #000000; border: 1px solid black; position: relative; background: #ffffff;\" " << std::endl;
35 data <<
" onmousemove=\"mousemove(event); return true;\" " << std::endl;
36 data <<
" onmouseup=\"mouseup(); return true;\"> " << std::endl;
37 data <<
"" << std::endl;
38 data <<
" <div id=\"controls\">" << std::endl;
39 data <<
" <input type=\"checkbox\" name=\"grid\" onchange=\"showGrid = this.checked; drawGrid(); return true;\"><span style=\"font: 12px bebasneue; margin-bottom: 2px;\">Show Grid</span><br>" << std::endl;
40 data <<
" <input type=\"checkbox\" name=\"snaptogrid\" onchange=\"snapToGrid = this.checked; return true;\"><span style=\"font: 12px bebasneue; margin-bottom: 2px;\">Snap To Grid</span><br>" << std::endl;
41 data <<
" <span style=\"font: 12px bebasneue; margin-bottom: 2px;\">Grid Size: </span><input type=\"text\" name=\"gridsize\" id=\"gridsize\" style=\"width: 20px;\" size=\"3\" onchange=\"gridSize = parseInt(this.value); drawGrid(); return true;\"><br>" << std::endl;
42 data <<
" </div>" << std::endl;
43 data <<
"" << std::endl;
44 data <<
" <div id=\"itemparameters\" style=\"font: 12px bebasneue;\"></div>" << std::endl;
45 data <<
"" << std::endl;
46 data <<
" <div id=\"data\" style=\"font: 12px bebasneue;\">" << std::endl;
47 data <<
" <p>NO DATA</p>" << std::endl;
48 data <<
" </div>" << std::endl;
49 data <<
"" << std::endl;
50 data <<
" </div>" << std::endl;
51 data <<
" </div>" << std::endl;
52 data <<
"" << std::endl;
53 data <<
"" << std::endl;
54 data <<
" <div id=\"window2\" style=\"position:absolute; top: 0px; left: 610px; border: 1pt solid black; display: inline-block; padding: 2px; background: #808080; color: #ffffff;\">" << std::endl;
55 data <<
"" << std::endl;
56 data <<
" <span style=\"font: 20px bebasneue;\">Toolbar</span>" << std::endl;
57 data <<
"" << std::endl;
58 data <<
" <div id=\"toolbar\" " << std::endl;
59 data <<
" style=\"width: 80px; height: 200px; border: 1px solid black; position: relative; background: #ffffff;\" " << std::endl;
60 data <<
" onmousemove=\"mousemove(event); return true;\" " << std::endl;
61 data <<
" onmouseup=\"mouseup(); return true;\">" << std::endl;
62 data <<
" <button id=\"button1\" " << std::endl;
63 data <<
" style=\"width: 40px; height: 40px; border: 2px solid green; position: absolute;\"" << std::endl;
64 data <<
" onmousedown=\"mousedown(this, event); return true;\">Press</button>" << std::endl;
65 data <<
"" << std::endl;
66 data <<
" </div>" << std::endl;
67 data <<
" </div>" << std::endl;
68 data <<
" " << std::endl;
69 data <<
" </div> " << std::endl;
70 data <<
"" << std::endl;
71 data <<
" <script>" << std::endl;
72 data <<
" var mainpage;" << std::endl;
73 data <<
" var result;" << std::endl;
74 data <<
" var mousedownx;" << std::endl;
75 data <<
" var mousedowny;" << std::endl;
76 data <<
" var mouseDownWidth;" << std::endl;
77 data <<
" var mouseDownHeight;" << std::endl;
78 data <<
" var ismousedown = false;" << std::endl;
79 data <<
" var dragobject;" << std::endl;
80 data <<
" var dragHint = \"move\";" << std::endl;
81 data <<
" var data;" << std::endl;
82 data <<
" var showGrid = false;" << std::endl;
83 data <<
" var snapToGrid = false;" << std::endl;
84 data <<
" var gridSize = 10;" << std::endl;
85 data <<
" var selected;" << std::endl;
86 data <<
" var itemparameters;" << std::endl;
87 data <<
"" << std::endl;
88 data <<
" mainpage = document.getElementById(\"mainpage\");" << std::endl;
89 data <<
" data = document.getElementById(\"data\");" << std::endl;
90 data <<
" itemparameters = document.getElementById(\"itemparameters\");" << std::endl;
91 data <<
" var gridsize = document.getElementById(\"gridsize\");" << std::endl;
92 data <<
" gridsize.value = gridSize;" << std::endl;
93 data <<
" drawGrid();" << std::endl;
94 data <<
"" << std::endl;
95 data <<
" function drawGrid() {" << std::endl;
96 data <<
" var grid = document.getElementById(\"grid\");" << std::endl;
97 data <<
" var context = grid.getContext(\"2d\");" << std::endl;
98 data <<
" if(showGrid == true) {" << std::endl;
99 data <<
" context.clearRect(0,0,grid.width,grid.height);" << std::endl;
100 data <<
" context.globalAlpha = 0.2;" << std::endl;
101 data <<
" context.lineWidth = 0.5; " << std::endl;
102 data <<
" for(ix = 0; ix < grid.width; ix += gridSize) {" << std::endl;
103 data <<
" context.beginPath();" << std::endl;
104 data <<
" context.moveTo(ix, 0);" << std::endl;
105 data <<
" context.lineTo(ix, grid.height);" << std::endl;
106 data <<
" context.stroke();" << std::endl;
107 data <<
" context.beginPath();" << std::endl;
108 data <<
" context.moveTo(0, ix);" << std::endl;
109 data <<
" context.lineTo(grid.width, ix);" << std::endl;
110 data <<
" context.stroke(); " << std::endl;
111 data <<
" }" << std::endl;
112 data <<
" } else {" << std::endl;
113 data <<
" context.clearRect(0,0,grid.width,grid.height);" << std::endl;
114 data <<
" }" << std::endl;
115 data <<
" }" << std::endl;
116 data <<
"" << std::endl;
117 data <<
" function setDragHint(hint) {" << std::endl;
118 data <<
" dragHint = hint;" << std::endl;
119 data <<
" }" << std::endl;
120 data <<
" " << std::endl;
121 data <<
" function getMouseX(e) {" << std::endl;
122 data <<
" return e.clientX - mainpage.offsetLeft - parseFloat(mainpage.style.borderWidth);" << std::endl;
123 data <<
" }" << std::endl;
124 data <<
" " << std::endl;
125 data <<
" function getMouseY(e) {" << std::endl;
126 data <<
" return e.clientY - mainpage.offsetTop - parseFloat(mainpage.style.borderWidth);" << std::endl;
127 data <<
" }" << std::endl;
128 data <<
"" << std::endl;
129 data <<
" function mousedown(obj, e) {" << std::endl;
130 data <<
" var mouseX = getMouseX(e);" << std::endl;
131 data <<
" var mouseY = getMouseY(e);" << std::endl;
132 data <<
" mousedownx = mouseX - obj.offsetLeft;" << std::endl;
133 data <<
" mousedowny = mouseY - obj.offsetTop;" << std::endl;
134 data <<
" mouseDownLeft = parseFloat(obj.style.left);" << std::endl;
135 data <<
" mouseDownTop = parseFloat(obj.style.top);" << std::endl;
136 data <<
" mouseDownWidth = parseFloat(obj.style.width);" << std::endl;
137 data <<
" mouseDownHeight = parseFloat(obj.style.height);" << std::endl;
138 data <<
" dragobject = obj;" << std::endl;
139 data <<
" selected = obj;" << std::endl;
140 data <<
" ismousedown = true;" << std::endl;
141 data <<
" displayParameters();" << std::endl;
142 data <<
" }" << std::endl;
143 data <<
" " << std::endl;
144 data <<
" function mouseup() {" << std::endl;
145 data <<
" ismousedown = false;" << std::endl;
146 data <<
" dragobject = null;" << std::endl;
147 data <<
" console.log(mainpage.innerHTML);" << std::endl;
148 data <<
" }" << std::endl;
149 data <<
"" << std::endl;
150 data <<
" function mousemove(e) {" << std::endl;
151 data <<
" var mouseX = getMouseX(e);" << std::endl;
152 data <<
" var mouseY = getMouseY(e);" << std::endl;
153 data <<
" if(ismousedown) {" << std::endl;
154 data <<
" " << std::endl;
155 data <<
" if(dragHint == \"move\") {" << std::endl;
156 data <<
" if(snapToGrid == false) {" << std::endl;
157 data <<
" dragobject.style.left = (mouseX - mousedownx) + \"px\";" << std::endl;
158 data <<
" dragobject.style.top = (mouseY - mousedowny) + \"px\";" << std::endl;
159 data <<
" } else {" << std::endl;
160 data <<
" dragobject.style.left = (Math.round((mouseX - mousedownx) / gridSize) * gridSize) + \"px\";" << std::endl;
161 data <<
" dragobject.style.top = (Math.round((mouseY - mousedowny) / gridSize) * gridSize) + \"px\";" << std::endl;
162 data <<
" }" << std::endl;
163 data <<
" if((mouseX - mousedownx) < 0)" << std::endl;
164 data <<
" dragobject.style.left = \"0px\";" << std::endl;
165 data <<
" if((mouseY - mousedowny) < 0)" << std::endl;
166 data <<
" dragobject.style.top = \"0px\";" << std::endl;
167 data <<
" if((mouseX - mousedownx + parseFloat(dragobject.style.width)) > parseFloat(mainpage.style.width)) " << std::endl;
168 data <<
" dragobject.style.left = (mouseX - mousedownx) + \"px\"; " << std::endl;
169 data <<
" } else if(dragHint == \"rightbottomresize\") { " << std::endl;
170 data <<
" dragobject.style.width = (mouseX - mouseDownLeft) + \"px\";" << std::endl;
171 data <<
" dragobject.style.height = (mouseY - mouseDownTop) + \"px\";" << std::endl;
172 data <<
" } else if(dragHint == \"rightresize\") { " << std::endl;
173 data <<
" if(snapToGrid == false) {" << std::endl;
174 data <<
" dragobject.style.width = (mouseX - mouseDownLeft) + \"px\"; " << std::endl;
175 data <<
" } else {" << std::endl;
176 data <<
" dragobject.style.width = (Math.round((mouseX - mouseDownLeft) / gridSize) * gridSize) + \"px\"; " << std::endl;
177 data <<
" }" << std::endl;
178 data <<
" } else if(dragHint == \"bottomresize\") { " << std::endl;
179 data <<
" if(snapToGrid == false) {" << std::endl;
180 data <<
" dragobject.style.height = (mouseY - mouseDownTop) + \"px\";" << std::endl;
181 data <<
" } else {" << std::endl;
182 data <<
" dragobject.style.height = (Math.round((mouseY - mouseDownTop) / gridSize) * gridSize) + \"px\";" << std::endl;
183 data <<
" }" << std::endl;
184 data <<
" } else if(dragHint == \"leftresize\") { " << std::endl;
185 data <<
" dragobject.style.left = mouseX + \"px\";" << std::endl;
186 data <<
" dragobject.style.width = (mouseDownWidth + (mouseDownLeft - mouseX)) + \"px\";" << std::endl;
187 data <<
" } else if(dragHint == \"topresize\") { " << std::endl;
188 data <<
" dragobject.style.top = mouseY + \"px\";" << std::endl;
189 data <<
" dragobject.style.height = (mouseDownHeight + (mouseDownTop - mouseY)) + \"px\";" << std::endl;
190 data <<
" }" << std::endl;
191 data <<
" " << std::endl;
192 data <<
" data.innerHTML = \"<p>\" + dragobject.nodeName + \"<br>\" + " << std::endl;
193 data <<
" \"Action: \" + dragHint + \"<br>\" +" << std::endl;
194 data <<
" \"MouseLocation: \" + mouseX + \":\" + mouseY + \"<br>\" +" << std::endl;
195 data <<
" \"MouseOver Location: \" + (mouseX - dragobject.offsetLeft) + \":\" + (mouseY - dragobject.offsetTop) + \"<br>\" + " << std::endl;
196 data <<
" \"Location: \" + dragobject.style.left + \":\" + dragobject.style.top + \"<br>\" + " << std::endl;
197 data <<
" \"Size: \" + dragobject.style.width + \":\" + dragobject.style.height + \"<br>\" + " << std::endl;
198 data <<
" \"</p>\";" << std::endl;
199 data <<
" " << std::endl;
200 data <<
"" << std::endl;
201 data <<
" } else {" << std::endl;
202 data <<
" var mouseabove = document.elementFromPoint(mouseX + mainpage.offsetLeft, mouseY + mainpage.offsetTop);" << std::endl;
203 data <<
"" << std::endl;
204 data <<
" if((mouseabove.id != \"mainpage\") && (mouseabove.id != \"grid\")) {" << std::endl;
205 data <<
" " << std::endl;
206 data <<
" data.innerHTML = \"<p>\" + mouseabove.nodeName + \"<br>\" + " << std::endl;
207 data <<
" \"Action: \" + dragHint + \"<br>\" +" << std::endl;
208 data <<
" \"MouseLocation: \" + mouseX + \":\" + mouseY + \"<br>\" +" << std::endl;
209 data <<
" \"MouseOver Location: \" + (mouseX - mouseabove.offsetLeft) + \":\" + (mouseY - mouseabove.offsetTop) + \"<br>\" + " << std::endl;
210 data <<
" \"Location: \" + mouseabove.style.left + \":\" + mouseabove.style.top + \"<br>\" + " << std::endl;
211 data <<
" \"Size: \" + mouseabove.style.width + \":\" + mouseabove.style.height + \"<br>\" + " << std::endl;
212 data <<
" \"</p>\";" << std::endl;
213 data <<
" " << std::endl;
214 data <<
" if((mouseabove.nodeName == \"DIV\") || " << std::endl;
215 data <<
" (mouseabove.nodeName == \"IMG\") || " << std::endl;
216 data <<
" (mouseabove.nodeName == \"BUTTON\") ||" << std::endl;
217 data <<
" (mouseabove.nodeName == \"INPUT\") ||" << std::endl;
218 data <<
" (mouseabove.nodeName == \"SPAN\")) {" << std::endl;
219 data <<
" " << std::endl;
220 data <<
" if((parseFloat(mouseabove.style.width) <= (mouseX - mouseabove.offsetLeft)) && " << std::endl;
221 data <<
" (parseFloat(mouseabove.style.height) <= (mouseY - mouseabove.offsetTop))) {" << std::endl;
222 data <<
" mouseabove.style.cursor = \"nwse-resize\";" << std::endl;
223 data <<
" dragHint = \"rightbottomresize\"; " << std::endl;
224 data <<
" } else if((parseFloat(mouseabove.style.left) <= (mouseX - mouseabove.offsetLeft)) && " << std::endl;
225 data <<
" ((parseFloat(mouseabove.style.borderWidth) + 2) >= (mouseY - mouseabove.offsetTop))) {" << std::endl;
226 data <<
" mouseabove.style.cursor = \"nesw-resize\";" << std::endl;
227 data <<
" dragHint = \"righttopresize\"; " << std::endl;
228 data <<
" } else if(((parseFloat(mouseabove.style.borderWidth) + 2) >= (mouseX - mouseabove.offsetLeft)) && " << std::endl;
229 data <<
" (parseFloat(mouseabove.style.height) <= (mouseY - mouseabove.offsetTop))) {" << std::endl;
230 data <<
" mouseabove.style.cursor = \"nesw-resize\";" << std::endl;
231 data <<
" dragHint = \"leftbottomresize\"; " << std::endl;
232 data <<
" } else if(parseFloat(mouseabove.style.width) <= (mouseX - mouseabove.offsetLeft)) {" << std::endl;
233 data <<
" mouseabove.style.cursor = \"ew-resize\";" << std::endl;
234 data <<
" dragHint = \"rightresize\";" << std::endl;
235 data <<
" } else if(parseFloat(mouseabove.style.height) <= (mouseY - mouseabove.offsetTop)) {" << std::endl;
236 data <<
" mouseabove.style.cursor = \"ns-resize\";" << std::endl;
237 data <<
" dragHint = \"bottomresize\";" << std::endl;
238 data <<
" } else if((parseFloat(mouseabove.style.borderWidth) + 2) >= (mouseX - mouseabove.offsetLeft)) {" << std::endl;
239 data <<
" mouseabove.style.cursor = \"ew-resize\";" << std::endl;
240 data <<
" dragHint = \"leftresize\";" << std::endl;
241 data <<
" } else if((parseFloat(mouseabove.style.borderWidth) + 2) >= (mouseY - mouseabove.offsetTop)) {" << std::endl;
242 data <<
" mouseabove.style.cursor = \"ns-resize\";" << std::endl;
243 data <<
" dragHint = \"topresize\";" << std::endl;
244 data <<
" } else {" << std::endl;
245 data <<
" mouseabove.style.cursor = \"move\";" << std::endl;
246 data <<
" dragHint = \"move\";" << std::endl;
247 data <<
" }" << std::endl;
248 data <<
" } else {" << std::endl;
249 data <<
" mouseabove.style.cursor = \"default\";" << std::endl;
250 data <<
" }" << std::endl;
251 data <<
" } else {" << std::endl;
252 data <<
" mouseabove.style.cursor = \"default\";" << std::endl;
253 data <<
" dragHint = \"\";" << std::endl;
254 data <<
" data.innerHTML = \"<p></p>\";" << std::endl;
255 data <<
" }" << std::endl;
256 data <<
" }" << std::endl;
257 data <<
" displayParameters();" << std::endl;
258 data <<
" }" << std::endl;
259 data <<
" " << std::endl;
260 data <<
" function displayParameters() {" << std::endl;
261 data <<
"" << std::endl;
262 data <<
" itemparameters.innerHTML = \"<p>\" + selected.nodeName + \": \" + selected.id + \"<br>\" + " << std::endl;
263 data <<
" \"Location: \" + selected.style.left + \":\" + selected.style.top + \"<br>\" + " << std::endl;
264 data <<
" \"Size: \" + selected.style.width + \":\" + selected.style.height + \"<br>\" + " << std::endl;
265 data <<
" \"</p>\";" << std::endl;
266 data <<
"" << std::endl;
267 data <<
" }" << std::endl;
268 data <<
"</script>" << std::endl;
270 httpRequest.response.addHeader(
"Content-Type" ,
"script/javascript" );
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: __editview.h:8
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/____favicon__ico_8h_source.html b/docs/html/____favicon__ico_8h_source.html
new file mode 100644
index 0000000..4616753
--- /dev/null
+++ b/docs/html/____favicon__ico_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__favicon_ico.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef ____favicon_ico_h__ 2 #define ____favicon_ico_h__ 10 int processCommand(std::string request,
11 core::Session *session,
14 std::stringstream &data)
override {
16 data << std::string(header_data, 806);
18 httpRequest.response.addHeader(
"Content-Type" ,
"image/x-icon" );
22 const char *header_data = {
"\x00\x00\x01\x00\x01\x00\x20\x20\x00\x00\x01\x00\x08\x00\xA8\x08\x00" 23 "\x00\x16\x00\x00\x00\x28\x00\x00\x00\x20\x00\x00\x00\x40\x00\x00\x00" 24 "\x01\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 25 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF0\x99\x20\x00\xF0\x99" 26 "\x21\x00\xF0\x99\x22\x00\xF0\x9A\x23\x00\xF0\x9A\x24\x00\xF0\x9A\x25" 27 "\x00\xF0\x9A\x26\x00\xF0\x9A\x28\x00\xF0\x9A\x29\x00\xF0\x9B\x26\x00" 28 "\xF0\x9B\x28\x00\xF0\x9B\x29\x00\xF0\x9B\x2A\x00\xF0\x9B\x2B\x00\xF0" 29 "\x9C\x28\x00\xF0\x9C\x29\x00\xF0\x9B\x2D\x00\xF0\x9C\x2A\x00\xF0\x9C" 30 "\x2B\x00\xF0\x9C\x2F\x00\xF0\x9C\x30\x00\xF0\x9C\x31\x00\xF0\x9C\x33" 31 "\x00\xF0\x9D\x32\x00\xF1\x9D\x36\x00\xF0\x9D\x37\x00\xF0\x9D\x38\x00" 32 "\xF1\x9E\x35\x00\xF1\x9E\x38\x00\xF1\x9F\x39\x00\xF1\x9F\x3E\x00\xF1" 33 "\xA0\x41\x00\xF1\xA0\x42\x00\xF1\xA1\x40\x00\xF1\xA0\x44\x00\xF1\xA2" 34 "\x3E\x00\xF1\xA1\x45\x00\xF1\xA1\x46\x00\xF1\xA1\x47\x00\xF1\xA1\x48" 35 "\x00\xF1\xA2\x45\x00\xF1\xA3\x49\x00\xF1\xA3\x4D\x00\xF1\xA4\x4B\x00" 36 "\xF1\xA3\x4F\x00\xF1\xA4\x4F\x00\xF1\xA4\x50\x00\xF1\xA4\x51\x00\xF1" 37 "\xA4\x52\x00\xF1\xA5\x4F\x00\xF2\xA5\x4F\x00\xF1\xA6\x54\x00\xF2\xA6" 38 "\x54\x00\xF2\xA6\x57\x00\xF2\xA6\x58\x00\xF2\xA7\x55\x00\xF2\xA7\x58" 39 "\x00\xF2\xA7\x59\x00\xF2\xA7\x5B\x00\xF2\xAA\x5A\x00\xF2\xA9\x60\x00" 40 "\xF2\xAA\x61\x00\xF2\xAB\x64\x00\xF2\xAB\x66\x00\xF2\xAD\x65\x00\xF2" 41 "\xAC\x69\x00\xF2\xAD\x69\x00\xF2\xAD\x6B\x00\xF3\xAE\x6C\x00\xF2\xAE" 42 "\x6E\x00\xF3\xAE\x6E\x00\xF3\xAF\x6F\x00\xF3\xAF\x70\x00\xF3\xAF\x71" 43 "\x00\xF3\xB0\x72\x00\xF3\xB2\x76\x00\xF3\xB2\x77\x00\xF3\xB3\x79\x00" 44 "\xF3\xB4\x7A\x00\xF3\xB4\x7B\x00\xF3\xB4\x7C\x00\xF3\xB4\x7D\x00\xF3" 45 "\xB5\x7C\x00\xF3\xB5\x7D\x00\xF3\xB5\x7F\x00\xF4\xB6\x80\x00\xF4\xB7" 46 "\x81\x00\xF4\xB7\x82\x00\xF4\xB7\x83\x00\xF4\xB8\x83\x00\xF4\xB8\x84" 47 "\x00\xF4\xB9\x84\x00\xF4\xB9\x85\x00\xF4\xB9\x86\x00\xF4\xB9\x87\x00" 48 "\xF4\xBB\x89\x00\xF4\xBB\x8C\x00\xF4\xBC\x8C\x00\xF4\xBC\x8D\x00\xF4" 49 "\xBD\x8E\x00\xF4\xBD\x8F\x00\xF4\xBD\x90\x00\xF5\xBE\x90\x00\xF5\xBF" 50 "\x94\x00\xF5\xC0\x94\x00\xF5\xC0\x95\x00\xF5\xC0\x96\x00\xF5\xC2\x98" 51 "\x00\xF5\xC3\x9C\x00\xF5\xC4\x9D\x00\xF5\xC4\x9E\x00\xF6\xC5\xA0\x00" 52 "\xF6\xC6\xA0\x00\xF6\xC6\xA1\x00\xF6\xC6\xA2\x00\xF6\xC7\xA2\x00\xF6" 53 "\xC7\xA3\x00\xF6\xC7\xA4\x00\xF6\xC8\xA4\x00\xF6\xC8\xA5\x00\xF6\xC8" 54 "\xA6\x00\xF6\xC9\xA5\x00\xF6\xCA\xA9\x00\xF6\xCB\xAA\x00\xF7\xCC\xAC" 55 "\x00\xF7\xCC\xAD\x00\xF7\xCD\xAD\x00\xF7\xCD\xAE\x00\xF7\xCE\xAD\x00" 56 "\xF7\xCE\xAF\x00\xF7\xCE\xB0\x00\xF7\xCF\xB0\x00\xF7\xCF\xB1\x00\xF7" 57 "\xCF\xB2\x00\xF7\xD0\xB4\x00\xF7\xD1\xB3\x00\xF7\xD1\xB4\x00\xF7\xD1" 58 "\xB5\x00\xF7\xD1\xB6\x00\xF7\xD2\xB7\x00\xF8\xD3\xB8\x00\xF8\xD3\xB9" 59 "\x00\xF8\xD4\xB9\x00\xF8\xD5\xBB\x00\xF8\xD5\xBC\x00\xF8\xD5\xBD\x00" 60 "\xF8\xD6\xBC\x00\xF8\xD6\xBD\x00\xF8\xD7\xBE\x00\xF8\xD7\xBF\x00\xF8" 61 "\xD8\xBF\x00\xF8\xD8\xC0\x00\xF9\xDC\xC8\x00\xF9\xDD\xC8\x00\xF9\xDD" 62 "\xC9\x00\xF9\xDD\xCA\x00\xF9\xDF\xCC\x00\xFA\xDF\xCC\x00\xFA\xDF\xCD" 63 "\x00\xFA\xE0\xCE\x00\xFA\xE1\xCF\x00\xFA\xE1\xD0\x00\xFA\xE2\xD0\x00" 64 "\xFA\xE2\xD2\x00\xFA\xE3\xD2\x00\xFB\xE5\xD6\x00\xFB\xE6\xD7\x00\xFB" 65 "\xE8\xDB\x00\xFB\xE9\xDB\x00\xFB\xE9\xDC\x00\xFB\xEA\xDE\x00\xFC\xED" 66 "\xE2\x00\xFC\xED\xE3\x00\xFC\xEE\xE4\x00\xFC\xEF\xE5\x00\xFC\xEF\xE6" 67 "\x00\xFC\xF0\xE7\x00\xFC\xF1\xE9\x00\xFD\xF2\xEB\x00\xFD\xF3\xEB\x00" 68 "\xFD\xF3\xEC\x00\xFD\xF3\xED\x00\xFD\xF4\xED\x00\xFD\xF4\xEE\x00\xFD" 69 "\xF5\xEF\x00\xFD\xF6\xEF\x00\xFD\xF6\xF0\x00\xFE\xF7\xF1\x00\xFE\xF7" 70 "\xF2\x00\xFE\xF7\xF3\x00\xFE\xF8\xF4\x00\xFE\xF9\xF5\x00\xFE\xF9\xF6" 71 "\x00\xFE\xFA\xF7\x00\xFE\xFA\xF8\x00\xFE\xFB\xF8\x00\xFE\xFB\xF9\x00" 72 "\xFE\xFC\xF9\x00\xFE\xFC\xFA\x00\xFF\xFD\xFB\x00\xFF\xFD\xFC\x00\xFF" 73 "\xFE\xFC\x00\xFF\xFE\xFD\x00\xFF\xFE\xFE\x00\xFF\xFF\xFE\x00\xFF\xFF" 74 "\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 75 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 76 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 77 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 78 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 79 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 80 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 81 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 82 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 83 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 84 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 85 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xCD\xCD" 86 "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xC0\xA2\x75\x53\x2B\x0E\x12\x37\x58" 87 "\x7A\xA6\xC4\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD" 88 "\xCD\xCD\xCD\xCD\xB2\x74\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 89 "\x26\x7F\xBC\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD" 90 "\xC5\x7F\x13\x00\x00\x00\x2F\x6A\x82\x3E\x3E\x7D\x65\x1F\x00\x00\x00" 91 "\x1E\x94\xCA\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xB3\x47\x00" 92 "\x00\x15\x73\xAB\xCA\xCD\xCD\x5F\x5F\xCD\xCD\xC7\xA7\x67\x04\x00\x00" 93 "\x5E\xBE\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xAE\x30\x00\x00\x63\xB4" 94 "\xCD\xCD\xCD\xCD\xC9\x5B\x5C\xCA\xCD\xCD\xCD\xCD\xAD\x4D\x00\x00\x41" 95 "\xBA\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xB4\x30\x00\x08\x94\xCC\xCD\xCD\xB6" 96 "\x8A\x52\x17\x01\x02\x1D\x5E\x93\xBD\xCD\xCD\xC8\x7B\x01\x00\x43\xBF" 97 "\xCD\xCD\xCD\xCD\xCD\xC6\x49\x00\x07\x9F\xCD\xCD\xBE\x71\x0D\x00\x00" 98 "\x00\x00\x00\x00\x00\x00\x1A\x84\xC5\xCD\xCD\x8C\x00\x00\x64\xCC\xCD" 99 "\xCD\xCD\xCD\x82\x00\x00\x94\xCD\xCD\xAC\x39\x00\x00\x06\x5E\x87\x9B" 100 "\x98\x81\x4F\x00\x00\x00\x48\xB7\xCD\xCD\x77\x00\x00\x9A\xCD\xCD\xCD" 101 "\xB4\x14\x00\x62\xCC\xCD\xAC\x20\x00\x03\x6F\xB7\xCD\xCD\xCD\xCD\xCD" 102 "\xCD\xB0\x60\x00\x00\x3A\xB8\xCD\xC6\x45\x00\x2D\xC2\xCD\xCD\x76\x00" 103 "\x10\xB4\xCD\xBE\x38\x00\x16\xA0\xCD\xCD\xCD\xC7\xB9\xBB\xCA\xCD\xCD" 104 "\xCC\x8F\x04\x00\x4C\xC7\xCD\xA7\x00\x00\x93\xCD\xC1\x1C\x00\x72\xCD" 105 "\xCD\x70\x00\x01\xA0\xCD\xCD\xB7\x70\x1F\x00\x00\x2A\x7E\xBE\xCD\xCD" 106 "\x8C\x00\x00\x90\xCD\xCD\x55\x00\x3F\xCB\xA4\x00\x00\xAB\xCD\xB3\x07" 107 "\x00\x71\xCD\xCD\xA9\x24\x00\x00\x00\x00\x00\x00\x3A\xB1\xCD\xCA\x56" 108 "\x00\x27\xC3\xCD\x9C\x00\x00\xAF\x77\x00\x2E\xCA\xCD\x86\x00\x0B\xB8" 109 "\xCD\xB6\x20\x00\x00\x00\x00\x00\x00\x00\x00\x3C\xC1\xCD\xAA\x00\x00" 110 "\x9E\xCD\xBE\x08\x00\x97\x54\x00\x6A\xCD\xCD\x4F\x00\x62\xCD\xCD\x6D" 111 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8B\xCD\xCB\x3C\x00\x6C\xCD" 112 "\xCD\x42\x00\x6E\x32\x00\x85\xCD\xC8\x11\x00\x8C\xCD\xC5\x14\x00\x00" 113 "\x00\x00\x00\x00\x00\x00\x00\x00\x42\xCD\xCD\x70\x00\x4A\xCD\xCD\x69" 114 "\x00\x5A\x0F\x00\x91\xCD\xBB\x00\x00\x4B\x6B\x66\x00\x00\x00\x00\x00" 115 "\x00\x00\x00\x00\x00\x00\x01\x80\x83\x50\x00\x23\xCD\xCD\x78\x00\x3B" 116 "\x0F\x00\x91\xCD\xBB\x00\x00\x33\x44\x3E\x00\x00\x00\x00\x00\x00\x00" 117 "\x00\x00\x00\x00\x00\x29\x28\x17\x00\x23\xCD\xCD\x78\x00\x40\x31\x00" 118 "\x85\xCD\xC8\x11\x00\x8D\xCD\xC5\x14\x00\x00\x00\x00\x00\x00\x00\x00" 119 "\x00\x00\x42\xCC\xCB\x6F\x00\x4A\xCD\xCD\x69\x00\x59\x54\x00\x6A\xCD" 120 "\xCD\x4E\x00\x62\xCD\xCD\x6D\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00" 121 "\x8B\xCD\xCB\x3D\x00\x6C\xCD\xCD\x42\x00\x6E\x76\x00\x2E\xCA\xCD\x86" 122 "\x00\x0B\xB8\xCD\xB5\x20\x00\x00\x00\x00\x00\x00\x00\x00\x3C\xC1\xCD" 123 "\xAA\x00\x00\x9D\xCD\xBE\x08\x00\x97\xA3\x00\x00\xAB\xCD\xB3\x07\x00" 124 "\x71\xCD\xCD\xA9\x22\x00\x00\x00\x00\x00\x00\x3A\xB1\xCD\xCA\x57\x00" 125 "\x26\xC3\xCD\x9D\x00\x00\xAF\xC1\x1C\x00\x73\xCD\xCD\x70\x00\x01\xA0" 126 "\xCD\xCD\xB7\x70\x1F\x00\x00\x2A\x7E\xBE\xCD\xCD\x8E\x00\x00\x8F\xCD" 127 "\xCD\x56\x00\x3F\xCB\xCD\x76\x00\x10\xB5\xCD\xBE\x35\x00\x16\xA0\xCD" 128 "\xCD\xCD\xC7\xB9\xBB\xCA\xCD\xCD\xCC\x92\x05\x00\x4C\xC7\xCD\xA8\x00" 129 "\x00\x93\xCD\xCD\xB4\x13\x00\x62\xCC\xCD\xAC\x20\x00\x03\x70\xB7\xCD" 130 "\xCD\xCD\xCD\xCD\xCD\xB0\x61\x00\x00\x3A\xB8\xCD\xC6\x45\x00\x2C\xC2" 131 "\xCD\xCD\xCD\x82\x00\x00\x95\xCD\xCD\xAC\x36\x00\x00\x09\x5E\x88\x9B" 132 "\x98\x81\x50\x00\x00\x00\x48\xB7\xCD\xCD\x79\x00\x00\x99\xCD\xCD\xCD" 133 "\xCD\xC6\x48\x00\x0A\x9F\xCD\xCD\xBE\x70\x0C\x00\x00\x00\x00\x00\x00" 134 "\x00\x00\x19\x84\xC5\xCD\xCD\x8C\x00\x00\x64\xCB\xCD\xCD\xCD\xCD\xCD" 135 "\xB3\x2F\x00\x08\x96\xCC\xCD\xCD\xB4\x89\x50\x17\x00\x02\x1C\x5D\x90" 136 "\xBC\xCD\xCD\xC8\x7B\x01\x00\x43\xBF\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xAE" 137 "\x2F\x00\x00\x64\xB5\xCD\xCD\xCD\xCD\xC8\x1D\x7C\xCA\xCD\xCD\xCD\xCD" 138 "\xAD\x4D\x00\x00\x41\xBA\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xB3\x46" 139 "\x00\x00\x16\x73\xAB\xCA\xCD\xCD\x21\x81\xCD\xCD\xC7\xA7\x68\x04\x00" 140 "\x00\x5D\xBE\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xC5\x7E\x13" 141 "\x00\x00\x00\x2F\x6A\x82\x1B\x51\x7E\x65\x20\x00\x00\x00\x1E\x94\xCA" 142 "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xB2\x73\x18" 143 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x7E\xBB\xCD\xCD\xCD\xCD" 144 "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xC0\xA1\x75" 145 "\x51\x2B\x0E\x12\x34\x58\x7A\xA5\xC4\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD" 146 "\xCD\xCD\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 147 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 148 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 149 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 150 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 151 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 152 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 153 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" };
Definition: HTTPSession.h:9
+
Definition: __favicon_ico.h:8
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/____index_8h_source.html b/docs/html/____index_8h_source.html
new file mode 100644
index 0000000..62d8054
--- /dev/null
+++ b/docs/html/____index_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__index.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
5 #include "HTTPRequest.h" 11 int processCommand(std::string request, core::Session *session,
HTTPSession *httpSession,
HTTPRequest &httpRequest, std::stringstream &data)
override {
13 data <<
"<html>" << std::endl;
14 data <<
" <head>" << std::endl;
15 data <<
" <link rel=\"icon\" type=\"image/x-icon\" href=\"/favicon.ico\" />" << std::endl;
16 data <<
" <link type=\"text/css\" rel=\"stylesheet\" href=\"/style\" />" << std::endl;
17 data <<
" <script src=\"/script\"></script>" << std::endl;
18 data <<
" </head>" << std::endl;
20 data <<
"<body ondragstart=\"return false;\" " << std::endl;
21 data <<
" ondrop=\"return false;\" " << std::endl;
22 data <<
" onLoad=\"getPage('/welcome','main');\">" << std::endl;
23 data <<
" <div id=\"main\">If you see this then something is wrong.</div>" << std::endl;
24 data <<
" </body>" << std::endl;
25 data <<
"</html>" << std::endl;
27 httpRequest.response.addHeader(
"Content-Type" ,
"text/html" );
Definition: HTTPSession.h:9
+
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/____mainmenu_8h_source.html b/docs/html/____mainmenu_8h_source.html
new file mode 100644
index 0000000..5cdc8a1
--- /dev/null
+++ b/docs/html/____mainmenu_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__mainmenu.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef ____mainmenu_h__ 2 #define ____mainmenu_h__ 10 int processCommand(std::string request,
11 core::Session *session,
14 std::stringstream &data)
override {
16 data <<
"<div>" << std::endl;
17 data <<
" <div style=\"background: #448; color: #fff; width: 400px; margin: 5px; padding: 5px; cursor: pointer;\"" << std::endl;
18 data <<
" onmousedown=\"getPage('/configure','main');\">" << std::endl;
19 data <<
" <span>Setup Server Parameters</span>" << std::endl;
20 data <<
" </div>" << std::endl;
21 data <<
" <div style=\"background: #448; color: #fff; width: 400px; margin: 5px; padding: 5px; cursor: pointer;\"" << std::endl;
22 data <<
" onmousedown=\"getPage('/viewlist','main');\">" << std::endl;
23 data <<
" <span>View and Layout Designer</span>" << std::endl;
24 data <<
" </div>" << std::endl;
25 data <<
" <div style=\"background: #448; color: #fff; width: 400px; margin: 5px; padding: 5px; cursor: pointer;\"" << std::endl;
26 data <<
" onmousedown=\"getPage('/viewlist','main');\">" << std::endl;
27 data <<
" <span>Data Entity Editor</span>" << std::endl;
28 data <<
" </div>" << std::endl;
29 data <<
" <div style=\"background: #448; color: #fff; width: 400px; margin: 5px; padding: 5px; cursor: pointer;\"" << std::endl;
30 data <<
" onmousedown=\"getPage('/viewlist','main');\">" << std::endl;
31 data <<
" <span>Work Flow Process Management</span>" << std::endl;
32 data <<
" </div>" << std::endl;
33 data <<
" <div style=\"background: #448; color: #fff; width: 400px; margin: 5px; padding: 5px; cursor: pointer;\"" << std::endl;
34 data <<
" onmousedown=\"getPage('/viewlist','main');\">" << std::endl;
35 data <<
" <span>Storyboard</span>" << std::endl;
36 data <<
" </div>" << std::endl;
37 data <<
"</div>" << std::endl;
39 httpRequest.response.addHeader(
"Content-Type" ,
"text/html" );
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: __mainmenu.h:8
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/____newview_8h_source.html b/docs/html/____newview_8h_source.html
new file mode 100644
index 0000000..915d245
--- /dev/null
+++ b/docs/html/____newview_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__newview.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef ____newview_h__ 2 #define ____newview_h__ 10 int processCommand(std::string request,
11 core::Session *session,
14 std::stringstream &data)
override {
17 httpRequest.response.addHeader(
"Content-Type" ,
"text/html" );
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
Definition: __newview.h:8
+
+
+
+
+
diff --git a/docs/html/____script_8h_source.html b/docs/html/____script_8h_source.html
new file mode 100644
index 0000000..bbb7e4a
--- /dev/null
+++ b/docs/html/____script_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__script.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
10 int processCommand(std::string request, core::Session *session,
HTTPSession *httpSession,
HTTPRequest &httpRequest, std::stringstream &data)
override {
12 data <<
"function serverSend(url, type, receiver, formData, callback) {" << std::endl;
13 data <<
" var server = new XMLHttpRequest();" << std::endl;
14 data <<
" server.onload = function() {" << std::endl;
15 data <<
" if(server.readyState == 4 && server.status == 200)" << std::endl;
16 data <<
" callback(server.responseText, receiver);" << std::endl;
17 data <<
" };" << std::endl;
18 data <<
" server.open(type, url, true);" << std::endl;
19 data <<
" server.send(formData);" << std::endl;
20 data <<
"}" << std::endl;
22 data <<
"function getPage(url, receiver) {" << std::endl;
23 data <<
" serverSend(url, \"GET\", receiver, null, function(data, receiver) {" << std::endl;
24 data <<
" insertAndExecute(receiver, data);" << std::endl;
25 data <<
" });" << std::endl;
26 data <<
"}" << std::endl;
28 data <<
"function process(url, formName, receiver) {" << std::endl;
29 data <<
" var formElement = document.querySelector(\"form[name='\" + formName + \"']\");" << std::endl;
30 data <<
" var formData = new FormData(formElement);" << std::endl;
31 data <<
" serverSend(url, \"POST\", receiver, formData, function(data, receiver) {" << std::endl;
32 data <<
" insertAndExecute(receiver, data);" << std::endl;
33 data <<
" });" << std::endl;
34 data <<
"}" << std::endl;
36 data <<
"function insertAndExecute(id, text) {" << std::endl;
37 data <<
" idresolved = document.getElementById(id);" << std::endl;
38 data <<
" idresolved.innerHTML = text;" << std::endl;
39 data <<
" var script = idresolved.getElementsByTagName(\"script\");" << std::endl;
40 data <<
" for(var ix=0;ix<script.length;ix++) {" << std::endl;
41 data <<
" eval(script[ix].text);" << std::endl;
42 data <<
" }" << std::endl;
43 data <<
"}" << std::endl;
45 httpRequest.response.addHeader(
"Content-Type" ,
"text/javascript" );
+
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/____setupadmin_8h_source.html b/docs/html/____setupadmin_8h_source.html
new file mode 100644
index 0000000..bff839b
--- /dev/null
+++ b/docs/html/____setupadmin_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__setupadmin.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef ____setupadmin_h__ 2 #define ____setupadmin_h__ 8 int processCommand(std::string request, core::Session *session,
HTTPSession *httpSession,
HTTPRequest &httpRequest, std::stringstream &data)
override {
10 data <<
"<form name=\"setupadmin\" action=\"setupadmin\" method=\"POST\">" << std::endl;
11 data <<
" <div class=\"window\"><p>Please enter credential information" << std::endl;
12 data <<
" for the security officer, then press Set Admin Profile button below:" << std::endl;
13 data <<
" <div style=\"border: 1pt solid white; padding: 3px; margin-bottom: 5px;\">" << std::endl;
14 data <<
" <div>User Name:</div>" << std::endl;
15 data <<
" <input type=\"text\" name=\"username\" size=\"30\">" << std::endl;
16 data <<
" </div>" << std::endl;
17 data <<
" <div style=\"border: 1pt solid white; padding: 3px; margin-bottom: 5px;\">" << std::endl;
18 data <<
" <div>Password:</div>" << std::endl;
19 data <<
" <input type=\"password\" name=\"password\" size=\"30\">" << std::endl;
20 data <<
" </div>" << std::endl;
21 data <<
" <div style=\"border: 1pt solid white; padding: 3px; margin-bottom: 5px;\">" << std::endl;
22 data <<
" <div>Verify Password:</div>" << std::endl;
23 data <<
" <input type=\"password\" name=\"verify\" size=\"30\">" << std::endl;
24 data <<
" </div>" << std::endl;
25 data <<
" <br><br>Session Id: " << httpSession->getSessionId() <<
"" << std::endl;
26 data <<
" <br>The configuration has not yet been established for this web site.</p>" << std::endl;
27 data <<
" <input type=\"button\" onmousedown=\"process('/mainmenu','setupadmin', 'main'); return true;\" name=\"button1\" value=\"Set Admin Profile\">" << std::endl;
28 data <<
" </div></form>" << std::endl;
30 httpRequest.response.addHeader(
"Content-Type" ,
"text/html" );
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
Definition: __setupadmin.h:6
+
+
+
+
+
diff --git a/docs/html/____style_8h_source.html b/docs/html/____style_8h_source.html
new file mode 100644
index 0000000..724458a
--- /dev/null
+++ b/docs/html/____style_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__style.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
10 int processCommand(std::string request, core::Session *session,
HTTPSession *httpSession,
HTTPRequest &httpRequest, std::stringstream &data)
override {
12 data <<
"body {background: #006;" << std::endl;
13 data <<
" color: #fff;" << std::endl;
14 data <<
" }" << std::endl;
16 data <<
".window {background: #668;" << std::endl;
17 data <<
" color: #fff;" << std::endl;
18 data <<
" border: 1pt solid #f00;" << std::endl;
19 data <<
" width: 400px;" << std::endl;
20 data <<
" padding: 15px;" << std::endl;
21 data <<
" }" << std::endl;
23 httpRequest.response.addHeader(
"Content-Type" ,
"text/css" );
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/____viewlist_8h_source.html b/docs/html/____viewlist_8h_source.html
new file mode 100644
index 0000000..fb844f6
--- /dev/null
+++ b/docs/html/____viewlist_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__viewlist.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef ____viewlist_h__ 2 #define ____viewlist_h__ 11 int processCommand(std::string request,
12 core::Session *session,
15 std::stringstream &data)
override {
17 coreutils::Directory directory(
"/home/bradarant/jetserver/views" );
19 data <<
"<div>" << std::endl;
21 data <<
" <div style=\"background: #484; color: #fff; width: 400px; margin: 5px; padding: 5px; cursor: pointer;\"" << std::endl;
22 data <<
" onmousedown=\"getPage('/newview','main');\">" << std::endl;
23 data <<
" <span>Create new view</span>" << std::endl;
24 data <<
" </div>" << std::endl;
26 while (!directory.eod()) {
28 if (directory.get().getName().substr(0, 1) ==
"." ) {
33 data <<
" <div style=\"background: #448; color: #fff; width: 400px; margin: 5px; padding: 5px; cursor: pointer;\"" << std::endl;
34 data <<
" onmousedown=\"getPage('/newview','main');\">" << std::endl;
35 data <<
" <span>" << directory.get().getName() <<
"</span>" << std::endl;
36 data <<
" </div>" << std::endl;
40 data <<
"</div>" << std::endl;
42 httpRequest.response.addHeader(
"Content-Type" ,
"text/html" );
Definition: __viewlist.h:9
+
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/____welcome_8h_source.html b/docs/html/____welcome_8h_source.html
new file mode 100644
index 0000000..5554edf
--- /dev/null
+++ b/docs/html/____welcome_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/__welcome.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef ____welcome_h__ 2 #define ____welcome_h__ 11 int processCommand(std::string request,
12 core::Session *session,
15 std::stringstream &data)
override {
17 data <<
"<div class=\"window\">\ 18 <p>You have successfully set up a JETServer.\ 19 <br>Session Id: " << httpSession->getSessionId() <<
"\ 20 <br>The configuration has not yet been established for this web site.</p>\ 21 <input type=\"button\" onmousedown=\"getPage('/setupadmin','main'); return true;\" name=\"button1\" value=\"Configure\">\ 24 httpRequest.response.addHeader(
"Content-Type" ,
"text/html" );
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
Definition: __welcome.h:9
+
+
+
+
+
diff --git a/docs/html/_h_t_t_p_handler_8h_source.html b/docs/html/_h_t_t_p_handler_8h_source.html
new file mode 100644
index 0000000..5b9b617
--- /dev/null
+++ b/docs/html/_h_t_t_p_handler_8h_source.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/HTTPHandler.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef __HTTPHandler_h__ 2 #define __HTTPHandler_h__ 13 int processCommand(std::string request, core::Session *session, std::stringstream &data)
override ;
Definition: HTTPHandler.h:10
+
Definition: __configure.h:4
+
+
+
+
+
diff --git a/docs/html/_h_t_t_p_page_8h_source.html b/docs/html/_h_t_t_p_page_8h_source.html
new file mode 100644
index 0000000..1c6621c
--- /dev/null
+++ b/docs/html/_h_t_t_p_page_8h_source.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/HTTPPage.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
4 #include "HTTPSession.h" 5 #include "HTTPRequest.h" 14 bool check(std::string request) {
16 if (name.length() > 0) {
25 virtual int processCommand(std::string request,
26 core::Session *session,
29 std::stringstream &data) {
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPPage.h:11
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/_h_t_t_p_page_list_8h_source.html b/docs/html/_h_t_t_p_page_list_8h_source.html
new file mode 100644
index 0000000..d9aefe9
--- /dev/null
+++ b/docs/html/_h_t_t_p_page_list_8h_source.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/HTTPPageList.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef __HTTPPageList_h__ 2 #define __HTTPPageList_h__ 5 #include "HTTPRequest.h" 8 #include "__editview.h" 10 #include "__setupadmin.h" 11 #include "__favicon_ico.h" 12 #include "__welcome.h" 13 #include "__mainmenu.h" 14 #include "__newview.h" 15 #include "__configure.h" 16 #include "__viewlist.h" 25 add(script,
"/script" );
26 add(editview,
"/editview" );
28 add(setupadmin,
"/setupadmin" );
29 add(favicon_ico,
"/favicon.ico" );
30 add(welcome,
"/welcome" );
31 add(mainmenu,
"/mainmenu" );
32 add(newview,
"/newview" );
33 add(configure,
"/configure" );
34 add(viewlist,
"/viewlist" );
37 bool processRequest(
HTTPRequest &httpRequest, core::Session *session,
HTTPSession *httpSession, std::stringstream &data);
39 void add(
HTTPPage &page, std::string name =
"" );
44 std::vector<HTTPPage *> pages;
+
Definition: __viewlist.h:9
+
Definition: HTTPSession.h:9
+
+
Definition: __favicon_ico.h:8
+
Definition: __configure.h:4
+
+
Definition: __mainmenu.h:8
+
Definition: HTTPPage.h:11
+
Definition: __editview.h:8
+
Definition: HTTPRequest.h:11
+
Definition: __newview.h:8
+
Definition: HTTPPageList.h:20
+
Definition: __setupadmin.h:6
+
+
Definition: __welcome.h:9
+
+
+
+
+
diff --git a/docs/html/_h_t_t_p_request_8h_source.html b/docs/html/_h_t_t_p_request_8h_source.html
new file mode 100644
index 0000000..3f634ab
--- /dev/null
+++ b/docs/html/_h_t_t_p_request_8h_source.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/HTTPRequest.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef __HTTPRequest_h__ 2 #define __HTTPRequest_h__ 5 #include "IMFMessage.h" 6 #include "IMFRequest.h" 7 #include "IMFResponse.h" 16 request = coreutils::IMFRequest(in);
20 coreutils::IMFRequest request;
21 coreutils::IMFResponse response;
Definition: __configure.h:4
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/_h_t_t_p_service_8h_source.html b/docs/html/_h_t_t_p_service_8h_source.html
new file mode 100644
index 0000000..8f283d8
--- /dev/null
+++ b/docs/html/_h_t_t_p_service_8h_source.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/HTTPService.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef __HTTPService_h__ 2 #define __HTTPService_h__ 5 #include "HTTPSessions.h" 6 #include "HTTPPageList.h" 8 #include "HTTPHandler.h" 16 commands.add(getHandler,
"GET" );
17 commands.add(postHandler,
"POST" );
Definition: HTTPService.h:12
+
Definition: HTTPHandler.h:10
+
Definition: __configure.h:4
+
Definition: HTTPSessions.h:10
+
Definition: HTTPPageList.h:20
+
+
+
+
+
diff --git a/docs/html/_h_t_t_p_session_8h_source.html b/docs/html/_h_t_t_p_session_8h_source.html
new file mode 100644
index 0000000..59ec832
--- /dev/null
+++ b/docs/html/_h_t_t_p_session_8h_source.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/HTTPSession.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef __HTTPSession_h__ 2 #define __HTTPSession_h__ 14 std::string getSessionId();
20 std::string sessionId;
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
+
+
+
+
diff --git a/docs/html/_h_t_t_p_sessions_8h_source.html b/docs/html/_h_t_t_p_sessions_8h_source.html
new file mode 100644
index 0000000..7fb75a8
--- /dev/null
+++ b/docs/html/_h_t_t_p_sessions_8h_source.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+JETServer: /home/bradarant/barant/HTTPServer/HTTPSessions.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1 #ifndef __HTTPSessions_h__ 2 #define __HTTPSessions_h__ 4 #include "HTTPRequest.h" 18 std::string generateSessionId();
20 std::map<std::string, HTTPSession*> sessions;
Definition: HTTPSession.h:9
+
Definition: __configure.h:4
+
Definition: HTTPSessions.h:10
+
Definition: HTTPRequest.h:11
+
+
+
+
+
diff --git a/docs/html/annotated.html b/docs/html/annotated.html
new file mode 100644
index 0000000..3118f67
--- /dev/null
+++ b/docs/html/annotated.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+JETServer: Class List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
+
+
+
+
diff --git a/docs/html/bc_s.png b/docs/html/bc_s.png
new file mode 100644
index 0000000..224b29a
Binary files /dev/null and b/docs/html/bc_s.png differ
diff --git a/docs/html/bdwn.png b/docs/html/bdwn.png
new file mode 100644
index 0000000..940a0b9
Binary files /dev/null and b/docs/html/bdwn.png differ
diff --git a/docs/html/classes.html b/docs/html/classes.html
new file mode 100644
index 0000000..8784857
--- /dev/null
+++ b/docs/html/classes.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+JETServer: Class Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____configure-members.html b/docs/html/classhttp_1_1____configure-members.html
new file mode 100644
index 0000000..72c5d88
--- /dev/null
+++ b/docs/html/classhttp_1_1____configure-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__configure , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____configure.html b/docs/html/classhttp_1_1____configure.html
new file mode 100644
index 0000000..db57f1f
--- /dev/null
+++ b/docs/html/classhttp_1_1____configure.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__configure Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____configure__coll__graph.map b/docs/html/classhttp_1_1____configure__coll__graph.map
new file mode 100644
index 0000000..54e89b9
--- /dev/null
+++ b/docs/html/classhttp_1_1____configure__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____configure__coll__graph.md5 b/docs/html/classhttp_1_1____configure__coll__graph.md5
new file mode 100644
index 0000000..fea2513
--- /dev/null
+++ b/docs/html/classhttp_1_1____configure__coll__graph.md5
@@ -0,0 +1 @@
+3c3f9add82abaa23f7c0a2ba78ea8d99
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____configure__coll__graph.png b/docs/html/classhttp_1_1____configure__coll__graph.png
new file mode 100644
index 0000000..33740cc
Binary files /dev/null and b/docs/html/classhttp_1_1____configure__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____configure__inherit__graph.map b/docs/html/classhttp_1_1____configure__inherit__graph.map
new file mode 100644
index 0000000..54e89b9
--- /dev/null
+++ b/docs/html/classhttp_1_1____configure__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____configure__inherit__graph.md5 b/docs/html/classhttp_1_1____configure__inherit__graph.md5
new file mode 100644
index 0000000..fcbc86c
--- /dev/null
+++ b/docs/html/classhttp_1_1____configure__inherit__graph.md5
@@ -0,0 +1 @@
+e80ee99b17c4ada28c6f10a62c7068d6
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____configure__inherit__graph.png b/docs/html/classhttp_1_1____configure__inherit__graph.png
new file mode 100644
index 0000000..33740cc
Binary files /dev/null and b/docs/html/classhttp_1_1____configure__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____editview-members.html b/docs/html/classhttp_1_1____editview-members.html
new file mode 100644
index 0000000..1778a55
--- /dev/null
+++ b/docs/html/classhttp_1_1____editview-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__editview , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____editview.html b/docs/html/classhttp_1_1____editview.html
new file mode 100644
index 0000000..730bad3
--- /dev/null
+++ b/docs/html/classhttp_1_1____editview.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__editview Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____editview__coll__graph.map b/docs/html/classhttp_1_1____editview__coll__graph.map
new file mode 100644
index 0000000..7015547
--- /dev/null
+++ b/docs/html/classhttp_1_1____editview__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____editview__coll__graph.md5 b/docs/html/classhttp_1_1____editview__coll__graph.md5
new file mode 100644
index 0000000..a9d7c1f
--- /dev/null
+++ b/docs/html/classhttp_1_1____editview__coll__graph.md5
@@ -0,0 +1 @@
+f51d85d4e210ba76fa6c26bd842efa7b
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____editview__coll__graph.png b/docs/html/classhttp_1_1____editview__coll__graph.png
new file mode 100644
index 0000000..f5a3020
Binary files /dev/null and b/docs/html/classhttp_1_1____editview__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____editview__inherit__graph.map b/docs/html/classhttp_1_1____editview__inherit__graph.map
new file mode 100644
index 0000000..7015547
--- /dev/null
+++ b/docs/html/classhttp_1_1____editview__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____editview__inherit__graph.md5 b/docs/html/classhttp_1_1____editview__inherit__graph.md5
new file mode 100644
index 0000000..8f97766
--- /dev/null
+++ b/docs/html/classhttp_1_1____editview__inherit__graph.md5
@@ -0,0 +1 @@
+dd44570b728e948256be88c7bf5fc995
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____editview__inherit__graph.png b/docs/html/classhttp_1_1____editview__inherit__graph.png
new file mode 100644
index 0000000..f5a3020
Binary files /dev/null and b/docs/html/classhttp_1_1____editview__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____favicon__ico-members.html b/docs/html/classhttp_1_1____favicon__ico-members.html
new file mode 100644
index 0000000..9fe3b96
--- /dev/null
+++ b/docs/html/classhttp_1_1____favicon__ico-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__favicon_ico , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____favicon__ico.html b/docs/html/classhttp_1_1____favicon__ico.html
new file mode 100644
index 0000000..ea913c4
--- /dev/null
+++ b/docs/html/classhttp_1_1____favicon__ico.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__favicon_ico Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____favicon__ico__coll__graph.map b/docs/html/classhttp_1_1____favicon__ico__coll__graph.map
new file mode 100644
index 0000000..4e22b96
--- /dev/null
+++ b/docs/html/classhttp_1_1____favicon__ico__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____favicon__ico__coll__graph.md5 b/docs/html/classhttp_1_1____favicon__ico__coll__graph.md5
new file mode 100644
index 0000000..2bd9db4
--- /dev/null
+++ b/docs/html/classhttp_1_1____favicon__ico__coll__graph.md5
@@ -0,0 +1 @@
+a347a0861a7157a9be2067d7262d8d0e
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____favicon__ico__coll__graph.png b/docs/html/classhttp_1_1____favicon__ico__coll__graph.png
new file mode 100644
index 0000000..79b3caf
Binary files /dev/null and b/docs/html/classhttp_1_1____favicon__ico__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____favicon__ico__inherit__graph.map b/docs/html/classhttp_1_1____favicon__ico__inherit__graph.map
new file mode 100644
index 0000000..4e22b96
--- /dev/null
+++ b/docs/html/classhttp_1_1____favicon__ico__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____favicon__ico__inherit__graph.md5 b/docs/html/classhttp_1_1____favicon__ico__inherit__graph.md5
new file mode 100644
index 0000000..1438e2f
--- /dev/null
+++ b/docs/html/classhttp_1_1____favicon__ico__inherit__graph.md5
@@ -0,0 +1 @@
+76efb13095090bb891ee8a274a023c61
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____favicon__ico__inherit__graph.png b/docs/html/classhttp_1_1____favicon__ico__inherit__graph.png
new file mode 100644
index 0000000..79b3caf
Binary files /dev/null and b/docs/html/classhttp_1_1____favicon__ico__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____index-members.html b/docs/html/classhttp_1_1____index-members.html
new file mode 100644
index 0000000..8436aac
--- /dev/null
+++ b/docs/html/classhttp_1_1____index-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__index , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____index.html b/docs/html/classhttp_1_1____index.html
new file mode 100644
index 0000000..a0b0426
--- /dev/null
+++ b/docs/html/classhttp_1_1____index.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__index Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+/home/bradarant/barant/HTTPServer/__index.h
+
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____index__coll__graph.map b/docs/html/classhttp_1_1____index__coll__graph.map
new file mode 100644
index 0000000..599b70f
--- /dev/null
+++ b/docs/html/classhttp_1_1____index__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____index__coll__graph.md5 b/docs/html/classhttp_1_1____index__coll__graph.md5
new file mode 100644
index 0000000..7655076
--- /dev/null
+++ b/docs/html/classhttp_1_1____index__coll__graph.md5
@@ -0,0 +1 @@
+d7dfaafb7ea31ad818f06bf721aa06a5
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____index__coll__graph.png b/docs/html/classhttp_1_1____index__coll__graph.png
new file mode 100644
index 0000000..0490f48
Binary files /dev/null and b/docs/html/classhttp_1_1____index__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____index__inherit__graph.map b/docs/html/classhttp_1_1____index__inherit__graph.map
new file mode 100644
index 0000000..599b70f
--- /dev/null
+++ b/docs/html/classhttp_1_1____index__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____index__inherit__graph.md5 b/docs/html/classhttp_1_1____index__inherit__graph.md5
new file mode 100644
index 0000000..2e3d7e1
--- /dev/null
+++ b/docs/html/classhttp_1_1____index__inherit__graph.md5
@@ -0,0 +1 @@
+fd4a341b7e32267c1a027e7d383cdde8
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____index__inherit__graph.png b/docs/html/classhttp_1_1____index__inherit__graph.png
new file mode 100644
index 0000000..0490f48
Binary files /dev/null and b/docs/html/classhttp_1_1____index__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____mainmenu-members.html b/docs/html/classhttp_1_1____mainmenu-members.html
new file mode 100644
index 0000000..03653ef
--- /dev/null
+++ b/docs/html/classhttp_1_1____mainmenu-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__mainmenu , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____mainmenu.html b/docs/html/classhttp_1_1____mainmenu.html
new file mode 100644
index 0000000..f03dcd8
--- /dev/null
+++ b/docs/html/classhttp_1_1____mainmenu.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__mainmenu Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____mainmenu__coll__graph.map b/docs/html/classhttp_1_1____mainmenu__coll__graph.map
new file mode 100644
index 0000000..2524777
--- /dev/null
+++ b/docs/html/classhttp_1_1____mainmenu__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____mainmenu__coll__graph.md5 b/docs/html/classhttp_1_1____mainmenu__coll__graph.md5
new file mode 100644
index 0000000..bbcd376
--- /dev/null
+++ b/docs/html/classhttp_1_1____mainmenu__coll__graph.md5
@@ -0,0 +1 @@
+056ab0a875bec4acc548a2aec2d04ab3
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____mainmenu__coll__graph.png b/docs/html/classhttp_1_1____mainmenu__coll__graph.png
new file mode 100644
index 0000000..a856e0c
Binary files /dev/null and b/docs/html/classhttp_1_1____mainmenu__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____mainmenu__inherit__graph.map b/docs/html/classhttp_1_1____mainmenu__inherit__graph.map
new file mode 100644
index 0000000..2524777
--- /dev/null
+++ b/docs/html/classhttp_1_1____mainmenu__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____mainmenu__inherit__graph.md5 b/docs/html/classhttp_1_1____mainmenu__inherit__graph.md5
new file mode 100644
index 0000000..56c6b9d
--- /dev/null
+++ b/docs/html/classhttp_1_1____mainmenu__inherit__graph.md5
@@ -0,0 +1 @@
+2d973dc7d876a5753dd6191e1e4610c3
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____mainmenu__inherit__graph.png b/docs/html/classhttp_1_1____mainmenu__inherit__graph.png
new file mode 100644
index 0000000..a856e0c
Binary files /dev/null and b/docs/html/classhttp_1_1____mainmenu__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____newview-members.html b/docs/html/classhttp_1_1____newview-members.html
new file mode 100644
index 0000000..0940727
--- /dev/null
+++ b/docs/html/classhttp_1_1____newview-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__newview , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____newview.html b/docs/html/classhttp_1_1____newview.html
new file mode 100644
index 0000000..6937891
--- /dev/null
+++ b/docs/html/classhttp_1_1____newview.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__newview Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____newview__coll__graph.map b/docs/html/classhttp_1_1____newview__coll__graph.map
new file mode 100644
index 0000000..231f7bc
--- /dev/null
+++ b/docs/html/classhttp_1_1____newview__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____newview__coll__graph.md5 b/docs/html/classhttp_1_1____newview__coll__graph.md5
new file mode 100644
index 0000000..8a14990
--- /dev/null
+++ b/docs/html/classhttp_1_1____newview__coll__graph.md5
@@ -0,0 +1 @@
+a1a6cb2fcef4f7246c53f6739007cdb2
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____newview__coll__graph.png b/docs/html/classhttp_1_1____newview__coll__graph.png
new file mode 100644
index 0000000..6c7b5c7
Binary files /dev/null and b/docs/html/classhttp_1_1____newview__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____newview__inherit__graph.map b/docs/html/classhttp_1_1____newview__inherit__graph.map
new file mode 100644
index 0000000..231f7bc
--- /dev/null
+++ b/docs/html/classhttp_1_1____newview__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____newview__inherit__graph.md5 b/docs/html/classhttp_1_1____newview__inherit__graph.md5
new file mode 100644
index 0000000..bda987f
--- /dev/null
+++ b/docs/html/classhttp_1_1____newview__inherit__graph.md5
@@ -0,0 +1 @@
+65950dbd28b3d3f6219deb01744d0944
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____newview__inherit__graph.png b/docs/html/classhttp_1_1____newview__inherit__graph.png
new file mode 100644
index 0000000..6c7b5c7
Binary files /dev/null and b/docs/html/classhttp_1_1____newview__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____script-members.html b/docs/html/classhttp_1_1____script-members.html
new file mode 100644
index 0000000..2b63084
--- /dev/null
+++ b/docs/html/classhttp_1_1____script-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__script , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____script.html b/docs/html/classhttp_1_1____script.html
new file mode 100644
index 0000000..9afbaad
--- /dev/null
+++ b/docs/html/classhttp_1_1____script.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__script Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____script__coll__graph.map b/docs/html/classhttp_1_1____script__coll__graph.map
new file mode 100644
index 0000000..0576cac
--- /dev/null
+++ b/docs/html/classhttp_1_1____script__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____script__coll__graph.md5 b/docs/html/classhttp_1_1____script__coll__graph.md5
new file mode 100644
index 0000000..14c5f52
--- /dev/null
+++ b/docs/html/classhttp_1_1____script__coll__graph.md5
@@ -0,0 +1 @@
+3bb902a5b80932374cfcdb95493c09de
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____script__coll__graph.png b/docs/html/classhttp_1_1____script__coll__graph.png
new file mode 100644
index 0000000..76618f1
Binary files /dev/null and b/docs/html/classhttp_1_1____script__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____script__inherit__graph.map b/docs/html/classhttp_1_1____script__inherit__graph.map
new file mode 100644
index 0000000..0576cac
--- /dev/null
+++ b/docs/html/classhttp_1_1____script__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____script__inherit__graph.md5 b/docs/html/classhttp_1_1____script__inherit__graph.md5
new file mode 100644
index 0000000..be08a34
--- /dev/null
+++ b/docs/html/classhttp_1_1____script__inherit__graph.md5
@@ -0,0 +1 @@
+4a23a3513c2e7d3ad89b84ab3cb5938b
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____script__inherit__graph.png b/docs/html/classhttp_1_1____script__inherit__graph.png
new file mode 100644
index 0000000..76618f1
Binary files /dev/null and b/docs/html/classhttp_1_1____script__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____setupadmin-members.html b/docs/html/classhttp_1_1____setupadmin-members.html
new file mode 100644
index 0000000..091e6c5
--- /dev/null
+++ b/docs/html/classhttp_1_1____setupadmin-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__setupadmin , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____setupadmin.html b/docs/html/classhttp_1_1____setupadmin.html
new file mode 100644
index 0000000..9183c4b
--- /dev/null
+++ b/docs/html/classhttp_1_1____setupadmin.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__setupadmin Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____setupadmin__coll__graph.map b/docs/html/classhttp_1_1____setupadmin__coll__graph.map
new file mode 100644
index 0000000..d2b187d
--- /dev/null
+++ b/docs/html/classhttp_1_1____setupadmin__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____setupadmin__coll__graph.md5 b/docs/html/classhttp_1_1____setupadmin__coll__graph.md5
new file mode 100644
index 0000000..6391abb
--- /dev/null
+++ b/docs/html/classhttp_1_1____setupadmin__coll__graph.md5
@@ -0,0 +1 @@
+918d998e7b74263703274d12a15203c6
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____setupadmin__coll__graph.png b/docs/html/classhttp_1_1____setupadmin__coll__graph.png
new file mode 100644
index 0000000..2ac55c0
Binary files /dev/null and b/docs/html/classhttp_1_1____setupadmin__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____setupadmin__inherit__graph.map b/docs/html/classhttp_1_1____setupadmin__inherit__graph.map
new file mode 100644
index 0000000..d2b187d
--- /dev/null
+++ b/docs/html/classhttp_1_1____setupadmin__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____setupadmin__inherit__graph.md5 b/docs/html/classhttp_1_1____setupadmin__inherit__graph.md5
new file mode 100644
index 0000000..c67c804
--- /dev/null
+++ b/docs/html/classhttp_1_1____setupadmin__inherit__graph.md5
@@ -0,0 +1 @@
+8c27f7db10860191ce38c13db90df87e
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____setupadmin__inherit__graph.png b/docs/html/classhttp_1_1____setupadmin__inherit__graph.png
new file mode 100644
index 0000000..2ac55c0
Binary files /dev/null and b/docs/html/classhttp_1_1____setupadmin__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____style-members.html b/docs/html/classhttp_1_1____style-members.html
new file mode 100644
index 0000000..16060b9
--- /dev/null
+++ b/docs/html/classhttp_1_1____style-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__style , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____style.html b/docs/html/classhttp_1_1____style.html
new file mode 100644
index 0000000..d04ffac
--- /dev/null
+++ b/docs/html/classhttp_1_1____style.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__style Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+/home/bradarant/barant/HTTPServer/__style.h
+
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____style__coll__graph.map b/docs/html/classhttp_1_1____style__coll__graph.map
new file mode 100644
index 0000000..15e6f5e
--- /dev/null
+++ b/docs/html/classhttp_1_1____style__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____style__coll__graph.md5 b/docs/html/classhttp_1_1____style__coll__graph.md5
new file mode 100644
index 0000000..ee06049
--- /dev/null
+++ b/docs/html/classhttp_1_1____style__coll__graph.md5
@@ -0,0 +1 @@
+e210c6a3781d830a5f7162d224895bb4
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____style__coll__graph.png b/docs/html/classhttp_1_1____style__coll__graph.png
new file mode 100644
index 0000000..b6c8ef3
Binary files /dev/null and b/docs/html/classhttp_1_1____style__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____style__inherit__graph.map b/docs/html/classhttp_1_1____style__inherit__graph.map
new file mode 100644
index 0000000..15e6f5e
--- /dev/null
+++ b/docs/html/classhttp_1_1____style__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____style__inherit__graph.md5 b/docs/html/classhttp_1_1____style__inherit__graph.md5
new file mode 100644
index 0000000..445b9c6
--- /dev/null
+++ b/docs/html/classhttp_1_1____style__inherit__graph.md5
@@ -0,0 +1 @@
+093f2b4321caf8b267520ac2565f0a53
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____style__inherit__graph.png b/docs/html/classhttp_1_1____style__inherit__graph.png
new file mode 100644
index 0000000..b6c8ef3
Binary files /dev/null and b/docs/html/classhttp_1_1____style__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____viewlist-members.html b/docs/html/classhttp_1_1____viewlist-members.html
new file mode 100644
index 0000000..5f32c66
--- /dev/null
+++ b/docs/html/classhttp_1_1____viewlist-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__viewlist , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____viewlist.html b/docs/html/classhttp_1_1____viewlist.html
new file mode 100644
index 0000000..c25f410
--- /dev/null
+++ b/docs/html/classhttp_1_1____viewlist.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__viewlist Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____viewlist__coll__graph.map b/docs/html/classhttp_1_1____viewlist__coll__graph.map
new file mode 100644
index 0000000..5608969
--- /dev/null
+++ b/docs/html/classhttp_1_1____viewlist__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____viewlist__coll__graph.md5 b/docs/html/classhttp_1_1____viewlist__coll__graph.md5
new file mode 100644
index 0000000..432d200
--- /dev/null
+++ b/docs/html/classhttp_1_1____viewlist__coll__graph.md5
@@ -0,0 +1 @@
+1f7d1157d918d53cbafa1376f8eb1c54
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____viewlist__coll__graph.png b/docs/html/classhttp_1_1____viewlist__coll__graph.png
new file mode 100644
index 0000000..220130c
Binary files /dev/null and b/docs/html/classhttp_1_1____viewlist__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____viewlist__inherit__graph.map b/docs/html/classhttp_1_1____viewlist__inherit__graph.map
new file mode 100644
index 0000000..5608969
--- /dev/null
+++ b/docs/html/classhttp_1_1____viewlist__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____viewlist__inherit__graph.md5 b/docs/html/classhttp_1_1____viewlist__inherit__graph.md5
new file mode 100644
index 0000000..232c3c6
--- /dev/null
+++ b/docs/html/classhttp_1_1____viewlist__inherit__graph.md5
@@ -0,0 +1 @@
+c5188d8fa05d2012499a6426e34c0418
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____viewlist__inherit__graph.png b/docs/html/classhttp_1_1____viewlist__inherit__graph.png
new file mode 100644
index 0000000..220130c
Binary files /dev/null and b/docs/html/classhttp_1_1____viewlist__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1____welcome-members.html b/docs/html/classhttp_1_1____welcome-members.html
new file mode 100644
index 0000000..f253e98
--- /dev/null
+++ b/docs/html/classhttp_1_1____welcome-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::__welcome , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____welcome.html b/docs/html/classhttp_1_1____welcome.html
new file mode 100644
index 0000000..0b455c2
--- /dev/null
+++ b/docs/html/classhttp_1_1____welcome.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+JETServer: http::__welcome Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool check (std::string request)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1____welcome__coll__graph.map b/docs/html/classhttp_1_1____welcome__coll__graph.map
new file mode 100644
index 0000000..e222a56
--- /dev/null
+++ b/docs/html/classhttp_1_1____welcome__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____welcome__coll__graph.md5 b/docs/html/classhttp_1_1____welcome__coll__graph.md5
new file mode 100644
index 0000000..ec0c7d2
--- /dev/null
+++ b/docs/html/classhttp_1_1____welcome__coll__graph.md5
@@ -0,0 +1 @@
+6423c4e84f0f1db81dac34b5cf5bb611
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____welcome__coll__graph.png b/docs/html/classhttp_1_1____welcome__coll__graph.png
new file mode 100644
index 0000000..49a6dcd
Binary files /dev/null and b/docs/html/classhttp_1_1____welcome__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1____welcome__inherit__graph.map b/docs/html/classhttp_1_1____welcome__inherit__graph.map
new file mode 100644
index 0000000..e222a56
--- /dev/null
+++ b/docs/html/classhttp_1_1____welcome__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/classhttp_1_1____welcome__inherit__graph.md5 b/docs/html/classhttp_1_1____welcome__inherit__graph.md5
new file mode 100644
index 0000000..ae3e6bd
--- /dev/null
+++ b/docs/html/classhttp_1_1____welcome__inherit__graph.md5
@@ -0,0 +1 @@
+bcdcac40cc4a5406984fb17e75417a46
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1____welcome__inherit__graph.png b/docs/html/classhttp_1_1____welcome__inherit__graph.png
new file mode 100644
index 0000000..49a6dcd
Binary files /dev/null and b/docs/html/classhttp_1_1____welcome__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_handler-members.html b/docs/html/classhttp_1_1_h_t_t_p_handler-members.html
new file mode 100644
index 0000000..54effc1
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_handler-members.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::HTTPHandler , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_handler.html b/docs/html/classhttp_1_1_h_t_t_p_handler.html
new file mode 100644
index 0000000..82e207e
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_handler.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+JETServer: http::HTTPHandler Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+int processCommand (std::string request, core::Session *session, std::stringstream &data) override
+
+
+
The documentation for this class was generated from the following files:
+/home/bradarant/barant/HTTPServer/HTTPHandler.h
+/home/bradarant/barant/HTTPServer/HTTPHandler.cpp
+
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.map b/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.map
new file mode 100644
index 0000000..dd3a180
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.md5 b/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.md5
new file mode 100644
index 0000000..0af1652
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.md5
@@ -0,0 +1 @@
+5cbd66e13f58119293395088a95d75be
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.png b/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.png
new file mode 100644
index 0000000..d543866
Binary files /dev/null and b/docs/html/classhttp_1_1_h_t_t_p_handler__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.map b/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.map
new file mode 100644
index 0000000..dd3a180
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.md5 b/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.md5
new file mode 100644
index 0000000..5bd278b
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.md5
@@ -0,0 +1 @@
+259f922f3dd22b29b2b8939ae2014d23
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.png b/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.png
new file mode 100644
index 0000000..d543866
Binary files /dev/null and b/docs/html/classhttp_1_1_h_t_t_p_handler__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page-members.html b/docs/html/classhttp_1_1_h_t_t_p_page-members.html
new file mode 100644
index 0000000..6153660
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_page-members.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::HTTPPage , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page.html b/docs/html/classhttp_1_1_h_t_t_p_page.html
new file mode 100644
index 0000000..8d0bf70
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_page.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+JETServer: http::HTTPPage Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+bool check (std::string request)
+
+
+virtual int processCommand (std::string request, core::Session *session, HTTPSession *httpSession, HTTPRequest &httpRequest, std::stringstream &data)
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.map b/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.map
new file mode 100644
index 0000000..d6704e8
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.md5 b/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.md5
new file mode 100644
index 0000000..882ba79
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.md5
@@ -0,0 +1 @@
+b753614694d9540796baa79c65d9bf5d
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.png b/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.png
new file mode 100644
index 0000000..29e516a
Binary files /dev/null and b/docs/html/classhttp_1_1_h_t_t_p_page__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.map b/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.map
new file mode 100644
index 0000000..6359022
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.map
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.md5 b/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.md5
new file mode 100644
index 0000000..2b4182c
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.md5
@@ -0,0 +1 @@
+ac601db9a56a7a196183743000bee688
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.png b/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.png
new file mode 100644
index 0000000..7719c48
Binary files /dev/null and b/docs/html/classhttp_1_1_h_t_t_p_page__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page_list-members.html b/docs/html/classhttp_1_1_h_t_t_p_page_list-members.html
new file mode 100644
index 0000000..d47e0aa
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_page_list-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::HTTPPageList , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_page_list.html b/docs/html/classhttp_1_1_h_t_t_p_page_list.html
new file mode 100644
index 0000000..d7deb92
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_page_list.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+JETServer: http::HTTPPageList Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool processRequest (HTTPRequest &httpRequest, core::Session *session, HTTPSession *httpSession, std::stringstream &data)
+
+
+void add (HTTPPage &page, std::string name="")
+
+
+void remove (HTTPPage &page)
+
+
+
+
+std::vector< HTTPPage * > pages
+
+
+
The documentation for this class was generated from the following files:
+/home/bradarant/barant/HTTPServer/HTTPPageList.h
+/home/bradarant/barant/HTTPServer/HTTPPageList.cpp
+
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_request-members.html b/docs/html/classhttp_1_1_h_t_t_p_request-members.html
new file mode 100644
index 0000000..c166759
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_request-members.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::HTTPRequest , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_request.html b/docs/html/classhttp_1_1_h_t_t_p_request.html
new file mode 100644
index 0000000..8871449
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_request.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+JETServer: http::HTTPRequest Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HTTPRequest (coreutils::PString &in)
+
+
+
+
+coreutils::IMFRequest request
+
+
+coreutils::IMFResponse response
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.map b/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.map
new file mode 100644
index 0000000..18bb9a5
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.md5 b/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.md5
new file mode 100644
index 0000000..6463d8a
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.md5
@@ -0,0 +1 @@
+3389734fdc69a3bf1429b061f9015fa9
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.png b/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.png
new file mode 100644
index 0000000..66b5852
Binary files /dev/null and b/docs/html/classhttp_1_1_h_t_t_p_request__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.map b/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.map
new file mode 100644
index 0000000..18bb9a5
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.md5 b/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.md5
new file mode 100644
index 0000000..1081b04
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.md5
@@ -0,0 +1 @@
+5b4ac0176dafbf4236ff5464188fb5b3
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.png b/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.png
new file mode 100644
index 0000000..66b5852
Binary files /dev/null and b/docs/html/classhttp_1_1_h_t_t_p_request__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_service-members.html b/docs/html/classhttp_1_1_h_t_t_p_service-members.html
new file mode 100644
index 0000000..2aa8acd
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_service-members.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::HTTPService , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_service.html b/docs/html/classhttp_1_1_h_t_t_p_service.html
new file mode 100644
index 0000000..6756264
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_service.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+JETServer: http::HTTPService Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.map b/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.map
new file mode 100644
index 0000000..d98fae9
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.md5 b/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.md5
new file mode 100644
index 0000000..c12f54f
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.md5
@@ -0,0 +1 @@
+45c089a4e8cf2f7729210d9e7e7c8fd1
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.png b/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.png
new file mode 100644
index 0000000..1e0b56f
Binary files /dev/null and b/docs/html/classhttp_1_1_h_t_t_p_service__coll__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.map b/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.map
new file mode 100644
index 0000000..5d51847
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.md5 b/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.md5
new file mode 100644
index 0000000..088f0ff
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.md5
@@ -0,0 +1 @@
+68af529d79f4cf6d86fb195f4fe0d600
\ No newline at end of file
diff --git a/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.png b/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.png
new file mode 100644
index 0000000..cedea22
Binary files /dev/null and b/docs/html/classhttp_1_1_h_t_t_p_service__inherit__graph.png differ
diff --git a/docs/html/classhttp_1_1_h_t_t_p_session-members.html b/docs/html/classhttp_1_1_h_t_t_p_session-members.html
new file mode 100644
index 0000000..47d0e40
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_session-members.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::HTTPSession , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_session.html b/docs/html/classhttp_1_1_h_t_t_p_session.html
new file mode 100644
index 0000000..8097b3b
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_session.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+JETServer: http::HTTPSession Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HTTPSession (std::string sessionId)
+
+
+std::string getSessionId ()
+
+
+
The documentation for this class was generated from the following files:
+/home/bradarant/barant/HTTPServer/HTTPSession.h
+/home/bradarant/barant/HTTPServer/HTTPSession.cpp
+
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_sessions-members.html b/docs/html/classhttp_1_1_h_t_t_p_sessions-members.html
new file mode 100644
index 0000000..75449b1
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_sessions-members.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+JETServer: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for http::HTTPSessions , including all inherited members.
+
+
+
+
+
diff --git a/docs/html/classhttp_1_1_h_t_t_p_sessions.html b/docs/html/classhttp_1_1_h_t_t_p_sessions.html
new file mode 100644
index 0000000..d68ef51
--- /dev/null
+++ b/docs/html/classhttp_1_1_h_t_t_p_sessions.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+JETServer: http::HTTPSessions Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+/home/bradarant/barant/HTTPServer/HTTPSessions.h
+/home/bradarant/barant/HTTPServer/HTTPSessions.cpp
+
+
+
+
+
+
diff --git a/docs/html/closed.png b/docs/html/closed.png
new file mode 100644
index 0000000..98cc2c9
Binary files /dev/null and b/docs/html/closed.png differ
diff --git a/docs/html/doc.png b/docs/html/doc.png
new file mode 100644
index 0000000..17edabf
Binary files /dev/null and b/docs/html/doc.png differ
diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css
new file mode 100644
index 0000000..4f1ab91
--- /dev/null
+++ b/docs/html/doxygen.css
@@ -0,0 +1,1596 @@
+/* The standard CSS for doxygen 1.8.13 */
+
+body, table, div, p, dl {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+p.reference, p.definition {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+.title {
+ font: 400 14px/28px Roboto,sans-serif;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid #879ECB;
+ color: #354C7B;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+p.starttd {
+ margin-top: 0px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 0px;
+ margin: 4px 8px 4px 2px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE5;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line:after {
+ content:"\000A";
+ white-space: pre;
+}
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+.lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+div.ah, span.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+ list-style: none;
+ padding-left: 0;
+}
+
+div.classindex span.ai {
+ display: inline-block;
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9CAFD4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+ padding: 8px;
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ margin-bottom: -1px;
+ background-image: url('nav_f.png');
+ background-repeat: repeat-x;
+ background-color: #E2E8F2;
+ line-height: 1.25;
+ font-weight: 300;
+ float:left;
+}
+
+.permalink
+{
+ font-size: 65%;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: 400;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-color: #DFE5F1;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+ font-family: "courier new",courier,monospace;
+ font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #728DC1;
+ border-top:1px solid #5373B4;
+ border-left:1px solid #5373B4;
+ border-right:1px solid #C4CFE5;
+ border-bottom:1px solid #C4CFE5;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #9CAFD4;
+ border-bottom: 1px solid #9CAFD4;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3D578C;
+}
+
+.arrow {
+ color: #9CAFD4;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ font-size: 80%;
+ display: inline-block;
+ width: 16px;
+ height: 22px;
+}
+
+.icon {
+ font-family: Arial, Helvetica;
+ font-weight: bold;
+ font-size: 12px;
+ height: 14px;
+ width: 16px;
+ display: inline-block;
+ background-color: #728DC1;
+ color: white;
+ text-align: center;
+ border-radius: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+
+.icona {
+ width: 24px;
+ height: 22px;
+ display: inline-block;
+}
+
+.iconfopen {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('folderopen.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.iconfclosed {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('folderclosed.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.icondoc {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('doc.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+table.directory {
+ font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable caption {
+ caption-side: top;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A8B8D9;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A8B8D9;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ font-weight: 400;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #283A5D;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+table.classindex
+{
+ margin: 10px;
+ white-space: nowrap;
+ margin-left: 3%;
+ margin-right: 3%;
+ width: 94%;
+ border: 0;
+ border-spacing: 0;
+ padding: 0;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectalign
+{
+ vertical-align: middle;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.plantumlgraph
+{
+ text-align: center;
+}
+
+.diagraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#334975;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 8px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4665A2;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ white-space: nowrap;
+ background-color: white;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic;
+}
+
+#powerTip div.ttname a {
+ font-weight: bold;
+}
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: #006318;
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before {
+ border-top-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
+/* @group Markdown */
+
+/*
+table.markdownTable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.markdownTableHead tr {
+}
+
+table.markdownTableBodyLeft td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+th.markdownTableHeadLeft {
+ text-align: left
+}
+
+th.markdownTableHeadRight {
+ text-align: right
+}
+
+th.markdownTableHeadCenter {
+ text-align: center
+}
+*/
+
+table.markdownTable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+ text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+ text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+ text-align: center
+}
+
+
+/* @end */
diff --git a/docs/html/doxygen.png b/docs/html/doxygen.png
new file mode 100644
index 0000000..3ff17d8
Binary files /dev/null and b/docs/html/doxygen.png differ
diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js
new file mode 100644
index 0000000..85e1836
--- /dev/null
+++ b/docs/html/dynsections.js
@@ -0,0 +1,97 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function() {
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l
+
+
+
+
+
+
+JETServer: File List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all documented files with brief descriptions:
+
+ __configure.h
+ __editview.h
+ __favicon_ico.h
+ __index.h
+ __mainmenu.h
+ __newview.h
+ __script.h
+ __setupadmin.h
+ __style.h
+ __viewlist.h
+ __welcome.h
+ HTTPHandler.h
+ HTTPPage.h
+ HTTPPageList.h
+ HTTPRequest.h
+ HTTPService.h
+ HTTPSession.h
+ HTTPSessions.h
+
+
+
+
+
+
+
diff --git a/docs/html/folderclosed.png b/docs/html/folderclosed.png
new file mode 100644
index 0000000..bb8ab35
Binary files /dev/null and b/docs/html/folderclosed.png differ
diff --git a/docs/html/folderopen.png b/docs/html/folderopen.png
new file mode 100644
index 0000000..d6c7f67
Binary files /dev/null and b/docs/html/folderopen.png differ
diff --git a/docs/html/graph_legend.html b/docs/html/graph_legend.html
new file mode 100644
index 0000000..47277d0
--- /dev/null
+++ b/docs/html/graph_legend.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+JETServer: Graph Legend
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This page explains how to interpret the graphs that are generated by doxygen.
+
Consider the following example:
/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};
This will result in the following graph:
+
+
+
+The boxes in the above graph have the following meaning:
+
+
+A filled gray box represents the struct or class for which the graph is generated.
+
+A box with a black border denotes a documented struct or class.
+
+A box with a gray border denotes an undocumented struct or class.
+
+A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
+
+
The arrows have the following meaning:
+
+
+A dark blue arrow is used to visualize a public inheritance relation between two classes.
+
+A dark green arrow is used for protected inheritance.
+
+A dark red arrow is used for private inheritance.
+
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
+
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
+
+
+
+
+
+
diff --git a/docs/html/graph_legend.md5 b/docs/html/graph_legend.md5
new file mode 100644
index 0000000..a06ed05
--- /dev/null
+++ b/docs/html/graph_legend.md5
@@ -0,0 +1 @@
+387ff8eb65306fa251338d3c9bd7bfff
\ No newline at end of file
diff --git a/docs/html/graph_legend.png b/docs/html/graph_legend.png
new file mode 100644
index 0000000..5ee31ee
Binary files /dev/null and b/docs/html/graph_legend.png differ
diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html
new file mode 100644
index 0000000..d007a33
--- /dev/null
+++ b/docs/html/hierarchy.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+JETServer: Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the graphical class hierarchy
+This inheritance list is sorted roughly, but not completely, alphabetically:
+
+
+
+
+
diff --git a/docs/html/index.html b/docs/html/index.html
new file mode 100644
index 0000000..de8b797
--- /dev/null
+++ b/docs/html/index.html
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+JETServer: Main Page
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/inherit_graph_0.map b/docs/html/inherit_graph_0.map
new file mode 100644
index 0000000..00931e2
--- /dev/null
+++ b/docs/html/inherit_graph_0.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/inherit_graph_0.md5 b/docs/html/inherit_graph_0.md5
new file mode 100644
index 0000000..dfc8f0b
--- /dev/null
+++ b/docs/html/inherit_graph_0.md5
@@ -0,0 +1 @@
+9e440c5e851d24e2e6dc3d70ccf85826
\ No newline at end of file
diff --git a/docs/html/inherit_graph_0.png b/docs/html/inherit_graph_0.png
new file mode 100644
index 0000000..8efd72f
Binary files /dev/null and b/docs/html/inherit_graph_0.png differ
diff --git a/docs/html/inherit_graph_1.map b/docs/html/inherit_graph_1.map
new file mode 100644
index 0000000..55656c0
--- /dev/null
+++ b/docs/html/inherit_graph_1.map
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/inherit_graph_1.md5 b/docs/html/inherit_graph_1.md5
new file mode 100644
index 0000000..37406bb
--- /dev/null
+++ b/docs/html/inherit_graph_1.md5
@@ -0,0 +1 @@
+8f5767332a3707f06fdfbe8589189f6d
\ No newline at end of file
diff --git a/docs/html/inherit_graph_1.png b/docs/html/inherit_graph_1.png
new file mode 100644
index 0000000..c2a3632
Binary files /dev/null and b/docs/html/inherit_graph_1.png differ
diff --git a/docs/html/inherit_graph_2.map b/docs/html/inherit_graph_2.map
new file mode 100644
index 0000000..a602c9a
--- /dev/null
+++ b/docs/html/inherit_graph_2.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/inherit_graph_2.md5 b/docs/html/inherit_graph_2.md5
new file mode 100644
index 0000000..4376260
--- /dev/null
+++ b/docs/html/inherit_graph_2.md5
@@ -0,0 +1 @@
+6d80b820f69adb9d4da45830a1f1993a
\ No newline at end of file
diff --git a/docs/html/inherit_graph_2.png b/docs/html/inherit_graph_2.png
new file mode 100644
index 0000000..7e08525
Binary files /dev/null and b/docs/html/inherit_graph_2.png differ
diff --git a/docs/html/inherit_graph_3.map b/docs/html/inherit_graph_3.map
new file mode 100644
index 0000000..4941845
--- /dev/null
+++ b/docs/html/inherit_graph_3.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/inherit_graph_3.md5 b/docs/html/inherit_graph_3.md5
new file mode 100644
index 0000000..6e6ae33
--- /dev/null
+++ b/docs/html/inherit_graph_3.md5
@@ -0,0 +1 @@
+9f86f1d063fe7dc98bd902f15ec9c14c
\ No newline at end of file
diff --git a/docs/html/inherit_graph_3.png b/docs/html/inherit_graph_3.png
new file mode 100644
index 0000000..6a56c47
Binary files /dev/null and b/docs/html/inherit_graph_3.png differ
diff --git a/docs/html/inherit_graph_4.map b/docs/html/inherit_graph_4.map
new file mode 100644
index 0000000..8f784c1
--- /dev/null
+++ b/docs/html/inherit_graph_4.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/inherit_graph_4.md5 b/docs/html/inherit_graph_4.md5
new file mode 100644
index 0000000..c4fa3fb
--- /dev/null
+++ b/docs/html/inherit_graph_4.md5
@@ -0,0 +1 @@
+54c6c63d759f2a2f80ea1a4d64bb2100
\ No newline at end of file
diff --git a/docs/html/inherit_graph_4.png b/docs/html/inherit_graph_4.png
new file mode 100644
index 0000000..ddb923d
Binary files /dev/null and b/docs/html/inherit_graph_4.png differ
diff --git a/docs/html/inherit_graph_5.map b/docs/html/inherit_graph_5.map
new file mode 100644
index 0000000..19f045b
--- /dev/null
+++ b/docs/html/inherit_graph_5.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/inherit_graph_5.md5 b/docs/html/inherit_graph_5.md5
new file mode 100644
index 0000000..fe52531
--- /dev/null
+++ b/docs/html/inherit_graph_5.md5
@@ -0,0 +1 @@
+e2445da55d3b2e6bf5d1754398a6a664
\ No newline at end of file
diff --git a/docs/html/inherit_graph_5.png b/docs/html/inherit_graph_5.png
new file mode 100644
index 0000000..7c2c3d1
Binary files /dev/null and b/docs/html/inherit_graph_5.png differ
diff --git a/docs/html/inherit_graph_6.map b/docs/html/inherit_graph_6.map
new file mode 100644
index 0000000..b1b3f50
--- /dev/null
+++ b/docs/html/inherit_graph_6.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/html/inherit_graph_6.md5 b/docs/html/inherit_graph_6.md5
new file mode 100644
index 0000000..72c0b1f
--- /dev/null
+++ b/docs/html/inherit_graph_6.md5
@@ -0,0 +1 @@
+377cd7beb920104ce8aae4dd2a5dcf67
\ No newline at end of file
diff --git a/docs/html/inherit_graph_6.png b/docs/html/inherit_graph_6.png
new file mode 100644
index 0000000..dcb822f
Binary files /dev/null and b/docs/html/inherit_graph_6.png differ
diff --git a/docs/html/inherits.html b/docs/html/inherits.html
new file mode 100644
index 0000000..8c49c3d
--- /dev/null
+++ b/docs/html/inherits.html
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+JETServer: Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JETServer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/jquery.js b/docs/html/jquery.js
new file mode 100644
index 0000000..f5343ed
--- /dev/null
+++ b/docs/html/jquery.js
@@ -0,0 +1,87 @@
+/*!
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bva ";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+/*!
+ * Sizzle CSS Selector Engine
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS ";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML=" ";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="
";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT 0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>$2>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA
=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*!
+ * jQuery UI 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*!
+ * jQuery UI Widget 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*!
+ * jQuery UI Mouse 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */
+(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g ');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*!
+ * jQuery hashchange event - v1.3 - 7/21/2010
+ * http://benalman.com/projects/jquery-hashchange-plugin/
+ *
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js
new file mode 100644
index 0000000..ecc08f1
--- /dev/null
+++ b/docs/html/search/all_0.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['_5f_5fconfigure',['__configure',['../classhttp_1_1____configure.html',1,'http']]],
+ ['_5f_5feditview',['__editview',['../classhttp_1_1____editview.html',1,'http']]],
+ ['_5f_5ffavicon_5fico',['__favicon_ico',['../classhttp_1_1____favicon__ico.html',1,'http']]],
+ ['_5f_5findex',['__index',['../classhttp_1_1____index.html',1,'http']]],
+ ['_5f_5fmainmenu',['__mainmenu',['../classhttp_1_1____mainmenu.html',1,'http']]],
+ ['_5f_5fnewview',['__newview',['../classhttp_1_1____newview.html',1,'http']]],
+ ['_5f_5fscript',['__script',['../classhttp_1_1____script.html',1,'http']]],
+ ['_5f_5fsetupadmin',['__setupadmin',['../classhttp_1_1____setupadmin.html',1,'http']]],
+ ['_5f_5fstyle',['__style',['../classhttp_1_1____style.html',1,'http']]],
+ ['_5f_5fviewlist',['__viewlist',['../classhttp_1_1____viewlist.html',1,'http']]],
+ ['_5f_5fwelcome',['__welcome',['../classhttp_1_1____welcome.html',1,'http']]]
+];
diff --git a/docs/html/search/all_1.html b/docs/html/search/all_1.html
new file mode 100644
index 0000000..b13f0f7
--- /dev/null
+++ b/docs/html/search/all_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js
new file mode 100644
index 0000000..c29f063
--- /dev/null
+++ b/docs/html/search/all_1.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['httphandler',['HTTPHandler',['../classhttp_1_1_h_t_t_p_handler.html',1,'http']]],
+ ['httppage',['HTTPPage',['../classhttp_1_1_h_t_t_p_page.html',1,'http']]],
+ ['httppagelist',['HTTPPageList',['../classhttp_1_1_h_t_t_p_page_list.html',1,'http']]],
+ ['httprequest',['HTTPRequest',['../classhttp_1_1_h_t_t_p_request.html',1,'http']]],
+ ['httpservice',['HTTPService',['../classhttp_1_1_h_t_t_p_service.html',1,'http']]],
+ ['httpsession',['HTTPSession',['../classhttp_1_1_h_t_t_p_session.html',1,'http']]],
+ ['httpsessions',['HTTPSessions',['../classhttp_1_1_h_t_t_p_sessions.html',1,'http']]]
+];
diff --git a/docs/html/search/classes_0.html b/docs/html/search/classes_0.html
new file mode 100644
index 0000000..1c3e406
--- /dev/null
+++ b/docs/html/search/classes_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js
new file mode 100644
index 0000000..ecc08f1
--- /dev/null
+++ b/docs/html/search/classes_0.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['_5f_5fconfigure',['__configure',['../classhttp_1_1____configure.html',1,'http']]],
+ ['_5f_5feditview',['__editview',['../classhttp_1_1____editview.html',1,'http']]],
+ ['_5f_5ffavicon_5fico',['__favicon_ico',['../classhttp_1_1____favicon__ico.html',1,'http']]],
+ ['_5f_5findex',['__index',['../classhttp_1_1____index.html',1,'http']]],
+ ['_5f_5fmainmenu',['__mainmenu',['../classhttp_1_1____mainmenu.html',1,'http']]],
+ ['_5f_5fnewview',['__newview',['../classhttp_1_1____newview.html',1,'http']]],
+ ['_5f_5fscript',['__script',['../classhttp_1_1____script.html',1,'http']]],
+ ['_5f_5fsetupadmin',['__setupadmin',['../classhttp_1_1____setupadmin.html',1,'http']]],
+ ['_5f_5fstyle',['__style',['../classhttp_1_1____style.html',1,'http']]],
+ ['_5f_5fviewlist',['__viewlist',['../classhttp_1_1____viewlist.html',1,'http']]],
+ ['_5f_5fwelcome',['__welcome',['../classhttp_1_1____welcome.html',1,'http']]]
+];
diff --git a/docs/html/search/classes_1.html b/docs/html/search/classes_1.html
new file mode 100644
index 0000000..a8e7069
--- /dev/null
+++ b/docs/html/search/classes_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js
new file mode 100644
index 0000000..c29f063
--- /dev/null
+++ b/docs/html/search/classes_1.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['httphandler',['HTTPHandler',['../classhttp_1_1_h_t_t_p_handler.html',1,'http']]],
+ ['httppage',['HTTPPage',['../classhttp_1_1_h_t_t_p_page.html',1,'http']]],
+ ['httppagelist',['HTTPPageList',['../classhttp_1_1_h_t_t_p_page_list.html',1,'http']]],
+ ['httprequest',['HTTPRequest',['../classhttp_1_1_h_t_t_p_request.html',1,'http']]],
+ ['httpservice',['HTTPService',['../classhttp_1_1_h_t_t_p_service.html',1,'http']]],
+ ['httpsession',['HTTPSession',['../classhttp_1_1_h_t_t_p_session.html',1,'http']]],
+ ['httpsessions',['HTTPSessions',['../classhttp_1_1_h_t_t_p_sessions.html',1,'http']]]
+];
diff --git a/docs/html/search/close.png b/docs/html/search/close.png
new file mode 100644
index 0000000..9342d3d
Binary files /dev/null and b/docs/html/search/close.png differ
diff --git a/docs/html/search/mag_sel.png b/docs/html/search/mag_sel.png
new file mode 100644
index 0000000..81f6040
Binary files /dev/null and b/docs/html/search/mag_sel.png differ
diff --git a/docs/html/search/nomatches.html b/docs/html/search/nomatches.html
new file mode 100644
index 0000000..b1ded27
--- /dev/null
+++ b/docs/html/search/nomatches.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/search/search.css b/docs/html/search/search.css
new file mode 100644
index 0000000..3cf9df9
--- /dev/null
+++ b/docs/html/search/search.css
@@ -0,0 +1,271 @@
+/*---------------- Search Box */
+
+#FSearchBox {
+ float: left;
+}
+
+#MSearchBox {
+ white-space : nowrap;
+ float: none;
+ margin-top: 8px;
+ right: 0px;
+ width: 170px;
+ height: 24px;
+ z-index: 102;
+}
+
+#MSearchBox .left
+{
+ display:block;
+ position:absolute;
+ left:10px;
+ width:20px;
+ height:19px;
+ background:url('search_l.png') no-repeat;
+ background-position:right;
+}
+
+#MSearchSelect {
+ display:block;
+ position:absolute;
+ width:20px;
+ height:19px;
+}
+
+.left #MSearchSelect {
+ left:4px;
+}
+
+.right #MSearchSelect {
+ right:5px;
+}
+
+#MSearchField {
+ display:block;
+ position:absolute;
+ height:19px;
+ background:url('search_m.png') repeat-x;
+ border:none;
+ width:115px;
+ margin-left:20px;
+ padding-left:4px;
+ color: #909090;
+ outline: none;
+ font: 9pt Arial, Verdana, sans-serif;
+ -webkit-border-radius: 0px;
+}
+
+#FSearchBox #MSearchField {
+ margin-left:15px;
+}
+
+#MSearchBox .right {
+ display:block;
+ position:absolute;
+ right:10px;
+ top:8px;
+ width:20px;
+ height:19px;
+ background:url('search_r.png') no-repeat;
+ background-position:left;
+}
+
+#MSearchClose {
+ display: none;
+ position: absolute;
+ top: 4px;
+ background : none;
+ border: none;
+ margin: 0px 4px 0px 0px;
+ padding: 0px 0px;
+ outline: none;
+}
+
+.left #MSearchClose {
+ left: 6px;
+}
+
+.right #MSearchClose {
+ right: 2px;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: #000000;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #90A5CE;
+ background-color: #F9FAFC;
+ z-index: 10001;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt Arial, Verdana, sans-serif;
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: monospace;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: #000000;
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: #000000;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: #FFFFFF;
+ background-color: #3D578C;
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ width: 60ex;
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #000;
+ background-color: #EEF1F7;
+ z-index:10000;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+ padding-bottom: 15px;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+body.SRPage {
+ margin: 5px 2px;
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+span.SRScope {
+ padding-left: 4px;
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+}
+
+.SRResult {
+ display: none;
+}
+
+DIV.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+ background-color: #F0F3F8;
+}
+
+.pages b {
+ color: white;
+ padding: 5px 5px 3px 5px;
+ background-image: url("../tab_a.png");
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none;
+}
+
+.hl {
+ font-weight: bold;
+}
+
+#searchresults {
+ margin-bottom: 20px;
+}
+
+.searchpages {
+ margin-top: 10px;
+}
+
diff --git a/docs/html/search/search.js b/docs/html/search/search.js
new file mode 100644
index 0000000..dedce3b
--- /dev/null
+++ b/docs/html/search/search.js
@@ -0,0 +1,791 @@
+function convertToId(search)
+{
+ var result = '';
+ for (i=0;i do a search
+ {
+ this.Search();
+ }
+ }
+
+ this.OnSearchSelectKey = function(evt)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 && this.searchIndex0) // Up
+ {
+ this.searchIndex--;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==13 || e.keyCode==27)
+ {
+ this.OnSelectItem(this.searchIndex);
+ this.CloseSelectionWindow();
+ this.DOMSearchField().focus();
+ }
+ return false;
+ }
+
+ // --------- Actions
+
+ // Closes the results window.
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.Activate(false);
+ }
+
+ this.CloseSelectionWindow = function()
+ {
+ this.DOMSearchSelectWindow().style.display = 'none';
+ }
+
+ // Performs a search.
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ // strip leading whitespace
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+ var code = searchValue.toLowerCase().charCodeAt(0);
+ var idxChar = searchValue.substr(0, 1).toLowerCase();
+ if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+ {
+ idxChar = searchValue.substr(0, 2);
+ }
+
+ var resultsPage;
+ var resultsPageWithSearch;
+ var hasResultsPage;
+
+ var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+ if (idx!=-1)
+ {
+ var hexCode=idx.toString(16);
+ resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+ hasResultsPage = true;
+ }
+ else // nothing available for this search term
+ {
+ resultsPage = this.resultsPath + '/nomatches.html';
+ resultsPageWithSearch = resultsPage;
+ hasResultsPage = false;
+ }
+
+ window.frames.MSearchResults.location = resultsPageWithSearch;
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+ if (domPopupSearchResultsWindow.style.display!='block')
+ {
+ var domSearchBox = this.DOMSearchBox();
+ this.DOMSearchClose().style.display = 'inline';
+ if (this.insideFrame)
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ domPopupSearchResultsWindow.style.position = 'relative';
+ domPopupSearchResultsWindow.style.display = 'block';
+ var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+ domPopupSearchResultsWindow.style.width = width + 'px';
+ domPopupSearchResults.style.width = width + 'px';
+ }
+ else
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+ var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
+ domPopupSearchResultsWindow.style.display = 'block';
+ left -= domPopupSearchResults.offsetWidth;
+ domPopupSearchResultsWindow.style.top = top + 'px';
+ domPopupSearchResultsWindow.style.left = left + 'px';
+ }
+ }
+
+ this.lastSearchValue = searchValue;
+ this.lastResultsPage = resultsPage;
+ }
+
+ // -------- Activation Functions
+
+ // Activates or deactivates the search panel, resetting things to
+ // their default values if necessary.
+ this.Activate = function(isActive)
+ {
+ if (isActive || // open it
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ )
+ {
+ this.DOMSearchBox().className = 'MSearchBoxActive';
+
+ var searchField = this.DOMSearchField();
+
+ if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+ {
+ searchField.value = '';
+ this.searchActive = true;
+ }
+ }
+ else if (!isActive) // directly remove the panel
+ {
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
+ this.DOMSearchField().value = this.searchLabel;
+ this.searchActive = false;
+ this.lastSearchValue = ''
+ this.lastResultsPage = '';
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+ // The number of matches from the last run of .
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
+
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id)
+ {
+ var parentElement = document.getElementById(id);
+ var element = parentElement.firstChild;
+
+ while (element && element!=parentElement)
+ {
+ if (element.nodeName == 'DIV' && element.className == 'SRChildren')
+ {
+ return element;
+ }
+
+ if (element.nodeName == 'DIV' && element.hasChildNodes())
+ {
+ element = element.firstChild;
+ }
+ else if (element.nextSibling)
+ {
+ element = element.nextSibling;
+ }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement)
+ {
+ element = element.nextSibling;
+ }
+ }
+ }
+ }
+
+ this.Toggle = function(id)
+ {
+ var element = this.FindChildElement(id);
+ if (element)
+ {
+ if (element.style.display == 'block')
+ {
+ element.style.display = 'none';
+ }
+ else
+ {
+ element.style.display = 'block';
+ }
+ }
+ }
+
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search)
+ {
+ if (!search) // get search word from URL
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search)
+ {
+ row.style.display = 'block';
+ matches++;
+ }
+ else
+ {
+ row.style.display = 'none';
+ }
+ }
+ i++;
+ }
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) // no results
+ {
+ document.getElementById("NoMatches").style.display='block';
+ }
+ else // at least one result
+ {
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
+
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index--;
+ }
+ return focusItem;
+ }
+
+ this.ProcessKeys = function(e)
+ {
+ if (e.type == "keydown")
+ {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ }
+ else if (e.type == "keypress")
+ {
+ if (!this.repeatOn)
+ {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
+ }
+ }
+ else if (e.type == "keyup")
+ {
+ this.lastKey = 0;
+ this.repeatOn = false;
+ }
+ return this.lastKey!=0;
+ }
+
+ this.Nav = function(evt,itemIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ var newIndex = itemIndex-1;
+ var focusItem = this.NavPrev(newIndex);
+ if (focusItem)
+ {
+ var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') // children visible
+ {
+ var n=0;
+ var tmpElem;
+ while (1) // search for last child
+ {
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem)
+ {
+ focusItem = tmpElem;
+ }
+ else // found it!
+ {
+ break;
+ }
+ n++;
+ }
+ }
+ }
+ if (focusItem)
+ {
+ focusItem.focus();
+ }
+ else // return focus to search field
+ {
+ parent.document.getElementById("MSearchField").focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = itemIndex+1;
+ var focusItem;
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') // children visible
+ {
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ }
+ else if (this.lastKey==39) // Right
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ }
+ else if (this.lastKey==37) // Left
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+
+ this.NavChild = function(evt,itemIndex,childIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ if (childIndex>0)
+ {
+ var newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ }
+ else // already at first child, jump to parent
+ {
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = childIndex+1;
+ var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) // last child, jump to parent next parent
+ {
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem)
+ {
+ elem.focus();
+ }
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+}
+
+function setKeyActions(elem,action)
+{
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+ var results = document.getElementById("SRResults");
+ for (var e=0; eli>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
diff --git a/docs/images/classcore_1_1_socket__inherit__graph.png b/docs/images/classcore_1_1_socket__inherit__graph.png
new file mode 100644
index 0000000..0da9eda
Binary files /dev/null and b/docs/images/classcore_1_1_socket__inherit__graph.png differ
diff --git a/docs/images/testimage.eps b/docs/images/testimage.eps
new file mode 100644
index 0000000..355f55f
--- /dev/null
+++ b/docs/images/testimage.eps
@@ -0,0 +1,253 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.15.10 (http://cairographics.org)
+%%CreationDate: Thu Aug 15 13:40:22 2019
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 0 458 764
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+ CairoDataIndex CairoData length lt
+ { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+ { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 458 764
+%%EndPageSetup
+q 0 0 458 764 rectclip
+1 0 0 -1 0 764 cm q
+0.207843 0.207843 0.392157 rg
+98.57 227.824 m 98.57 389.27 l 148.785 390.781 l 148.785 247.629 l h
+98.57 227.824 m f*
+0.913725 0.913725 1 rg
+148.785 247.629 m 289.262 140.047 l 289.262 382.578 l 148.785 390.781 l
+ h
+148.785 247.629 m f*
+0.301961 0.301961 0.623529 rg
+98.57 227.824 m 229.285 77.668 l 289.262 140.047 l 148.785 247.629 l h
+98.57 227.824 m f*
+0.686275 0.686275 0.870588 rg
+98.57 389.27 m 229.285 377.824 l 289.262 382.578 l 148.785 390.781 l h
+98.57 389.27 m f*
+0.843137 0.843137 1 rg
+229.285 77.668 m 229.285 377.824 l 289.262 382.578 l 289.262 140.047 l
+h
+229.285 77.668 m f*
+0.52549 0.52549 0.74902 rg
+98.57 227.824 m 229.285 77.668 l 229.285 377.824 l 98.57 389.27 l h
+98.57 227.824 m f*
+0.207843 0.207843 0.392157 rg
+137.145 453.969 m 137.145 624.254 l 193 593.648 l 193 446.875 l h
+137.145 453.969 m f*
+0.686275 0.686275 0.870588 rg
+137.145 624.254 m 188.57 684.027 l 248.254 636.461 l 193 593.648 l h
+137.145 624.254 m f*
+0.913725 0.913725 1 rg
+193 446.875 m 248.254 456.801 l 248.254 636.461 l 193 593.648 l h
+193 446.875 m f*
+0.301961 0.301961 0.623529 rg
+137.145 453.969 m 188.57 467.824 l 248.254 456.801 l 193 446.875 l h
+137.145 453.969 m f*
+0.843137 0.843137 1 rg
+188.57 467.824 m 188.57 684.027 l 248.254 636.461 l 248.254 456.801 l h
+188.57 467.824 m f*
+0.52549 0.52549 0.74902 rg
+137.145 453.969 m 188.57 467.824 l 188.57 684.027 l 137.145 624.254 l h
+137.145 453.969 m f*
+0.207843 0.207843 0.392157 rg
+319.285 416.395 m 319.285 489.141 l 372.332 468.5 l 372.332 413.105 l h
+319.285 416.395 m f*
+0.686275 0.686275 0.870588 rg
+319.285 489.141 m 402.855 508.539 l 441.336 479.176 l 372.332 468.5 l h
+319.285 489.141 m f*
+0.913725 0.913725 1 rg
+372.332 413.105 m 441.336 414.805 l 441.336 479.176 l 372.332 468.5 l h
+372.332 413.105 m f*
+0.301961 0.301961 0.623529 rg
+319.285 416.395 m 402.855 419.488 l 441.336 414.805 l 372.332 413.105 l
+ h
+319.285 416.395 m f*
+0.843137 0.843137 1 rg
+402.855 419.488 m 402.855 508.539 l 441.336 479.176 l 441.336 414.805 l
+ h
+402.855 419.488 m f*
+0.52549 0.52549 0.74902 rg
+319.285 416.395 m 402.855 419.488 l 402.855 508.539 l 319.285 489.141 l
+ h
+319.285 416.395 m f*
+0.207843 0.207843 0.392157 rg
+317.145 268.672 m 317.145 349.965 l 370.465 362.461 l 370.465 300.473 l
+ h
+317.145 268.672 m f*
+0.913725 0.913725 1 rg
+370.465 300.473 m 457.918 279.41 l 457.918 354.188 l 370.465 362.461 l
+h
+370.465 300.473 m f*
+0.301961 0.301961 0.623529 rg
+317.145 268.672 m 424.285 229.965 l 457.918 279.41 l 370.465 300.473 l
+h
+317.145 268.672 m f*
+0.686275 0.686275 0.870588 rg
+317.145 349.965 m 424.285 334.758 l 457.918 354.188 l 370.465 362.461 l
+ h
+317.145 349.965 m f*
+0.843137 0.843137 1 rg
+424.285 229.965 m 424.285 334.758 l 457.918 354.188 l 457.918 279.41 l
+h
+424.285 229.965 m f*
+0.52549 0.52549 0.74902 rg
+317.145 268.672 m 424.285 229.965 l 424.285 334.758 l 317.145 349.965 l
+ h
+317.145 268.672 m f*
+0.207843 0.207843 0.392157 rg
+6.43 420.68 m 6.43 461.984 l 32.109 459.133 l 32.109 419.812 l h
+6.43 420.68 m f*
+0.686275 0.686275 0.870588 rg
+6.43 461.984 m 64.285 519.254 l 107.289 508.746 l 32.109 459.133 l h
+6.43 461.984 m f*
+0.913725 0.913725 1 rg
+32.109 419.812 m 107.289 434.922 l 107.289 508.746 l 32.109 459.133 l h
+32.109 419.812 m f*
+0.301961 0.301961 0.623529 rg
+6.43 420.68 m 64.285 438.121 l 107.289 434.922 l 32.109 419.812 l h
+6.43 420.68 m f*
+0.843137 0.843137 1 rg
+64.285 438.121 m 64.285 519.254 l 107.289 508.746 l 107.289 434.922 l h
+64.285 438.121 m f*
+0.52549 0.52549 0.74902 rg
+6.43 420.68 m 64.285 438.121 l 64.285 519.254 l 6.43 461.984 l h
+6.43 420.68 m f*
+0.207843 0.207843 0.392157 rg
+308.57 579.254 m 308.57 687.637 l 362.945 621.156 l 362.945 538.051 l h
+308.57 579.254 m f*
+0.686275 0.686275 0.870588 rg
+308.57 687.637 m 405 763.539 l 443.012 663.172 l 362.945 621.156 l h
+308.57 687.637 m f*
+0.913725 0.913725 1 rg
+362.945 538.051 m 443.012 564.09 l 443.012 663.172 l 362.945 621.156 l
+h
+362.945 538.051 m f*
+0.301961 0.301961 0.623529 rg
+308.57 579.254 m 405 626.293 l 443.012 564.09 l 362.945 538.051 l h
+308.57 579.254 m f*
+0.843137 0.843137 1 rg
+405 626.293 m 405 763.539 l 443.012 663.172 l 443.012 564.09 l h
+405 626.293 m f*
+0.52549 0.52549 0.74902 rg
+308.57 579.254 m 405 626.293 l 405 763.539 l 308.57 687.637 l h
+308.57 579.254 m f*
+0.207843 0.207843 0.392157 rg
+0 157.109 m 0 276.426 l 23.324 281.859 l 23.324 167.68 l h
+0 157.109 m f*
+0.913725 0.913725 1 rg
+23.324 167.68 m 69.156 27.668 l 69.156 209.902 l 23.324 281.859 l h
+23.324 167.68 m f*
+0.301961 0.301961 0.623529 rg
+0 157.109 m 34.285 0 l 69.156 27.668 l 23.324 167.68 l h
+0 157.109 m f*
+0.686275 0.686275 0.870588 rg
+0 276.426 m 34.285 195.68 l 69.156 209.902 l 23.324 281.859 l h
+0 276.426 m f*
+0.843137 0.843137 1 rg
+34.285 0 m 34.285 195.68 l 69.156 209.902 l 69.156 27.668 l h
+34.285 0 m f*
+0.52549 0.52549 0.74902 rg
+0 157.109 m 34.285 0 l 34.285 195.68 l 0 276.426 l h
+0 157.109 m f*
+0.207843 0.207843 0.392157 rg
+2.145 330.68 m 2.145 388.594 l 26.266 389.219 l 26.266 333.895 l h
+2.145 330.68 m f*
+0.913725 0.913725 1 rg
+26.266 333.895 m 82.98 285.094 l 82.98 379.719 l 26.266 389.219 l h
+26.266 333.895 m f*
+0.301961 0.301961 0.623529 rg
+2.145 330.68 m 45 275.363 l 82.98 285.094 l 26.266 333.895 l h
+2.145 330.68 m f*
+0.686275 0.686275 0.870588 rg
+2.145 388.594 m 45 377.824 l 82.98 379.719 l 26.266 389.219 l h
+2.145 388.594 m f*
+0.843137 0.843137 1 rg
+45 275.363 m 45 377.824 l 82.98 379.719 l 82.98 285.094 l h
+45 275.363 m f*
+0.52549 0.52549 0.74902 rg
+2.145 330.68 m 45 275.363 l 45 377.824 l 2.145 388.594 l h
+2.145 330.68 m f*
+0.207843 0.207843 0.392157 rg
+345 88.539 m 345 186.145 l 394.336 240.434 l 394.336 167.309 l h
+345 88.539 m f*
+0.913725 0.913725 1 rg
+394.336 167.309 m 456.277 134.77 l 456.277 218.008 l 394.336 240.434 l
+h
+394.336 167.309 m f*
+0.301961 0.301961 0.623529 rg
+345 88.539 m 422.145 27.754 l 456.277 134.77 l 394.336 167.309 l h
+345 88.539 m f*
+0.686275 0.686275 0.870588 rg
+345 186.145 m 422.145 144.254 l 456.277 218.008 l 394.336 240.434 l h
+345 186.145 m f*
+0.843137 0.843137 1 rg
+422.145 27.754 m 422.145 144.254 l 456.277 218.008 l 456.277 134.77 l h
+422.145 27.754 m f*
+0.52549 0.52549 0.74902 rg
+345 88.539 m 422.145 27.754 l 422.145 144.254 l 345 186.145 l h
+345 88.539 m f*
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/docs/images/testimage.png b/docs/images/testimage.png
new file mode 100644
index 0000000..ba890f8
Binary files /dev/null and b/docs/images/testimage.png differ
diff --git a/docs/images/testimage.svg b/docs/images/testimage.svg
new file mode 100644
index 0000000..de69c93
--- /dev/null
+++ b/docs/images/testimage.svg
@@ -0,0 +1,517 @@
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jetserverblockdiagram.tex b/docs/jetserverblockdiagram.tex
similarity index 100%
rename from jetserverblockdiagram.tex
rename to docs/jetserverblockdiagram.tex
diff --git a/docs/latex/Makefile b/docs/latex/Makefile
new file mode 100644
index 0000000..8cc3866
--- /dev/null
+++ b/docs/latex/Makefile
@@ -0,0 +1,21 @@
+all: refman.pdf
+
+pdf: refman.pdf
+
+refman.pdf: clean refman.tex
+ pdflatex refman
+ makeindex refman.idx
+ pdflatex refman
+ latex_count=8 ; \
+ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
+ do \
+ echo "Rerunning latex...." ;\
+ pdflatex refman ;\
+ latex_count=`expr $$latex_count - 1` ;\
+ done
+ makeindex refman.idx
+ pdflatex refman
+
+
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
diff --git a/docs/latex/annotated.tex b/docs/latex/annotated.tex
new file mode 100644
index 0000000..856bd72
--- /dev/null
+++ b/docs/latex/annotated.tex
@@ -0,0 +1,21 @@
+\section{Class List}
+Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____configure}{http\+::\+\_\+\+\_\+configure} }{\pageref{classhttp_1_1____configure}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____editview}{http\+::\+\_\+\+\_\+editview} }{\pageref{classhttp_1_1____editview}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____favicon__ico}{http\+::\+\_\+\+\_\+favicon\+\_\+ico} }{\pageref{classhttp_1_1____favicon__ico}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____index}{http\+::\+\_\+\+\_\+index} }{\pageref{classhttp_1_1____index}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____mainmenu}{http\+::\+\_\+\+\_\+mainmenu} }{\pageref{classhttp_1_1____mainmenu}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____newview}{http\+::\+\_\+\+\_\+newview} }{\pageref{classhttp_1_1____newview}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____script}{http\+::\+\_\+\+\_\+script} }{\pageref{classhttp_1_1____script}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____setupadmin}{http\+::\+\_\+\+\_\+setupadmin} }{\pageref{classhttp_1_1____setupadmin}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____style}{http\+::\+\_\+\+\_\+style} }{\pageref{classhttp_1_1____style}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____viewlist}{http\+::\+\_\+\+\_\+viewlist} }{\pageref{classhttp_1_1____viewlist}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1____welcome}{http\+::\+\_\+\+\_\+welcome} }{\pageref{classhttp_1_1____welcome}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1_h_t_t_p_handler}{http\+::\+H\+T\+T\+P\+Handler} }{\pageref{classhttp_1_1_h_t_t_p_handler}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1_h_t_t_p_page}{http\+::\+H\+T\+T\+P\+Page} }{\pageref{classhttp_1_1_h_t_t_p_page}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1_h_t_t_p_page_list}{http\+::\+H\+T\+T\+P\+Page\+List} }{\pageref{classhttp_1_1_h_t_t_p_page_list}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1_h_t_t_p_request}{http\+::\+H\+T\+T\+P\+Request} }{\pageref{classhttp_1_1_h_t_t_p_request}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1_h_t_t_p_service}{http\+::\+H\+T\+T\+P\+Service} }{\pageref{classhttp_1_1_h_t_t_p_service}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1_h_t_t_p_session}{http\+::\+H\+T\+T\+P\+Session} }{\pageref{classhttp_1_1_h_t_t_p_session}}{}
+\item\contentsline{section}{\hyperlink{classhttp_1_1_h_t_t_p_sessions}{http\+::\+H\+T\+T\+P\+Sessions} }{\pageref{classhttp_1_1_h_t_t_p_sessions}}{}
+\end{DoxyCompactList}
diff --git a/docs/latex/classhttp_1_1____configure.tex b/docs/latex/classhttp_1_1____configure.tex
new file mode 100644
index 0000000..1a204d4
--- /dev/null
+++ b/docs/latex/classhttp_1_1____configure.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____configure}{}\section{http\+:\+:\+\_\+\+\_\+configure Class Reference}
+\label{classhttp_1_1____configure}\index{http\+::\+\_\+\+\_\+configure@{http\+::\+\_\+\+\_\+configure}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+configure\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=169pt]{classhttp_1_1____configure__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+configure\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=169pt]{classhttp_1_1____configure__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+configure.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____configure__coll__graph.md5 b/docs/latex/classhttp_1_1____configure__coll__graph.md5
new file mode 100644
index 0000000..b060dae
--- /dev/null
+++ b/docs/latex/classhttp_1_1____configure__coll__graph.md5
@@ -0,0 +1 @@
+02da6c0a1a934306a3ae51037a29b662
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____configure__coll__graph.pdf b/docs/latex/classhttp_1_1____configure__coll__graph.pdf
new file mode 100644
index 0000000..1d0b9da
Binary files /dev/null and b/docs/latex/classhttp_1_1____configure__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____configure__inherit__graph.md5 b/docs/latex/classhttp_1_1____configure__inherit__graph.md5
new file mode 100644
index 0000000..41adb38
--- /dev/null
+++ b/docs/latex/classhttp_1_1____configure__inherit__graph.md5
@@ -0,0 +1 @@
+0e79940811566d306783cd5131fde8ec
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____configure__inherit__graph.pdf b/docs/latex/classhttp_1_1____configure__inherit__graph.pdf
new file mode 100644
index 0000000..1d0b9da
Binary files /dev/null and b/docs/latex/classhttp_1_1____configure__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____editview.tex b/docs/latex/classhttp_1_1____editview.tex
new file mode 100644
index 0000000..f364abf
--- /dev/null
+++ b/docs/latex/classhttp_1_1____editview.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____editview}{}\section{http\+:\+:\+\_\+\+\_\+editview Class Reference}
+\label{classhttp_1_1____editview}\index{http\+::\+\_\+\+\_\+editview@{http\+::\+\_\+\+\_\+editview}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+editview\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____editview__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+editview\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____editview__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+editview.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____editview__coll__graph.md5 b/docs/latex/classhttp_1_1____editview__coll__graph.md5
new file mode 100644
index 0000000..939b760
--- /dev/null
+++ b/docs/latex/classhttp_1_1____editview__coll__graph.md5
@@ -0,0 +1 @@
+ac1841daea7f3ffcebdea564b527a6c0
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____editview__coll__graph.pdf b/docs/latex/classhttp_1_1____editview__coll__graph.pdf
new file mode 100644
index 0000000..4289bd5
Binary files /dev/null and b/docs/latex/classhttp_1_1____editview__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____editview__inherit__graph.md5 b/docs/latex/classhttp_1_1____editview__inherit__graph.md5
new file mode 100644
index 0000000..bc01017
--- /dev/null
+++ b/docs/latex/classhttp_1_1____editview__inherit__graph.md5
@@ -0,0 +1 @@
+8562a1f2c3a1d794ad570427014cebad
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____editview__inherit__graph.pdf b/docs/latex/classhttp_1_1____editview__inherit__graph.pdf
new file mode 100644
index 0000000..28129ba
Binary files /dev/null and b/docs/latex/classhttp_1_1____editview__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____favicon__ico.tex b/docs/latex/classhttp_1_1____favicon__ico.tex
new file mode 100644
index 0000000..cdae952
--- /dev/null
+++ b/docs/latex/classhttp_1_1____favicon__ico.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____favicon__ico}{}\section{http\+:\+:\+\_\+\+\_\+favicon\+\_\+ico Class Reference}
+\label{classhttp_1_1____favicon__ico}\index{http\+::\+\_\+\+\_\+favicon\+\_\+ico@{http\+::\+\_\+\+\_\+favicon\+\_\+ico}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+favicon\+\_\+ico\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=179pt]{classhttp_1_1____favicon__ico__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+favicon\+\_\+ico\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=179pt]{classhttp_1_1____favicon__ico__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+favicon\+\_\+ico.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____favicon__ico__coll__graph.md5 b/docs/latex/classhttp_1_1____favicon__ico__coll__graph.md5
new file mode 100644
index 0000000..3c6cda0
--- /dev/null
+++ b/docs/latex/classhttp_1_1____favicon__ico__coll__graph.md5
@@ -0,0 +1 @@
+58e4e6002d8f9dfafe49905b5043fbc1
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____favicon__ico__coll__graph.pdf b/docs/latex/classhttp_1_1____favicon__ico__coll__graph.pdf
new file mode 100644
index 0000000..9679e20
Binary files /dev/null and b/docs/latex/classhttp_1_1____favicon__ico__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____favicon__ico__inherit__graph.md5 b/docs/latex/classhttp_1_1____favicon__ico__inherit__graph.md5
new file mode 100644
index 0000000..f2503d0
--- /dev/null
+++ b/docs/latex/classhttp_1_1____favicon__ico__inherit__graph.md5
@@ -0,0 +1 @@
+c4d37c4edcccedbf86dbb562cd1a1ef0
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____favicon__ico__inherit__graph.pdf b/docs/latex/classhttp_1_1____favicon__ico__inherit__graph.pdf
new file mode 100644
index 0000000..9679e20
Binary files /dev/null and b/docs/latex/classhttp_1_1____favicon__ico__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____index.tex b/docs/latex/classhttp_1_1____index.tex
new file mode 100644
index 0000000..a7c249f
--- /dev/null
+++ b/docs/latex/classhttp_1_1____index.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____index}{}\section{http\+:\+:\+\_\+\+\_\+index Class Reference}
+\label{classhttp_1_1____index}\index{http\+::\+\_\+\+\_\+index@{http\+::\+\_\+\+\_\+index}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+index\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____index__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+index\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____index__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+index.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____index__coll__graph.md5 b/docs/latex/classhttp_1_1____index__coll__graph.md5
new file mode 100644
index 0000000..23e83c2
--- /dev/null
+++ b/docs/latex/classhttp_1_1____index__coll__graph.md5
@@ -0,0 +1 @@
+a916fd85f133fd1730eea37aedf19250
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____index__coll__graph.pdf b/docs/latex/classhttp_1_1____index__coll__graph.pdf
new file mode 100644
index 0000000..616648f
Binary files /dev/null and b/docs/latex/classhttp_1_1____index__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____index__inherit__graph.md5 b/docs/latex/classhttp_1_1____index__inherit__graph.md5
new file mode 100644
index 0000000..e000201
--- /dev/null
+++ b/docs/latex/classhttp_1_1____index__inherit__graph.md5
@@ -0,0 +1 @@
+12f19f3c5e73e04a844ab8f3af14de3b
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____index__inherit__graph.pdf b/docs/latex/classhttp_1_1____index__inherit__graph.pdf
new file mode 100644
index 0000000..616648f
Binary files /dev/null and b/docs/latex/classhttp_1_1____index__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____mainmenu.tex b/docs/latex/classhttp_1_1____mainmenu.tex
new file mode 100644
index 0000000..b5f6756
--- /dev/null
+++ b/docs/latex/classhttp_1_1____mainmenu.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____mainmenu}{}\section{http\+:\+:\+\_\+\+\_\+mainmenu Class Reference}
+\label{classhttp_1_1____mainmenu}\index{http\+::\+\_\+\+\_\+mainmenu@{http\+::\+\_\+\+\_\+mainmenu}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+mainmenu\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=175pt]{classhttp_1_1____mainmenu__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+mainmenu\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=175pt]{classhttp_1_1____mainmenu__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+mainmenu.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____mainmenu__coll__graph.md5 b/docs/latex/classhttp_1_1____mainmenu__coll__graph.md5
new file mode 100644
index 0000000..3fc2d97
--- /dev/null
+++ b/docs/latex/classhttp_1_1____mainmenu__coll__graph.md5
@@ -0,0 +1 @@
+45c7bdb0e3ac23856e16db51783637f1
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____mainmenu__coll__graph.pdf b/docs/latex/classhttp_1_1____mainmenu__coll__graph.pdf
new file mode 100644
index 0000000..ba243a9
Binary files /dev/null and b/docs/latex/classhttp_1_1____mainmenu__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____mainmenu__inherit__graph.md5 b/docs/latex/classhttp_1_1____mainmenu__inherit__graph.md5
new file mode 100644
index 0000000..bab4aec
--- /dev/null
+++ b/docs/latex/classhttp_1_1____mainmenu__inherit__graph.md5
@@ -0,0 +1 @@
+04ba70e3395dcf78b4f10e88e79f5693
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____mainmenu__inherit__graph.pdf b/docs/latex/classhttp_1_1____mainmenu__inherit__graph.pdf
new file mode 100644
index 0000000..ba243a9
Binary files /dev/null and b/docs/latex/classhttp_1_1____mainmenu__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____newview.tex b/docs/latex/classhttp_1_1____newview.tex
new file mode 100644
index 0000000..f5888b9
--- /dev/null
+++ b/docs/latex/classhttp_1_1____newview.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____newview}{}\section{http\+:\+:\+\_\+\+\_\+newview Class Reference}
+\label{classhttp_1_1____newview}\index{http\+::\+\_\+\+\_\+newview@{http\+::\+\_\+\+\_\+newview}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+newview\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____newview__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+newview\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____newview__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+newview.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____newview__coll__graph.md5 b/docs/latex/classhttp_1_1____newview__coll__graph.md5
new file mode 100644
index 0000000..ab84682
--- /dev/null
+++ b/docs/latex/classhttp_1_1____newview__coll__graph.md5
@@ -0,0 +1 @@
+6cbfe3bbe9663fc4eafc95a31a343494
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____newview__coll__graph.pdf b/docs/latex/classhttp_1_1____newview__coll__graph.pdf
new file mode 100644
index 0000000..96f5f6e
Binary files /dev/null and b/docs/latex/classhttp_1_1____newview__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____newview__inherit__graph.md5 b/docs/latex/classhttp_1_1____newview__inherit__graph.md5
new file mode 100644
index 0000000..ddc2afe
--- /dev/null
+++ b/docs/latex/classhttp_1_1____newview__inherit__graph.md5
@@ -0,0 +1 @@
+1138c695c658238a3967a78df9614166
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____newview__inherit__graph.pdf b/docs/latex/classhttp_1_1____newview__inherit__graph.pdf
new file mode 100644
index 0000000..96f5f6e
Binary files /dev/null and b/docs/latex/classhttp_1_1____newview__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____script.tex b/docs/latex/classhttp_1_1____script.tex
new file mode 100644
index 0000000..b1eb90c
--- /dev/null
+++ b/docs/latex/classhttp_1_1____script.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____script}{}\section{http\+:\+:\+\_\+\+\_\+script Class Reference}
+\label{classhttp_1_1____script}\index{http\+::\+\_\+\+\_\+script@{http\+::\+\_\+\+\_\+script}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+script\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____script__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+script\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____script__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+script.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____script__coll__graph.md5 b/docs/latex/classhttp_1_1____script__coll__graph.md5
new file mode 100644
index 0000000..f14211d
--- /dev/null
+++ b/docs/latex/classhttp_1_1____script__coll__graph.md5
@@ -0,0 +1 @@
+72b1a165e8d9b0f039fdb3f31002547a
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____script__coll__graph.pdf b/docs/latex/classhttp_1_1____script__coll__graph.pdf
new file mode 100644
index 0000000..8e7bd66
Binary files /dev/null and b/docs/latex/classhttp_1_1____script__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____script__inherit__graph.md5 b/docs/latex/classhttp_1_1____script__inherit__graph.md5
new file mode 100644
index 0000000..0c56c8a
--- /dev/null
+++ b/docs/latex/classhttp_1_1____script__inherit__graph.md5
@@ -0,0 +1 @@
+cb22b44314351e80a0a55d7d32dc2e9a
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____script__inherit__graph.pdf b/docs/latex/classhttp_1_1____script__inherit__graph.pdf
new file mode 100644
index 0000000..8e7bd66
Binary files /dev/null and b/docs/latex/classhttp_1_1____script__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____setupadmin.tex b/docs/latex/classhttp_1_1____setupadmin.tex
new file mode 100644
index 0000000..4dbfec2
--- /dev/null
+++ b/docs/latex/classhttp_1_1____setupadmin.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____setupadmin}{}\section{http\+:\+:\+\_\+\+\_\+setupadmin Class Reference}
+\label{classhttp_1_1____setupadmin}\index{http\+::\+\_\+\+\_\+setupadmin@{http\+::\+\_\+\+\_\+setupadmin}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+setupadmin\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classhttp_1_1____setupadmin__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+setupadmin\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classhttp_1_1____setupadmin__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+setupadmin.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____setupadmin__coll__graph.md5 b/docs/latex/classhttp_1_1____setupadmin__coll__graph.md5
new file mode 100644
index 0000000..c40cdc6
--- /dev/null
+++ b/docs/latex/classhttp_1_1____setupadmin__coll__graph.md5
@@ -0,0 +1 @@
+e6a00b4c5b382863a8b81dfbd76e49f9
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____setupadmin__coll__graph.pdf b/docs/latex/classhttp_1_1____setupadmin__coll__graph.pdf
new file mode 100644
index 0000000..655aed8
Binary files /dev/null and b/docs/latex/classhttp_1_1____setupadmin__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____setupadmin__inherit__graph.md5 b/docs/latex/classhttp_1_1____setupadmin__inherit__graph.md5
new file mode 100644
index 0000000..d5602f9
--- /dev/null
+++ b/docs/latex/classhttp_1_1____setupadmin__inherit__graph.md5
@@ -0,0 +1 @@
+3801d95356a4ac31224327a26af07147
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____setupadmin__inherit__graph.pdf b/docs/latex/classhttp_1_1____setupadmin__inherit__graph.pdf
new file mode 100644
index 0000000..655aed8
Binary files /dev/null and b/docs/latex/classhttp_1_1____setupadmin__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____style.tex b/docs/latex/classhttp_1_1____style.tex
new file mode 100644
index 0000000..56a844b
--- /dev/null
+++ b/docs/latex/classhttp_1_1____style.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____style}{}\section{http\+:\+:\+\_\+\+\_\+style Class Reference}
+\label{classhttp_1_1____style}\index{http\+::\+\_\+\+\_\+style@{http\+::\+\_\+\+\_\+style}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+style\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____style__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+style\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____style__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+style.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____style__coll__graph.md5 b/docs/latex/classhttp_1_1____style__coll__graph.md5
new file mode 100644
index 0000000..83f0fee
--- /dev/null
+++ b/docs/latex/classhttp_1_1____style__coll__graph.md5
@@ -0,0 +1 @@
+426b7bb826ed5c97a03834aba684d404
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____style__coll__graph.pdf b/docs/latex/classhttp_1_1____style__coll__graph.pdf
new file mode 100644
index 0000000..1a2dbb7
Binary files /dev/null and b/docs/latex/classhttp_1_1____style__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____style__inherit__graph.md5 b/docs/latex/classhttp_1_1____style__inherit__graph.md5
new file mode 100644
index 0000000..6c8f1ea
--- /dev/null
+++ b/docs/latex/classhttp_1_1____style__inherit__graph.md5
@@ -0,0 +1 @@
+60d8bea5571972bdb3a30a95047cc0d7
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____style__inherit__graph.pdf b/docs/latex/classhttp_1_1____style__inherit__graph.pdf
new file mode 100644
index 0000000..1a2dbb7
Binary files /dev/null and b/docs/latex/classhttp_1_1____style__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____viewlist.tex b/docs/latex/classhttp_1_1____viewlist.tex
new file mode 100644
index 0000000..194178d
--- /dev/null
+++ b/docs/latex/classhttp_1_1____viewlist.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____viewlist}{}\section{http\+:\+:\+\_\+\+\_\+viewlist Class Reference}
+\label{classhttp_1_1____viewlist}\index{http\+::\+\_\+\+\_\+viewlist@{http\+::\+\_\+\+\_\+viewlist}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+viewlist\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____viewlist__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+viewlist\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1____viewlist__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+viewlist.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____viewlist__coll__graph.md5 b/docs/latex/classhttp_1_1____viewlist__coll__graph.md5
new file mode 100644
index 0000000..4cd3caf
--- /dev/null
+++ b/docs/latex/classhttp_1_1____viewlist__coll__graph.md5
@@ -0,0 +1 @@
+549b1133027d1d99dcd30144466660d5
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____viewlist__coll__graph.pdf b/docs/latex/classhttp_1_1____viewlist__coll__graph.pdf
new file mode 100644
index 0000000..007fd1e
Binary files /dev/null and b/docs/latex/classhttp_1_1____viewlist__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____viewlist__inherit__graph.md5 b/docs/latex/classhttp_1_1____viewlist__inherit__graph.md5
new file mode 100644
index 0000000..0029de1
--- /dev/null
+++ b/docs/latex/classhttp_1_1____viewlist__inherit__graph.md5
@@ -0,0 +1 @@
+8c57cb6bc5a18e4afbb7075b989ed21c
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____viewlist__inherit__graph.pdf b/docs/latex/classhttp_1_1____viewlist__inherit__graph.pdf
new file mode 100644
index 0000000..007fd1e
Binary files /dev/null and b/docs/latex/classhttp_1_1____viewlist__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____welcome.tex b/docs/latex/classhttp_1_1____welcome.tex
new file mode 100644
index 0000000..1447006
--- /dev/null
+++ b/docs/latex/classhttp_1_1____welcome.tex
@@ -0,0 +1,28 @@
+\hypertarget{classhttp_1_1____welcome}{}\section{http\+:\+:\+\_\+\+\_\+welcome Class Reference}
+\label{classhttp_1_1____welcome}\index{http\+::\+\_\+\+\_\+welcome@{http\+::\+\_\+\+\_\+welcome}}
+
+
+Inheritance diagram for http\+:\+:\+\_\+\+\_\+welcome\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=169pt]{classhttp_1_1____welcome__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:\+\_\+\+\_\+welcome\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=169pt]{classhttp_1_1____welcome__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/\+\_\+\+\_\+welcome.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1____welcome__coll__graph.md5 b/docs/latex/classhttp_1_1____welcome__coll__graph.md5
new file mode 100644
index 0000000..3bccbee
--- /dev/null
+++ b/docs/latex/classhttp_1_1____welcome__coll__graph.md5
@@ -0,0 +1 @@
+f2ea0f67c2f816c2a933bc2c0282a484
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____welcome__coll__graph.pdf b/docs/latex/classhttp_1_1____welcome__coll__graph.pdf
new file mode 100644
index 0000000..d115857
Binary files /dev/null and b/docs/latex/classhttp_1_1____welcome__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1____welcome__inherit__graph.md5 b/docs/latex/classhttp_1_1____welcome__inherit__graph.md5
new file mode 100644
index 0000000..6d04d08
--- /dev/null
+++ b/docs/latex/classhttp_1_1____welcome__inherit__graph.md5
@@ -0,0 +1 @@
+64e25d72f9250388ddf984a07cef5376
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1____welcome__inherit__graph.pdf b/docs/latex/classhttp_1_1____welcome__inherit__graph.pdf
new file mode 100644
index 0000000..d115857
Binary files /dev/null and b/docs/latex/classhttp_1_1____welcome__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_handler.tex b/docs/latex/classhttp_1_1_h_t_t_p_handler.tex
new file mode 100644
index 0000000..09a0282
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_handler.tex
@@ -0,0 +1,34 @@
+\hypertarget{classhttp_1_1_h_t_t_p_handler}{}\section{http\+:\+:H\+T\+T\+P\+Handler Class Reference}
+\label{classhttp_1_1_h_t_t_p_handler}\index{http\+::\+H\+T\+T\+P\+Handler@{http\+::\+H\+T\+T\+P\+Handler}}
+
+
+Inheritance diagram for http\+:\+:H\+T\+T\+P\+Handler\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=179pt]{classhttp_1_1_h_t_t_p_handler__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:H\+T\+T\+P\+Handler\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=179pt]{classhttp_1_1_h_t_t_p_handler__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_handler_a116a7555b22a5b04af9f7e5987b50925}\label{classhttp_1_1_h_t_t_p_handler_a116a7555b22a5b04af9f7e5987b50925}}
+int {\bfseries process\+Command} (std\+::string request, core\+::\+Session $\ast$session, std\+::stringstream \&data) override
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Handler.\+h\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Handler.\+cpp\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_handler__coll__graph.md5 b/docs/latex/classhttp_1_1_h_t_t_p_handler__coll__graph.md5
new file mode 100644
index 0000000..98b1696
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_handler__coll__graph.md5
@@ -0,0 +1 @@
+a485be100c6640d8d9a3be060e4a67ab
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_handler__coll__graph.pdf b/docs/latex/classhttp_1_1_h_t_t_p_handler__coll__graph.pdf
new file mode 100644
index 0000000..926b4a0
Binary files /dev/null and b/docs/latex/classhttp_1_1_h_t_t_p_handler__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_handler__inherit__graph.md5 b/docs/latex/classhttp_1_1_h_t_t_p_handler__inherit__graph.md5
new file mode 100644
index 0000000..f477792
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_handler__inherit__graph.md5
@@ -0,0 +1 @@
+66d046b5e8029e00087e5c55c8391124
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_handler__inherit__graph.pdf b/docs/latex/classhttp_1_1_h_t_t_p_handler__inherit__graph.pdf
new file mode 100644
index 0000000..926b4a0
Binary files /dev/null and b/docs/latex/classhttp_1_1_h_t_t_p_handler__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_page.tex b/docs/latex/classhttp_1_1_h_t_t_p_page.tex
new file mode 100644
index 0000000..74ab640
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_page.tex
@@ -0,0 +1,36 @@
+\hypertarget{classhttp_1_1_h_t_t_p_page}{}\section{http\+:\+:H\+T\+T\+P\+Page Class Reference}
+\label{classhttp_1_1_h_t_t_p_page}\index{http\+::\+H\+T\+T\+P\+Page@{http\+::\+H\+T\+T\+P\+Page}}
+
+
+Inheritance diagram for http\+:\+:H\+T\+T\+P\+Page\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=350pt]{classhttp_1_1_h_t_t_p_page__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:H\+T\+T\+P\+Page\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=168pt]{classhttp_1_1_h_t_t_p_page__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_page_a9c2e8051c474c92c82d5ac0d7d0eadc6}\label{classhttp_1_1_h_t_t_p_page_a9c2e8051c474c92c82d5ac0d7d0eadc6}}
+bool {\bfseries check} (std\+::string request)
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_page_ae0a2f8862c5021531e138273c80db488}\label{classhttp_1_1_h_t_t_p_page_ae0a2f8862c5021531e138273c80db488}}
+virtual int {\bfseries process\+Command} (std\+::string request, core\+::\+Session $\ast$session, \hyperlink{classhttp_1_1_h_t_t_p_session}{H\+T\+T\+P\+Session} $\ast$http\+Session, \hyperlink{classhttp_1_1_h_t_t_p_request}{H\+T\+T\+P\+Request} \&http\+Request, std\+::stringstream \&data)
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Page.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_page__coll__graph.md5 b/docs/latex/classhttp_1_1_h_t_t_p_page__coll__graph.md5
new file mode 100644
index 0000000..1358622
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_page__coll__graph.md5
@@ -0,0 +1 @@
+d8dc697d95c4d109dd6e17e202c84a16
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_page__coll__graph.pdf b/docs/latex/classhttp_1_1_h_t_t_p_page__coll__graph.pdf
new file mode 100644
index 0000000..6a90d77
Binary files /dev/null and b/docs/latex/classhttp_1_1_h_t_t_p_page__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_page__inherit__graph.md5 b/docs/latex/classhttp_1_1_h_t_t_p_page__inherit__graph.md5
new file mode 100644
index 0000000..9cb51b9
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_page__inherit__graph.md5
@@ -0,0 +1 @@
+da67dc0adb7322f4d9455a2eea7d2932
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_page__inherit__graph.pdf b/docs/latex/classhttp_1_1_h_t_t_p_page__inherit__graph.pdf
new file mode 100644
index 0000000..0186c64
Binary files /dev/null and b/docs/latex/classhttp_1_1_h_t_t_p_page__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_page_list.tex b/docs/latex/classhttp_1_1_h_t_t_p_page_list.tex
new file mode 100644
index 0000000..cb3fe2b
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_page_list.tex
@@ -0,0 +1,26 @@
+\hypertarget{classhttp_1_1_h_t_t_p_page_list}{}\section{http\+:\+:H\+T\+T\+P\+Page\+List Class Reference}
+\label{classhttp_1_1_h_t_t_p_page_list}\index{http\+::\+H\+T\+T\+P\+Page\+List@{http\+::\+H\+T\+T\+P\+Page\+List}}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_page_list_a9d691407f0def0a61dec4481cdfb5f44}\label{classhttp_1_1_h_t_t_p_page_list_a9d691407f0def0a61dec4481cdfb5f44}}
+bool {\bfseries process\+Request} (\hyperlink{classhttp_1_1_h_t_t_p_request}{H\+T\+T\+P\+Request} \&http\+Request, core\+::\+Session $\ast$session, \hyperlink{classhttp_1_1_h_t_t_p_session}{H\+T\+T\+P\+Session} $\ast$http\+Session, std\+::stringstream \&data)
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_page_list_a90d1c2e87bb110e4046ef26e824bdb93}\label{classhttp_1_1_h_t_t_p_page_list_a90d1c2e87bb110e4046ef26e824bdb93}}
+void {\bfseries add} (\hyperlink{classhttp_1_1_h_t_t_p_page}{H\+T\+T\+P\+Page} \&page, std\+::string name=\char`\"{}\char`\"{})
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_page_list_a7702b4d2414494936340936b19f0aa48}\label{classhttp_1_1_h_t_t_p_page_list_a7702b4d2414494936340936b19f0aa48}}
+void {\bfseries remove} (\hyperlink{classhttp_1_1_h_t_t_p_page}{H\+T\+T\+P\+Page} \&page)
+\end{DoxyCompactItemize}
+\subsection*{Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_page_list_a179922431dd6ee1d040961e04737416f}\label{classhttp_1_1_h_t_t_p_page_list_a179922431dd6ee1d040961e04737416f}}
+std\+::vector$<$ \hyperlink{classhttp_1_1_h_t_t_p_page}{H\+T\+T\+P\+Page} $\ast$ $>$ {\bfseries pages}
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Page\+List.\+h\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Page\+List.\+cpp\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_request.tex b/docs/latex/classhttp_1_1_h_t_t_p_request.tex
new file mode 100644
index 0000000..c3e9b02
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_request.tex
@@ -0,0 +1,42 @@
+\hypertarget{classhttp_1_1_h_t_t_p_request}{}\section{http\+:\+:H\+T\+T\+P\+Request Class Reference}
+\label{classhttp_1_1_h_t_t_p_request}\index{http\+::\+H\+T\+T\+P\+Request@{http\+::\+H\+T\+T\+P\+Request}}
+
+
+Inheritance diagram for http\+:\+:H\+T\+T\+P\+Request\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=196pt]{classhttp_1_1_h_t_t_p_request__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:H\+T\+T\+P\+Request\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=196pt]{classhttp_1_1_h_t_t_p_request__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_request_a9641b966c8bf3ac869d697b9f97151a3}\label{classhttp_1_1_h_t_t_p_request_a9641b966c8bf3ac869d697b9f97151a3}}
+{\bfseries H\+T\+T\+P\+Request} (coreutils\+::\+P\+String \&in)
+\end{DoxyCompactItemize}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_request_adb44f065d00e041bc218b3c1d2e9ca77}\label{classhttp_1_1_h_t_t_p_request_adb44f065d00e041bc218b3c1d2e9ca77}}
+coreutils\+::\+I\+M\+F\+Request {\bfseries request}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_request_ac5a93969793307ede6511b3579701606}\label{classhttp_1_1_h_t_t_p_request_ac5a93969793307ede6511b3579701606}}
+coreutils\+::\+I\+M\+F\+Response {\bfseries response}
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Request.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_request__coll__graph.md5 b/docs/latex/classhttp_1_1_h_t_t_p_request__coll__graph.md5
new file mode 100644
index 0000000..b2c194b
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_request__coll__graph.md5
@@ -0,0 +1 @@
+e5e333fbe91f3890cfbbb8a14b0c6a98
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_request__coll__graph.pdf b/docs/latex/classhttp_1_1_h_t_t_p_request__coll__graph.pdf
new file mode 100644
index 0000000..72d23b8
Binary files /dev/null and b/docs/latex/classhttp_1_1_h_t_t_p_request__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_request__inherit__graph.md5 b/docs/latex/classhttp_1_1_h_t_t_p_request__inherit__graph.md5
new file mode 100644
index 0000000..e58ff5d
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_request__inherit__graph.md5
@@ -0,0 +1 @@
+2cd2792c48e506ec049f76534355c872
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_request__inherit__graph.pdf b/docs/latex/classhttp_1_1_h_t_t_p_request__inherit__graph.pdf
new file mode 100644
index 0000000..72d23b8
Binary files /dev/null and b/docs/latex/classhttp_1_1_h_t_t_p_request__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_service.tex b/docs/latex/classhttp_1_1_h_t_t_p_service.tex
new file mode 100644
index 0000000..a297183
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_service.tex
@@ -0,0 +1,36 @@
+\hypertarget{classhttp_1_1_h_t_t_p_service}{}\section{http\+:\+:H\+T\+T\+P\+Service Class Reference}
+\label{classhttp_1_1_h_t_t_p_service}\index{http\+::\+H\+T\+T\+P\+Service@{http\+::\+H\+T\+T\+P\+Service}}
+
+
+Inheritance diagram for http\+:\+:H\+T\+T\+P\+Service\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=178pt]{classhttp_1_1_h_t_t_p_service__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for http\+:\+:H\+T\+T\+P\+Service\+:
+\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=350pt]{classhttp_1_1_h_t_t_p_service__coll__graph}
+\end{center}
+\end{figure}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_service_a3ea97eaeec6b7222467a4b2cfeae0ea4}\label{classhttp_1_1_h_t_t_p_service_a3ea97eaeec6b7222467a4b2cfeae0ea4}}
+\hyperlink{classhttp_1_1_h_t_t_p_sessions}{H\+T\+T\+P\+Sessions} {\bfseries http\+Sessions}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_service_a6c07a8dbd1b92daea17f4698ad66b446}\label{classhttp_1_1_h_t_t_p_service_a6c07a8dbd1b92daea17f4698ad66b446}}
+\hyperlink{classhttp_1_1_h_t_t_p_page_list}{H\+T\+T\+P\+Page\+List} {\bfseries page\+List}
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Service.\+h\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_service__coll__graph.md5 b/docs/latex/classhttp_1_1_h_t_t_p_service__coll__graph.md5
new file mode 100644
index 0000000..64e0d60
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_service__coll__graph.md5
@@ -0,0 +1 @@
+12e54dd72b29fbc95e9790df8962cd2b
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_service__coll__graph.pdf b/docs/latex/classhttp_1_1_h_t_t_p_service__coll__graph.pdf
new file mode 100644
index 0000000..2eaab34
Binary files /dev/null and b/docs/latex/classhttp_1_1_h_t_t_p_service__coll__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_service__inherit__graph.md5 b/docs/latex/classhttp_1_1_h_t_t_p_service__inherit__graph.md5
new file mode 100644
index 0000000..ebe56cc
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_service__inherit__graph.md5
@@ -0,0 +1 @@
+686d10e1a28014555e87c0c6bab73902
\ No newline at end of file
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_service__inherit__graph.pdf b/docs/latex/classhttp_1_1_h_t_t_p_service__inherit__graph.pdf
new file mode 100644
index 0000000..768fb10
Binary files /dev/null and b/docs/latex/classhttp_1_1_h_t_t_p_service__inherit__graph.pdf differ
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_session.tex b/docs/latex/classhttp_1_1_h_t_t_p_session.tex
new file mode 100644
index 0000000..b6bca65
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_session.tex
@@ -0,0 +1,17 @@
+\hypertarget{classhttp_1_1_h_t_t_p_session}{}\section{http\+:\+:H\+T\+T\+P\+Session Class Reference}
+\label{classhttp_1_1_h_t_t_p_session}\index{http\+::\+H\+T\+T\+P\+Session@{http\+::\+H\+T\+T\+P\+Session}}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_session_af1ba9099eba793fac24879e8a43356e8}\label{classhttp_1_1_h_t_t_p_session_af1ba9099eba793fac24879e8a43356e8}}
+{\bfseries H\+T\+T\+P\+Session} (std\+::string session\+Id)
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_session_aa1099911443daa74453aa77a5c1fd356}\label{classhttp_1_1_h_t_t_p_session_aa1099911443daa74453aa77a5c1fd356}}
+std\+::string {\bfseries get\+Session\+Id} ()
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Session.\+h\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Session.\+cpp\end{DoxyCompactItemize}
diff --git a/docs/latex/classhttp_1_1_h_t_t_p_sessions.tex b/docs/latex/classhttp_1_1_h_t_t_p_sessions.tex
new file mode 100644
index 0000000..0d44ac2
--- /dev/null
+++ b/docs/latex/classhttp_1_1_h_t_t_p_sessions.tex
@@ -0,0 +1,17 @@
+\hypertarget{classhttp_1_1_h_t_t_p_sessions}{}\section{http\+:\+:H\+T\+T\+P\+Sessions Class Reference}
+\label{classhttp_1_1_h_t_t_p_sessions}\index{http\+::\+H\+T\+T\+P\+Sessions@{http\+::\+H\+T\+T\+P\+Sessions}}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_sessions_a07732d978836c004241ba2d47d11a4a4}\label{classhttp_1_1_h_t_t_p_sessions_a07732d978836c004241ba2d47d11a4a4}}
+\hyperlink{classhttp_1_1_h_t_t_p_session}{H\+T\+T\+P\+Session} $\ast$ {\bfseries find\+Session\+By\+Header} (\hyperlink{classhttp_1_1_h_t_t_p_request}{H\+T\+T\+P\+Request} \&http\+Request)
+\item
+\mbox{\Hypertarget{classhttp_1_1_h_t_t_p_sessions_a324dea95aaece7779cef4e80310cb054}\label{classhttp_1_1_h_t_t_p_sessions_a324dea95aaece7779cef4e80310cb054}}
+\hyperlink{classhttp_1_1_h_t_t_p_session}{H\+T\+T\+P\+Session} $\ast$ {\bfseries find\+Session\+By\+Id} (std\+::string session\+Id, \hyperlink{classhttp_1_1_h_t_t_p_request}{H\+T\+T\+P\+Request} \&http\+Request)
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Sessions.\+h\item
+/home/bradarant/barant/\+H\+T\+T\+P\+Server/H\+T\+T\+P\+Sessions.\+cpp\end{DoxyCompactItemize}
diff --git a/docs/latex/doxygen.sty b/docs/latex/doxygen.sty
new file mode 100644
index 0000000..e457acc
--- /dev/null
+++ b/docs/latex/doxygen.sty
@@ -0,0 +1,503 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+
+% Packages used by this style file
+\RequirePackage{alltt}
+\RequirePackage{array}
+\RequirePackage{calc}
+\RequirePackage{float}
+\RequirePackage{ifthen}
+\RequirePackage{verbatim}
+\RequirePackage[table]{xcolor}
+\RequirePackage{longtable}
+\RequirePackage{tabu}
+\RequirePackage{tabularx}
+\RequirePackage{multirow}
+
+%---------- Internal commands used in this style file ----------------
+
+\newcommand{\ensurespace}[1]{%
+ \begingroup%
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@%
+ \penalty -100\vskip\z@\@plus -\dimen@%
+ \vskip\dimen@%
+ \penalty 9999%
+ \vskip -\dimen@%
+ \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
+ \endgroup%
+}
+
+\newcommand{\DoxyLabelFont}{}
+\newcommand{\entrylabel}[1]{%
+ {%
+ \parbox[b]{\labelwidth-4pt}{%
+ \makebox[0pt][l]{\DoxyLabelFont#1}%
+ \vspace{1.5\baselineskip}%
+ }%
+ }%
+}
+
+\newenvironment{DoxyDesc}[1]{%
+ \ensurespace{4\baselineskip}%
+ \begin{list}{}{%
+ \settowidth{\labelwidth}{20pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }%
+ \item[#1]%
+}{%
+ \end{list}%
+}
+
+\newsavebox{\xrefbox}
+\newlength{\xreflength}
+\newcommand{\xreflabel}[1]{%
+ \sbox{\xrefbox}{#1}%
+ \setlength{\xreflength}{\wd\xrefbox}%
+ \ifthenelse{\xreflength>\labelwidth}{%
+ \begin{minipage}{\textwidth}%
+ \setlength{\parindent}{0pt}%
+ \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
+ \end{minipage}%
+ }{%
+ \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
+ }%
+}
+
+%---------- Commands used by doxygen LaTeX output generator ----------
+
+% Used by ...
+\newenvironment{DoxyPre}{%
+ \small%
+ \begin{alltt}%
+}{%
+ \end{alltt}%
+ \normalsize%
+}
+
+% Used by @code ... @endcode
+\newenvironment{DoxyCode}{%
+ \par%
+ \scriptsize%
+ \begin{alltt}%
+}{%
+ \end{alltt}%
+ \normalsize%
+}
+
+% Used by @example, @include, @includelineno and @dontinclude
+\newenvironment{DoxyCodeInclude}{%
+ \DoxyCode%
+}{%
+ \endDoxyCode%
+}
+
+% Used by @verbatim ... @endverbatim
+\newenvironment{DoxyVerb}{%
+ \footnotesize%
+ \verbatim%
+}{%
+ \endverbatim%
+ \normalsize%
+}
+
+% Used by @verbinclude
+\newenvironment{DoxyVerbInclude}{%
+ \DoxyVerb%
+}{%
+ \endDoxyVerb%
+}
+
+% Used by numbered lists (using '-#' or ... )
+\newenvironment{DoxyEnumerate}{%
+ \enumerate%
+}{%
+ \endenumerate%
+}
+
+% Used by bullet lists (using '-', @li, @arg, or )
+\newenvironment{DoxyItemize}{%
+ \itemize%
+}{%
+ \enditemize%
+}
+
+% Used by description lists (using ... )
+\newenvironment{DoxyDescription}{%
+ \description%
+}{%
+ \enddescription%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if caption is specified)
+\newenvironment{DoxyImage}{%
+ \begin{figure}[H]%
+ \begin{center}%
+}{%
+ \end{center}%
+ \end{figure}%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if no caption is specified)
+\newenvironment{DoxyImageNoCaption}{%
+ \begin{center}%
+}{%
+ \end{center}%
+}
+
+% Used by @attention
+\newenvironment{DoxyAttention}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @author and @authors
+\newenvironment{DoxyAuthor}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @date
+\newenvironment{DoxyDate}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @invariant
+\newenvironment{DoxyInvariant}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @note
+\newenvironment{DoxyNote}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @post
+\newenvironment{DoxyPostcond}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @pre
+\newenvironment{DoxyPrecond}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @copyright
+\newenvironment{DoxyCopyright}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @remark
+\newenvironment{DoxyRemark}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @return and @returns
+\newenvironment{DoxyReturn}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @since
+\newenvironment{DoxySince}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @see
+\newenvironment{DoxySeeAlso}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @version
+\newenvironment{DoxyVersion}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @warning
+\newenvironment{DoxyWarning}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @internal
+\newenvironment{DoxyInternal}[1]{%
+ \paragraph*{#1}%
+}{%
+}
+
+% Used by @par and @paragraph
+\newenvironment{DoxyParagraph}[1]{%
+ \begin{list}{}{%
+ \settowidth{\labelwidth}{40pt}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{-4pt}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }%
+ \item[#1]%
+}{%
+ \end{list}%
+}
+
+% Used by parameter lists
+\newenvironment{DoxyParams}[2][]{%
+ \tabulinesep=1mm%
+ \par%
+ \ifthenelse{\equal{#1}{}}%
+ {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
+ {\ifthenelse{\equal{#1}{1}}%
+ {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
+ {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
+ }
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu}%
+ \vspace{6pt}%
+}
+
+% Used for fields of simple structs
+\newenvironment{DoxyFields}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
+ \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu}%
+ \vspace{6pt}%
+}
+
+% Used for fields simple class style enums
+\newenvironment{DoxyEnumFields}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu}%
+ \vspace{6pt}%
+}
+
+% Used for parameters within a detailed function description
+\newenvironment{DoxyParamCaption}{%
+ \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
+}{%
+}
+
+% Used by return value lists
+\newenvironment{DoxyRetVals}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu}%
+ \vspace{6pt}%
+}
+
+% Used by exception lists
+\newenvironment{DoxyExceptions}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu}%
+ \vspace{6pt}%
+}
+
+% Used by template parameter lists
+\newenvironment{DoxyTemplParams}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu}%
+ \vspace{6pt}%
+}
+
+% Used for member lists
+\newenvironment{DoxyCompactItemize}{%
+ \begin{itemize}%
+ \setlength{\itemsep}{-3pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\topsep}{0pt}%
+ \setlength{\partopsep}{0pt}%
+}{%
+ \end{itemize}%
+}
+
+% Used for member descriptions
+\newenvironment{DoxyCompactList}{%
+ \begin{list}{}{%
+ \setlength{\leftmargin}{0.5cm}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\topsep}{0pt}%
+ \renewcommand{\makelabel}{\hfill}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used for reference lists (@bug, @deprecated, @todo, etc.)
+\newenvironment{DoxyRefList}{%
+ \begin{list}{}{%
+ \setlength{\labelwidth}{10pt}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \renewcommand{\makelabel}{\xreflabel}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used by @bug, @deprecated, @todo, etc.
+\newenvironment{DoxyRefDesc}[1]{%
+ \begin{list}{}{%
+ \renewcommand\makelabel[1]{\textbf{##1}}%
+ \settowidth\labelwidth{\makelabel{#1}}%
+ \setlength\leftmargin{\labelwidth+\labelsep}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used by parameter lists and simple sections
+\newenvironment{Desc}
+{\begin{list}{}{%
+ \settowidth{\labelwidth}{20pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }
+}{%
+ \end{list}%
+}
+
+% Used by tables
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
+\newenvironment{TabularC}[1]%
+{\tabulinesep=1mm
+\begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}%
+{\end{longtabu}\par}%
+
+\newenvironment{TabularNC}[1]%
+{\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}%
+{\end{tabu}\par}%
+
+% Used for member group headers
+\newenvironment{Indent}{%
+ \begin{list}{}{%
+ \setlength{\leftmargin}{0.5cm}%
+ }%
+ \item[]\ignorespaces%
+}{%
+ \unskip%
+ \end{list}%
+}
+
+% Used when hyperlinks are turned off
+\newcommand{\doxyref}[3]{%
+ \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
+}
+
+% Used to link to a table when hyperlinks are turned on
+\newcommand{\doxytablelink}[2]{%
+ \ref{#1}%
+}
+
+% Used to link to a table when hyperlinks are turned off
+\newcommand{\doxytableref}[3]{%
+ \ref{#3}%
+}
+
+% Used by @addindex
+\newcommand{\lcurly}{\{}
+\newcommand{\rcurly}{\}}
+
+% Colors used for syntax highlighting
+\definecolor{comment}{rgb}{0.5,0.0,0.0}
+\definecolor{keyword}{rgb}{0.0,0.5,0.0}
+\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
+\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
+\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
+\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
+\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
+\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
+\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
+\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
+\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
+
+% Color used for table heading
+\newcommand{\tableheadbgcolor}{lightgray}%
+
+% Version of hypertarget with correct landing location
+\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
+
+% Define caption that is also suitable in a table
+\makeatletter
+\def\doxyfigcaption{%
+\refstepcounter{figure}%
+\@dblarg{\@caption{figure}}}
+\makeatother
diff --git a/docs/latex/hierarchy.tex b/docs/latex/hierarchy.tex
new file mode 100644
index 0000000..23d1ae7
--- /dev/null
+++ b/docs/latex/hierarchy.tex
@@ -0,0 +1,31 @@
+\section{Class Hierarchy}
+This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList}
+\item Command\begin{DoxyCompactList}
+\item \contentsline{section}{http\+:\+:H\+T\+T\+P\+Handler}{\pageref{classhttp_1_1_h_t_t_p_handler}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{http\+:\+:H\+T\+T\+P\+Page\+List}{\pageref{classhttp_1_1_h_t_t_p_page_list}}{}
+\item \contentsline{section}{http\+:\+:H\+T\+T\+P\+Session}{\pageref{classhttp_1_1_h_t_t_p_session}}{}
+\item \contentsline{section}{http\+:\+:H\+T\+T\+P\+Sessions}{\pageref{classhttp_1_1_h_t_t_p_sessions}}{}
+\item I\+M\+F\+Message\begin{DoxyCompactList}
+\item \contentsline{section}{http\+:\+:H\+T\+T\+P\+Request}{\pageref{classhttp_1_1_h_t_t_p_request}}{}
+\end{DoxyCompactList}
+\item Object\begin{DoxyCompactList}
+\item \contentsline{section}{http\+:\+:H\+T\+T\+P\+Page}{\pageref{classhttp_1_1_h_t_t_p_page}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+configure}{\pageref{classhttp_1_1____configure}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+editview}{\pageref{classhttp_1_1____editview}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+favicon\+\_\+ico}{\pageref{classhttp_1_1____favicon__ico}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+index}{\pageref{classhttp_1_1____index}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+mainmenu}{\pageref{classhttp_1_1____mainmenu}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+newview}{\pageref{classhttp_1_1____newview}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+script}{\pageref{classhttp_1_1____script}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+setupadmin}{\pageref{classhttp_1_1____setupadmin}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+style}{\pageref{classhttp_1_1____style}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+viewlist}{\pageref{classhttp_1_1____viewlist}}{}
+\item \contentsline{section}{http\+:\+:\+\_\+\+\_\+welcome}{\pageref{classhttp_1_1____welcome}}{}
+\end{DoxyCompactList}
+\end{DoxyCompactList}
+\item Service\begin{DoxyCompactList}
+\item \contentsline{section}{http\+:\+:H\+T\+T\+P\+Service}{\pageref{classhttp_1_1_h_t_t_p_service}}{}
+\end{DoxyCompactList}
+\end{DoxyCompactList}
diff --git a/docs/latex/refman.tex b/docs/latex/refman.tex
new file mode 100644
index 0000000..555b633
--- /dev/null
+++ b/docs/latex/refman.tex
@@ -0,0 +1,174 @@
+\documentclass[twoside]{book}
+
+% Packages required by doxygen
+\usepackage{fixltx2e}
+\usepackage{calc}
+\usepackage{doxygen}
+\usepackage[export]{adjustbox} % also loads graphicx
+\usepackage{graphicx}
+\usepackage[utf8]{inputenc}
+\usepackage{makeidx}
+\usepackage{multicol}
+\usepackage{multirow}
+\PassOptionsToPackage{warn}{textcomp}
+\usepackage{textcomp}
+\usepackage[nointegrals]{wasysym}
+\usepackage[table]{xcolor}
+
+% Font selection
+\usepackage[T1]{fontenc}
+\usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\usepackage{amssymb}
+\usepackage{sectsty}
+\renewcommand{\familydefault}{\sfdefault}
+\allsectionsfont{%
+ \fontseries{bc}\selectfont%
+ \color{darkgray}%
+}
+\renewcommand{\DoxyLabelFont}{%
+ \fontseries{bc}\selectfont%
+ \color{darkgray}%
+}
+\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
+
+% Page & text layout
+\usepackage{geometry}
+\geometry{%
+ a4paper,%
+ top=2.5cm,%
+ bottom=2.5cm,%
+ left=2.5cm,%
+ right=2.5cm%
+}
+\tolerance=750
+\hfuzz=15pt
+\hbadness=750
+\setlength{\emergencystretch}{15pt}
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{3ex plus 2ex minus 2ex}
+\makeatletter
+\renewcommand{\paragraph}{%
+ \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
+ \normalfont\normalsize\bfseries\SS@parafont%
+ }%
+}
+\renewcommand{\subparagraph}{%
+ \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
+ \normalfont\normalsize\bfseries\SS@subparafont%
+ }%
+}
+\makeatother
+
+% Headers & footers
+\usepackage{fancyhdr}
+\pagestyle{fancyplain}
+\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
+\fancyhead[CE]{\fancyplain{}{}}
+\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
+\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
+\fancyhead[CO]{\fancyplain{}{}}
+\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
+\fancyfoot[LE]{\fancyplain{}{}}
+\fancyfoot[CE]{\fancyplain{}{}}
+\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
+\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
+\fancyfoot[CO]{\fancyplain{}{}}
+\fancyfoot[RO]{\fancyplain{}{}}
+\renewcommand{\footrulewidth}{0.4pt}
+\renewcommand{\chaptermark}[1]{%
+ \markboth{#1}{}%
+}
+\renewcommand{\sectionmark}[1]{%
+ \markright{\thesection\ #1}%
+}
+
+% Indices & bibliography
+\usepackage{natbib}
+\usepackage[titles]{tocloft}
+\setcounter{tocdepth}{3}
+\setcounter{secnumdepth}{5}
+\makeindex
+
+% Hyperlinks (required, but should be loaded last)
+\usepackage{ifpdf}
+\ifpdf
+ \usepackage[pdftex,pagebackref=true]{hyperref}
+\else
+ \usepackage[ps2pdf,pagebackref=true]{hyperref}
+\fi
+\hypersetup{%
+ colorlinks=true,%
+ linkcolor=blue,%
+ citecolor=blue,%
+ unicode%
+}
+
+% Custom commands
+\newcommand{\clearemptydoublepage}{%
+ \newpage{\pagestyle{empty}\cleardoublepage}%
+}
+
+\usepackage{caption}
+\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
+
+%===== C O N T E N T S =====
+
+\begin{document}
+
+% Titlepage & ToC
+\hypersetup{pageanchor=false,
+ bookmarksnumbered=true,
+ pdfencoding=unicode
+ }
+\pagenumbering{alph}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}%
+{\Large J\+E\+T\+Server }\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.8.13}\\
+\end{center}
+\end{titlepage}
+\clearemptydoublepage
+\pagenumbering{roman}
+\tableofcontents
+\clearemptydoublepage
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true}
+
+%--- Begin generated contents ---
+\chapter{Hierarchical Index}
+\input{hierarchy}
+\chapter{Class Index}
+\input{annotated}
+\chapter{Class Documentation}
+\input{classhttp_1_1____configure}
+\input{classhttp_1_1____editview}
+\input{classhttp_1_1____favicon__ico}
+\input{classhttp_1_1____index}
+\input{classhttp_1_1____mainmenu}
+\input{classhttp_1_1____newview}
+\input{classhttp_1_1____script}
+\input{classhttp_1_1____setupadmin}
+\input{classhttp_1_1____style}
+\input{classhttp_1_1____viewlist}
+\input{classhttp_1_1____welcome}
+\input{classhttp_1_1_h_t_t_p_handler}
+\input{classhttp_1_1_h_t_t_p_page}
+\input{classhttp_1_1_h_t_t_p_page_list}
+\input{classhttp_1_1_h_t_t_p_request}
+\input{classhttp_1_1_h_t_t_p_service}
+\input{classhttp_1_1_h_t_t_p_session}
+\input{classhttp_1_1_h_t_t_p_sessions}
+%--- End generated contents ---
+
+% Index
+\backmatter
+\newpage
+\phantomsection
+\clearemptydoublepage
+\addcontentsline{toc}{chapter}{Index}
+\printindex
+
+\end{document}