Commit Graph

10254 Commits

Author SHA1 Message Date
tfarina@chromium.org
78e7b4e1b9 Get rid of DEFINE_TESTCLASS_SHORT() macro.
Instead tests should be written using DEF_TEST() macro, which is much
nicer and simplifies the process of setting up an unit test.

BUG=None
TEST=skpskgr_test, pathops_unittest
R=mtklein@google.com

Review URL: https://codereview.chromium.org/117863005

git-svn-id: http://skia.googlecode.com/svn/trunk@12870 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 21:45:03 +00:00
halcanary@google.com
dab032a4ba Update 4 skimage expectations.
Grab expectations missed in codereview:102213009, sicne the bots were slow:
-  Test-ChromeOS-Daisy-MaliT604-Arm7-Debug
-  Test-ChromeOS-Daisy-MaliT604-Arm7-Release
-  Test-Ubuntu12-ShuttleA-ATI5770-x86_64-Release-Valgrind
-  Test-Ubuntu13-ShuttleA-HD2000-x86_64-Debug-ASAN

BUG=
R=epoger@google.com

Review URL: https://codereview.chromium.org/93713007

git-svn-id: http://skia.googlecode.com/svn/trunk@12869 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 20:43:26 +00:00
commit-bot@chromium.org
c735598ce5 take 2: create simple 'skpmaker' tool to generate SKP files for testing
(re-landing https://codereview.chromium.org/108343006 without the build breakages)

BUG=skia:1943
R=rmistry@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/112253004

git-svn-id: http://skia.googlecode.com/svn/trunk@12866 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 19:42:15 +00:00
commit-bot@chromium.org
5ccdf01fff Revert of https://codereview.chromium.org/108343006/
Reason for revert: broke some builds

R=rmistry@google.com, mtklein@google.com
TBR=mtklein@google.com, rmistry@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:1943

Author: epoger@google.com

Review URL: https://codereview.chromium.org/102243012

git-svn-id: http://skia.googlecode.com/svn/trunk@12865 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 18:51:38 +00:00
commit-bot@chromium.org
dbd8379e5f create simple 'skpmaker' tool to generate SKP files for testing
(needed to create self-test for render_pictures)

BUG=skia:1943
R=rmistry@google.com, mtklein@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/108343006

git-svn-id: http://skia.googlecode.com/svn/trunk@12864 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 18:10:34 +00:00
reed@google.com
33cc989f23 remove SK_SUPPORT_LEGACY_PIXELREF_CONSTRUCTOR and make fInfo const
BUG=
R=halcanary@google.com

Review URL: https://codereview.chromium.org/107373004

git-svn-id: http://skia.googlecode.com/svn/trunk@12863 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 18:07:46 +00:00
halcanary@google.com
1bed687f6b Add a release procedure to SkMallocPixelRef; remove SkDataPixelRef
This works in a way that is similar to SkData.

SkMallocPixelRef::NewWithProc

    Motivation: Chrome has a ETC1PixelRef which calls delete[] on the
    pixles on destruction.  There is no reason for them to almost
    duplicate our class, when we can provide them a more flexible
    class.  Example use:

      static void delete_uint8_proc(void* ptr, void*) {
        delete[] static_cast<uint8_t>(ptr);
      }
      SkPixelRef* new_delete_pixref(const SkImageInfo& info,
                                    SkColorTable* ctable) {
        size_t rb = info.minRowBytes();
        return SkMallocPixelRef::NewWithProc(
          info, rb, ctable,
          new uint8_t[info.getSafeSize(rb)],
          delete_uint8_proc, NULL);
      }

SkMallocPixelRef::NewWithData

	Motivation:  This allows up to eliminate SkDataPixelRef.  We
    modified SkImage_Raster to use MallocPixelRef rather than
    SkDataPixlRef.

Also:  Unit tests in tests/MallocPixelRefTest.

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/106883006

git-svn-id: http://skia.googlecode.com/svn/trunk@12861 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 17:29:28 +00:00
commit-bot@chromium.org
261c666682 Make tests output spin on the same line by default.
-v now gives a cleaned-up version of the existing output (every test timed, useless information removed)

Example output, default:
  [ 36/193] PathOpsCubicIntersectionOneOffTest
then later when finished...
  [193/193] BlurMaskFilter

Example output, -v:  (note, codereview is messing up my pretty spacing)
Skia UnitTests: --resourcePath resources SK_RELEASE SK_SCALAR_IS_FLOAT skia_arch_width=32
[  1/193]     0ms PathOpsSimplifyDontFailOneTest
[  2/193]     0ms PathOpsSimplifyFailOneTest
[  3/193]    30ms PathOpsSkpTest
[  4/193]    21ms PathOpsSimplifyFailTest
....
[182/193]  1026ms BlitRow
[183/193]   808ms AAClip
[184/193]  4333ms Math
[185/193]  5068ms PackBits
[186/193]  2265ms DrawText_DrawPosText
[187/193]  9163ms PathOpsRectsThreadedTest
[188/193]  5540ms GLPrograms
[189/193]     0ms GLInterfaceValidation
[190/193]     2ms DeferredCanvas
[191/193]     1ms ClipCache
[192/193]    30ms BlurMaskFilter
[193/193] 10396ms PathOpsOpCubicsThreadedTest
Finished 193 tests, 0 failures, 0 skipped.  (622610 internal tests)

BUG=
R=halcanary@google.com, mtklein@google.com, bungeman@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/109513002

git-svn-id: http://skia.googlecode.com/svn/trunk@12860 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 16:19:53 +00:00
commit-bot@chromium.org
8625fdbb04 Remove unused function.
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/121113005

git-svn-id: http://skia.googlecode.com/svn/trunk@12859 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 16:15:32 +00:00
halcanary@google.com
3d50ea1b87 Add Options to SkDecodingImageGenerator, simplify API.
Motivation: We want to remove redundant classes from Skia.  To
that end we want to remove SkImageRef and its subclasses and
replace their uses with SkDiscardablePixelRef +
SkDecodingImageGenerator.  Since Android uses SkImageRef, we need
to make sure that SkDecodingImageGenerator allows all of the
settings that Android exposes in BitmapFactory.Options.

To that end, we have created an Options struct for the
SkDecodingImageGenerator which lets the client of the generator set
sample size, dithering, and bitmap config.

We have made the SkDecodingImageGenerator constructor private
and replaced the SkDecodingImageGenerator::Install functions
with a SkDecodingImageGenerator::Create functions (one for
SkData and one for SkStream) which now take a
SkDecodingImageGenerator::Options struct.

Also added a ImageDecoderOptions test which loops through a list
of sets of options and tries them on a set of 5 small encoded
images.

Also updated several users of SkDecodingImageGenerator::Install to
follow new call signature - gm/factory.cpp, LazyDecodeBitmap.cpp,
and PictureTest.cpp, CachedDecodingPixelRefTest.cpp.

We also added a new ImprovedBitmapFactory Test which simulates the
exact function that Android will need to modify to use this,
installPixelRef() in BitmapFactory.

R=reed@google.com, scroggo@google.com

Committed: https://code.google.com/p/skia/source/detail?r=12744

Review URL: https://codereview.chromium.org/93703004

git-svn-id: http://skia.googlecode.com/svn/trunk@12855 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 13:15:13 +00:00
skia.committer@gmail.com
f8affa2e5c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12853 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 07:01:35 +00:00
mike@reedtribe.org
ae8f9528fd speedup SkRect::intersect
git-svn-id: http://skia.googlecode.com/svn/trunk@12851 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-01 20:32:45 +00:00
tfarina@chromium.org
725a64cf89 Add default resource path for skia test cases in gm and bench tools.
BUG=skia:1765
TEST=./out/Release/gm --match downsamplebitmap_image
R=mtklein@google.com, scroggo@google.com, yunchao.he@intel.com

Review URL: https://codereview.chromium.org/120873002

git-svn-id: http://skia.googlecode.com/svn/trunk@12850 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-31 14:29:52 +00:00
skia.committer@gmail.com
f5e1f63461 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12849 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-31 07:01:36 +00:00
reed@google.com
4856964eae ComputeRowBytes must not overflow width when it shifts
BUG=
R=halcanary@google.com

Review URL: https://codereview.chromium.org/122473002

git-svn-id: http://skia.googlecode.com/svn/trunk@12848 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 19:21:22 +00:00
reed@google.com
51c2a83bda fix drawVertices when we have both colors and textures
fix: don't re-call setContext on the composshader (i.e. on the tricolor shader) for each triangle,
since the trishader handles that explicitly. Just call setContext on the original shader.

BUG=

Review URL: https://codereview.chromium.org/102193006

git-svn-id: http://skia.googlecode.com/svn/trunk@12847 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 16:52:00 +00:00
commit-bot@chromium.org
73be1fc2b0 Possibly uninitialized SkRgnBuilder fStorage.
fStorage needs to be initialized regardless of SkRgnBuilder::init()'s
outcome - otherwise the destructor can end up freeing garbage.

BUG=330293
R=reed@google.com, fmalita@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/122313002

git-svn-id: http://skia.googlecode.com/svn/trunk@12846 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 16:21:06 +00:00
reed@google.com
85e143c33c reenable vertices gm, adding picture support
BUG=

Review URL: https://codereview.chromium.org/112913005

git-svn-id: http://skia.googlecode.com/svn/trunk@12845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 15:51:25 +00:00
commit-bot@chromium.org
fbd9b17711 Fixing crash found by fuzzer
A previous fix only partially fixed this issue by adding validation on some inputs of SkImageInfo. If anything invalid is detected in SkImageInfo, unfortunately, this can cause getSafeSize() to do an illegal memory access while calling bytesPerPixel(), which could have a bad color type at this point.

A possible fix is to simply make sure we are in a valid state before calling getSafeSize().

BUG=329254
R=reed@google.com, mtklein@google.com, bsalomon@google.com, sugoi@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/107003006

git-svn-id: http://skia.googlecode.com/svn/trunk@12844 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 15:48:10 +00:00
reed@google.com
57212f9469 Revert "Revert of https://codereview.chromium.org/113823003/"
This reverts commit 68b4b32066ea0ba9dbb5d326a836f8a54297b7aa.

BUG=

Review URL: https://codereview.chromium.org/122293002

git-svn-id: http://skia.googlecode.com/svn/trunk@12842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:40:38 +00:00
commit-bot@chromium.org
4ad4ae907f Revert of https://codereview.chromium.org/113823003/
Reason for revert: need to update callsites in linux codecs

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: reed@google.com

Review URL: https://codereview.chromium.org/122283002

git-svn-id: http://skia.googlecode.com/svn/trunk@12841 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:24:37 +00:00
reed@google.com
a306d93cd7 remove Sk64 from public API, and start to remove usage internally
BUG=
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/113823003

git-svn-id: http://skia.googlecode.com/svn/trunk@12840 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:14:42 +00:00
skia.committer@gmail.com
4c9128664a Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12838 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 07:01:37 +00:00
mike@reedtribe.org
6adf296a8f disable gm/vertices until I can find/fix all warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@12837 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:34:44 +00:00
mike@reedtribe.org
5f14dfde9d really disable replay
git-svn-id: http://skia.googlecode.com/svn/trunk@12836 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:27:22 +00:00
mike@reedtribe.org
2c326b7359 suppress pictures for vertices for now
git-svn-id: http://skia.googlecode.com/svn/trunk@12835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:20:38 +00:00
mike@reedtribe.org
0c87ea8082 add gm::vertices
git-svn-id: http://skia.googlecode.com/svn/trunk@12834 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:07:34 +00:00
commit-bot@chromium.org
6fa81d7878 Revert of https://codereview.chromium.org/119943002/
Reason for revert: False alert on zheng.xu's original CL - it didn't break anything.

R=bungeman@google.com, reed@google.com, zheng.xu@arm.com, robertphillips@google.com, rmistry@google.com
TBR=bungeman@google.com, reed@google.com, rmistry@google.com, robertphillips@google.com, zheng.xu@arm.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: bensong@google.com

Review URL: https://codereview.chromium.org/117963003

git-svn-id: http://skia.googlecode.com/svn/trunk@12822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-26 15:50:29 +00:00
skia.committer@gmail.com
f4552d6b66 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12820 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-24 07:01:39 +00:00
commit-bot@chromium.org
7b06c8ee61 create unittest for gm/rebaseline_server/results.py
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/117413006

git-svn-id: http://skia.googlecode.com/svn/trunk@12819 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-23 22:47:15 +00:00
rmistry@google.com
5861e52715 Adding additional optional parameters to imagediffdb to make calling from Cluster Telemetry possible.
R=epoger@google.com

Review URL: https://codereview.chromium.org/117823008

git-svn-id: http://skia.googlecode.com/svn/trunk@12816 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-21 19:07:40 +00:00
skia.committer@gmail.com
5f31b4f8d4 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12812 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-21 07:01:35 +00:00
commit-bot@chromium.org
9de35eb375 Adds non-1 scalar to config names.
BUG=
R=robertphillips@google.com, bungeman@google.com, halcanary@google.com, scroggo@google.com, borenet@google.com

Author: bensong@google.com

Review URL: https://codereview.chromium.org/106823005

git-svn-id: http://skia.googlecode.com/svn/trunk@12811 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 21:49:33 +00:00
borenet@google.com
4be2e001d2 Empty skimage expectations for Logan
R=scroggo@google.com

Review URL: https://codereview.chromium.org/110393005

git-svn-id: http://skia.googlecode.com/svn/trunk@12809 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 21:35:51 +00:00
halcanary@google.com
89a38d3fb7 Rebaseline for WebP
What I did:

#!/bin/sh
cd expectations/skimage
for D in *; do
    [ -d "$D" ] || continue
    [ -f "${D}/expected-results.json" ] || continue
    gsutil cp \
        "gs://chromium-skia-gm/skimage/actuals/${D}/actual-results.json" \
        "${D}/expected-results.json"
done
cd ../..

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/102213009

git-svn-id: http://skia.googlecode.com/svn/trunk@12805 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 19:22:35 +00:00
halcanary@google.com
dedd44adea Fix Red/Blue decoding problem in WebP.
Added unit test with lossless webp data.

BUG=skia:1402

Will need to rebaseline webp expectations for some systems.

R=scroggo@google.com

Review URL: https://codereview.chromium.org/105443005

git-svn-id: http://skia.googlecode.com/svn/trunk@12803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 16:35:22 +00:00
commit-bot@chromium.org
872796bb8e Allow multiple concurrent timers.
BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

Review URL: https://codereview.chromium.org/118473006

git-svn-id: http://skia.googlecode.com/svn/trunk@12802 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 15:56:52 +00:00
borenet@google.com
40fbcae783 Change bench_pictures configs
Aiming at CPU vs GPU

R=epoger@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/111893004

git-svn-id: http://skia.googlecode.com/svn/trunk@12799 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 14:48:38 +00:00
borenet@google.com
33c3b1e171 Skimage expectations for Valgrind builder
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/115693005

git-svn-id: http://skia.googlecode.com/svn/trunk@12797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 14:35:24 +00:00
reed@google.com
01c41a556e Revert "Revert "begin to remove SkLONGLONG and wean Skia off of Sk64""
This reverts commit 15b986baf026a3da5e2cac8106a1b753df242c39.

BUG=

Review URL: https://codereview.chromium.org/119353003

git-svn-id: http://skia.googlecode.com/svn/trunk@12796 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 14:24:21 +00:00
commit-bot@chromium.org
5f2fd5dd5d Revert of https://codereview.chromium.org/101423004/
Reason for revert: broke some win7 bots

R=bungeman@google.com, reed@google.com, zheng.xu@arm.com, robertphillips@google.com, rmistry@google.com
TBR=bungeman@google.com, reed@google.com, zheng.xu@arm.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: bensong@google.com

Review URL: https://codereview.chromium.org/119943002

git-svn-id: http://skia.googlecode.com/svn/trunk@12794 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 13:52:54 +00:00
skia.committer@gmail.com
22e967228d Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12793 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 07:01:36 +00:00
commit-bot@chromium.org
a9e9a25471 This patch makes SkScalerContext_FreeType to be the only one which embolden the glyphs.
Add bench cases for different font styles.

BUG=
R=bungeman@google.com, reed@google.com

Author: zheng.xu@arm.com

Review URL: https://codereview.chromium.org/101423004

git-svn-id: http://skia.googlecode.com/svn/trunk@12792 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 04:39:12 +00:00
robertphillips@google.com
385afd8b71 Disable SkFloat unit test due to Chromium-side compilation errors
git-svn-id: http://skia.googlecode.com/svn/trunk@12791 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 23:17:56 +00:00
reed@google.com
b1560445c6 Revert "begin to remove SkLONGLONG and wean Skia off of Sk64"
This reverts commit 784890196fdab96289f9389db43aca01f35db0f9.

Revert "use LL suffix for 64bit literal"

This reverts commit 9634295aff9bffd7a3875a0ca4a9b1a27d0793fc.

BUG=

Review URL: https://codereview.chromium.org/116543009

git-svn-id: http://skia.googlecode.com/svn/trunk@12790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 22:28:48 +00:00
reed@google.com
8d7ed847be use LL suffix for 64bit literal
BUG=

Review URL: https://codereview.chromium.org/108683009

git-svn-id: http://skia.googlecode.com/svn/trunk@12789 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 22:18:51 +00:00
reed@google.com
d6a301e9ad begin to remove SkLONGLONG and wean Skia off of Sk64
BUG=
R=caryclark@google.com

Review URL: https://codereview.chromium.org/99433009

git-svn-id: http://skia.googlecode.com/svn/trunk@12788 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 21:54:27 +00:00
bsalomon@google.com
3f2028e3e6 rebaselinedownsamplebitmap_image_high_mandrill_512.png
BUG=skia:1879

Review URL: https://codereview.chromium.org/101413010

git-svn-id: http://skia.googlecode.com/svn/trunk@12787 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 21:36:35 +00:00
halcanary@google.com
3a8ebd9e71 Sanitize bitmaps produced by libgif
Motivation: fix the bug linked to below.

Some rare GIFs in the wild have a color table of size smaller than 256
and have one or more pixels with values that index out side of the
colortable.  Since it would be expensive to check the index every time
we do a color lookup, we sanitize it at the source, in
SkImageDecoder_libgif.cpp.  The new function sanitize_indexed_bitmap
checks each pixel to see if the index is outside of its allowed mask,
and if so, sets that pixel to point at color 0.

The bit mask optimization in this function relies on the fact that GIF
requires the color table size to be a power of 2.

To test:

	$ skia_images_gif_suppressDecoderWarnings=0 \
		..../render_pictures \
		--bbh grid 256 256 --clone 1 --config 8888 --mode tile 256 256 \
	    -r ..../http___www_cafe24_com_.skp -w /tmp

	This should show verbose errors.

BUG=skia:1946
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/103343006

git-svn-id: http://skia.googlecode.com/svn/trunk@12786 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 20:57:45 +00:00
bsalomon@google.com
cc36aab8ff Some more medium/MIP downsample gpu rebaslines and misc gpu innocuous rebaselines
Review URL: https://codereview.chromium.org/106523004

git-svn-id: http://skia.googlecode.com/svn/trunk@12785 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 20:54:47 +00:00