
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2017-02-08
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache OpenMeetings Project - Project Dependencies</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />
 
		<link href="../css/bootstrap.min.css" rel="stylesheet" />
		<link href="../css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="../css/docs.css" rel="stylesheet" />
		<link href="../css/reflow-skin.css" rel="stylesheet" />


		<link href="../css/lightbox.css" rel="stylesheet" />

		<link href="../css/site.css" rel="stylesheet" />
		<link href="../css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="../js/html5.js"></script>
		<![endif]-->


		
	</head>

	<body class="page-dependencies project-openmeetings-screenshare" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="brand"><span class="color-highlight">Apache</span> OpenMeetings</div>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="../demo.html" title="Demo">Demo</a></li>
							<li ><a href="../downloads.html" title="Download">Download</a></li>
							<li ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" title="Wiki" class="externalLink">Wiki</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Parent Project <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="../index.html" title="Openmeetings">Openmeetings</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="About">About</a></li>
									<li ><a href="project-info.html" title="Info">Info</a></li>
									<li ><a href="project-summary.html" title="Summary">Summary</a></li>
									<li ><a href="license.html" title="License">License</a></li>
									<li class="active"><a href="" title="Dependencies">Dependencies</a></li>
									<li ><a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a></li>
									<li ><a href="rat-report.html" title="RAT Report">RAT Report</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="../index.html" id="bannerLeft"><img src="../images/logo.png" alt='"'Apache OpenMeetings'"' /></a>
				</div>
				<div class="pull-right">
					<a href="http://apache.org" id="bannerRight"><img src="http://apache.org/img/asf_logo.png" alt='"'Apache'"' /></a>
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li class="publishDate version-date">Last Published: 2017-02-08</li>
			</ul>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span8">
			<div class="body-content">
<a name="Project_Dependencies"></a> 
<div class="section"> 
 <div class="page-header">
  <h2 id="Project_Dependencies">Project Dependencies</h2>
 </div> 
 <a name="Project_Dependencies_compile"></a> 
 <div class="section"> 
  <h3 id="compile">compile</h3> 
  <p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>org.apache.mina</td> 
     <td><a class="externalLink" href="http://mina.apache.org/mina-core/">mina-core</a></td> 
     <td>2.0.16</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.red5</td> 
     <td><a class="externalLink" href="https://github.com/Red5/red5-client">red5-client</a></td> 
     <td>1.0.8-RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-core</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
 <a name="Project_Dependencies_test"></a> 
 <div class="section"> 
  <h3 id="test">test</h3> 
  <p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>junit</td> 
     <td><a class="externalLink" href="http://junit.org">junit</a></td> 
     <td>4.12</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License 1.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-test</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
 <a name="Project_Dependencies_provided"></a> 
 <div class="section"> 
  <h3 id="provided">provided</h3> 
  <p>The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>org.apache.tomcat</td> 
     <td><a class="externalLink" href="http://tomcat.apache.org/">tomcat-servlet-api</a></td> 
     <td>8.5.9</td> 
     <td>jar</td> 
     <td>http://www.apache.org/licenses/LICENSE-2.0.txt and http://www.opensource.org/licenses/cddl1.txt</td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
</div> 
<a name="Project_Transitive_Dependencies"></a> 
<div class="section"> 
 <h2 id="Project_Transitive_Dependencies">Project Transitive Dependencies</h2> 
 <p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p> 
 <a name="Project_Transitive_Dependencies_compile"></a> 
 <div class="section"> 
  <h3 id="compile">compile</h3> 
  <p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>c3p0</td> 
     <td><a class="externalLink" href="http://c3p0.sourceforge.net">c3p0</a></td> 
     <td>0.9.1.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.gnu.org/licenses/lgpl.txt">GNU LESSER GENERAL PUBLIC LICENSE</a></td> 
    </tr> 
    <tr class="a"> 
     <td>ch.qos.logback</td> 
     <td><a class="externalLink" href="http://logback.qos.ch/logback-classic">logback-classic</a></td> 
     <td>1.1.7</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>-<a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>ch.qos.logback</td> 
     <td><a class="externalLink" href="http://logback.qos.ch/logback-core">logback-core</a></td> 
     <td>1.1.7</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>-<a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></td> 
    </tr> 
    <tr class="a"> 
     <td>com.adobe.xmp</td> 
     <td><a class="externalLink" href="http://www.adobe.com/devnet/xmp.html">xmpcore</a></td> 
     <td>5.1.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.adobe.com/devnet/xmp/library/eula-xmp-library-java.html">The BSD License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>com.drewnoakes</td> 
     <td><a class="externalLink" href="https://drewnoakes.com/code/exif/">metadata-extractor</a></td> 
     <td>2.9.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>com.fasterxml.jackson.core</td> 
     <td><a class="externalLink" href="https://github.com/FasterXML/jackson-core">jackson-core</a></td> 
     <td>2.8.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>com.google.code.gson</td> 
     <td><a class="externalLink" href="http://code.google.com/p/google-gson/">gson</a></td> 
     <td>2.2.4</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>com.googlecode.juniversalchardet</td> 
     <td><a class="externalLink" href="http://juniversalchardet.googlecode.com/">juniversalchardet</a></td> 
     <td>1.0.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.mozilla.org/MPL/MPL-1.1.html">Mozilla Public License 1.1 (MPL 1.1)</a></td> 
    </tr> 
    <tr class="b"> 
     <td>com.googlecode.mp4parser</td> 
     <td><a class="externalLink" href="http://code.google.com/p/mp4parser/">isoparser</a></td> 
     <td>1.1.17</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software License - Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>com.rometools</td> 
     <td><a class="externalLink" href="http://rometools.github.io/rome/">rome</a></td> 
     <td>1.5.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>com.rometools</td> 
     <td><a class="externalLink" href="http://rometools.github.io/rome-utils/">rome-utils</a></td> 
     <td>1.5.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>commons-beanutils</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-beanutils/">commons-beanutils</a></td> 
     <td>1.9.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>commons-codec</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-codec/">commons-codec</a></td> 
     <td>1.10</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>commons-collections</td> 
     <td><a class="externalLink" href="http://commons.apache.org/collections/">commons-collections</a></td> 
     <td>3.2.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>commons-io</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-io/">commons-io</a></td> 
     <td>2.5</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>commons-logging</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-logging/">commons-logging</a></td> 
     <td>1.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>de.l3s.boilerpipe</td> 
     <td><a class="externalLink" href="http://code.google.com/p/boilerpipe/">boilerpipe</a></td> 
     <td>1.1.0</td> 
     <td>jar</td> 
     <td>Apache License 2.0</td> 
    </tr> 
    <tr class="a"> 
     <td>net.sf.ehcache</td> 
     <td><a class="externalLink" href="http://ehcache.org">ehcache-core</a></td> 
     <td>2.6.11</td> 
     <td>jar</td> 
     <td>src/assemble/EHCACHE-CORE-LICENSE.txt</td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.commons</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-compress/">commons-compress</a></td> 
     <td>1.12</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.commons</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-lang/">commons-lang3</a></td> 
     <td>3.5</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.httpcomponents</td> 
     <td><a class="externalLink" href="http://hc.apache.org/httpcomponents-client">httpclient</a></td> 
     <td>4.5.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.httpcomponents</td> 
     <td><a class="externalLink" href="http://hc.apache.org/httpcomponents-core-ga">httpcore</a></td> 
     <td>4.4.4</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.james</td> 
     <td><a class="externalLink" href="http://james.apache.org/mime4j/apache-mime4j-core">apache-mime4j-core</a></td> 
     <td>0.7.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.james</td> 
     <td><a class="externalLink" href="http://james.apache.org/mime4j/apache-mime4j-dom">apache-mime4j-dom</a></td> 
     <td>0.7.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.pdfbox</td> 
     <td><a class="externalLink" href="http://www.apache.org/pdfbox-parent/jempbox/">jempbox</a></td> 
     <td>1.8.12</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.pdfbox</td> 
     <td><a class="externalLink" href="http://www.apache.org/pdfbox-parent/pdfbox-debugger/">pdfbox-debugger</a></td> 
     <td>2.0.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.pdfbox</td> 
     <td><a class="externalLink" href="http://www.apache.org/pdfbox-parent/pdfbox-tools/">pdfbox-tools</a></td> 
     <td>2.0.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.tika</td> 
     <td><a class="externalLink" href="http://tika.apache.org/">tika-core</a></td> 
     <td>1.14</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.tika</td> 
     <td><a class="externalLink" href="http://tika.apache.org/">tika-parsers</a></td> 
     <td>1.14</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.bouncycastle</td> 
     <td><a class="externalLink" href="http://www.bouncycastle.org/java.html">bcprov-jdk15on</a></td> 
     <td>1.55</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.bouncycastle.org/licence.html">Bouncy Castle Licence</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.ccil.cowan.tagsoup</td> 
     <td><a class="externalLink" href="http://home.ccil.org/~cowan/XML/tagsoup/">tagsoup</a></td> 
     <td>1.2.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.ow2.asm</td> 
     <td><a class="externalLink" href="http://asm.objectweb.org/asm/">asm</a></td> 
     <td>5.0.4</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://asm.objectweb.org/license.html">BSD</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.quartz-scheduler</td> 
     <td><a class="externalLink" href="http://www.quartz-scheduler.org/quartz">quartz</a></td> 
     <td>2.2.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.red5</td> 
     <td><a class="externalLink" href="https://github.com/Red5/red5-io">red5-io</a></td> 
     <td>1.0.8-RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.red5</td> 
     <td><a class="externalLink" href="https://github.com/Red5/red5-server-common">red5-server-common</a></td> 
     <td>1.0.8-RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">jcl-over-slf4j</a></td> 
     <td>1.7.22</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">jul-to-slf4j</a></td> 
     <td>1.7.22</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">log4j-over-slf4j</a></td> 
     <td>1.7.22</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software Licenses</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">slf4j-api</a></td> 
     <td>1.7.21</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-aop</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-beans</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-context</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-context-support</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-expression</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-web</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.tallison</td> 
     <td><a class="externalLink" href="https://github.com/tballison/jmatio">jmatio</a></td> 
     <td>1.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.linfo.org/bsdlicense.html">BSD</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
 <a name="Project_Transitive_Dependencies_test"></a> 
 <div class="section"> 
  <h3 id="test">test</h3> 
  <p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>org.hamcrest</td> 
     <td><a class="externalLink" href="https://github.com/hamcrest/JavaHamcrest/hamcrest-core">hamcrest-core</a></td> 
     <td>1.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/bsd-license.php">New BSD License</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
</div> 
<a name="Project_Dependency_Graph"></a> 
<div class="section"> 
 <h2 id="Project_Dependency_Graph">Project Dependency Graph</h2> 
 <script language="javascript" type="text/javascript">
      function toggleDependencyDetails( divId, imgId )
      {
        var div = document.getElementById( divId );
        var img = document.getElementById( imgId );
        if( div.style.display == '' )
        {
          div.style.display = 'none';
          img.src='./images/icon_info_sml.gif';
          img.alt='[Information]';
        }
        else
        {
          div.style.display = '';
          img.src='./images/close.gif';
          img.alt='[Close]';
        }
      }
</script> 
 <a name="Dependency_Tree"></a> 
 <div class="section"> 
  <h3 id="Dependency_Tree">Dependency Tree</h3> 
  <ul> 
   <li>org.apache.openmeetings:openmeetings-screenshare:jar:3.2.0 <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep0"><i class="icon-info-sign"></i></button> 
    <div id="_dep0" style="" class=" collapse"> 
     <table border="0" class="bodyTable table table-striped table-hover"> 
      <thead> 
       <tr class="a"> 
        <th>Openmeetings Screen Sharing applet</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr class="b"> 
        <td> <p><b>Description: </b>Module to build OpenMeetings web application to grab a screen and send it to a Server</p> <p><b>URL: </b><a class="externalLink" href="http://openmeetings.apache.org/openmeetings-screenshare">http://openmeetings.apache.org/openmeetings-screenshare</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
    <ul> 
     <li>org.red5:red5-client:jar:1.0.8-RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep2"><i class="icon-info-sign"></i></button> 
      <div id="_dep2" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Red5 :: Client</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>The Red5 client</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/Red5/red5-client">https://github.com/Red5/red5-client</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.red5:red5-server-common:jar:1.0.8-RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep4"><i class="icon-info-sign"></i></button> 
        <div id="_dep4" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Red5 :: Common server classes</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Classes common for multiple red5 projects</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/Red5/red5-server-common">https://github.com/Red5/red5-server-common</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <ul> 
         <li>org.red5:red5-io:jar:1.0.8-RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep6"><i class="icon-info-sign"></i></button> 
          <div id="_dep6" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Red5 :: IO</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>The Red5 I/O library</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/Red5/red5-io">https://github.com/Red5/red5-io</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div> 
          <ul> 
           <li>org.slf4j:jcl-over-slf4j:jar:1.7.22 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep8"><i class="icon-info-sign"></i></button> 
            <div id="_dep8" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>JCL 1.1.1 implemented over SLF4J</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>JCL 1.1.1 implemented over SLF4J</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.slf4j:jul-to-slf4j:jar:1.7.22 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep10"><i class="icon-info-sign"></i></button> 
            <div id="_dep10" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>JUL to SLF4J bridge</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>JUL to SLF4J bridge</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.slf4j:log4j-over-slf4j:jar:1.7.22 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep12"><i class="icon-info-sign"></i></button> 
            <div id="_dep12" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Log4j Implemented Over SLF4J</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Log4j implemented over SLF4J</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software Licenses</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>ch.qos.logback:logback-core:jar:1.1.7 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep14"><i class="icon-info-sign"></i></button> 
            <div id="_dep14" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Logback Core Module</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>logback-core module</p> <p><b>URL: </b><a class="externalLink" href="http://logback.qos.ch/logback-core">http://logback.qos.ch/logback-core</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>, <a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>ch.qos.logback:logback-classic:jar:1.1.7 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep16"><i class="icon-info-sign"></i></button> 
            <div id="_dep16" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Logback Classic Module</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>logback-classic module</p> <p><b>URL: </b><a class="externalLink" href="http://logback.qos.ch/logback-classic">http://logback.qos.ch/logback-classic</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>, <a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.apache.tika:tika-core:jar:1.14 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep18"><i class="icon-info-sign"></i></button> 
            <div id="_dep18" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache Tika core</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>This is the core Apache Tika™ toolkit library from which all other modules inherit functionality. It also includes the core facades for the Tika API.</p> <p><b>URL: </b><a class="externalLink" href="http://tika.apache.org/">http://tika.apache.org/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.apache.tika:tika-parsers:jar:1.14 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep20"><i class="icon-info-sign"></i></button> 
            <div id="_dep20" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache Tika parsers</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Apache Tika is a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries.</p> <p><b>URL: </b><a class="externalLink" href="http://tika.apache.org/">http://tika.apache.org/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div> 
            <ul> 
             <li>org.tallison:jmatio:jar:1.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep22"><i class="icon-info-sign"></i></button> 
              <div id="_dep22" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>JMatIO</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Matlab's MAT-file I/O API in JAVA. Supports Matlab 5 MAT-flie format reading and writing. Written in pure JAVA.</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/tballison/jmatio">https://github.com/tballison/jmatio</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.linfo.org/bsdlicense.html">BSD</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>org.apache.james:apache-mime4j-core:jar:0.7.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep24"><i class="icon-info-sign"></i></button> 
              <div id="_dep24" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Apache JAMES Mime4j (Core)</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Java stream based MIME message parser</p> <p><b>URL: </b><a class="externalLink" href="http://james.apache.org/mime4j/apache-mime4j-core">http://james.apache.org/mime4j/apache-mime4j-core</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>org.apache.james:apache-mime4j-dom:jar:0.7.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep26"><i class="icon-info-sign"></i></button> 
              <div id="_dep26" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Apache JAMES Mime4j (DOM)</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Java MIME Document Object Model</p> <p><b>URL: </b><a class="externalLink" href="http://james.apache.org/mime4j/apache-mime4j-dom">http://james.apache.org/mime4j/apache-mime4j-dom</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>org.apache.commons:commons-compress:jar:1.12 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep28"><i class="icon-info-sign"></i></button> 
              <div id="_dep28" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Apache Commons Compress</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Apache Commons Compress software defines an API for working with compression and archive formats. These include: bzip2, gzip, pack200, lzma, xz, Snappy, traditional Unix Compress, DEFLATE and ar, cpio, jar, tar, zip, dump, 7z, arj.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-compress/">http://commons.apache.org/proper/commons-compress/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>org.apache.pdfbox:pdfbox-tools:jar:2.0.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep30"><i class="icon-info-sign"></i></button> 
              <div id="_dep30" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Apache PDFBox tools</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>The Apache PDFBox library is an open source Java tool for working with PDF documents. This artefact contains commandline tools using Apache PDFBox.</p> <p><b>URL: </b><a class="externalLink" href="http://www.apache.org/pdfbox-parent/pdfbox-tools/">http://www.apache.org/pdfbox-parent/pdfbox-tools/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div> 
              <ul> 
               <li>org.apache.pdfbox:pdfbox-debugger:jar:2.0.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep32"><i class="icon-info-sign"></i></button> 
                <div id="_dep32" style="" class=" collapse"> 
                 <table border="0" class="bodyTable table table-striped table-hover"> 
                  <thead> 
                   <tr class="a"> 
                    <th>Apache PDFBox Debugger</th> 
                   </tr> 
                  </thead> 
                  <tbody> 
                   <tr class="b"> 
                    <td> <p><b>Description: </b>The Apache PDFBox library is an open source Java tool for working with PDF documents. This artefact contains the PDFDebugger.</p> <p><b>URL: </b><a class="externalLink" href="http://www.apache.org/pdfbox-parent/pdfbox-debugger/">http://www.apache.org/pdfbox-parent/pdfbox-debugger/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
                   </tr> 
                  </tbody> 
                 </table> 
                </div></li> 
              </ul></li> 
             <li>org.apache.pdfbox:jempbox:jar:1.8.12 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep34"><i class="icon-info-sign"></i></button> 
              <div id="_dep34" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Apache JempBox</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>The Apache JempBox library is an open source Java tool that implements Adobe's XMP(TM) specification. JempBox is a subproject of Apache PDFBox.</p> <p><b>URL: </b><a class="externalLink" href="http://www.apache.org/pdfbox-parent/jempbox/">http://www.apache.org/pdfbox-parent/jempbox/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>org.ccil.cowan.tagsoup:tagsoup:jar:1.2.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep36"><i class="icon-info-sign"></i></button> 
              <div id="_dep36" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>TagSoup</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>TagSoup is a SAX-compliant parser written in Java that, instead of parsing well-formed or valid XML, parses HTML as it is found in the wild: poor, nasty and brutish, though quite often far from short. TagSoup is designed for people who have to process this stuff using some semblance of a rational application design. By providing a SAX interface, it allows standard XML tools to be applied to even the worst HTML. TagSoup also includes a command-line processor that reads HTML files and can generate either clean HTML or well-formed XML that is a close approximation to XHTML.</p> <p><b>URL: </b><a class="externalLink" href="http://home.ccil.org/~cowan/XML/tagsoup/">http://home.ccil.org/~cowan/XML/tagsoup/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>org.ow2.asm:asm:jar:5.0.4 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep38"><i class="icon-info-sign"></i></button> 
              <div id="_dep38" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>ASM Core</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>A very small and fast Java bytecode manipulation framework</p> <p><b>URL: </b><a class="externalLink" href="http://asm.objectweb.org/asm/">http://asm.objectweb.org/asm/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://asm.objectweb.org/license.html">BSD</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>com.drewnoakes:metadata-extractor:jar:2.9.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep40"><i class="icon-info-sign"></i></button> 
              <div id="_dep40" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>com.drewnoakes:metadata-extractor</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Java library for extracting EXIF, IPTC, XMP, ICC and other metadata from image files.</p> <p><b>URL: </b><a class="externalLink" href="https://drewnoakes.com/code/exif/">https://drewnoakes.com/code/exif/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div> 
              <ul> 
               <li>com.adobe.xmp:xmpcore:jar:5.1.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep42"><i class="icon-info-sign"></i></button> 
                <div id="_dep42" style="" class=" collapse"> 
                 <table border="0" class="bodyTable table table-striped table-hover"> 
                  <thead> 
                   <tr class="a"> 
                    <th>XMP Library for Java</th> 
                   </tr> 
                  </thead> 
                  <tbody> 
                   <tr class="b"> 
                    <td> <p><b>Description: </b>The XMP Library for Java is based on the C++ XMPCore library and the API is similar.</p> <p><b>URL: </b><a class="externalLink" href="http://www.adobe.com/devnet/xmp.html">http://www.adobe.com/devnet/xmp.html</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.adobe.com/devnet/xmp/library/eula-xmp-library-java.html">The BSD License</a></p></td> 
                   </tr> 
                  </tbody> 
                 </table> 
                </div></li> 
              </ul></li> 
             <li>de.l3s.boilerpipe:boilerpipe:jar:1.1.0 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep44"><i class="icon-info-sign"></i></button> 
              <div id="_dep44" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Boilerpipe -- Boilerplate Removal and Fulltext Extraction from HTML pages</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>The boilerpipe library provides algorithms to detect and remove the surplus &quot;clutter&quot; (boilerplate, templates) around the main textual content of a web page. The library already provides specific strategies for common tasks (for example: news article extraction) and may also be easily extended for individual problem settings. Extracting content is very fast (milliseconds), just needs the input document (no global or site-level information required) and is usually quite accurate. Boilerpipe is a Java library written by Christian Kohlsch&uuml;tter. It is released under the Apache License 2.0. The algorithms used by the library are based on (and extending) some concepts of the paper &quot;Boilerplate Detection using Shallow Text Features&quot; by Christian Kohlsch&uuml;tter et al., presented at WSDM 2010 -- The Third ACM International Conference on Web Search and Data Mining New York City, NY USA.</p> <p><b>URL: </b><a class="externalLink" href="http://code.google.com/p/boilerpipe/">http://code.google.com/p/boilerpipe/</a></p> <p><b>Project Licenses: </b>Apache License 2.0</p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>com.rometools:rome:jar:1.5.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep46"><i class="icon-info-sign"></i></button> 
              <div id="_dep46" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>rome</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>All Roads Lead to ROME. ROME is a set of Atom/RSS Java utilities that make it easy to work in Java with most syndication formats. Today it accepts all flavors of RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0), Atom 0.3 and Atom 1.0 feeds. Rome includes a set of parsers and generators for the various flavors of feeds, as well as converters to convert from one format to another. The parsers can give you back Java objects that are either specific for the format you want to work with, or a generic normalized SyndFeed object that lets you work on with the data without bothering about the underlying format.</p> <p><b>URL: </b><a class="externalLink" href="http://rometools.github.io/rome/">http://rometools.github.io/rome/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div> 
              <ul> 
               <li>com.rometools:rome-utils:jar:1.5.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep48"><i class="icon-info-sign"></i></button> 
                <div id="_dep48" style="" class=" collapse"> 
                 <table border="0" class="bodyTable table table-striped table-hover"> 
                  <thead> 
                   <tr class="a"> 
                    <th>rome-utils</th> 
                   </tr> 
                  </thead> 
                  <tbody> 
                   <tr class="b"> 
                    <td> <p><b>Description: </b>Utility classes for ROME projects</p> <p><b>URL: </b><a class="externalLink" href="http://rometools.github.io/rome-utils/">http://rometools.github.io/rome-utils/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                   </tr> 
                  </tbody> 
                 </table> 
                </div></li> 
              </ul></li> 
             <li>com.googlecode.juniversalchardet:juniversalchardet:jar:1.0.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep50"><i class="icon-info-sign"></i></button> 
              <div id="_dep50" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>juniversalchardet</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Java port of universalchardet</p> <p><b>URL: </b><a class="externalLink" href="http://juniversalchardet.googlecode.com/">http://juniversalchardet.googlecode.com/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.mozilla.org/MPL/MPL-1.1.html">Mozilla Public License 1.1 (MPL 1.1)</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>commons-io:commons-io:jar:2.5 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep52"><i class="icon-info-sign"></i></button> 
              <div id="_dep52" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Apache Commons IO</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>The Apache Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-io/">http://commons.apache.org/proper/commons-io/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>com.google.code.gson:gson:jar:2.2.4 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep54"><i class="icon-info-sign"></i></button> 
              <div id="_dep54" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Gson</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Google Gson library</p> <p><b>URL: </b><a class="externalLink" href="http://code.google.com/p/google-gson/">http://code.google.com/p/google-gson/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
             <li>com.fasterxml.jackson.core:jackson-core:jar:2.8.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep56"><i class="icon-info-sign"></i></button> 
              <div id="_dep56" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Jackson-core</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Core Jackson abstractions, basic JSON streaming API implementation</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/FasterXML/jackson-core">https://github.com/FasterXML/jackson-core</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
            </ul></li> 
           <li>net.sf.ehcache:ehcache-core:jar:2.6.11 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep58"><i class="icon-info-sign"></i></button> 
            <div id="_dep58" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Ehcache Core</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>This is the ehcache core module. Pair it with other modules for added functionality.</p> <p><b>URL: </b><a class="externalLink" href="http://ehcache.org">http://ehcache.org</a></p> <p><b>Project Licenses: </b><a href="src/assemble/EHCACHE-CORE-LICENSE.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>com.googlecode.mp4parser:isoparser:jar:1.1.17 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep60"><i class="icon-info-sign"></i></button> 
            <div id="_dep60" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>ISO Parser</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>A generic parser and writer for all ISO 14496 based files (MP4, Quicktime, DCF, PDCF, ...)</p> <p><b>URL: </b><a class="externalLink" href="http://code.google.com/p/mp4parser/">http://code.google.com/p/mp4parser/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software License - Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
          </ul></li> 
         <li>org.springframework:spring-web:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep62"><i class="icon-info-sign"></i></button> 
          <div id="_dep62" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Spring Web</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Spring Web</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div> 
          <ul> 
           <li>org.springframework:spring-aop:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep64"><i class="icon-info-sign"></i></button> 
            <div id="_dep64" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Spring AOP</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Spring AOP</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.springframework:spring-beans:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep66"><i class="icon-info-sign"></i></button> 
            <div id="_dep66" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Spring Beans</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Spring Beans</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.springframework:spring-context:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep68"><i class="icon-info-sign"></i></button> 
            <div id="_dep68" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Spring Context</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Spring Context</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div> 
            <ul> 
             <li>org.springframework:spring-expression:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep70"><i class="icon-info-sign"></i></button> 
              <div id="_dep70" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Spring Expression Language (SpEL)</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Spring Expression Language (SpEL)</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
            </ul></li> 
          </ul></li> 
         <li>org.apache.httpcomponents:httpclient:jar:4.5.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep72"><i class="icon-info-sign"></i></button> 
          <div id="_dep72" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache HttpClient</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Apache HttpComponents Client</p> <p><b>URL: </b><a class="externalLink" href="http://hc.apache.org/httpcomponents-client">http://hc.apache.org/httpcomponents-client</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div> 
          <ul> 
           <li>org.apache.httpcomponents:httpcore:jar:4.4.4 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep74"><i class="icon-info-sign"></i></button> 
            <div id="_dep74" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache HttpCore</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Apache HttpComponents Core (blocking I/O)</p> <p><b>URL: </b><a class="externalLink" href="http://hc.apache.org/httpcomponents-core-ga">http://hc.apache.org/httpcomponents-core-ga</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
          </ul></li> 
         <li>org.apache.commons:commons-lang3:jar:3.5 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep76"><i class="icon-info-sign"></i></button> 
          <div id="_dep76" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache Commons Lang</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-lang/">http://commons.apache.org/proper/commons-lang/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>commons-beanutils:commons-beanutils:jar:1.9.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep78"><i class="icon-info-sign"></i></button> 
          <div id="_dep78" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache Commons BeanUtils</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around reflection and introspection.</p> <p><b>URL: </b><a class="externalLink" href="https://commons.apache.org/proper/commons-beanutils/">https://commons.apache.org/proper/commons-beanutils/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div> 
          <ul> 
           <li>commons-logging:commons-logging:jar:1.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep80"><i class="icon-info-sign"></i></button> 
            <div id="_dep80" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache Commons Logging</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Apache Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-logging/">http://commons.apache.org/proper/commons-logging/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>commons-collections:commons-collections:jar:3.2.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep82"><i class="icon-info-sign"></i></button> 
            <div id="_dep82" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache Commons Collections</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Types that extend and augment the Java Collections Framework.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/collections/">http://commons.apache.org/collections/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
          </ul></li> 
         <li>commons-codec:commons-codec:jar:1.10 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep84"><i class="icon-info-sign"></i></button> 
          <div id="_dep84" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache Commons Codec</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>The Apache Commons Codec package contains simple encoder and decoders for various formats such as Base64 and Hexadecimal. In addition to these widely used encoders and decoders, the codec package also maintains a collection of phonetic encoding utilities.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-codec/">http://commons.apache.org/proper/commons-codec/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>org.quartz-scheduler:quartz:jar:2.2.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep86"><i class="icon-info-sign"></i></button> 
          <div id="_dep86" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>quartz</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Enterprise Job Scheduler</p> <p><b>URL: </b><a class="externalLink" href="http://www.quartz-scheduler.org/quartz">http://www.quartz-scheduler.org/quartz</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div> 
          <ul> 
           <li>c3p0:c3p0:jar:0.9.1.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep88"><i class="icon-info-sign"></i></button> 
            <div id="_dep88" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>c3p0:JDBC DataSources/Resource Pools</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>c3p0 is an easy-to-use library for augmenting traditional (DriverManager-based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 std extension.</p> <p><b>URL: </b><a class="externalLink" href="http://c3p0.sourceforge.net">http://c3p0.sourceforge.net</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.gnu.org/licenses/lgpl.txt">GNU LESSER GENERAL PUBLIC LICENSE</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
          </ul></li> 
         <li>org.springframework:spring-context-support:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep90"><i class="icon-info-sign"></i></button> 
          <div id="_dep90" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Spring Context Support</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Spring Context Support</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>org.bouncycastle:bcprov-jdk15on:jar:1.55 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep92"><i class="icon-info-sign"></i></button> 
          <div id="_dep92" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Bouncy Castle Provider</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.</p> <p><b>URL: </b><a class="externalLink" href="http://www.bouncycastle.org/java.html">http://www.bouncycastle.org/java.html</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.bouncycastle.org/licence.html">Bouncy Castle Licence</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
        </ul></li> 
      </ul></li> 
     <li>org.apache.mina:mina-core:jar:2.0.16 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep94"><i class="icon-info-sign"></i></button> 
      <div id="_dep94" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Apache MINA Core</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Apache MINA is a network application framework which helps users develop high performance and highly scalable network applications easily. It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.</p> <p><b>URL: </b><a class="externalLink" href="http://mina.apache.org/mina-core/">http://mina.apache.org/mina-core/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.slf4j:slf4j-api:jar:1.7.21 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep96"><i class="icon-info-sign"></i></button> 
        <div id="_dep96" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>SLF4J API Module</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The slf4j API</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.springframework:spring-core:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep98"><i class="icon-info-sign"></i></button> 
      <div id="_dep98" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Spring Core</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Spring Core</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>junit:junit:jar:4.12 (test) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep100"><i class="icon-info-sign"></i></button> 
      <div id="_dep100" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>JUnit</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck.</p> <p><b>URL: </b><a class="externalLink" href="http://junit.org">http://junit.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License 1.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.hamcrest:hamcrest-core:jar:1.3 (test) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep102"><i class="icon-info-sign"></i></button> 
        <div id="_dep102" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Hamcrest Core</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>This is the core API of hamcrest matcher framework to be used by third-party framework providers. This includes the a foundation set of matcher implementations for common operations.</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/hamcrest/JavaHamcrest/hamcrest-core">https://github.com/hamcrest/JavaHamcrest/hamcrest-core</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/bsd-license.php">New BSD License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.springframework:spring-test:jar:4.3.5.RELEASE (test) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep104"><i class="icon-info-sign"></i></button> 
      <div id="_dep104" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Spring TestContext Framework</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Spring TestContext Framework</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>org.apache.tomcat:tomcat-servlet-api:jar:8.5.9 (provided) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep106"><i class="icon-info-sign"></i></button> 
      <div id="_dep106" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>tomcat-servlet-api</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>javax.servlet package</p> <p><b>URL: </b><a class="externalLink" href="http://tomcat.apache.org/">http://tomcat.apache.org/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt and
        http://www.opensource.org/licenses/cddl1.txt">Apache License, Version 2.0 and Common Development And Distribution License (CDDL) Version 1.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
    </ul></li> 
  </ul> 
 </div> 
</div> 
<a name="Licenses"></a> 
<div class="section"> 
 <h2 id="Licenses">Licenses</h2> 
 <p><b>Apache License, Version 2.0 and Common Development And Distribution License (CDDL) Version 1.0: </b>tomcat-servlet-api</p> 
 <p><b>Apache Software License - Version 2.0: </b>ISO Parser</p> 
 <p><b>GNU LESSER GENERAL PUBLIC LICENSE: </b>c3p0:JDBC DataSources/Resource Pools</p> 
 <p><b>The BSD License: </b>XMP Library for Java</p> 
 <p><b>Eclipse Public License 1.0: </b>JUnit</p> 
 <p><b>MIT License: </b>JCL 1.1.1 implemented over SLF4J, JUL to SLF4J bridge, SLF4J API Module</p> 
 <p><b>GNU Lesser General Public License: </b>Logback Classic Module, Logback Core Module</p> 
 <p><b>New BSD License: </b>Hamcrest Core</p> 
 <p><b>Bouncy Castle Licence: </b>Bouncy Castle Provider</p> 
 <p><b>Apache 2: </b>Red5 :: Client, Red5 :: Common server classes, Red5 :: IO</p> 
 <p><b>BSD: </b>ASM Core, JMatIO</p> 
 <p><b>Apache Software Licenses: </b>Log4j Implemented Over SLF4J</p> 
 <p><b>Apache License 2.0: </b>Boilerpipe -- Boilerplate Removal and Fulltext Extraction from HTML pages, TagSoup</p> 
 <p><b>Apache License, Version 2.0: </b>Apache Commons BeanUtils, Apache Commons Codec, Apache Commons Collections, Apache Commons Compress, Apache Commons IO, Apache Commons Lang, Apache HttpClient, Apache HttpCore, Apache JempBox, Apache PDFBox Debugger, Apache PDFBox tools, Apache Tika core, Apache Tika parsers</p> 
 <p><b>Apache 2.0 License: </b>Apache MINA Core</p> 
 <p><b>Mozilla Public License 1.1 (MPL 1.1): </b>juniversalchardet</p> 
 <p><b>The Apache Software License, Version 2.0: </b>Apache Commons Logging, Apache JAMES Mime4j (Core), Apache JAMES Mime4j (DOM), Ehcache Core, Gson, Jackson-core, Openmeetings Screen Sharing applet, Spring AOP, Spring Beans, Spring Context, Spring Context Support, Spring Core, Spring Expression Language (SpEL), Spring TestContext Framework, Spring Web, com.drewnoakes:metadata-extractor, quartz, rome, rome-utils</p> 
 <p><b>Eclipse Public License - v 1.0: </b>Logback Classic Module, Logback Core Module</p> 
</div> 
<a name="Dependency_File_Details"></a> 
<div class="section"> 
 <h2 id="Dependency_File_Details">Dependency File Details</h2> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th>Total</th> 
    <th>Size</th> 
    <th>Entries</th> 
    <th>Classes</th> 
    <th>Packages</th> 
    <th>Java Version</th> 
    <th>Debug Information</th> 
   </tr> 
  </thead> 
  <thead> 
   <tr class="a"> 
    <th>Filename</th> 
    <th>Size</th> 
    <th>Entries</th> 
    <th>Classes</th> 
    <th>Packages</th> 
    <th>Java Version</th> 
    <th title="Indicates whether these dependencies have been compiled with debug information.">Debug Information</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td>c3p0-0.9.1.1.jar</td> 
    <td>608.4 kB</td> 
    <td>434</td> 
    <td>382</td> 
    <td>44</td> 
    <td>1.4</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>logback-classic-1.1.7.jar</td> 
    <td>304.1 kB</td> 
    <td>231</td> 
    <td>175</td> 
    <td>26</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>logback-core-1.1.7.jar</td> 
    <td>470.8 kB</td> 
    <td>418</td> 
    <td>372</td> 
    <td>36</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>xmpcore-5.1.2.jar</td> 
    <td>117.3 kB</td> 
    <td>64</td> 
    <td>55</td> 
    <td>5</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>metadata-extractor-2.9.1.jar</td> 
    <td>378.3 kB</td> 
    <td>236</td> 
    <td>193</td> 
    <td>34</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>jackson-core-2.8.1.jar</td> 
    <td>280 kB</td> 
    <td>117</td> 
    <td>94</td> 
    <td>9</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>gson-2.2.4.jar</td> 
    <td>190.4 kB</td> 
    <td>163</td> 
    <td>153</td> 
    <td>6</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>juniversalchardet-1.0.3.jar</td> 
    <td>220.8 kB</td> 
    <td>77</td> 
    <td>62</td> 
    <td>6</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>isoparser-1.1.17.jar</td> 
    <td>1.1 MB</td> 
    <td>695</td> 
    <td>608</td> 
    <td>61</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>rome-1.5.1.jar</td> 
    <td>242.8 kB</td> 
    <td>144</td> 
    <td>123</td> 
    <td>10</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>rome-utils-1.5.1.jar</td> 
    <td>6.8 kB</td> 
    <td>18</td> 
    <td>7</td> 
    <td>1</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-beanutils-1.9.3.jar</td> 
    <td>246.2 kB</td> 
    <td>154</td> 
    <td>137</td> 
    <td>5</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>commons-codec-1.10.jar</td> 
    <td>284.2 kB</td> 
    <td>238</td> 
    <td>92</td> 
    <td>6</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-collections-3.2.2.jar</td> 
    <td>588.3 kB</td> 
    <td>484</td> 
    <td>460</td> 
    <td>12</td> 
    <td>1.3</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>commons-io-2.5.jar</td> 
    <td>208.7 kB</td> 
    <td>142</td> 
    <td>123</td> 
    <td>7</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-logging-1.2.jar</td> 
    <td>61.8 kB</td> 
    <td>42</td> 
    <td>28</td> 
    <td>2</td> 
    <td>1.2</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>boilerpipe-1.1.0.jar</td> 
    <td>92 kB</td> 
    <td>95</td> 
    <td>76</td> 
    <td>12</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>junit-4.12.jar</td> 
    <td>314.9 kB</td> 
    <td>323</td> 
    <td>286</td> 
    <td>30</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>ehcache-core-2.6.11.jar</td> 
    <td>1.3 MB</td> 
    <td>1042</td> 
    <td>961</td> 
    <td>65</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-compress-1.12.jar</td> 
    <td>442.6 kB</td> 
    <td>268</td> 
    <td>233</td> 
    <td>23</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>commons-lang3-3.5.jar</td> 
    <td>479.9 kB</td> 
    <td>284</td> 
    <td>260</td> 
    <td>12</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>httpclient-4.5.2.jar</td> 
    <td>736.7 kB</td> 
    <td>504</td> 
    <td>463</td> 
    <td>24</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>httpcore-4.4.4.jar</td> 
    <td>326.7 kB</td> 
    <td>284</td> 
    <td>254</td> 
    <td>17</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>apache-mime4j-core-0.7.2.jar</td> 
    <td>95.5 kB</td> 
    <td>80</td> 
    <td>61</td> 
    <td>6</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>apache-mime4j-dom-0.7.2.jar</td> 
    <td>304.8 kB</td> 
    <td>228</td> 
    <td>192</td> 
    <td>13</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>mina-core-2.0.16.jar</td> 
    <td>651.3 kB</td> 
    <td>483</td> 
    <td>422</td> 
    <td>45</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>jempbox-1.8.12.jar</td> 
    <td>51.4 kB</td> 
    <td>40</td> 
    <td>24</td> 
    <td>3</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>pdfbox-debugger-2.0.3.jar</td> 
    <td>226.3 kB</td> 
    <td>152</td> 
    <td>114</td> 
    <td>12</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>pdfbox-tools-2.0.3.jar</td> 
    <td>69.7 kB</td> 
    <td>41</td> 
    <td>26</td> 
    <td>2</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>tika-core-1.14.jar</td> 
    <td>619.2 kB</td> 
    <td>351</td> 
    <td>288</td> 
    <td>19</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>tika-parsers-1.14.jar</td> 
    <td>873.9 kB</td> 
    <td>491</td> 
    <td>392</td> 
    <td>68</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>tomcat-servlet-api-8.5.9.jar</td> 
    <td>243.8 kB</td> 
    <td>127</td> 
    <td>82</td> 
    <td>4</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>bcprov-jdk15on-1.55.jar</td> 
    <td>3.4 MB</td> 
    <td>2931</td> 
    <td>2784</td> 
    <td>136</td> 
    <td>1.5</td> 
    <td>No</td> 
   </tr> 
   <tr class="a"> 
    <td>tagsoup-1.2.1.jar</td> 
    <td>90.7 kB</td> 
    <td>29</td> 
    <td>22</td> 
    <td>2</td> 
    <td>1.4</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>hamcrest-core-1.3.jar</td> 
    <td>45 kB</td> 
    <td>52</td> 
    <td>45</td> 
    <td>3</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>asm-5.0.4.jar</td> 
    <td>53.3 kB</td> 
    <td>30</td> 
    <td>25</td> 
    <td>2</td> 
    <td>1.2</td> 
    <td>No</td> 
   </tr> 
   <tr class="b"> 
    <td>quartz-2.2.3.jar</td> 
    <td>660.5 kB</td> 
    <td>398</td> 
    <td>350</td> 
    <td>31</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>red5-client-1.0.8-RELEASE.jar</td> 
    <td>106.8 kB</td> 
    <td>81</td> 
    <td>61</td> 
    <td>9</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>red5-io-1.0.8-RELEASE.jar</td> 
    <td>329.7 kB</td> 
    <td>230</td> 
    <td>183</td> 
    <td>30</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>red5-server-common-1.0.8-RELEASE.jar</td> 
    <td>530.3 kB</td> 
    <td>378</td> 
    <td>327</td> 
    <td>41</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>jcl-over-slf4j-1.7.22.jar</td> 
    <td>16.5 kB</td> 
    <td>23</td> 
    <td>9</td> 
    <td>2</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>jul-to-slf4j-1.7.22.jar</td> 
    <td>4.6 kB</td> 
    <td>11</td> 
    <td>1</td> 
    <td>1</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>log4j-over-slf4j-1.7.22.jar</td> 
    <td>23.6 kB</td> 
    <td>43</td> 
    <td>30</td> 
    <td>4</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>slf4j-api-1.7.21.jar</td> 
    <td>41.1 kB</td> 
    <td>46</td> 
    <td>34</td> 
    <td>4</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-aop-4.3.5.RELEASE.jar</td> 
    <td>380.1 kB</td> 
    <td>306</td> 
    <td>269</td> 
    <td>17</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-beans-4.3.5.RELEASE.jar</td> 
    <td>761.5 kB</td> 
    <td>463</td> 
    <td>408</td> 
    <td>15</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-context-4.3.5.RELEASE.jar</td> 
    <td>1.1 MB</td> 
    <td>889</td> 
    <td>767</td> 
    <td>66</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-context-support-4.3.5.RELEASE.jar</td> 
    <td>187.2 kB</td> 
    <td>142</td> 
    <td>118</td> 
    <td>14</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-core-4.3.5.RELEASE.jar</td> 
    <td>1.1 MB</td> 
    <td>833</td> 
    <td>786</td> 
    <td>40</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-expression-4.3.5.RELEASE.jar</td> 
    <td>263.3 kB</td> 
    <td>156</td> 
    <td>142</td> 
    <td>6</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-test-4.3.5.RELEASE.jar</td> 
    <td>598.9 kB</td> 
    <td>483</td> 
    <td>443</td> 
    <td>31</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-web-4.3.5.RELEASE.jar</td> 
    <td>816.3 kB</td> 
    <td>607</td> 
    <td>558</td> 
    <td>37</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>jmatio-1.2.jar</td> 
    <td>72.6 kB</td> 
    <td>53</td> 
    <td>38</td> 
    <td>5</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>53</td> 
    <td>22.8 MB</td> 
    <td>16634</td> 
    <td>14598</td> 
    <td>1121</td> 
    <td>1.7</td> 
    <td>51</td> 
   </tr> 
   <tr class="a"> 
    <td>compile: 49</td> 
    <td>compile: 21.6 MB</td> 
    <td>compile: 15649</td> 
    <td>compile: 13742</td> 
    <td>compile: 1053</td> 
    <td>-</td> 
    <td>compile: 47</td> 
   </tr> 
   <tr class="b"> 
    <td>test: 3</td> 
    <td>test: 958.8 kB</td> 
    <td>test: 858</td> 
    <td>test: 774</td> 
    <td>test: 64</td> 
    <td>-</td> 
    <td>test: 3</td> 
   </tr> 
   <tr class="a"> 
    <td>provided: 1</td> 
    <td>provided: 243.8 kB</td> 
    <td>provided: 127</td> 
    <td>provided: 82</td> 
    <td>provided: 4</td> 
    <td>-</td> 
    <td>provided: 1</td> 
   </tr> 
  </tbody> 
 </table> 
</div>
			</div>
		</div>
		<div class="span4">
			<div id="toc-sidebar">
				<div class="well">
					<ul class="nav nav-list">
						<li class="nav-header">Table of Contents</li>
		<li class="dropdown"><a href="#Project_Dependencies" title="Project Dependencies">Project Dependencies <b class="caret"></b></a>
			<ul class="nav nav-list">
		<li><a href="#compile" title="compile">compile</a>
		<li><a href="#test" title="test">test</a>
		<li><a href="#provided" title="provided">provided</a>
				<li class="divider"></li>
			</ul>
		</li>
		<li class="dropdown"><a href="#Project_Transitive_Dependencies" title="Project Transitive Dependencies">Project Transitive Dependencies <b class="caret"></b></a>
			<ul class="nav nav-list">
		<li><a href="#compile" title="compile">compile</a>
		<li><a href="#test" title="test">test</a>
				<li class="divider"></li>
			</ul>
		</li>
		<li class="dropdown"><a href="#Project_Dependency_Graph" title="Project Dependency Graph">Project Dependency Graph <b class="caret"></b></a>
			<ul class="nav nav-list">
		<li><a href="#Dependency_Tree" title="Dependency Tree">Dependency Tree</a>
				<li class="divider"></li>
			</ul>
		</li>
		<li><a href="#Licenses" title="Licenses">Licenses</a>
		<li><a href="#Dependency_File_Details" title="Dependency File Details">Dependency File Details</a>
					</ul>
				</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Parent Project</li>
						<li >
							<a href="../index.html" title="Openmeetings">Openmeetings</a>
						</li>
					</ul>
				</div>
				<div class="span8 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Project</li>
						<li >
							<a href="index.html" title="About">About</a>
						</li>
						<li >
							<a href="project-info.html" title="Info">Info</a>
						</li>
						<li >
							<a href="project-summary.html" title="Summary">Summary</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
						<li class="active">
							<a href="#" title="Dependencies">Dependencies</a>
						</li>
						<li >
							<a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a>
						</li>
						<li >
							<a href="rat-report.html" title="RAT Report">RAT Report</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2012-2017 <a href="http://apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="../js/jquery.min.js"></script>

	<script src="../js/bootstrap.min.js"></script>
	<script src="../js/lightbox.min.js"></script>
	<script src="../js/reflow-scroll.js"></script>
	
<script src="../js/site.js"></script>
	<script src="../js/reflow-skin.js"></script>

	</body>
</html>
