\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}\documentclass[twoside]{book}

% Packages required by doxygen
\usepackage{fixltx2e}
\usepackage{calc}
\usepackage{doxygen}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\usepackage[nointegrals]{wasysym}
\usepackage[table]{xcolor}
\usepackage{ifpdf,ifxetex}

% 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$}}{}{}}

% Arguments of doxygenemoji:
% 1) ':<text>:' form of the emoji, already "LaTeX"-escaped
% 2) file with the name of the emoji without the .png extension
% in case image exist use this otherwise use the ':<text>:' form
\newcommand{\doxygenemoji}[2]{%
  \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
}
% 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}
\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
\doxynormalparskip
\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

\usepackage{newunicodechar}
  \newunicodechar{⁻}{${}^{-}$}% Superscript minus
  \newunicodechar{²}{${}^{2}$}% Superscript two
  \newunicodechar{³}{${}^{3}$}% Superscript three

% Hyperlinks (required, but should be loaded last)
\ifpdf
  \usepackage[pdftex,pagebackref=true]{hyperref}
\else
  \ifxetex
    \usepackage[pagebackref=true]{hyperref}
  \else
    \usepackage[ps2pdf,pagebackref=true]{hyperref}
  \fi
\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}

\usepackage{etoc}
\etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
\renewcommand{\numberline}[1]{#1~}
%===== 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 Py\+Spark Plaso \\[1ex]\large Release 2019 }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.8.15}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\pagenumbering{roman}
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
\hypersetup{pageanchor=true}

%--- Begin generated contents ---
\chapter{Namespace Index}
\input{namespaces}
\chapter{Hierarchical Index}
\input{hierarchy}
\chapter{Class Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Namespace Documentation}
\input{namespaceplaso}
\input{namespaceplaso_1_1tarzan}
\input{namespaceplaso_1_1tarzan_1_1app}
\input{namespaceplaso_1_1tarzan_1_1app_1_1controllers}
\input{namespaceplaso_1_1tarzan_1_1app_1_1controllers_1_1controller}
\input{namespaceplaso_1_1tarzan_1_1app_1_1controllers_1_1filemancontroller}
\input{namespaceplaso_1_1tarzan_1_1app_1_1controllers_1_1plasocontroller}
\input{namespaceplaso_1_1tarzan_1_1app_1_1extractors}
\input{namespaceplaso_1_1tarzan_1_1app_1_1extractors_1_1extractor}
\input{namespaceplaso_1_1tarzan_1_1app_1_1extractors_1_1manager}
\input{namespaceplaso_1_1tarzan_1_1app_1_1extractors_1_1pe}
\input{namespaceplaso_1_1tarzan_1_1app_1_1extractors_1_1sqlite}
\input{namespaceplaso_1_1tarzan_1_1app_1_1extractors_1_1winreg}
\input{namespaceplaso_1_1tarzan_1_1app_1_1pyspark__plaso}
\input{namespaceplaso_1_1tarzan_1_1app_1_1pyspark__plaso__webapp}
\input{namespaceplaso_1_1tarzan_1_1app_1_1views}
\input{namespaceplaso_1_1tarzan_1_1app_1_1views_1_1extractview}
\input{namespaceplaso_1_1tarzan_1_1app_1_1views_1_1hdfsfileformview}
\input{namespaceplaso_1_1tarzan_1_1app_1_1views_1_1hdfsfileview}
\input{namespaceplaso_1_1tarzan_1_1app_1_1views_1_1hdfslsview}
\input{namespaceplaso_1_1tarzan_1_1app_1_1views_1_1hdfsrmview}
\input{namespaceplaso_1_1tarzan_1_1app_1_1views_1_1hdfszipformview}
\input{namespaceplaso_1_1tarzan_1_1app_1_1views_1_1hdfszipview}
\input{namespaceplaso_1_1tarzan_1_1dfvfs2}
\input{namespaceplaso_1_1tarzan_1_1dfvfs2_1_1definitions}
\input{namespaceplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__file__entry}
\input{namespaceplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__file__io}
\input{namespaceplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__file__system}
\input{namespaceplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__path__spec}
\input{namespaceplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__resolver__helper}
\input{namespaceplaso_1_1tarzan_1_1file}
\input{namespaceplaso_1_1tarzan_1_1file_1_1file}
\input{namespaceplaso_1_1tarzan_1_1file_1_1generic__file}
\input{namespaceplaso_1_1tarzan_1_1file_1_1hdfs__file}
\input{namespaceplaso_1_1tarzan_1_1lib}
\input{namespaceplaso_1_1tarzan_1_1lib_1_1custom__pip__package__dir}
\input{namespaceplaso_1_1tarzan_1_1lib_1_1hdfs}
\input{namespaceplaso_1_1tarzan_1_1lib_1_1pyarrow__hdfs}
\input{namespaceplaso_1_1tarzan_1_1lib_1_1pyspark__hdfs}
\input{namespaceplaso_1_1tarzan_1_1mediator}
\input{namespaceplaso_1_1tarzan_1_1mediator_1_1buffered__mediator}
\input{namespaceplaso_1_1tarzan_1_1mediator_1_1mediator}
\input{namespaceplaso_1_1tarzan_1_1mediator_1_1print__mediator}
\input{namespaceplaso_1_1tarzan_1_1run}
\chapter{Class Documentation}
\input{classplaso_1_1tarzan_1_1mediator_1_1buffered__mediator_1_1_buffered_mediator}
\input{classplaso_1_1tarzan_1_1app_1_1controllers_1_1controller_1_1_controller}
\input{classplaso_1_1tarzan_1_1lib_1_1custom__pip__package__dir_1_1_custom_pip_package_dir}
\input{classplaso_1_1tarzan_1_1app_1_1extractors_1_1extractor_1_1_extractor}
\input{classplaso_1_1tarzan_1_1app_1_1views_1_1extractview_1_1_extract_view}
\input{classplaso_1_1tarzan_1_1app_1_1controllers_1_1filemancontroller_1_1_file_man_controller}
\input{classplaso_1_1tarzan_1_1file_1_1generic__file_1_1_file_object}
\input{classplaso_1_1tarzan_1_1lib_1_1hdfs_1_1_hdfs}
\input{classplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__file__entry_1_1_h_d_f_s_directory}
\input{classplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__file__io_1_1_h_d_f_s_file}
\input{classplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__file__entry_1_1_h_d_f_s_file_entry}
\input{classplaso_1_1tarzan_1_1app_1_1views_1_1hdfsfileformview_1_1_hdfs_file_form_view}
\input{classplaso_1_1tarzan_1_1file_1_1hdfs__file_1_1_hdfs_file_object}
\input{classplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__file__system_1_1_h_d_f_s_file_system}
\input{classplaso_1_1tarzan_1_1app_1_1views_1_1hdfsfileview_1_1_hdfs_file_view}
\input{classplaso_1_1tarzan_1_1app_1_1views_1_1hdfslsview_1_1_hdfs_ls_view}
\input{classplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__path__spec_1_1_h_d_f_s_path_spec}
\input{classplaso_1_1tarzan_1_1dfvfs2_1_1hdfs__resolver__helper_1_1_h_d_f_s_resolver_helper}
\input{classplaso_1_1tarzan_1_1app_1_1views_1_1hdfsrmview_1_1_hdfs_rm_view}
\input{classplaso_1_1tarzan_1_1app_1_1views_1_1hdfszipformview_1_1_hdfs_zip_form_view}
\input{classplaso_1_1tarzan_1_1app_1_1views_1_1hdfszipview_1_1_hdfs_zip_view}
\input{classplaso_1_1tarzan_1_1file_1_1file_1_1_local_file_object}
\input{classplaso_1_1tarzan_1_1app_1_1extractors_1_1manager_1_1_manager}
\input{classplaso_1_1tarzan_1_1mediator_1_1mediator_1_1_mediator}
\input{classplaso_1_1tarzan_1_1app_1_1extractors_1_1pe_1_1_p_e}
\input{classplaso_1_1tarzan_1_1app_1_1controllers_1_1plasocontroller_1_1_plaso_controller}
\input{classplaso_1_1tarzan_1_1mediator_1_1print__mediator_1_1_print_mediator}
\input{classplaso_1_1tarzan_1_1lib_1_1pyarrow__hdfs_1_1_py_arrow_hdfs}
\input{classplaso_1_1tarzan_1_1lib_1_1pyspark__hdfs_1_1_py_spark_hdfs}
\input{classplaso_1_1tarzan_1_1app_1_1pyspark__plaso_1_1_py_spark_plaso}
\input{classplaso_1_1tarzan_1_1app_1_1extractors_1_1sqlite_1_1_s_q_lite}
\input{classplaso_1_1tarzan_1_1app_1_1extractors_1_1winreg_1_1_win_reg}
\chapter{File Documentation}
\input{____init_____8py}
\input{app_2____init_____8py}
\input{app_2controllers_2____init_____8py}
\input{app_2extractors_2____init_____8py}
\input{app_2views_2____init_____8py}
\input{dfvfs2_2____init_____8py}
\input{file_2____init_____8py}
\input{lib_2____init_____8py}
\input{mediator_2____init_____8py}
\input{controller_8py}
\input{filemancontroller_8py}
\input{plasocontroller_8py}
\input{extractor_8py}
\input{manager_8py}
\input{pe_8py}
\input{sqlite_8py}
\input{winreg_8py}
\input{pyspark__plaso_8py}
\input{pyspark__plaso__webapp_8py}
\input{extractview_8py}
\input{hdfsfileformview_8py}
\input{hdfsfileview_8py}
\input{hdfslsview_8py}
\input{hdfsrmview_8py}
\input{hdfszipformview_8py}
\input{hdfszipview_8py}
\input{definitions_8py}
\input{hdfs__file__entry_8py}
\input{hdfs__file__io_8py}
\input{hdfs__file__system_8py}
\input{hdfs__path__spec_8py}
\input{hdfs__resolver__helper_8py}
\input{file_8py}
\input{generic__file_8py}
\input{hdfs__file_8py}
\input{custom__pip__package__dir_8py}
\input{hdfs_8py}
\input{pyarrow__hdfs_8py}
\input{pyspark__hdfs_8py}
\input{buffered__mediator_8py}
\input{mediator_8py}
\input{print__mediator_8py}
\input{run_8py}
%--- End generated contents ---

% Index
\backmatter
\newpage
\phantomsection
\clearemptydoublepage
\addcontentsline{toc}{chapter}{\indexname}
\printindex

\end{document}
