<?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="DateChooser/monthChooser/DateChooser_prevMonthDisabledSkin" version="2.0" afx:className="DateChooser_prevMonthDisabledSkin" 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>
    <Group aaa:type="layer" aaa:userLabel="Layer 11" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path data="M18 18 0 18 0 0 18 0 18 18">
        <fill>
          <SolidColor alpha="0.25882354"/>
        </fill>
      </Path>
    </Group>
    <Group aaa:type="layer" aaa:userLabel="art" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path data="M0.95 17 0.95 1 16.95 1 16.95 17 0.95 17">
        <fill>
          <SolidColor color="#393E4B" alpha="0.25098041"/>
        </fill>
      </Path>
    </Group>
    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path data="M12 15 6 8.95 12 3 12 15M11.5 14 11.5 4 7.5 8.95 11.5 14">
        <fill>
          <SolidColor color="#333333"/>
        </fill>
      </Path>
      <Path data="M11.5 14 7.5 8.95 11.5 4 11.5 14">
        <fill>
          <SolidColor color="#8E93C5"/>
        </fill>
      </Path>
    </Group>
  </Group>
</Graphic>