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

-->
<Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008" viewHeight="72" viewWidth="100"
	scaleGridLeft="3" scaleGridTop="8" scaleGridRight="97" scaleGridBottom="63">
	<!-- Transparent rect used to center the bar -->
	<Rect x="0" y="0" width="100" height="6">
		<fill>
			<SolidColor color="#000000" alpha="0"/>
		</fill>
	</Rect>
	<!-- Border --> 
	<Path y="6" winding="nonZero" data="M100 60 0 60 0 0 100 0 100 60ZM1 59 99 59 99 1 1 1 1 59Z">
    	<fill>
        	<SolidColor color="#666666"/>
		</fill>
	</Path>
	<!-- Two tone gradient background -->
	<Rect x="1" y="7" width="98" height="58">
    	<fill>
        	<LinearGradient rotation="90">
            	<GradientEntry ratio="0.0" color="#E6E6E6" alpha="0.2"/>
				<GradientEntry ratio="0.2" color="#E6E6E6" alpha="0.4"/>
				<GradientEntry ratio="0.5" color="#E6E6E6" alpha="0.3"/>
				<GradientEntry ratio="0.5" color="#000000" alpha="0.12"/>
				<GradientEntry ratio="1.0" color="#000000" alpha="0.2"/>
			</LinearGradient>
		</fill>
	</Rect>
	<!-- Top highlight -->
	<Rect x="2" y="7" width="96" height="1">
    	<fill>
        	<SolidColor color="#FFFFFF"/>
        </fill>
	</Rect>
	<!-- Bottom highlight -->
	<Rect x="2" y="64" width="96" height="1">
    	<fill>
        	<SolidColor color="#FFFFFF"/>
        </fill>
	</Rect>
	<!-- Shadow -->
	<Rect x="2" y="66" width="96" height="6">
		<fill>
			<LinearGradient rotation="90">
				<GradientEntry ratio="0" color="#000000" alpha="0.15"/>
				<GradientEntry ratio="1" color="#000000" alpha="0"/>
			</LinearGradient>
        </fill>
	</Rect>
</Graphic>
