<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
   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.
-->
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="http://commons.apache.org/testMultiConfiguration.xsd">
  <colors>
    <background>#40404040</background>
    <text>#000000</text>
    <header>#444444</header>
    <link normal="#040404" visited="#404040"/>
    <default>${colors.default}</default>
  </colors>
  <rowsPerPage>50</rowsPerPage>
  <buttons>
    <name>OK-4,Cancel-4,Help-4</name>
  </buttons>
  <numberFormat pattern="###\,###.##"/>
  <!-- Comma delimited lists -->
  <split>
    <list1>a,b,c</list1>
    <list2>a\,b\,c</list2>
    <list3 values="a,b,c"/>
    <list4 values="a\,b\,c"/>
  </split>
  <Channels>
    <Channel id="1">
      <Name>Channel 1</Name>
      <ChannelData>test 1 data</ChannelData>
    </Channel>
    <Channel id="2">
      <Name>Channel 2</Name>
      <ChannelData>test 2 data</ChannelData>
    </Channel>
  </Channels>
</configuration>