<?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>

	<resource name="userstatus_multiframe_rsc">
		<frame src="resources/bullet_ball_glass_green.png"/> <!-- user -->
		<frame src="resources/bullet_ball_glass_yellow.png"/> <!-- mod -->
		<frame src="resources/bullet_ball_glass_red.png"/> <!-- whiteboard allow -->
	</resource>
	
	<resource name="chat_message_incoming_rsc" src="resources/ledlightgreen.png" />
	
	<!-- FamFam Icon Set -->
	<resource name="screen_allow_rsc" src="resources/monitor_add.png" />
	<!-- FamFam Icon Set -->
    <resource name="screen_deny_rsc" src="resources/monitor_delete.png" />
    <!-- FamFam Icon Set -->
    <resource name="remote_allow_rsc" src="resources/mouse_add.png" />
    <!-- FamFam Icon Set -->
    <resource name="remote_deny_rsc" src="resources/mouse_delete.png" />
	
	<!-- FamFam Icon Set -->
	<resource name="av_allow_rsc" src="resources/audio_and_video.png" />
	<!-- FamFam Icon Set -->
	<resource name="av_deny_rsc" src="resources/audio_and_video_no.png" />
	<!-- FamFam Icon Set -->
	<resource name="start_private_chat_rsc" src="resources/page_edit.png" />
	
	<!-- APL author sebawagner -->
	<resource name="kick_user_rsc" src="resources/cancel_icon.png" />
	
	<!-- 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="mute_btn_rsc" src="resources/mute_micro.png" />
    <!-- APL author sebawagner -->
    <resource name="unmute_btn_rsc" src="resources/mute_micro_red.png" />
	
	<!-- APL author sebawagner -->
	<resource name="sidebar_tab_btn">
		<frame src="resources/sidebar_close.png" />
		<frame src="resources/sidebar_open.png" />
	</resource>
	
	<include href="innerlistViewEventUserListTable.lzx" />
	<include href="moderationMiniIconsEventUserList.lzx" />
	<include href="activitylist/" />
	<include href="roomSidebar/" />
	<include href="appointmentNotificationPopUp.lzx" />
	<include href="baseRoomInnerList.lzx" />
    <include href="baseConferenceRoom.lzx" />
    <include href="flexibleConferenceRoom.lzx" />
    <include href="restrictedConferenceRoom.lzx" />
    <include href="interviewConferenceRoom.lzx" />
    
    
</library>
