<!--
  Copyright (c) 2016, The Linux Foundation. All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are
  met:
      * Redistributions of source code must retain the above copyright
        notice, this list of conditions and the following disclaimer.
      * Redistributions in binary form must reproduce the above
        copyright notice, this list of conditions and the following
        disclaimer in the documentation and/or other materials provided
        with the distribution.
      * Neither the name of The Linux Foundation nor the names of its
        contributors may be used to endorse or promote products derived
        from this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
  ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="32dp"
    android:height="32dp"
    android:viewportWidth="32"
    android:viewportHeight="32">

    <path
        android:fillColor="#FFFFFF"
        android:pathData="M 7.2 23.3 L 5.5 23.3 L 5.5 7.1 L 13.3 4.8 L 14.1 4.8 L 21.7 7.1 L 21.7 11.9 L 20 11.9 L 20 8.3 L 13.7 6.5 L 13.4 6.5 L 7.2 8.3 Z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M 8.6 7 L 8 7 L 8 5.3 L 13.5 3.5 L 19.1 5.3 L 19.1 7 L 18.6 7 L 18.6 5.7 L 13.5 4.1 L 8.6 5.7 Z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M 13.4 3.8 H 13.7 V 5.6 H 13.4 V 3.8 Z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M 13 23.3 L 12.7 23.3 L 12.7 8.4 L 6.5 10.2 L 6.5 9.9 L 13 8.1 Z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M 14.4 23.3 L 14.1 23.3 L 14.1 8 L 20.7 9.8 L 20.6 10.1 L 14.4 8.3 Z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M29.8,27h-1.7v-1.4h1.7V27z M26.3,27h-1.8v-1.4h1.8V27z M22.6,27h-1.8v-1.4h1.8V27z
M18.9,27h-1.8v-1.4 h1.8V27z M15.3,27h-1.8v-1.4h1.8V27z M11.6,27H9.8v-1.4h1.8V27z
M8,27H6.2v-1.4H8V27z M4.3,27H2.5v-1.4h1.8V27z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M 26.7 23.3 L 25 23.3 L 25 13.4 L 22.3 12.3 L 19.6 13.4 L 19.6 23.3 L 17.8 23.3 L 17.8 12.2 L 22 10.6 L 22.6 10.6 L 26.7 12.2 Z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M 22.2 11.6 H 22.5 V 23.3 H 22.2 V 11.6 Z" />
</vector>
