171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com/* 271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com * Copyright 2011 Google Inc. 371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com * 471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com * Use of this source code is governed by a BSD-style license that can be 571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com * found in the LICENSE file. 671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com */ 7f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina#include "Benchmark.h" 871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com#include "SkCanvas.h" 971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com#include "SkPaint.h" 1071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com#include "SkString.h" 1171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com/** 1371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com Benchmarks that try to emulate a particular Skia call pattern observed in Chrome. 1471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com*/ 1571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com/// blitRect() calls emitted by Chrome while scrolling through gmail: count, width, height. 1771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.comint gmailScrollingRectSpec [431*3] = { 1871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 1254, 1160, 1971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 64, 112, 2071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 1034, 261, 2171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 1166, 1, 2271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 1166, 20, 2371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 1254, 40, 2471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 140, 20, 2571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 22, 30, 2671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 22, 39, 2771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 294, 29, 2871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 336, 25, 2971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 336, 5, 3071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 37, 3, 3171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 37, 4, 3271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 37, 5, 3371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 41, 29, 3471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 57, 15, 3571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 72, 5, 3671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 72, 8, 3771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 76, 29, 3871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 981, 88, 3971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 990, 2, 4071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1, 990, 6, 4171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 220, 88, 4271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 294, 1, 4371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 37, 6, 4471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 391, 55, 4571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 57, 11, 4671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 57, 14, 4771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 57, 7, 4871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 981, 30, 4971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 990, 15, 5071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 2, 990, 19, 5171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 114, 16, 5271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 1166, 39, 5371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 1254, 154, 5471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 12, 12, 5571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 162, 7, 5671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 164, 479, 5771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 167, 449, 5871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 16, 24, 5971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 204, 497, 6071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 205, 434, 6171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 220, 1127, 6271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 220, 1132, 6371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 220, 931, 6471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 220, 933, 6571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 220, 934, 6671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 297, 8, 6771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 72, 25, 6871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 87, 30, 6971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 981, 1, 7071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 981, 126, 7171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 990, 27, 7271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 990, 36, 7371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 3, 991, 29, 7471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 1254, 306, 7571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 1254, 36, 7671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 1, 1, 7771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 1, 14, 7871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 1, 19, 7971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 1, 7, 8071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 21, 21, 8171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 220, 30, 8271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 46, 949, 8371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 509, 30, 8471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 57, 2, 8571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 57, 6, 8671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4, 990, 11, 8771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 13, 8, 8871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 198, 24, 8971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 24, 24, 9071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 25, 24, 9171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 2, 24, 9271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 37, 33, 9371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 57, 4, 9471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 599, 24, 9571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 90, 24, 9671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 981, 19, 9771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 990, 23, 9871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 5, 990, 8, 9971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 101, 29, 10071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 117, 29, 10171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 1254, 88, 10271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 139, 29, 10371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 13, 12, 10471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 15, 15, 10571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 164, 25, 10671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 16, 16, 10771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 198, 7, 10871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 1, 12, 10971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 1, 15, 11071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 1, 27, 11171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 220, 936, 11271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 24, 7, 11371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 25, 7, 11471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 2, 7, 11571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 326, 29, 11671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 336, 29, 11771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 599, 7, 11871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 86, 29, 11971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 90, 7, 12071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 96, 29, 12171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 6, 991, 31, 12271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 198, 12, 12371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 198, 20, 12471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 198, 33, 12571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 198, 35, 12671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 24, 12, 12771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 24, 20, 12871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 24, 33, 12971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 24, 35, 13071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 25, 12, 13171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 25, 20, 13271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 25, 33, 13371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 25, 35, 13471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 2, 12, 13571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 2, 20, 13671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 2, 33, 13771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 2, 35, 13871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 304, 1, 13971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 38, 29, 14071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 51, 29, 14171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 599, 12, 14271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 599, 20, 14371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 599, 33, 14471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 599, 35, 14571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 90, 12, 14671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 90, 20, 14771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 90, 33, 14871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 7, 90, 35, 14971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 13, 5, 15071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 198, 13, 15171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 198, 23, 15271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 220, 1, 15371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 24, 13, 15471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 24, 23, 15571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 25, 13, 15671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 25, 23, 15771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 2, 13, 15871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 2, 23, 15971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 329, 28, 16071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 57, 10, 16171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 599, 13, 16271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 599, 23, 16371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 90, 13, 16471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8, 90, 23, 16571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 198, 17, 16671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 198, 19, 16771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 198, 37, 16871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 198, 5, 16971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 198, 8, 17071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 24, 17, 17171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 24, 19, 17271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 24, 37, 17371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 24, 5, 17471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 24, 8, 17571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 25, 17, 17671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 25, 19, 17771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 25, 37, 17871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 25, 5, 17971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 25, 8, 18071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 2, 17, 18171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 2, 19, 18271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 2, 37, 18371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 2, 5, 18471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 2, 8, 18571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 599, 17, 18671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 599, 19, 18771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 599, 37, 18871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 599, 5, 18971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 599, 8, 19071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 72, 29, 19171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 90, 17, 19271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 90, 19, 19371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 90, 37, 19471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 90, 5, 19571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 9, 90, 8, 19671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 13, 11, 19771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 13, 9, 19871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 198, 26, 19971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 198, 28, 20071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 1, 23, 20171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 1, 4, 20271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 1, 6, 20371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 24, 26, 20471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 24, 28, 20571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 25, 26, 20671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 25, 28, 20771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 26, 24, 20871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 2, 26, 20971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 2, 28, 21071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 599, 26, 21171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 599, 28, 21271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 90, 26, 21371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 10, 90, 28, 21471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 11, 198, 27, 21571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 11, 24, 27, 21671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 11, 25, 27, 21771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 11, 2, 27, 21871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 11, 599, 27, 21971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 11, 90, 27, 22071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 198, 14, 22171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 198, 21, 22271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 198, 3, 22371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 1, 11, 22471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 1, 2, 22571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 1, 8, 22671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 24, 14, 22771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 24, 21, 22871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 24, 3, 22971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 25, 14, 23071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 25, 21, 23171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 25, 3, 23271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 26, 7, 23371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 2, 14, 23471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 2, 21, 23571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 2, 3, 23671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 329, 14, 23771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 38, 2, 23871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 599, 14, 23971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 599, 21, 24071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 599, 3, 24171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 90, 14, 24271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 90, 21, 24371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 12, 90, 3, 24471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 198, 11, 24571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 198, 15, 24671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 198, 31, 24771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 24, 11, 24871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 24, 15, 24971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 24, 31, 25071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 25, 11, 25171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 25, 15, 25271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 25, 31, 25371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 2, 11, 25471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 2, 15, 25571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 2, 31, 25671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 57, 13, 25771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 599, 11, 25871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 599, 15, 25971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 599, 31, 26071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 71, 29, 26171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 90, 11, 26271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 90, 15, 26371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 13, 90, 31, 26471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 13, 2, 26571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 198, 10, 26671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 24, 10, 26771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 25, 10, 26871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 26, 12, 26971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 26, 20, 27071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 26, 33, 27171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 26, 35, 27271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 2, 10, 27371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 336, 1, 27471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 45, 29, 27571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 599, 10, 27671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 63, 29, 27771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 14, 90, 10, 27871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 13, 3, 27971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 198, 2, 28071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 198, 29, 28171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 198, 34, 28271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 24, 2, 28371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 24, 29, 28471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 24, 34, 28571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 25, 2, 28671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 25, 29, 28771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 25, 34, 28871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 2, 2, 28971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 2, 29, 29071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 2, 34, 29171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 599, 2, 29271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 599, 29, 29371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 599, 34, 29471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 90, 2, 29571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 90, 29, 29671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 15, 90, 34, 29771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 13, 4, 29871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 13, 6, 29971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 198, 16, 30071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 198, 9, 30171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 1, 10, 30271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 24, 16, 30371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 24, 9, 30471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 25, 16, 30571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 25, 9, 30671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 26, 13, 30771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 26, 23, 30871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 2, 16, 30971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 2, 9, 31071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 599, 16, 31171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 599, 9, 31271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 90, 16, 31371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 16, 90, 9, 31471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17, 13, 7, 31571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17, 198, 18, 31671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17, 24, 18, 31771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17, 25, 18, 31871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17, 2, 18, 31971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17, 599, 18, 32071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17, 90, 18, 32171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 198, 22, 32271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 198, 32, 32371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 198, 36, 32471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 198, 4, 32571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 24, 22, 32671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 24, 32, 32771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 24, 36, 32871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 24, 4, 32971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 25, 22, 33071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 25, 32, 33171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 25, 36, 33271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 25, 4, 33371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 26, 17, 33471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 26, 19, 33571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 26, 37, 33671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 26, 5, 33771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 26, 8, 33871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 2, 22, 33971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 2, 32, 34071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 2, 36, 34171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 2, 4, 34271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 599, 22, 34371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 599, 32, 34471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 599, 36, 34571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 599, 4, 34671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 90, 22, 34771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 90, 32, 34871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 90, 36, 34971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 18, 90, 4, 35071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 19, 13, 10, 35171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 20, 1254, 30, 35271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 20, 16, 1007, 35371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 20, 26, 26, 35471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 20, 26, 28, 35571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 21, 198, 6, 35671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 21, 24, 6, 35771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 21, 25, 6, 35871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 21, 2, 6, 35971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 21, 599, 6, 36071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 21, 90, 6, 36171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 22, 198, 38, 36271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 22, 22, 40, 36371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 22, 24, 38, 36471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 22, 25, 38, 36571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 22, 26, 27, 36671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 22, 2, 38, 36771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 22, 599, 38, 36871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 22, 90, 38, 36971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 23, 1254, 1160, 37071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 24, 220, 930, 37171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 24, 26, 14, 37271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 24, 26, 21, 37371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 24, 26, 3, 37471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 26, 11, 11, 37571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 26, 1, 13, 37671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 26, 26, 11, 37771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 26, 26, 15, 37871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 26, 26, 31, 37971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 28, 26, 10, 38071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 30, 176, 60, 38171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 30, 26, 2, 38271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 30, 26, 29, 38371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 30, 26, 34, 38471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 32, 26, 16, 38571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 32, 26, 9, 38671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 34, 26, 18, 38771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 36, 26, 22, 38871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 36, 26, 32, 38971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 36, 26, 36, 39071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 36, 26, 4, 39171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 36, 37, 26, 39271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 42, 26, 6, 39371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 43, 115, 29, 39471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 44, 198, 25, 39571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 44, 24, 25, 39671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 44, 25, 25, 39771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 44, 26, 38, 39871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 44, 2, 25, 39971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 44, 599, 25, 40071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 44, 90, 25, 40171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 46, 22, 1, 40271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 47, 198, 30, 40371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 47, 25, 30, 40471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 47, 2, 30, 40571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 47, 599, 30, 40671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 47, 90, 30, 40771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 48, 24, 30, 40871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 52, 176, 30, 40971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 58, 140, 24, 41071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 58, 4, 30, 41171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 63, 990, 29, 41271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 64, 1254, 1, 41371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 88, 26, 25, 41471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 92, 198, 39, 41571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 92, 25, 39, 41671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 92, 2, 39, 41771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 92, 599, 39, 41871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 92, 90, 39, 41971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 93, 24, 39, 42071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 94, 26, 30, 42171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 108, 1254, 1051, 42271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 117, 140, 1, 42371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 119, 160, 1, 42471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 126, 1, 29, 42571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 132, 135, 16, 42671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 147, 72, 16, 42771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 184, 26, 39, 42871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 238, 990, 1, 42971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 376, 11, 1007, 43071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 380, 11, 487, 43171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1389, 1034, 1007, 43271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 1870, 57, 16, 43371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 4034, 1, 16, 43471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8521, 198, 40, 43571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8521, 25, 40, 43671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8521, 2, 40, 43771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8521, 599, 40, 43871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8521, 90, 40, 43971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8543, 24, 40, 44071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 8883, 13, 13, 44171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17042, 26, 40, 44271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17664, 198, 1, 44371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17664, 25, 1, 44471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17664, 2, 1, 44571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17664, 599, 1, 44671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17664, 90, 1, 44771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 17710, 24, 1, 44871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 35328, 26, 1, 44971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com}; 45071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 45171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com/// Emulates the mix of rects blitted by gmail during scrolling 452f168b86d7fafc5c20c87bebc6fd393cb17e120catfarinaclass ScrollGmailBench : public Benchmark { 45371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com enum { 45471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com W = 1254, 45571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com H = 1160, 45671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com N = 431 45771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com }; 45871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.compublic: 459410e6e80f00a6c660675c80904807a041c7b7d2amtklein@google.com ScrollGmailBench() { } 46071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 46171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.comprotected: 46271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 46371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com virtual const char* onGetName() { return "chrome_scrollGmail"; } 4643361471a3504ecd0351ff70f4c42d8d6fee963d4commit-bot@chromium.org virtual void onDraw(const int loops, SkCanvas* canvas) { 46571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com SkDEBUGCODE(this->validateBounds(canvas)); 46671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com SkPaint paint; 46771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com this->setupPaint(&paint); 46871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com for (int i = 0; i < N; i++) { 46971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com SkRect current; 47071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com setRectangle(current, i); 4713361471a3504ecd0351ff70f4c42d8d6fee963d4commit-bot@chromium.org for (int j = 0; j < loops * gmailScrollingRectSpec[i*3]; j++) { 47271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com canvas->drawRect(current, paint); 47371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com } 47471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com } 47571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com } 47671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com virtual SkIPoint onGetSize() { return SkIPoint::Make(W, H); } 47771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 47871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com void setRectangle(SkRect& current, int i) { 47971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com current.set(0, 0, 48071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com SkIntToScalar(gmailScrollingRectSpec[i*3+1]), SkIntToScalar(gmailScrollingRectSpec[i*3+2])); 48171dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com } 48271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com void validateBounds(SkCanvas* canvas) { 48371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com SkIRect bounds; 48471dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com canvas->getClipDeviceBounds(&bounds); 48571dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com SkASSERT(bounds.right()-bounds.left() >= W); 48671dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com SkASSERT(bounds.bottom()-bounds.top() >= H); 48771dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com } 48871dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 48971dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 49071dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.comprivate: 491f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina typedef Benchmark INHERITED; 49271dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com}; 49371dd3e0359b1c1e09fea751cd58f1728e467e750tomhudson@google.com 494af2313e7e7c6a1ebeb49f966db07f9ea2a8f7ec0tomhudson@google.com// Disabled this benchmark: it takes 15x longer than any other benchmark 495af2313e7e7c6a1ebeb49f966db07f9ea2a8f7ec0tomhudson@google.com// and is probably not giving us important information. 496410e6e80f00a6c660675c80904807a041c7b7d2amtklein@google.com// DEF_BENCH(return SkNEW(ScrollGmailBench)); 497