<?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 flm:originalName="ScrollBar/ScrollThumb_overSkin" version="2.0" afx:className="ScrollThumb_overSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
  <Group scaleGridRight="8" scaleGridTop="5" scaleGridBottom="48">
    <Path data="M12.05 1 12.05 50 0.95 50 0.95 1 12.05 1">
      <fill>
        <LinearGradient x="6.05" y="0.5" scaleX="50" rotation="90">
          <GradientEntry ratio="0" color="#666666"/>
          <GradientEntry ratio="1" color="#333333"/>
        </LinearGradient>
      </fill>
    </Path>
    <Path data="M12.05 1 0.95 1 0.95 50 12.05 50 12.05 1M12.55 0Q12.7 0 12.85 0.15 13 0.3 13 0.5L13 50.5Q13 50.7 12.85 50.85 12.7 51 12.55 51L0.45 51Q0.3 51 0.15 50.85 0 50.7 0 50.5L0 0.5Q0 0.3 0.15 0.15 0.3 0 0.45 0L12.55 0">
      <fill>
        <SolidColor color="#0295D2"/>
      </fill>
    </Path>
  </Group>
</Graphic>