From 03d153455c6e204e5e6c558ab3a77555d81d3c2c Mon Sep 17 00:00:00 2001 From: GamesTrap Date: Tue, 12 Nov 2024 16:18:29 +0100 Subject: [PATCH] UnitTests Improved test coverage 11/12/2024 | 24w46a2 --- SITREPS.txt | 4 + TRAP/src/Core/Base.h | 2 +- TRAP/src/Log/Log.h | 2 +- TRAP/src/Utils/ImageUtils.h | 2 +- UnitTests/Testfiles/Utils/ImageUtils_Src.h | 1187 +++++++++++++++++ .../src/FileSystem/FileSystemWatcher.cpp | 1 + UnitTests/src/Log/Log.cpp | 3 + UnitTests/src/Utils/ImageUtils.cpp | 145 +- 8 files changed, 1337 insertions(+), 9 deletions(-) diff --git a/SITREPS.txt b/SITREPS.txt index 70de0488b..d2f216dd6 100644 --- a/SITREPS.txt +++ b/SITREPS.txt @@ -5373,3 +5373,7 @@ SITREP 11/06/2024|24w45a3 SITREP 11/11/2024|24w46a1 - Changed TRAP Engine version to 24w46a1(0.11.39) - UnitTests Refactored tests to use type parameter tests from Catch2 ~>120 mins + +SITREP 11/12/2024|24w46a2 + - Changed TRAP Engine version to 24w46a2(0.11.40) + - UnitTests Improved test coverage ~>20 mins diff --git a/TRAP/src/Core/Base.h b/TRAP/src/Core/Base.h index 619953ff4..dfe47d77c 100644 --- a/TRAP/src/Core/Base.h +++ b/TRAP/src/Core/Base.h @@ -77,7 +77,7 @@ //-------------------------------------------------------------------------------------------------------------------// /// @brief TRAP version number created with TRAP_MAKE_VERSION -inline constexpr TRAP::SemanticVersion<0, 11, 39> TRAP_VERSION{}; +inline constexpr TRAP::SemanticVersion<0, 11, 40> TRAP_VERSION{}; //-------------------------------------------------------------------------------------------------------------------// diff --git a/TRAP/src/Log/Log.h b/TRAP/src/Log/Log.h index c06de571a..85aceefe1 100644 --- a/TRAP/src/Log/Log.h +++ b/TRAP/src/Log/Log.h @@ -155,7 +155,7 @@ namespace TRAP /// @threadsafe void Clear() noexcept; - static constexpr auto WindowVersion = "[24w46a1]"; + static constexpr auto WindowVersion = "[24w46a2]"; static constexpr auto WindowPrefix = "[Window] "; static constexpr auto WindowIconPrefix = "[Window][Icon] "; static constexpr auto ConfigPrefix = "[Config] "; diff --git a/TRAP/src/Utils/ImageUtils.h b/TRAP/src/Utils/ImageUtils.h index 18ea3f8b8..015ecd1d4 100644 --- a/TRAP/src/Utils/ImageUtils.h +++ b/TRAP/src/Utils/ImageUtils.h @@ -382,7 +382,7 @@ namespace TRAP::Utils //-------------------------------------------------------------------------------------------------------------------// - /// @brief Decode BGRA indexed pixel data to RGBA. + /// @brief Decode indexed pixel data. /// Output format depends on channel count, if it is 4, output is RGBA, if it is 3, output is RGB and so on. /// @param source Indexed BGRA pixel data. /// @param width Width of the image. diff --git a/UnitTests/Testfiles/Utils/ImageUtils_Src.h b/UnitTests/Testfiles/Utils/ImageUtils_Src.h index cfaa64d7e..623ca7fa3 100644 --- a/UnitTests/Testfiles/Utils/ImageUtils_Src.h +++ b/UnitTests/Testfiles/Utils/ImageUtils_Src.h @@ -401,6 +401,530 @@ constexpr std::array TestImageSDRPixelDataRGB 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, }; +constexpr std::array TestImageSDRPixelDataBGR +{ + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0x0, + 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, + 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x0, + 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, + 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0x0, + 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, + 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x0, + 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, + 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0xff, + 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, + 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0xff, + 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0x0, + 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, + 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, + 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, 0x3f, 0x3f, 0x40, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, + 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, +}; + +constexpr std::array TestImageSDRPixelDataRGB_BGR16 +{ + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, + 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, + 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, + 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, + 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, + 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, + 0x0, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, + 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, + 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, + 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, + 0x0, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, + 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, + 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, +}; + +constexpr std::array TestImageSDRPixelDataBGR16 +{ + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x1f, 0x0, + 0x1f, 0x0, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0xff, 0x7f, + 0xff, 0x7f, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x1f, 0x0, + 0x1f, 0x0, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0xff, 0x7f, + 0xff, 0x7f, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, + 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, + 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, + 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, + 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x1f, 0x0, + 0x1f, 0x0, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0xff, 0x7f, + 0xff, 0x7f, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x1f, 0x0, + 0x1f, 0x0, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0xff, 0x7f, + 0xff, 0x7f, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x0, 0x7c, + 0x0, 0x7c, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0xe0, 0x3, + 0xe0, 0x3, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x0, 0x7c, + 0x0, 0x7c, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0xe0, 0x3, + 0xe0, 0x3, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x0, 0x7c, 0x0, 0x7c, 0x0, 0x7c, + 0x0, 0x7c, 0x0, 0x7c, 0x0, 0x7c, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0xe0, 0x3, 0xe0, 0x3, 0xe0, 0x3, + 0xe0, 0x3, 0xe0, 0x3, 0xe0, 0x3, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x0, 0x7c, 0x0, 0x7c, 0x0, 0x7c, + 0x0, 0x7c, 0x0, 0x7c, 0x0, 0x7c, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0xe0, 0x3, 0xe0, 0x3, 0xe0, 0x3, + 0xe0, 0x3, 0xe0, 0x3, 0xe0, 0x3, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x0, 0x7c, + 0x0, 0x7c, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0xe0, 0x3, + 0xe0, 0x3, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x0, 0x7c, + 0x0, 0x7c, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0xe0, 0x3, + 0xe0, 0x3, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, 0x42, 0x8, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, + 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, 0x8, 0x21, +}; + constexpr std::array TestImageSDRPixelDataRGBA { 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, @@ -661,6 +1185,266 @@ constexpr std::array TestImageSDRPixelDataRGBA 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, }; +constexpr std::array TestImageSDRPixelDataBGRA +{ + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0x0, 0x0, 0xff, 0xff, + 0x0, 0x0, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x0, 0xff, 0x0, 0xff, + 0x0, 0xff, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0x0, 0x0, 0xff, 0xff, + 0x0, 0x0, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x0, 0xff, 0x0, 0xff, + 0x0, 0xff, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, + 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, + 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, + 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, + 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0x0, 0x0, 0xff, 0xff, + 0x0, 0x0, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x0, 0xff, 0x0, 0xff, + 0x0, 0xff, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0x0, 0x0, 0xff, 0xff, + 0x0, 0x0, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x0, 0xff, 0x0, 0xff, + 0x0, 0xff, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0x0, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0x0, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0x0, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0xff, 0x0, 0x0, 0xff, + 0xff, 0x0, 0x0, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0x3f, 0x3f, 0x40, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, + 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, 0xd, 0xd, 0xd, 0xff, +}; + constexpr std::array TestImageSDR16PixelDataRGB { 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, 0x801, @@ -1313,4 +2097,407 @@ constexpr std::array TestImageHDRPixelDataRGB 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f, 0.003998f }; +constexpr std::array TestImageHDRPixelDataRGBA +{ + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, + 1.000000f, 0.000000f, 0.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, + 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, + 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, + 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, + 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 1.000000f, 0.000000f, 0.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, 0.000000f, 1.000000f, 0.000000f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, + 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, + 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, + 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, + 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, + 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.000000f, 0.000000f, 1.000000f, 1.0f, + 0.000000f, 0.000000f, 1.000000f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 1.000000f, 1.000000f, 1.000000f, 1.0f, 1.000000f, 1.000000f, 1.000000f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, + 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.051025f, 0.049561f, 0.049561f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, + 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f, 0.003998f, 0.003998f, 0.003998f, 1.0f +}; + +constexpr std::array TestImageSDRColorMapBGRA +{ + 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, + 0x0, 0x0, 0xff, 0xff, 0x3f, 0x3f, 0x40, 0xff, 0xd, 0xd, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +constexpr std::array TestImageSDRMappedBGRA +{ + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x4, 0x4, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x3, 0x3, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x4, 0x4, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x3, 0x3, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x4, 0x4, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x3, 0x3, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x4, 0x4, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x3, 0x3, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x2, 0x2, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x1, 0x1, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x2, 0x2, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x1, 0x1, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x2, 0x2, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x1, 0x1, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x2, 0x2, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x1, 0x1, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, + 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, +}; + +constexpr std::array TestImageSDRColorMapBGR +{ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xd, 0xd, 0xd, 0x3f, 0x3f, + 0x40, 0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, +}; + +constexpr std::array TestImageSDRMappedBGR +{ + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfd, 0xfd, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfe, 0xfe, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfd, 0xfd, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfe, 0xfe, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfd, 0xfd, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfe, 0xfe, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfd, 0xfd, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfe, 0xfe, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfb, 0xfb, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfb, 0xfb, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfb, 0xfb, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfb, 0xfb, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, +}; + #endif /*TRAP_UNITTESTS_IMAGEUTILS_H*/ diff --git a/UnitTests/src/FileSystem/FileSystemWatcher.cpp b/UnitTests/src/FileSystem/FileSystemWatcher.cpp index e37e58d26..47af9feb1 100644 --- a/UnitTests/src/FileSystem/FileSystemWatcher.cpp +++ b/UnitTests/src/FileSystem/FileSystemWatcher.cpp @@ -64,6 +64,7 @@ namespace fsWatcher.AddFolder(p).wait(); } fsWatcher.AddFolder("").wait(); + fsWatcher.AddFolder("asdasdasdasdasdasdasdasdasdasdasd").wait(); const auto fsFolders = fsWatcher.GetFolders(); if(recursive) diff --git a/UnitTests/src/Log/Log.cpp b/UnitTests/src/Log/Log.cpp index 0307b3c7c..ec74b12d5 100644 --- a/UnitTests/src/Log/Log.cpp +++ b/UnitTests/src/Log/Log.cpp @@ -95,6 +95,9 @@ TEST_CASE("TRAP::Log", "[log]") log.SetFilePath(LogFilePath); REQUIRE(log.GetFilePath() == LogFilePath); + + log.SetFilePath(""); + REQUIRE(log.GetFilePath() == LogFilePath); } SECTION("TRAP::Log::GetImportanceLevel()") diff --git a/UnitTests/src/Utils/ImageUtils.cpp b/UnitTests/src/Utils/ImageUtils.cpp index 66ee58938..fe0d59374 100644 --- a/UnitTests/src/Utils/ImageUtils.cpp +++ b/UnitTests/src/Utils/ImageUtils.cpp @@ -58,7 +58,7 @@ namespace if(flippedPixelData.size() != expectedPixelData.size()) return false; - if(!std::equal(flippedPixelData.begin(), flippedPixelData.end(), expectedPixelData.begin())) + if(!std::ranges::equal(flippedPixelData, expectedPixelData)) return false; return true; @@ -75,7 +75,7 @@ namespace if(flippedPixelData.size() != expectedPixelData.size()) return false; - if(!std::equal(flippedPixelData.begin(), flippedPixelData.end(), expectedPixelData.begin())) + if(!std::ranges::equal(flippedPixelData, expectedPixelData)) return false; return true; @@ -92,7 +92,7 @@ namespace if(flippedPixelData.size() != expectedPixelData.size()) return false; - if(!std::equal(flippedPixelData.begin(), flippedPixelData.end(), expectedPixelData.begin())) + if(!std::ranges::equal(flippedPixelData, expectedPixelData)) return false; return true; @@ -109,7 +109,7 @@ namespace if(flippedPixelData.size() != expectedPixelData.size()) return false; - if(!std::equal(flippedPixelData.begin(), flippedPixelData.end(), expectedPixelData.begin())) + if(!std::ranges::equal(flippedPixelData, expectedPixelData)) return false; return true; @@ -126,7 +126,7 @@ namespace if(convertedPixelData.size() != (width * height * 4u)) return false; - if(!std::equal(convertedPixelData.begin(), convertedPixelData.end(), expectedPixelData.begin())) + if(!std::ranges::equal(convertedPixelData, expectedPixelData)) return false; return true; @@ -143,7 +143,7 @@ namespace if(convertedPixelData.size() != (width * height * 3u)) return false; - if(!std::equal(convertedPixelData.begin(), convertedPixelData.end(), expectedPixelData.begin())) + if(!std::ranges::equal(convertedPixelData, expectedPixelData)) return false; return true; @@ -190,6 +190,17 @@ TEST_CASE("TRAP::Utils::FlipPixelDataX()", "[utils][imageutils]") { STATIC_REQUIRE(CheckFlipX(32u, 32u, 3u, TestImageHDRPixelDataRGB, TestImageHDRPixelDataRGBFlippedX)); } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataX(0u, 2u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataX(2u, 0u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataX(2u, 2u, 0u, {}).empty()); + + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataX(2u, 2u, 100u, {}).empty()); + + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataX(2u, 2u, 4u, {}).empty()); + } } TEST_CASE("TRAP::Utils::FlipPixelDataY()", "[utils][imageutils]") @@ -228,6 +239,17 @@ TEST_CASE("TRAP::Utils::FlipPixelDataY()", "[utils][imageutils]") { STATIC_REQUIRE(CheckFlipY(32u, 32u, 3u, TestImageHDRPixelDataRGB, TestImageHDRPixelDataRGBFlippedY)); } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataY(0u, 2u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataY(2u, 0u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataY(2u, 2u, 0u, {}).empty()); + + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataY(2u, 2u, 100u, {}).empty()); + + STATIC_REQUIRE(TRAP::Utils::FlipPixelDataY(2u, 2u, 4u, {}).empty()); + } } TEST_CASE("TRAP::Utils::RotatePixelData90Clockwise()", "[utils][imageutils]") @@ -266,6 +288,17 @@ TEST_CASE("TRAP::Utils::RotatePixelData90Clockwise()", "[utils][imageutils]") { STATIC_REQUIRE(CheckRotate90Clockwise(32u, 32u, 3u, TestImageHDRPixelDataRGB, TestImageHDRPixelDataRGBRotated90Clockwise)); } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90Clockwise(0u, 2u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90Clockwise(2u, 0u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90Clockwise(2u, 2u, 0u, {}).empty()); + + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90Clockwise(2u, 2u, 100u, {}).empty()); + + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90Clockwise(2u, 2u, 4u, {}).empty()); + } } TEST_CASE("TRAP::Utils::RotatePixelData90CounterClockwise()", "[utils][imageutils]") @@ -304,6 +337,17 @@ TEST_CASE("TRAP::Utils::RotatePixelData90CounterClockwise()", "[utils][imageutil { STATIC_REQUIRE(CheckRotate90CounterClockwise(32u, 32u, 3u, TestImageHDRPixelDataRGB, TestImageHDRPixelDataRGBRotated90CounterClockwise)); } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90CounterClockwise(0u, 2u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90CounterClockwise(2u, 0u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90CounterClockwise(2u, 2u, 0u, {}).empty()); + + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90CounterClockwise(2u, 2u, 100u, {}).empty()); + + STATIC_REQUIRE(TRAP::Utils::RotatePixelData90CounterClockwise(2u, 2u, 4u, {}).empty()); + } } TEST_CASE("TRAP::Utils::ConvertRGBPixelDataToRGBA()", "[utils][imageutils]") @@ -322,6 +366,17 @@ TEST_CASE("TRAP::Utils::ConvertRGBPixelDataToRGBA()", "[utils][imageutils]") { STATIC_REQUIRE(CheckRGBToRGBA(32u, 32u, TestImageSDR16PixelDataRGB, TestImageSDR16PixelDataRGBA)); } + + SECTION("HDR RGB (f32)") + { + STATIC_REQUIRE(CheckRGBToRGBA(32u, 32u, TestImageHDRPixelDataRGB, TestImageHDRPixelDataRGBA)); + } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::ConvertRGBPixelDataToRGBA(0u, 2u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::ConvertRGBPixelDataToRGBA(2u, 0u, {}).empty()); + } } TEST_CASE("TRAP::Utils::ConvertRGBAPixelDataToRGB()", "[utils][imageutils]") @@ -340,4 +395,82 @@ TEST_CASE("TRAP::Utils::ConvertRGBAPixelDataToRGB()", "[utils][imageutils]") { STATIC_REQUIRE(CheckRGBAToRGB(32u, 32u, TestImageSDR16PixelDataRGBA, TestImageSDR16PixelDataRGB)); } + + SECTION("HDR RGBA (f32)") + { + STATIC_REQUIRE(CheckRGBAToRGB(32u, 32u, TestImageHDRPixelDataRGBA, TestImageHDRPixelDataRGB)); + } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::ConvertRGBAPixelDataToRGB(0u, 2u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::ConvertRGBAPixelDataToRGB(2u, 0u, {}).empty()); + } +} + +TEST_CASE("TRAP::Utils::ConvertBGR16PixelDataToRGB24()", "[utils][imageutils]") +{ + SECTION("Valid") + { + STATIC_REQUIRE(std::ranges::equal(TRAP::Utils::ConvertBGR16PixelDataToRGB24(TestImageSDRPixelDataBGR16, 32u, 32u), TestImageSDRPixelDataRGB_BGR16)); + } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::ConvertBGR16PixelDataToRGB24({}, 0u, 32u).empty()); + STATIC_REQUIRE(TRAP::Utils::ConvertBGR16PixelDataToRGB24({}, 32u, 0u).empty()); + + STATIC_REQUIRE(TRAP::Utils::ConvertBGR16PixelDataToRGB24({}, 32u, 32u).empty()); + } +} + +TEST_CASE("TRAP::Utils::ConvertBGR24PixelDataToRGB24()", "[utils][imageutils]") +{ + SECTION("Valid") + { + STATIC_REQUIRE(std::ranges::equal(TRAP::Utils::ConvertBGR24PixelDataToRGB24(TestImageSDRPixelDataBGR, 32u, 32u), TestImageSDRPixelDataRGB)); + } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::ConvertBGR24PixelDataToRGB24({}, 0u, 32u).empty()); + STATIC_REQUIRE(TRAP::Utils::ConvertBGR24PixelDataToRGB24({}, 32u, 0u).empty()); + + STATIC_REQUIRE(TRAP::Utils::ConvertBGR24PixelDataToRGB24({}, 32u, 32u).empty()); + } +} + +TEST_CASE("TRAP::Utils::ConvertBGRA32PixelDataToRGBA32()", "[utils][imageutils]") +{ + SECTION("Valid") + { + STATIC_REQUIRE(std::ranges::equal(TRAP::Utils::ConvertBGRA32PixelDataToRGBA32(TestImageSDRPixelDataBGRA, 32u, 32u), TestImageSDRPixelDataRGBA)); + } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::ConvertBGRA32PixelDataToRGBA32({}, 0u, 32u).empty()); + STATIC_REQUIRE(TRAP::Utils::ConvertBGRA32PixelDataToRGBA32({}, 32u, 0u).empty()); + + STATIC_REQUIRE(TRAP::Utils::ConvertBGRA32PixelDataToRGBA32({}, 32u, 32u).empty()); + } +} + +TEST_CASE("TRAP::Utils::DecodeBGRAMappedPixelData()", "[utils][imageutils]") +{ + SECTION("Valid") + { + STATIC_REQUIRE(std::ranges::equal(TRAP::Utils::DecodeBGRAMappedPixelData(TestImageSDRMappedBGRA, 32u, 32u, 4u, TestImageSDRColorMapBGRA), TestImageSDRPixelDataRGBA)); + STATIC_REQUIRE(std::ranges::equal(TRAP::Utils::FlipPixelDataY(32u, 32u, 3u, TRAP::Utils::DecodeBGRAMappedPixelData(TestImageSDRMappedBGR, 32u, 32u, 3u, TestImageSDRColorMapBGR)), TestImageSDRPixelDataRGB)); + } + + SECTION("Invalid") + { + STATIC_REQUIRE(TRAP::Utils::DecodeBGRAMappedPixelData({}, 0u, 32u, 4u, TestImageSDRColorMapBGRA).empty()); + STATIC_REQUIRE(TRAP::Utils::DecodeBGRAMappedPixelData({}, 32u, 0u, 4u, TestImageSDRColorMapBGRA).empty()); + STATIC_REQUIRE(TRAP::Utils::DecodeBGRAMappedPixelData({}, 32u, 32u, 0u, TestImageSDRColorMapBGRA).empty()); + STATIC_REQUIRE(TRAP::Utils::DecodeBGRAMappedPixelData({}, 32u, 32u, 4u, {}).empty()); + STATIC_REQUIRE(TRAP::Utils::DecodeBGRAMappedPixelData({}, 32u, 32u, 100u, TestImageSDRColorMapBGRA).empty()); + STATIC_REQUIRE(TRAP::Utils::DecodeBGRAMappedPixelData({}, 32u, 32u, 4u, TestImageSDRColorMapBGRA).empty()); + } }