aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkColorPriv.h
Commit message (Collapse)AuthorAge
* Remove SK_SUPPORT_LEGACY_BROKEN_LERP supportGravatar Florin Malita2017-03-13
| | | | | | | | | | | | | | Chromium change landed. BUG=chromium:696216 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I3e67392b0fdad8c5a3ad256e4f190123dff6c846 Reviewed-on: https://skia-review.googlesource.com/9551 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* SkBlendARGB32 and S32[A]_Blend_BlitRow32 are currently formulated as: ↵Gravatar lsalzman2016-08-05
| | | | | | | | | | | | | | | | | | | | | | SkAlphaMulQ(src, src_scale) + SkAlphaMulQ(dst, dst_scale), which boils down to ((src*src_scale)>>8) + ((dst*dst_scale)>>8). In particular, note that the intermediate precision is discarded before the two parts are added together, causing the final result to possibly inaccurate. In Firefox, we use SkCanvas::saveLayer in combination with a backdrop that initializes the layer to the background. When this is blended back onto background using transparency, where the source and destination pixel colors are the same, the resulting color after the blend is not preserved due to the lost precision mentioned above. In cases where this operation is repeatedly performed, this causes substantially noticeable differences in color as evidenced in this downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1200684 In the test-case in the downstream report, essentially it does blend(src=0xFF2E3338, dst=0xFF2E3338, scale=217), which gives the result 0xFF2E3237, while we would expect to get back 0xFF2E3338. This problem goes away if the blend is instead reformulated to effectively do (src*src_scale + dst*dst_scale)>>8, which keeps the intermediate precision during the addition before shifting it off. This modifies the blending operations thusly. The performance should remain mostly unchanged, or possibly improve slightly, so there should be no real downside to doing this, with the benefit of making the results more accurate. Without this, it is currently unsafe for Firefox to blend a layer back onto itself that was initialized with a copy of its background. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2097883002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot [mtklein adds...] No public API changes. TBR=reed@google.com Review-Url: https://codereview.chromium.org/2097883002
* Change SkUnitScalarClampToByte to more accurate implementation.Gravatar benjaminwagner2016-02-24
| | | | | | | | | The previous implementation was likely more efficient when SkScalar was SkFixed. BUG=skia:4632 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1691403002 Review URL: https://codereview.chromium.org/1691403002
* Revert[2] of float color componentsGravatar reed2016-01-22
| | | | | | | | | | | | | This reverts commit 2a2bdc698460c38ac9e24ba4abdeefec67bcba37. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1622483002 TBR= NOTRY=True Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-Trybot seems wicked slow Review URL: https://codereview.chromium.org/1622483002
* Revert of experiment: float color components (patchset #6 id:100001 of ↵Gravatar reed2016-01-22
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1617813002/ ) Reason for revert: broke some colormatrix tests Original issue's description: > experiment: float color components > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617813002 > > Committed: https://skia.googlesource.com/skia/+/353c148d8e8c9031daca34c6f9d6bcc6f08706c7 TBR=fmalita@chromium.org,mtklein@google.com,herb@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1623453002
* experiment: float color componentsGravatar reed2016-01-21
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617813002 Review URL: https://codereview.chromium.org/1617813002
* Add special case circle blur for GaneshGravatar robertphillips2015-09-15
| | | | | | | | This makes the blurcircles bench go from ~33us to ~8us on Windows desktop. It will require layout test suppressions Review URL: https://codereview.chromium.org/1311583005
* The compiler can generate smulbb perfectly well nowadays.Gravatar mtklein2015-08-07
| | | | | | BUG=skia:4117 Review URL: https://codereview.chromium.org/1273203002
* Replace buggy_blend_modes GM with an exhaustive test.Gravatar mtklein2015-07-16
| | | | | | | | | | | | | | The new test is disabled by default, as it's quite slow. We can run it if we suspect problems by passing -x to DM. This test would have been failing before the bug fix, and now is passing. Assuming the Priv on the end means it's not considered public API... TBR=reed@google.com BUG=skia:4052 Review URL: https://codereview.chromium.org/1228333003
* Replace SSE optimization of Color32A_D565Gravatar henrik.smiding2015-03-20
| | | | | | | | | | | | | | | | | | | | | | | Adds an SSE2 version of the Color32A_D565 function, to replace the existing SSE4 version. Also does some minor cleanup. Performance improvement in the following Skia benchmarks. Measured on Atom Silvermont: Xfermode_SrcOver - x3 luma_colorfilter_large - x4.6 luma_colorfilter_small - x2 tablebench - ~15% chart_bw - ~10% Measured on Corei7 Haswell: luma_colorfilter_large running SSE2 - x2 luma_colorfilter_large running SSE4 - x2.3 Also improves performance in WPS Office application and 2D subtest of 0xbenchmark on Android. Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> Review URL: https://codereview.chromium.org/923523002
* Address MSVC warnings about possible value truncation. In the process ↵Gravatar pkasting2014-09-02
| | | | | | | | | | | | removes some apparently unused code. BUG=81439 TEST=none R=reed@google.com Author: pkasting@chromium.org Review URL: https://codereview.chromium.org/517763002
* Make SkPMColorAssert a macro (all assert-like functions should be macros).Gravatar halcanary2014-08-21
| | | | | | | | R=reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/494863003
* fix typo, had two RGBA instead of RGBA and BGRAGravatar reed2014-07-09
| | | | | | | | | TBR=caryclark@google.com BUG=skia: Author: reed@chromium.org Review URL: https://codereview.chromium.org/382633004
* By default, Chromium optimizes for size when compiling on Android.Gravatar commit-bot@chromium.org2014-05-14
| | | | | | | | | | | | | | Forcing the SkAlphaMulQ() function inline can yield as much as a 5-10% improvement in rasterization time for some of Chromium's telemetry tests on the Nexus 10, since it's in the inner loop of complex blends. R=mtklein@google.com, reed@google.com, tomhudson@google.com Author: tomhudson@chromium.org Review URL: https://codereview.chromium.org/283753003 git-svn-id: http://skia.googlecode.com/svn/trunk@14723 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make gMask_00FF00FF a constantGravatar commit-bot@chromium.org2014-05-12
| | | | | | | | | | | | | | | | | | | | | | | This is to optimize SkAlphaMulQ() in PIC mode. With the visibility=default symbol the constant is not known at compile time (and is not a constant), but instead is fetched through a double indirection through GOT. The function is quite hot on one of the chromium benchmarks: rasterize_and_record_micro.key_silk_cases. This change replaces the symbol with a compile-time constant. As a bonus the variable is not exported from the dynamic library, i. e. a cleaner library interface. See specific performance improvements on Android here: http://goo.gl/iMuTDt R=skyostil@chromium.org, tomhudson@chromium.org, mtklein@google.com, reed@google.com, tomhudson@google.com Author: pasko@chromium.org Review URL: https://codereview.chromium.org/270473003 git-svn-id: http://skia.googlecode.com/svn/trunk@14696 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix TriColorShader to respect the paint's alphaGravatar commit-bot@chromium.org2014-05-05
| | | | | | | | | | | | | results can be seen in new gm: vertices_80 BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/270023002 git-svn-id: http://skia.googlecode.com/svn/trunk@14581 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert of implement readPixels and writePixels natively, w/o using ↵Gravatar reed@google.com2014-03-25
| | | | | | | | | | | | | the (deprecated) (https://codereview.chromium.org/199733016/)" This reverts commit 9a90bd16dc6756395c422adf0f24560d033ed9ea. BUG=skia: R=bsalomon@google.com Review URL: https://codereview.chromium.org/211293002 git-svn-id: http://skia.googlecode.com/svn/trunk@13939 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of implement readPixels and writePixels natively, w/o using the ↵Gravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (deprecated) (https://codereview.chromium.org/199733016/) Reason for revert: Android bots segfaulting in tests. Original issue's description: > implement readPixels and writePixels natively, w/o using the (deprecated) > SkCanvas::Config8888 enum. > > Revert "Revert "hide Config8888 entirely". Broke a bunch of builds." > > This reverts commit 763277ba157fef0f651004bb98a189e9f1ac730b. > > Needs chrome to remove the READPIXELS guard from skia's .gyp > > Committed: https://code.google.com/p/skia/source/detail?r=13931 R=reed@google.com TBR=reed@google.com NOTREECHECKS=true NOTRY=true Author: mtklein@google.com Review URL: https://codereview.chromium.org/209233004 git-svn-id: http://skia.googlecode.com/svn/trunk@13932 2bbb7eff-a529-9590-31e7-b0007b416f81
* implement readPixels and writePixels natively, w/o using the (deprecated)Gravatar reed@google.com2014-03-25
| | | | | | | | | | | | | | SkCanvas::Config8888 enum. Revert "Revert "hide Config8888 entirely". Broke a bunch of builds." This reverts commit 763277ba157fef0f651004bb98a189e9f1ac730b. Needs chrome to remove the READPIXELS guard from skia's .gyp Review URL: https://codereview.chromium.org/199733016 git-svn-id: http://skia.googlecode.com/svn/trunk@13931 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "hide Config8888 entirely". Broke a bunch of builds.Gravatar bsalomon@google.com2014-03-20
| | | | | | | | | | | | | | | This reverts commit fa11c49cc11a6c9ebafbf9c59e118917f9b3cc56. Revert "Sanitizing source files in Housekeeper-Nightly" to make the above revert clean. This reverts commit b5787422c8eb2a27a9576777597fd9e06784acdb. TBR=reed@google.com TBR=jcgregorio@google.com Review URL: https://codereview.chromium.org/205963003 git-svn-id: http://skia.googlecode.com/svn/trunk@13872 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13871 2bbb7eff-a529-9590-31e7-b0007b416f81
* hide Config8888 entirelyGravatar commit-bot@chromium.org2014-03-19
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/203993002 git-svn-id: http://skia.googlecode.com/svn/trunk@13865 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkSplay and SkUnsplay work on any uint32_t, not just SkPMColor.Gravatar commit-bot@chromium.org2013-12-04
| | | | | | | | | | | BUG= R=reed@google.com, tfarina@chromium.org Author: mtklein@google.com Review URL: https://codereview.chromium.org/102813002 git-svn-id: http://skia.googlecode.com/svn/trunk@12476 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix 32/64 bit warnings on g++-4.2.Gravatar mtklein@google.com2013-12-03
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/98343006 git-svn-id: http://skia.googlecode.com/svn/trunk@12470 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactor FourByteInterps. Add 64-bit Fast version. Add tests.Gravatar commit-bot@chromium.org2013-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | Effect on benches (only _fast_ should be affected, and only on 64-bit): Desktop (64-bit) four_byte_interp_slow_255 NONRENDERING c 7.80 7.84 -0.04 -0.5% four_byte_interp_slow_256 NONRENDERING c 7.38 7.36 +0.02 +0.3% four_byte_interp_fast_256 NONRENDERING c 4.86 4.38 +0.48 +9.9% four_byte_interp_fast_255 NONRENDERING c 5.80 5.16 +0.64 +11.0% N5 (32-bit) four_byte_interp_slow_256 NONRENDERING c 22.22 22.66 -0.44 -2.0% four_byte_interp_fast_255 NONRENDERING c 22.22 22.22 +0.00 +0.0% four_byte_interp_fast_256 NONRENDERING c 18.81 18.81 +0.00 +0.0% four_byte_interp_slow_255 NONRENDERING c 22.42 22.42 +0.00 +0.0% BUG= R=reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/100923003 git-svn-id: http://skia.googlecode.com/svn/trunk@12468 2bbb7eff-a529-9590-31e7-b0007b416f81
* ARM Skia NEON patches - 01 - Simple fixesGravatar commit-bot@chromium.org2013-07-15
| | | | | | | | | | | | | | | | | | | | | | | | This series contains a few fairly non-controversial fixes. Misc: remove dead references to neon 4444 functions Misc: avoid the double _neon_neon suffix in the clamp matrix functions. MAKENAME already adds the _neon suffix Misc: a few stupid / obvious fixes BUG= R=djsollen@google.com Author: kevin.petit.arm@gmail.com Review URL: https://chromiumcodereview.appspot.com/18666004 git-svn-id: http://skia.googlecode.com/svn/trunk@10072 2bbb7eff-a529-9590-31e7-b0007b416f81
* Commented SSE blend functions and cleaned-up variable naming.Gravatar commit-bot@chromium.org2013-07-02
| | | | | | | | | | R=senorblanco@chromium.org, alokp@chromium.org, reed@google.com, bungeman@google.com Author: ernstm@chromium.org Review URL: https://chromiumcodereview.appspot.com/17847010 git-svn-id: http://skia.googlecode.com/svn/trunk@9870 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkLerpXfermodeGravatar reed@google.com2013-05-21
| | | | | | | | | BUG= R=bsalomon@google.com Review URL: https://codereview.chromium.org/15602003 git-svn-id: http://skia.googlecode.com/svn/trunk@9229 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* When creating gray from lcd, use luminance instead of coverage.Gravatar bungeman@google.com2012-08-28
| | | | | | | https://codereview.appspot.com/6496048/ git-svn-id: http://skia.googlecode.com/svn/trunk@5318 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* Gamma correcting masks.Gravatar bungeman@google.com2012-07-30
| | | | | | | https://codereview.appspot.com/6244068/ git-svn-id: http://skia.googlecode.com/svn/trunk@4841 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkFourByteInterp256 variant, when the caller has already scaled the lastGravatar reed@google.com2012-03-12
| | | | | | | | parameter to 0..256 git-svn-id: http://skia.googlecode.com/svn/trunk@3362 2bbb7eff-a529-9590-31e7-b0007b416f81
* Misc small fixes to unblock skia roll.Gravatar bsalomon@google.com2012-02-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3196 2bbb7eff-a529-9590-31e7-b0007b416f81
* SSE2 version of blit_lcd16, courtesy of Jin Yang.Gravatar tomhudson@google.com2012-02-14
| | | | | | | | | | | | | | | Yields 25-30% speedup on Windows (32b), 4-7% on Linux (64b, less register pressure), not invoked on Mac (lcd text is 32b instead of 16b). Followup: GDI system settings on Windows can suppress LCD text for small fonts, interfering with our benchmarks. (http://code.google.com/p/skia/issues/detail?id=483) http://codereview.appspot.com/5617058/ git-svn-id: http://skia.googlecode.com/svn/trunk@3189 2bbb7eff-a529-9590-31e7-b0007b416f81
* Interpolate vertical linear gradients for improved quality.Gravatar tomhudson@google.com2012-01-18
| | | | | | | | | Consolidate interpolation functions, add new faster more accurate dithering interpolator. git-svn-id: http://skia.googlecode.com/svn/trunk@3072 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkAlphaBlend255Gravatar reed@google.com2011-10-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2426 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix asserts in new premul inline functionGravatar reed@google.com2011-06-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1773 2bbb7eff-a529-9590-31e7-b0007b416f81
* make inline version of premultiply, to speed up gradient creation.Gravatar reed@google.com2011-06-30
| | | | | | | | | | | We could speed-up again if we... - respected kDither and only built 1/2 of the table for non-dither requests - output simple params to the gpu rather than always a texture - detected that we have no alpha, and then can skip premul per-entry git-svn-id: http://skia.googlecode.com/svn/trunk@1772 2bbb7eff-a529-9590-31e7-b0007b416f81
* move SHIFT default definitions from SkColorPriv.h to SkPostConfig.h, so thatGravatar reed@google.com2011-05-18
| | | | | | | | | clients don't accidentally see them defined on some platforms when they only include SkTypes.h, and not others. git-svn-id: http://skia.googlecode.com/svn/trunk@1373 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add code needed to build skia as a windows dll within the chromium project.Gravatar ctguil@chromium.org2011-03-15
| | | | | | | | | - Export/import skia APIs if SKIA_DLL is defined. - This change has no effect on skia. Review URL: http://codereview.appspot.com/4282042 git-svn-id: http://skia.googlecode.com/svn/trunk@944 2bbb7eff-a529-9590-31e7-b0007b416f81
* add no-check version of SkPackARGB32, for callers that want to deliberatelyGravatar reed@google.com2011-02-15
| | | | | | | | | | | build a SkPMColor that may not be valid premultiplied (e.g. compatibility with webgl) see https://bugs.webkit.org/show_bug.cgi?id=54023 git-svn-id: http://skia.googlecode.com/svn/trunk@796 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix dither-to-4444 to keep the alpha value >= colorsGravatar reed@android.com2010-04-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@534 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove SK_USE_OLD_255_TO_256.Gravatar senorblanco@chromium.org2009-11-20
| | | | | | | | Review URL: http://codereview.appspot.com/156057/show. git-svn-id: http://skia.googlecode.com/svn/trunk@438 2bbb7eff-a529-9590-31e7-b0007b416f81
* add OVerView slide to samplecodeGravatar reed@android.com2009-11-03
| | | | | | | | change inline functions in SkColorPriv.h to static inline git-svn-id: http://skia.googlecode.com/svn/trunk@415 2bbb7eff-a529-9590-31e7-b0007b416f81
* special case 1x1 bitmaps when drawn as a shader (treat as a solid color)Gravatar reed@android.com2009-08-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@336 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SK_USE_OLD_255_TO_256 define to disable alpha+1 change to SkAlpha255To256Gravatar reed@android.com2009-05-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@171 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkSfntUtils to parse some known truetype tablesGravatar reed@android.com2009-04-14
| | | | | | | | | | add comments and cleanup to count_tables in SkFontHost_tables.cpp fix transparency bug in gifs use (alpha+1) for blending in srcover mode, to ensure opaque results git-svn-id: http://skia.googlecode.com/svn/trunk@155 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix warningsGravatar reed@android.com2009-01-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@68 2bbb7eff-a529-9590-31e7-b0007b416f81