<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
          
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
 -->
<classpath>
	<classpathentry kind="src" path="src/axis/java"/>
	<classpathentry kind="src" path="src/db/java"/>
	<classpathentry kind="src" path="src/doc/java"/>
	<classpathentry kind="src" path="src/install/java"/>
	<classpathentry kind="src" path="src/main/java"/>
	<classpathentry kind="src" path="src/test/java"/>
	<classpathentry kind="src" path="src/main/webapp/WEB-INF/classes"/>
	<classpathentry kind="src" path="src/screenshare/java"/>
	<classpathentry kind="src" path="src/util/java"/>
	<classpathentry kind="src" path="src/web/java"/>
	<classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4">
		<attributes>
			<attribute name="org.eclipse.jst.component.nondependency" value=""/>
		</attributes>
	</classpathentry>
	<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=Openmeetings+3.0.x&amp;ivyXmlPath=ivy.xml&amp;confs=*&amp;ivySettingsPath=%24%7Bworkspace_loc%3AOpenmeetings+3.0.x%2Fivysettings.xml%7D&amp;loadSettingsOnDemand=false&amp;propertyFiles="/>
	<classpathentry kind="lib" path="build/lib/java_16_tools.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/red5-io-1.0.6-RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/red5-server.jar" sourcepath="build/red5/server/src/main/java"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/red5-server-common-1.0.6-RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/slf4j-api-1.7.9.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-core-4.1.7.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-beans-4.1.7.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/mina-core-2.0.9.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/quartz-2.2.1.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/log4j-over-slf4j-1.7.9.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/commons-collections-3.2.1.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-web-4.1.7.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/commons-beanutils-1.9.2.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/commons-lang3-3.4.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/logback-core-1.1.2.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/logback-classic-1.1.2.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-expression-4.1.7.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-context-4.1.7.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-context-support-4.1.7.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/aopalliance-1.0.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/spring-aop-4.1.7.RELEASE.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/commons-pool-1.5.6.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/ehcache-core-2.6.9.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/plugins/tomcat-embed-core.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/bcprov-jdk15on-1.52.jar"/>
	<classpathentry kind="lib" path="build/red5/server/dist/lib/cglib-nodep-2.2.2.jar"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
		<attributes>
			<attribute name="owner.project.facets" value="java"/>
		</attributes>
	</classpathentry>
	<classpathentry kind="output" path="build/classes/eclipse"/>
</classpath>
