Commit 49211c31 by Shahbaz Youssefi Committed by Commit Bot

Vulkan: Fix Overlay for prerotation

Bug: angleproject:5690 Change-Id: I906a259767c54e3ac9f3ac822b6d5ed5dcaa0bd5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725768 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarIan Elliott <ianelliott@google.com>
parent 90db6049
......@@ -276,9 +276,9 @@
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayCull.comp.00000005.inc":
"83626be8291a8a4364076cf82e714507",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000000.inc":
"4ea9b8189c0c40408ec99d0720786ba9",
"c90e21e33a7daf11c63827936ced29ef",
"src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.comp.00000001.inc":
"93ac001b7536d17fe7a1b2ccee195ee7",
"b4dec496fa2f6ab0c07806f80a33cf8f",
"src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag":
"0b16d3ad95d7dbc2ce7175462152e4f9",
"src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag.json":
......@@ -322,7 +322,7 @@
"src/libANGLE/renderer/vulkan/shaders/src/OverlayCull.comp.json":
"e5fd5bb63707753601e197635316430e",
"src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp":
"1b748944a5b8d37317b7d0e6a6ad5795",
"ff28c3ff9b8c0f990afe5407b18c7baa",
"src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.comp.json":
"af79e5153c99cdb1e6b551b11bbf7f6b",
"src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp":
......
......@@ -22,7 +22,8 @@ OverlayVk::OverlayVk(const gl::OverlayState &state)
: OverlayImpl(state),
mSupportsSubgroupBallot(false),
mSupportsSubgroupArithmetic(false),
mRefreshCulledWidgets(false)
mRefreshCulledWidgets(false),
mPresentImageExtent{}
{}
OverlayVk::~OverlayVk() = default;
......@@ -206,7 +207,8 @@ angle::Result OverlayVk::cullWidgets(ContextVk *contextVk)
angle::Result OverlayVk::onPresent(ContextVk *contextVk,
vk::ImageHelper *imageToPresent,
const vk::ImageView *imageToPresentView)
const vk::ImageView *imageToPresentView,
bool is90DegreeRotation)
{
if (mState.getEnabledWidgetCount() == 0)
{
......@@ -272,6 +274,7 @@ angle::Result OverlayVk::onPresent(ContextVk *contextVk,
UtilsVk::OverlayDrawParameters params;
params.subgroupSize[0] = mSubgroupSize[0];
params.subgroupSize[1] = mSubgroupSize[1];
params.rotateXY = is90DegreeRotation;
return contextVk->getUtils().drawOverlay(
contextVk, &textDataBuffer.get(), &graphDataBuffer.get(), &mFontImage, &mFontImageView,
......
......@@ -30,7 +30,8 @@ class OverlayVk : public OverlayImpl
angle::Result onPresent(ContextVk *contextVk,
vk::ImageHelper *imageToPresent,
const vk::ImageView *imageToPresentView);
const vk::ImageView *imageToPresentView,
bool is90DegreeRotation);
uint32_t getEnabledWidgetCount() const { return mState.getEnabledWidgetCount(); }
......
......@@ -1897,7 +1897,8 @@ angle::Result WindowSurfaceVk::drawOverlay(ContextVk *contextVk, SwapchainImage
const vk::ImageView *imageView = nullptr;
ANGLE_TRY(image->imageViews.getLevelLayerDrawImageView(contextVk, image->image,
vk::LevelIndex(0), 0, &imageView));
ANGLE_TRY(overlayVk->onPresent(contextVk, &image->image, imageView));
ANGLE_TRY(overlayVk->onPresent(contextVk, &image->image, imageView,
Is90DegreeRotation(getPreTransform())));
return angle::Result::Continue;
}
......
......@@ -235,7 +235,7 @@ class WindowSurfaceVk : public SurfaceVk
vk::Semaphore getAcquireImageSemaphore();
VkSurfaceTransformFlagBitsKHR getPreTransform()
VkSurfaceTransformFlagBitsKHR getPreTransform() const
{
if (mEmulatedPreTransform != VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR)
{
......
......@@ -2842,6 +2842,7 @@ angle::Result UtilsVk::cullOverlayWidgets(ContextVk *contextVk,
ANGLE_TRY(setupProgram(contextVk, Function::OverlayCull, shader, nullptr,
&mOverlayCullPrograms[flags], nullptr, descriptorSet, nullptr, 0,
commandBuffer));
commandBuffer->dispatch(dest->getExtents().width, dest->getExtents().height, 1);
descriptorPoolBinding.reset();
......@@ -2864,6 +2865,7 @@ angle::Result UtilsVk::drawOverlay(ContextVk *contextVk,
OverlayDrawShaderParams shaderParams;
shaderParams.outputSize[0] = dest->getExtents().width;
shaderParams.outputSize[1] = dest->getExtents().height;
shaderParams.rotateXY = params.rotateXY;
ASSERT(params.subgroupSize[0] == 8 &&
(params.subgroupSize[1] == 8 || params.subgroupSize[1] == 4));
......
......@@ -162,6 +162,7 @@ class UtilsVk : angle::NonCopyable
struct OverlayDrawParameters
{
uint32_t subgroupSize[2];
bool rotateXY;
};
struct GenerateMipmapParameters
......@@ -411,6 +412,7 @@ class UtilsVk : angle::NonCopyable
{
// Structure matching PushConstants in OverlayDraw.comp
uint32_t outputSize[2] = {};
uint32_t rotateXY;
};
struct GenerateMipmapShaderParams
......
......@@ -10,168 +10,176 @@
#pragma once
constexpr uint8_t kOverlayDraw_comp_00000000[] = {
0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x75,0x58,0x79,0x8c,0x57,0x57,
0x15,0x7e,0xe7,0xfe,0x86,0x61,0xa6,0x20,0x54,0x81,0x5a,0x60,0x3a,0x2d,0x43,0x0b,
0x55,0x61,0x3a,0xb4,0x38,0x2c,0x93,0x16,0x06,0x86,0x2d,0x21,0x81,0x16,0x35,0x2d,
0x23,0x65,0x4d,0x11,0x22,0x8b,0x94,0x51,0x9b,0xb2,0x0c,0x4b,0xd9,0xac,0x80,0x69,
0x81,0x01,0x26,0xb1,0x49,0x13,0x35,0x62,0x10,0xfe,0x33,0x90,0xd2,0x32,0x31,0x62,
0x49,0x35,0xb1,0x84,0x52,0x3b,0x56,0x91,0x62,0xd8,0xa5,0xd6,0x54,0x5b,0x56,0xef,
0xf7,0xce,0x77,0x7c,0xe7,0xf7,0x32,0x4c,0x72,0xf3,0xde,0xfd,0xce,0xf6,0xdd,0x73,
0xcf,0x7d,0xf7,0xcc,0xaf,0x10,0xfa,0x77,0x4e,0x12,0x49,0xee,0x4a,0xca,0x92,0x4b,
0x21,0x49,0xff,0xbe,0x98,0x84,0x88,0x24,0x49,0x97,0xa4,0x34,0x7d,0x4e,0x98,0x3c,
0x6d,0x72,0xf5,0xf3,0xcb,0xe7,0x55,0x0f,0xfd,0x7a,0x0d,0xe4,0xdd,0x92,0x42,0xaa,
0x07,0x59,0xf7,0xa4,0x73,0xd2,0x29,0x3e,0x4b,0xe2,0x58,0x34,0x7b,0xc1,0x62,0xe0,
0xa7,0xe2,0xb8,0x1a,0xc7,0xdd,0xd1,0xbe,0x24,0xf5,0x97,0x44,0xef,0xaa,0x93,0xfa,
0x8b,0x6f,0xa3,0xe3,0xb3,0x34,0xd5,0x49,0x92,0x89,0xd1,0x43,0xbd,0x86,0x4e,0xfa,
0xf3,0x69,0x98,0x10,0xf3,0x7a,0x81,0xd8,0x03,0x0e,0x2b,0x10,0xab,0xa1,0xff,0xb1,
0xf4,0x5f,0x23,0xaa,0xd3,0x90,0xf3,0x3f,0x21,0x5a,0x34,0xd0,0x17,0xf4,0xc7,0xc7,
0x67,0xd5,0xff,0x65,0x3a,0xef,0xe7,0xf8,0xae,0xcb,0xc9,0xd7,0x51,0x5e,0xc2,0xf9,
0xae,0xdc,0x7a,0x5a,0x3a,0x58,0x4f,0x4b,0x07,0xeb,0x69,0xe9,0x60,0x3d,0x2d,0x1d,
0xac,0x67,0x77,0x6e,0x3d,0x7b,0x3a,0x58,0xcf,0x1e,0xb7,0x9e,0xd6,0x1c,0xdf,0x56,
0xf2,0x35,0xf9,0xa9,0x74,0x7f,0x93,0xa4,0x82,0x31,0xdb,0x3b,0xf0,0xd7,0xee,0xf4,
0xaf,0xe4,0xfc,0x5d,0xa1,0xbf,0x02,0xe7,0x57,0xe9,0xaf,0x8f,0xf9,0x97,0x62,0x7d,
0xcc,0xfb,0xb9,0xf9,0x25,0x51,0xfd,0xde,0x71,0xf4,0x88,0x51,0x42,0xea,0xaf,0x90,
0xfa,0xc3,0x7b,0xaf,0xa8,0x53,0xca,0x9c,0xe0,0xef,0xcb,0x71,0xde,0x99,0x39,0x08,
0x9c,0x97,0x71,0x8e,0x3d,0xe8,0x19,0xd1,0xf2,0xf8,0xbc,0x27,0x7a,0xe8,0x45,0x3b,
0xe8,0x54,0xa5,0xbe,0x54,0x07,0xf3,0xaf,0xc4,0x67,0x39,0x7d,0x7c,0x8d,0x31,0x6a,
0x19,0xc3,0xe6,0x75,0xd4,0xb7,0xf9,0x28,0xee,0x57,0x05,0xeb,0xb6,0x8c,0x58,0x65,
0x94,0xd6,0x73,0x5e,0xc5,0xe7,0x68,0x67,0x37,0x86,0x3c,0x2a,0x58,0x8f,0xf5,0xc4,
0x2a,0x59,0x7b,0x63,0x53,0x79,0x49,0x32,0x8e,0x7c,0x1a,0xd2,0xd8,0x3a,0x1f,0xef,
0xf2,0x30,0x81,0x7e,0x84,0xbe,0x27,0xa4,0x7b,0x96,0x71,0xc6,0x7c,0x12,0xf7,0x02,
0xfe,0x26,0xd3,0xb6,0xcc,0x71,0x69,0x74,0xf6,0x98,0xcf,0xcd,0xe5,0x60,0x69,0x4e,
0xbf,0x29,0x8e,0xdb,0xe9,0xfe,0x94,0x27,0x6b,0x98,0x43,0x61,0xcc,0xfc,0x13,0x31,
0xd7,0xf2,0x7d,0x0d,0xd7,0x80,0xf9,0x3a,0xb7,0x77,0x9b,0xd2,0x7d,0xcf,0xf6,0xee,
0x47,0x9c,0x17,0x98,0x9f,0x5d,0xb9,0xbc,0xb6,0xe4,0xf2,0xba,0x8b,0x7a,0x38,0x07,
0x2d,0x2e,0x8f,0xa8,0xf9,0xdd,0xe4,0xb0,0x97,0xfe,0xf7,0x90,0x03,0xe6,0xad,0x2e,
0xe6,0x5b,0x5c,0x47,0x81,0xeb,0xc4,0x7b,0x5b,0xca,0xb0,0x79,0x14,0xe4,0x27,0x59,
0x4f,0x96,0xc7,0xf7,0xb8,0xc6,0x93,0xf4,0xf7,0x1e,0xbf,0x6d,0xc2,0xd8,0x38,0x1f,
0x9d,0xa9,0xfb,0x17,0xd6,0x55,0x3b,0x75,0x31,0xff,0x90,0x18,0xe4,0x7f,0xe5,0x7b,
0x67,0x17,0xfb,0x3c,0xf3,0x33,0x28,0xa2,0x58,0xe7,0x05,0x62,0x36,0xda,0x98,0xff,
0x4b,0xe4,0x65,0xf9,0x4e,0x3a,0xc8,0xff,0x65,0xbe,0x5f,0x62,0x7c,0xcc,0xaf,0x10,
0x33,0xee,0x57,0x73,0x35,0x54,0x2a,0x3a,0xb7,0xf8,0x75,0x52,0x1c,0xff,0xbc,0xd3,
0x6d,0x10,0xcd,0x63,0x5a,0xaf,0x7c,0x2f,0xe5,0xfc,0x07,0x9c,0x57,0xb9,0xfa,0xd9,
0x1f,0xb1,0x59,0x6e,0xad,0x87,0xe2,0xfc,0x0f,0xef,0xbc,0xf3,0x84,0xc5,0x3a,0x9c,
0x8b,0x05,0x39,0xd6,0x7a,0x52,0x8a,0x6b,0xcd,0xfe,0x02,0xb1,0x74,0x5f,0x28,0x84,
0x6e,0x1d,0xe7,0xa7,0xc4,0x72,0x59,0x9a,0xee,0x17,0xbe,0x2f,0x4b,0x79,0x96,0x1b,
0xd3,0x33,0xde,0x29,0xf5,0x51,0x42,0x7f,0xd8,0xe3,0xcf,0x22,0x82,0xbb,0xeb,0xbf,
0x71,0x76,0x99,0xf6,0xd7,0xe3,0x3b,0xbe,0x07,0x57,0x44,0xe5,0x78,0x3e,0xce,0xda,
0x78,0x9f,0xfb,0x3f,0x25,0xae,0x01,0xfb,0xf8,0x67,0x62,0xef,0xbb,0xfd,0xa8,0x8f,
0x1e,0xb1,0xd7,0x7f,0xe3,0xfe,0xe3,0x9c,0x3e,0xce,0x6f,0xd7,0x69,0xe2,0xfb,0xa3,
0x0e,0xbe,0x43,0x7f,0xa7,0x8f,0xd3,0x69,0xcd,0x96,0xa4,0xf5,0x71,0x86,0x38,0x38,
0x9d,0xa5,0xdf,0x6b,0x51,0x06,0xfc,0xa3,0x38,0xce,0x92,0x37,0xde,0x3f,0x8f,0xcf,
0xcb,0xe4,0x79,0x96,0x71,0xb0,0xff,0xff,0xe4,0xde,0x1b,0xef,0x8f,0xb9,0xf7,0xc6,
0xfb,0x5f,0xc4,0x3e,0x76,0xbc,0x57,0xf0,0x8c,0x7e,0x42,0xf9,0xcc,0xa8,0x89,0x73,
0xf7,0x6f,0xfa,0xfb,0x84,0x7b,0x80,0xf5,0x3c,0x19,0xf9,0x97,0xa6,0x1c,0x55,0x9e,
0x38,0xec,0x1a,0x31,0x21,0xbf,0xeb,0xe4,0x8b,0xe7,0xa7,0xdc,0xfb,0x23,0x41,0x6b,
0x1d,0x9c,0xcf,0xc5,0xf7,0x5b,0x94,0xc1,0xfe,0x50,0x50,0x1f,0x90,0x75,0x11,0x95,
0xed,0x8b,0xbe,0x91,0x1b,0x11,0x95,0x63,0x7f,0xfe,0x13,0xf9,0xde,0x4c,0x54,0x6e,
0x39,0x82,0xfc,0x46,0x7c,0xbf,0xc9,0x98,0x78,0xef,0x1a,0xbd,0xa2,0x7e,0x4b,0x58,
0xeb,0x93,0x18,0x63,0x05,0xeb,0xb4,0x93,0xa8,0xec,0xb7,0x31,0x06,0xf4,0xca,0x44,
0xcf,0x05,0x70,0xd3,0x29,0x17,0xc5,0x7f,0xc7,0x35,0x76,0x21,0x0f,0xe0,0xf5,0x91,
0x37,0xbe,0xb7,0xdd,0x44,0xbf,0x35,0x13,0xe9,0xd3,0xf6,0x1d,0x39,0xec,0x2e,0x2a,
0xb7,0xfc,0x7f,0x26,0x8a,0x75,0x97,0x2c,0xff,0x56,0x13,0x9f,0x8b,0xd6,0x04,0x74,
0xf6,0xb2,0x26,0xae,0x89,0xe2,0xa8,0x89,0xdb,0x92,0xad,0x17,0xf8,0xf5,0x38,0x6e,
0xb3,0x06,0xae,0xbb,0x18,0x37,0x5c,0x8c,0xc0,0x7a,0x3f,0xc0,0x18,0x37,0x19,0xe3,
0x86,0x8b,0x71,0x4b,0x14,0xc7,0x9e,0x99,0x3f,0x3c,0xb1,0x2f,0xe5,0x3c,0x80,0xd7,
0x98,0xdf,0x5b,0x8c,0xfb,0x0b,0xda,0xf6,0x10,0x95,0x83,0x5f,0x2f,0xc7,0x0f,0x78,
0x4f,0x9c,0x67,0xfa,0xeb,0x49,0xff,0xb7,0xb8,0x3f,0xc0,0xad,0x6e,0xee,0x95,0xec,
0x1c,0x19,0xd6,0xc7,0xe5,0xe8,0x97,0xac,0x81,0xbe,0xa2,0xba,0x7d,0x5c,0xfc,0x0a,
0x51,0x1c,0xf1,0x2b,0x5d,0x7c,0xe0,0xf7,0xc5,0x51,0xc9,0xf8,0xf7,0xb9,0x78,0x0f,
0x30,0x9e,0xb8,0x78,0x55,0x8c,0x27,0x2e,0x5e,0x7f,0x51,0xdd,0x2a,0x72,0x37,0x5f,
0x95,0x2e,0x37,0x0f,0x32,0x3e,0xd6,0xd3,0x9f,0x31,0x8d,0xdb,0x43,0xa2,0x72,0x70,
0x1b,0xe8,0xb8,0x01,0x1f,0x10,0xc7,0x40,0xfa,0xc3,0x7b,0x33,0x79,0x7c,0x95,0x6b,
0x6c,0x74,0xdc,0x06,0xb9,0xbd,0x34,0x6e,0x83,0x45,0x75,0x07,0x91,0x9b,0xf9,0x1a,
0xe8,0xb8,0x55,0x33,0x3e,0xf8,0x0e,0x66,0x4c,0xe3,0xf6,0x88,0xa8,0x1c,0xdc,0x86,
0x38,0x6e,0xc0,0xd1,0x67,0x0e,0xa1,0xbf,0x1a,0x97,0xb7,0xc7,0x5c,0xde,0x8c,0xef,
0x50,0x51,0xdc,0xf3,0xad,0x25,0xdf,0x82,0xe3,0x3b,0x4c,0x54,0xb7,0x96,0x7c,0xcd,
0xff,0x10,0xc7,0x77,0x38,0x39,0x61,0x0d,0xc3,0xc8,0x03,0xfc,0x46,0x3a,0x7e,0xd0,
0x19,0x11,0xc7,0x48,0xda,0x8f,0xc8,0xd5,0x15,0xf0,0xb5,0x31,0x26,0xce,0x41,0xbd,
0x3b,0x4f,0xf5,0xf1,0x34,0xe2,0xee,0x1a,0x9f,0x3b,0xab,0xb8,0xdb,0x6a,0x79,0x5e,
0xc1,0x7d,0x02,0x75,0x10,0xf7,0xe1,0x50,0x7c,0x2f,0x94,0x05,0x8d,0x81,0xa7,0xad,
0xb5,0x3c,0x68,0x1c,0xfc,0x6d,0x20,0x76,0x57,0x50,0x1c,0xbe,0x0c,0xeb,0x1a,0x14,
0xaf,0x4b,0x94,0x0b,0xbe,0x1b,0x5f,0x08,0xc5,0x5c,0x26,0x51,0xcf,0xbe,0x1d,0xdd,
0x82,0xea,0x6c,0xa6,0x8f,0xbb,0x9d,0x0f,0xcb,0xeb,0x97,0x82,0xe2,0xb5,0xbc,0x37,
0x06,0x86,0x2c,0x57,0x90,0xf5,0x88,0xe3,0x1e,0xf2,0xc6,0xd3,0xec,0xee,0xa5,0x5d,
0x23,0xed,0x06,0x38,0x3b,0xc8,0x7a,0xc7,0x51,0x41,0xbb,0x0a,0x67,0x57,0x49,0xbb,
0xb9,0xb4,0x7b,0xc8,0xd9,0x41,0x76,0x7f,0x1c,0x55,0xb4,0xab,0x72,0x79,0x7a,0x30,
0xe8,0x7a,0x0a,0xbc,0x1b,0x1e,0xa6,0xce,0xfd,0x4e,0xa7,0x1f,0x75,0x42,0x4e,0x07,
0x31,0x6e,0xc7,0xaa,0xc3,0x7b,0x6f,0xa7,0xdf,0x97,0xfa,0x92,0xd3,0x1f,0xe0,0xf4,
0x7b,0x38,0xfd,0x5e,0xd4,0x4f,0x72,0xfa,0x03,0x9d,0x3e,0xb0,0x4f,0xd3,0xff,0x7e,
0x93,0xe4,0x58,0x50,0xde,0x58,0x47,0x3f,0xae,0xad,0x2f,0x73,0xd3,0x8b,0xb9,0x35,
0xdf,0x53,0x5d,0xcd,0x1b,0xf6,0x94,0xfb,0xa6,0xac,0x25,0x36,0x4d,0x54,0x17,0xb2,
0x5f,0x31,0xa7,0x4f,0x8b,0xc6,0x9a,0xc6,0xba,0x9b,0xee,0xea,0x1d,0xb2,0x67,0xe2,
0x98,0xce,0x7a,0x7f,0xc6,0x9d,0xc7,0x6f,0x8b,0xd6,0x9e,0x3f,0x8f,0x33,0x44,0xf1,
0x3a,0xde,0x2b,0xf0,0x3f,0x53,0x14,0x9f,0xc6,0xb3,0x62,0xbe,0xa6,0xbb,0xb3,0x37,
0x4b,0x94,0x07,0xd6,0x3f,0x93,0x31,0xc1,0x65,0x8e,0xe3,0x02,0x9d,0xd9,0x71,0xcc,
0xa1,0xfd,0x6c,0xc7,0xe5,0x39,0xc7,0xc5,0xee,0xca,0xf9,0xa2,0xe7,0x00,0xb2,0x63,
0xc4,0xbe,0x23,0x8a,0x37,0xba,0x1a,0x5e,0x20,0x8a,0xd7,0x72,0x5f,0xcc,0xff,0x1c,
0xc7,0x6f,0xa1,0x28,0x47,0x70,0x5e,0x40,0x1e,0x16,0x7b,0x91,0x8b,0x6d,0x79,0x5e,
0xcc,0xf5,0x42,0x76,0x80,0x71,0x96,0x8a,0xe2,0xc8,0xb5,0x7d,0x07,0x97,0x89,0xfa,
0xfe,0x39,0x75,0x9e,0x17,0xd5,0x5b,0xc6,0xf5,0x37,0xb9,0xf5,0x43,0xb6,0x3c,0x8e,
0x26,0xf2,0x5b,0xce,0x1e,0x00,0x3d,0xf0,0x0f,0x73,0xdf,0x95,0x52,0xf6,0x8e,0xe8,
0x79,0x5e,0xa0,0x7c,0x4a,0x3c,0xd5,0xf8,0x3f,0x64,0x50,0xd0,0x3e,0xe8,0x48,0xc8,
0x7a,0x80,0xc0,0xba,0x41,0xff,0x3b,0x38,0xa8,0x4d,0x21,0xfd,0x3f,0x4a,0xb1,0xea,
0xa0,0xff,0x13,0x40,0xb6,0x35,0x62,0xf0,0xf3,0x48,0x50,0x5f,0x90,0x99,0xef,0x1a,
0xda,0xbe,0x20,0xc5,0xbe,0xcd,0xe6,0xd1,0xa0,0x3a,0xf0,0xb3,0x86,0xd8,0x63,0x41,
0x7d,0x3d,0x1a,0x32,0x0e,0x43,0xc9,0x0f,0x1c,0x5e,0x22,0x36,0x2c,0x28,0x5e,0xed,
0xf4,0x86,0x07,0xb5,0x4f,0x1c,0xff,0x11,0xc4,0xc4,0x61,0x23,0x89,0x41,0x75,0xaa,
0xfd,0xcf,0x11,0xd4,0x1e,0xfa,0x90,0xc3,0x3f,0xf6,0xdf,0xf2,0xdb,0x24,0x59,0xdf,
0x78,0x9e,0x7c,0x50,0x13,0xb0,0x5b,0x9e,0xfb,0xee,0x6b,0x1f,0x59,0x9e,0xea,0x9e,
0xa3,0x2e,0x7a,0x8e,0x3a,0xde,0x17,0xb0,0x6f,0x92,0xe2,0xbe,0xf4,0x26,0xeb,0x6d,
0x25,0xe3,0xad,0x74,0xf1,0xde,0xa0,0x0f,0xe8,0x5c,0x88,0xcf,0x66,0xc9,0xfa,0xd4,
0xc3,0x41,0xfb,0x5f,0xc8,0x5e,0x16,0x95,0x59,0x9f,0xba,0x4e,0x54,0x6e,0x7d,0xea,
0x6a,0xca,0xad,0x86,0x20,0x5f,0x15,0xc7,0x6a,0xc6,0xc4,0xbb,0xf5,0xa9,0x1b,0x5c,
0x9f,0x7a,0xd8,0xf5,0xa9,0x1b,0x45,0x65,0xd6,0xa7,0x6e,0x66,0x7d,0x6d,0x74,0x7d,
0xea,0x16,0x51,0xdc,0xce,0xde,0xcb,0xe4,0xb1,0xc5,0xf5,0xa9,0xdb,0x44,0x7f,0x5b,
0x98,0x48,0x9f,0xbe,0x4f,0xdd,0x2e,0x2a,0xb7,0x1e,0xf2,0x89,0xa0,0xd8,0xf6,0x0e,
0xfa,0xd4,0x51,0x41,0xef,0x55,0xe8,0x58,0x0f,0x39,0x3a,0x28,0x8e,0x33,0x33,0xce,
0xdd,0x09,0xc0,0xeb,0xe3,0x18,0xc7,0x6f,0x6d,0x7d,0xc8,0x62,0x8c,0x71,0x31,0xf2,
0x7d,0xea,0x58,0xc6,0x18,0xe3,0x62,0x34,0x04,0xc5,0xb1,0x67,0xe6,0x6f,0x5c,0xc8,
0xbe,0x11,0xe3,0x83,0xf2,0x40,0x4e,0x1b,0x18,0xd7,0xce,0xf9,0xab,0xa2,0x72,0xf0,
0xdb,0xe9,0xf6,0x03,0xf8,0x8e,0x38,0x76,0x72,0x3f,0x76,0xb0,0x46,0x9a,0x39,0xdf,
0xe9,0xfa,0x89,0x56,0xc9,0xd6,0x6d,0x39,0xfd,0x69,0x2e,0xa7,0x0d,0x92,0xe5,0xf4,
0x35,0x51,0xb9,0xad,0xf7,0x75,0x51,0xec,0x35,0x97,0x53,0xfb,0x86,0xfd,0x8c,0x78,
0x70,0xd8,0x3e,0xa7,0x6b,0xd8,0x94,0xa0,0x3c,0x7c,0xbf,0x31,0x35,0x28,0xbe,0xcf,
0xf5,0x1b,0x4f,0x05,0xc5,0xeb,0x9c,0xde,0x37,0x82,0xe2,0xbe,0x07,0xf9,0x66,0x28,
0xe6,0x3f,0x89,0x7a,0xb6,0x86,0x6f,0x05,0xd5,0xb1,0x1e,0xe4,0x69,0xe7,0xc3,0xbe,
0xdf,0xd3,0x83,0xe2,0xd6,0x83,0x2c,0x71,0xfb,0x0f,0x59,0x63,0x1c,0xcf,0x72,0xbf,
0x9e,0x75,0xbd,0xc4,0x2c,0xda,0x59,0x0f,0xb2,0xd8,0xd9,0x41,0x36,0x3b,0x8e,0x79,
0xb4,0x9b,0xe7,0xec,0x9e,0xa3,0x9d,0xf5,0x20,0x8b,0x9c,0x1d,0x64,0xf3,0xe3,0x58,
0x48,0xbb,0x85,0xee,0x8e,0xfe,0x6e,0xd0,0xf5,0x58,0x0f,0xb2,0x88,0x3a,0xf3,0x9d,
0xce,0x02,0xea,0x84,0x9c,0xce,0xa2,0x90,0x9d,0xff,0xb6,0xa0,0xbe,0xe0,0x7b,0x01,
0xe3,0x41,0x77,0x31,0x75,0x67,0x3b,0x7f,0x73,0xe9,0xcf,0x7a,0x14,0xd3,0x59,0xec,
0xfc,0x1d,0x0d,0xea,0x13,0x31,0xe6,0x72,0xdd,0xd0,0x5d,0x42,0xdd,0x46,0xe7,0x6f,
0x06,0xfd,0x59,0x0f,0x63,0x3a,0x4b,0x9c,0xbf,0xb7,0x82,0xfa,0x44,0x8c,0x19,0xcc,
0xbf,0xed,0xdf,0xf7,0x5c,0x5d,0xac,0x27,0xb6,0x2c,0x28,0xbe,0x34,0xfd,0xdd,0x49,
0xb1,0xa6,0xa0,0x7e,0x20,0xb3,0xbb,0xfb,0xfb,0x41,0xf1,0xa6,0x24,0xbb,0x53,0x7f,
0x2d,0x8a,0xef,0xe7,0x7d,0x79,0xd0,0x9d,0x2d,0xc8,0x0e,0xc4,0x71,0x90,0x67,0x09,
0xef,0x9b,0x79,0x96,0x5e,0x64,0x1d,0xbf,0x2e,0x19,0xb7,0x15,0x41,0x7d,0x8d,0x71,
0x35,0xbb,0xd2,0x61,0x53,0x69,0xbb,0x2a,0xa8,0x2e,0x64,0xeb,0x89,0xad,0x0e,0xea,
0x6b,0x15,0x6b,0x17,0xbf,0x45,0x36,0x07,0xfd,0x1d,0xb2,0x99,0x3a,0xeb,0x82,0xea,
0xbd,0x18,0xb2,0xdf,0x3c,0xd6,0x07,0xc5,0x57,0xf0,0xb7,0xae,0x97,0x82,0x9e,0xc5,
0x27,0xf9,0xad,0xdd,0x10,0x54,0xc7,0xce,0x20,0xb0,0x8d,0xc4,0x24,0xe5,0x54,0x9a,
0xfe,0x9e,0xb9,0x29,0xa8,0x2e,0x64,0xf0,0x31,0x93,0xf7,0xc8,0xe6,0xa0,0x3c,0x36,
0x85,0xe2,0xdf,0x50,0x70,0x27,0x6e,0x09,0x2a,0x4f,0x92,0xac,0x8f,0x38,0x92,0xfb,
0x9e,0xf8,0x3e,0xe2,0x4d,0xca,0xed,0xfe,0x3c,0x2a,0xea,0xc3,0x8f,0xae,0xf1,0xd4,
0x42,0xd6,0xc6,0xbb,0xa4,0x9a,0xbf,0xb7,0xc1,0xf6,0xa8,0xeb,0x41,0x7e,0x1c,0xf4,
0x8e,0x7b,0xe3,0x0e,0x3d,0xc8,0xd6,0xa0,0x3e,0x7c,0x0f,0xb2,0x8d,0x3d,0xc8,0x56,
0xd7,0x83,0x6c,0x0f,0xea,0x6b,0x9b,0xeb,0x41,0x7e,0x42,0xdb,0xb6,0x3b,0xf4,0x20,
0xaf,0x04,0xd5,0xd9,0xea,0x7a,0x90,0x57,0x83,0xfa,0x7a,0xc5,0xf5,0x16,0x3b,0xc8,
0xcf,0xf7,0x20,0x2d,0x41,0xf1,0x6d,0x4e,0x6f,0x77,0x50,0x7b,0xdf,0x83,0xec,0x21,
0xe6,0x7b,0x90,0xbd,0xc4,0x7c,0x0f,0xd2,0x1a,0xd4,0x1e,0xfa,0x90,0xb7,0xf0,0xec,
0x59,0xcd,0x1e,0x74,0x3d,0xc1,0x45,0xf2,0xc1,0x59,0x83,0xdd,0x81,0xdc,0x5d,0xd1,
0xec,0x74,0x2f,0x50,0x17,0xf7,0x09,0xec,0x0e,0x4a,0x71,0xaf,0xb1,0x5a,0x32,0x5e,
0xc7,0x24,0x5b,0xe7,0x6f,0x78,0xae,0x7e,0x2f,0x8a,0xb7,0xf1,0x1b,0x77,0xdc,0x9d,
0x2b,0xc8,0xde,0x8e,0xe3,0x38,0x7d,0xbd,0xed,0xf6,0xf5,0x8f,0xd2,0xf1,0xbe,0x1e,
0xa2,0xdf,0x3f,0xd1,0xef,0x79,0xfa,0x3d,0xe1,0xfc,0x42,0xf6,0x6e,0x1c,0x27,0xe8,
0xf7,0x5d,0xfb,0xfd,0x13,0xff,0xf7,0xf3,0x77,0x56,0x3b,0x37,0x1f,0xf0,0x2e,0x9c,
0x13,0xfd,0x62,0xbd,0xed,0xd4,0xf9,0xc0,0x71,0xf9,0x50,0x14,0x6f,0xbf,0x43,0x1d,
0x9c,0x16,0xd5,0x01,0x1f,0xab,0x83,0x33,0xa2,0x6b,0x38,0xcd,0x7c,0x19,0x97,0x13,
0xcc,0x2d,0x74,0xde,0x0c,0xaa,0x83,0x75,0x9f,0x21,0x67,0xe3,0xf9,0x51,0x8e,0xe7,
0x3f,0xc8,0xd3,0x72,0x7d,0x4e,0xd4,0xde,0xd7,0xca,0x79,0x62,0xbe,0x56,0x2e,0x10,
0xf3,0xb5,0x72,0x51,0xd4,0x1e,0xfa,0x17,0xb8,0x37,0x73,0x63,0x1c,0xc4,0x44,0x9c,
0x8b,0xe4,0x6c,0xfb,0x72,0x5c,0x8a,0x7f,0xa7,0xc5,0xf3,0x66,0x8c,0x32,0x3c,0x8e,
0xff,0x01,0x9c,0xa1,0x9f,0x18,0x7c,0x1d,0x00,0x00
0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x75,0x58,0x7b,0x90,0x97,0x55,
0x19,0xfe,0xde,0xf3,0x5b,0x96,0x5d,0x97,0x20,0x53,0x32,0x15,0x48,0x16,0x0c,0xe3,
0xb2,0x2d,0x23,0x2c,0xea,0x86,0xb8,0x40,0x2c,0x34,0x18,0x97,0xa5,0x99,0x84,0x0a,
0x01,0xcb,0x60,0xc4,0x76,0x80,0x35,0x98,0x16,0x58,0x2e,0x6a,0x20,0x5e,0xa6,0x04,
0x16,0x04,0x64,0xa4,0x09,0x93,0x86,0xe0,0xbf,0xc6,0x66,0x2a,0x99,0x26,0x83,0x20,
0x18,0x93,0x8b,0x91,0xc5,0x2d,0x03,0x95,0x10,0x2a,0xe5,0xaa,0x9d,0xe7,0x7b,0x9f,
0x97,0xef,0xfd,0x7d,0xb3,0xfc,0x66,0xce,0x7c,0xdf,0x79,0xde,0xdb,0x73,0xce,0x79,
0xcf,0x39,0xef,0xef,0x2b,0x84,0x1e,0xed,0x93,0x44,0x92,0xeb,0x92,0xb2,0xe4,0x33,
0x85,0x24,0xfd,0x5d,0x9f,0x84,0x88,0x24,0x49,0x45,0x52,0x9a,0x3e,0xeb,0x47,0x37,
0x8c,0xae,0x9a,0x3d,0xe7,0xa1,0xaa,0x01,0x03,0xab,0x21,0xef,0x98,0xa8,0x22,0x64,
0x9d,0x92,0xf6,0x49,0xbb,0xf8,0x2c,0x89,0x6d,0xe6,0x94,0xe9,0x8f,0x02,0x3f,0x18,
0xdb,0x99,0xd8,0x3e,0x1d,0xed,0x4b,0x52,0x7f,0x49,0xf4,0xae,0x3a,0xa9,0xbf,0xf8,
0x76,0x5f,0x7c,0x96,0xa6,0x3a,0x49,0x32,0x32,0x7a,0xa8,0xd3,0xd0,0x49,0x0f,0x3e,
0x0d,0x13,0x62,0x5e,0x2f,0x10,0xbb,0xcd,0x61,0x05,0x62,0xd5,0xf4,0x3f,0x8c,0xfe,
0xab,0x45,0x75,0x86,0xe7,0xfc,0xd7,0x47,0x8b,0xe1,0xf4,0x05,0xfd,0x11,0xf1,0x59,
0x79,0x55,0xa6,0xfd,0xee,0x8e,0xef,0x92,0x9c,0x7c,0x09,0xe5,0x25,0xec,0xaf,0xce,
0x8d,0xa7,0xb5,0x8d,0xf1,0xb4,0xb6,0x31,0x9e,0xd6,0x36,0xc6,0xd3,0xda,0xc6,0x78,
0xd6,0xe4,0xc6,0xb3,0xb6,0x8d,0xf1,0xac,0x75,0xe3,0x59,0x97,0xe3,0xbb,0x8e,0x7c,
0x4d,0x7e,0x30,0x5d,0xdf,0x24,0xe9,0xc2,0x98,0x87,0xdb,0xe0,0x7b,0xd8,0xf1,0x2d,
0x63,0x8c,0xc3,0xce,0xc7,0xe9,0x5c,0x8c,0xd3,0x8c,0x51,0x60,0xff,0x0c,0x63,0xdc,
0xc2,0xfe,0x3b,0x52,0xac,0x8f,0x7e,0x77,0xd7,0xbf,0x28,0xaa,0x7f,0x73,0x6c,0x37,
0xc4,0x28,0x21,0xf5,0x57,0x48,0xfd,0xe1,0xbd,0x73,0xd4,0x29,0xe5,0x3c,0xe1,0x77,
0x53,0xec,0xb7,0xe7,0xbc,0x04,0xf6,0xcb,0xd8,0xc7,0xba,0xdc,0x18,0xd1,0xf2,0xf8,
0xfc,0x6c,0xf4,0xd0,0x99,0x76,0xd0,0xa9,0x4c,0x7d,0xa9,0x0e,0xfa,0x5f,0x8c,0xcf,
0x72,0xfa,0xe8,0xc3,0x18,0x35,0x8c,0x61,0xfd,0x5a,0xea,0x5b,0x7f,0x08,0xd7,0xb0,
0x0b,0x73,0xb9,0x8c,0x58,0xb7,0x28,0xad,0x63,0xbf,0x92,0xcf,0xfb,0x9c,0xdd,0x50,
0xf2,0xe8,0xc2,0x1c,0xad,0x23,0xd6,0x8d,0xf9,0x38,0x2c,0x95,0x97,0x24,0x5f,0x21,
0x9f,0xe1,0x69,0x6c,0xed,0x8f,0x70,0xf3,0x50,0x4f,0x3f,0x42,0xdf,0xf5,0xe9,0x9a,
0x65,0x9c,0xd1,0x1f,0xc5,0xb5,0x80,0xbf,0xd1,0xb4,0x2d,0x73,0x5c,0x26,0x39,0x7b,
0xf4,0xa7,0xe5,0xe6,0xa0,0x31,0xa7,0xdf,0x14,0xdb,0x27,0xe9,0xfa,0x94,0x27,0x8b,
0x38,0x87,0xc2,0x98,0xf9,0x27,0x62,0x2e,0xe6,0xfb,0x22,0x8e,0x01,0xfd,0x25,0x6e,
0xed,0x7e,0x94,0xae,0x7b,0xb6,0x76,0x4f,0xb1,0x5f,0xe0,0xfc,0xac,0xce,0xcd,0x6b,
0x6b,0x6e,0x5e,0x57,0x53,0x0f,0x7b,0xa3,0xd5,0xcd,0x23,0xf6,0xc1,0x1a,0x72,0x78,
0x81,0xfe,0xd7,0x92,0x03,0xfa,0xeb,0x5c,0xcc,0xdf,0x71,0x1c,0x05,0x8e,0x13,0xef,
0x3b,0x52,0x86,0x2d,0x43,0x20,0xdf,0xcf,0x7c,0xb2,0x79,0x3c,0xc0,0x31,0xee,0xa7,
0xbf,0x03,0x3c,0xef,0x24,0x8d,0x5d,0x92,0xee,0x0f,0xcb,0x49,0xe8,0xff,0x8d,0xb9,
0x75,0x98,0xfa,0xe8,0xbf,0x4d,0x0c,0xf2,0xbf,0xf3,0xbd,0xbd,0x8b,0x7f,0x92,0x73,
0xd4,0x37,0xa2,0x18,0xeb,0x29,0x62,0xd6,0x76,0x70,0x0d,0xde,0x63,0x1c,0x9b,0xf3,
0xa4,0x8d,0x35,0x78,0x9f,0xef,0xef,0x31,0x3e,0xfa,0xa7,0x89,0x19,0xff,0x33,0xb9,
0x3c,0x2a,0x15,0xed,0x5b,0xfc,0x5a,0x29,0x8e,0x7f,0xd2,0xe9,0x0e,0x17,0x9d,0xcb,
0x34,0x67,0xf9,0x6e,0x63,0xff,0x01,0xfb,0x95,0x2e,0x87,0xb6,0x46,0xec,0x41,0x37,
0xd6,0x57,0x63,0x7f,0xcf,0xee,0xdd,0xf7,0x5a,0xac,0x5f,0xe7,0x62,0x41,0x0e,0x5f,
0x7f,0x12,0x9d,0xa7,0x52,0x8e,0xfd,0x84,0x14,0xe7,0x9f,0xfd,0x02,0x31,0xd8,0xfc,
0x93,0x42,0xe8,0xd6,0xb2,0xff,0x8e,0xd8,0xdc,0x96,0xa6,0x6b,0x88,0x33,0xa7,0x91,
0xfb,0x1b,0xfb,0xa1,0x2a,0xae,0x34,0xd6,0xe2,0xfa,0x02,0xce,0x80,0x76,0xa9,0xbf,
0x12,0xfa,0x46,0x0e,0x9c,0x8f,0x08,0xee,0xbb,0x8f,0x62,0xef,0x12,0x7d,0x5d,0x8a,
0xef,0x38,0x2f,0x2e,0x8b,0xca,0xf1,0x1c,0xcc,0xdc,0x39,0xc4,0xfc,0x18,0x13,0xbd,
0xc2,0xef,0x5b,0xc4,0x0e,0xb9,0xb5,0xaa,0x8b,0x1e,0x91,0x07,0xff,0x60,0x6e,0x60,
0x1f,0x0f,0xe6,0xd9,0x76,0x84,0xf8,0xd6,0xa8,0x83,0x73,0xea,0x28,0x7d,0x1c,0x49,
0x73,0xba,0x24,0x9d,0x93,0x63,0xc4,0xc1,0xe9,0x04,0xfd,0x5e,0x8c,0x32,0xe0,0xc7,
0x31,0x7e,0xf2,0xc6,0xfb,0x85,0xf8,0xbc,0x44,0x9e,0x27,0x18,0x07,0xb9,0xf1,0x6f,
0xe6,0x85,0xf1,0xfe,0x80,0x79,0x61,0xbc,0xcf,0x12,0xfb,0xc0,0xf1,0x6e,0xe6,0x1e,
0x3e,0x47,0xf9,0xe4,0xa8,0x89,0x7d,0xf9,0x1f,0xfa,0x3b,0xc7,0xf5,0xc0,0x78,0xc6,
0x45,0xfe,0xa5,0x29,0x47,0x95,0x27,0x0e,0xbb,0x48,0x4c,0x8c,0x1f,0xf9,0xe2,0xf9,
0x3f,0xe6,0xc5,0xbe,0xa0,0xfb,0x00,0x9c,0x0b,0x71,0x21,0x3e,0xa6,0x0c,0xf6,0xbb,
0x83,0xfa,0x80,0xac,0x42,0x54,0xb6,0x25,0xfa,0xc6,0xdc,0x88,0xa8,0x1c,0xeb,0xf3,
0x61,0xe4,0x7b,0x25,0x51,0xb9,0xcd,0x11,0xe4,0x97,0xe3,0xfb,0x15,0xc6,0xc4,0x7b,
0x87,0xe8,0x15,0xb9,0x5d,0xc2,0x7d,0x30,0x8a,0x31,0x9a,0x99,0xc3,0xed,0x44,0x65,
0xbf,0x8f,0x31,0xa0,0x57,0x26,0xba,0x67,0x80,0x9b,0x4e,0xb9,0x28,0xfe,0x07,0x8e,
0xb1,0x82,0x3c,0x80,0xd7,0x45,0xde,0x38,0x8f,0x3b,0x8a,0x9e,0x45,0x23,0xe9,0xd3,
0xd6,0x1d,0x73,0xd8,0x49,0x54,0x6e,0xf3,0xdf,0x3e,0x28,0xd6,0x49,0xb2,0xf9,0xb7,
0x9c,0x28,0x0b,0x9a,0x13,0xd0,0x79,0x81,0x39,0x51,0x1e,0x14,0x47,0x4e,0x74,0x0c,
0xd9,0x78,0x81,0x5f,0x17,0x1b,0x30,0x8c,0x17,0xef,0x16,0xa3,0xc2,0xc5,0x08,0xcc,
0xf7,0x6d,0x8c,0xd1,0x81,0x31,0x2a,0x5c,0x8c,0x4f,0x05,0xc5,0xb1,0x66,0xe6,0x0f,
0x4f,0xac,0x0b,0xe4,0x9d,0x82,0xf2,0xb8,0x4c,0x5d,0xc4,0x7a,0x99,0xb6,0x37,0x88,
0xca,0xc1,0xaf,0xb3,0x64,0xfc,0x80,0xdf,0x88,0xbd,0xcd,0x1c,0xc5,0x3b,0xfc,0x7f,
0xcc,0xf5,0x01,0x6e,0x79,0xf3,0x39,0xc9,0xf6,0x91,0x61,0xb7,0xb8,0x39,0x7a,0x85,
0x39,0x70,0xab,0xa8,0x2e,0x64,0x16,0xbf,0x8b,0x28,0x8e,0xf8,0xdd,0x5c,0x7c,0xe0,
0x5d,0x63,0xeb,0xc6,0xf8,0x5d,0x5d,0xbc,0xdb,0x18,0x4f,0x5c,0xbc,0x4a,0xc6,0x13,
0x17,0xaf,0x87,0xa8,0x6e,0x25,0xb9,0x9b,0x2f,0x3c,0x6d,0x6e,0x7a,0x32,0x3e,0xc6,
0xd3,0x83,0x31,0x8d,0xdb,0xed,0xa2,0x72,0x70,0xeb,0xe5,0xb8,0x01,0xff,0x42,0x6c,
0xbd,0xe8,0x0f,0xef,0x2d,0xe4,0xd1,0x9b,0x63,0x9c,0xe4,0xb8,0xf5,0x75,0x6b,0x69,
0xdc,0xfa,0x89,0xea,0xf6,0x25,0x37,0xf3,0xd5,0xcb,0x71,0xab,0x62,0x7c,0xf0,0xed,
0xc7,0x98,0xc6,0xed,0x4b,0xa2,0x72,0x70,0xeb,0xef,0xb8,0x01,0x47,0x6d,0xda,0x9f,
0xfe,0xaa,0xdd,0xbc,0xdd,0xe9,0xe6,0xcd,0xf8,0x0e,0x10,0xc5,0x3d,0xdf,0x1a,0xf2,
0x2d,0x38,0xbe,0x83,0x44,0x75,0x6b,0xc8,0xd7,0xfc,0xf7,0x77,0x7c,0xef,0x22,0x27,
0x8c,0x61,0x10,0x79,0x80,0xdf,0x3d,0x8e,0x1f,0x74,0xee,0x8e,0xed,0x1e,0xda,0xdf,
0x9d,0xcb,0x2b,0xe0,0x8b,0x63,0x4c,0xec,0x83,0x3a,0xc9,0xf6,0x53,0x5d,0xdc,0x8d,
0xb8,0xd7,0x46,0xe4,0xf6,0x2a,0xee,0xbd,0x1a,0xee,0x57,0x70,0xaf,0xa7,0x0e,0xe2,
0x0e,0x0a,0xc5,0xf7,0xc2,0x4d,0xdc,0x1b,0x78,0x5e,0xcd,0xdd,0xa0,0x71,0xf0,0x7b,
0x82,0xd8,0xcd,0x41,0x71,0xf8,0x32,0xec,0xd6,0xa0,0x78,0x6d,0xa2,0x5c,0x70,0x6e,
0x74,0x09,0xc5,0x5c,0x46,0x51,0xcf,0xce,0x8e,0xae,0x41,0x75,0x96,0xd1,0xc7,0xe7,
0x9d,0x0f,0x9b,0xd7,0xee,0x41,0xf1,0x1a,0xde,0x1b,0x35,0xee,0x8c,0x80,0xac,0x32,
0xb6,0xdb,0xc9,0x1b,0x4f,0xb3,0xeb,0x45,0xbb,0x49,0xb4,0x1b,0xe8,0xec,0x20,0xbb,
0x23,0xb6,0x3e,0xb4,0xeb,0xe3,0xec,0xfa,0xd1,0x6e,0x1a,0xed,0x06,0x38,0x3b,0xc8,
0xaa,0x62,0xeb,0x4f,0xbb,0xfe,0x6e,0x9e,0xee,0x0c,0x3a,0x9e,0x02,0xef,0x86,0x41,
0xd4,0xa9,0x72,0x3a,0xd5,0xd4,0x09,0x39,0x1d,0xc4,0xf8,0x24,0x66,0x1d,0xde,0xef,
0x70,0xfa,0xbd,0xa9,0x2f,0x39,0xfd,0x81,0x4e,0xbf,0xd2,0xe9,0xf7,0xa4,0x7e,0x92,
0xd3,0xaf,0x71,0xfa,0x83,0xd2,0x73,0xaf,0x22,0xd5,0x3f,0x1e,0x94,0x37,0xc6,0x51,
0xcd,0xb1,0xf5,0xe6,0xdc,0xf4,0xe4,0xdc,0x9a,0xef,0xb1,0x2e,0xe7,0x0d,0x1b,0xef,
0xce,0x94,0xc5,0xc4,0x1a,0x44,0x75,0x21,0xfb,0x05,0xe7,0xf4,0x1b,0xa2,0xb1,0x1a,
0x98,0x77,0x13,0x5d,0xbe,0x43,0xf6,0x40,0x6c,0x13,0x99,0xef,0x0f,0xb8,0xfd,0xf8,
0x4d,0xd1,0xdc,0xf3,0xfb,0xf1,0x5b,0xa2,0x78,0x2d,0xef,0x15,0xf8,0x9f,0x2c,0x8a,
0x37,0x70,0xaf,0x98,0xaf,0x89,0x6e,0xef,0x3d,0x28,0xca,0x03,0xe3,0x9f,0xcc,0x98,
0xe0,0x32,0xd5,0x71,0x81,0xce,0x94,0xd8,0xa6,0xd2,0x7e,0x8a,0xe3,0xf2,0x5d,0xc7,
0xc5,0xee,0xca,0x87,0x45,0xf7,0x01,0x64,0xaf,0x13,0xfb,0x9e,0x28,0x3e,0xc9,0xe5,
0xf0,0x74,0x51,0xbc,0x86,0xeb,0x62,0xfe,0xa7,0x3a,0x7e,0x33,0x44,0x39,0x82,0xf3,
0x74,0xf2,0xb0,0xd8,0x33,0x5d,0x6c,0x9b,0xe7,0x47,0x39,0x5e,0xc8,0xb6,0x31,0x4e,
0xa3,0x28,0x7e,0xdc,0xdd,0x5f,0xb3,0x44,0x7d,0x6f,0xa6,0xce,0x6c,0x51,0xbd,0x59,
0x1c,0x7f,0x93,0x1b,0x3f,0x64,0x73,0x62,0x6b,0x22,0xbf,0x39,0xac,0x01,0x50,0x1f,
0xcf,0xcd,0x9d,0x2b,0xa5,0xac,0x1d,0x51,0xf3,0xcc,0xa3,0x7c,0x4c,0xdc,0xd5,0xf8,
0x9f,0x52,0x1b,0xb4,0x0e,0xda,0x17,0xb2,0x1a,0x20,0x30,0x6f,0x50,0x0b,0x7f,0x39,
0xa8,0x4d,0x21,0xfd,0x9f,0xa5,0xd8,0xe0,0xa0,0xff,0x17,0x20,0x7b,0x26,0x62,0xf0,
0x73,0x6f,0x50,0x5f,0x83,0x43,0xe6,0x7b,0x08,0x6d,0xe7,0x49,0xb1,0x6f,0xb3,0xa9,
0x0b,0xaa,0x03,0x3f,0x8b,0x88,0x0d,0x0d,0xea,0xab,0x2e,0x64,0x1c,0x86,0x91,0x1f,
0x38,0x3c,0x4e,0x6c,0x44,0x50,0x7c,0xb0,0xd3,0xab,0x0f,0x6a,0x9f,0x38,0xfe,0x23,
0x89,0x89,0xc3,0x46,0x11,0x83,0xea,0x58,0xd6,0x82,0x5f,0x0d,0x6a,0x0f,0x7d,0xc8,
0x47,0xb0,0x06,0xb1,0xf9,0x6d,0x92,0xac,0x6e,0x2c,0x29,0x28,0x1f,0xe4,0x04,0xec,
0xe6,0xe4,0xce,0x7d,0xad,0x23,0xcb,0x53,0xdd,0x02,0x75,0x51,0x73,0xd4,0xf2,0xbe,
0x80,0x7d,0x93,0x14,0xd7,0xa5,0x57,0x98,0x6f,0xf3,0x19,0x6f,0xbe,0x8b,0xb7,0x97,
0xe3,0x87,0x4e,0xbb,0x68,0xdb,0x22,0x59,0x9d,0xba,0x27,0x68,0xfd,0x0b,0xd9,0x0a,
0x51,0x99,0xd5,0xa9,0x4b,0x44,0xe5,0x56,0xa7,0x2e,0xa4,0xdc,0x72,0x08,0xf2,0x05,
0xb1,0x2d,0x64,0x4c,0xbc,0x5b,0x9d,0xfa,0x84,0xab,0x53,0xf7,0xb8,0x3a,0xf5,0x49,
0x51,0x99,0xd5,0xa9,0xcb,0x98,0x5f,0x4f,0xba,0x3a,0x75,0xb9,0x28,0x6e,0x7b,0x6f,
0x05,0x79,0x2c,0x77,0x75,0xea,0xb3,0xa2,0xdf,0x1e,0x46,0xd2,0xa7,0xaf,0x53,0x9f,
0x13,0x95,0x5b,0x0d,0x79,0x7f,0x50,0xec,0xb9,0x36,0xea,0xd4,0xaf,0xb1,0x86,0xbc,
0xdf,0xd5,0x90,0x63,0x82,0xe2,0xd8,0x33,0x13,0xdc,0x9d,0x00,0x7c,0x6c,0x6c,0x13,
0x78,0xd6,0x8e,0x75,0x75,0xea,0x38,0x17,0x23,0x5f,0xa7,0x8e,0x67,0x8c,0x71,0x2e,
0x46,0x43,0x50,0x1c,0x6b,0x66,0xfe,0x26,0xb8,0x3a,0xf5,0xeb,0x41,0x79,0x60,0x4e,
0x1b,0x18,0xd7,0xf6,0xf9,0xf3,0xa2,0x72,0xf0,0x5b,0xe5,0xd6,0x03,0xf8,0xca,0xd8,
0x56,0x71,0x3d,0x56,0x32,0x47,0x5a,0xd8,0x5f,0xe5,0xea,0x89,0x75,0x92,0x8d,0xdb,
0xe6,0xf4,0xc5,0xdc,0x9c,0x0e,0x97,0x6c,0x4e,0x37,0x8a,0xca,0x6d,0xbc,0x9b,0x44,
0xb1,0x8d,0x6e,0x4e,0xed,0x0c,0xfb,0x19,0xf1,0xe0,0xb0,0x2d,0x4e,0xd7,0xb0,0x6f,
0x07,0xe5,0xe1,0xeb,0x8d,0xc9,0x41,0xf1,0x2d,0xae,0xde,0x98,0x12,0x14,0xaf,0x75,
0x7a,0xd3,0x82,0xe2,0xbe,0x06,0x79,0x28,0x14,0xf3,0x1f,0x45,0x3d,0x1b,0xc3,0x77,
0x82,0xea,0x58,0x0d,0xf2,0xb0,0xf3,0x71,0xf5,0xfc,0x0e,0x8a,0x5b,0x0d,0xb2,0xc0,
0xad,0x3f,0x64,0x33,0x62,0x9b,0xc9,0xf5,0x9a,0xe9,0x6a,0x89,0xef,0xd3,0xce,0x6a,
0x90,0xf9,0xce,0x0e,0xb2,0xc6,0xd8,0x66,0xd3,0x6e,0xb6,0xb3,0x6b,0xa2,0x9d,0xd5,
0x20,0xcd,0xce,0x0e,0xb2,0xc7,0x70,0x06,0xd2,0x6e,0x9e,0xbb,0xa3,0x7f,0x18,0x74,
0x3c,0x56,0x83,0x34,0x53,0xe7,0x31,0xa7,0x33,0x97,0x3a,0x21,0xa7,0xd3,0x1c,0xb2,
0xfd,0xff,0xd7,0xa0,0xbe,0xe0,0x7b,0x2e,0xe3,0xa5,0xe7,0x08,0x75,0x1b,0x9d,0xbf,
0x59,0xf4,0x67,0x35,0x8a,0xe9,0xcc,0x77,0xfe,0xde,0x0a,0xea,0x13,0x31,0x66,0x71,
0xdc,0xd0,0x5d,0x40,0xdd,0x19,0xce,0xdf,0x23,0xf4,0x67,0x35,0x8c,0xe9,0x2c,0x70,
0xfe,0x0e,0x05,0xf5,0x89,0x18,0x8f,0x70,0xfe,0x6d,0xfd,0x5a,0x5c,0x5e,0x2c,0x25,
0xb6,0x28,0x28,0xde,0x98,0x7e,0x93,0x52,0x6c,0x69,0x50,0x3f,0x90,0xd9,0xdd,0xfd,
0x78,0x50,0xbc,0x29,0xc9,0xee,0xd4,0x5f,0x8a,0xe2,0x5b,0x79,0x5f,0x6e,0x77,0x7b,
0x0b,0xb2,0x6d,0xb1,0x6d,0xe7,0x5e,0xc2,0xfb,0x32,0xee,0xa5,0xe5,0xcc,0xe3,0x4d,
0x92,0x71,0x7b,0x2a,0xa8,0xaf,0xa1,0x2e,0x67,0x57,0x38,0x6c,0x2c,0x6d,0x9f,0x0e,
0xaa,0x0b,0xd9,0x52,0x62,0xcf,0x04,0xf5,0xf5,0x34,0x73,0x17,0xdf,0x2a,0x9f,0x0d,
0xfa,0x9d,0xb2,0x85,0x3a,0x3f,0x0e,0xaa,0xb7,0x3c,0x64,0xdf,0x3c,0x7e,0x12,0x14,
0x6f,0xe6,0x77,0xb0,0xe7,0x83,0xee,0xc5,0x71,0x3c,0x6b,0x57,0x06,0xd5,0xb1,0x3d,
0x08,0x6c,0x15,0x31,0x49,0x39,0x95,0xa6,0xdf,0x3b,0x57,0x07,0xd5,0x85,0x0c,0x3e,
0x26,0xf3,0x1e,0x69,0x0d,0xca,0x63,0x75,0x28,0xfe,0x86,0x82,0x3b,0x71,0x4d,0x50,
0x79,0x92,0x64,0x75,0xc4,0x6f,0x72,0xe7,0x89,0xaf,0x23,0x7e,0x4b,0xb9,0xdd,0x9f,
0xaf,0x89,0xfa,0xf0,0xad,0x43,0xdc,0xb5,0x90,0xed,0xe0,0x5d,0x52,0xc5,0x6f,0x71,
0xb0,0x7d,0xcd,0xd5,0x20,0xeb,0x82,0xde,0x71,0x7b,0xaf,0x51,0x83,0xac,0x0f,0xea,
0xc3,0xd7,0x20,0x1b,0x58,0x83,0xac,0x77,0x35,0xc8,0x8b,0x41,0x7d,0x6d,0x70,0x35,
0xc8,0x46,0xda,0xee,0xb8,0x46,0x0d,0xf2,0x52,0x50,0x9d,0xf5,0xae,0x06,0xd9,0x14,
0xd4,0xd7,0x4b,0xae,0xb6,0xf8,0x29,0xf9,0xf9,0x1a,0x64,0x73,0x50,0x7c,0x83,0xd3,
0x7b,0x39,0xa8,0xbd,0xaf,0x41,0x7e,0x4e,0xcc,0xd7,0x20,0xaf,0x10,0xf3,0x35,0xc8,
0x96,0xa0,0xf6,0xd0,0x87,0x7c,0x33,0xf7,0x9e,0xe5,0xec,0x76,0x57,0x13,0x94,0x16,
0x94,0x0f,0xf6,0x1a,0xec,0xb6,0xe5,0xee,0x8a,0x16,0xa7,0xdb,0x8e,0xba,0xb8,0x4f,
0x60,0xb7,0x5d,0x8a,0x6b,0x8d,0x85,0x92,0xf1,0x7a,0x5d,0xb2,0x71,0xfe,0x8a,0xfb,
0xea,0x8f,0xa2,0xf8,0x0e,0x9e,0x71,0xbb,0xdc,0xbe,0x82,0x6c,0x67,0x6c,0xbb,0xe8,
0x6b,0xa7,0xe8,0xb7,0x47,0x7c,0x5b,0xdd,0x2d,0xfa,0xed,0xd1,0xf2,0x26,0xad,0x57,
0x88,0x5b,0x8d,0xf2,0x67,0x51,0xcc,0xce,0xeb,0x7d,0xce,0x37,0x64,0x7b,0x63,0xdb,
0x47,0xdf,0x7b,0xdd,0xfd,0xf5,0x06,0xff,0xff,0xe3,0x9b,0xaa,0x7d,0xaf,0xad,0x8b,
0x11,0x10,0xf7,0x2f,0x92,0x7d,0xf3,0x9c,0xe4,0xfe,0x4f,0xbf,0x49,0x99,0xd5,0xe5,
0xfb,0x45,0x31,0xff,0xbd,0xe0,0xa0,0xfb,0xae,0x60,0x7a,0x87,0x44,0x75,0x21,0x1b,
0x1f,0x11,0xc4,0xdf,0x19,0x14,0x7f,0x43,0xb2,0xf3,0xcf,0x78,0xee,0xe3,0xdc,0x43,
0xef,0x4d,0xd6,0x0e,0x98,0x17,0xd8,0xec,0x75,0x79,0xff,0xb6,0xb4,0x9d,0xf7,0xaf,
0x72,0x6e,0x8e,0x70,0xde,0x4f,0x72,0x6e,0x8e,0xb9,0xb9,0x81,0xec,0x68,0x6c,0xc7,
0x18,0xf3,0x28,0xe7,0x18,0xdf,0xa5,0xff,0xc5,0x6f,0xd2,0x76,0xae,0x9c,0x12,0xe5,
0x31,0x35,0xfa,0x45,0x3e,0xbc,0x4b,0x9d,0x53,0x8e,0xcb,0xfb,0xa2,0xf8,0xbb,0xd7,
0xd8,0x27,0x67,0x44,0x75,0xc0,0xc7,0xf6,0xc9,0x59,0xd1,0x31,0x9c,0x61,0x3e,0x19,
0x97,0x63,0x1c,0x3f,0x74,0x0e,0x04,0xd5,0xc1,0x9c,0x9c,0x25,0x67,0xe3,0x79,0x2e,
0xc7,0xf3,0xbf,0xe4,0x69,0xb9,0xf8,0xa1,0xa8,0xbd,0xdf,0x4b,0x1f,0x11,0xf3,0x7b,
0xe9,0x3c,0x31,0xbf,0x97,0x2e,0x88,0xda,0x43,0xff,0x3c,0x73,0x77,0x5a,0x8c,0x83,
0x98,0x88,0x73,0x81,0x9c,0x2d,0x6f,0x77,0x49,0xf1,0x77,0x6c,0x3c,0xaf,0xc4,0x28,
0x77,0xc5,0xf6,0x7f,0xb0,0x00,0x80,0x71,0xd0,0x1e,0x00,0x00
};
// Generated from:
......@@ -216,6 +224,8 @@ constexpr uint8_t kOverlayDraw_comp_00000000[] = {
// layout(push_constant)uniform PushConstants
// {
// uvec2 outputSize;
//
// bool rotateXY;
// } params;
//
// bool intersects(const uvec2 imageCoords, const uvec4 widgetCoords)
......@@ -300,7 +310,7 @@ constexpr uint8_t kOverlayDraw_comp_00000000[] = {
//
// void main()
// {
// const uvec2 imageCoords = gl_GlobalInvocationID . xy;
// uvec2 imageCoords = gl_GlobalInvocationID . xy;
// if(any(greaterThanEqual(imageCoords, params . outputSize)))
// {
// return;
......@@ -381,6 +391,14 @@ constexpr uint8_t kOverlayDraw_comp_00000000[] = {
//
// if(blendedWidgets . a < 1)
// {
//
// if(params . rotateXY)
// {
//
// imageCoords . xy = imageCoords . yx;
// imageCoords . x = params . outputSize . y - 1 - imageCoords . x;
// }
//
// vec3 blendedColor = blendedWidgets . rgb;
// if(blendedWidgets . a > 0)
// {
......@@ -388,6 +406,7 @@ constexpr uint8_t kOverlayDraw_comp_00000000[] = {
//
// blendedColor += color . rgb * blendedWidgets . a;
// }
//
// imageStore(blendOutput, ivec2(imageCoords), vec4(blendedColor, 1));
// }
// }
......@@ -10,168 +10,176 @@
#pragma once
constexpr uint8_t kOverlayDraw_comp_00000001[] = {
0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x75,0x58,0x79,0x8c,0x57,0x57,
0x15,0x7e,0xe7,0xfe,0x86,0x61,0xa6,0x20,0x54,0x81,0x5a,0x60,0x3a,0x2d,0x43,0x0b,
0x55,0x61,0x3a,0xb4,0x38,0x2c,0x93,0x16,0x06,0x86,0x2d,0x21,0x81,0x16,0x35,0x2d,
0x23,0x65,0x4d,0x11,0x22,0x8b,0x94,0x51,0x9b,0xb2,0x0c,0x4b,0xd9,0xac,0x80,0x69,
0x81,0x01,0x26,0xb1,0x49,0x13,0x35,0x62,0x10,0xfe,0x33,0x90,0xd2,0x32,0x31,0x62,
0x49,0x35,0xb1,0x84,0x52,0x3b,0x56,0x91,0x62,0xd8,0xa5,0xd6,0x54,0x5b,0x56,0xef,
0xf7,0xce,0x77,0x7c,0xe7,0xf7,0x32,0x4c,0x72,0xf3,0xde,0xfd,0xce,0xf6,0xdd,0x73,
0xcf,0x7d,0xf7,0xcc,0xaf,0x10,0xfa,0x77,0x4e,0x12,0x49,0xee,0x4a,0xca,0x92,0x4b,
0x21,0x49,0xff,0xbe,0x98,0x84,0x88,0x24,0x49,0x97,0xa4,0x34,0x7d,0x4e,0x98,0x3c,
0x6d,0x72,0xf5,0xf3,0xcb,0xe7,0x55,0x0f,0xfd,0x7a,0x0d,0xe4,0xdd,0x92,0x42,0xaa,
0x07,0x59,0xf7,0xa4,0x73,0xd2,0x29,0x3e,0x4b,0xe2,0x58,0x34,0x7b,0xc1,0x62,0xe0,
0xa7,0xe2,0xb8,0x1a,0xc7,0xdd,0xd1,0xbe,0x24,0xf5,0x97,0x44,0xef,0x3a,0x52,0x7f,
0x11,0x1d,0x1d,0x9f,0xa5,0xa9,0x4e,0x92,0x4c,0x8c,0x1e,0xea,0x35,0x74,0xd2,0x9f,
0x4f,0xc3,0x84,0x98,0xd7,0x0b,0xc4,0x1e,0x70,0x58,0x81,0x58,0x0d,0xfd,0x8f,0xa5,
0xff,0x1a,0x51,0x9d,0x86,0x9c,0xff,0x09,0xd1,0xa2,0x81,0xbe,0xa0,0x3f,0x3e,0x3e,
0xab,0xfe,0x2f,0xd3,0x79,0x3f,0xc7,0x77,0x5d,0x4e,0xbe,0x8e,0xf2,0x12,0xce,0x77,
0xe5,0xd6,0xd3,0xd2,0xc1,0x7a,0x5a,0x3a,0x58,0x4f,0x4b,0x07,0xeb,0x69,0xe9,0x60,
0x3d,0xbb,0x73,0xeb,0xd9,0xd3,0xc1,0x7a,0xf6,0xb8,0xf5,0xb4,0xe6,0xf8,0xb6,0x92,
0xaf,0xc9,0x4f,0xa5,0xfb,0x9b,0x24,0x15,0x8c,0xd9,0xde,0x81,0xbf,0x76,0xa7,0x7f,
0x25,0xe7,0xef,0x0a,0xfd,0x15,0x38,0xbf,0x4a,0x7f,0x7d,0xcc,0xbf,0x14,0xeb,0x63,
0xde,0xcf,0xcd,0x2f,0x89,0xea,0xf7,0x8e,0xa3,0x47,0x8c,0x12,0x52,0x7f,0x85,0xd4,
0x1f,0xde,0x7b,0x45,0x9d,0x52,0xe6,0x04,0x7f,0x5f,0x8e,0xf3,0xce,0xcc,0x41,0xe0,
0xbc,0x8c,0x73,0xec,0x41,0xcf,0x88,0x96,0xc7,0xe7,0x3d,0xd1,0x43,0x2f,0xda,0x41,
0xa7,0x2a,0xf5,0xa5,0x3a,0x98,0x7f,0x25,0x3e,0xcb,0xe9,0xe3,0x6b,0x8c,0x51,0xcb,
0x18,0x36,0xaf,0xa3,0xbe,0xcd,0x47,0x71,0xbf,0x2a,0x58,0xb7,0x65,0xc4,0x2a,0xa3,
0xb4,0x9e,0xf3,0x2a,0x3e,0x47,0x3b,0xbb,0x31,0xe4,0x51,0xc1,0x7a,0xac,0x27,0x56,
0xc9,0xda,0x1b,0x9b,0xca,0x4b,0x92,0x71,0xe4,0xd3,0x90,0xc6,0xd6,0xf9,0x78,0x97,
0x87,0x09,0xf4,0x23,0xf4,0x3d,0x21,0xdd,0xb3,0x8c,0x33,0xe6,0x93,0xb8,0x17,0xf0,
0x37,0x99,0xb6,0x65,0x8e,0x4b,0xa3,0xb3,0xc7,0x7c,0x6e,0x2e,0x07,0x4b,0x73,0xfa,
0x4d,0x71,0xdc,0x4e,0xf7,0xa7,0x3c,0x59,0xc3,0x1c,0x0a,0x63,0xe6,0x9f,0x88,0xb9,
0x96,0xef,0x6b,0xb8,0x06,0xcc,0xd7,0xb9,0xbd,0xdb,0x94,0xee,0x7b,0xb6,0x77,0x3f,
0xe2,0xbc,0xc0,0xfc,0xec,0xca,0xe5,0xb5,0x25,0x97,0xd7,0x5d,0xd4,0xc3,0x39,0x68,
0x71,0x79,0x44,0xcd,0xef,0x26,0x87,0xbd,0xf4,0xbf,0x87,0x1c,0x30,0x6f,0x75,0x31,
0xdf,0xe2,0x3a,0x0a,0x5c,0x27,0xde,0xdb,0x52,0x86,0xcd,0xa3,0x20,0x3f,0xc9,0x7a,
0xb2,0x3c,0xbe,0xc7,0x35,0x9e,0xa4,0xbf,0xf7,0xf8,0x6d,0x13,0xc6,0xc6,0xf9,0xe8,
0x4c,0xdd,0xbf,0xb0,0xae,0xda,0xa9,0x8b,0xf9,0x87,0xc4,0x20,0xff,0x2b,0xdf,0x3b,
0xbb,0xd8,0xe7,0x99,0x9f,0x41,0x11,0xc5,0x3a,0x2f,0x10,0xb3,0xd1,0xc6,0xfc,0x5f,
0x22,0x2f,0xcb,0x77,0xd2,0x41,0xfe,0x2f,0xf3,0xfd,0x12,0xe3,0x63,0x7e,0x85,0x98,
0x71,0xbf,0x9a,0xab,0xa1,0x52,0xd1,0xb9,0xc5,0xaf,0x93,0xe2,0xf8,0xe7,0x9d,0x6e,
0x83,0x68,0x1e,0xd3,0x7a,0xe5,0x7b,0x29,0xe7,0x3f,0xe0,0xbc,0xca,0xd5,0xcf,0xfe,
0x88,0xcd,0x72,0x6b,0x3d,0x14,0xe7,0x7f,0x78,0xe7,0x9d,0x27,0x2c,0xd6,0xe1,0x5c,
0x2c,0xc8,0xb1,0xd6,0x93,0x52,0x5c,0x6b,0xf6,0x17,0x88,0xa5,0xfb,0x42,0x21,0x74,
0xeb,0x38,0x3f,0x25,0x96,0xcb,0xd2,0x74,0xbf,0xf0,0x7d,0x59,0xca,0xba,0x6e,0x4c,
0xcf,0x78,0xa7,0xd4,0x47,0x09,0xfd,0x61,0x8f,0x3f,0x8b,0x08,0xee,0xae,0xff,0xc6,
0xd9,0x65,0xda,0x5f,0x8f,0xef,0xf8,0x1e,0x5c,0x11,0x95,0xe3,0xf9,0x38,0x6b,0xe3,
0x7d,0xee,0xff,0x94,0xb8,0x06,0xec,0xe3,0x9f,0x89,0xbd,0xef,0xf6,0xa3,0x3e,0x7a,
0xc4,0x5e,0xff,0x8d,0xfb,0x8f,0x73,0xfa,0x38,0xbf,0x5d,0xa7,0x89,0xef,0x8f,0x3a,
0xf8,0x0e,0xfd,0x9d,0x3e,0x4e,0xa7,0x35,0x5b,0x92,0xd6,0xc7,0x19,0xe2,0xe0,0x74,
0x96,0x7e,0xaf,0x45,0x19,0xf0,0x8f,0xe2,0x38,0x4b,0xde,0x78,0xff,0x3c,0x3e,0x2f,
0x93,0xe7,0x59,0xc6,0xc1,0xfe,0xff,0x93,0x7b,0x6f,0xbc,0x3f,0xe6,0xde,0x1b,0xef,
0x7f,0x11,0xfb,0xd8,0xf1,0x5e,0xc1,0x33,0xfa,0x09,0xe5,0x33,0xa3,0x26,0xce,0xdd,
0xbf,0xe9,0xef,0x13,0xee,0x01,0xd6,0xf3,0x64,0xe4,0x5f,0x9a,0x72,0x54,0x79,0xe2,
0xb0,0x6b,0xc4,0x84,0xfc,0xae,0x93,0x2f,0x9e,0x9f,0x72,0xef,0x8f,0x04,0xad,0x75,
0x70,0x3e,0x17,0xdf,0x6f,0x51,0x06,0xfb,0x43,0x41,0x7d,0x40,0xd6,0x45,0x54,0xb6,
0x2f,0xfa,0x46,0x6e,0x44,0x54,0x8e,0xfd,0xf9,0x4f,0xe4,0x7b,0x33,0x51,0xb9,0xe5,
0x08,0xf2,0x1b,0xf1,0xfd,0x26,0x63,0xe2,0xbd,0x6b,0xf4,0x8a,0xfa,0x2d,0x61,0xad,
0x4f,0x62,0x8c,0x15,0xac,0xd3,0x4e,0xa2,0xb2,0xdf,0xc6,0x18,0xd0,0x2b,0x13,0x3d,
0x17,0xc0,0x4d,0xa7,0x5c,0x14,0xff,0x1d,0xd7,0xd8,0x85,0x3c,0x80,0xd7,0x47,0xde,
0xf8,0xde,0x76,0x13,0xfd,0xd6,0x4c,0xa4,0x4f,0xdb,0x77,0xe4,0xb0,0xbb,0xa8,0xdc,
0xf2,0xff,0x99,0x28,0xd6,0x5d,0xb2,0xfc,0x5b,0x4d,0x7c,0x2e,0x5a,0x13,0xd0,0xd9,
0xcb,0x9a,0xb8,0x26,0x8a,0xa3,0x26,0x6e,0x4b,0xb6,0x5e,0xe0,0xd7,0xe3,0xb8,0xcd,
0x1a,0xb8,0xee,0x62,0xdc,0x70,0x31,0x02,0xeb,0xfd,0x00,0x63,0xdc,0x64,0x8c,0x1b,
0x2e,0xc6,0x2d,0x51,0x1c,0x7b,0x66,0xfe,0xf0,0xc4,0xbe,0x94,0xf3,0x00,0x5e,0x63,
0x7e,0x6f,0x31,0xee,0x2f,0x68,0xdb,0x43,0x54,0x0e,0x7e,0xbd,0x1c,0x3f,0xe0,0x3d,
0x71,0x9e,0xe9,0xaf,0x27,0xfd,0xdf,0xe2,0xfe,0x00,0xb7,0xba,0xb9,0x57,0xb2,0x73,
0x64,0x58,0x1f,0x97,0xa3,0x5f,0xb2,0x06,0xfa,0x8a,0xea,0xf6,0x71,0xf1,0x2b,0x44,
0x71,0xc4,0xaf,0x74,0xf1,0x81,0xdf,0x17,0x47,0x25,0xe3,0xdf,0xe7,0xe2,0x3d,0xc0,
0x78,0xe2,0xe2,0x55,0x31,0x9e,0xb8,0x78,0xfd,0x45,0x75,0xab,0xc8,0xdd,0x7c,0x55,
0xba,0xdc,0x3c,0xc8,0xf8,0x58,0x4f,0x7f,0xc6,0x34,0x6e,0x0f,0x89,0xca,0xc1,0x6d,
0xa0,0xe3,0x06,0x7c,0x40,0x1c,0x03,0xe9,0x0f,0xef,0xcd,0xe4,0xf1,0x55,0xae,0xb1,
0xd1,0x71,0x1b,0xe4,0xf6,0xd2,0xb8,0x0d,0x16,0xd5,0x1d,0x44,0x6e,0xe6,0x6b,0xa0,
0xe3,0x56,0xcd,0xf8,0xe0,0x3b,0x98,0x31,0x8d,0xdb,0x23,0xa2,0x72,0x70,0x1b,0xe2,
0xb8,0x01,0x47,0x9f,0x39,0x84,0xfe,0x6a,0x5c,0xde,0x1e,0x73,0x79,0x33,0xbe,0x43,
0x45,0x71,0xcf,0xb7,0x96,0x7c,0x0b,0x8e,0xef,0x30,0x51,0xdd,0x5a,0xf2,0x35,0xff,
0x43,0x1c,0xdf,0xe1,0xe4,0x84,0x35,0x0c,0x23,0x0f,0xf0,0x1b,0xe9,0xf8,0x41,0x67,
0x44,0x1c,0x23,0x69,0x3f,0x22,0x57,0x57,0xc0,0xd7,0xc6,0x98,0x38,0x07,0xf5,0xee,
0x3c,0xd5,0xc7,0xd3,0x88,0xbb,0x6b,0x7c,0xee,0xac,0xe2,0x6e,0xab,0xe5,0x79,0x05,
0xf7,0x09,0xd4,0x41,0xdc,0x87,0x43,0xf1,0xbd,0x50,0x16,0x34,0x06,0x9e,0xb6,0xd6,
0xf2,0xa0,0x71,0xf0,0xb7,0x81,0xd8,0x5d,0x41,0x71,0xf8,0x32,0xac,0x6b,0x50,0xbc,
0x2e,0x51,0x2e,0xf8,0x6e,0x7c,0x21,0x14,0x73,0x99,0x44,0x3d,0xfb,0x76,0x74,0x0b,
0xaa,0xb3,0x99,0x3e,0xee,0x76,0x3e,0x2c,0xaf,0x5f,0x0a,0x8a,0xd7,0xf2,0xde,0x18,
0x18,0xb2,0x5c,0x41,0xd6,0x23,0x8e,0x7b,0xc8,0x1b,0x4f,0xb3,0xbb,0x97,0x76,0x8d,
0xb4,0x1b,0xe0,0xec,0x20,0xeb,0x1d,0x47,0x05,0xed,0x2a,0x9c,0x5d,0x25,0xed,0xe6,
0xd2,0xee,0x21,0x67,0x07,0xd9,0xfd,0x71,0x54,0xd1,0xae,0xca,0xe5,0xe9,0xc1,0xa0,
0xeb,0x29,0xf0,0x6e,0x78,0x98,0x3a,0xf7,0x3b,0x9d,0x7e,0xd4,0x09,0x39,0x1d,0xc4,
0xb8,0x1d,0xab,0x0e,0xef,0xbd,0x9d,0x7e,0x5f,0xea,0x4b,0x4e,0x7f,0x80,0xd3,0xef,
0xe1,0xf4,0x7b,0x51,0x3f,0xc9,0xe9,0x0f,0x74,0xfa,0xc0,0x3e,0x4d,0xff,0xfb,0x4d,
0x92,0x63,0x41,0x79,0x63,0x1d,0xfd,0xb8,0xb6,0xbe,0xcc,0x4d,0x2f,0xe6,0xd6,0x7c,
0x4f,0x75,0x35,0x6f,0xd8,0x53,0xee,0x9b,0xb2,0x96,0xd8,0x34,0x51,0x5d,0xc8,0x7e,
0xc5,0x9c,0x3e,0x2d,0x1a,0x6b,0x1a,0xeb,0x6e,0xba,0xab,0x77,0xc8,0x9e,0x89,0x63,
0x3a,0xeb,0xfd,0x19,0x77,0x1e,0xbf,0x2d,0x5a,0x7b,0xfe,0x3c,0xce,0x10,0xc5,0xeb,
0x78,0xaf,0xc0,0xff,0x4c,0x51,0x7c,0x1a,0xcf,0x8a,0xf9,0x9a,0xee,0xce,0xde,0x2c,
0x51,0x1e,0x58,0xff,0x4c,0xc6,0x04,0x97,0x39,0x8e,0x0b,0x74,0x66,0xc7,0x31,0x87,
0xf6,0xb3,0x1d,0x97,0xe7,0x1c,0x17,0xbb,0x2b,0xe7,0x8b,0x9e,0x03,0xc8,0x8e,0x11,
0xfb,0x8e,0x28,0xde,0xe8,0x6a,0x78,0x81,0x28,0x5e,0xcb,0x7d,0x31,0xff,0x73,0x1c,
0xbf,0x85,0xa2,0x1c,0xc1,0x79,0x01,0x79,0x58,0xec,0x45,0x2e,0xb6,0xe5,0x79,0x31,
0xd7,0x0b,0xd9,0x01,0xc6,0x59,0x2a,0x8a,0x23,0xd7,0xf6,0x1d,0x5c,0x26,0xea,0xfb,
0xe7,0xd4,0x79,0x5e,0x54,0x6f,0x19,0xd7,0xdf,0xe4,0xd6,0x0f,0xd9,0xf2,0x38,0x9a,
0xc8,0x6f,0x39,0x7b,0x00,0xf4,0xc0,0x3f,0xcc,0x7d,0x57,0x4a,0xd9,0x3b,0xa2,0xe7,
0x79,0x81,0xf2,0x29,0xf1,0x54,0xe3,0xff,0x90,0x41,0x41,0xfb,0xa0,0x23,0x21,0xeb,
0x01,0x02,0xeb,0x06,0xfd,0xef,0xe0,0xa0,0x36,0x85,0xf4,0xff,0x28,0xc5,0xaa,0x83,
0xfe,0x4f,0x00,0xd9,0xd6,0x88,0xc1,0xcf,0x23,0x41,0x7d,0x41,0x66,0xbe,0x6b,0x68,
0xfb,0x82,0x14,0xfb,0x36,0x9b,0x47,0x83,0xea,0xc0,0xcf,0x1a,0x62,0x8f,0x05,0xf5,
0xf5,0x68,0xc8,0x38,0x0c,0x25,0x3f,0x70,0x78,0x89,0xd8,0xb0,0xa0,0x78,0xb5,0xd3,
0x1b,0x1e,0xd4,0x3e,0x71,0xfc,0x47,0x10,0x13,0x87,0x8d,0x24,0x06,0xd5,0xa9,0xf6,
0x3f,0x47,0x50,0x7b,0xe8,0x43,0x0e,0xff,0xd8,0x7f,0xcb,0x6f,0x93,0x64,0x7d,0xe3,
0x79,0xf2,0x41,0x4d,0xc0,0x6e,0x79,0xee,0xbb,0xaf,0x7d,0x64,0x79,0xaa,0x7b,0x8e,
0xba,0xe8,0x39,0xea,0x78,0x5f,0xc0,0xbe,0x49,0x8a,0xfb,0xd2,0x9b,0xac,0xb7,0x95,
0x8c,0xb7,0xd2,0xc5,0x7b,0x83,0x3e,0xa0,0x73,0x21,0x3e,0x9b,0x25,0xeb,0x53,0x0f,
0x07,0xed,0x7f,0x21,0x7b,0x59,0x54,0x66,0x7d,0xea,0x3a,0x51,0xb9,0xf5,0xa9,0xab,
0x29,0xb7,0x1a,0x82,0x7c,0x55,0x1c,0xab,0x19,0x13,0xef,0xd6,0xa7,0x6e,0x70,0x7d,
0xea,0x61,0xd7,0xa7,0x6e,0x14,0x95,0x59,0x9f,0xba,0x99,0xf5,0xb5,0xd1,0xf5,0xa9,
0x5b,0x44,0x71,0x3b,0x7b,0x2f,0x93,0xc7,0x16,0xd7,0xa7,0x6e,0x13,0xfd,0x6d,0x61,
0x22,0x7d,0xfa,0x3e,0x75,0xbb,0xa8,0xdc,0x7a,0xc8,0x27,0x82,0x62,0xdb,0x3b,0xe8,
0x53,0x47,0x05,0xbd,0x57,0xa1,0x63,0x3d,0xe4,0xe8,0xa0,0x38,0xce,0xcc,0x38,0x77,
0x27,0x00,0xaf,0x8f,0x63,0x1c,0xbf,0xb5,0xf5,0x21,0x8b,0x31,0xc6,0xc5,0xc8,0xf7,
0xa9,0x63,0x19,0x63,0x8c,0x8b,0xd1,0x10,0x14,0xc7,0x9e,0x99,0xbf,0x71,0x21,0xfb,
0x46,0x8c,0x0f,0xca,0x03,0x39,0x6d,0x60,0x5c,0x3b,0xe7,0xaf,0x8a,0xca,0xc1,0x6f,
0xa7,0xdb,0x0f,0xe0,0x3b,0xe2,0xd8,0xc9,0xfd,0xd8,0xc1,0x1a,0x69,0xe6,0x7c,0xa7,
0xeb,0x27,0x5a,0x25,0x5b,0xb7,0xe5,0xf4,0xa7,0xb9,0x9c,0x36,0x48,0x96,0xd3,0xd7,
0x44,0xe5,0xb6,0xde,0xd7,0x45,0xb1,0xd7,0x5c,0x4e,0xed,0x1b,0xf6,0x33,0xe2,0xc1,
0x61,0xfb,0x9c,0xae,0x61,0x53,0x82,0xf2,0xf0,0xfd,0xc6,0xd4,0xa0,0xf8,0x3e,0xd7,
0x6f,0x3c,0x15,0x14,0xaf,0x73,0x7a,0xdf,0x08,0x8a,0xfb,0x1e,0xe4,0x9b,0xa1,0x98,
0xff,0x24,0xea,0xd9,0x1a,0xbe,0x15,0x54,0xc7,0x7a,0x90,0xa7,0x9d,0x0f,0xfb,0x7e,
0x4f,0x0f,0x8a,0x5b,0x0f,0xb2,0xc4,0xed,0x3f,0x64,0x8d,0x71,0x3c,0xcb,0xfd,0x7a,
0xd6,0xf5,0x12,0xb3,0x68,0x67,0x3d,0xc8,0x62,0x67,0x07,0xd9,0xec,0x38,0xe6,0xd1,
0x6e,0x9e,0xb3,0x7b,0x8e,0x76,0xd6,0x83,0x2c,0x72,0x76,0x90,0xcd,0x8f,0x63,0x21,
0xed,0x16,0xba,0x3b,0xfa,0xbb,0x41,0xd7,0x63,0x3d,0xc8,0x22,0xea,0xcc,0x77,0x3a,
0x0b,0xa8,0x13,0x72,0x3a,0x8b,0x42,0x76,0xfe,0xdb,0x82,0xfa,0x82,0xef,0x05,0x8c,
0x07,0xdd,0xc5,0xd4,0x9d,0xed,0xfc,0xcd,0xa5,0x3f,0xeb,0x51,0x4c,0x67,0xb1,0xf3,
0x77,0x34,0xa8,0x4f,0xc4,0x98,0xcb,0x75,0x43,0x77,0x09,0x75,0x1b,0x9d,0xbf,0x19,
0xf4,0x67,0x3d,0x8c,0xe9,0x2c,0x71,0xfe,0xde,0x0a,0xea,0x13,0x31,0x66,0x30,0xff,
0xb6,0x7f,0xdf,0x73,0x75,0xb1,0x9e,0xd8,0xb2,0xa0,0xf8,0xd2,0xf4,0x77,0x27,0xc5,
0x9a,0x82,0xfa,0x81,0xcc,0xee,0xee,0xef,0x07,0xc5,0x9b,0x92,0xec,0x4e,0xfd,0xb5,
0x28,0xbe,0x9f,0xf7,0xe5,0x41,0x77,0xb6,0x20,0x3b,0x10,0xc7,0x41,0x9e,0x25,0xbc,
0x6f,0xe6,0x59,0x7a,0x91,0x75,0xfc,0xba,0x64,0xdc,0x56,0x04,0xf5,0x35,0xc6,0xd5,
0xec,0x4a,0x87,0x4d,0xa5,0xed,0xaa,0xa0,0xba,0x90,0xad,0x27,0xb6,0x3a,0xa8,0xaf,
0x55,0xac,0x5d,0xfc,0x16,0xd9,0x1c,0xf4,0x77,0xc8,0x66,0xea,0xac,0x0b,0xaa,0xf7,
0x62,0xc8,0x7e,0xf3,0x58,0x1f,0x14,0x5f,0xc1,0xdf,0xba,0x5e,0x0a,0x7a,0x16,0x9f,
0xe4,0xb7,0x76,0x43,0x50,0x1d,0x3b,0x83,0xc0,0x36,0x12,0x93,0x94,0x53,0x69,0xfa,
0x7b,0xe6,0xa6,0xa0,0xba,0x90,0xc1,0xc7,0x4c,0xde,0x23,0x9b,0x83,0xf2,0xd8,0x14,
0x8a,0x7f,0x43,0xc1,0x9d,0xb8,0x25,0xa8,0x3c,0x49,0xb2,0x3e,0xe2,0x48,0xee,0x7b,
0xe2,0xfb,0x88,0x37,0x29,0xb7,0xfb,0xf3,0xa8,0xa8,0x0f,0x3f,0xba,0xc6,0x53,0x0b,
0x59,0x1b,0xef,0x92,0x6a,0xfe,0xde,0x06,0xdb,0xa3,0xae,0x07,0xf9,0x71,0xd0,0x3b,
0xee,0x8d,0x3b,0xf4,0x20,0x5b,0x83,0xfa,0xf0,0x3d,0xc8,0x36,0xf6,0x20,0x5b,0x5d,
0x0f,0xb2,0x3d,0xa8,0xaf,0x6d,0xae,0x07,0xf9,0x09,0x6d,0xdb,0xee,0xd0,0x83,0xbc,
0x12,0x54,0x67,0xab,0xeb,0x41,0x5e,0x0d,0xea,0xeb,0x15,0xd7,0x5b,0xec,0x20,0x3f,
0xdf,0x83,0xb4,0x04,0xc5,0xb7,0x39,0xbd,0xdd,0x41,0xed,0x7d,0x0f,0xb2,0x87,0x98,
0xef,0x41,0xf6,0x12,0xf3,0x3d,0x48,0x6b,0x50,0x7b,0xe8,0x43,0xde,0xc2,0xb3,0x67,
0x35,0x7b,0xd0,0xf5,0x04,0x17,0xc9,0x07,0x67,0x0d,0x76,0x07,0x72,0x77,0x45,0xb3,
0xd3,0xbd,0x40,0x5d,0xdc,0x27,0xb0,0x3b,0x28,0xc5,0xbd,0xc6,0x6a,0xc9,0x78,0x1d,
0x93,0x6c,0x9d,0xbf,0xe1,0xb9,0xfa,0xbd,0x28,0xde,0xc6,0x6f,0xdc,0x71,0x77,0xae,
0x20,0x7b,0x3b,0x8e,0xe3,0xf4,0xf5,0xb6,0xdb,0xd7,0x3f,0x4a,0xc7,0xfb,0x7a,0x88,
0x7e,0xff,0x44,0xbf,0xe7,0xe9,0xf7,0x84,0xf3,0x0b,0xd9,0xbb,0x71,0x9c,0xa0,0xdf,
0x77,0xed,0xf7,0x4f,0xfc,0xdf,0xcf,0xdf,0x59,0xed,0xdc,0x7c,0xc0,0xbb,0x70,0x4e,
0xf4,0x8b,0xf5,0xb6,0x53,0xe7,0x03,0xc7,0xe5,0x43,0x51,0xbc,0xfd,0x0e,0x75,0x70,
0x5a,0x54,0x07,0x7c,0xac,0x0e,0xce,0x88,0xae,0xe1,0x34,0xf3,0x65,0x5c,0x4e,0x30,
0xb7,0xd0,0x79,0x33,0xa8,0x0e,0xd6,0x7d,0x86,0x9c,0x8d,0xe7,0x47,0x39,0x9e,0xff,
0x20,0x4f,0xcb,0xf5,0x39,0x51,0x7b,0x5f,0x2b,0xe7,0x89,0xf9,0x5a,0xb9,0x40,0xcc,
0xd7,0xca,0x45,0x51,0x7b,0xe8,0x5f,0xe0,0xde,0xcc,0x8d,0x71,0x10,0x13,0x71,0x2e,
0x92,0xb3,0xed,0xcb,0x71,0x29,0xfe,0x9d,0x16,0xcf,0x9b,0x31,0xca,0xf0,0x38,0xfe,
0x07,0xb7,0x27,0x57,0x70,0x7c,0x1d,0x00,0x00
0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x75,0x58,0x7b,0x90,0x97,0x55,
0x19,0xfe,0xde,0xf3,0x5b,0x96,0x5d,0x97,0x20,0x53,0x32,0x15,0x48,0x16,0x0c,0xe3,
0xb2,0x2d,0x23,0x2c,0xea,0x86,0xb8,0x40,0x2c,0x34,0x18,0x97,0xa5,0x99,0x84,0x0a,
0x01,0xcb,0x60,0xc4,0x76,0x80,0x35,0x98,0x16,0x58,0x2e,0x6a,0x20,0x5e,0xa6,0x04,
0x16,0x04,0x64,0xa4,0x09,0x93,0x86,0xe0,0xbf,0xc6,0x66,0x2a,0x99,0x26,0x83,0x20,
0x18,0x93,0x8b,0x91,0xc5,0x2d,0x03,0x95,0x10,0x2a,0xe5,0xaa,0x9d,0xe7,0x7b,0x9f,
0x97,0xef,0xfd,0x7d,0xb3,0xfc,0x66,0xce,0x7c,0xdf,0x79,0xde,0xdb,0x73,0xce,0x79,
0xcf,0x39,0xef,0xef,0x2b,0x84,0x1e,0xed,0x93,0x44,0x92,0xeb,0x92,0xb2,0xe4,0x33,
0x85,0x24,0xfd,0x5d,0x9f,0x84,0x88,0x24,0x49,0x45,0x52,0x9a,0x3e,0xeb,0x47,0x37,
0x8c,0xae,0x9a,0x3d,0xe7,0xa1,0xaa,0x01,0x03,0xab,0x21,0xef,0x98,0xa8,0x22,0x64,
0x9d,0x92,0xf6,0x49,0xbb,0xf8,0x2c,0x89,0x6d,0xe6,0x94,0xe9,0x8f,0x02,0x3f,0x18,
0xdb,0x99,0xd8,0x3e,0x1d,0xed,0x4b,0x52,0x7f,0x49,0xf4,0xae,0x2d,0xf5,0x17,0xd1,
0xfb,0xe2,0xb3,0x34,0xd5,0x49,0x92,0x91,0xd1,0x43,0x9d,0x86,0x4e,0x7a,0xf0,0x69,
0x98,0x10,0xf3,0x7a,0x81,0xd8,0x6d,0x0e,0x2b,0x10,0xab,0xa6,0xff,0x61,0xf4,0x5f,
0x2d,0xaa,0x33,0x3c,0xe7,0xbf,0x3e,0x5a,0x0c,0xa7,0x2f,0xe8,0x8f,0x88,0xcf,0xca,
0xab,0x32,0xed,0x77,0x77,0x7c,0x97,0xe4,0xe4,0x4b,0x28,0x2f,0x61,0x7f,0x75,0x6e,
0x3c,0xad,0x6d,0x8c,0xa7,0xb5,0x8d,0xf1,0xb4,0xb6,0x31,0x9e,0xd6,0x36,0xc6,0xb3,
0x26,0x37,0x9e,0xb5,0x6d,0x8c,0x67,0xad,0x1b,0xcf,0xba,0x1c,0xdf,0x75,0xe4,0x6b,
0xf2,0x83,0xe9,0xfa,0x26,0x49,0x17,0xc6,0x3c,0xdc,0x06,0xdf,0xc3,0x8e,0x6f,0x19,
0x63,0x1c,0x76,0x3e,0x4e,0xe7,0x62,0x9c,0x66,0x8c,0x02,0xfb,0x67,0x18,0xe3,0x16,
0xf6,0xdf,0x91,0x62,0x7d,0xf4,0xbb,0xbb,0xfe,0x45,0x51,0xfd,0x9b,0x63,0xbb,0x21,
0x46,0x09,0xa9,0xbf,0x42,0xea,0x0f,0xef,0x9d,0xa3,0x4e,0x29,0xe7,0x09,0xbf,0x9b,
0x62,0xbf,0x3d,0xe7,0x25,0xb0,0x5f,0xc6,0x3e,0xd6,0xe5,0xc6,0x88,0x96,0xc7,0xe7,
0x67,0xa3,0x87,0xce,0xb4,0x83,0x4e,0x65,0xea,0x4b,0x75,0xd0,0xff,0x62,0x7c,0x96,
0xd3,0x47,0x1f,0xc6,0xa8,0x61,0x0c,0xeb,0xd7,0x52,0xdf,0xfa,0x43,0xb8,0x86,0x5d,
0x98,0xcb,0x65,0xc4,0xba,0x45,0x69,0x1d,0xfb,0x95,0x7c,0xde,0xe7,0xec,0x86,0x92,
0x47,0x17,0xe6,0x68,0x1d,0xb1,0x6e,0xcc,0xc7,0x61,0xa9,0xbc,0x24,0xf9,0x0a,0xf9,
0x0c,0x4f,0x63,0x6b,0x7f,0x84,0x9b,0x87,0x7a,0xfa,0x11,0xfa,0xae,0x4f,0xd7,0x2c,
0xe3,0x8c,0xfe,0x28,0xae,0x05,0xfc,0x8d,0xa6,0x6d,0x99,0xe3,0x32,0xc9,0xd9,0xa3,
0x3f,0x2d,0x37,0x07,0x8d,0x39,0xfd,0xa6,0xd8,0x3e,0x49,0xd7,0xa7,0x3c,0x59,0xc4,
0x39,0x14,0xc6,0xcc,0x3f,0x11,0x73,0x31,0xdf,0x17,0x71,0x0c,0xe8,0x2f,0x71,0x6b,
0xf7,0xa3,0x74,0xdd,0xb3,0xb5,0x7b,0x8a,0xfd,0x02,0xe7,0x67,0x75,0x6e,0x5e,0x5b,
0x73,0xf3,0xba,0x9a,0x7a,0xd8,0x1b,0xad,0x6e,0x1e,0xb1,0x0f,0xd6,0x90,0xc3,0x0b,
0xf4,0xbf,0x96,0x1c,0xd0,0x5f,0xe7,0x62,0xfe,0x8e,0xe3,0x28,0x70,0x9c,0x78,0xdf,
0x91,0x32,0x6c,0x19,0x02,0xf9,0x7e,0xe6,0x93,0xcd,0xe3,0x01,0x8e,0x71,0x3f,0xfd,
0x1d,0xe0,0x79,0x27,0x69,0xec,0x92,0x74,0x7f,0x58,0x4e,0x42,0xff,0x6f,0xcc,0xad,
0xc3,0xd4,0x47,0xff,0x6d,0x62,0x90,0xff,0x9d,0xef,0xed,0x5d,0xfc,0x93,0x9c,0xa3,
0xbe,0x11,0xc5,0x58,0x4f,0x11,0xb3,0xb6,0x83,0x6b,0xf0,0x1e,0xe3,0xd8,0x9c,0x27,
0x6d,0xac,0xc1,0xfb,0x7c,0x7f,0x8f,0xf1,0xd1,0x3f,0x4d,0xcc,0xf8,0x9f,0xc9,0xe5,
0x51,0xa9,0x68,0xdf,0xe2,0xd7,0x4a,0x71,0xfc,0x93,0x4e,0x77,0xb8,0xe8,0x5c,0xa6,
0x39,0xcb,0x77,0x1b,0xfb,0x0f,0xd8,0xaf,0x74,0x39,0xb4,0x35,0x62,0x0f,0xba,0xb1,
0xbe,0x1a,0xfb,0x7b,0x76,0xef,0xbe,0xd7,0x62,0xfd,0x3a,0x17,0x0b,0x72,0xf8,0xfa,
0x93,0xe8,0x3c,0x95,0x72,0xec,0x27,0xa4,0x38,0xff,0xec,0x17,0x88,0xc1,0xe6,0x9f,
0x14,0x42,0xb7,0x96,0xfd,0x77,0xc4,0xe6,0xb6,0x34,0x5d,0x43,0x9c,0x39,0x8d,0xcc,
0x75,0xec,0x87,0xaa,0xb8,0xd2,0x58,0x8b,0xeb,0x0b,0x38,0x03,0xda,0xa5,0xfe,0x4a,
0xe8,0x1b,0x39,0x70,0x3e,0x22,0xb8,0xef,0x3e,0x8a,0xbd,0x4b,0xf4,0x75,0x29,0xbe,
0xe3,0xbc,0xb8,0x2c,0x2a,0xc7,0x73,0x30,0x73,0xe7,0x10,0xf3,0x63,0x4c,0xf4,0x0a,
0xbf,0x6f,0x11,0x3b,0xe4,0xd6,0xaa,0x2e,0x7a,0x44,0x1e,0xfc,0x83,0xb9,0x81,0x7d,
0x3c,0x98,0x67,0xdb,0x11,0xe2,0x5b,0xa3,0x0e,0xce,0xa9,0xa3,0xf4,0x71,0x24,0xcd,
0xe9,0x92,0x74,0x4e,0x8e,0x11,0x07,0xa7,0x13,0xf4,0x7b,0x31,0xca,0x80,0x1f,0xc7,
0xf8,0xc9,0x1b,0xef,0x17,0xe2,0xf3,0x12,0x79,0x9e,0x60,0x1c,0xe4,0xc6,0xbf,0x99,
0x17,0xc6,0xfb,0x03,0xe6,0x85,0xf1,0x3e,0x4b,0xec,0x03,0xc7,0xbb,0x99,0x7b,0xf8,
0x1c,0xe5,0x93,0xa3,0x26,0xf6,0xe5,0x7f,0xe8,0xef,0x1c,0xd7,0x03,0xe3,0x19,0x17,
0xf9,0x97,0xa6,0x1c,0x55,0x9e,0x38,0xec,0x22,0x31,0x31,0x7e,0xe4,0x8b,0xe7,0xff,
0x98,0x17,0xfb,0x82,0xee,0x03,0x70,0x2e,0xc4,0x85,0xf8,0x98,0x32,0xd8,0xef,0x0e,
0xea,0x03,0xb2,0x0a,0x51,0xd9,0x96,0xe8,0x1b,0x73,0x23,0xa2,0x72,0xac,0xcf,0x87,
0x91,0xef,0x95,0x44,0xe5,0x36,0x47,0x90,0x5f,0x8e,0xef,0x57,0x18,0x13,0xef,0x1d,
0xa2,0x57,0xe4,0x76,0x09,0xf7,0xc1,0x28,0xc6,0x68,0x66,0x0e,0xb7,0x13,0x95,0xfd,
0x3e,0xc6,0x80,0x5e,0x99,0xe8,0x9e,0x01,0x6e,0x3a,0xe5,0xa2,0xf8,0x1f,0x38,0xc6,
0x0a,0xf2,0x00,0x5e,0x17,0x79,0xe3,0x3c,0xee,0x28,0x7a,0x16,0x8d,0xa4,0x4f,0x5b,
0x77,0xcc,0x61,0x27,0x51,0xb9,0xcd,0x7f,0xfb,0xa0,0x58,0x27,0xc9,0xe6,0xdf,0x72,
0xa2,0x2c,0x68,0x4e,0x40,0xe7,0x05,0xe6,0x44,0x79,0x50,0x1c,0x39,0xd1,0x31,0x64,
0xe3,0x05,0x7e,0x5d,0x6c,0xc0,0x30,0x5e,0xbc,0x5b,0x8c,0x0a,0x17,0x23,0x30,0xdf,
0xb7,0x31,0x46,0x07,0xc6,0xa8,0x70,0x31,0x3e,0x15,0x14,0xc7,0x9a,0x99,0x3f,0x3c,
0xb1,0x2e,0x90,0x77,0x0a,0xca,0xe3,0x32,0x75,0x11,0xeb,0x65,0xda,0xde,0x20,0x2a,
0x07,0xbf,0xce,0x92,0xf1,0x03,0x7e,0x23,0xf6,0x36,0x73,0x14,0xef,0xf0,0xff,0x31,
0xd7,0x07,0xb8,0xe5,0xcd,0xe7,0x24,0xdb,0x47,0x86,0xdd,0xe2,0xe6,0xe8,0x15,0xe6,
0xc0,0xad,0xa2,0xba,0x90,0x59,0xfc,0x2e,0xa2,0x38,0xe2,0x77,0x73,0xf1,0x81,0x77,
0x8d,0xad,0x1b,0xe3,0x77,0x75,0xf1,0x6e,0x63,0x3c,0x71,0xf1,0x2a,0x19,0x4f,0x5c,
0xbc,0x1e,0xa2,0xba,0x95,0xe4,0x6e,0xbe,0xf0,0xb4,0xb9,0xe9,0xc9,0xf8,0x18,0x4f,
0x0f,0xc6,0x34,0x6e,0xb7,0x8b,0xca,0xc1,0xad,0x97,0xe3,0x06,0xfc,0x0b,0xb1,0xf5,
0xa2,0x3f,0xbc,0xb7,0x90,0x47,0x6f,0x8e,0x71,0x92,0xe3,0xd6,0xd7,0xad,0xa5,0x71,
0xeb,0x27,0xaa,0xdb,0x97,0xdc,0xcc,0x57,0x2f,0xc7,0xad,0x8a,0xf1,0xc1,0xb7,0x1f,
0x63,0x1a,0xb7,0x2f,0x89,0xca,0xc1,0xad,0xbf,0xe3,0x06,0x1c,0xb5,0x69,0x7f,0xfa,
0xab,0x76,0xf3,0x76,0xa7,0x9b,0x37,0xe3,0x3b,0x40,0x14,0xf7,0x7c,0x6b,0xc8,0xb7,
0xe0,0xf8,0x0e,0x12,0xd5,0xad,0x21,0x5f,0xf3,0xdf,0xdf,0xf1,0xbd,0x8b,0x9c,0x30,
0x86,0x41,0xe4,0x01,0x7e,0xf7,0x38,0x7e,0xd0,0xb9,0x3b,0xb6,0x7b,0x68,0x7f,0x77,
0x2e,0xaf,0x80,0x2f,0x8e,0x31,0xb1,0x0f,0xea,0x24,0xdb,0x4f,0x75,0x71,0x37,0xe2,
0x5e,0x1b,0x91,0xdb,0xab,0xb8,0xf7,0x6a,0xb8,0x5f,0xc1,0xbd,0x9e,0x3a,0x88,0x3b,
0x28,0x14,0xdf,0x0b,0x37,0x71,0x6f,0xe0,0x79,0x35,0x77,0x83,0xc6,0xc1,0xef,0x09,
0x62,0x37,0x07,0xc5,0xe1,0xcb,0xb0,0x5b,0x83,0xe2,0xb5,0x89,0x72,0xc1,0xb9,0xd1,
0x25,0x14,0x73,0x19,0x45,0x3d,0x3b,0x3b,0xba,0x06,0xd5,0x59,0x46,0x1f,0x9f,0x77,
0x3e,0x6c,0x5e,0xbb,0x07,0xc5,0x6b,0x78,0x6f,0xd4,0xb8,0x33,0x02,0xb2,0xca,0xd8,
0x6e,0x27,0x6f,0x3c,0xcd,0xae,0x17,0xed,0x26,0xd1,0x6e,0xa0,0xb3,0x83,0xec,0x8e,
0xd8,0xfa,0xd0,0xae,0x8f,0xb3,0xeb,0x47,0xbb,0x69,0xb4,0x1b,0xe0,0xec,0x20,0xab,
0x8a,0xad,0x3f,0xed,0xfa,0xbb,0x79,0xba,0x33,0xe8,0x78,0x0a,0xbc,0x1b,0x06,0x51,
0xa7,0xca,0xe9,0x54,0x53,0x27,0xe4,0x74,0x10,0xe3,0x93,0x98,0x75,0x78,0xbf,0xc3,
0xe9,0xf7,0xa6,0xbe,0xe4,0xf4,0x07,0x3a,0xfd,0x4a,0xa7,0xdf,0x93,0xfa,0x49,0x4e,
0xbf,0xc6,0xe9,0x0f,0x4a,0xcf,0xbd,0x8a,0x54,0xff,0x78,0x50,0xde,0x18,0x47,0x35,
0xc7,0xd6,0x9b,0x73,0xd3,0x93,0x73,0x6b,0xbe,0xc7,0xba,0x9c,0x37,0x6c,0xbc,0x3b,
0x53,0x16,0x13,0x6b,0x10,0xd5,0x85,0xec,0x17,0x9c,0xd3,0x6f,0x88,0xc6,0x6a,0x60,
0xde,0x4d,0x74,0xf9,0x0e,0xd9,0x03,0xb1,0x4d,0x64,0xbe,0x3f,0xe0,0xf6,0xe3,0x37,
0x45,0x73,0xcf,0xef,0xc7,0x6f,0x89,0xe2,0xb5,0xbc,0x57,0xe0,0x7f,0xb2,0x28,0xde,
0xc0,0xbd,0x62,0xbe,0x26,0xba,0xbd,0xf7,0xa0,0x28,0x0f,0x8c,0x7f,0x32,0x63,0x82,
0xcb,0x54,0xc7,0x05,0x3a,0x53,0x62,0x9b,0x4a,0xfb,0x29,0x8e,0xcb,0x77,0x1d,0x17,
0xbb,0x2b,0x1f,0x16,0xdd,0x07,0x90,0xbd,0x4e,0xec,0x7b,0xa2,0xf8,0x24,0x97,0xc3,
0xd3,0x45,0xf1,0x1a,0xae,0x8b,0xf9,0x9f,0xea,0xf8,0xcd,0x10,0xe5,0x08,0xce,0xd3,
0xc9,0xc3,0x62,0xcf,0x74,0xb1,0x6d,0x9e,0x1f,0xe5,0x78,0x21,0xdb,0xc6,0x38,0x8d,
0xa2,0xf8,0x71,0x77,0x7f,0xcd,0x12,0xf5,0xbd,0x99,0x3a,0xb3,0x45,0xf5,0x66,0x71,
0xfc,0x4d,0x6e,0xfc,0x90,0xcd,0x89,0xad,0x89,0xfc,0xe6,0xb0,0x06,0x40,0x7d,0x3c,
0x37,0x77,0xae,0x94,0xb2,0x76,0x44,0xcd,0x33,0x8f,0xf2,0x31,0x71,0x57,0xe3,0x7f,
0x4a,0x6d,0xd0,0x3a,0x68,0x5f,0xc8,0x6a,0x80,0xc0,0xbc,0x41,0x2d,0xfc,0xe5,0xa0,
0x36,0x85,0xf4,0x7f,0x96,0x62,0x83,0x83,0xfe,0x5f,0x80,0xec,0x99,0x88,0xc1,0xcf,
0xbd,0x41,0x7d,0x0d,0x0e,0x99,0xef,0x21,0xb4,0x9d,0x27,0xc5,0xbe,0xcd,0xa6,0x2e,
0xa8,0x0e,0xfc,0x2c,0x22,0x36,0x34,0xa8,0xaf,0xba,0x90,0x71,0x18,0x46,0x7e,0xe0,
0xf0,0x38,0xb1,0x11,0x41,0xf1,0xc1,0x4e,0xaf,0x3e,0xa8,0x7d,0xe2,0xf8,0x8f,0x24,
0x26,0x0e,0x1b,0x45,0x0c,0xaa,0x63,0x59,0x0b,0x7e,0x35,0xa8,0x3d,0xf4,0x21,0x1f,
0xc1,0x1a,0xc4,0xe6,0xb7,0x49,0xb2,0xba,0xb1,0xa4,0xa0,0x7c,0x90,0x13,0xb0,0x9b,
0x93,0x3b,0xf7,0xb5,0x8e,0x2c,0x4f,0x75,0x0b,0xd4,0x45,0xcd,0x51,0xcb,0xfb,0x02,
0xf6,0x4d,0x52,0x5c,0x97,0x5e,0x61,0xbe,0xcd,0x67,0xbc,0xf9,0x2e,0xde,0x5e,0x8e,
0x1f,0x3a,0xed,0xa2,0x6d,0x8b,0x64,0x75,0xea,0x9e,0xa0,0xf5,0x2f,0x64,0x2b,0x44,
0x65,0x56,0xa7,0x2e,0x11,0x95,0x5b,0x9d,0xba,0x90,0x72,0xcb,0x21,0xc8,0x17,0xc4,
0xb6,0x90,0x31,0xf1,0x6e,0x75,0xea,0x13,0xae,0x4e,0xdd,0xe3,0xea,0xd4,0x27,0x45,
0x65,0x56,0xa7,0x2e,0x63,0x7e,0x3d,0xe9,0xea,0xd4,0xe5,0xa2,0xb8,0xed,0xbd,0x15,
0xe4,0xb1,0xdc,0xd5,0xa9,0xcf,0x8a,0x7e,0x7b,0x18,0x49,0x9f,0xbe,0x4e,0x7d,0x4e,
0x54,0x6e,0x35,0xe4,0xfd,0x41,0xb1,0xe7,0xda,0xa8,0x53,0xbf,0xc6,0x1a,0xf2,0x7e,
0x57,0x43,0x8e,0x09,0x8a,0x63,0xcf,0x4c,0x70,0x77,0x02,0xf0,0xb1,0xb1,0x4d,0xe0,
0x59,0x3b,0xd6,0xd5,0xa9,0xe3,0x5c,0x8c,0x7c,0x9d,0x3a,0x9e,0x31,0xc6,0xb9,0x18,
0x0d,0x41,0x71,0xac,0x99,0xf9,0x9b,0xe0,0xea,0xd4,0xaf,0x07,0xe5,0x81,0x39,0x6d,
0x60,0x5c,0xdb,0xe7,0xcf,0x8b,0xca,0xc1,0x6f,0x95,0x5b,0x0f,0xe0,0x2b,0x63,0x5b,
0xc5,0xf5,0x58,0xc9,0x1c,0x69,0x61,0x7f,0x95,0xab,0x27,0xd6,0x49,0x36,0x6e,0x9b,
0xd3,0x17,0x73,0x73,0x3a,0x5c,0xb2,0x39,0xdd,0x28,0x2a,0xb7,0xf1,0x6e,0x12,0xc5,
0x36,0xba,0x39,0xb5,0x33,0xec,0x67,0xc4,0x83,0xc3,0xb6,0x38,0x5d,0xc3,0xbe,0x1d,
0x94,0x87,0xaf,0x37,0x26,0x07,0xc5,0xb7,0xb8,0x7a,0x63,0x4a,0x50,0xbc,0xd6,0xe9,
0x4d,0x0b,0x8a,0xfb,0x1a,0xe4,0xa1,0x50,0xcc,0x7f,0x14,0xf5,0x6c,0x0c,0xdf,0x09,
0xaa,0x63,0x35,0xc8,0xc3,0xce,0xc7,0xd5,0xf3,0x3b,0x28,0x6e,0x35,0xc8,0x02,0xb7,
0xfe,0x90,0xcd,0x88,0x6d,0x26,0xd7,0x6b,0xa6,0xab,0x25,0xbe,0x4f,0x3b,0xab,0x41,
0xe6,0x3b,0x3b,0xc8,0x1a,0x63,0x9b,0x4d,0xbb,0xd9,0xce,0xae,0x89,0x76,0x56,0x83,
0x34,0x3b,0x3b,0xc8,0x1e,0xc3,0x19,0x48,0xbb,0x79,0xee,0x8e,0xfe,0x61,0xd0,0xf1,
0x58,0x0d,0xd2,0x4c,0x9d,0xc7,0x9c,0xce,0x5c,0xea,0x84,0x9c,0x4e,0x73,0xc8,0xf6,
0xff,0x5f,0x83,0xfa,0x82,0xef,0xb9,0x8c,0x97,0x9e,0x23,0xd4,0x6d,0x74,0xfe,0x66,
0xd1,0x9f,0xd5,0x28,0xa6,0x33,0xdf,0xf9,0x7b,0x2b,0xa8,0x4f,0xc4,0x98,0xc5,0x71,
0x43,0x77,0x01,0x75,0x67,0x38,0x7f,0x8f,0xd0,0x9f,0xd5,0x30,0xa6,0xb3,0xc0,0xf9,
0x3b,0x14,0xd4,0x27,0x62,0x3c,0xc2,0xf9,0xb7,0xf5,0x6b,0x71,0x79,0xb1,0x94,0xd8,
0xa2,0xa0,0x78,0x63,0xfa,0x4d,0x4a,0xb1,0xa5,0x41,0xfd,0x40,0x66,0x77,0xf7,0xe3,
0x41,0xf1,0xa6,0x24,0xbb,0x53,0x7f,0x29,0x8a,0x6f,0xe5,0x7d,0xb9,0xdd,0xed,0x2d,
0xc8,0xb6,0xc5,0xb6,0x9d,0x7b,0x09,0xef,0xcb,0xb8,0x97,0x96,0x33,0x8f,0x37,0x49,
0xc6,0xed,0xa9,0xa0,0xbe,0x86,0xba,0x9c,0x5d,0xe1,0xb0,0xb1,0xb4,0x7d,0x3a,0xa8,
0x2e,0x64,0x4b,0x89,0x3d,0x13,0xd4,0xd7,0xd3,0xcc,0x5d,0x7c,0xab,0x7c,0x36,0xe8,
0x77,0xca,0x16,0xea,0xfc,0x38,0xa8,0xde,0xf2,0x90,0x7d,0xf3,0xf8,0x49,0x50,0xbc,
0x99,0xdf,0xc1,0x9e,0x0f,0xba,0x17,0xc7,0xf1,0xac,0x5d,0x19,0x54,0xc7,0xf6,0x20,
0xb0,0x55,0xc4,0x24,0xe5,0x54,0x9a,0x7e,0xef,0x5c,0x1d,0x54,0x17,0x32,0xf8,0x98,
0xcc,0x7b,0xa4,0x35,0x28,0x8f,0xd5,0xa1,0xf8,0x1b,0x0a,0xee,0xc4,0x35,0x41,0xe5,
0x49,0x92,0xd5,0x11,0xbf,0xc9,0x9d,0x27,0xbe,0x8e,0xf8,0x2d,0xe5,0x76,0x7f,0xbe,
0x26,0xea,0xc3,0xb7,0x0e,0x71,0xd7,0x42,0xb6,0x83,0x77,0x49,0x15,0xbf,0xc5,0xc1,
0xf6,0x35,0x57,0x83,0xac,0x0b,0x7a,0xc7,0xed,0xbd,0x46,0x0d,0xb2,0x3e,0xa8,0x0f,
0x5f,0x83,0x6c,0x60,0x0d,0xb2,0xde,0xd5,0x20,0x2f,0x06,0xf5,0xb5,0xc1,0xd5,0x20,
0x1b,0x69,0xbb,0xe3,0x1a,0x35,0xc8,0x4b,0x41,0x75,0xd6,0xbb,0x1a,0x64,0x53,0x50,
0x5f,0x2f,0xb9,0xda,0xe2,0xa7,0xe4,0xe7,0x6b,0x90,0xcd,0x41,0xf1,0x0d,0x4e,0xef,
0xe5,0xa0,0xf6,0xbe,0x06,0xf9,0x39,0x31,0x5f,0x83,0xbc,0x42,0xcc,0xd7,0x20,0x5b,
0x82,0xda,0x43,0x1f,0xf2,0xcd,0xdc,0x7b,0x96,0xb3,0xdb,0x5d,0x4d,0x50,0x5a,0x50,
0x3e,0xd8,0x6b,0xb0,0xdb,0x96,0xbb,0x2b,0x5a,0x9c,0x6e,0x3b,0xea,0xe2,0x3e,0x81,
0xdd,0x76,0x29,0xae,0x35,0x16,0x4a,0xc6,0xeb,0x75,0xc9,0xc6,0xf9,0x2b,0xee,0xab,
0x3f,0x8a,0xe2,0x3b,0x78,0xc6,0xed,0x72,0xfb,0x0a,0xb2,0x9d,0xb1,0xed,0xa2,0xaf,
0x9d,0xa2,0xdf,0x1e,0xf1,0x6d,0x75,0xb7,0xe8,0xb7,0x47,0xcb,0x9b,0xb4,0x5e,0x21,
0x6e,0x35,0xca,0x9f,0x45,0x31,0x3b,0xaf,0xf7,0x39,0xdf,0x90,0xed,0x8d,0x6d,0x1f,
0x7d,0xef,0x75,0xf7,0xd7,0x1b,0xfc,0xff,0x8f,0x6f,0xaa,0xf6,0xbd,0xb6,0x2e,0x46,
0x40,0xdc,0xbf,0x48,0xf6,0xcd,0x73,0x92,0xfb,0x3f,0xfd,0x26,0x65,0x56,0x97,0xef,
0x17,0xc5,0xfc,0xf7,0x82,0x83,0xee,0xbb,0x82,0xe9,0x1d,0x12,0xd5,0x85,0x6c,0x7c,
0x44,0x10,0x7f,0x67,0x50,0xfc,0x0d,0xc9,0xce,0x3f,0xe3,0xb9,0x8f,0x73,0x0f,0xbd,
0x37,0x59,0x3b,0x60,0x5e,0x60,0xb3,0xd7,0xe5,0xfd,0xdb,0xd2,0x76,0xde,0xbf,0xca,
0xb9,0x39,0xc2,0x79,0x3f,0xc9,0xb9,0x39,0xe6,0xe6,0x06,0xb2,0xa3,0xb1,0x1d,0x63,
0xcc,0xa3,0x9c,0x63,0x7c,0x97,0xfe,0x17,0xbf,0x49,0xdb,0xb9,0x72,0x4a,0x94,0xc7,
0xd4,0xe8,0x17,0xf9,0xf0,0x2e,0x75,0x4e,0x39,0x2e,0xef,0x8b,0xe2,0xef,0x5e,0x63,
0x9f,0x9c,0x11,0xd5,0x01,0x1f,0xdb,0x27,0x67,0x45,0xc7,0x70,0x86,0xf9,0x64,0x5c,
0x8e,0x71,0xfc,0xd0,0x39,0x10,0x54,0x07,0x73,0x72,0x96,0x9c,0x8d,0xe7,0xb9,0x1c,
0xcf,0xff,0x92,0xa7,0xe5,0xe2,0x87,0xa2,0xf6,0x7e,0x2f,0x7d,0x44,0xcc,0xef,0xa5,
0xf3,0xc4,0xfc,0x5e,0xba,0x20,0x6a,0x0f,0xfd,0xf3,0xcc,0xdd,0x69,0x31,0x0e,0x62,
0x22,0xce,0x05,0x72,0xb6,0xbc,0xdd,0x25,0xc5,0xdf,0xb1,0xf1,0xbc,0x12,0xa3,0xdc,
0x15,0xdb,0xff,0x01,0xfe,0x4e,0x88,0x4b,0xd0,0x1e,0x00,0x00
};
// Generated from:
......@@ -216,6 +224,8 @@ constexpr uint8_t kOverlayDraw_comp_00000001[] = {
// layout(push_constant)uniform PushConstants
// {
// uvec2 outputSize;
//
// bool rotateXY;
// } params;
//
// bool intersects(const uvec2 imageCoords, const uvec4 widgetCoords)
......@@ -300,7 +310,7 @@ constexpr uint8_t kOverlayDraw_comp_00000001[] = {
//
// void main()
// {
// const uvec2 imageCoords = gl_GlobalInvocationID . xy;
// uvec2 imageCoords = gl_GlobalInvocationID . xy;
// if(any(greaterThanEqual(imageCoords, params . outputSize)))
// {
// return;
......@@ -381,6 +391,14 @@ constexpr uint8_t kOverlayDraw_comp_00000001[] = {
//
// if(blendedWidgets . a < 1)
// {
//
// if(params . rotateXY)
// {
//
// imageCoords . xy = imageCoords . yx;
// imageCoords . x = params . outputSize . y - 1 - imageCoords . x;
// }
//
// vec3 blendedColor = blendedWidgets . rgb;
// if(blendedWidgets . a > 0)
// {
......@@ -388,6 +406,7 @@ constexpr uint8_t kOverlayDraw_comp_00000001[] = {
//
// blendedColor += color . rgb * blendedWidgets . a;
// }
//
// imageStore(blendOutput, ivec2(imageCoords), vec4(blendedColor, 1));
// }
// }
......@@ -69,6 +69,8 @@ layout(set = 0, binding = 4) uniform texture2DArray font;
layout (push_constant) uniform PushConstants
{
uvec2 outputSize;
// Prerotation support
bool rotateXY;
} params;
bool intersects(const uvec2 imageCoords, const uvec4 widgetCoords)
......@@ -168,7 +170,7 @@ vec4 blend(const vec4 blendedSoFar, const vec4 color)
void main()
{
const uvec2 imageCoords = gl_GlobalInvocationID.xy;
uvec2 imageCoords = gl_GlobalInvocationID.xy;
if (any(greaterThanEqual(imageCoords, params.outputSize)))
{
return;
......@@ -257,6 +259,14 @@ void main()
if (blendedWidgets.a < 1)
{
// Account for pre-rotation
if (params.rotateXY)
{
// Rotate by 90 degrees
imageCoords.xy = imageCoords.yx;
imageCoords.x = params.outputSize.y - 1 - imageCoords.x;
}
vec3 blendedColor = blendedWidgets.rgb;
if (blendedWidgets.a > 0)
{
......@@ -266,6 +276,7 @@ void main()
// in the alpha channel.
blendedColor += color.rgb * blendedWidgets.a;
}
imageStore(blendOutput, ivec2(imageCoords), vec4(blendedColor, 1));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment