<?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.
  
-->
<library>

	<!--  FamFam Icon Creative Commons -->
    <resource name="warning_icon_popup_devices_rsc" src="resources/error.png" />

	<!--  APL author sebawagner -->
	<resource name="chatbgitem" src="resources/profile_pic.jpg" />

	<!--  FamFam Icon Creative Commons -->
	<resource name="resyncuser_rsc" src="resources/arrow_refresh_small.png" />
	
	<!--  APL author sebawagner -->
    <resource name="mic_rsc" src="resources/micro.png" />
    
    <!--  APL author sebawagner -->
	<resource name="speaking" src="resources/speaking.png" />
	
	<!--  FamFam Icon Creative Commons -->
	<resource name="mute_btn_rsc">
		<frame src="resources/sound.png" />
		<frame src="resources/sound_mute.png" />
	</resource>
	
	<!--  APL author sebawagner -->
    <resource name="mute_micro_btn_rsc">
		<frame src="resources/mute_micro.png" />
		<frame src="resources/mute_micro_red.png" />
	</resource>

	<!--  APL author sebawagner -->
	<resource name="lz_recorder_play" src="resources/webstart_play.png" />

    <include href="changeDevice.lzx" />
    <include href="videoUserProfilePicSWF10.lzx" />
    <include href="editRecordStreamSWF10.lzx" />
    <include href="baseVideoObject.lzx" />
    <include href="videoObjectBroadcast.lzx" />
    <include href="videoObjectPlayBroadcast.lzx" />
    <include href="videoObjectTestBroadcast.lzx" />
    <include href="videoObjectPlayTestBroadcast.lzx" />
    
</library>
