// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

CANVAS_DIMENSIONS, 40,
MOVE_TO, 31, 9,
R_H_LINE_TO, -6,
R_LINE_TO, -5, -5,
R_LINE_TO, -5, 5,
H_LINE_TO, 9,
R_V_LINE_TO, 6,
R_LINE_TO, -5, 5,
R_LINE_TO, 5, 5,
R_V_LINE_TO, 6,
R_H_LINE_TO, 6,
R_LINE_TO, 5, 5,
R_LINE_TO, 5, -5,
R_H_LINE_TO, 6,
R_V_LINE_TO, -6,
R_LINE_TO, 5, -5,
R_LINE_TO, -5, -5,
V_LINE_TO, 9,
CLOSE,
MOVE_TO, 20, 28,
R_CUBIC_TO, -4.41f, 0, -8, -3.59f, -8, -8,
R_CUBIC_TO, 0, -4.41f, 3.59f, -8, 8, -8,
R_CUBIC_TO, 4.41f, 0, 8, 3.59f, 8, 8,
R_CUBIC_TO, 0, 4.41f, -3.59f, 8, -8, 8,
CLOSE,
R_MOVE_TO, 0, -2,
R_ARC_TO, 6, 6, 0, 1, 0, 0, -12,
R_ARC_TO, 6, 6, 0, 0, 0, 0, 12,
CLOSE

CANVAS_DIMENSIONS, 20,
MOVE_TO, 15, 5,
R_H_LINE_TO, -2.5f,
LINE_TO, 10, 2,
LINE_TO, 7.5f, 5,
H_LINE_TO, 5,
R_V_LINE_TO, 2.5f,
LINE_TO, 2, 10,
R_LINE_TO, 3, 2.5f,
V_LINE_TO, 15,
R_H_LINE_TO, 2.5f,
R_LINE_TO, 2.5f, 3,
R_LINE_TO, 2.5f, -3,
H_LINE_TO, 15,
R_V_LINE_TO, -2.5f,
R_LINE_TO, 3, -2.5f,
R_LINE_TO, -3, -2.5f,
V_LINE_TO, 5,
CLOSE,
R_MOVE_TO, -5, 9,
R_CUBIC_TO, -2.21f, 0, -4, -1.79f, -4, -4,
R_CUBIC_TO, 0, -2.21f, 1.79f, -4, 4, -4,
R_CUBIC_TO, 2.21f, 0, 4, 1.79f, 4, 4,
R_CUBIC_TO, 0, 2.21f, -1.79f, 4, -4, 4,
CLOSE,
R_MOVE_TO, 0, -1,
R_ARC_TO, 3, 3, 0, 1, 0, 0, -6,
R_ARC_TO, 3, 3, 0, 0, 0, 0, 6,
CLOSE
