From 05b19704f8ed69b50c9c93b31fe46798f716009c Mon Sep 17 00:00:00 2001 From: Sven Balzer <4653051+Kyuusokuna@users.noreply.github.com> Date: Wed, 1 Apr 2026 18:25:03 +0200 Subject: [PATCH] update SDL3 from 3.2.20 to 3.4.2 --- libs/SDL3/.git-hash | 2 +- libs/SDL3/.wikiheaders-options | 11 +- libs/SDL3/Android.mk | 34 +- libs/SDL3/CMakeLists.txt | 1007 +- libs/SDL3/LICENSE.txt | 2 +- libs/SDL3/REVISION.txt | 2 +- libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj | 50 +- libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj.filters | 49 +- .../VisualC-GDK/SDL_test/SDL_test.vcxproj | 4 +- .../testcontroller/testcontroller.vcxproj | 1 - .../VisualC-GDK/tests/testgdk/src/testgdk.cpp | 49 +- .../VisualC-GDK/tests/testgdk/testgdk.vcxproj | 3 +- .../tests/testsprite/testsprite.vcxproj | 3 +- libs/SDL3/VisualC/SDL.sln | 85 +- libs/SDL3/VisualC/SDL/SDL.vcxproj | 82 +- libs/SDL3/VisualC/SDL/SDL.vcxproj.filters | 165 +- libs/SDL3/VisualC/SDL_test/SDL_test.vcxproj | 4 +- .../01-load-bitmaps/01-load-bitmaps.vcxproj | 13 + .../04-multiple-streams.vcxproj | 13 + .../demo/04-bytepusher/04-bytepusher.vcxproj | 13 + libs/SDL3/VisualC/examples/generate.py | 3 +- .../01-joystick-polling.vcxproj | 13 + .../02-joystick-events.vcxproj | 13 + .../renderer/06-textures/06-textures.vcxproj | 2 +- .../08-rotating-textures.vcxproj | 2 +- .../renderer/10-geometry/10-geometry.vcxproj | 2 +- .../11-color-mods/11-color-mods.vcxproj | 2 +- .../renderer/14-viewport/14-viewport.vcxproj | 2 +- .../renderer/15-cliprect/15-cliprect.vcxproj | 2 +- .../17-read-pixels/17-read-pixels.vcxproj | 2 +- .../19-affine-textures.vcxproj | 13 + .../VisualC/tests/checkkeys/checkkeys.vcxproj | 1 - .../VisualC/tests/loopwave/loopwave.vcxproj | 1 - .../tests/testatomic/testatomic.vcxproj | 1 - .../testautomation/testautomation.vcxproj | 1 - .../testcontroller/testcontroller.vcxproj | 1 - .../tests/testdialog/testdialog.vcxproj | 1 - .../VisualC/tests/testdraw/testdraw.vcxproj | 1 - .../VisualC/tests/testfile/testfile.vcxproj | 1 - libs/SDL3/VisualC/tests/testgl/testgl.vcxproj | 1 - .../VisualC/tests/testgles2/testgles2.vcxproj | 1 - .../tests/testoverlay/testoverlay.vcxproj | 1 - .../VisualC/tests/testpen/testpen.vcxproj | 1 - .../tests/testplatform/testplatform.vcxproj | 1 - .../VisualC/tests/testpower/testpower.vcxproj | 1 - .../testrendertarget/testrendertarget.vcxproj | 5 +- .../tests/testrumble/testrumble.vcxproj | 1 - .../VisualC/tests/testscale/testscale.vcxproj | 5 +- .../tests/testsensor/testsensor.vcxproj | 1 - .../VisualC/tests/testshape/testshape.vcxproj | 1 - .../testsoftwaretransparent.vcxproj | 209 + .../tests/testsprite/testsprite.vcxproj | 3 +- .../tests/testsurround/testsurround.vcxproj | 1 - .../tests/testvulkan/testvulkan.vcxproj | 1 - libs/SDL3/VisualC/tests/testwm/testwm.vcxproj | 1 - .../VisualC/tests/testyuv/testyuv.vcxproj | 3 +- libs/SDL3/WhatsNew.txt | 118 + libs/SDL3/Xcode/SDL/Info-Framework.plist | 4 +- .../Xcode/SDL/SDL.xcodeproj/project.pbxproj | 124 +- libs/SDL3/Xcode/SDL/pkg-support/SDL.info | 2 +- .../resources/CMake/SDL3Config.cmake | 38 +- .../resources/CMake/SDL3ConfigVersion.cmake | 23 +- .../share/cmake/SDL3/SDL3ConfigVersion.cmake | 2 + .../SDLTest/SDLTest.xcodeproj/project.pbxproj | 318 +- libs/SDL3/Xcode/SDLTest/config.xcconfig | 2 + libs/SDL3/Xcode/SDLTest/test-Info.plist | 20 + libs/SDL3/android-project/app/build.gradle | 3 +- .../android-project/app/jni/Application.mk | 3 - .../app/jni/src/CMakeLists.txt | 24 +- .../android-project/app/proguard-rules.pro | 5 +- .../app/src/main/AndroidManifest.xml | 1 + .../app/HIDDeviceBLESteamController.java | 32 +- .../java/org/libsdl/app/HIDDeviceManager.java | 53 +- .../java/org/libsdl/app/HIDDeviceUSB.java | 31 +- .../app/src/main/java/org/libsdl/app/SDL.java | 16 +- .../main/java/org/libsdl/app/SDLActivity.java | 286 +- .../java/org/libsdl/app/SDLAudioManager.java | 28 +- .../org/libsdl/app/SDLControllerManager.java | 310 +- .../java/org/libsdl/app/SDLDummyEdit.java | 4 +- .../org/libsdl/app/SDLInputConnection.java | 4 +- .../main/java/org/libsdl/app/SDLSurface.java | 75 +- libs/SDL3/build-scripts/SDL_migration.cocci | 12 +- libs/SDL3/build-scripts/androidbuildlibs.sh | 7 - libs/SDL3/build-scripts/build-release.py | 21 +- libs/SDL3/build-scripts/build-web-examples.pl | 28 +- libs/SDL3/build-scripts/check_android_jni.py | 2 +- .../SDL3/build-scripts/check_elf_alignment.sh | 127 + libs/SDL3/build-scripts/check_stdlib_usage.py | 36 +- libs/SDL3/build-scripts/create_tbds.py | 142 + .../gen_audio_channel_conversion.c | 4 +- .../build-scripts/makecasefoldhashtable.pl | 4 +- libs/SDL3/build-scripts/mkinstalldirs | 162 - .../pkg-support/android/aar/__main__.py.in | 1 - .../source/SDL_revision.h.cmake.in | 6 +- .../pkg-support/source/SDL_revision.h.in | 6 +- libs/SDL3/build-scripts/release-info.json | 2 +- libs/SDL3/build-scripts/strip_fPIC.sh | 21 - libs/SDL3/build-scripts/wikiheaders.pl | 188 +- libs/SDL3/cmake/FindLibUSB.cmake | 2 +- .../cmake/GetGitRevisionDescription.cmake | 16 + .../cmake/GetGitRevisionDescription.cmake.in | 6 +- libs/SDL3/cmake/PkgConfigHelper.cmake | 15 +- libs/SDL3/cmake/PreseedEmscriptenCache.cmake | 9 +- libs/SDL3/cmake/PreseedMSVCCache.cmake | 361 +- libs/SDL3/cmake/PreseedNokiaNGageCache.cmake | 189 + libs/SDL3/cmake/SDL3Config.cmake.in | 4 +- libs/SDL3/cmake/macros.cmake | 63 +- libs/SDL3/cmake/sdlchecks.cmake | 321 +- .../{sdltargets.cmake => sdlcommands.cmake} | 31 +- libs/SDL3/cmake/sdlcompilers.cmake | 69 +- libs/SDL3/cmake/sdlcpu.cmake | 10 +- libs/SDL3/cmake/sdlplatform.cmake | 9 +- libs/SDL3/cmake/test/CMakeLists.txt | 14 +- libs/SDL3/cmake/test/main_gui.c | 37 +- libs/SDL3/cmake/test/sdltest.c | 19 +- libs/SDL3/cmake/test/test_pkgconfig.sh | 6 +- libs/SDL3/docs/INTRO-emscripten.md | 2 +- libs/SDL3/docs/INTRO-mingw.md | 4 +- libs/SDL3/docs/README-android.md | 4 +- libs/SDL3/docs/README-bsd.md | 1 + libs/SDL3/docs/README-cmake.md | 8 +- libs/SDL3/docs/README-documentation-rules.md | 73 +- libs/SDL3/docs/README-emscripten.md | 85 +- libs/SDL3/docs/README-ios.md | 68 +- libs/SDL3/docs/README-linux.md | 25 +- libs/SDL3/docs/README-macos.md | 2 + libs/SDL3/docs/README-main-functions.md | 7 + libs/SDL3/docs/README-migration.md | 5 +- libs/SDL3/docs/README-ngage.md | 65 +- libs/SDL3/docs/README-platforms.md | 46 +- libs/SDL3/docs/README-ps2.md | 11 +- libs/SDL3/docs/README-psp.md | 4 +- libs/SDL3/docs/README-switch.md | 2 +- libs/SDL3/docs/README-wayland.md | 20 +- libs/SDL3/docs/hello.c | 2 +- libs/SDL3/docs/release_checklist.md | 2 + libs/SDL3/examples/CMakeLists.txt | 125 +- libs/SDL3/examples/README.md | 27 + .../asyncio/01-load-bitmaps/load-bitmaps.c | 25 +- .../01-simple-playback/simple-playback.c | 3 +- .../simple-playback-callback.c | 3 +- .../examples/audio/03-load-wav/load-wav.c | 3 +- .../audio/04-multiple-streams/README.txt | 2 +- .../04-multiple-streams/multiple-streams.c | 5 +- .../examples/audio/05-planar-data/README.txt | 7 + .../audio/05-planar-data/onmouseover.webp | Bin 0 -> 17488 bytes .../audio/05-planar-data/planar-data.c | 368 + .../audio/05-planar-data/thumbnail.png | Bin 0 -> 2637 bytes .../camera/01-read-and-draw/read-and-draw.c | 3 +- libs/SDL3/examples/categories.txt | 1 + libs/SDL3/examples/demo/01-snake/snake.c | 62 +- .../demo/02-woodeneye-008/woodeneye-008.c | 4 +- .../examples/demo/04-bytepusher/bytepusher.c | 75 +- .../01-joystick-polling/joystick-polling.c | 6 +- .../02-joystick-events/joystick-events.c | 6 +- .../input/02-joystick-events/onmouseover.webp | Bin 2302260 -> 547052 bytes .../input/03-gamepad-polling/README.txt | 11 + .../03-gamepad-polling/gamepad-polling.c | 221 + .../input/03-gamepad-polling/onmouseover.webp | Bin 0 -> 55454 bytes .../input/03-gamepad-polling/thumbnail.png | Bin 0 -> 52905 bytes .../input/04-gamepad-events/README.txt | 2 + .../input/04-gamepad-events/gamepad-events.c | 212 + .../input/04-gamepad-events/onmouseover.webp | Bin 0 -> 445786 bytes .../input/04-gamepad-events/thumbnail.png | Bin 0 -> 15958 bytes libs/SDL3/examples/misc/01-power/README.txt | 4 + .../examples/misc/01-power/onmouseover.webp | Bin 0 -> 19244 bytes libs/SDL3/examples/misc/01-power/power.c | 155 + .../SDL3/examples/misc/01-power/thumbnail.png | Bin 0 -> 622 bytes .../examples/misc/02-clipboard/README.txt | 6 + .../examples/misc/02-clipboard/clipboard.c | 235 + .../misc/02-clipboard/onmouseover.webp | Bin 0 -> 67272 bytes .../examples/misc/02-clipboard/thumbnail.png | Bin 0 -> 1392 bytes libs/SDL3/examples/misc/description.txt | 1 + libs/SDL3/examples/renderer/01-clear/clear.c | 3 +- .../renderer/02-primitives/primitives.c | 3 +- libs/SDL3/examples/renderer/03-lines/lines.c | 6 +- .../SDL3/examples/renderer/04-points/points.c | 3 +- .../renderer/05-rectangles/rectangles.c | 3 +- .../examples/renderer/06-textures/README.txt | 2 +- .../examples/renderer/06-textures/textures.c | 17 +- .../streaming-textures.c | 5 +- .../renderer/08-rotating-textures/README.txt | 2 +- .../08-rotating-textures/rotating-textures.c | 13 +- .../renderer/09-scaling-textures/README.txt | 2 +- .../09-scaling-textures/scaling-textures.c | 13 +- .../examples/renderer/10-geometry/README.txt | 2 +- .../examples/renderer/10-geometry/geometry.c | 13 +- .../renderer/11-color-mods/README.txt | 2 +- .../renderer/11-color-mods/color-mods.c | 13 +- .../examples/renderer/14-viewport/README.txt | 2 +- .../examples/renderer/14-viewport/viewport.c | 13 +- .../examples/renderer/15-cliprect/README.txt | 2 +- .../examples/renderer/15-cliprect/cliprect.c | 29 +- .../renderer/17-read-pixels/read-pixels.c | 13 +- .../renderer/18-debug-text/debug-text.c | 3 +- .../renderer/19-affine-textures/README.txt | 3 + .../19-affine-textures/affine-textures.c | 146 + .../19-affine-textures/onmouseover.webp | Bin 0 -> 211490 bytes .../renderer/19-affine-textures/thumbnail.png | Bin 0 -> 234754 bytes .../SDL3/examples/save-rendering-to-bitmaps.h | 49 + libs/SDL3/examples/template-category.html | 6 +- libs/SDL3/examples/template-homepage.html | 5 +- libs/SDL3/examples/template.c | 4 +- libs/SDL3/examples/template.html | 14 +- libs/SDL3/include/SDL3/SDL.h | 5 +- libs/SDL3/include/SDL3/SDL_assert.h | 53 +- libs/SDL3/include/SDL3/SDL_asyncio.h | 6 +- libs/SDL3/include/SDL3/SDL_atomic.h | 20 +- libs/SDL3/include/SDL3/SDL_audio.h | 176 +- libs/SDL3/include/SDL3/SDL_begin_code.h | 77 +- libs/SDL3/include/SDL3/SDL_bits.h | 2 +- libs/SDL3/include/SDL3/SDL_blendmode.h | 2 +- libs/SDL3/include/SDL3/SDL_camera.h | 30 +- libs/SDL3/include/SDL3/SDL_clipboard.h | 18 +- libs/SDL3/include/SDL3/SDL_close_code.h | 2 +- libs/SDL3/include/SDL3/SDL_copying.h | 2 +- libs/SDL3/include/SDL3/SDL_cpuinfo.h | 23 +- libs/SDL3/include/SDL3/SDL_dialog.h | 12 +- libs/SDL3/include/SDL3/SDL_dlopennote.h | 234 + libs/SDL3/include/SDL3/SDL_egl.h | 2 +- libs/SDL3/include/SDL3/SDL_endian.h | 8 +- libs/SDL3/include/SDL3/SDL_error.h | 2 +- libs/SDL3/include/SDL3/SDL_events.h | 101 +- libs/SDL3/include/SDL3/SDL_filesystem.h | 46 +- libs/SDL3/include/SDL3/SDL_gamepad.h | 173 +- libs/SDL3/include/SDL3/SDL_gpu.h | 503 +- libs/SDL3/include/SDL3/SDL_guid.h | 2 +- libs/SDL3/include/SDL3/SDL_haptic.h | 74 +- libs/SDL3/include/SDL3/SDL_hidapi.h | 21 +- libs/SDL3/include/SDL3/SDL_hints.h | 495 +- libs/SDL3/include/SDL3/SDL_init.h | 14 +- libs/SDL3/include/SDL3/SDL_intrin.h | 9 +- libs/SDL3/include/SDL3/SDL_iostream.h | 151 +- libs/SDL3/include/SDL3/SDL_joystick.h | 189 +- libs/SDL3/include/SDL3/SDL_keyboard.h | 5 +- libs/SDL3/include/SDL3/SDL_keycode.h | 10 +- libs/SDL3/include/SDL3/SDL_loadso.h | 2 +- libs/SDL3/include/SDL3/SDL_locale.h | 4 +- libs/SDL3/include/SDL3/SDL_log.h | 6 +- libs/SDL3/include/SDL3/SDL_main.h | 60 +- libs/SDL3/include/SDL3/SDL_main_impl.h | 2 +- libs/SDL3/include/SDL3/SDL_messagebox.h | 6 +- libs/SDL3/include/SDL3/SDL_metal.h | 8 +- libs/SDL3/include/SDL3/SDL_misc.h | 4 +- libs/SDL3/include/SDL3/SDL_mouse.h | 146 +- libs/SDL3/include/SDL3/SDL_mutex.h | 52 +- libs/SDL3/include/SDL3/SDL_oldnames.h | 2 +- libs/SDL3/include/SDL3/SDL_opengl.h | 2 +- libs/SDL3/include/SDL3/SDL_opengles.h | 2 +- libs/SDL3/include/SDL3/SDL_opengles2.h | 2 +- libs/SDL3/include/SDL3/SDL_pen.h | 97 +- libs/SDL3/include/SDL3/SDL_pixels.h | 14 +- libs/SDL3/include/SDL3/SDL_platform.h | 4 +- libs/SDL3/include/SDL3/SDL_platform_defines.h | 29 +- libs/SDL3/include/SDL3/SDL_power.h | 8 +- libs/SDL3/include/SDL3/SDL_process.h | 13 +- libs/SDL3/include/SDL3/SDL_properties.h | 35 +- libs/SDL3/include/SDL3/SDL_rect.h | 37 +- libs/SDL3/include/SDL3/SDL_render.h | 487 +- libs/SDL3/include/SDL3/SDL_revision.h | 6 +- libs/SDL3/include/SDL3/SDL_scancode.h | 2 +- libs/SDL3/include/SDL3/SDL_sensor.h | 5 +- libs/SDL3/include/SDL3/SDL_stdinc.h | 97 +- libs/SDL3/include/SDL3/SDL_storage.h | 6 +- libs/SDL3/include/SDL3/SDL_surface.h | 302 +- libs/SDL3/include/SDL3/SDL_system.h | 28 +- libs/SDL3/include/SDL3/SDL_test.h | 2 +- libs/SDL3/include/SDL3/SDL_test_assert.h | 2 +- libs/SDL3/include/SDL3/SDL_test_common.h | 6 +- libs/SDL3/include/SDL3/SDL_test_compare.h | 3 +- libs/SDL3/include/SDL3/SDL_test_crc32.h | 2 +- libs/SDL3/include/SDL3/SDL_test_font.h | 2 +- libs/SDL3/include/SDL3/SDL_test_fuzzer.h | 2 +- libs/SDL3/include/SDL3/SDL_test_harness.h | 2 +- libs/SDL3/include/SDL3/SDL_test_log.h | 10 +- libs/SDL3/include/SDL3/SDL_test_md5.h | 2 +- libs/SDL3/include/SDL3/SDL_test_memory.h | 2 +- libs/SDL3/include/SDL3/SDL_thread.h | 28 +- libs/SDL3/include/SDL3/SDL_time.h | 20 +- libs/SDL3/include/SDL3/SDL_timer.h | 14 +- libs/SDL3/include/SDL3/SDL_touch.h | 2 +- libs/SDL3/include/SDL3/SDL_tray.h | 2 +- libs/SDL3/include/SDL3/SDL_version.h | 29 +- libs/SDL3/include/SDL3/SDL_video.h | 262 +- .../include/build_config/SDL_build_config.h | 2 +- .../build_config/SDL_build_config.h.cmake | 83 +- .../build_config/SDL_build_config_android.h | 5 +- .../build_config/SDL_build_config_ios.h | 7 +- .../build_config/SDL_build_config_macos.h | 2 +- .../build_config/SDL_build_config_minimal.h | 5 +- .../build_config/SDL_build_config_windows.h | 3 +- .../build_config/SDL_build_config_wingdk.h | 5 +- .../build_config/SDL_build_config_xbox.h | 7 +- .../include/build_config/SDL_revision.h.cmake | 6 +- libs/SDL3/src/SDL.c | 89 +- libs/SDL3/src/SDL_assert.c | 19 +- libs/SDL3/src/SDL_assert_c.h | 2 +- libs/SDL3/src/SDL_error.c | 4 +- libs/SDL3/src/SDL_error_c.h | 2 +- libs/SDL3/src/SDL_guid.c | 4 +- libs/SDL3/src/SDL_hashtable.c | 15 +- libs/SDL3/src/SDL_hashtable.h | 14 +- libs/SDL3/src/SDL_hints.c | 13 +- libs/SDL3/src/SDL_hints_c.h | 2 +- libs/SDL3/src/SDL_internal.h | 37 +- libs/SDL3/src/SDL_list.c | 2 +- libs/SDL3/src/SDL_list.h | 2 +- libs/SDL3/src/SDL_log.c | 58 +- libs/SDL3/src/SDL_log_c.h | 2 +- libs/SDL3/src/SDL_properties.c | 26 +- libs/SDL3/src/SDL_properties_c.h | 2 +- libs/SDL3/src/SDL_utils.c | 53 +- libs/SDL3/src/SDL_utils_c.h | 29 +- libs/SDL3/src/atomic/SDL_atomic.c | 77 +- libs/SDL3/src/atomic/SDL_spinlock.c | 23 +- libs/SDL3/src/audio/SDL_audio.c | 366 +- libs/SDL3/src/audio/SDL_audio_c.h | 2 +- .../src/audio/SDL_audio_channel_converters.h | 2 +- libs/SDL3/src/audio/SDL_audiocvt.c | 401 +- libs/SDL3/src/audio/SDL_audiodev.c | 2 +- libs/SDL3/src/audio/SDL_audiodev_c.h | 2 +- libs/SDL3/src/audio/SDL_audioqueue.c | 2 +- libs/SDL3/src/audio/SDL_audioqueue.h | 4 +- libs/SDL3/src/audio/SDL_audioresample.c | 2 +- libs/SDL3/src/audio/SDL_audioresample.h | 2 +- libs/SDL3/src/audio/SDL_audiotypecvt.c | 100 +- libs/SDL3/src/audio/SDL_mixer.c | 2 +- libs/SDL3/src/audio/SDL_sysaudio.h | 16 +- libs/SDL3/src/audio/SDL_wave.c | 26 +- libs/SDL3/src/audio/SDL_wave.h | 2 +- libs/SDL3/src/audio/aaudio/SDL_aaudio.c | 54 +- libs/SDL3/src/audio/aaudio/SDL_aaudio.h | 2 +- libs/SDL3/src/audio/aaudio/SDL_aaudiofuncs.h | 9 +- libs/SDL3/src/audio/alsa/SDL_alsa_audio.c | 147 +- libs/SDL3/src/audio/alsa/SDL_alsa_audio.h | 2 +- libs/SDL3/src/audio/coreaudio/SDL_coreaudio.h | 2 +- libs/SDL3/src/audio/coreaudio/SDL_coreaudio.m | 9 +- .../src/audio/directsound/SDL_directsound.c | 26 +- .../src/audio/directsound/SDL_directsound.h | 2 +- libs/SDL3/src/audio/disk/SDL_diskaudio.c | 16 +- libs/SDL3/src/audio/disk/SDL_diskaudio.h | 2 +- libs/SDL3/src/audio/dsp/SDL_dspaudio.c | 2 +- libs/SDL3/src/audio/dsp/SDL_dspaudio.h | 2 +- libs/SDL3/src/audio/dummy/SDL_dummyaudio.c | 19 +- libs/SDL3/src/audio/dummy/SDL_dummyaudio.h | 2 +- .../audio/emscripten/SDL_emscriptenaudio.c | 21 +- .../audio/emscripten/SDL_emscriptenaudio.h | 2 +- libs/SDL3/src/audio/haiku/SDL_haikuaudio.cc | 2 +- libs/SDL3/src/audio/haiku/SDL_haikuaudio.h | 2 +- libs/SDL3/src/audio/jack/SDL_jackaudio.c | 9 +- libs/SDL3/src/audio/jack/SDL_jackaudio.h | 2 +- libs/SDL3/src/audio/n3ds/SDL_n3dsaudio.c | 2 +- libs/SDL3/src/audio/n3ds/SDL_n3dsaudio.h | 2 +- libs/SDL3/src/audio/netbsd/SDL_netbsdaudio.c | 2 +- libs/SDL3/src/audio/netbsd/SDL_netbsdaudio.h | 2 +- libs/SDL3/src/audio/ngage/SDL_ngageaudio.c | 103 + libs/SDL3/src/audio/ngage/SDL_ngageaudio.cpp | 368 + .../ngage/SDL_ngageaudio.h} | 29 +- libs/SDL3/src/audio/ngage/SDL_ngageaudio.hpp | 98 + libs/SDL3/src/audio/openslES/SDL_openslES.c | 31 +- libs/SDL3/src/audio/openslES/SDL_openslES.h | 2 +- libs/SDL3/src/audio/pipewire/SDL_pipewire.c | 27 +- libs/SDL3/src/audio/pipewire/SDL_pipewire.h | 2 +- libs/SDL3/src/audio/ps2/SDL_ps2audio.c | 2 +- libs/SDL3/src/audio/ps2/SDL_ps2audio.h | 2 +- libs/SDL3/src/audio/psp/SDL_pspaudio.c | 2 +- libs/SDL3/src/audio/psp/SDL_pspaudio.h | 2 +- .../src/audio/pulseaudio/SDL_pulseaudio.c | 81 +- .../src/audio/pulseaudio/SDL_pulseaudio.h | 2 +- libs/SDL3/src/audio/qnx/SDL_qsa_audio.c | 6 +- libs/SDL3/src/audio/qnx/SDL_qsa_audio.h | 2 +- libs/SDL3/src/audio/sndio/SDL_sndioaudio.c | 9 +- libs/SDL3/src/audio/sndio/SDL_sndioaudio.h | 2 +- libs/SDL3/src/audio/vita/SDL_vitaaudio.c | 2 +- libs/SDL3/src/audio/vita/SDL_vitaaudio.h | 2 +- libs/SDL3/src/audio/wasapi/SDL_wasapi.c | 92 +- libs/SDL3/src/audio/wasapi/SDL_wasapi.h | 3 +- libs/SDL3/src/camera/SDL_camera.c | 129 +- libs/SDL3/src/camera/SDL_camera_c.h | 2 +- libs/SDL3/src/camera/SDL_syscamera.h | 15 +- .../src/camera/android/SDL_camera_android.c | 37 +- .../camera/coremedia/SDL_camera_coremedia.m | 138 +- libs/SDL3/src/camera/dummy/SDL_camera_dummy.c | 4 +- .../camera/emscripten/SDL_camera_emscripten.c | 27 +- .../SDL_camera_mediafoundation.c | 30 +- .../src/camera/pipewire/SDL_camera_pipewire.c | 43 +- libs/SDL3/src/camera/v4l2/SDL_camera_v4l2.c | 19 +- libs/SDL3/src/camera/vita/SDL_camera_vita.c | 18 +- libs/SDL3/src/core/SDL_core_unsupported.c | 50 +- libs/SDL3/src/core/SDL_core_unsupported.h | 65 + libs/SDL3/src/core/android/SDL_android.c | 328 +- libs/SDL3/src/core/android/SDL_android.h | 10 +- .../src/core/freebsd/SDL_evdev_kbd_freebsd.c | 245 +- libs/SDL3/src/core/gdk/SDL_gdk.cpp | 2 +- libs/SDL3/src/core/gdk/SDL_gdk.h | 2 +- libs/SDL3/src/core/haiku/SDL_BApp.h | 4 +- libs/SDL3/src/core/haiku/SDL_BeApp.cc | 6 +- libs/SDL3/src/core/haiku/SDL_BeApp.h | 2 +- libs/SDL3/src/core/linux/SDL_dbus.c | 302 +- libs/SDL3/src/core/linux/SDL_dbus.h | 27 +- libs/SDL3/src/core/linux/SDL_evdev.c | 52 +- libs/SDL3/src/core/linux/SDL_evdev.h | 6 +- .../src/core/linux/SDL_evdev_capabilities.c | 2 +- .../src/core/linux/SDL_evdev_capabilities.h | 2 +- libs/SDL3/src/core/linux/SDL_evdev_kbd.c | 14 +- libs/SDL3/src/core/linux/SDL_evdev_kbd.h | 12 +- .../linux/SDL_evdev_kbd_default_accents.h | 2 +- .../core/linux/SDL_evdev_kbd_default_keymap.h | 2 +- libs/SDL3/src/core/linux/SDL_fcitx.c | 40 +- libs/SDL3/src/core/linux/SDL_fcitx.h | 2 +- libs/SDL3/src/core/linux/SDL_ibus.c | 20 +- libs/SDL3/src/core/linux/SDL_ibus.h | 2 +- libs/SDL3/src/core/linux/SDL_ime.c | 2 +- libs/SDL3/src/core/linux/SDL_ime.h | 2 +- libs/SDL3/src/core/linux/SDL_progressbar.c | 163 + .../linux/SDL_progressbar.h} | 23 +- libs/SDL3/src/core/linux/SDL_system_theme.c | 2 +- libs/SDL3/src/core/linux/SDL_system_theme.h | 2 +- libs/SDL3/src/core/linux/SDL_threadprio.c | 26 +- libs/SDL3/src/core/linux/SDL_udev.c | 88 +- libs/SDL3/src/core/linux/SDL_udev.h | 7 +- libs/SDL3/src/core/ngage/SDL_ngage.cpp | 62 + .../ngage/SDL_ngage.h} | 13 +- libs/SDL3/src/core/openbsd/SDL_wscons.h | 2 +- libs/SDL3/src/core/openbsd/SDL_wscons_kbd.c | 4 +- libs/SDL3/src/core/openbsd/SDL_wscons_mouse.c | 4 +- libs/SDL3/src/core/unix/SDL_appid.c | 6 +- libs/SDL3/src/core/unix/SDL_appid.h | 2 +- libs/SDL3/src/core/unix/SDL_fribidi.c | 171 + libs/SDL3/src/core/unix/SDL_fribidi.h | 60 + libs/SDL3/src/core/unix/SDL_gtk.c | 300 + libs/SDL3/src/core/unix/SDL_gtk.h | 126 + libs/SDL3/src/core/unix/SDL_libthai.c | 76 + .../unix/SDL_libthai.h} | 29 +- libs/SDL3/src/core/unix/SDL_poll.c | 59 +- libs/SDL3/src/core/unix/SDL_poll.h | 2 +- libs/SDL3/src/core/windows/SDL_directx.h | 2 +- .../{SDL_gameinput.c => SDL_gameinput.cpp} | 29 +- libs/SDL3/src/core/windows/SDL_gameinput.h | 13 +- libs/SDL3/src/core/windows/SDL_hid.c | 40 +- libs/SDL3/src/core/windows/SDL_hid.h | 2 +- libs/SDL3/src/core/windows/SDL_immdevice.c | 62 +- libs/SDL3/src/core/windows/SDL_immdevice.h | 5 +- libs/SDL3/src/core/windows/SDL_windows.c | 319 +- libs/SDL3/src/core/windows/SDL_windows.h | 64 +- libs/SDL3/src/core/windows/SDL_xinput.c | 14 +- libs/SDL3/src/core/windows/SDL_xinput.h | 3 +- libs/SDL3/src/core/windows/pch.c | 2 +- libs/SDL3/src/core/windows/pch_cpp.cpp | 2 +- libs/SDL3/src/core/windows/version.rc | 10 +- libs/SDL3/src/cpuinfo/SDL_cpuinfo.c | 122 +- libs/SDL3/src/cpuinfo/SDL_cpuinfo_c.h | 2 +- libs/SDL3/src/dialog/SDL_dialog.c | 2 +- libs/SDL3/src/dialog/SDL_dialog.h | 2 +- libs/SDL3/src/dialog/SDL_dialog_utils.c | 2 +- libs/SDL3/src/dialog/SDL_dialog_utils.h | 4 +- .../src/dialog/android/SDL_androiddialog.c | 2 +- libs/SDL3/src/dialog/cocoa/SDL_cocoadialog.m | 29 +- libs/SDL3/src/dialog/dummy/SDL_dummydialog.c | 2 +- libs/SDL3/src/dialog/haiku/SDL_haikudialog.cc | 24 +- libs/SDL3/src/dialog/unix/SDL_portaldialog.c | 91 +- libs/SDL3/src/dialog/unix/SDL_portaldialog.h | 2 +- libs/SDL3/src/dialog/unix/SDL_unixdialog.c | 2 +- libs/SDL3/src/dialog/unix/SDL_zenitydialog.c | 10 +- libs/SDL3/src/dialog/unix/SDL_zenitydialog.h | 2 +- .../src/dialog/unix/SDL_zenitymessagebox.c | 189 + .../src/dialog/unix/SDL_zenitymessagebox.h | 28 + .../src/dialog/windows/SDL_windowsdialog.c | 688 +- libs/SDL3/src/dynapi/SDL_dynapi.c | 19 +- libs/SDL3/src/dynapi/SDL_dynapi.h | 6 +- libs/SDL3/src/dynapi/SDL_dynapi.sym | 37 + libs/SDL3/src/dynapi/SDL_dynapi_overrides.h | 40 +- libs/SDL3/src/dynapi/SDL_dynapi_procs.h | 58 +- libs/SDL3/src/dynapi/SDL_dynapi_unsupported.h | 18 +- libs/SDL3/src/dynapi/gendynapi.py | 4 +- libs/SDL3/src/events/SDL_categories.c | 2 +- libs/SDL3/src/events/SDL_categories_c.h | 2 +- libs/SDL3/src/events/SDL_clipboardevents.c | 14 +- libs/SDL3/src/events/SDL_clipboardevents_c.h | 2 +- libs/SDL3/src/events/SDL_displayevents.c | 13 +- libs/SDL3/src/events/SDL_displayevents_c.h | 2 +- libs/SDL3/src/events/SDL_dropevents.c | 2 +- libs/SDL3/src/events/SDL_dropevents_c.h | 2 +- libs/SDL3/src/events/SDL_events.c | 249 +- libs/SDL3/src/events/SDL_events_c.h | 2 +- libs/SDL3/src/events/SDL_eventwatch.c | 2 +- libs/SDL3/src/events/SDL_eventwatch_c.h | 2 +- libs/SDL3/src/events/SDL_keyboard.c | 193 +- libs/SDL3/src/events/SDL_keyboard_c.h | 6 +- libs/SDL3/src/events/SDL_keymap.c | 122 +- libs/SDL3/src/events/SDL_keymap_c.h | 22 +- libs/SDL3/src/events/SDL_keysym_to_keycode.c | 2 +- .../SDL3/src/events/SDL_keysym_to_keycode_c.h | 2 +- libs/SDL3/src/events/SDL_keysym_to_scancode.c | 2 +- .../src/events/SDL_keysym_to_scancode_c.h | 2 +- libs/SDL3/src/events/SDL_mouse.c | 454 +- libs/SDL3/src/events/SDL_mouse_c.h | 45 +- libs/SDL3/src/events/SDL_pen.c | 140 +- libs/SDL3/src/events/SDL_pen_c.h | 15 +- libs/SDL3/src/events/SDL_quit.c | 6 +- libs/SDL3/src/events/SDL_scancode_tables.c | 2 +- libs/SDL3/src/events/SDL_scancode_tables_c.h | 2 +- libs/SDL3/src/events/SDL_touch.c | 646 +- libs/SDL3/src/events/SDL_touch_c.h | 15 +- libs/SDL3/src/events/SDL_windowevents.c | 139 +- libs/SDL3/src/events/SDL_windowevents_c.h | 12 +- libs/SDL3/src/events/blank_cursor.h | 2 +- libs/SDL3/src/events/default_cursor.h | 2 +- libs/SDL3/src/events/scancodes_darwin.h | 2 +- libs/SDL3/src/events/scancodes_linux.h | 2 +- libs/SDL3/src/events/scancodes_windows.h | 2 +- libs/SDL3/src/events/scancodes_xfree86.h | 2 +- libs/SDL3/src/filesystem/SDL_filesystem.c | 39 +- libs/SDL3/src/filesystem/SDL_filesystem_c.h | 2 +- libs/SDL3/src/filesystem/SDL_sysfilesystem.h | 2 +- .../filesystem/android/SDL_sysfilesystem.c | 6 +- .../src/filesystem/cocoa/SDL_sysfilesystem.m | 15 +- .../src/filesystem/dummy/SDL_sysfilesystem.c | 10 +- libs/SDL3/src/filesystem/dummy/SDL_sysfsops.c | 2 +- .../filesystem/emscripten/SDL_sysfilesystem.c | 14 +- .../src/filesystem/gdk/SDL_sysfilesystem.cpp | 18 +- .../src/filesystem/haiku/SDL_sysfilesystem.cc | 10 +- .../src/filesystem/n3ds/SDL_sysfilesystem.c | 7 +- .../src/filesystem/ngage/SDL_sysfilesystem.c | 67 + .../filesystem/ngage/SDL_sysfilesystem.cpp | 68 + libs/SDL3/src/filesystem/posix/SDL_sysfsops.c | 234 +- .../src/filesystem/ps2/SDL_sysfilesystem.c | 12 +- .../src/filesystem/psp/SDL_sysfilesystem.c | 15 +- .../src/filesystem/riscos/SDL_sysfilesystem.c | 13 +- .../src/filesystem/unix/SDL_sysfilesystem.c | 27 +- .../src/filesystem/vita/SDL_sysfilesystem.c | 16 +- .../filesystem/windows/SDL_sysfilesystem.c | 12 +- .../src/filesystem/windows/SDL_sysfsops.c | 8 +- libs/SDL3/src/gpu/SDL_gpu.c | 550 +- libs/SDL3/src/gpu/SDL_sysgpu.h | 163 +- libs/SDL3/src/gpu/d3d12/SDL_gpu_d3d12.c | 719 +- libs/SDL3/src/gpu/metal/SDL_gpu_metal.m | 139 +- libs/SDL3/src/gpu/vulkan/SDL_gpu_vulkan.c | 1591 +- .../src/gpu/vulkan/SDL_gpu_vulkan_vkfuncs.h | 5 +- libs/SDL3/src/haptic/SDL_haptic.c | 183 +- libs/SDL3/src/haptic/SDL_haptic_c.h | 2 +- libs/SDL3/src/haptic/SDL_syshaptic.h | 4 +- libs/SDL3/src/haptic/android/SDL_syshaptic.c | 2 +- .../SDL3/src/haptic/android/SDL_syshaptic_c.h | 2 +- libs/SDL3/src/haptic/darwin/SDL_syshaptic.c | 6 +- libs/SDL3/src/haptic/darwin/SDL_syshaptic_c.h | 2 +- libs/SDL3/src/haptic/dummy/SDL_syshaptic.c | 2 +- .../SDL3/src/haptic/hidapi/SDL_hidapihaptic.c | 317 + .../SDL3/src/haptic/hidapi/SDL_hidapihaptic.h | 48 + .../src/haptic/hidapi/SDL_hidapihaptic_c.h | 70 + .../haptic/hidapi/SDL_hidapihaptic_lg4ff.c | 1264 + libs/SDL3/src/haptic/linux/SDL_syshaptic.c | 11 +- .../src/haptic/windows/SDL_dinputhaptic.c | 112 +- .../src/haptic/windows/SDL_dinputhaptic_c.h | 2 +- .../src/haptic/windows/SDL_windowshaptic.c | 2 +- .../src/haptic/windows/SDL_windowshaptic_c.h | 2 +- libs/SDL3/src/hidapi/SDL_hidapi.c | 473 +- libs/SDL3/src/hidapi/SDL_hidapi_android.h | 2 +- libs/SDL3/src/hidapi/SDL_hidapi_c.h | 13 +- libs/SDL3/src/hidapi/SDL_hidapi_ios.h | 2 +- libs/SDL3/src/hidapi/SDL_hidapi_libusb.h | 21 +- libs/SDL3/src/hidapi/SDL_hidapi_linux.h | 2 +- libs/SDL3/src/hidapi/SDL_hidapi_mac.h | 2 +- libs/SDL3/src/hidapi/SDL_hidapi_netbsd.h | 2 +- libs/SDL3/src/hidapi/SDL_hidapi_steamxbox.h | 2 +- libs/SDL3/src/hidapi/SDL_hidapi_windows.h | 2 +- libs/SDL3/src/hidapi/android/hid.cpp | 16 +- libs/SDL3/src/hidapi/ios/hid.m | 287 +- libs/SDL3/src/hidapi/libusb/hid.c | 47 +- .../src/hidapi/libusb/hidapi_thread_sdl.h | 2 +- libs/SDL3/src/hidapi/linux/hid.c | 4 +- libs/SDL3/src/hidapi/mac/hid.c | 4 +- libs/SDL3/src/hidapi/netbsd/hid.c | 2 +- libs/SDL3/src/hidapi/windows/hid.c | 11 +- libs/SDL3/src/io/SDL_asyncio.c | 52 +- libs/SDL3/src/io/SDL_asyncio_c.h | 2 +- libs/SDL3/src/io/SDL_iostream.c | 262 +- libs/SDL3/src/io/SDL_iostream_c.h | 2 +- libs/SDL3/src/io/SDL_sysasyncio.h | 3 +- .../SDL3/src/io/generic/SDL_asyncio_generic.c | 2 +- .../src/io/io_uring/SDL_asyncio_liburing.c | 16 +- libs/SDL3/src/io/n3ds/SDL_iostreamromfs.c | 2 +- libs/SDL3/src/io/n3ds/SDL_iostreamromfs.h | 2 +- .../io/windows/SDL_asyncio_windows_ioring.c | 16 +- libs/SDL3/src/joystick/SDL_gamepad.c | 837 +- libs/SDL3/src/joystick/SDL_gamepad_c.h | 2 +- libs/SDL3/src/joystick/SDL_gamepad_db.h | 86 +- libs/SDL3/src/joystick/SDL_joystick.c | 421 +- libs/SDL3/src/joystick/SDL_joystick_c.h | 14 +- .../src/joystick/SDL_steam_virtual_gamepad.c | 18 +- .../src/joystick/SDL_steam_virtual_gamepad.h | 2 +- libs/SDL3/src/joystick/SDL_sysjoystick.h | 2 +- .../src/joystick/android/SDL_sysjoystick.c | 26 +- .../src/joystick/android/SDL_sysjoystick_c.h | 5 +- .../SDL3/src/joystick/apple/SDL_mfijoystick.m | 103 +- .../src/joystick/apple/SDL_mfijoystick_c.h | 3 +- libs/SDL3/src/joystick/bsd/SDL_bsdjoystick.c | 10 +- libs/SDL3/src/joystick/controller_list.h | 34 +- libs/SDL3/src/joystick/controller_type.h | 2 + .../src/joystick/darwin/SDL_iokitjoystick.c | 2 +- .../src/joystick/darwin/SDL_iokitjoystick_c.h | 2 +- .../SDL3/src/joystick/dummy/SDL_sysjoystick.c | 2 +- .../src/joystick/emscripten/SDL_sysjoystick.c | 253 +- .../joystick/emscripten/SDL_sysjoystick_c.h | 10 +- ...utjoystick.c => SDL_gameinputjoystick.cpp} | 207 +- .../src/joystick/haiku/SDL_haikujoystick.cc | 2 +- .../src/joystick/hidapi/SDL_hidapi_8bitdo.c | 711 + .../src/joystick/hidapi/SDL_hidapi_combined.c | 10 +- .../src/joystick/hidapi/SDL_hidapi_flydigi.c | 1007 + .../src/joystick/hidapi/SDL_hidapi_flydigi.h | 38 + .../src/joystick/hidapi/SDL_hidapi_gamecube.c | 123 +- .../SDL3/src/joystick/hidapi/SDL_hidapi_gip.c | 2958 + .../src/joystick/hidapi/SDL_hidapi_lg4ff.c | 1011 + .../src/joystick/hidapi/SDL_hidapi_luna.c | 2 +- .../src/joystick/hidapi/SDL_hidapi_nintendo.h | 2 +- .../SDL3/src/joystick/hidapi/SDL_hidapi_ps3.c | 4 +- .../SDL3/src/joystick/hidapi/SDL_hidapi_ps4.c | 8 +- .../SDL3/src/joystick/hidapi/SDL_hidapi_ps5.c | 74 +- .../src/joystick/hidapi/SDL_hidapi_rumble.c | 2 +- .../src/joystick/hidapi/SDL_hidapi_rumble.h | 4 +- .../src/joystick/hidapi/SDL_hidapi_shield.c | 60 +- .../src/joystick/hidapi/SDL_hidapi_sinput.c | 1131 + .../src/joystick/hidapi/SDL_hidapi_sinput.h | 92 + .../src/joystick/hidapi/SDL_hidapi_stadia.c | 2 +- .../src/joystick/hidapi/SDL_hidapi_steam.c | 72 +- .../joystick/hidapi/SDL_hidapi_steam_hori.c | 55 +- .../joystick/hidapi/SDL_hidapi_steam_triton.c | 540 + .../joystick/hidapi/SDL_hidapi_steamdeck.c | 25 +- .../src/joystick/hidapi/SDL_hidapi_switch.c | 201 +- .../src/joystick/hidapi/SDL_hidapi_switch2.c | 1339 + .../SDL3/src/joystick/hidapi/SDL_hidapi_wii.c | 4 +- .../src/joystick/hidapi/SDL_hidapi_xbox360.c | 2 +- .../src/joystick/hidapi/SDL_hidapi_xbox360w.c | 2 +- .../src/joystick/hidapi/SDL_hidapi_xboxone.c | 447 +- .../src/joystick/hidapi/SDL_hidapi_zuiki.c | 297 + .../src/joystick/hidapi/SDL_hidapijoystick.c | 54 +- .../joystick/hidapi/SDL_hidapijoystick_c.h | 26 +- .../joystick/hidapi/SDL_report_descriptor.c | 616 + .../joystick/hidapi/SDL_report_descriptor.h | 40 + .../hidapi/steam/controller_constants.h | 14 +- .../hidapi/steam/controller_structs.h | 240 +- .../SDL3/src/joystick/linux/SDL_sysjoystick.c | 184 +- .../src/joystick/linux/SDL_sysjoystick_c.h | 2 +- libs/SDL3/src/joystick/n3ds/SDL_sysjoystick.c | 2 +- libs/SDL3/src/joystick/ps2/SDL_sysjoystick.c | 64 +- libs/SDL3/src/joystick/psp/SDL_sysjoystick.c | 2 +- libs/SDL3/src/joystick/usb_ids.h | 84 +- .../joystick/virtual/SDL_virtualjoystick.c | 8 +- .../joystick/virtual/SDL_virtualjoystick_c.h | 2 +- libs/SDL3/src/joystick/vita/SDL_sysjoystick.c | 2 +- .../src/joystick/windows/SDL_dinputjoystick.c | 42 +- .../joystick/windows/SDL_dinputjoystick_c.h | 2 +- .../joystick/windows/SDL_rawinputjoystick.c | 18 +- .../joystick/windows/SDL_rawinputjoystick_c.h | 6 +- .../windows/SDL_windows_gaming_input.c | 14 +- .../joystick/windows/SDL_windowsjoystick.c | 47 +- .../joystick/windows/SDL_windowsjoystick_c.h | 6 +- .../src/joystick/windows/SDL_xinputjoystick.c | 2 +- .../joystick/windows/SDL_xinputjoystick_c.h | 2 +- libs/SDL3/src/libm/e_exp.c | 6 +- libs/SDL3/src/libm/e_log.c | 4 +- libs/SDL3/src/libm/e_pow.c | 4 - libs/SDL3/src/libm/e_sqrt.c | 2 +- libs/SDL3/src/libm/k_rem_pio2.c | 2 +- libs/SDL3/src/libm/math_libm.h | 2 +- libs/SDL3/src/libm/s_atan.c | 4 - libs/SDL3/src/libm/s_floor.c | 4 - libs/SDL3/src/libm/s_scalbn.c | 4 - libs/SDL3/src/loadso/dlopen/SDL_sysloadso.c | 2 +- libs/SDL3/src/loadso/dummy/SDL_sysloadso.c | 2 +- libs/SDL3/src/loadso/windows/SDL_sysloadso.c | 4 +- libs/SDL3/src/locale/SDL_locale.c | 2 +- libs/SDL3/src/locale/SDL_syslocale.h | 2 +- libs/SDL3/src/locale/android/SDL_syslocale.c | 2 +- libs/SDL3/src/locale/dummy/SDL_syslocale.c | 2 +- .../src/locale/emscripten/SDL_syslocale.c | 4 +- libs/SDL3/src/locale/haiku/SDL_syslocale.cc | 2 +- libs/SDL3/src/locale/macos/SDL_syslocale.m | 2 +- libs/SDL3/src/locale/n3ds/SDL_syslocale.c | 10 +- libs/SDL3/src/locale/ngage/SDL_syslocale.cpp | 307 + libs/SDL3/src/locale/psp/SDL_syslocale.c | 2 +- libs/SDL3/src/locale/unix/SDL_syslocale.c | 2 +- libs/SDL3/src/locale/vita/SDL_syslocale.c | 2 +- libs/SDL3/src/locale/windows/SDL_syslocale.c | 4 +- libs/SDL3/src/main/SDL_main_callbacks.c | 20 +- libs/SDL3/src/main/SDL_main_callbacks.h | 7 +- libs/SDL3/src/main/SDL_runapp.c | 29 +- .../main/emscripten/SDL_sysmain_callbacks.c | 71 +- .../src/main/emscripten/SDL_sysmain_runapp.c | 12 +- libs/SDL3/src/main/gdk/SDL_sysmain_runapp.cpp | 77 +- .../src/main/generic/SDL_sysmain_callbacks.c | 14 +- .../SDL3/src/main/ios/SDL_sysmain_callbacks.m | 15 +- libs/SDL3/src/main/n3ds/SDL_sysmain_runapp.c | 10 +- .../src/main/ngage/SDL_sysmain_callbacks.c | 31 + libs/SDL3/src/main/ngage/SDL_sysmain_main.cpp | 199 + libs/SDL3/src/main/ngage/SDL_sysmain_main.hpp | 46 + libs/SDL3/src/main/ps2/SDL_sysmain_runapp.c | 14 +- libs/SDL3/src/main/psp/SDL_sysmain_runapp.c | 10 +- .../src/main/windows/SDL_sysmain_runapp.c | 76 +- libs/SDL3/src/misc/SDL_libusb.c | 119 + libs/SDL3/src/misc/SDL_libusb.h | 102 + libs/SDL3/src/misc/SDL_sysurl.h | 2 +- libs/SDL3/src/misc/SDL_url.c | 4 +- libs/SDL3/src/misc/android/SDL_sysurl.c | 2 +- libs/SDL3/src/misc/dummy/SDL_sysurl.c | 2 +- libs/SDL3/src/misc/emscripten/SDL_sysurl.c | 2 +- libs/SDL3/src/misc/haiku/SDL_sysurl.cc | 2 +- libs/SDL3/src/misc/ios/SDL_sysurl.m | 2 +- libs/SDL3/src/misc/macos/SDL_sysurl.m | 2 +- libs/SDL3/src/misc/riscos/SDL_sysurl.c | 2 +- libs/SDL3/src/misc/unix/SDL_sysurl.c | 2 +- libs/SDL3/src/misc/vita/SDL_sysurl.c | 2 +- libs/SDL3/src/misc/windows/SDL_sysurl.c | 2 +- libs/SDL3/src/power/SDL_power.c | 4 +- libs/SDL3/src/power/SDL_syspower.h | 2 +- libs/SDL3/src/power/android/SDL_syspower.c | 2 +- libs/SDL3/src/power/emscripten/SDL_syspower.c | 2 +- libs/SDL3/src/power/haiku/SDL_syspower.c | 4 +- libs/SDL3/src/power/linux/SDL_syspower.c | 54 +- libs/SDL3/src/power/macos/SDL_syspower.c | 2 +- libs/SDL3/src/power/n3ds/SDL_syspower.c | 2 +- libs/SDL3/src/power/psp/SDL_syspower.c | 2 +- libs/SDL3/src/power/uikit/SDL_syspower.h | 2 +- libs/SDL3/src/power/uikit/SDL_syspower.m | 2 +- libs/SDL3/src/power/vita/SDL_syspower.c | 2 +- libs/SDL3/src/power/windows/SDL_syspower.c | 2 +- libs/SDL3/src/process/SDL_process.c | 26 +- libs/SDL3/src/process/SDL_sysprocess.h | 7 +- .../SDL3/src/process/dummy/SDL_dummyprocess.c | 2 +- .../SDL3/src/process/posix/SDL_posixprocess.c | 33 +- .../src/process/windows/SDL_windowsprocess.c | 67 +- libs/SDL3/src/render/SDL_d3dmath.c | 135 - libs/SDL3/src/render/SDL_d3dmath.h | 111 +- libs/SDL3/src/render/SDL_render.c | 1282 +- libs/SDL3/src/render/SDL_render_debug_font.h | 2 +- libs/SDL3/src/render/SDL_render_unsupported.c | 2 +- libs/SDL3/src/render/SDL_sysrender.h | 82 +- libs/SDL3/src/render/SDL_yuv_sw.c | 2 +- libs/SDL3/src/render/SDL_yuv_sw_c.h | 2 +- .../direct3d/D3D9_PixelShader_Palette.h | 272 + .../direct3d/D3D9_PixelShader_Palette.hlsli | 49 + .../D3D9_PixelShader_Palette_Linear.h | 209 + .../D3D9_PixelShader_Palette_Linear.hlsl | 7 + .../D3D9_PixelShader_Palette_Nearest.h | 95 + .../D3D9_PixelShader_Palette_Nearest.hlsl | 7 + .../render/direct3d/D3D9_PixelShader_YUV.h | 218 +- .../SDL3/src/render/direct3d/SDL_render_d3d.c | 473 +- .../src/render/direct3d/SDL_shaders_d3d.c | 12 +- .../src/render/direct3d/SDL_shaders_d3d.h | 4 +- .../src/render/direct3d/compile_shaders.bat | 2 + .../direct3d11/D3D11_PixelShader_Advanced.h | 2650 +- .../direct3d11/D3D11_PixelShader_Colors.h | 438 +- .../direct3d11/D3D11_PixelShader_Common.hlsli | 68 +- .../direct3d11/D3D11_PixelShader_Textures.h | 509 +- .../D3D11_PixelShader_Textures.hlsl | 4 +- .../render/direct3d11/D3D11_VertexShader.h | 484 +- .../src/render/direct3d11/SDL_render_d3d11.c | 806 +- .../src/render/direct3d11/SDL_shaders_d3d11.c | 10 +- .../src/render/direct3d11/SDL_shaders_d3d11.h | 2 +- .../direct3d12/D3D12_PixelShader_Advanced.h | 2886 +- .../direct3d12/D3D12_PixelShader_Colors.h | 687 +- .../direct3d12/D3D12_PixelShader_Common.hlsli | 68 +- .../direct3d12/D3D12_PixelShader_Textures.h | 825 +- .../direct3d12/D3D12_RootSig_Advanced.h | 41 +- .../render/direct3d12/D3D12_RootSig_Color.h | 8 +- .../render/direct3d12/D3D12_RootSig_Texture.h | 8 +- .../direct3d12/D3D12_Shader_Common.hlsli | 18 +- .../render/direct3d12/D3D12_VertexShader.hlsl | 4 +- .../direct3d12/D3D12_VertexShader_Advanced.h | 837 +- .../direct3d12/D3D12_VertexShader_Color.h | 799 +- .../direct3d12/D3D12_VertexShader_Texture.h | 817 +- .../src/render/direct3d12/SDL_render_d3d12.c | 764 +- .../direct3d12/SDL_render_d3d12_xbox.cpp | 20 +- .../render/direct3d12/SDL_render_d3d12_xbox.h | 2 +- .../src/render/direct3d12/SDL_shaders_d3d12.c | 4 +- .../src/render/direct3d12/SDL_shaders_d3d12.h | 2 +- .../direct3d12/SDL_shaders_d3d12_xboxone.cpp | 4 +- .../SDL_shaders_d3d12_xboxseries.cpp | 4 +- libs/SDL3/src/render/gpu/SDL_gpu_util.h | 2 +- libs/SDL3/src/render/gpu/SDL_pipeline_gpu.c | 55 +- libs/SDL3/src/render/gpu/SDL_pipeline_gpu.h | 3 +- libs/SDL3/src/render/gpu/SDL_render_gpu.c | 1161 +- libs/SDL3/src/render/gpu/SDL_shaders_gpu.c | 95 +- libs/SDL3/src/render/gpu/SDL_shaders_gpu.h | 4 +- .../src/render/gpu/shaders/build-shaders.sh | 105 +- libs/SDL3/src/render/gpu/shaders/color.frag | 9 - .../src/render/gpu/shaders/color.frag.dxil.h | 283 + .../src/render/gpu/shaders/color.frag.metal.h | 28 - .../src/render/gpu/shaders/color.frag.msl.h | 54 + .../render/gpu/shaders/color.frag.sm50.dxbc.h | 85 - .../render/gpu/shaders/color.frag.sm60.dxil.h | 340 - .../src/render/gpu/shaders/color.frag.spv.h | 91 +- .../src/render/gpu/shaders/common.frag.hlsli | 10 + libs/SDL3/src/render/gpu/shaders/dxbc50.h | 6 - libs/SDL3/src/render/gpu/shaders/dxil.h | 7 + libs/SDL3/src/render/gpu/shaders/dxil60.h | 6 - .../src/render/gpu/shaders/linepoint.vert | 17 - .../render/gpu/shaders/linepoint.vert.dxil.h | 330 + .../render/gpu/shaders/linepoint.vert.metal.h | 51 - .../render/gpu/shaders/linepoint.vert.msl.h | 58 + .../gpu/shaders/linepoint.vert.sm50.dxbc.h | 172 - .../gpu/shaders/linepoint.vert.sm60.dxil.h | 496 - .../render/gpu/shaders/linepoint.vert.spv.h | 171 +- libs/SDL3/src/render/gpu/shaders/metal.h | 6 - libs/SDL3/src/render/gpu/shaders/msl.h | 7 + libs/SDL3/src/render/gpu/shaders/spir-v.h | 7 +- .../gpu/shaders/texture_advanced.frag.dxil.h | 919 + .../gpu/shaders/texture_advanced.frag.msl.h | 1463 + .../gpu/shaders/texture_advanced.frag.spv.h | 1442 + .../src/render/gpu/shaders/texture_rgb.frag | 12 - .../gpu/shaders/texture_rgb.frag.dxil.h | 353 + .../gpu/shaders/texture_rgb.frag.metal.h | 41 - .../render/gpu/shaders/texture_rgb.frag.msl.h | 69 + .../gpu/shaders/texture_rgb.frag.sm50.dxbc.h | 123 - .../gpu/shaders/texture_rgb.frag.sm60.dxil.h | 465 - .../render/gpu/shaders/texture_rgb.frag.spv.h | 169 +- .../src/render/gpu/shaders/texture_rgba.frag | 12 - .../gpu/shaders/texture_rgba.frag.dxil.h | 353 + .../gpu/shaders/texture_rgba.frag.metal.h | 40 - .../gpu/shaders/texture_rgba.frag.msl.h | 69 + .../gpu/shaders/texture_rgba.frag.sm50.dxbc.h | 120 - .../gpu/shaders/texture_rgba.frag.sm60.dxil.h | 467 - .../gpu/shaders/texture_rgba.frag.spv.h | 155 +- .../src/render/gpu/shaders/tri_color.vert | 17 - .../render/gpu/shaders/tri_color.vert.dxil.h | 330 + .../render/gpu/shaders/tri_color.vert.metal.h | 48 - .../render/gpu/shaders/tri_color.vert.msl.h | 52 + .../gpu/shaders/tri_color.vert.sm50.dxbc.h | 178 - .../gpu/shaders/tri_color.vert.sm60.dxil.h | 515 - .../render/gpu/shaders/tri_color.vert.spv.h | 162 +- .../src/render/gpu/shaders/tri_texture.vert | 20 - .../gpu/shaders/tri_texture.vert.dxil.h | 354 + .../gpu/shaders/tri_texture.vert.metal.h | 56 - .../render/gpu/shaders/tri_texture.vert.msl.h | 64 + .../gpu/shaders/tri_texture.vert.sm50.dxbc.h | 195 - .../gpu/shaders/tri_texture.vert.sm60.dxil.h | 558 - .../render/gpu/shaders/tri_texture.vert.spv.h | 191 +- libs/SDL3/src/render/metal/SDL_render_metal.m | 296 +- .../src/render/metal/SDL_shaders_metal.metal | 95 +- .../src/render/metal/SDL_shaders_metal_ios.h | 4937 +- .../metal/SDL_shaders_metal_iphonesimulator.h | 7186 +- .../render/metal/SDL_shaders_metal_macos.h | 4979 +- .../src/render/metal/SDL_shaders_metal_tvos.h | 4937 +- .../metal/SDL_shaders_metal_tvsimulator.h | 7220 +- libs/SDL3/src/render/ngage/SDL_render_ngage.c | 536 + .../src/render/ngage/SDL_render_ngage.cpp | 744 + .../src/render/ngage/SDL_render_ngage_c.h | 105 + .../src/render/ngage/SDL_render_ngage_c.hpp | 91 + libs/SDL3/src/render/ngage/SDL_render_ops.cpp | 152 + libs/SDL3/src/render/ngage/SDL_render_ops.hpp | 32 + libs/SDL3/src/render/opengl/SDL_glfuncs.h | 2 +- libs/SDL3/src/render/opengl/SDL_render_gl.c | 413 +- libs/SDL3/src/render/opengl/SDL_shaders_gl.c | 325 +- libs/SDL3/src/render/opengl/SDL_shaders_gl.h | 8 +- .../src/render/opengles2/SDL_gles2funcs.h | 2 +- .../src/render/opengles2/SDL_render_gles2.c | 482 +- .../src/render/opengles2/SDL_shaders_gles2.c | 463 +- .../src/render/opengles2/SDL_shaders_gles2.h | 18 +- libs/SDL3/src/render/ps2/SDL_render_ps2.c | 54 +- libs/SDL3/src/render/psp/SDL_render_psp.c | 270 +- libs/SDL3/src/render/psp/SDL_render_psp_c.h | 2 +- .../src/render/software/SDL_blendfillrect.c | 6 +- .../src/render/software/SDL_blendfillrect.h | 2 +- libs/SDL3/src/render/software/SDL_blendline.c | 4 +- libs/SDL3/src/render/software/SDL_blendline.h | 2 +- .../SDL3/src/render/software/SDL_blendpoint.c | 6 +- .../SDL3/src/render/software/SDL_blendpoint.h | 2 +- libs/SDL3/src/render/software/SDL_draw.h | 189 +- libs/SDL3/src/render/software/SDL_drawline.c | 16 +- libs/SDL3/src/render/software/SDL_drawline.h | 2 +- libs/SDL3/src/render/software/SDL_drawpoint.c | 6 +- libs/SDL3/src/render/software/SDL_drawpoint.h | 2 +- libs/SDL3/src/render/software/SDL_render_sw.c | 141 +- .../src/render/software/SDL_render_sw_c.h | 2 +- libs/SDL3/src/render/software/SDL_triangle.c | 101 +- libs/SDL3/src/render/software/SDL_triangle.h | 7 +- .../src/render/vitagxm/SDL_render_vita_gxm.c | 123 +- .../vitagxm/SDL_render_vita_gxm_memory.c | 2 +- .../vitagxm/SDL_render_vita_gxm_memory.h | 2 +- .../vitagxm/SDL_render_vita_gxm_shaders.h | 2 +- .../vitagxm/SDL_render_vita_gxm_tools.c | 12 +- .../vitagxm/SDL_render_vita_gxm_tools.h | 2 +- .../vitagxm/SDL_render_vita_gxm_types.h | 6 +- .../src/render/vulkan/SDL_render_vulkan.c | 729 +- .../src/render/vulkan/SDL_shaders_vulkan.c | 2 +- .../src/render/vulkan/SDL_shaders_vulkan.h | 2 +- .../vulkan/VULKAN_PixelShader_Advanced.h | 696 +- .../render/vulkan/VULKAN_PixelShader_Colors.h | 70 +- .../vulkan/VULKAN_PixelShader_Common.hlsli | 82 +- .../vulkan/VULKAN_PixelShader_Textures.h | 88 +- libs/SDL3/src/sensor/SDL_sensor.c | 15 +- libs/SDL3/src/sensor/SDL_sensor_c.h | 2 +- libs/SDL3/src/sensor/SDL_syssensor.h | 3 +- .../src/sensor/android/SDL_androidsensor.c | 2 +- .../src/sensor/android/SDL_androidsensor.h | 2 +- .../sensor/coremotion/SDL_coremotionsensor.h | 2 +- .../sensor/coremotion/SDL_coremotionsensor.m | 2 +- libs/SDL3/src/sensor/dummy/SDL_dummysensor.c | 2 +- libs/SDL3/src/sensor/dummy/SDL_dummysensor.h | 2 +- .../sensor/emscripten/SDL_emscriptensensor.c | 195 + .../emscripten/SDL_emscriptensensor.h} | 7 +- libs/SDL3/src/sensor/n3ds/SDL_n3dssensor.c | 2 +- libs/SDL3/src/sensor/vita/SDL_vitasensor.c | 2 +- libs/SDL3/src/sensor/vita/SDL_vitasensor.h | 2 +- .../src/sensor/windows/SDL_windowssensor.c | 2 +- .../src/sensor/windows/SDL_windowssensor.h | 2 +- libs/SDL3/src/stdlib/SDL_casefolding.h | 2 +- libs/SDL3/src/stdlib/SDL_crc16.c | 2 +- libs/SDL3/src/stdlib/SDL_crc32.c | 2 +- libs/SDL3/src/stdlib/SDL_getenv.c | 53 +- libs/SDL3/src/stdlib/SDL_getenv_c.h | 2 +- libs/SDL3/src/stdlib/SDL_iconv.c | 2 +- libs/SDL3/src/stdlib/SDL_malloc.c | 12 +- libs/SDL3/src/stdlib/SDL_memcpy.c | 2 +- libs/SDL3/src/stdlib/SDL_memmove.c | 2 +- libs/SDL3/src/stdlib/SDL_memset.c | 2 +- libs/SDL3/src/stdlib/SDL_mslibc.c | 35 +- libs/SDL3/src/stdlib/SDL_murmur3.c | 2 +- libs/SDL3/src/stdlib/SDL_qsort.c | 10 +- libs/SDL3/src/stdlib/SDL_random.c | 2 +- libs/SDL3/src/stdlib/SDL_stdlib.c | 12 +- libs/SDL3/src/stdlib/SDL_string.c | 23 +- libs/SDL3/src/stdlib/SDL_strtokr.c | 2 +- libs/SDL3/src/stdlib/SDL_sysstdlib.h | 2 +- libs/SDL3/src/stdlib/SDL_vacopy.h | 5 +- libs/SDL3/src/storage/SDL_storage.c | 99 +- libs/SDL3/src/storage/SDL_sysstorage.h | 6 +- .../src/storage/generic/SDL_genericstorage.c | 94 +- .../SDL3/src/storage/steam/SDL_steamstorage.c | 179 +- .../src/storage/steam/SDL_steamstorage_proc.h | 6 + libs/SDL3/src/test/SDL_test_assert.c | 60 +- libs/SDL3/src/test/SDL_test_common.c | 171 +- libs/SDL3/src/test/SDL_test_compare.c | 110 +- libs/SDL3/src/test/SDL_test_crc32.c | 2 +- libs/SDL3/src/test/SDL_test_font.c | 2 +- libs/SDL3/src/test/SDL_test_fuzzer.c | 2 +- libs/SDL3/src/test/SDL_test_harness.c | 89 +- libs/SDL3/src/test/SDL_test_internal.h | 38 + libs/SDL3/src/test/SDL_test_log.c | 59 +- libs/SDL3/src/test/SDL_test_md5.c | 2 +- libs/SDL3/src/test/SDL_test_memory.c | 19 +- libs/SDL3/src/thread/SDL_systhread.h | 2 +- libs/SDL3/src/thread/SDL_thread.c | 24 +- libs/SDL3/src/thread/SDL_thread_c.h | 11 +- libs/SDL3/src/thread/generic/SDL_syscond.c | 2 +- libs/SDL3/src/thread/generic/SDL_syscond_c.h | 2 +- libs/SDL3/src/thread/generic/SDL_sysmutex.c | 2 +- libs/SDL3/src/thread/generic/SDL_sysmutex_c.h | 2 +- libs/SDL3/src/thread/generic/SDL_sysrwlock.c | 2 +- .../SDL3/src/thread/generic/SDL_sysrwlock_c.h | 2 +- libs/SDL3/src/thread/generic/SDL_syssem.c | 2 +- libs/SDL3/src/thread/generic/SDL_systhread.c | 2 +- .../SDL3/src/thread/generic/SDL_systhread_c.h | 2 +- libs/SDL3/src/thread/generic/SDL_systls.c | 2 +- libs/SDL3/src/thread/n3ds/SDL_sysmutex.c | 6 +- libs/SDL3/src/thread/n3ds/SDL_sysmutex_c.h | 2 +- libs/SDL3/src/thread/n3ds/SDL_syssem.c | 2 +- libs/SDL3/src/thread/n3ds/SDL_systhread.c | 13 +- libs/SDL3/src/thread/n3ds/SDL_systhread_c.h | 2 +- libs/SDL3/src/thread/ps2/SDL_syssem.c | 2 +- libs/SDL3/src/thread/ps2/SDL_systhread.c | 2 +- libs/SDL3/src/thread/ps2/SDL_systhread_c.h | 2 +- libs/SDL3/src/thread/psp/SDL_sysmutex.c | 2 +- libs/SDL3/src/thread/psp/SDL_sysmutex_c.h | 2 +- libs/SDL3/src/thread/psp/SDL_syssem.c | 2 +- libs/SDL3/src/thread/psp/SDL_systhread.c | 2 +- libs/SDL3/src/thread/psp/SDL_systhread_c.h | 2 +- libs/SDL3/src/thread/pthread/SDL_syscond.c | 2 +- libs/SDL3/src/thread/pthread/SDL_sysmutex.c | 3 +- libs/SDL3/src/thread/pthread/SDL_sysmutex_c.h | 2 +- libs/SDL3/src/thread/pthread/SDL_sysrwlock.c | 2 +- libs/SDL3/src/thread/pthread/SDL_syssem.c | 2 +- libs/SDL3/src/thread/pthread/SDL_systhread.c | 6 +- .../SDL3/src/thread/pthread/SDL_systhread_c.h | 2 +- libs/SDL3/src/thread/pthread/SDL_systls.c | 2 +- libs/SDL3/src/thread/vita/SDL_sysmutex.c | 2 +- libs/SDL3/src/thread/vita/SDL_sysmutex_c.h | 2 +- libs/SDL3/src/thread/vita/SDL_syssem.c | 2 +- libs/SDL3/src/thread/vita/SDL_systhread.c | 2 +- libs/SDL3/src/thread/vita/SDL_systhread_c.h | 2 +- libs/SDL3/src/thread/windows/SDL_syscond_cv.c | 10 +- libs/SDL3/src/thread/windows/SDL_sysmutex.c | 10 +- libs/SDL3/src/thread/windows/SDL_sysmutex_c.h | 2 +- .../src/thread/windows/SDL_sysrwlock_srw.c | 16 +- libs/SDL3/src/thread/windows/SDL_syssem.c | 6 +- libs/SDL3/src/thread/windows/SDL_systhread.c | 4 +- .../SDL3/src/thread/windows/SDL_systhread_c.h | 2 +- libs/SDL3/src/thread/windows/SDL_systls.c | 2 +- libs/SDL3/src/time/SDL_time.c | 9 +- libs/SDL3/src/time/SDL_time_c.h | 2 +- libs/SDL3/src/time/n3ds/SDL_systime.c | 6 +- libs/SDL3/src/time/ngage/SDL_systime.cpp | 223 + libs/SDL3/src/time/ps2/SDL_systime.c | 7 +- libs/SDL3/src/time/psp/SDL_systime.c | 6 +- libs/SDL3/src/time/unix/SDL_systime.c | 6 +- libs/SDL3/src/time/vita/SDL_systime.c | 6 +- libs/SDL3/src/time/windows/SDL_systime.c | 12 +- libs/SDL3/src/timer/SDL_timer.c | 16 +- libs/SDL3/src/timer/SDL_timer_c.h | 2 +- libs/SDL3/src/timer/haiku/SDL_systimer.c | 2 +- libs/SDL3/src/timer/n3ds/SDL_systimer.c | 2 +- libs/SDL3/src/timer/ngage/SDL_systimer.cpp | 48 + libs/SDL3/src/timer/ps2/SDL_systimer.c | 2 +- libs/SDL3/src/timer/psp/SDL_systimer.c | 2 +- libs/SDL3/src/timer/unix/SDL_systimer.c | 6 +- libs/SDL3/src/timer/vita/SDL_systimer.c | 2 +- libs/SDL3/src/timer/windows/SDL_systimer.c | 128 +- libs/SDL3/src/tray/SDL_tray_utils.c | 4 +- libs/SDL3/src/tray/SDL_tray_utils.h | 4 +- libs/SDL3/src/tray/cocoa/SDL_tray.m | 24 +- libs/SDL3/src/tray/dummy/SDL_tray.c | 6 +- libs/SDL3/src/tray/unix/SDL_tray.c | 461 +- libs/SDL3/src/tray/windows/SDL_tray.c | 95 +- libs/SDL3/src/video/SDL_RLEaccel.c | 255 +- libs/SDL3/src/video/SDL_RLEaccel_c.h | 4 +- libs/SDL3/src/video/SDL_blit.c | 31 +- libs/SDL3/src/video/SDL_blit.h | 249 +- libs/SDL3/src/video/SDL_blit_0.c | 232 +- libs/SDL3/src/video/SDL_blit_1.c | 10 +- libs/SDL3/src/video/SDL_blit_A.c | 134 +- libs/SDL3/src/video/SDL_blit_N.c | 1086 +- libs/SDL3/src/video/SDL_blit_auto.c | 858 +- libs/SDL3/src/video/SDL_blit_auto.h | 2 +- libs/SDL3/src/video/SDL_blit_copy.c | 2 +- libs/SDL3/src/video/SDL_blit_copy.h | 2 +- libs/SDL3/src/video/SDL_blit_slow.c | 56 +- libs/SDL3/src/video/SDL_blit_slow.h | 2 +- libs/SDL3/src/video/SDL_bmp.c | 240 +- libs/SDL3/src/video/SDL_clipboard.c | 21 +- libs/SDL3/src/video/SDL_clipboard_c.h | 2 +- libs/SDL3/src/video/SDL_egl.c | 97 +- libs/SDL3/src/video/SDL_egl_c.h | 2 +- libs/SDL3/src/video/SDL_fillrect.c | 88 +- libs/SDL3/src/video/SDL_pixels.c | 194 +- libs/SDL3/src/video/SDL_pixels_c.h | 6 +- libs/SDL3/src/video/SDL_rect.c | 16 +- libs/SDL3/src/video/SDL_rect_c.h | 2 +- libs/SDL3/src/video/SDL_rect_impl.h | 71 +- .../{render/software => video}/SDL_rotate.c | 15 +- .../{render/software => video}/SDL_rotate.h | 2 +- libs/SDL3/src/video/SDL_stb.c | 389 +- libs/SDL3/src/video/SDL_stb_c.h | 2 +- libs/SDL3/src/video/SDL_stretch.c | 24 +- libs/SDL3/src/video/SDL_surface.c | 700 +- libs/SDL3/src/video/SDL_surface_c.h | 8 +- libs/SDL3/src/video/SDL_sysvideo.h | 28 +- libs/SDL3/src/video/SDL_video.c | 672 +- libs/SDL3/src/video/SDL_video_c.h | 2 +- libs/SDL3/src/video/SDL_video_unsupported.c | 16 +- libs/SDL3/src/video/SDL_video_unsupported.h | 61 + libs/SDL3/src/video/SDL_vulkan_internal.h | 2 +- libs/SDL3/src/video/SDL_vulkan_utils.c | 2 +- libs/SDL3/src/video/SDL_yuv.c | 43 +- libs/SDL3/src/video/SDL_yuv_c.h | 2 +- .../src/video/android/SDL_androidclipboard.c | 2 +- .../src/video/android/SDL_androidclipboard.h | 2 +- .../src/video/android/SDL_androidevents.c | 18 +- .../src/video/android/SDL_androidevents.h | 2 +- libs/SDL3/src/video/android/SDL_androidgl.c | 2 +- libs/SDL3/src/video/android/SDL_androidgl.h | 2 +- .../src/video/android/SDL_androidkeyboard.c | 19 +- .../src/video/android/SDL_androidkeyboard.h | 5 +- .../src/video/android/SDL_androidmessagebox.c | 2 +- .../src/video/android/SDL_androidmessagebox.h | 2 +- .../SDL3/src/video/android/SDL_androidmouse.c | 2 +- .../SDL3/src/video/android/SDL_androidmouse.h | 2 +- libs/SDL3/src/video/android/SDL_androidpen.c | 28 +- libs/SDL3/src/video/android/SDL_androidpen.h | 4 +- .../SDL3/src/video/android/SDL_androidtouch.c | 29 +- .../SDL3/src/video/android/SDL_androidtouch.h | 3 +- .../SDL3/src/video/android/SDL_androidvideo.c | 3 +- .../SDL3/src/video/android/SDL_androidvideo.h | 2 +- .../src/video/android/SDL_androidvulkan.c | 14 +- .../src/video/android/SDL_androidvulkan.h | 4 +- .../src/video/android/SDL_androidwindow.c | 6 +- .../src/video/android/SDL_androidwindow.h | 2 +- .../SDL3/src/video/cocoa/SDL_cocoaclipboard.h | 2 +- .../SDL3/src/video/cocoa/SDL_cocoaclipboard.m | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoaevents.h | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoaevents.m | 20 +- libs/SDL3/src/video/cocoa/SDL_cocoakeyboard.h | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoakeyboard.m | 4 +- .../src/video/cocoa/SDL_cocoamessagebox.h | 2 +- .../src/video/cocoa/SDL_cocoamessagebox.m | 2 +- .../SDL3/src/video/cocoa/SDL_cocoametalview.h | 2 +- .../SDL3/src/video/cocoa/SDL_cocoametalview.m | 6 +- libs/SDL3/src/video/cocoa/SDL_cocoamodes.h | 3 +- libs/SDL3/src/video/cocoa/SDL_cocoamodes.m | 57 +- libs/SDL3/src/video/cocoa/SDL_cocoamouse.h | 15 +- libs/SDL3/src/video/cocoa/SDL_cocoamouse.m | 153 +- libs/SDL3/src/video/cocoa/SDL_cocoaopengl.h | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoaopengl.m | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoaopengles.h | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoaopengles.m | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoapen.h | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoapen.m | 18 +- libs/SDL3/src/video/cocoa/SDL_cocoashape.h | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoashape.m | 2 +- libs/SDL3/src/video/cocoa/SDL_cocoavideo.h | 3 +- libs/SDL3/src/video/cocoa/SDL_cocoavideo.m | 8 +- libs/SDL3/src/video/cocoa/SDL_cocoavulkan.h | 4 +- libs/SDL3/src/video/cocoa/SDL_cocoavulkan.m | 8 +- libs/SDL3/src/video/cocoa/SDL_cocoawindow.h | 4 +- libs/SDL3/src/video/cocoa/SDL_cocoawindow.m | 169 +- libs/SDL3/src/video/directx/SDL_d3d12.h | 2 +- .../src/video/directx/gen_xbox_cmacros.cs | 2 +- libs/SDL3/src/video/dummy/SDL_nullevents.c | 2 +- libs/SDL3/src/video/dummy/SDL_nullevents_c.h | 2 +- .../src/video/dummy/SDL_nullframebuffer.c | 2 +- .../src/video/dummy/SDL_nullframebuffer_c.h | 2 +- libs/SDL3/src/video/dummy/SDL_nullvideo.c | 55 +- libs/SDL3/src/video/dummy/SDL_nullvideo.h | 2 +- .../video/emscripten/SDL_emscriptenevents.c | 924 +- .../video/emscripten/SDL_emscriptenevents.h | 4 +- .../emscripten/SDL_emscriptenframebuffer.c | 58 +- .../emscripten/SDL_emscriptenframebuffer.h | 2 +- .../video/emscripten/SDL_emscriptenmouse.c | 61 +- .../video/emscripten/SDL_emscriptenmouse.h | 2 +- .../video/emscripten/SDL_emscriptenopengles.c | 15 +- .../video/emscripten/SDL_emscriptenopengles.h | 2 +- .../video/emscripten/SDL_emscriptenvideo.c | 444 +- .../video/emscripten/SDL_emscriptenvideo.h | 9 +- libs/SDL3/src/video/gdk/SDL_gdktextinput.cpp | 13 +- libs/SDL3/src/video/gdk/SDL_gdktextinput.h | 3 +- libs/SDL3/src/video/haiku/SDL_BWin.h | 2 +- libs/SDL3/src/video/haiku/SDL_bclipboard.cc | 4 +- libs/SDL3/src/video/haiku/SDL_bclipboard.h | 2 +- libs/SDL3/src/video/haiku/SDL_bevents.cc | 2 +- libs/SDL3/src/video/haiku/SDL_bevents.h | 2 +- libs/SDL3/src/video/haiku/SDL_bframebuffer.cc | 2 +- libs/SDL3/src/video/haiku/SDL_bframebuffer.h | 2 +- libs/SDL3/src/video/haiku/SDL_bkeyboard.cc | 2 +- libs/SDL3/src/video/haiku/SDL_bkeyboard.h | 2 +- libs/SDL3/src/video/haiku/SDL_bmessagebox.cc | 4 +- libs/SDL3/src/video/haiku/SDL_bmessagebox.h | 2 +- libs/SDL3/src/video/haiku/SDL_bmodes.cc | 6 +- libs/SDL3/src/video/haiku/SDL_bmodes.h | 2 +- libs/SDL3/src/video/haiku/SDL_bopengl.cc | 8 +- libs/SDL3/src/video/haiku/SDL_bopengl.h | 2 +- libs/SDL3/src/video/haiku/SDL_bvideo.cc | 20 +- libs/SDL3/src/video/haiku/SDL_bvideo.h | 2 +- libs/SDL3/src/video/haiku/SDL_bwindow.cc | 3 +- libs/SDL3/src/video/haiku/SDL_bwindow.h | 2 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmdyn.c | 9 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmdyn.h | 2 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmevents.c | 2 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmevents.h | 2 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmmouse.c | 157 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmmouse.h | 2 +- .../src/video/kmsdrm/SDL_kmsdrmopengles.c | 332 +- .../src/video/kmsdrm/SDL_kmsdrmopengles.h | 2 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmsym.h | 12 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmvideo.c | 875 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmvideo.h | 72 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmvulkan.c | 46 +- libs/SDL3/src/video/kmsdrm/SDL_kmsdrmvulkan.h | 4 +- libs/SDL3/src/video/miniz.h | 5099 + libs/SDL3/src/video/n3ds/SDL_n3dsevents.c | 2 +- libs/SDL3/src/video/n3ds/SDL_n3dsevents_c.h | 2 +- .../SDL3/src/video/n3ds/SDL_n3dsframebuffer.c | 4 +- .../src/video/n3ds/SDL_n3dsframebuffer_c.h | 2 +- libs/SDL3/src/video/n3ds/SDL_n3dsswkb.c | 2 +- libs/SDL3/src/video/n3ds/SDL_n3dsswkb.h | 2 +- libs/SDL3/src/video/n3ds/SDL_n3dstouch.c | 2 +- libs/SDL3/src/video/n3ds/SDL_n3dstouch.h | 2 +- libs/SDL3/src/video/n3ds/SDL_n3dsvideo.c | 15 +- libs/SDL3/src/video/n3ds/SDL_n3dsvideo.h | 6 +- libs/SDL3/src/video/ngage/SDL_ngagevideo.c | 175 + libs/SDL3/src/video/ngage/SDL_ngagevideo.h | 39 + .../src/video/offscreen/SDL_offscreenevents.c | 2 +- .../video/offscreen/SDL_offscreenevents_c.h | 2 +- .../offscreen/SDL_offscreenframebuffer.c | 2 +- .../offscreen/SDL_offscreenframebuffer_c.h | 2 +- .../video/offscreen/SDL_offscreenopengles.c | 2 +- .../video/offscreen/SDL_offscreenopengles.h | 2 +- .../src/video/offscreen/SDL_offscreenvideo.c | 10 +- .../src/video/offscreen/SDL_offscreenvideo.h | 2 +- .../src/video/offscreen/SDL_offscreenvulkan.c | 9 +- .../src/video/offscreen/SDL_offscreenvulkan.h | 2 +- .../src/video/offscreen/SDL_offscreenwindow.c | 2 +- .../src/video/offscreen/SDL_offscreenwindow.h | 2 +- libs/SDL3/src/video/openvr/SDL_openvrvideo.c | 105 +- libs/SDL3/src/video/openvr/SDL_openvrvideo.h | 1 - libs/SDL3/src/video/ps2/SDL_ps2video.c | 4 +- libs/SDL3/src/video/ps2/SDL_ps2video.h | 2 +- libs/SDL3/src/video/psp/SDL_pspevents.c | 4 +- libs/SDL3/src/video/psp/SDL_pspevents_c.h | 2 +- libs/SDL3/src/video/psp/SDL_pspgl.c | 2 +- libs/SDL3/src/video/psp/SDL_pspgl_c.h | 2 +- libs/SDL3/src/video/psp/SDL_pspvideo.c | 12 +- libs/SDL3/src/video/psp/SDL_pspvideo.h | 3 +- libs/SDL3/src/video/qnx/SDL_qnxvideo.c | 4 +- libs/SDL3/src/video/raspberry/SDL_rpievents.c | 2 +- .../src/video/raspberry/SDL_rpievents_c.h | 2 +- libs/SDL3/src/video/raspberry/SDL_rpimouse.c | 4 +- libs/SDL3/src/video/raspberry/SDL_rpimouse.h | 2 +- .../src/video/raspberry/SDL_rpiopengles.c | 2 +- .../src/video/raspberry/SDL_rpiopengles.h | 2 +- libs/SDL3/src/video/raspberry/SDL_rpivideo.c | 2 +- libs/SDL3/src/video/raspberry/SDL_rpivideo.h | 2 +- libs/SDL3/src/video/riscos/SDL_riscosdefs.h | 2 +- libs/SDL3/src/video/riscos/SDL_riscosevents.c | 2 +- .../src/video/riscos/SDL_riscosevents_c.h | 2 +- .../src/video/riscos/SDL_riscosframebuffer.c | 2 +- .../video/riscos/SDL_riscosframebuffer_c.h | 2 +- .../src/video/riscos/SDL_riscosmessagebox.c | 2 +- .../src/video/riscos/SDL_riscosmessagebox.h | 2 +- libs/SDL3/src/video/riscos/SDL_riscosmodes.c | 4 +- libs/SDL3/src/video/riscos/SDL_riscosmodes.h | 2 +- libs/SDL3/src/video/riscos/SDL_riscosmouse.c | 2 +- libs/SDL3/src/video/riscos/SDL_riscosmouse.h | 2 +- libs/SDL3/src/video/riscos/SDL_riscosvideo.c | 6 +- libs/SDL3/src/video/riscos/SDL_riscosvideo.h | 2 +- libs/SDL3/src/video/riscos/SDL_riscoswindow.c | 2 +- libs/SDL3/src/video/riscos/SDL_riscoswindow.h | 2 +- libs/SDL3/src/video/riscos/scancodes_riscos.h | 2 +- libs/SDL3/src/video/sdlgenblit.pl | 94 +- libs/SDL3/src/video/stb_image.h | 82 +- .../src/video/uikit/SDL_uikitappdelegate.h | 11 +- .../src/video/uikit/SDL_uikitappdelegate.m | 202 +- .../SDL3/src/video/uikit/SDL_uikitclipboard.h | 2 +- .../SDL3/src/video/uikit/SDL_uikitclipboard.m | 20 +- libs/SDL3/src/video/uikit/SDL_uikitevents.h | 2 +- libs/SDL3/src/video/uikit/SDL_uikitevents.m | 10 +- .../src/video/uikit/SDL_uikitmessagebox.h | 2 +- .../src/video/uikit/SDL_uikitmessagebox.m | 14 +- .../SDL3/src/video/uikit/SDL_uikitmetalview.h | 2 +- .../SDL3/src/video/uikit/SDL_uikitmetalview.m | 2 +- libs/SDL3/src/video/uikit/SDL_uikitmodes.h | 2 +- libs/SDL3/src/video/uikit/SDL_uikitmodes.m | 9 +- libs/SDL3/src/video/uikit/SDL_uikitopengles.h | 2 +- libs/SDL3/src/video/uikit/SDL_uikitopengles.m | 11 +- .../src/video/uikit/SDL_uikitopenglview.h | 4 +- .../src/video/uikit/SDL_uikitopenglview.m | 6 +- libs/SDL3/src/video/uikit/SDL_uikitpen.h | 2 +- libs/SDL3/src/video/uikit/SDL_uikitpen.m | 21 +- libs/SDL3/src/video/uikit/SDL_uikitvideo.h | 21 +- libs/SDL3/src/video/uikit/SDL_uikitvideo.m | 86 +- libs/SDL3/src/video/uikit/SDL_uikitview.h | 5 +- libs/SDL3/src/video/uikit/SDL_uikitview.m | 70 +- .../src/video/uikit/SDL_uikitviewcontroller.h | 3 +- .../src/video/uikit/SDL_uikitviewcontroller.m | 66 +- libs/SDL3/src/video/uikit/SDL_uikitvulkan.h | 4 +- libs/SDL3/src/video/uikit/SDL_uikitvulkan.m | 5 +- libs/SDL3/src/video/uikit/SDL_uikitwindow.h | 3 +- libs/SDL3/src/video/uikit/SDL_uikitwindow.m | 66 +- .../SDL3/src/video/vita/SDL_vitaframebuffer.c | 4 +- .../SDL3/src/video/vita/SDL_vitaframebuffer.h | 2 +- libs/SDL3/src/video/vita/SDL_vitagl_pvr.c | 3 +- libs/SDL3/src/video/vita/SDL_vitagles.c | 3 +- libs/SDL3/src/video/vita/SDL_vitagles_c.h | 53 - libs/SDL3/src/video/vita/SDL_vitagles_pvr.c | 3 +- libs/SDL3/src/video/vita/SDL_vitakeyboard.c | 4 +- libs/SDL3/src/video/vita/SDL_vitakeyboard.h | 2 +- libs/SDL3/src/video/vita/SDL_vitamessagebox.c | 2 +- libs/SDL3/src/video/vita/SDL_vitamessagebox.h | 2 +- libs/SDL3/src/video/vita/SDL_vitamouse.c | 4 +- libs/SDL3/src/video/vita/SDL_vitamouse_c.h | 2 +- libs/SDL3/src/video/vita/SDL_vitatouch.c | 2 +- libs/SDL3/src/video/vita/SDL_vitatouch.h | 2 +- libs/SDL3/src/video/vita/SDL_vitavideo.c | 38 +- libs/SDL3/src/video/vita/SDL_vitavideo.h | 20 +- .../src/video/vivante/SDL_vivanteopengles.c | 2 +- .../src/video/vivante/SDL_vivanteopengles.h | 2 +- .../src/video/vivante/SDL_vivanteplatform.c | 2 +- .../src/video/vivante/SDL_vivanteplatform.h | 2 +- .../SDL3/src/video/vivante/SDL_vivantevideo.c | 2 +- .../SDL3/src/video/vivante/SDL_vivantevideo.h | 2 +- .../src/video/vivante/SDL_vivantevulkan.c | 7 +- .../src/video/vivante/SDL_vivantevulkan.h | 4 +- .../src/video/wayland/SDL_waylandclipboard.c | 74 +- .../src/video/wayland/SDL_waylandclipboard.h | 2 +- .../SDL3/src/video/wayland/SDL_waylandcolor.c | 81 +- .../SDL3/src/video/wayland/SDL_waylandcolor.h | 2 +- .../video/wayland/SDL_waylanddatamanager.c | 241 +- .../video/wayland/SDL_waylanddatamanager.h | 48 +- libs/SDL3/src/video/wayland/SDL_waylanddyn.c | 59 +- libs/SDL3/src/video/wayland/SDL_waylanddyn.h | 7 +- .../src/video/wayland/SDL_waylandevents.c | 3224 +- .../src/video/wayland/SDL_waylandevents_c.h | 319 +- .../src/video/wayland/SDL_waylandkeyboard.c | 296 +- .../src/video/wayland/SDL_waylandkeyboard.h | 11 +- .../src/video/wayland/SDL_waylandmessagebox.c | 160 +- .../src/video/wayland/SDL_waylandmessagebox.h | 2 +- .../SDL3/src/video/wayland/SDL_waylandmouse.c | 1233 +- .../SDL3/src/video/wayland/SDL_waylandmouse.h | 11 +- .../src/video/wayland/SDL_waylandopengles.c | 2 +- .../src/video/wayland/SDL_waylandopengles.h | 2 +- .../src/video/wayland/SDL_waylandshmbuffer.c | 85 +- .../src/video/wayland/SDL_waylandshmbuffer.h | 15 +- libs/SDL3/src/video/wayland/SDL_waylandsym.h | 52 +- .../SDL3/src/video/wayland/SDL_waylandvideo.c | 340 +- .../SDL3/src/video/wayland/SDL_waylandvideo.h | 25 +- .../src/video/wayland/SDL_waylandvulkan.c | 13 +- .../src/video/wayland/SDL_waylandvulkan.h | 4 +- .../src/video/wayland/SDL_waylandwindow.c | 465 +- .../src/video/wayland/SDL_waylandwindow.h | 34 +- libs/SDL3/src/video/windows/SDL_msctf.h | 2 +- .../src/video/windows/SDL_surface_utils.c | 97 - .../src/video/windows/SDL_windowsclipboard.c | 220 +- .../src/video/windows/SDL_windowsclipboard.h | 2 +- .../src/video/windows/SDL_windowsevents.c | 347 +- .../src/video/windows/SDL_windowsevents.h | 7 +- .../video/windows/SDL_windowsframebuffer.c | 19 +- .../video/windows/SDL_windowsframebuffer.h | 2 +- ...wsgameinput.c => SDL_windowsgameinput.cpp} | 132 +- .../src/video/windows/SDL_windowsgameinput.h | 11 +- .../src/video/windows/SDL_windowskeyboard.c | 142 +- .../src/video/windows/SDL_windowskeyboard.h | 2 +- .../src/video/windows/SDL_windowsmessagebox.c | 22 +- .../src/video/windows/SDL_windowsmessagebox.h | 2 +- .../SDL3/src/video/windows/SDL_windowsmodes.c | 63 +- .../SDL3/src/video/windows/SDL_windowsmodes.h | 5 +- .../SDL3/src/video/windows/SDL_windowsmouse.c | 515 +- .../SDL3/src/video/windows/SDL_windowsmouse.h | 2 +- .../src/video/windows/SDL_windowsopengl.c | 64 +- .../src/video/windows/SDL_windowsopengl.h | 5 +- .../src/video/windows/SDL_windowsopengles.c | 2 +- .../src/video/windows/SDL_windowsopengles.h | 2 +- .../src/video/windows/SDL_windowsrawinput.c | 70 +- .../src/video/windows/SDL_windowsrawinput.h | 4 +- .../SDL3/src/video/windows/SDL_windowsshape.c | 2 +- .../SDL3/src/video/windows/SDL_windowsshape.h | 2 +- .../SDL3/src/video/windows/SDL_windowsvideo.c | 156 +- .../SDL3/src/video/windows/SDL_windowsvideo.h | 158 +- .../src/video/windows/SDL_windowsvulkan.c | 7 +- .../src/video/windows/SDL_windowsvulkan.h | 4 +- .../src/video/windows/SDL_windowswindow.c | 257 +- .../src/video/windows/SDL_windowswindow.h | 9 +- libs/SDL3/src/video/windows/wmmsg.h | 2 +- libs/SDL3/src/video/x11/SDL_x11clipboard.c | 20 +- libs/SDL3/src/video/x11/SDL_x11clipboard.h | 2 +- libs/SDL3/src/video/x11/SDL_x11dyn.c | 98 +- libs/SDL3/src/video/x11/SDL_x11dyn.h | 18 +- libs/SDL3/src/video/x11/SDL_x11events.c | 531 +- libs/SDL3/src/video/x11/SDL_x11events.h | 4 +- libs/SDL3/src/video/x11/SDL_x11framebuffer.c | 6 +- libs/SDL3/src/video/x11/SDL_x11framebuffer.h | 2 +- libs/SDL3/src/video/x11/SDL_x11keyboard.c | 433 +- libs/SDL3/src/video/x11/SDL_x11keyboard.h | 5 +- libs/SDL3/src/video/x11/SDL_x11messagebox.c | 989 +- libs/SDL3/src/video/x11/SDL_x11messagebox.h | 2 +- libs/SDL3/src/video/x11/SDL_x11modes.c | 321 +- libs/SDL3/src/video/x11/SDL_x11modes.h | 7 +- libs/SDL3/src/video/x11/SDL_x11mouse.c | 74 +- libs/SDL3/src/video/x11/SDL_x11mouse.h | 3 +- libs/SDL3/src/video/x11/SDL_x11opengl.c | 40 +- libs/SDL3/src/video/x11/SDL_x11opengl.h | 3 +- libs/SDL3/src/video/x11/SDL_x11opengles.c | 2 +- libs/SDL3/src/video/x11/SDL_x11opengles.h | 2 +- libs/SDL3/src/video/x11/SDL_x11pen.c | 36 +- libs/SDL3/src/video/x11/SDL_x11pen.h | 5 +- libs/SDL3/src/video/x11/SDL_x11settings.c | 65 +- libs/SDL3/src/video/x11/SDL_x11settings.h | 8 +- libs/SDL3/src/video/x11/SDL_x11shape.c | 2 +- libs/SDL3/src/video/x11/SDL_x11shape.h | 2 +- libs/SDL3/src/video/x11/SDL_x11sym.h | 519 +- libs/SDL3/src/video/x11/SDL_x11toolkit.c | 2515 + libs/SDL3/src/video/x11/SDL_x11toolkit.h | 271 + libs/SDL3/src/video/x11/SDL_x11touch.c | 2 +- libs/SDL3/src/video/x11/SDL_x11touch.h | 2 +- libs/SDL3/src/video/x11/SDL_x11video.c | 29 +- libs/SDL3/src/video/x11/SDL_x11video.h | 50 +- libs/SDL3/src/video/x11/SDL_x11vulkan.c | 21 +- libs/SDL3/src/video/x11/SDL_x11vulkan.h | 4 +- libs/SDL3/src/video/x11/SDL_x11window.c | 124 +- libs/SDL3/src/video/x11/SDL_x11window.h | 5 +- libs/SDL3/src/video/x11/SDL_x11xfixes.c | 2 +- libs/SDL3/src/video/x11/SDL_x11xfixes.h | 2 +- libs/SDL3/src/video/x11/SDL_x11xinput2.c | 538 +- libs/SDL3/src/video/x11/SDL_x11xinput2.h | 10 +- libs/SDL3/src/video/x11/SDL_x11xsync.c | 14 +- libs/SDL3/src/video/x11/SDL_x11xsync.h | 18 +- libs/SDL3/src/video/x11/SDL_x11xtest.c | 84 + libs/SDL3/src/video/x11/SDL_x11xtest.h | 31 + libs/SDL3/src/video/x11/xsettings-client.c | 11 +- .../SDL3/src/video/yuv2rgb/yuv_rgb_std_func.h | 12 +- libs/SDL3/test/CMakeLists.txt | 169 +- libs/SDL3/test/LICENSE.txt | 2 +- .../android/cmake/AndroidManifest.xml.cmake | 1 + .../cmake/SDLEntryTestActivity.java.cmake | 1 - libs/SDL3/test/audiofile.bmp | Bin 65674 -> 0 bytes libs/SDL3/test/audiofile.png | Bin 0 -> 18765 bytes libs/SDL3/test/build-shaders.sh | 24 + libs/SDL3/test/checkkeys.c | 5 +- libs/SDL3/test/childprocess.c | 10 + libs/SDL3/test/gamepad_axis.bmp | Bin 10122 -> 0 bytes libs/SDL3/test/gamepad_axis.h | 880 +- libs/SDL3/test/gamepad_axis.png | Bin 0 -> 373 bytes libs/SDL3/test/gamepad_axis_arrow.bmp | Bin 410 -> 0 bytes libs/SDL3/test/gamepad_axis_arrow.h | 51 +- libs/SDL3/test/gamepad_axis_arrow.png | Bin 0 -> 134 bytes libs/SDL3/test/gamepad_back.bmp | Bin 17952 -> 0 bytes libs/SDL3/test/gamepad_back.h | 2503 +- libs/SDL3/test/gamepad_back.png | Bin 0 -> 12032 bytes libs/SDL3/test/gamepad_battery.bmp | Bin 2122 -> 0 bytes libs/SDL3/test/gamepad_battery.h | 198 +- libs/SDL3/test/gamepad_battery.png | Bin 0 -> 200 bytes libs/SDL3/test/gamepad_battery_unknown.bmp | Bin 2106 -> 0 bytes libs/SDL3/test/gamepad_battery_unknown.png | Bin 0 -> 330 bytes libs/SDL3/test/gamepad_battery_wired.bmp | Bin 2106 -> 0 bytes libs/SDL3/test/gamepad_battery_wired.h | 214 +- libs/SDL3/test/gamepad_battery_wired.png | Bin 0 -> 403 bytes libs/SDL3/test/gamepad_button.bmp | Bin 10122 -> 0 bytes libs/SDL3/test/gamepad_button.h | 1100 +- libs/SDL3/test/gamepad_button.png | Bin 0 -> 3018 bytes libs/SDL3/test/gamepad_button_background.bmp | Bin 8458 -> 0 bytes libs/SDL3/test/gamepad_button_background.h | 759 +- libs/SDL3/test/gamepad_button_background.png | Bin 0 -> 595 bytes libs/SDL3/test/gamepad_button_small.bmp | Bin 714 -> 0 bytes libs/SDL3/test/gamepad_button_small.h | 82 +- libs/SDL3/test/gamepad_button_small.png | Bin 0 -> 207 bytes libs/SDL3/test/gamepad_face_abxy.bmp | Bin 33030 -> 0 bytes libs/SDL3/test/gamepad_face_abxy.h | 2936 +- libs/SDL3/test/gamepad_face_abxy.png | Bin 0 -> 2142 bytes libs/SDL3/test/gamepad_face_axby.h | 173 + libs/SDL3/test/gamepad_face_axby.png | Bin 0 -> 2033 bytes libs/SDL3/test/gamepad_face_bayx.bmp | Bin 33030 -> 0 bytes libs/SDL3/test/gamepad_face_bayx.h | 2932 +- libs/SDL3/test/gamepad_face_bayx.png | Bin 0 -> 2092 bytes libs/SDL3/test/gamepad_face_sony.bmp | Bin 33030 -> 0 bytes libs/SDL3/test/gamepad_face_sony.h | 2927 +- libs/SDL3/test/gamepad_face_sony.png | Bin 0 -> 2039 bytes libs/SDL3/test/gamepad_front.bmp | Bin 33894 -> 0 bytes libs/SDL3/test/gamepad_front.h | 4968 +- libs/SDL3/test/gamepad_front.png | Bin 0 -> 25664 bytes libs/SDL3/test/gamepad_touchpad.bmp | Bin 3724 -> 0 bytes libs/SDL3/test/gamepad_touchpad.h | 364 +- libs/SDL3/test/gamepad_touchpad.png | Bin 0 -> 586 bytes libs/SDL3/test/gamepad_wired.bmp | Bin 1226 -> 0 bytes libs/SDL3/test/gamepad_wired.h | 135 +- libs/SDL3/test/gamepad_wired.png | Bin 0 -> 330 bytes libs/SDL3/test/gamepad_wireless.bmp | Bin 1162 -> 0 bytes libs/SDL3/test/gamepad_wireless.h | 128 +- libs/SDL3/test/gamepad_wireless.png | Bin 0 -> 322 bytes libs/SDL3/test/gamepadutils.c | 748 +- libs/SDL3/test/gamepadutils.h | 50 +- libs/SDL3/test/glass.bmp | Bin 1537738 -> 0 bytes libs/SDL3/test/glass.h | 133986 +-------------- libs/SDL3/test/glass.png | Bin 0 -> 70041 bytes libs/SDL3/test/icon.bmp | Bin 578 -> 0 bytes libs/SDL3/test/icon.h | 69 +- libs/SDL3/test/icon.png | Bin 0 -> 183 bytes libs/SDL3/test/icon2x.bmp | Bin 2198 -> 0 bytes libs/SDL3/test/icon2x.png | Bin 0 -> 195 bytes libs/SDL3/test/logaudiodev.bmp | Bin 65674 -> 0 bytes libs/SDL3/test/logaudiodev.png | Bin 0 -> 17949 bytes libs/SDL3/test/loopwave.c | 11 +- libs/SDL3/test/msdf_font.csv | 95 + libs/SDL3/test/msdf_font.png | Bin 0 -> 52904 bytes libs/SDL3/test/physaudiodev.bmp | Bin 65674 -> 0 bytes libs/SDL3/test/physaudiodev.png | Bin 0 -> 13105 bytes libs/SDL3/test/pretest.c | 2 +- libs/SDL3/test/sample.bmp | Bin 69202 -> 0 bytes libs/SDL3/test/sample.png | Bin 0 -> 24744 bytes libs/SDL3/test/sdl-test_round.bmp | Bin 147594 -> 0 bytes libs/SDL3/test/sdl-test_round.png | Bin 0 -> 22081 bytes libs/SDL3/test/soundboard.bmp | Bin 65674 -> 0 bytes libs/SDL3/test/soundboard.png | Bin 0 -> 11275 bytes libs/SDL3/test/soundboard_levels.bmp | Bin 2698 -> 0 bytes libs/SDL3/test/soundboard_levels.png | Bin 0 -> 1005 bytes libs/SDL3/test/speaker.bmp | Bin 65674 -> 0 bytes libs/SDL3/test/speaker.png | Bin 0 -> 9847 bytes libs/SDL3/test/testasyncio.c | 20 +- libs/SDL3/test/testatomic.c | 2 +- libs/SDL3/test/testaudio.c | 25 +- libs/SDL3/test/testaudiohotplug.c | 2 +- libs/SDL3/test/testaudioinfo.c | 2 +- libs/SDL3/test/testaudiorecording.c | 2 +- .../test/testaudiostreamdynamicresample.c | 2 +- libs/SDL3/test/testautomation.c | 2 +- libs/SDL3/test/testautomation_audio.c | 22 +- libs/SDL3/test/testautomation_blit.c | 5 +- libs/SDL3/test/testautomation_clipboard.c | 58 +- libs/SDL3/test/testautomation_events.c | 4 + libs/SDL3/test/testautomation_hints.c | 124 +- libs/SDL3/test/testautomation_images.c | 437 +- libs/SDL3/test/testautomation_images.h | 8 +- libs/SDL3/test/testautomation_iostream.c | 277 +- libs/SDL3/test/testautomation_joystick.c | 129 +- libs/SDL3/test/testautomation_math.c | 24 +- libs/SDL3/test/testautomation_pixels.c | 107 + libs/SDL3/test/testautomation_rect.c | 278 +- libs/SDL3/test/testautomation_render.c | 720 +- libs/SDL3/test/testautomation_stdlib.c | 8 + libs/SDL3/test/testautomation_suites.h | 1 - libs/SDL3/test/testautomation_surface.c | 593 +- libs/SDL3/test/testautomation_video.c | 248 +- libs/SDL3/test/testbounds.c | 2 +- libs/SDL3/test/testcamera.c | 9 +- libs/SDL3/test/testclipboard.c | 94 +- libs/SDL3/test/testcolorspace.c | 2 +- libs/SDL3/test/testcontroller.c | 464 +- libs/SDL3/test/testcustomcursor.c | 160 +- libs/SDL3/test/testdialog.c | 41 +- libs/SDL3/test/testdisplayinfo.c | 2 +- libs/SDL3/test/testdlopennote.c | 77 + libs/SDL3/test/testdraw.c | 2 +- libs/SDL3/test/testdrawchessboard.c | 2 +- libs/SDL3/test/testdropfile.c | 2 +- libs/SDL3/test/testerror.c | 2 +- libs/SDL3/test/testevdev.c | 2 +- libs/SDL3/test/testffmpeg.c | 11 +- libs/SDL3/test/testffmpeg_vulkan.c | 20 +- libs/SDL3/test/testffmpeg_vulkan.h | 2 +- libs/SDL3/test/testfile.c | 2 +- libs/SDL3/test/testfilesystem.c | 2 +- libs/SDL3/test/testgeometry.c | 31 +- libs/SDL3/test/testgl.c | 2 +- libs/SDL3/test/testgles.c | 2 +- libs/SDL3/test/testgles2.c | 10 +- libs/SDL3/test/testgpu/build-shaders.sh | 111 +- libs/SDL3/test/testgpu/cube.frag.dxil.h | 238 + libs/SDL3/test/testgpu/cube.frag.hlsl | 17 + libs/SDL3/test/testgpu/cube.frag.msl.h | 33 + libs/SDL3/test/testgpu/cube.frag.spv.h | 34 + libs/SDL3/test/testgpu/cube.glsl | 31 - libs/SDL3/test/testgpu/cube.hlsl | 31 - libs/SDL3/test/testgpu/cube.hlsli | 13 + libs/SDL3/test/testgpu/cube.metal | 38 - libs/SDL3/test/testgpu/cube.vert.dxil.h | 339 + libs/SDL3/test/testgpu/cube.vert.hlsl | 15 + libs/SDL3/test/testgpu/cube.vert.msl.h | 54 + libs/SDL3/test/testgpu/cube.vert.spv.h | 88 + libs/SDL3/test/testgpu/overlay.frag.dxil.h | 307 + libs/SDL3/test/testgpu/overlay.frag.hlsl | 10 + libs/SDL3/test/testgpu/overlay.frag.msl.h | 39 + libs/SDL3/test/testgpu/overlay.frag.spv.h | 66 + libs/SDL3/test/testgpu/overlay.hlsli | 5 + libs/SDL3/test/testgpu/overlay.vert.dxil.h | 288 + libs/SDL3/test/testgpu/overlay.vert.hlsl | 25 + libs/SDL3/test/testgpu/overlay.vert.msl.h | 146 + libs/SDL3/test/testgpu/overlay.vert.spv.h | 103 + libs/SDL3/test/testgpu/testgpu_dxil.h | 876 - libs/SDL3/test/testgpu/testgpu_metallib.h | 2584 - libs/SDL3/test/testgpu/testgpu_spirv.h | 150 - libs/SDL3/test/testgpu_simple_clear.c | 2 +- libs/SDL3/test/testgpu_spinning_cube.c | 402 +- libs/SDL3/test/testgpurender_effects.c | 345 + .../testgpurender_effects_CRT.frag.dxil.h | 392 + .../test/testgpurender_effects_CRT.frag.hlsl | 56 + .../test/testgpurender_effects_CRT.frag.msl.h | 106 + .../test/testgpurender_effects_CRT.frag.spv.h | 189 + ...estgpurender_effects_grayscale.frag.dxil.h | 329 + .../testgpurender_effects_grayscale.frag.hlsl | 19 + ...testgpurender_effects_grayscale.frag.msl.h | 63 + ...testgpurender_effects_grayscale.frag.spv.h | 96 + libs/SDL3/test/testgpurender_msdf.c | 330 + libs/SDL3/test/testgpurender_msdf.frag.dxil.h | 399 + libs/SDL3/test/testgpurender_msdf.frag.hlsl | 37 + libs/SDL3/test/testgpurender_msdf.frag.msl.h | 97 + libs/SDL3/test/testgpurender_msdf.frag.spv.h | 162 + libs/SDL3/test/testhaptic.c | 2 +- libs/SDL3/test/testhittesting.c | 2 +- libs/SDL3/test/testhotplug.c | 7 +- libs/SDL3/test/testiconv.c | 2 +- libs/SDL3/test/testime.c | 99 +- libs/SDL3/test/testintersections.c | 2 +- libs/SDL3/test/testkeys.c | 2 +- libs/SDL3/test/testloadso.c | 2 +- libs/SDL3/test/testlocale.c | 2 +- libs/SDL3/test/testlock.c | 2 +- libs/SDL3/test/testmanymouse.c | 2 +- libs/SDL3/test/testmessage.c | 208 +- libs/SDL3/test/testmodal.c | 2 +- libs/SDL3/test/testmouse.c | 17 +- libs/SDL3/test/testmultiaudio.c | 2 +- libs/SDL3/test/testnative.c | 4 +- libs/SDL3/test/testnative.h | 7 +- libs/SDL3/test/testnativew32.c | 2 +- libs/SDL3/test/testnativewayland.c | 2 +- libs/SDL3/test/testnativex11.c | 2 +- libs/SDL3/test/testoffscreen.c | 12 +- libs/SDL3/test/testoverlay.c | 121 +- libs/SDL3/test/testpalette.c | 517 + libs/SDL3/test/testpen.c | 60 +- libs/SDL3/test/testplatform.c | 3 +- libs/SDL3/test/testpopup.c | 2 +- libs/SDL3/test/testpower.c | 2 +- libs/SDL3/test/testprocess.c | 178 +- libs/SDL3/test/testqsort.c | 556 +- libs/SDL3/test/testrelative.c | 2 +- libs/SDL3/test/testrendercopyex.c | 6 +- libs/SDL3/test/testrendertarget.c | 14 +- libs/SDL3/test/testresample.c | 2 +- libs/SDL3/test/testrotate.c | 205 + libs/SDL3/test/testrumble.c | 2 +- libs/SDL3/test/testrwlock.c | 3 +- libs/SDL3/test/testscale.c | 39 +- libs/SDL3/test/testsem.c | 2 +- libs/SDL3/test/testsensor.c | 2 +- libs/SDL3/test/testshader.c | 10 +- libs/SDL3/test/testshape.c | 14 +- libs/SDL3/test/testsoftwaretransparent.c | 122 + libs/SDL3/test/testsprite.c | 36 +- libs/SDL3/test/testspriteminimal.c | 6 +- libs/SDL3/test/testspritesurface.c | 6 +- libs/SDL3/test/teststreaming.c | 208 - libs/SDL3/test/testsurround.c | 2 +- libs/SDL3/test/testsymbols.c | 106 + libs/SDL3/test/testthread.c | 41 +- libs/SDL3/test/testtime.c | 2 +- libs/SDL3/test/testtimer.c | 2 +- libs/SDL3/test/testtray.c | 12 +- libs/SDL3/test/testurl.c | 32 +- libs/SDL3/test/testutils.c | 20 +- libs/SDL3/test/testutils.h | 5 +- libs/SDL3/test/testver.c | 13 +- libs/SDL3/test/testviewport.c | 6 +- libs/SDL3/test/testvulkan.c | 62 +- libs/SDL3/test/testwaylandcustom.c | 78 +- libs/SDL3/test/testwm.c | 2 +- libs/SDL3/test/testyuv.bmp | Bin 739398 -> 0 bytes libs/SDL3/test/testyuv.c | 603 +- libs/SDL3/test/testyuv.png | Bin 0 -> 278481 bytes libs/SDL3/test/testyuv_cvt.c | 2 +- libs/SDL3/test/testyuv_cvt.h | 7 +- libs/SDL3/test/torturethread.c | 2 +- libs/SDL3/test/trashcan.bmp | Bin 65674 -> 0 bytes libs/SDL3/test/trashcan.png | Bin 0 -> 18574 bytes libs/SDL3/test/win32/sdlprocdump.c | 22 + .../wayland-protocols/color-management-v1.xml | 349 +- .../pointer-gestures-unstable-v1.xml | 253 + .../wayland-protocols/pointer-warp-v1.xml | 72 + libs/SDL3/wayland-protocols/wayland.xml | 292 +- libs/SDL3/wayland-protocols/xdg-shell.xml | 77 +- 1626 files changed, 124218 insertions(+), 191491 deletions(-) create mode 100644 libs/SDL3/VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj create mode 100644 libs/SDL3/VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj create mode 100644 libs/SDL3/VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj create mode 100644 libs/SDL3/VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj create mode 100644 libs/SDL3/VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj create mode 100644 libs/SDL3/VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj create mode 100644 libs/SDL3/VisualC/tests/testsoftwaretransparent/testsoftwaretransparent.vcxproj create mode 100644 libs/SDL3/Xcode/SDLTest/test-Info.plist create mode 100644 libs/SDL3/build-scripts/check_elf_alignment.sh create mode 100644 libs/SDL3/build-scripts/create_tbds.py delete mode 100644 libs/SDL3/build-scripts/mkinstalldirs delete mode 100644 libs/SDL3/build-scripts/strip_fPIC.sh create mode 100644 libs/SDL3/cmake/PreseedNokiaNGageCache.cmake rename libs/SDL3/cmake/{sdltargets.cmake => sdlcommands.cmake} (94%) create mode 100644 libs/SDL3/examples/audio/05-planar-data/README.txt create mode 100644 libs/SDL3/examples/audio/05-planar-data/onmouseover.webp create mode 100644 libs/SDL3/examples/audio/05-planar-data/planar-data.c create mode 100644 libs/SDL3/examples/audio/05-planar-data/thumbnail.png create mode 100644 libs/SDL3/examples/input/03-gamepad-polling/README.txt create mode 100644 libs/SDL3/examples/input/03-gamepad-polling/gamepad-polling.c create mode 100644 libs/SDL3/examples/input/03-gamepad-polling/onmouseover.webp create mode 100644 libs/SDL3/examples/input/03-gamepad-polling/thumbnail.png create mode 100644 libs/SDL3/examples/input/04-gamepad-events/README.txt create mode 100644 libs/SDL3/examples/input/04-gamepad-events/gamepad-events.c create mode 100644 libs/SDL3/examples/input/04-gamepad-events/onmouseover.webp create mode 100644 libs/SDL3/examples/input/04-gamepad-events/thumbnail.png create mode 100644 libs/SDL3/examples/misc/01-power/README.txt create mode 100644 libs/SDL3/examples/misc/01-power/onmouseover.webp create mode 100644 libs/SDL3/examples/misc/01-power/power.c create mode 100644 libs/SDL3/examples/misc/01-power/thumbnail.png create mode 100644 libs/SDL3/examples/misc/02-clipboard/README.txt create mode 100644 libs/SDL3/examples/misc/02-clipboard/clipboard.c create mode 100644 libs/SDL3/examples/misc/02-clipboard/onmouseover.webp create mode 100644 libs/SDL3/examples/misc/02-clipboard/thumbnail.png create mode 100644 libs/SDL3/examples/misc/description.txt create mode 100644 libs/SDL3/examples/renderer/19-affine-textures/README.txt create mode 100644 libs/SDL3/examples/renderer/19-affine-textures/affine-textures.c create mode 100644 libs/SDL3/examples/renderer/19-affine-textures/onmouseover.webp create mode 100644 libs/SDL3/examples/renderer/19-affine-textures/thumbnail.png create mode 100644 libs/SDL3/examples/save-rendering-to-bitmaps.h create mode 100644 libs/SDL3/include/SDL3/SDL_dlopennote.h create mode 100644 libs/SDL3/src/audio/ngage/SDL_ngageaudio.c create mode 100644 libs/SDL3/src/audio/ngage/SDL_ngageaudio.cpp rename libs/SDL3/src/{video/vita/SDL_vitagl_pvr_c.h => audio/ngage/SDL_ngageaudio.h} (67%) create mode 100644 libs/SDL3/src/audio/ngage/SDL_ngageaudio.hpp create mode 100644 libs/SDL3/src/core/SDL_core_unsupported.h create mode 100644 libs/SDL3/src/core/linux/SDL_progressbar.c rename libs/SDL3/src/{video/psp/SDL_pspmouse.c => core/linux/SDL_progressbar.h} (74%) create mode 100644 libs/SDL3/src/core/ngage/SDL_ngage.cpp rename libs/SDL3/src/{video/windows/SDL_surface_utils.h => core/ngage/SDL_ngage.h} (79%) create mode 100644 libs/SDL3/src/core/unix/SDL_fribidi.c create mode 100644 libs/SDL3/src/core/unix/SDL_fribidi.h create mode 100644 libs/SDL3/src/core/unix/SDL_gtk.c create mode 100644 libs/SDL3/src/core/unix/SDL_gtk.h create mode 100644 libs/SDL3/src/core/unix/SDL_libthai.c rename libs/SDL3/src/{video/vita/SDL_vitagles_pvr_c.h => core/unix/SDL_libthai.h} (61%) rename libs/SDL3/src/core/windows/{SDL_gameinput.c => SDL_gameinput.cpp} (74%) create mode 100644 libs/SDL3/src/dialog/unix/SDL_zenitymessagebox.c create mode 100644 libs/SDL3/src/dialog/unix/SDL_zenitymessagebox.h create mode 100644 libs/SDL3/src/filesystem/ngage/SDL_sysfilesystem.c create mode 100644 libs/SDL3/src/filesystem/ngage/SDL_sysfilesystem.cpp create mode 100644 libs/SDL3/src/haptic/hidapi/SDL_hidapihaptic.c create mode 100644 libs/SDL3/src/haptic/hidapi/SDL_hidapihaptic.h create mode 100644 libs/SDL3/src/haptic/hidapi/SDL_hidapihaptic_c.h create mode 100644 libs/SDL3/src/haptic/hidapi/SDL_hidapihaptic_lg4ff.c rename libs/SDL3/src/joystick/gdk/{SDL_gameinputjoystick.c => SDL_gameinputjoystick.cpp} (80%) create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_8bitdo.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_flydigi.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_flydigi.h create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_gip.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_lg4ff.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_sinput.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_sinput.h create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_steam_triton.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_switch2.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_hidapi_zuiki.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_report_descriptor.c create mode 100644 libs/SDL3/src/joystick/hidapi/SDL_report_descriptor.h create mode 100644 libs/SDL3/src/locale/ngage/SDL_syslocale.cpp create mode 100644 libs/SDL3/src/main/ngage/SDL_sysmain_callbacks.c create mode 100644 libs/SDL3/src/main/ngage/SDL_sysmain_main.cpp create mode 100644 libs/SDL3/src/main/ngage/SDL_sysmain_main.hpp create mode 100644 libs/SDL3/src/misc/SDL_libusb.c create mode 100644 libs/SDL3/src/misc/SDL_libusb.h delete mode 100644 libs/SDL3/src/render/SDL_d3dmath.c create mode 100644 libs/SDL3/src/render/direct3d/D3D9_PixelShader_Palette.h create mode 100644 libs/SDL3/src/render/direct3d/D3D9_PixelShader_Palette.hlsli create mode 100644 libs/SDL3/src/render/direct3d/D3D9_PixelShader_Palette_Linear.h create mode 100644 libs/SDL3/src/render/direct3d/D3D9_PixelShader_Palette_Linear.hlsl create mode 100644 libs/SDL3/src/render/direct3d/D3D9_PixelShader_Palette_Nearest.h create mode 100644 libs/SDL3/src/render/direct3d/D3D9_PixelShader_Palette_Nearest.hlsl delete mode 100644 libs/SDL3/src/render/gpu/shaders/color.frag create mode 100644 libs/SDL3/src/render/gpu/shaders/color.frag.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/color.frag.metal.h create mode 100644 libs/SDL3/src/render/gpu/shaders/color.frag.msl.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/color.frag.sm50.dxbc.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/color.frag.sm60.dxil.h create mode 100644 libs/SDL3/src/render/gpu/shaders/common.frag.hlsli delete mode 100644 libs/SDL3/src/render/gpu/shaders/dxbc50.h create mode 100644 libs/SDL3/src/render/gpu/shaders/dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/dxil60.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/linepoint.vert create mode 100644 libs/SDL3/src/render/gpu/shaders/linepoint.vert.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/linepoint.vert.metal.h create mode 100644 libs/SDL3/src/render/gpu/shaders/linepoint.vert.msl.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/linepoint.vert.sm50.dxbc.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/linepoint.vert.sm60.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/metal.h create mode 100644 libs/SDL3/src/render/gpu/shaders/msl.h create mode 100644 libs/SDL3/src/render/gpu/shaders/texture_advanced.frag.dxil.h create mode 100644 libs/SDL3/src/render/gpu/shaders/texture_advanced.frag.msl.h create mode 100644 libs/SDL3/src/render/gpu/shaders/texture_advanced.frag.spv.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgb.frag create mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgb.frag.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgb.frag.metal.h create mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgb.frag.msl.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgb.frag.sm50.dxbc.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgb.frag.sm60.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgba.frag create mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgba.frag.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgba.frag.metal.h create mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgba.frag.msl.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgba.frag.sm50.dxbc.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/texture_rgba.frag.sm60.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/tri_color.vert create mode 100644 libs/SDL3/src/render/gpu/shaders/tri_color.vert.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/tri_color.vert.metal.h create mode 100644 libs/SDL3/src/render/gpu/shaders/tri_color.vert.msl.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/tri_color.vert.sm50.dxbc.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/tri_color.vert.sm60.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/tri_texture.vert create mode 100644 libs/SDL3/src/render/gpu/shaders/tri_texture.vert.dxil.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/tri_texture.vert.metal.h create mode 100644 libs/SDL3/src/render/gpu/shaders/tri_texture.vert.msl.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/tri_texture.vert.sm50.dxbc.h delete mode 100644 libs/SDL3/src/render/gpu/shaders/tri_texture.vert.sm60.dxil.h create mode 100644 libs/SDL3/src/render/ngage/SDL_render_ngage.c create mode 100644 libs/SDL3/src/render/ngage/SDL_render_ngage.cpp create mode 100644 libs/SDL3/src/render/ngage/SDL_render_ngage_c.h create mode 100644 libs/SDL3/src/render/ngage/SDL_render_ngage_c.hpp create mode 100644 libs/SDL3/src/render/ngage/SDL_render_ops.cpp create mode 100644 libs/SDL3/src/render/ngage/SDL_render_ops.hpp create mode 100644 libs/SDL3/src/sensor/emscripten/SDL_emscriptensensor.c rename libs/SDL3/src/{video/psp/SDL_pspmouse_c.h => sensor/emscripten/SDL_emscriptensensor.h} (88%) create mode 100644 libs/SDL3/src/test/SDL_test_internal.h create mode 100644 libs/SDL3/src/time/ngage/SDL_systime.cpp create mode 100644 libs/SDL3/src/timer/ngage/SDL_systimer.cpp rename libs/SDL3/src/{render/software => video}/SDL_rotate.c (98%) rename libs/SDL3/src/{render/software => video}/SDL_rotate.h (95%) create mode 100644 libs/SDL3/src/video/SDL_video_unsupported.h create mode 100644 libs/SDL3/src/video/miniz.h create mode 100644 libs/SDL3/src/video/ngage/SDL_ngagevideo.c create mode 100644 libs/SDL3/src/video/ngage/SDL_ngagevideo.h delete mode 100644 libs/SDL3/src/video/vita/SDL_vitagles_c.h delete mode 100644 libs/SDL3/src/video/windows/SDL_surface_utils.c rename libs/SDL3/src/video/windows/{SDL_windowsgameinput.c => SDL_windowsgameinput.cpp} (79%) create mode 100644 libs/SDL3/src/video/x11/SDL_x11toolkit.c create mode 100644 libs/SDL3/src/video/x11/SDL_x11toolkit.h create mode 100644 libs/SDL3/src/video/x11/SDL_x11xtest.c create mode 100644 libs/SDL3/src/video/x11/SDL_x11xtest.h delete mode 100644 libs/SDL3/test/audiofile.bmp create mode 100644 libs/SDL3/test/audiofile.png create mode 100644 libs/SDL3/test/build-shaders.sh delete mode 100644 libs/SDL3/test/gamepad_axis.bmp create mode 100644 libs/SDL3/test/gamepad_axis.png delete mode 100644 libs/SDL3/test/gamepad_axis_arrow.bmp create mode 100644 libs/SDL3/test/gamepad_axis_arrow.png delete mode 100644 libs/SDL3/test/gamepad_back.bmp create mode 100644 libs/SDL3/test/gamepad_back.png delete mode 100644 libs/SDL3/test/gamepad_battery.bmp create mode 100644 libs/SDL3/test/gamepad_battery.png delete mode 100644 libs/SDL3/test/gamepad_battery_unknown.bmp create mode 100644 libs/SDL3/test/gamepad_battery_unknown.png delete mode 100644 libs/SDL3/test/gamepad_battery_wired.bmp create mode 100644 libs/SDL3/test/gamepad_battery_wired.png delete mode 100644 libs/SDL3/test/gamepad_button.bmp create mode 100644 libs/SDL3/test/gamepad_button.png delete mode 100644 libs/SDL3/test/gamepad_button_background.bmp create mode 100644 libs/SDL3/test/gamepad_button_background.png delete mode 100644 libs/SDL3/test/gamepad_button_small.bmp create mode 100644 libs/SDL3/test/gamepad_button_small.png delete mode 100644 libs/SDL3/test/gamepad_face_abxy.bmp create mode 100644 libs/SDL3/test/gamepad_face_abxy.png create mode 100644 libs/SDL3/test/gamepad_face_axby.h create mode 100644 libs/SDL3/test/gamepad_face_axby.png delete mode 100644 libs/SDL3/test/gamepad_face_bayx.bmp create mode 100644 libs/SDL3/test/gamepad_face_bayx.png delete mode 100644 libs/SDL3/test/gamepad_face_sony.bmp create mode 100644 libs/SDL3/test/gamepad_face_sony.png delete mode 100644 libs/SDL3/test/gamepad_front.bmp create mode 100644 libs/SDL3/test/gamepad_front.png delete mode 100644 libs/SDL3/test/gamepad_touchpad.bmp create mode 100644 libs/SDL3/test/gamepad_touchpad.png delete mode 100644 libs/SDL3/test/gamepad_wired.bmp create mode 100644 libs/SDL3/test/gamepad_wired.png delete mode 100644 libs/SDL3/test/gamepad_wireless.bmp create mode 100644 libs/SDL3/test/gamepad_wireless.png delete mode 100644 libs/SDL3/test/glass.bmp create mode 100644 libs/SDL3/test/glass.png delete mode 100644 libs/SDL3/test/icon.bmp create mode 100644 libs/SDL3/test/icon.png delete mode 100644 libs/SDL3/test/icon2x.bmp create mode 100644 libs/SDL3/test/icon2x.png delete mode 100644 libs/SDL3/test/logaudiodev.bmp create mode 100644 libs/SDL3/test/logaudiodev.png create mode 100644 libs/SDL3/test/msdf_font.csv create mode 100644 libs/SDL3/test/msdf_font.png delete mode 100644 libs/SDL3/test/physaudiodev.bmp create mode 100644 libs/SDL3/test/physaudiodev.png delete mode 100644 libs/SDL3/test/sample.bmp create mode 100644 libs/SDL3/test/sample.png delete mode 100644 libs/SDL3/test/sdl-test_round.bmp create mode 100644 libs/SDL3/test/sdl-test_round.png delete mode 100644 libs/SDL3/test/soundboard.bmp create mode 100644 libs/SDL3/test/soundboard.png delete mode 100644 libs/SDL3/test/soundboard_levels.bmp create mode 100644 libs/SDL3/test/soundboard_levels.png delete mode 100644 libs/SDL3/test/speaker.bmp create mode 100644 libs/SDL3/test/speaker.png create mode 100644 libs/SDL3/test/testdlopennote.c create mode 100644 libs/SDL3/test/testgpu/cube.frag.dxil.h create mode 100644 libs/SDL3/test/testgpu/cube.frag.hlsl create mode 100644 libs/SDL3/test/testgpu/cube.frag.msl.h create mode 100644 libs/SDL3/test/testgpu/cube.frag.spv.h delete mode 100644 libs/SDL3/test/testgpu/cube.glsl delete mode 100644 libs/SDL3/test/testgpu/cube.hlsl create mode 100644 libs/SDL3/test/testgpu/cube.hlsli delete mode 100644 libs/SDL3/test/testgpu/cube.metal create mode 100644 libs/SDL3/test/testgpu/cube.vert.dxil.h create mode 100644 libs/SDL3/test/testgpu/cube.vert.hlsl create mode 100644 libs/SDL3/test/testgpu/cube.vert.msl.h create mode 100644 libs/SDL3/test/testgpu/cube.vert.spv.h create mode 100644 libs/SDL3/test/testgpu/overlay.frag.dxil.h create mode 100644 libs/SDL3/test/testgpu/overlay.frag.hlsl create mode 100644 libs/SDL3/test/testgpu/overlay.frag.msl.h create mode 100644 libs/SDL3/test/testgpu/overlay.frag.spv.h create mode 100644 libs/SDL3/test/testgpu/overlay.hlsli create mode 100644 libs/SDL3/test/testgpu/overlay.vert.dxil.h create mode 100644 libs/SDL3/test/testgpu/overlay.vert.hlsl create mode 100644 libs/SDL3/test/testgpu/overlay.vert.msl.h create mode 100644 libs/SDL3/test/testgpu/overlay.vert.spv.h delete mode 100644 libs/SDL3/test/testgpu/testgpu_dxil.h delete mode 100644 libs/SDL3/test/testgpu/testgpu_metallib.h delete mode 100644 libs/SDL3/test/testgpu/testgpu_spirv.h create mode 100644 libs/SDL3/test/testgpurender_effects.c create mode 100644 libs/SDL3/test/testgpurender_effects_CRT.frag.dxil.h create mode 100644 libs/SDL3/test/testgpurender_effects_CRT.frag.hlsl create mode 100644 libs/SDL3/test/testgpurender_effects_CRT.frag.msl.h create mode 100644 libs/SDL3/test/testgpurender_effects_CRT.frag.spv.h create mode 100644 libs/SDL3/test/testgpurender_effects_grayscale.frag.dxil.h create mode 100644 libs/SDL3/test/testgpurender_effects_grayscale.frag.hlsl create mode 100644 libs/SDL3/test/testgpurender_effects_grayscale.frag.msl.h create mode 100644 libs/SDL3/test/testgpurender_effects_grayscale.frag.spv.h create mode 100644 libs/SDL3/test/testgpurender_msdf.c create mode 100644 libs/SDL3/test/testgpurender_msdf.frag.dxil.h create mode 100644 libs/SDL3/test/testgpurender_msdf.frag.hlsl create mode 100644 libs/SDL3/test/testgpurender_msdf.frag.msl.h create mode 100644 libs/SDL3/test/testgpurender_msdf.frag.spv.h create mode 100644 libs/SDL3/test/testpalette.c create mode 100644 libs/SDL3/test/testrotate.c create mode 100644 libs/SDL3/test/testsoftwaretransparent.c delete mode 100644 libs/SDL3/test/teststreaming.c create mode 100644 libs/SDL3/test/testsymbols.c delete mode 100644 libs/SDL3/test/testyuv.bmp create mode 100644 libs/SDL3/test/testyuv.png delete mode 100644 libs/SDL3/test/trashcan.bmp create mode 100644 libs/SDL3/test/trashcan.png create mode 100644 libs/SDL3/wayland-protocols/pointer-gestures-unstable-v1.xml create mode 100644 libs/SDL3/wayland-protocols/pointer-warp-v1.xml diff --git a/libs/SDL3/.git-hash b/libs/SDL3/.git-hash index 5c68109..346bf49 100644 --- a/libs/SDL3/.git-hash +++ b/libs/SDL3/.git-hash @@ -1 +1 @@ -96292a5b464258a2b926e0a3d72f8b98c2a81aa6 +683181b47cfabd293e3ea409f838915b8297a4fd diff --git a/libs/SDL3/.wikiheaders-options b/libs/SDL3/.wikiheaders-options index 9c2b5bb..696a08c 100644 --- a/libs/SDL3/.wikiheaders-options +++ b/libs/SDL3/.wikiheaders-options @@ -9,6 +9,7 @@ versionfname = include/SDL3/SDL_version.h versionmajorregex = \A\#define\s+SDL_MAJOR_VERSION\s+(\d+)\Z versionminorregex = \A\#define\s+SDL_MINOR_VERSION\s+(\d+)\Z versionmicroregex = \A\#define\s+SDL_MICRO_VERSION\s+(\d+)\Z +apipropertyregex = \A\s*\#\s*define\s+SDL_PROP_ selectheaderregex = \ASDL.*?\.h\Z projecturl = https://libsdl.org/ wikiurl = https://wiki.libsdl.org @@ -25,8 +26,16 @@ manpagesymbolfilterregex = \A[US]int\d+\Z headercategoryeval = s/\ASDL_test_?.*?\.h\Z//; s/\ASDL_?(.*?)\.h\Z/$1/; ucfirst(); quickrefenabled = 1 -quickrefcategoryorder = Init,Hints,Error,Version,Properties,Log,Video,Events,Keyboard,Mouse,Touch,Gamepad,Joystick,Haptic,Audio,Time,Timer,Render,SharedObject,Thread,Mutex,Atomic,Filesystem,IOStream,AsyncIO,Storage,Pixels,Surface,Blendmode,Rect,Camera,Clipboard,Dialog,GPU,Messagebox,Vulkan,Metal,Platform,Power,Sensor,Process,Bits,Endian,Assert,CPUInfo,Intrinsics,Locale,System,Misc,GUID,Main,Stdinc +quickrefcategoryorder = Init,Hints,Error,Version,Properties,Log,Video,Events,Keyboard,Mouse,Touch,Gamepad,Joystick,Haptic,Audio,Time,Timer,Render,SharedObject,Thread,Mutex,Atomic,Filesystem,IOStream,AsyncIO,Storage,Pixels,Surface,Blendmode,Rect,Camera,Clipboard,Dialog,Tray,Messagebox,GPU,Vulkan,Metal,Platform,Power,Sensor,Process,Bits,Endian,Assert,CPUInfo,Intrinsics,Locale,System,Misc,GUID,Main,Stdinc quickreftitle = SDL3 API Quick Reference quickrefurl = https://libsdl.org/ quickrefdesc = The latest version of this document can be found at https://wiki.libsdl.org/SDL3/QuickReference quickrefmacroregex = \A(SDL_PLATFORM_.*|SDL_.*_INTRINSICS|SDL_Atomic...Ref|SDL_assert.*?|SDL_COMPILE_TIME_ASSERT|SDL_arraysize|SDL_Swap[BL]E\d\d|SDL_[a-z]+_cast)\Z + +envvarenabled = 1 +envvartitle = SDL3 Environment Variables +envvardesc = SDL3 can be controlled by the user, externally, with environment variables. They are all operate exactly like the [hints you can get and set programmatically](CategoryHints), but named without the `_HINT` part (so `"SDL_HINT_A"` would be environment variable `"SDL_A"`).\n\nThis list matches the latest in SDL3's revision control. +envvarsymregex = \ASDL_HINT_(.*)\Z +envvarsymreplace = SDL_$1 + + diff --git a/libs/SDL3/Android.mk b/libs/SDL3/Android.mk index 413967c..f4600bf 100644 --- a/libs/SDL3/Android.mk +++ b/libs/SDL3/Android.mk @@ -42,6 +42,7 @@ LOCAL_SRC_FILES := \ $(wildcard $(LOCAL_PATH)/src/haptic/*.c) \ $(wildcard $(LOCAL_PATH)/src/haptic/android/*.c) \ $(wildcard $(LOCAL_PATH)/src/haptic/dummy/*.c) \ + $(wildcard $(LOCAL_PATH)/src/haptic/hidapi/*.c) \ $(wildcard $(LOCAL_PATH)/src/hidapi/*.c) \ $(wildcard $(LOCAL_PATH)/src/hidapi/android/*.cpp) \ $(wildcard $(LOCAL_PATH)/src/joystick/*.c) \ @@ -107,16 +108,10 @@ LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -lOpenSLES -llog -landroid LOCAL_LDFLAGS := -Wl,--no-undefined -Wl,--no-undefined-version -Wl,--version-script=$(LOCAL_PATH)/src/dynapi/SDL_dynapi.sym -# https://developer.android.com/guide/practices/page-sizes -LOCAL_LDFLAGS += "-Wl,-z,max-page-size=16384" -LOCAL_LDFLAGS += "-Wl,-z,common-page-size=16384" - ifeq ($(NDK_DEBUG),1) cmd-strip := endif -LOCAL_STATIC_LIBRARIES := cpufeatures - include $(BUILD_SHARED_LIBRARY) @@ -126,6 +121,12 @@ include $(BUILD_SHARED_LIBRARY) # ########################### +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/src + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include + LOCAL_MODULE := SDL3_test LOCAL_MODULE_FILENAME := libSDL3_test @@ -142,24 +143,3 @@ LOCAL_EXPORT_LDLIBS := include $(BUILD_STATIC_LIBRARY) - -########################### -# -# SDL static library -# -########################### - -LOCAL_MODULE := SDL3_static - -LOCAL_MODULE_FILENAME := libSDL3 - -LOCAL_LDLIBS := - -LOCAL_LDFLAGS := - -LOCAL_EXPORT_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid - -include $(BUILD_STATIC_LIBRARY) - -$(call import-module,android/cpufeatures) - diff --git a/libs/SDL3/CMakeLists.txt b/libs/SDL3/CMakeLists.txt index 5873957..7f4bef4 100644 --- a/libs/SDL3/CMakeLists.txt +++ b/libs/SDL3/CMakeLists.txt @@ -5,7 +5,7 @@ if(NOT DEFINED CMAKE_BUILD_TYPE) endif() # See docs/release_checklist.md -project(SDL3 LANGUAGES C VERSION "3.2.20") +project(SDL3 LANGUAGES C VERSION "3.4.2") if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) set(SDL3_MAINPROJECT ON) @@ -46,6 +46,7 @@ endif() include(CheckLibraryExists) include(CheckIncludeFile) +include(CheckIncludeFiles) include(CheckLanguage) include(CheckSymbolExists) include(CheckCSourceCompiles) @@ -67,18 +68,25 @@ find_package(PkgConfig) list(APPEND CMAKE_MODULE_PATH "${SDL3_SOURCE_DIR}/cmake") include("${SDL3_SOURCE_DIR}/cmake/macros.cmake") include("${SDL3_SOURCE_DIR}/cmake/sdlchecks.cmake") +include("${SDL3_SOURCE_DIR}/cmake/sdlcommands.cmake") include("${SDL3_SOURCE_DIR}/cmake/sdlcompilers.cmake") include("${SDL3_SOURCE_DIR}/cmake/sdlcpu.cmake") include("${SDL3_SOURCE_DIR}/cmake/sdlmanpages.cmake") include("${SDL3_SOURCE_DIR}/cmake/sdlplatform.cmake") -include("${SDL3_SOURCE_DIR}/cmake/sdltargets.cmake") include("${SDL3_SOURCE_DIR}/cmake/GetGitRevisionDescription.cmake") include("${SDL3_SOURCE_DIR}/cmake/3rdparty.cmake") include("${SDL3_SOURCE_DIR}/cmake/PreseedMSVCCache.cmake") include("${SDL3_SOURCE_DIR}/cmake/PreseedEmscriptenCache.cmake") +include("${SDL3_SOURCE_DIR}/cmake/PreseedNokiaNGageCache.cmake") SDL_DetectCompiler() SDL_DetectTargetCPUArchitectures(SDL_CPUS) +if(APPLE AND CMAKE_OSX_ARCHITECTURES) + list(LENGTH CMAKE_OSX_ARCHITECTURES _num_arches) + if(_num_arches GREATER 1) + set(APPLE_MULTIARCH TRUE) + endif() +endif() # Increment this if there is an incompatible change - but if that happens, # we should rename the library from SDL3 to SDL4, at which point this would @@ -155,19 +163,19 @@ endif() # The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers, # so we'll just use libusb when it's available. libusb does not support iOS, # so we default to yes on iOS. -if(IOS OR TVOS OR VISIONOS OR WATCHOS OR ANDROID) +if(IOS OR TVOS OR VISIONOS OR WATCHOS OR ANDROID OR NGAGE) set(SDL_HIDAPI_LIBUSB_AVAILABLE FALSE) else() set(SDL_HIDAPI_LIBUSB_AVAILABLE TRUE) endif() set(SDL_ASSEMBLY_DEFAULT OFF) -if(USE_CLANG OR USE_GCC OR USE_INTELCC OR MSVC_VERSION GREATER 1400) +if(USE_CLANG OR USE_GCC OR USE_INTELCC OR USE_TCC OR MSVC_VERSION GREATER 1400) set(SDL_ASSEMBLY_DEFAULT ON) endif() set(SDL_GCC_ATOMICS_DEFAULT OFF) -if(USE_GCC OR USE_CLANG OR USE_INTELCC OR USE_QCC) +if(USE_GCC OR USE_CLANG OR USE_INTELCC OR USE_QCC OR USE_TCC) set(SDL_GCC_ATOMICS_DEFAULT ON) endif() @@ -183,29 +191,6 @@ if(MSVC) set(SDL_RELOCATABLE_DEFAULT ON) endif() -if(MSVC) - if(NOT SDL_LIBC) - # Make sure /RTC1 is disabled, otherwise it will use functions from the CRT - foreach(flag_var - CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO - CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) - string(REGEX REPLACE "/RTC(su|[1su])" "" ${flag_var} "${${flag_var}}") - endforeach(flag_var) - set(CMAKE_MSVC_RUNTIME_CHECKS "") - endif() - - if(MSVC_CLANG) - # clang-cl treats /W4 as '-Wall -Wextra' -- we don't need -Wextra - foreach(flag_var - CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) - string(REGEX REPLACE "/W4" "/W3" ${flag_var} "${${flag_var}}") - endforeach(flag_var) - endif() -endif() - set(SDL_SHARED_DEFAULT ON) set(SDL_STATIC_DEFAULT ON) @@ -222,7 +207,7 @@ if(EMSCRIPTEN) set(SDL_SHARED_AVAILABLE OFF) endif() -if(VITA OR PSP OR PS2 OR N3DS OR RISCOS) +if(VITA OR PSP OR PS2 OR N3DS OR RISCOS OR NGAGE) set(SDL_SHARED_AVAILABLE OFF) endif() @@ -275,6 +260,7 @@ define_sdl_subsystem(Hidapi) define_sdl_subsystem(Power) define_sdl_subsystem(Sensor) define_sdl_subsystem(Dialog) +define_sdl_subsystem(Tray) cmake_dependent_option(SDL_FRAMEWORK "Build SDL libraries as Apple Framework" OFF "APPLE" OFF) if(SDL_FRAMEWORK) @@ -323,6 +309,7 @@ dep_option(SDL_ARMNEON "Use NEON assembly routines" ON "SDL_ASSEMBLY dep_option(SDL_LSX "Use LSX assembly routines" ON "SDL_ASSEMBLY;SDL_CPU_LOONGARCH64" OFF) dep_option(SDL_LASX "Use LASX assembly routines" ON "SDL_ASSEMBLY;SDL_CPU_LOONGARCH64" OFF) +dep_option(SDL_DLOPEN_NOTES "Record dlopen dependencies in .note.dlopen section" TRUE UNIX_SYS OFF) set_option(SDL_LIBC "Use the system C library" ${SDL_LIBC_DEFAULT}) set_option(SDL_SYSTEM_ICONV "Use iconv() from system-installed libraries" ${SDL_SYSTEM_ICONV_DEFAULT}) set_option(SDL_LIBICONV "Prefer iconv() from libiconv, if available, over libc version" OFF) @@ -360,6 +347,11 @@ dep_option(SDL_X11_XRANDR "Enable Xrandr support" "${SDL_X11_XRANDR_DEF dep_option(SDL_X11_XSCRNSAVER "Enable Xscrnsaver support" ON SDL_X11 OFF) dep_option(SDL_X11_XSHAPE "Enable XShape support" ON SDL_X11 OFF) dep_option(SDL_X11_XSYNC "Enable Xsync support" ON SDL_X11 OFF) +dep_option(SDL_X11_XTEST "Enable XTest support" ON SDL_X11 OFF) +dep_option(SDL_FRIBIDI "Enable Fribidi support" ON SDL_X11 OFF) +dep_option(SDL_FRIBIDI_SHARED "Dynamically load Fribidi support" ON "SDL_FRIBIDI;SDL_DEPS_SHARED" OFF) +dep_option(SDL_LIBTHAI "Enable Thai support" ON SDL_X11 OFF) +dep_option(SDL_LIBTHAI_SHARED "Dynamically load Thai support" ON "SDL_LIBTHAI;SDL_DEPS_SHARED" OFF) dep_option(SDL_WAYLAND "Use Wayland video driver" ${UNIX_SYS} "SDL_VIDEO" OFF) dep_option(SDL_WAYLAND_SHARED "Dynamically load Wayland support" ON "SDL_WAYLAND;SDL_DEPS_SHARED" OFF) dep_option(SDL_WAYLAND_LIBDECOR "Use client-side window decorations on Wayland" ON "SDL_WAYLAND" OFF) @@ -373,10 +365,10 @@ dep_option(SDL_WASAPI "Use the Windows WASAPI audio driver" ON "WIN dep_option(SDL_RENDER_D3D "Enable the Direct3D 9 render driver" ON "SDL_RENDER;SDL_DIRECTX" OFF) dep_option(SDL_RENDER_D3D11 "Enable the Direct3D 11 render driver" ON "SDL_RENDER;SDL_DIRECTX" OFF) dep_option(SDL_RENDER_D3D12 "Enable the Direct3D 12 render driver" ON "SDL_RENDER;SDL_DIRECTX" OFF) -dep_option(SDL_RENDER_METAL "Enable the Metal render driver" ON "SDL_RENDER;${APPLE}" OFF) +dep_option(SDL_RENDER_METAL "Enable the Metal render driver" ON "SDL_RENDER;APPLE" OFF) dep_option(SDL_RENDER_GPU "Enable the SDL_GPU render driver" ON "SDL_RENDER;SDL_GPU" OFF) dep_option(SDL_VIVANTE "Use Vivante EGL video driver" ON "${UNIX_SYS};SDL_CPU_ARM32" OFF) -dep_option(SDL_VULKAN "Enable Vulkan support" ON "SDL_VIDEO;ANDROID OR APPLE OR LINUX OR FREEBSD OR WINDOWS" OFF) +dep_option(SDL_VULKAN "Enable Vulkan support" ON "SDL_VIDEO;ANDROID OR APPLE OR LINUX OR FREEBSD OR OPENBSD OR WINDOWS" OFF) dep_option(SDL_RENDER_VULKAN "Enable the Vulkan render driver" ON "SDL_RENDER;SDL_VULKAN" OFF) dep_option(SDL_METAL "Enable Metal support" ON "APPLE" OFF) set_option(SDL_OPENVR "Use OpenVR video driver" OFF) @@ -387,7 +379,7 @@ dep_option(SDL_DUMMYCAMERA "Support the dummy camera driver" ON SDL_CAME option_string(SDL_BACKGROUNDING_SIGNAL "number to use for magic backgrounding signal or 'OFF'" OFF) option_string(SDL_FOREGROUNDING_SIGNAL "number to use for magic foregrounding signal or 'OFF'" OFF) dep_option(SDL_HIDAPI "Enable the HIDAPI subsystem" ON "NOT VISIONOS" OFF) -dep_option(SDL_HIDAPI_LIBUSB "Use libusb for low level joystick drivers" ON SDL_HIDAPI_LIBUSB_AVAILABLE OFF) +dep_option(SDL_HIDAPI_LIBUSB "Use libusb for low level joystick drivers" ON "SDL_HIDAPI;SDL_HIDAPI_LIBUSB_AVAILABLE" OFF) dep_option(SDL_HIDAPI_LIBUSB_SHARED "Dynamically load libusb support" ON "SDL_HIDAPI_LIBUSB;SDL_DEPS_SHARED" OFF) dep_option(SDL_HIDAPI_JOYSTICK "Use HIDAPI for low level joystick drivers" ON SDL_HIDAPI OFF) dep_option(SDL_VIRTUAL_JOYSTICK "Enable the virtual-joystick driver" ON SDL_HIDAPI OFF) @@ -395,7 +387,6 @@ set_option(SDL_LIBUDEV "Enable libudev support" ON) set_option(SDL_ASAN "Use AddressSanitizer to detect memory errors" OFF) set_option(SDL_CCACHE "Use Ccache to speed up build" OFF) set_option(SDL_CLANG_TIDY "Run clang-tidy static analysis" OFF) -set_option(SDL_GPU_DXVK "Build SDL_GPU with DXVK support" OFF) set(SDL_VENDOR_INFO "" CACHE STRING "Vendor name and/or version to add to SDL_REVISION") @@ -403,7 +394,7 @@ cmake_dependent_option(SDL_SHARED "Build a shared version of the library" ${SDL_ cmake_dependent_option(SDL_STATIC "Build a static version of the library" ${SDL_STATIC_DEFAULT} ${SDL_STATIC_AVAILABLE} OFF) option(SDL_TEST_LIBRARY "Build the SDL3_test library" ON) -dep_option(SDL_TESTS "Build the test directory" OFF SDL_TEST_LIBRARY OFF) +dep_option(SDL_TESTS "Build the test directory" ${SDL3_MAINPROJECT} SDL_TEST_LIBRARY OFF) dep_option(SDL_INSTALL_TESTS "Install test-cases" OFF "SDL_INSTALL;NOT SDL_FRAMEWORK" OFF) dep_option(SDL_TESTS_LINK_SHARED "link tests to shared SDL library" "${SDL_SHARED}" "SDL_SHARED;SDL_STATIC" "${SDL_SHARED}") set(SDL_TESTS_TIMEOUT_MULTIPLIER "1" CACHE STRING "Timeout multiplier to account for really slow machines") @@ -416,6 +407,25 @@ if(VITA) set_option(VIDEO_VITA_PVR "Build with PSVita PVR gles/gles2 support" OFF) endif() +if (NGAGE) + set(SDL_GPU OFF) + set(SDL_CAMERA OFF) + set(SDL_JOYSTICK OFF) + set(SDL_HAPTIC OFF) + set(SDL_HIDAPI OFF) + set(SDL_POWER OFF) + set(SDL_SENSOR OFF) + set(SDL_DIALOG OFF) + set(SDL_DISKAUDIO OFF) + set(SDL_DUMMYAUDIO OFF) + set(SDL_DUMMYCAMERA OFF) + set(SDL_DUMMYVIDEO OFF) + set(SDL_OFFSCREEN OFF) + set(SDL_RENDER_GPU OFF) + set(SDL_TRAY OFF) + set(SDL_VIRTUAL_JOYSTICK OFF) +endif() + if(NOT (SDL_SHARED OR SDL_STATIC)) message(FATAL_ERROR "SDL_SHARED and SDL_STATIC cannot both be disabled") endif() @@ -424,14 +434,42 @@ if(SDL_PRESEED) SDL_Preseed_CMakeCache() endif() +if(MSVC) + if(NOT SDL_LIBC) + # Make sure /RTC1 is disabled, otherwise it will use functions from the CRT + foreach(flag_var + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) + string(REGEX REPLACE "/RTC(su|[1su])" "" ${flag_var} "${${flag_var}}") + endforeach(flag_var) + set(CMAKE_MSVC_RUNTIME_CHECKS "") + endif() + + if(MSVC_CLANG) + # clang-cl treats /W4 as '-Wall -Wextra' -- we don't need -Wextra + foreach(flag_var + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) + string(REGEX REPLACE "/W4" "/W3" ${flag_var} "${${flag_var}}") + endforeach(flag_var) + endif() +endif() + if(SDL_SHARED) add_library(SDL3-shared SHARED) add_library(SDL3::SDL3-shared ALIAS SDL3-shared) SDL_AddCommonCompilerFlags(SDL3-shared) + target_compile_definitions(SDL3-shared PRIVATE "$<$:DEBUG>") + set_property(TARGET SDL3-shared PROPERTY UNITY_BUILD OFF) if ("c_std_99" IN_LIST CMAKE_C_COMPILE_FEATURES) target_compile_features(SDL3-shared PRIVATE c_std_99) else() - message(WARNING "target_compile_features does not know c_std_99 for C compiler") + # tcc does support the subset of C99 used by SDL + if (NOT USE_TCC) + message(WARNING "target_compile_features does not know c_std_99 for C compiler") + endif() endif() endif() @@ -439,10 +477,14 @@ if(SDL_STATIC) add_library(SDL3-static STATIC) add_library(SDL3::SDL3-static ALIAS SDL3-static) SDL_AddCommonCompilerFlags(SDL3-static) + target_compile_definitions(SDL3-static PRIVATE "$<$:DEBUG>") + set_property(TARGET SDL3-static PROPERTY UNITY_BUILD OFF) if ("c_std_99" IN_LIST CMAKE_C_COMPILE_FEATURES) target_compile_features(SDL3-static PRIVATE c_std_99) else() - message(WARNING "target_compile_features does not know c_std_99 for C compiler") + if (NOT USE_TCC) + message(WARNING "target_compile_features does not know c_std_99 for C compiler") + endif() endif() endif() @@ -450,6 +492,7 @@ if(SDL_TEST_LIBRARY) add_library(SDL3_test STATIC) add_library(SDL3::SDL3_test ALIAS SDL3_test) SDL_AddCommonCompilerFlags(SDL3_test) + target_compile_definitions(SDL3_test PRIVATE "$<$:DEBUG>") endif() # Make sure SDL3::SDL3 always exists @@ -475,7 +518,10 @@ check_linker_supports_version_file(HAVE_WL_VERSION_SCRIPT) if(HAVE_WL_VERSION_SCRIPT) sdl_shared_link_options("-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/src/dynapi/SDL_dynapi.sym") else() - if((LINUX AND LIBC_IS_GLIBC) OR ANDROID) + # When building with tcc on Linux+glibc or Android, avoid emitting an error + # for lack of support of the version-script linker flag: the option will be + # silently ignored by the compiler and the build will still succeed. + if(((LINUX AND LIBC_IS_GLIBC) OR ANDROID) AND (NOT USE_TCC)) message(FATAL_ERROR "Linker does not support '-Wl,--version-script=xxx.sym'. This is required on the current host platform (${SDL_CMAKE_PLATFORM}).") endif() endif() @@ -607,14 +653,13 @@ if(USE_GCC OR USE_CLANG OR USE_INTELCC OR USE_QCC) if(COMPILER_SUPPORTS_WNO_ERROR_DEPRECATED_DECLARATIONS) sdl_compile_options(PRIVATE "-Wno-error=deprecated-declarations") endif() + check_c_compiler_flag(-Wno-deprecated-declarations COMPILER_SUPPORTS_WNO_DEPRECATED_DECLARATIONS) + if(COMPILER_SUPPORTS_WNO_DEPRECATED_DECLARATIONS) + sdl_compile_options(PRIVATE "-Wno-deprecated-declarations") + endif() endif() - if(APPLE) - check_linker_flag(C "-Wl,-undefined,error" LINKER_SUPPORTS_WL_UNDEFINED_ERROR) - if(LINKER_SUPPORTS_WL_UNDEFINED_ERROR) - sdl_shared_link_options("-Wl,-undefined,error") - endif() - elseif(NOT OPENBSD) + if(NOT OPENBSD) cmake_push_check_state() check_linker_flag(C "-Wl,--no-undefined" LINKER_SUPPORTS_WL_NO_UNDEFINED) #FIXME: originally this if had an additional "AND NOT (USE_CLANG AND WINDOWS)" @@ -658,7 +703,7 @@ if(SDL_ASSEMBLY) if(USE_GCC OR USE_CLANG OR USE_INTELCC) string(APPEND CMAKE_REQUIRED_FLAGS " -mmmx") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include void ints_add(int *dest, int *a, int *b, unsigned size) { for (; size >= 2; size -= 2, dest += 2, a += 2, b += 2) { @@ -668,7 +713,7 @@ if(SDL_ASSEMBLY) int main(int argc, char *argv[]) { ints_add((int*)0, (int*)0, (int*)0, 0); return 0; - }" COMPILER_SUPPORTS_MMX) + }]==] COMPILER_SUPPORTS_MMX) cmake_pop_check_state() if(COMPILER_SUPPORTS_MMX) set(HAVE_MMX TRUE) @@ -679,7 +724,7 @@ if(SDL_ASSEMBLY) if(USE_GCC OR USE_CLANG OR USE_INTELCC) string(APPEND CMAKE_REQUIRED_FLAGS " -msse") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include void floats_add(float *dest, float *a, float *b, unsigned size) { for (; size >= 4; size -= 4, dest += 4, a += 4, b += 4) { @@ -689,7 +734,7 @@ if(SDL_ASSEMBLY) int main(int argc, char **argv) { floats_add((float*)0, (float*)0, (float*)0, 0); return 0; - }" COMPILER_SUPPORTS_SSE) + }]==] COMPILER_SUPPORTS_SSE) cmake_pop_check_state() if(COMPILER_SUPPORTS_SSE) set(HAVE_SSE TRUE) @@ -700,7 +745,7 @@ if(SDL_ASSEMBLY) if(USE_GCC OR USE_CLANG OR USE_INTELCC) string(APPEND CMAKE_REQUIRED_FLAGS " -msse2") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include void doubles_add(double *dest, double *a, double *b, unsigned size) { for (; size >= 4; size -= 4, dest += 4, a += 4, b += 4) { @@ -710,7 +755,7 @@ if(SDL_ASSEMBLY) int main(int argc, char **argv) { doubles_add((double*)0, (double*)0, (double*)0, 0); return 0; - }" COMPILER_SUPPORTS_SSE2) + }]==] COMPILER_SUPPORTS_SSE2) cmake_pop_check_state() if(COMPILER_SUPPORTS_SSE2) set(HAVE_SSE2 TRUE) @@ -721,7 +766,7 @@ if(SDL_ASSEMBLY) if(USE_GCC OR USE_CLANG OR USE_INTELCC) string(APPEND CMAKE_REQUIRED_FLAGS " -msse3") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include void ints_add(int *dest, int *a, int *b, unsigned size) { for (; size >= 4; size -= 4, dest += 4, a += 4, b += 4) { @@ -731,7 +776,7 @@ if(SDL_ASSEMBLY) int main(int argc, char **argv) { ints_add((int*)0, (int*)0, (int*)0, 0); return 0; - }" COMPILER_SUPPORTS_SSE3) + }]==] COMPILER_SUPPORTS_SSE3) cmake_pop_check_state() if(COMPILER_SUPPORTS_SSE3) set(HAVE_SSE3 TRUE) @@ -742,7 +787,7 @@ if(SDL_ASSEMBLY) if(USE_GCC OR USE_CLANG OR USE_INTELCC) string(APPEND CMAKE_REQUIRED_FLAGS " -msse4.1") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include void ints_mul(int *dest, int *a, int *b, unsigned size) { for (; size >= 4; size -= 4, dest += 4, a += 4, b += 4) { @@ -752,7 +797,7 @@ if(SDL_ASSEMBLY) int main(int argc, char **argv) { ints_mul((int*)0, (int*)0, (int*)0, 0); return 0; - }" COMPILER_SUPPORTS_SSE4_1) + }]==] COMPILER_SUPPORTS_SSE4_1) cmake_pop_check_state() if(COMPILER_SUPPORTS_SSE4_1) set(HAVE_SSE4_1 TRUE) @@ -761,21 +806,16 @@ if(SDL_ASSEMBLY) if(SDL_SSE4_2) cmake_push_check_state() if(USE_GCC OR USE_CLANG OR USE_INTELCC) - string(APPEND CMAKE_REQUIRED_FLAGS " -msse4.2 -mcrc32") + string(APPEND CMAKE_REQUIRED_FLAGS " -msse4.2") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include - unsigned calc_crc32c(const char *text, unsigned len) { - unsigned crc32c = ~0; - for (; len >= 4; len -= 4, text += 4) { - crc32c = (unsigned)_mm_crc32_u32(crc32c, *(unsigned*)text); - } - return crc32c; - } + __m128i bitmask; + char data[16]; int main(int argc, char **argv) { - calc_crc32c(\"SDL_SSE4\",8); + bitmask = _mm_cmpgt_epi64(_mm_set1_epi64x(0), _mm_loadu_si128((void*)data)); return 0; - }" COMPILER_SUPPORTS_SSE4_2) + }]==] COMPILER_SUPPORTS_SSE4_2) cmake_pop_check_state() if(COMPILER_SUPPORTS_SSE4_2) set(HAVE_SSE4_2 TRUE) @@ -786,7 +826,7 @@ if(SDL_ASSEMBLY) if(USE_GCC OR USE_CLANG OR USE_INTELCC) string(APPEND CMAKE_REQUIRED_FLAGS " -mavx") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include void floats_add(float *dest, float *a, float *b, unsigned size) { for (; size >= 8; size -= 8, dest += 8, a += 8, b += 8) { @@ -796,7 +836,7 @@ if(SDL_ASSEMBLY) int main(int argc, char **argv) { floats_add((float*)0, (float*)0, (float*)0, 0); return 0; - }" COMPILER_SUPPORTS_AVX) + }]==] COMPILER_SUPPORTS_AVX) cmake_pop_check_state() if(COMPILER_SUPPORTS_AVX) set(HAVE_AVX TRUE) @@ -807,7 +847,7 @@ if(SDL_ASSEMBLY) if(USE_GCC OR USE_CLANG OR USE_INTELCC) string(APPEND CMAKE_REQUIRED_FLAGS " -mavx2") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include void ints_add(int *dest, int *a, int *b, unsigned size) { for (; size >= 8; size -= 8, dest += 8, a += 8, b += 8) { @@ -817,7 +857,7 @@ if(SDL_ASSEMBLY) int main(int argc, char **argv) { ints_add((int*)0, (int*)0, (int*)0, 0); return 0; - }" COMPILER_SUPPORTS_AVX2) + }]==] COMPILER_SUPPORTS_AVX2) cmake_pop_check_state() if(COMPILER_SUPPORTS_AVX2) set(HAVE_AVX2 TRUE) @@ -828,7 +868,7 @@ if(SDL_ASSEMBLY) if(USE_GCC OR USE_CLANG OR USE_INTELCC) string(APPEND CMAKE_REQUIRED_FLAGS " -mavx512f") endif() - check_c_source_compiles(" + check_x86_source_compiles([==[ #include void floats_add(float *dest, float *a, float *b, unsigned size) { for (; size >= 16; size -= 16, dest += 16, a += 16, b += 16) { @@ -838,7 +878,7 @@ if(SDL_ASSEMBLY) int main(int argc, char **argv) { floats_add((float*)0, (float*)0, (float*)0, 0); return 0; - }" COMPILER_SUPPORTS_AVX512F) + }]==] COMPILER_SUPPORTS_AVX512F) cmake_pop_check_state() if(COMPILER_SUPPORTS_AVX512F) set(HAVE_AVX512F TRUE) @@ -846,18 +886,17 @@ if(SDL_ASSEMBLY) endif() if(SDL_ARMNEON) - check_c_source_compiles(" - #include - void floats_add(float *dest, float *a, float *b, unsigned size) { - for (; size >= 4; size -= 4, dest += 4, a += 4, b += 4) { - vst1q_f32(dest, vaddq_f32(vld1q_f32(a), vld1q_f32(b))); - } + check_arm_source_compiles([==[ + #include + void floats_add(float *dest, float *a, float *b, unsigned size) { + for (; size >= 4; size -= 4, dest += 4, a += 4, b += 4) { + vst1q_f32(dest, vaddq_f32(vld1q_f32(a), vld1q_f32(b))); } - int main(int argc, char *argv[]) { - floats_add((float*)0, (float*)0, (float*)0, 0); - return 0; - }" COMPILER_SUPPORTS_ARMNEON) - + } + int main(int argc, char *argv[]) { + floats_add((float*)0, (float*)0, (float*)0, 0); + return 0; + }]==] COMPILER_SUPPORTS_ARMNEON) if(COMPILER_SUPPORTS_ARMNEON) set(HAVE_ARMNEON TRUE) endif() @@ -881,6 +920,7 @@ if(SDL_ASSEMBLY) set(HAVE_ALTIVEC TRUE) set(SDL_ALTIVEC_BLITTERS 1) sdl_compile_options(PRIVATE "-maltivec") + sdl_compile_options(PRIVATE "-fno-tree-vectorize") set_property(SOURCE "${SDL3_SOURCE_DIR}/src/video/SDL_blit_N.c" APPEND PROPERTY COMPILE_DEFINITIONS "SDL_ENABLE_ALTIVEC") set_property(SOURCE "${SDL3_SOURCE_DIR}/src/video/SDL_blit_N.c" PROPERTY SKIP_PRECOMPILE_HEADERS 1) endif() @@ -898,7 +938,17 @@ if(SDL_ASSEMBLY) cmake_pop_check_state() if(COMPILER_SUPPORTS_LSX AND HAVE_LSXINTRIN_H) - set_property(SOURCE "${SDL3_SOURCE_DIR}/src/video/yuv2rgb/yuv_rgb_lsx.c" APPEND PROPERTY COMPILE_OPTIONS "-mlsx") + set_property(SOURCE + "${SDL3_SOURCE_DIR}/src/video/yuv2rgb/yuv_rgb_lsx.c" + "${SDL3_SOURCE_DIR}/src/video/SDL_blit_A.c" + "${SDL3_SOURCE_DIR}/src/video/SDL_fillrect.c" + APPEND PROPERTY COMPILE_OPTIONS "-mlsx") + + set_property(SOURCE + "${SDL3_SOURCE_DIR}/src/video/yuv2rgb/yuv_rgb_lsx.c" + "${SDL3_SOURCE_DIR}/src/video/SDL_blit_A.c" + "${SDL3_SOURCE_DIR}/src/video/SDL_fillrect.c" + PROPERTY SKIP_PRECOMPILE_HEADERS 1) set(HAVE_LSX TRUE) endif() endif() @@ -972,7 +1022,14 @@ set(SDL_DISABLE_ALLOCA 0) check_include_file("alloca.h" "HAVE_ALLOCA_H") if(MSVC) check_include_file("malloc.h" "HAVE_MALLOC_H") - check_symbol_exists("_alloca" "malloc.h" _ALLOCA_IN_MALLOC_H) + # Cannot use CheckSymbolExists for _alloca: purely intrinsic functions have no address (C7552) + if(NOT DEFINED _ALLOCA_IN_MALLOC_H) + message(STATUS "Looking for _alloca in malloc.h") + set(testsrc "${CMAKE_CURRENT_SOURCE_DIR}/test_malloc_alloca.c") + file(WRITE "${testsrc}" "#include \n\nint main(int argc, char *argv[]) { void *ptr = _alloca(argc * (int)argv[0][0]); return ptr != (void *)0; }") + try_compile(_ALLOCA_IN_MALLOC_H "${CMAKE_CURRENT_BINARY_DIR}/alloca_in_malloc_h" SOURCES "${testsrc}") + message(STATUS "Looking for _alloca in malloc.h - ${_ALLOCA_IN_MALLOC_H}") + endif() if(NOT HAVE_ALLOCA_H AND NOT _ALLOCA_IN_MALLOC_H) set(SDL_DISABLE_ALLOCA 1) endif() @@ -1060,8 +1117,10 @@ if(SDL_LIBC) cmake_push_check_state() if(MSVC) string(APPEND CMAKE_REQUIRED_FLAGS " -we4244 -WX") # 'conversion' conversion from 'type1' to 'type2', possible loss of data - else() + elseif(HAVE_GCC_WFLOAT_CONVERSION) string(APPEND CMAKE_REQUIRED_FLAGS " -Wfloat-conversion -Werror") + else() + string(APPEND CMAKE_REQUIRED_FLAGS " -Wconversion -Werror") endif() foreach(math_fn isinf isnan) string(TOUPPER "${math_fn}" MATH_FN) @@ -1098,7 +1157,10 @@ if(SDL_LIBC) check_symbol_exists(fdatasync "unistd.h" HAVE_FDATASYNC) check_symbol_exists(gethostname "unistd.h" HAVE_GETHOSTNAME) check_symbol_exists(getpagesize "unistd.h" HAVE_GETPAGESIZE) + check_symbol_exists(getresgid "unistd.h" HAVE_GETRESGID) + check_symbol_exists(getresuid "unistd.h" HAVE_GETRESUID) check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION) + check_symbol_exists(sigtimedwait "signal.h" HAVE_SIGTIMEDWAIT) check_symbol_exists(setjmp "setjmp.h" HAVE_SETJMP) check_symbol_exists(nanosleep "time.h" HAVE_NANOSLEEP) check_symbol_exists(gmtime_r "time.h" HAVE_GMTIME_R) @@ -1108,9 +1170,11 @@ if(SDL_LIBC) check_symbol_exists(sysctlbyname "sys/types.h;sys/sysctl.h" HAVE_SYSCTLBYNAME) check_symbol_exists(getauxval "sys/auxv.h" HAVE_GETAUXVAL) check_symbol_exists(elf_aux_info "sys/auxv.h" HAVE_ELF_AUX_INFO) - check_symbol_exists(poll "poll.h" HAVE_POLL) + check_symbol_exists(ppoll "poll.h" HAVE_PPOLL) check_symbol_exists(memfd_create "sys/mman.h" HAVE_MEMFD_CREATE) check_symbol_exists(posix_fallocate "fcntl.h" HAVE_POSIX_FALLOCATE) + check_symbol_exists(posix_spawn_file_actions_addchdir "spawn.h" HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR) + check_symbol_exists(posix_spawn_file_actions_addchdir_np "spawn.h" HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP) if(SDL_SYSTEM_ICONV) check_c_source_compiles(" @@ -1167,50 +1231,84 @@ endif() # General source files sdl_glob_sources( "${SDL3_SOURCE_DIR}/src/*.c" + "${SDL3_SOURCE_DIR}/src/*.h" "${SDL3_SOURCE_DIR}/src/atomic/*.c" + "${SDL3_SOURCE_DIR}/src/atomic/*.h" "${SDL3_SOURCE_DIR}/src/audio/*.c" + "${SDL3_SOURCE_DIR}/src/audio/*.h" "${SDL3_SOURCE_DIR}/src/camera/*.c" + "${SDL3_SOURCE_DIR}/src/camera/*.h" "${SDL3_SOURCE_DIR}/src/core/*.c" + "${SDL3_SOURCE_DIR}/src/core/*.h" "${SDL3_SOURCE_DIR}/src/cpuinfo/*.c" + "${SDL3_SOURCE_DIR}/src/cpuinfo/*.h" "${SDL3_SOURCE_DIR}/src/dynapi/*.c" + "${SDL3_SOURCE_DIR}/src/dynapi/*.h" "${SDL3_SOURCE_DIR}/src/events/*.c" + "${SDL3_SOURCE_DIR}/src/events/*.h" "${SDL3_SOURCE_DIR}/src/io/*.c" + "${SDL3_SOURCE_DIR}/src/io/*.h" "${SDL3_SOURCE_DIR}/src/io/generic/*.c" + "${SDL3_SOURCE_DIR}/src/io/generic/*.h" "${SDL3_SOURCE_DIR}/src/filesystem/*.c" + "${SDL3_SOURCE_DIR}/src/filesystem/*.h" "${SDL3_SOURCE_DIR}/src/gpu/*.c" + "${SDL3_SOURCE_DIR}/src/gpu/*.h" "${SDL3_SOURCE_DIR}/src/joystick/*.c" + "${SDL3_SOURCE_DIR}/src/joystick/*.h" "${SDL3_SOURCE_DIR}/src/haptic/*.c" + "${SDL3_SOURCE_DIR}/src/haptic/*.h" "${SDL3_SOURCE_DIR}/src/hidapi/*.c" + "${SDL3_SOURCE_DIR}/src/hidapi/*.h" "${SDL3_SOURCE_DIR}/src/locale/*.c" + "${SDL3_SOURCE_DIR}/src/locale/*.h" "${SDL3_SOURCE_DIR}/src/main/*.c" + "${SDL3_SOURCE_DIR}/src/main/*.h" "${SDL3_SOURCE_DIR}/src/misc/*.c" + "${SDL3_SOURCE_DIR}/src/misc/*.h" "${SDL3_SOURCE_DIR}/src/power/*.c" + "${SDL3_SOURCE_DIR}/src/power/*.h" "${SDL3_SOURCE_DIR}/src/render/*.c" + "${SDL3_SOURCE_DIR}/src/render/*.h" "${SDL3_SOURCE_DIR}/src/render/*/*.c" + "${SDL3_SOURCE_DIR}/src/render/*/*.h" "${SDL3_SOURCE_DIR}/src/sensor/*.c" + "${SDL3_SOURCE_DIR}/src/sensor/*.h" "${SDL3_SOURCE_DIR}/src/stdlib/*.c" + "${SDL3_SOURCE_DIR}/src/stdlib/*.h" "${SDL3_SOURCE_DIR}/src/storage/*.c" + "${SDL3_SOURCE_DIR}/src/storage/*.h" "${SDL3_SOURCE_DIR}/src/thread/*.c" + "${SDL3_SOURCE_DIR}/src/thread/*.h" "${SDL3_SOURCE_DIR}/src/time/*.c" + "${SDL3_SOURCE_DIR}/src/time/*.h" "${SDL3_SOURCE_DIR}/src/timer/*.c" + "${SDL3_SOURCE_DIR}/src/timer/*.h" "${SDL3_SOURCE_DIR}/src/video/*.c" + "${SDL3_SOURCE_DIR}/src/video/*.h" "${SDL3_SOURCE_DIR}/src/video/yuv2rgb/*.c" + "${SDL3_SOURCE_DIR}/src/video/yuv2rgb/*.h" ) -# Build uclibc as a static library such that non-used symbols don't end up in the SDL3 shared library. file(GLOB SDL_UCLIBC_SOURCES "${SDL3_SOURCE_DIR}/src/libm/*.c") -add_library(SDL_uclibc STATIC "${SDL_UCLIBC_SOURCES}") -target_compile_definitions(SDL_uclibc PRIVATE USING_GENERATED_CONFIG_H) -target_include_directories(SDL_uclibc PRIVATE "${SDL3_BINARY_DIR}/include-config-$>/build_config") -target_include_directories(SDL_uclibc PRIVATE "${SDL3_SOURCE_DIR}/src") -target_include_directories(SDL_uclibc PRIVATE "${SDL3_SOURCE_DIR}/include") -SDL_AddCommonCompilerFlags(SDL_uclibc) -sdl_sources(STATIC "$") if(TARGET SDL3-shared) + # Build uclibc as a static library such that non-used symbols don't end up in the SDL3 shared library. + add_library(SDL_uclibc STATIC ${SDL_UCLIBC_SOURCES}) + set_property(TARGET SDL_uclibc PROPERTY POSITION_INDEPENDENT_CODE TRUE) + target_compile_definitions(SDL_uclibc PRIVATE USING_GENERATED_CONFIG_H) + target_include_directories(SDL_uclibc PRIVATE "${SDL3_BINARY_DIR}/include-config-$>/build_config") + target_include_directories(SDL_uclibc PRIVATE "${SDL3_SOURCE_DIR}/src") + target_include_directories(SDL_uclibc PRIVATE "${SDL3_SOURCE_DIR}/include") + SDL_AddCommonCompilerFlags(SDL_uclibc) + target_compile_definitions(SDL_uclibc PRIVATE "$<$:DEBUG>") + set_property(TARGET SDL_uclibc PROPERTY UNITY_BUILD OFF) target_link_libraries(SDL3-shared PRIVATE SDL_uclibc) + if(HAVE_GCC_FVISIBILITY) + set_property(TARGET SDL_uclibc PROPERTY C_VISIBILITY_PRESET "hidden") + endif() endif() -if(HAVE_GCC_FVISIBILITY) - set_property(TARGET SDL_uclibc PROPERTY C_VISIBILITY_PRESET "hidden") +if(TARGET SDL3-static) + target_sources(SDL3-static PRIVATE ${SDL_UCLIBC_SOURCES}) endif() # Enable/disable various subsystems of the SDL library @@ -1233,13 +1331,19 @@ if(SDL_AUDIO) # CheckDummyAudio/CheckDiskAudio - valid for all platforms if(SDL_DUMMYAUDIO) set(SDL_AUDIO_DRIVER_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/audio/dummy/*.h" + ) set(HAVE_DUMMYAUDIO TRUE) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_DISKAUDIO) set(SDL_AUDIO_DRIVER_DISK 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/disk/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/disk/*.c" + "${SDL3_SOURCE_DIR}/src/audio/disk/*.h" + ) set(HAVE_DISKAUDIO TRUE) set(HAVE_SDL_AUDIO TRUE) endif() @@ -1249,7 +1353,10 @@ if(SDL_CAMERA) # CheckDummyCamera/CheckDiskCamera - valid for all platforms if(SDL_DUMMYCAMERA) set(SDL_CAMERA_DRIVER_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/camera/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/camera/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/camera/dummy/*.h" + ) set(HAVE_DUMMYCAMERA TRUE) set(HAVE_SDL_CAMERA TRUE) endif() @@ -1268,7 +1375,10 @@ if(UNIX OR APPLE) CheckDLOPEN() if(HAVE_DLOPEN) set(SDL_LOADSO_DLOPEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.c" + "${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.h" + ) set(HAVE_SDL_LOADSO TRUE) endif() endif() @@ -1281,14 +1391,20 @@ if(SDL_JOYSTICK) if(SDL_VIRTUAL_JOYSTICK) set(HAVE_VIRTUAL_JOYSTICK TRUE) set(SDL_JOYSTICK_VIRTUAL 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/virtual/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/joystick/virtual/*.c" + "${SDL3_SOURCE_DIR}/src/joystick/virtual/*.h" + ) endif() endif() if(SDL_VIDEO) if(SDL_DUMMYVIDEO) set(SDL_VIDEO_DRIVER_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/video/dummy/*.h" + ) set(HAVE_DUMMYVIDEO TRUE) set(HAVE_SDL_VIDEO TRUE) endif() @@ -1298,11 +1414,15 @@ endif() if(ANDROID) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/android") - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/android/*.c") - sdl_sources("${CMAKE_ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c") - set_property(SOURCE "${CMAKE_ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-declaration-after-statement") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/core/android/*.c" + "${SDL3_SOURCE_DIR}/src/core/android/*.h" + ) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/misc/android/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/misc/android/*.c" + "${SDL3_SOURCE_DIR}/src/misc/android/*.h" + ) set(HAVE_SDL_MISC TRUE) # SDL_spinlock.c Needs to be compiled in ARM mode. @@ -1320,18 +1440,27 @@ if(ANDROID) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_OPENSLES 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/openslES/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/openslES/*.c" + "${SDL3_SOURCE_DIR}/src/audio/openslES/*.h" + ) sdl_link_dependency(opensles LIBS ${ANDROID_DL_LIBRARY} OpenSLES) set(SDL_AUDIO_DRIVER_AAUDIO 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/aaudio/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/aaudio/*.c" + "${SDL3_SOURCE_DIR}/src/audio/aaudio/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() set(SDL_FILESYSTEM_ANDROID 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/android/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/filesystem/android/*.c" + "${SDL3_SOURCE_DIR}/src/filesystem/android/*.h" + ) set(HAVE_SDL_FILESYSTEM TRUE) set(SDL_FSOPS_POSIX 1) # !!! FIXME: this might need something else for .apk data? @@ -1340,7 +1469,10 @@ if(ANDROID) if(SDL_HAPTIC) set(SDL_HAPTIC_ANDROID 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/haptic/android/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/haptic/android/*.c" + "${SDL3_SOURCE_DIR}/src/haptic/android/*.h" + ) set(HAVE_SDL_HAPTIC TRUE) endif() @@ -1350,46 +1482,71 @@ if(ANDROID) set(SDL_JOYSTICK_ANDROID 1) sdl_glob_sources( "${SDL3_SOURCE_DIR}/src/joystick/android/*.c" + "${SDL3_SOURCE_DIR}/src/joystick/android/*.h" ) set(HAVE_SDL_JOYSTICK TRUE) endif() set(SDL_LOADSO_DLOPEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.c" + "${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.h" + ) set(HAVE_SDL_LOADSO TRUE) if(SDL_POWER) set(SDL_POWER_ANDROID 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/power/android/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/power/android/*.c" + "${SDL3_SOURCE_DIR}/src/power/android/*.h" + ) set(HAVE_SDL_POWER TRUE) endif() - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/locale/android/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/locale/android/*.c" + "${SDL3_SOURCE_DIR}/src/locale/android/*.h" + ) set(HAVE_SDL_LOCALE TRUE) set(SDL_TIME_UNIX 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/time/unix/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/time/unix/*.c" + "${SDL3_SOURCE_DIR}/src/time/unix/*.h" + ) set(HAVE_SDL_TIME TRUE) set(SDL_TIMER_UNIX 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/timer/unix/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/timer/unix/*.c" + "${SDL3_SOURCE_DIR}/src/timer/unix/*.h" + ) set(HAVE_SDL_TIMERS TRUE) if(SDL_SENSOR) set(SDL_SENSOR_ANDROID 1) set(HAVE_SDL_SENSORS TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/sensor/android/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/sensor/android/*.c" + "${SDL3_SOURCE_DIR}/src/sensor/android/*.h" + ) endif() if(SDL_CAMERA) set(SDL_CAMERA_DRIVER_ANDROID 1) set(HAVE_CAMERA TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/camera/android/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/camera/android/*.c" + "${SDL3_SOURCE_DIR}/src/camera/android/*.h" + ) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_ANDROID 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/android/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/android/*.c" + "${SDL3_SOURCE_DIR}/src/video/android/*.h" + ) set(HAVE_SDL_VIDEO TRUE) # Core stuff @@ -1486,31 +1643,41 @@ if(ANDROID) endif() endif() endif() - -if(TARGET SDL3-shared) - target_link_options(SDL3-shared PRIVATE "-Wl,-z,max-page-size=16384") - target_link_options(SDL3-shared PRIVATE "-Wl,-z,common-page-size=16384") -endif() + if(TARGET SDL3-static) + target_link_options(SDL3-static INTERFACE "-Wl,-u,JNI_OnLoad") + endif() elseif(EMSCRIPTEN) # Hide noisy warnings that intend to aid mostly during initial stages of porting a new # project. Uncomment at will for verbose cross-compiling -I/../ path info. sdl_compile_options(PRIVATE "-Wno-warn-absolute-paths") - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/main/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/main/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/main/emscripten/*.h" + ) set(HAVE_SDL_MAIN_CALLBACKS TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/misc/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/misc/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/misc/emscripten/*.h" + ) set(HAVE_SDL_MISC TRUE) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_EMSCRIPTEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/audio/emscripten/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() set(SDL_FILESYSTEM_EMSCRIPTEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/filesystem/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/filesystem/emscripten/*.h" + ) set(HAVE_SDL_FILESYSTEM TRUE) set(SDL_FSOPS_POSIX 1) @@ -1520,44 +1687,73 @@ elseif(EMSCRIPTEN) if(SDL_CAMERA) set(SDL_CAMERA_DRIVER_EMSCRIPTEN 1) set(HAVE_CAMERA TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/camera/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/camera/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/camera/emscripten/*.h" + ) endif() if(SDL_JOYSTICK) set(SDL_JOYSTICK_EMSCRIPTEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/joystick/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/joystick/emscripten/*.h" + ) set(HAVE_SDL_JOYSTICK TRUE) endif() if(SDL_POWER) set(SDL_POWER_EMSCRIPTEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/power/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/power/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/power/emscripten/*.h" + ) set(HAVE_SDL_POWER TRUE) endif() - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/locale/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/locale/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/locale/emscripten/*.h" + ) set(HAVE_SDL_LOCALE TRUE) set(SDL_TIME_UNIX 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/time/unix/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/time/unix/*.c" + "${SDL3_SOURCE_DIR}/src/time/unix/*.h" + ) set(HAVE_SDL_TIME TRUE) set(SDL_TIMER_UNIX 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/timer/unix/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/timer/unix/*.c" + "${SDL3_SOURCE_DIR}/src/timer/unix/*.h" + ) set(HAVE_SDL_TIMERS TRUE) if(SDL_CLOCK_GETTIME) set(HAVE_CLOCK_GETTIME 1) endif() + if(SDL_SENSOR) + set(SDL_SENSOR_EMSCRIPTEN 1) + set(HAVE_SDL_SENSORS TRUE) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/sensor/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/sensor/emscripten/*.h" + ) + endif() + if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_EMSCRIPTEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/emscripten/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/emscripten/*.c" + "${SDL3_SOURCE_DIR}/src/video/emscripten/*.h" + ) set(HAVE_SDL_VIDEO TRUE) #enable gles if(SDL_OPENGLES) - set(SDL_VIDEO_OPENGL_EGL 1) set(HAVE_OPENGLES TRUE) set(SDL_VIDEO_OPENGL_ES2 1) set(SDL_VIDEO_RENDER_OGL_ES2 1) @@ -1568,14 +1764,41 @@ elseif(EMSCRIPTEN) CheckLibUnwind() elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) + + set(SDL_DISABLE_DLOPEN_NOTES TRUE) + if(SDL_DLOPEN_NOTES) + set(CHECK_ELF_DLNOTES_SRC [==[ + #ifndef __ELF__ + ELF DL notes is only supported on ELF platforms + #endif + __attribute__ ((used,aligned(4),section(".note.dlopen"))) static const struct { + struct { int a; int b; int c; } hdr; char name[4]; __attribute__((aligned(4))) char json[24]; + } dlnote = { { 4, 0x407c0c0aU, 16 }, "FDO", "[\\"a\\":{\\"a\\":\\"1\\",\\"b\\":\\"2\\"}]" }; + int main(int argc, char *argv[]) { + return argc + dlnote.hdr.a; + } + ]==]) + check_c_source_compiles("${CHECK_ELF_DLNOTES_SRC}" COMPILER_SUPPORTS_ELFNOTES) + if(COMPILER_SUPPORTS_ELFNOTES) + set(SDL_DISABLE_DLOPEN_NOTES FALSE) + set(HAVE_DLOPEN_NOTES TRUE) + endif() + endif() + if(SDL_AUDIO) if(NETBSD) set(SDL_AUDIO_DRIVER_NETBSD 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/netbsd/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/netbsd/*.c" + "${SDL3_SOURCE_DIR}/src/audio/netbsd/*.h" + ) set(HAVE_SDL_AUDIO TRUE) elseif(QNX) set(SDL_AUDIO_DRIVER_QNX 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/qnx/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/qnx/*.c" + "${SDL3_SOURCE_DIR}/src/audio/qnx/*.h" + ) sdl_link_dependency(asound LIBS asound) set(HAVE_SDL_AUDIO TRUE) endif() @@ -1593,6 +1816,8 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) # Need to check for ROCKCHIP platform and get rid of "Can't window GBM/EGL surfaces on window creation." CheckROCKCHIP() CheckX11() + CheckFribidi() + CheckLibThai() # Need to check for EGL first because KMSDRM and Wayland depend on it. CheckEGL() CheckKMSDRM() @@ -1604,13 +1829,21 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) CheckVivante() CheckVulkan() CheckQNXScreen() + endif() - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/tray/unix/*.c") + if(SDL_TRAY) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/tray/unix/*.c" + "${SDL3_SOURCE_DIR}/src/tray/unix/*.h" + ) set(HAVE_SDL_TRAY TRUE) endif() if(UNIX) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/unix/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/core/unix/*.c" + "${SDL3_SOURCE_DIR}/src/core/unix/*.h" + ) check_c_source_compiles(" #include @@ -1659,7 +1892,10 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) if(SDL_CAMERA AND HAVE_LINUX_VIDEODEV2_H) set(SDL_CAMERA_DRIVER_V4L2 1) set(HAVE_CAMERA TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/camera/v4l2/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/camera/v4l2/*.c" + "${SDL3_SOURCE_DIR}/src/camera/v4l2/*.h" + ) endif() if(HAVE_LINUX_INPUT_H) @@ -1668,7 +1904,10 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) if(SDL_HAPTIC AND HAVE_LINUX_INPUT_H) set(SDL_HAPTIC_LINUX 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/haptic/linux/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/haptic/linux/*.c" + "${SDL3_SOURCE_DIR}/src/haptic/linux/*.h" + ) set(HAVE_SDL_HAPTIC TRUE) endif() @@ -1728,7 +1967,6 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) set(HAVE_LIBURING TRUE) endif() endif() - if((FREEBSD OR NETBSD) AND NOT HAVE_INOTIFY) set(LibInotify_PKG_CONFIG_SPEC libinotify) pkg_check_modules(PC_LIBINOTIFY IMPORTED_TARGET ${LibInotify_PKG_CONFIG_SPEC}) @@ -1744,24 +1982,40 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) if(HAVE_DBUS_DBUS_H) sdl_sources( "${SDL3_SOURCE_DIR}/src/core/linux/SDL_dbus.c" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_dbus.h" "${SDL3_SOURCE_DIR}/src/core/linux/SDL_system_theme.c" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_system_theme.h" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_progressbar.c" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_progressbar.h" ) endif() if(SDL_USE_IME) - sdl_sources("${SDL3_SOURCE_DIR}/src/core/linux/SDL_ime.c") + sdl_sources( + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_ime.c" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_ime.h" + ) endif() if(HAVE_IBUS_IBUS_H) - sdl_sources("${SDL3_SOURCE_DIR}/src/core/linux/SDL_ibus.c") + sdl_sources( + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_ibus.c" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_ibus.h" + ) endif() if(HAVE_FCITX) - sdl_sources("${SDL3_SOURCE_DIR}/src/core/linux/SDL_fcitx.c") + sdl_sources( + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_fcitx.c" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_fcitx.h" + ) endif() if(HAVE_LIBUDEV_H) - sdl_sources("${SDL3_SOURCE_DIR}/src/core/linux/SDL_udev.c") + sdl_sources( + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_udev.c" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_udev.h" + ) endif() if(HAVE_LINUX_INPUT_H) @@ -1772,26 +2026,20 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) endif() if(HAVE_INPUT_KBIO) - sdl_sources("${SDL3_SOURCE_DIR}/src/core/freebsd/SDL_evdev_kbd_freebsd.c") + sdl_sources( + "${SDL3_SOURCE_DIR}/src/core/freebsd/SDL_evdev_kbd_freebsd.c" + "${SDL3_SOURCE_DIR}/src/core/freebsd/SDL_evdev_kbd_default_keyaccmap.h" + ) endif() if(HAVE_INPUT_WSCONS) sdl_sources( "${SDL3_SOURCE_DIR}/src/core/openbsd/SDL_wscons_kbd.c" "${SDL3_SOURCE_DIR}/src/core/openbsd/SDL_wscons_mouse.c" + "${SDL3_SOURCE_DIR}/src/core/openbsd/SDL_wscons.h" ) endif() - if(SDL_GPU AND SDL_GPU_DXVK) - if(PKG_CONFIG_FOUND) - pkg_search_module(DXVK_NATIVE dxvk-dxgi) - if(DXVK_NATIVE_FOUND) - set(HAVE_D3D11_H TRUE) - sdl_include_directories(PRIVATE SYSTEM ${DXVK_NATIVE_INCLUDE_DIRS}) - endif() - endif() - endif() - if(HAVE_LIBURING_H) sdl_sources("${SDL3_SOURCE_DIR}/src/io/io_uring/SDL_asyncio_liburing.c") endif() @@ -1799,6 +2047,7 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) # Always compiled for Linux, unconditionally: sdl_sources( "${SDL3_SOURCE_DIR}/src/core/linux/SDL_evdev_capabilities.c" + "${SDL3_SOURCE_DIR}/src/core/linux/SDL_evdev_capabilities.h" "${SDL3_SOURCE_DIR}/src/core/linux/SDL_threadprio.c" ) @@ -1817,6 +2066,7 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) set(SDL_JOYSTICK_LINUX 1) sdl_glob_sources( "${SDL3_SOURCE_DIR}/src/joystick/linux/*.c" + "${SDL3_SOURCE_DIR}/src/joystick/linux/*.h" ) set(HAVE_SDL_JOYSTICK TRUE) endif() @@ -1859,7 +2109,10 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/storage/generic/*.c") if(LINUX) set(SDL_STORAGE_STEAM 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/storage/steam/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/storage/steam/*.c" + "${SDL3_SOURCE_DIR}/src/storage/steam/*.h" + ) endif() set(HAVE_SDL_STORAGE 1) @@ -1902,11 +2155,16 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) set (USE_POSIX_SPAWN 1) endif() elseif(WINDOWS) + enable_language(CXX) check_c_source_compiles(" #include int main(int argc, char **argv) { return 0; }" HAVE_WIN32_CC) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/windows/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/core/windows/*.c" + "${SDL3_SOURCE_DIR}/src/core/windows/*.cpp" + "${SDL3_SOURCE_DIR}/src/core/windows/*.h" + ) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/main/windows/*.c") sdl_glob_sources("${SDL3_SOURCE_DIR}/src/io/windows/*.c") @@ -1916,7 +2174,7 @@ elseif(WINDOWS) target_compile_options(SDL_uclibc PRIVATE $<$:/GS-> $<$:/Gs1048576>) if(SDL_CPU_X86) target_compile_options(SDL3-shared PRIVATE "/arch:SSE") - target_compile_options(SDL3-SDL_uclibc PRIVATE "/arch:SSE") + target_compile_options(SDL_uclibc PRIVATE "/arch:SSE") endif() endif() @@ -1955,7 +2213,7 @@ elseif(WINDOWS) else() set(PROCESSOR_ARCH "x86") endif() - sdl_link_directories("$") + sdl_link_directories("$") sdl_include_directories(PRIVATE SYSTEM "$") endif() endif() @@ -1966,7 +2224,8 @@ elseif(WINDOWS) check_c_source_compiles(" #include #include - int main(int argc, char **argv) { return 0; }" HAVE_XINPUT_H) + int main(int argc, char **argv) { return 0; }" HAVE_XINPUT_H + ) endif() # headers needed elsewhere @@ -1982,6 +2241,7 @@ elseif(WINDOWS) #include int main(int argc, char **argv) { return 0; }" HAVE_GAMEINPUT_H ) + check_include_file(dxgi1_5.h HAVE_DXGI1_5_H) check_include_file(dxgi1_6.h HAVE_DXGI1_6_H) check_include_file(tpcshrd.h HAVE_TPCSHRD_H) check_include_file(roapi.h HAVE_ROAPI_H) @@ -1994,6 +2254,7 @@ elseif(WINDOWS) #include #include #include + static MFVideoPrimaries primaries = MFVideoPrimaries_DCI_P3; int main(int argc, char **argv) { return 0; } " HAVE_MFAPI_H ) @@ -2001,21 +2262,31 @@ elseif(WINDOWS) if(SDL_AUDIO) if(HAVE_DSOUND_H) set(SDL_AUDIO_DRIVER_DSOUND 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/directsound/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/directsound/*.c" + "${SDL3_SOURCE_DIR}/src/audio/directsound/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H) set(SDL_AUDIO_DRIVER_WASAPI 1) set(HAVE_WASAPI TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/wasapi/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/wasapi/*.c" + "${SDL3_SOURCE_DIR}/src/audio/wasapi/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_WINDOWS 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/windows/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/windows/*.c" + "${SDL3_SOURCE_DIR}/src/video/windows/*.cpp" + "${SDL3_SOURCE_DIR}/src/video/windows/*.h" + ) CheckOpenVR() @@ -2027,7 +2298,7 @@ elseif(WINDOWS) set(SDL_VIDEO_RENDER_D3D11 1) set(HAVE_RENDER_D3D11 TRUE) endif() - if(SDL_RENDER_D3D12) + if(SDL_RENDER_D3D12 AND HAVE_DXGI1_6_H) set(SDL_VIDEO_RENDER_D3D12 1) set(HAVE_RENDER_D3D12 TRUE) endif() @@ -2039,7 +2310,9 @@ elseif(WINDOWS) set(SDL_THREAD_WINDOWS 1) sdl_sources( "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond_c.h" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock_c.h" "${SDL3_SOURCE_DIR}/src/thread/windows/SDL_syscond_cv.c" "${SDL3_SOURCE_DIR}/src/thread/windows/SDL_sysmutex.c" "${SDL3_SOURCE_DIR}/src/thread/windows/SDL_sysrwlock_srw.c" @@ -2053,7 +2326,10 @@ elseif(WINDOWS) if(SDL_SENSOR AND HAVE_SENSORSAPI_H) set(SDL_SENSOR_WINDOWS 1) set(HAVE_SDL_SENSORS TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/sensor/windows/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/sensor/windows/*.c" + "${SDL3_SOURCE_DIR}/src/sensor/windows/*.h" + ) endif() if(SDL_POWER) @@ -2075,7 +2351,10 @@ elseif(WINDOWS) set(SDL_STORAGE_GENERIC 1) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/storage/generic/*.c") set(SDL_STORAGE_STEAM 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/storage/steam/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/storage/steam/*.c" + "${SDL3_SOURCE_DIR}/src/storage/steam/*.h" + ) set(HAVE_SDL_STORAGE 1) # Libraries for Win32 native and MinGW @@ -2093,7 +2372,10 @@ elseif(WINDOWS) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/loadso/windows/*.c") set(HAVE_SDL_LOADSO TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/windows/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/core/windows/*.c" + "${SDL3_SOURCE_DIR}/src/core/windows/*.h" + ) if(SDL_VIDEO) if(SDL_OPENGL) @@ -2118,7 +2400,9 @@ elseif(WINDOWS) set(HAVE_RENDER_VULKAN TRUE) endif() endif() + endif() + if(SDL_TRAY) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/tray/windows/*.c") set(HAVE_SDL_TRAY TRUE) endif() @@ -2128,7 +2412,10 @@ elseif(WINDOWS) endif() if(SDL_JOYSTICK) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/windows/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/joystick/windows/*.c" + "${SDL3_SOURCE_DIR}/src/joystick/windows/*.h" + ) set(SDL_JOYSTICK_RAWINPUT 1) if(HAVE_DINPUT_H) @@ -2143,14 +2430,17 @@ elseif(WINDOWS) set(SDL_JOYSTICK_WGI 1) endif() if(HAVE_GAMEINPUT_H) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/gdk/*.c") + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/gdk/*.cpp") set(SDL_JOYSTICK_GAMEINPUT 1) endif() set(HAVE_SDL_JOYSTICK TRUE) if(SDL_HAPTIC) if(HAVE_DINPUT_H) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/haptic/windows/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/haptic/windows/*.c" + "${SDL3_SOURCE_DIR}/src/haptic/windows/*.h" + ) set(SDL_HAPTIC_DINPUT 1) set(HAVE_SDL_HAPTIC TRUE) endif() @@ -2212,7 +2502,10 @@ elseif(APPLE) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_COREAUDIO 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/coreaudio/*.m") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/coreaudio/*.m" + "${SDL3_SOURCE_DIR}/src/audio/coreaudio/*.h" + ) set(HAVE_SDL_AUDIO TRUE) set(SDL_FRAMEWORK_COREAUDIO 1) set(SDL_FRAMEWORK_AUDIOTOOLBOX 1) @@ -2224,7 +2517,10 @@ elseif(APPLE) endif() if(SDL_JOYSTICK) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/apple/*.m") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/joystick/apple/*.m" + "${SDL3_SOURCE_DIR}/src/joystick/apple/*.h" + ) if(IOS OR TVOS OR VISIONOS OR WATCHOS) set(SDL_JOYSTICK_MFI 1) if(IOS OR VISIONOS OR WATCHOS) @@ -2233,7 +2529,10 @@ elseif(APPLE) set(SDL_FRAMEWORK_GAMECONTROLLER 1) set(SDL_FRAMEWORK_COREHAPTICS 1) else() - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/darwin/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/joystick/darwin/*.c" + "${SDL3_SOURCE_DIR}/src/joystick/darwin/*.h" + ) set_property(SOURCE ${MFI_JOYSTICK_SOURCES} APPEND_STRING PROPERTY COMPILE_FLAGS " -fobjc-weak") check_objc_source_compiles(" #include @@ -2273,7 +2572,10 @@ elseif(APPLE) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/haptic/dummy/*.c") set(SDL_HAPTIC_DUMMY 1) else() - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/haptic/darwin/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/haptic/darwin/*.c" + "${SDL3_SOURCE_DIR}/src/haptic/darwin/*.h" + ) set(SDL_HAPTIC_IOKIT 1) set(SDL_FRAMEWORK_IOKIT 1) set(SDL_FRAMEWORK_FF 1) @@ -2283,7 +2585,10 @@ elseif(APPLE) if(SDL_POWER) if (IOS OR TVOS OR VISIONOS OR WATCHOS) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/power/uikit/*.m") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/power/uikit/*.m" + "${SDL3_SOURCE_DIR}/src/power/uikit/*.h" + ) set(SDL_POWER_UIKIT 1) else() sdl_glob_sources("${SDL3_SOURCE_DIR}/src/power/macos/*.c") @@ -2313,7 +2618,10 @@ elseif(APPLE) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/storage/generic/*.c") if(MACOS) set(SDL_STORAGE_STEAM 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/storage/steam/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/storage/steam/*.c" + "${SDL3_SOURCE_DIR}/src/storage/steam/*.h" + ) endif() set(HAVE_SDL_STORAGE 1) @@ -2325,7 +2633,10 @@ elseif(APPLE) if(IOS OR VISIONOS OR WATCHOS) set(SDL_SENSOR_COREMOTION 1) set(HAVE_SDL_SENSORS TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/sensor/coremotion/*.m") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/sensor/coremotion/*.m" + "${SDL3_SOURCE_DIR}/src/sensor/coremotion/*.h" + ) endif() endif() @@ -2338,7 +2649,11 @@ elseif(APPLE) set(SDL_FRAMEWORK_UIKIT 1) set(SDL_IPHONE_KEYBOARD 1) set(SDL_IPHONE_LAUNCHSCREEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/uikit/*.m") + set(SDL_FRAMEWORK_GAMECONTROLLER 1) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/uikit/*.m" + "${SDL3_SOURCE_DIR}/src/video/uikit/*.h" + ) set(HAVE_SDL_VIDEO TRUE) else() CheckCOCOA() @@ -2388,21 +2703,27 @@ elseif(APPLE) set(HAVE_METAL TRUE) endif() if(SDL_RENDER_METAL) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/render/metal/*.m") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/render/metal/*.m" + "${SDL3_SOURCE_DIR}/src/render/metal/*.h" + ) set(SDL_VIDEO_RENDER_METAL 1) set(HAVE_RENDER_METAL TRUE) endif() if (SDL_GPU) set(SDL_GPU_METAL 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/gpu/metal/*.m") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/gpu/metal/*.m" + "${SDL3_SOURCE_DIR}/src/gpu/metal/*.h" + ) endif() endif() endif() + endif() - if(MACOS) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/tray/cocoa/*.m") - set(HAVE_SDL_TRAY TRUE) - endif() + if(SDL_TRAY AND MACOS) + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/tray/cocoa/*.m") + set(HAVE_SDL_TRAY TRUE) endif() # Minimum version for $ @@ -2488,7 +2809,10 @@ elseif(HAIKU) enable_language(CXX) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_HAIKU 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/haiku/*.cc") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/haiku/*.cc" + "${SDL3_SOURCE_DIR}/src/audio/haiku/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() @@ -2503,7 +2827,10 @@ elseif(HAIKU) if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_HAIKU 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/haiku/*.cc") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/haiku/*.cc" + "${SDL3_SOURCE_DIR}/src/video/haiku/*.h" + ) set(HAVE_SDL_VIDEO TRUE) if(SDL_OPENGL) @@ -2541,7 +2868,10 @@ elseif(HAIKU) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/locale/haiku/*.cc") set(HAVE_SDL_LOCALE TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/core/haiku/*.cc") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/core/haiku/*.cc" + "${SDL3_SOURCE_DIR}/src/core/haiku/*.h" + ) CheckPTHREAD() sdl_link_dependency(base LIBS root be media game device textencoding tracker) @@ -2552,7 +2882,10 @@ elseif(RISCOS) if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_RISCOS 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/riscos/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/riscos/*.c" + "${SDL3_SOURCE_DIR}/src/video/riscos/*.h" + ) set(HAVE_SDL_VIDEO TRUE) endif() @@ -2592,12 +2925,17 @@ elseif(VITA) set_property(SOURCE "${SDL3_SOURCE_DIR}/src/atomic/SDL_spinlock.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -marm") endif() - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/misc/vita/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/misc/vita/*.c" + ) set(HAVE_SDL_MISC TRUE) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_VITA 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/vita/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/vita/*.c" + "${SDL3_SOURCE_DIR}/src/audio/vita/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() @@ -2624,10 +2962,14 @@ elseif(VITA) set(SDL_THREAD_VITA 1) sdl_sources( "${SDL3_SOURCE_DIR}/src/thread/vita/SDL_sysmutex.c" + "${SDL3_SOURCE_DIR}/src/thread/vita/SDL_sysmutex_c.h" "${SDL3_SOURCE_DIR}/src/thread/vita/SDL_syssem.c" "${SDL3_SOURCE_DIR}/src/thread/vita/SDL_systhread.c" + "${SDL3_SOURCE_DIR}/src/thread/vita/SDL_systhread_c.h" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond_c.h" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock_c.h" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_systls.c" ) set(HAVE_SDL_THREADS TRUE) @@ -2646,7 +2988,10 @@ elseif(VITA) if(SDL_SENSOR) set(SDL_SENSOR_VITA 1) set(HAVE_SDL_SENSORS TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/sensor/vita/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/sensor/vita/*.c" + "${SDL3_SOURCE_DIR}/src/sensor/vita/*.h" + ) endif() if(SDL_CAMERA) @@ -2657,7 +3002,10 @@ elseif(VITA) if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_VITA 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/vita/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/vita/*.c" + "${SDL3_SOURCE_DIR}/src/video/vita/*.h" + ) set(HAVE_SDL_VIDEO TRUE) if(VIDEO_VITA_PIB) @@ -2746,7 +3094,10 @@ elseif(PSP) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_PSP 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/psp/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/psp/*.c" + "${SDL3_SOURCE_DIR}/src/audio/psp/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() @@ -2773,9 +3124,12 @@ elseif(PSP) set(SDL_THREAD_PSP 1) sdl_glob_sources( "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond_c.h" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_systls.c" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock_c.h" "${SDL3_SOURCE_DIR}/src/thread/psp/*.c" + "${SDL3_SOURCE_DIR}/src/thread/psp/*.h" ) set(HAVE_SDL_THREADS TRUE) @@ -2793,7 +3147,10 @@ elseif(PSP) if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_PSP 1) set(SDL_VIDEO_RENDER_PSP 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/psp/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/psp/*.c" + "${SDL3_SOURCE_DIR}/src/video/psp/*.h" + ) set(SDL_VIDEO_OPENGL 1) set(HAVE_SDL_VIDEO TRUE) endif() @@ -2817,7 +3174,10 @@ elseif(PS2) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_PS2 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/ps2/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/ps2/*.c" + "${SDL3_SOURCE_DIR}/src/audio/ps2/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() @@ -2838,10 +3198,13 @@ elseif(PS2) set(SDL_THREAD_PS2 1) sdl_glob_sources( "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond_c.h" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysmutex.c" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock_c.h" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_systls.c" "${SDL3_SOURCE_DIR}/src/thread/ps2/*.c" + "${SDL3_SOURCE_DIR}/src/thread/ps2/*.h" ) set(HAVE_SDL_THREADS TRUE) @@ -2876,7 +3239,10 @@ elseif(N3DS) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_N3DS 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/n3ds/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/n3ds/*.c" + "${SDL3_SOURCE_DIR}/src/audio/n3ds/*.h" + ) set(HAVE_SDL_AUDIO TRUE) endif() @@ -2899,11 +3265,16 @@ elseif(N3DS) endif() set(SDL_THREAD_N3DS 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/thread/n3ds/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/thread/n3ds/*.c" + "${SDL3_SOURCE_DIR}/src/thread/n3ds/*.h" + ) sdl_sources( "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond_c.h" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_systls.c" "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysrwlock_c.h" ) set(HAVE_SDL_THREADS TRUE) @@ -2927,14 +3298,115 @@ elseif(N3DS) if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_N3DS 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/n3ds/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/n3ds/*.c" + "${SDL3_SOURCE_DIR}/src/video/n3ds/*.h" + ) set(HAVE_SDL_VIDEO TRUE) endif() sdl_glob_sources("${SDL3_SOURCE_DIR}/src/locale/n3ds/*.c") set(HAVE_SDL_LOCALE TRUE) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/io/n3ds/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/io/n3ds/*.c" + "${SDL3_SOURCE_DIR}/src/io/n3ds/*.h" + ) + +elseif(NGAGE) + + enable_language(CXX) + + set(SDL_MAIN_USE_CALLBACKS 1) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/main/ngage/*.c" + "${SDL3_SOURCE_DIR}/src/main/ngage/*.cpp" + "${SDL3_SOURCE_DIR}/src/main/ngage/*.hpp" + ) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/core/ngage/*.cpp" + "${SDL3_SOURCE_DIR}/src/core/ngage/*.h" + ) + set(HAVE_SDL_MAIN_CALLBACKS TRUE) + + if(SDL_AUDIO) + set(SDL_AUDIO_DRIVER_NGAGE 1) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/ngage/*.c" + "${SDL3_SOURCE_DIR}/src/audio/ngage/*.cpp" + "${SDL3_SOURCE_DIR}/src/audio/ngage/*.h" + "${SDL3_SOURCE_DIR}/src/audio/ngage/*.hpp" + ) + set(HAVE_SDL_AUDIO TRUE) + endif() + + set(SDL_FILESYSTEM_NGAGE 1) + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/ngage/*.c") + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/ngage/*.cpp") + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/posix/*.c") + set(HAVE_SDL_FILESYSTEM TRUE) + + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/locale/ngage/*.cpp") + + if(SDL_RENDER) + set(SDL_VIDEO_RENDER_NGAGE 1) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/render/ngage/*.c" + "${SDL3_SOURCE_DIR}/src/render/ngage/*.h" + "${SDL3_SOURCE_DIR}/src/render/ngage/*.hpp" + ) + endif() + + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/time/ngage/*.cpp") + set(SDL_TIME_NGAGE 1) + + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/render/ngage/*.cpp" + "${SDL3_SOURCE_DIR}/src/render/ngage/*.h" + ) + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/time/unix/*.c") + + set(SDL_TIMER_NGAGE 1) + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/timer/ngage/*.cpp") + + set(SDL_FSOPS_POSIX 1) + + set(SDL_VIDEO_DRIVER_NGAGE 1) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/ngage/*.c" + "${SDL3_SOURCE_DIR}/src/video/ngage/*.h" + ) + set(HAVE_SDL_TIMERS TRUE) + + set_option(SDL_LEAN_AND_MEAN "Enable lean and mean" ON) + if(SDL_LEAN_AND_MEAN) + sdl_compile_definitions( + PRIVATE + SDL_LEAN_AND_MEAN + ) + endif() + + sdl_link_dependency(ngage + LINK_OPTIONS "SHELL:-s MAIN_COMPAT=0" + PKG_CONFIG_LINK_OPTIONS "-s;MAIN_COMPAT=0" + LIBS + NRenderer + 3dtypes + cone + libgcc + libgcc_ngage + mediaclientaudiostream + charconv + bitgdi + euser + estlib + ws32 + hal + fbscli + efsrv + scdv + gdi + ) endif() sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/SDL_dialog.c) @@ -2946,7 +3418,9 @@ if (SDL_DIALOG) elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/unix/SDL_unixdialog.c) sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/unix/SDL_portaldialog.c) + sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/unix/SDL_portaldialog.h) sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/unix/SDL_zenitydialog.c) + sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/unix/SDL_zenitydialog.h) set(HAVE_SDL_DIALOG TRUE) elseif(HAIKU) sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/haiku/SDL_haikudialog.cc) @@ -2959,13 +3433,20 @@ if (SDL_DIALOG) set(HAVE_SDL_DIALOG TRUE) endif() endif() +if(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) + sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/unix/SDL_zenitymessagebox.h) + sdl_sources(${SDL3_SOURCE_DIR}/src/dialog/unix/SDL_zenitymessagebox.c) +endif() sdl_sources("${SDL3_SOURCE_DIR}/src/process/SDL_process.c") if(WINDOWS) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/process/windows/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/process/windows/*.c" + "${SDL3_SOURCE_DIR}/src/process/windows/*.h" + ) set(SDL_PROCESS_WINDOWS 1) set(HAVE_SDL_PROCESS TRUE) -else() +elseif(NOT ANDROID) check_c_source_compiles(" #include #include @@ -3002,8 +3483,14 @@ int main(void) return 0; } " HAVE_POSIX_SPAWN) - if(HAVE_POSIX_SPAWN) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/process/posix/*.c") + if(NOT APPLE) + check_symbol_exists(vfork "unistd.h" LIBC_HAS_VFORK) + endif() + if(HAVE_POSIX_SPAWN AND (APPLE OR LIBC_HAS_VFORK)) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/process/posix/*.c" + "${SDL3_SOURCE_DIR}/src/process/posix/*.h" + ) set(SDL_PROCESS_POSIX 1) set(HAVE_SDL_PROCESS TRUE) endif() @@ -3014,7 +3501,10 @@ endif() if(SDL_VIDEO) if(SDL_OFFSCREEN) set(SDL_VIDEO_DRIVER_OFFSCREEN 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/offscreen/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/offscreen/*.c" + "${SDL3_SOURCE_DIR}/src/video/offscreen/*.h" + ) set(HAVE_OFFSCREEN TRUE) set(HAVE_SDL_VIDEO TRUE) endif() @@ -3023,22 +3513,23 @@ endif() sdl_glob_sources(${SDL3_SOURCE_DIR}/src/tray/*.c) if(SDL_GPU) - if(HAVE_D3D11_H) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/gpu/d3d11/*.c") - set(SDL_GPU_D3D11 1) - set(HAVE_SDL_GPU TRUE) - endif() - if(WINDOWS) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/gpu/d3d12/*.c") + if(HAVE_DXGI1_6_H) + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/gpu/d3d12/*.c" + "${SDL3_SOURCE_DIR}/src/gpu/d3d12/*.h" + ) set(SDL_GPU_D3D12 1) set(HAVE_SDL_GPU TRUE) endif() if(SDL_VIDEO_VULKAN) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/gpu/vulkan/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/gpu/vulkan/*.c" + "${SDL3_SOURCE_DIR}/src/gpu/vulkan/*.h" + ) set(SDL_GPU_VULKAN 1) set(HAVE_SDL_GPU TRUE) endif() - if(SDL_RENDER_GPU) + if(SDL_RENDER_GPU AND HAVE_SDL_GPU) set(SDL_VIDEO_RENDER_GPU 1) set(HAVE_RENDER_GPU TRUE) endif() @@ -3054,35 +3545,59 @@ endif() # src/X/*.c does not get included. if(NOT HAVE_SDL_AUDIO) set(SDL_AUDIO_DRIVER_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/audio/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/audio/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/audio/dummy/*.h" + ) endif() if(NOT HAVE_SDL_VIDEO) set(SDL_VIDEO_DRIVER_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/video/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/video/dummy/*.h" + ) endif() if(NOT HAVE_SDL_JOYSTICK) set(SDL_JOYSTICK_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/joystick/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/joystick/dummy/*.h" + ) endif() if(NOT HAVE_SDL_HAPTIC) set(SDL_HAPTIC_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/haptic/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/haptic/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/haptic/dummy/*.h" + ) endif() if(NOT HAVE_SDL_SENSORS) set(SDL_SENSOR_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/sensor/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/sensor/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/sensor/dummy/*.h" + ) endif() if(NOT HAVE_SDL_LOADSO) set(SDL_LOADSO_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/loadso/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/loadso/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/loadso/dummy/*.h" + ) endif() if(NOT HAVE_SDL_FILESYSTEM) set(SDL_FILESYSTEM_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/filesystem/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/filesystem/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/filesystem/dummy/*.h" + ) endif() if(NOT HAVE_SDL_STORAGE) set(SDL_STORAGE_GENERIC 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/storage/generic/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/storage/generic/*.c" + "${SDL3_SOURCE_DIR}/src/storage/generic/*.h" + ) endif() if(NOT HAVE_SDL_FSOPS) set(SDL_FSOPS_DUMMY 1) @@ -3090,11 +3605,17 @@ if(NOT HAVE_SDL_FSOPS) endif() if(NOT HAVE_SDL_LOCALE) set(SDL_LOCALE_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/locale/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/locale/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/locale/dummy/*.h" + ) endif() if(NOT HAVE_SDL_MISC) set(SDL_MISC_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/misc/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/misc/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/misc/dummy/*.h" + ) endif() if(NOT HAVE_SDL_DIALOG) set(SDL_DIALOG_DUMMY 1) @@ -3110,15 +3631,21 @@ if(NOT HAVE_SDL_TRAY) endif() if(NOT HAVE_CAMERA) set(SDL_CAMERA_DRIVER_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/camera/dummy/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/camera/dummy/*.c" + "${SDL3_SOURCE_DIR}/src/camera/dummy/*.h" + ) endif() # We always need to have threads and timers around if(NOT HAVE_SDL_THREADS) - # The emscripten platform has been carefully vetted to work without threads - if(EMSCRIPTEN) + # The Emscripten and N-Gage platform has been carefully vetted to work without threads + if(EMSCRIPTEN OR NGAGE) set(SDL_THREADS_DISABLED 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/thread/generic/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/thread/generic/*.c" + "${SDL3_SOURCE_DIR}/src/thread/generic/*.h" + ) else() message(FATAL_ERROR "Threads are needed by many SDL subsystems and may not be disabled") endif() @@ -3129,7 +3656,10 @@ endif() # Most platforms use this. if(NOT HAVE_SDL_MAIN_CALLBACKS) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/main/generic/*.c") + sdl_glob_sources( + "${SDL3_SOURCE_DIR}/src/main/generic/*.c" + "${SDL3_SOURCE_DIR}/src/main/generic/*.h" + ) endif() # config variables may contain generator expression, so we need to generate SDL_build_config.h in 2 steps: @@ -3155,14 +3685,15 @@ endforeach() if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/REVISION.txt") file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/REVISION.txt" revisions) list(GET revisions 0 revisions_0) - string(STRIP "${revisions_0}" SDL_REVISION) + string(STRIP "${revisions_0}" revisions_0_stripped) + set(SDL_REVISION "SDL-${revisions_0_stripped}") else() set(SDL_REVISION "" CACHE STRING "Custom SDL revision (only used when REVISION.txt does not exist)") endif() if(NOT SDL_REVISION) # If SDL_REVISION is not overrided, use git to describe git_describe(SDL_REVISION_GIT) - set(SDL_REVISION "SDL3-${SDL3_VERSION}-${SDL_REVISION_GIT}") + set(SDL_REVISION "SDL-${SDL3_VERSION}-${SDL_REVISION_GIT}") endif() execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory "${SDL3_BINARY_DIR}/include-revision/SDL3") @@ -3172,9 +3703,10 @@ list(APPEND SDL3_INCLUDE_FILES "${SDL3_BINARY_DIR}/include-revision/SDL3/SDL_rev if(SDL_FRAMEWORK) # With Apple frameworks, headers in the PUBLIC_HEADER property also need to be added as sources list(APPEND SDL3_INCLUDE_FILES ${SDL3_TEST_INCLUDE_FILES}) - sdl_sources(${SDL3_INCLUDE_FILES}) endif() +sdl_sources(${SDL3_INCLUDE_FILES}) + if((CMAKE_STATIC_LIBRARY_PREFIX STREQUAL "" AND CMAKE_STATIC_LIBRARY_SUFFIX STREQUAL ".lib") OR SDL_FRAMEWORK) # - Avoid conflict between the dll import library and the static library # - Create SDL3-static Apple Framework @@ -3298,10 +3830,6 @@ else() set(ARCH_64 FALSE) endif() -if(ANDROID) - sdl_include_directories(PRIVATE SYSTEM "${CMAKE_ANDROID_NDK}/sources/android/cpufeatures") -endif() - if(APPLE) cmake_push_check_state(RESET) check_c_compiler_flag(-fobjc-arc COMPILER_SUPPORTS_FOBJC_ARC) @@ -3471,6 +3999,8 @@ if(SDL_SHARED) set_property(TARGET SDL3-shared PROPERTY INTERFACE_SDL3_SHARED TRUE) set_property(TARGET SDL3-shared APPEND PROPERTY COMPATIBLE_INTERFACE_STRING "SDL_VERSION") set_property(TARGET SDL3-shared PROPERTY INTERFACE_SDL_VERSION "SDL${SDL3_VERSION_MAJOR}") + set_property(TARGET SDL3-shared APPEND PROPERTY EXPORT_PROPERTIES "SDL_FULL_VERSION") + set_property(TARGET SDL3-shared PROPERTY SDL_FULL_VERSION "${PROJECT_VERSION}") if(NOT CMAKE_VERSION VERSION_LESS "3.16") target_precompile_headers(SDL3-shared PRIVATE "$<$,$>:${PROJECT_SOURCE_DIR}/src/SDL_internal.h>") endif() @@ -3495,6 +4025,8 @@ if(SDL_STATIC) set_property(TARGET SDL3-static PROPERTY INTERFACE_SDL3_SHARED FALSE) set_property(TARGET SDL3-static APPEND PROPERTY COMPATIBLE_INTERFACE_STRING "SDL_VERSION") set_property(TARGET SDL3-static PROPERTY INTERFACE_SDL_VERSION "SDL${SDL3_VERSION_MAJOR}") + set_property(TARGET SDL3-static APPEND PROPERTY EXPORT_PROPERTIES "SDL_FULL_VERSION") + set_property(TARGET SDL3-static PROPERTY SDL_FULL_VERSION "${PROJECT_VERSION}") if(NOT CMAKE_VERSION VERSION_LESS "3.16") target_precompile_headers(SDL3-static PRIVATE "$<$,$>:${PROJECT_SOURCE_DIR}/src/SDL_internal.h>") endif() @@ -3510,7 +4042,7 @@ sdl_compile_definitions( ##### Tests ##### if(SDL_TEST_LIBRARY) - file(GLOB TEST_SOURCES "${SDL3_SOURCE_DIR}/src/test/*.c") + file(GLOB TEST_SOURCES "${SDL3_SOURCE_DIR}/src/test/*.c" "${SDL3_SOURCE_DIR}/src/test/*.h") target_sources(SDL3_test PRIVATE ${TEST_SOURCES}) if(APPLE) set_target_properties(SDL3_test PROPERTIES @@ -3782,6 +4314,7 @@ endif() ##### Uninstall target ##### if(SDL_UNINSTALL) + set(HAVE_UNINSTALL ON) if(NOT TARGET uninstall) configure_file(cmake/cmake_uninstall.cmake.in cmake_uninstall.cmake IMMEDIATE @ONLY) diff --git a/libs/SDL3/LICENSE.txt b/libs/SDL3/LICENSE.txt index 23abb73..e9adee4 100644 --- a/libs/SDL3/LICENSE.txt +++ b/libs/SDL3/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (C) 1997-2025 Sam Lantinga +Copyright (C) 1997-2026 Sam Lantinga This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/libs/SDL3/REVISION.txt b/libs/SDL3/REVISION.txt index b520912..b4fb27f 100644 --- a/libs/SDL3/REVISION.txt +++ b/libs/SDL3/REVISION.txt @@ -1 +1 @@ -release-3.2.20-0-g96292a5b4 +release-3.4.2-0-g683181b47 diff --git a/libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj b/libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj index 96ca804..a1356ab 100644 --- a/libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj +++ b/libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj @@ -326,23 +326,25 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) - - - + + + + + + @@ -352,9 +354,11 @@ - - + + + + @@ -362,11 +366,13 @@ + + @@ -385,7 +391,6 @@ - @@ -407,7 +412,7 @@ - + @@ -424,6 +429,7 @@ + @@ -454,13 +460,16 @@ + + + @@ -496,7 +505,6 @@ - @@ -596,9 +604,11 @@ + + @@ -643,7 +653,7 @@ - + @@ -703,28 +713,39 @@ stdcpp17 stdcpp17 + + - + + + + + + + + + + @@ -756,6 +777,7 @@ + @@ -781,7 +803,6 @@ - @@ -791,7 +812,6 @@ - @@ -873,6 +893,7 @@ + @@ -880,12 +901,11 @@ - - + diff --git a/libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj.filters b/libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj.filters index f760877..a2f431a 100644 --- a/libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj.filters +++ b/libs/SDL3/VisualC-GDK/SDL/SDL.vcxproj.filters @@ -27,7 +27,7 @@ - + @@ -56,28 +56,39 @@ + + - + + + + + + + + + + @@ -91,6 +102,7 @@ + @@ -108,7 +120,6 @@ - @@ -118,7 +129,6 @@ - @@ -177,6 +187,7 @@ + @@ -184,12 +195,11 @@ - - + @@ -229,17 +239,21 @@ - - + + + + + + @@ -249,8 +263,11 @@ - + + + + @@ -258,11 +275,13 @@ + + @@ -281,10 +300,10 @@ - + @@ -299,9 +318,10 @@ + - + @@ -322,6 +342,7 @@ + @@ -343,13 +364,16 @@ + + + @@ -385,7 +409,6 @@ - @@ -439,9 +462,11 @@ + + diff --git a/libs/SDL3/VisualC-GDK/SDL_test/SDL_test.vcxproj b/libs/SDL3/VisualC-GDK/SDL_test/SDL_test.vcxproj index 8d5106c..84a29b5 100644 --- a/libs/SDL3/VisualC-GDK/SDL_test/SDL_test.vcxproj +++ b/libs/SDL3/VisualC-GDK/SDL_test/SDL_test.vcxproj @@ -192,10 +192,12 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) + + + diff --git a/libs/SDL3/VisualC-GDK/tests/testcontroller/testcontroller.vcxproj b/libs/SDL3/VisualC-GDK/tests/testcontroller/testcontroller.vcxproj index afdead2..8d91ee6 100644 --- a/libs/SDL3/VisualC-GDK/tests/testcontroller/testcontroller.vcxproj +++ b/libs/SDL3/VisualC-GDK/tests/testcontroller/testcontroller.vcxproj @@ -268,7 +268,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC-GDK/tests/testgdk/src/testgdk.cpp b/libs/SDL3/VisualC-GDK/tests/testgdk/src/testgdk.cpp index 51fc75b..b8fffd3 100644 --- a/libs/SDL3/VisualC-GDK/tests/testgdk/src/testgdk.cpp +++ b/libs/SDL3/VisualC-GDK/tests/testgdk/src/testgdk.cpp @@ -1,5 +1,5 @@ /* - Copyright (C) 1997-2025 Sam Lantinga + Copyright (C) 1997-2026 Sam Lantinga This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -56,8 +56,7 @@ static struct static SDL_AudioStream *stream; /* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */ -static void -quit(int rc) +static void quit(int rc) { SDL_free(sprites); SDL_DestroyAudioStream(stream); @@ -80,8 +79,7 @@ static int fillerup(void) return 0; } -void -UserLoggedIn(XUserHandle user) +static void UserLoggedIn(XUserHandle user) { HRESULT hr; char gamertag[128]; @@ -96,8 +94,7 @@ UserLoggedIn(XUserHandle user) XUserCloseHandle(user); } -void -AddUserUICallback(XAsyncBlock *asyncBlock) +static void AddUserUICallback(XAsyncBlock *asyncBlock) { HRESULT hr; XUserHandle user = NULL; @@ -123,8 +120,7 @@ AddUserUICallback(XAsyncBlock *asyncBlock) delete asyncBlock; } -void -AddUserUI() +static void AddUserUI() { HRESULT hr; XAsyncBlock *asyncBlock = new XAsyncBlock; @@ -141,8 +137,7 @@ AddUserUI() } } -void -AddUserSilentCallback(XAsyncBlock *asyncBlock) +static void AddUserSilentCallback(XAsyncBlock *asyncBlock) { HRESULT hr; XUserHandle user = NULL; @@ -168,8 +163,7 @@ AddUserSilentCallback(XAsyncBlock *asyncBlock) delete asyncBlock; } -void -AddUserSilent() +static void AddUserSilent() { HRESULT hr; XAsyncBlock *asyncBlock = new XAsyncBlock; @@ -186,30 +180,27 @@ AddUserSilent() } } -int -LoadSprite(const char *file) +static bool LoadSprite(const char *file) { int i; for (i = 0; i < state->num_windows; ++i) { /* This does the SDL_LoadBMP step repeatedly, but that's OK for test code. */ - sprites[i] = LoadTexture(state->renderers[i], file, true, &sprite_w, &sprite_h); + sprites[i] = LoadTexture(state->renderers[i], file, true); if (!sprites[i]) { - return -1; - } - if (!SDL_SetTextureBlendMode(sprites[i], blendMode)) { - SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't set blend mode: %s", SDL_GetError()); - SDL_DestroyTexture(sprites[i]); - return -1; + return false; } + sprite_w = sprites[i]->w; + sprite_h = sprites[i]->h; + + SDL_SetTextureBlendMode(sprites[i], blendMode); } /* We're ready to roll. :) */ - return 0; + return true; } -void -DrawSprites(SDL_Renderer * renderer, SDL_Texture * sprite) +static void DrawSprites(SDL_Renderer * renderer, SDL_Texture * sprite) { SDL_Rect viewport; SDL_FRect temp; @@ -300,8 +291,7 @@ DrawSprites(SDL_Renderer * renderer, SDL_Texture * sprite) SDL_RenderPresent(renderer); } -void -loop() +static void loop() { int i; SDL_Event event; @@ -329,8 +319,7 @@ loop() fillerup(); } -int -main(int argc, char *argv[]) +int main(int argc, char *argv[]) { int i; const char *icon = "icon.bmp"; @@ -413,7 +402,7 @@ main(int argc, char *argv[]) SDL_SetRenderDrawColor(renderer, 0xA0, 0xA0, 0xA0, 0xFF); SDL_RenderClear(renderer); } - if (LoadSprite(icon) < 0) { + if (!LoadSprite(icon)) { quit(2); } diff --git a/libs/SDL3/VisualC-GDK/tests/testgdk/testgdk.vcxproj b/libs/SDL3/VisualC-GDK/tests/testgdk/testgdk.vcxproj index c16fade..4ffc370 100644 --- a/libs/SDL3/VisualC-GDK/tests/testgdk/testgdk.vcxproj +++ b/libs/SDL3/VisualC-GDK/tests/testgdk/testgdk.vcxproj @@ -292,7 +292,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) @@ -311,7 +310,7 @@ - + Copying %(Filename)%(Extension) Copying %(Filename)%(Extension) Copying %(Filename)%(Extension) diff --git a/libs/SDL3/VisualC-GDK/tests/testsprite/testsprite.vcxproj b/libs/SDL3/VisualC-GDK/tests/testsprite/testsprite.vcxproj index 15ea690..65422be 100644 --- a/libs/SDL3/VisualC-GDK/tests/testsprite/testsprite.vcxproj +++ b/libs/SDL3/VisualC-GDK/tests/testsprite/testsprite.vcxproj @@ -292,7 +292,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) @@ -311,7 +310,7 @@ - + Copying %(Filename)%(Extension) Copying %(Filename)%(Extension) Copying %(Filename)%(Extension) diff --git a/libs/SDL3/VisualC/SDL.sln b/libs/SDL3/VisualC/SDL.sln index 7c87fa5..2e0b762 100644 --- a/libs/SDL3/VisualC/SDL.sln +++ b/libs/SDL3/VisualC/SDL.sln @@ -69,7 +69,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "camera", "camera", "{AAEC83 EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01-read-and-draw", "examples\camera\01-read-and-draw\01-read-and-draw.vcxproj", "{510ACF0C-4012-4216-98EF-E4F155DE33CE}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "game", "game", "{D1BF59F6-22DC-493B-BDEB-451A50DA793D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{D1BF59F6-22DC-493B-BDEB-451A50DA793D}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01-snake", "examples\demo\01-snake\01-snake.vcxproj", "{7820969A-5B7B-4046-BB0A-82905D457FC5}" EndProject @@ -115,6 +115,24 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02-woodeneye-008", "example EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03-infinite-monkeys", "examples\demo\03-infinite-monkeys\03-infinite-monkeys.vcxproj", "{75AEE75A-C016-4497-960B-D767B822237D}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "19-affine-textures", "examples\renderer\19-affine-textures\19-affine-textures.vcxproj", "{E21C50BF-54B4-434C-AA24-9A6469553987}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04-multiple-streams", "examples\audio\04-multiple-streams\04-multiple-streams.vcxproj", "{7117A55C-BE4E-41DB-A4FC-4070E35A8B28}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "asyncio", "asyncio", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "input", "input", "{8DEAE483-FDE7-463F-9FD5-F597BBAED1F9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01-load-bitmaps", "examples\asyncio\01-load-bitmaps\01-load-bitmaps.vcxproj", "{6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04-bytepusher", "examples\demo\04-bytepusher\04-bytepusher.vcxproj", "{3DB9B219-769E-43AC-8B8B-319DB6045DCF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01-joystick-polling", "examples\input\01-joystick-polling\01-joystick-polling.vcxproj", "{B3852DB7-E925-4026-8B9D-D2272EFEFF3C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02-joystick-events", "examples\input\02-joystick-events\02-joystick-events.vcxproj", "{FCBDF2B2-1129-49AE-9406-3F219E65CA89}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testsoftwaretransparent", "tests\testsoftwaretransparent\testsoftwaretransparent.vcxproj", "{D91C45E2-274E-4C0F-89C7-9986F9A7E85A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -515,6 +533,62 @@ Global {75AEE75A-C016-4497-960B-D767B822237D}.Release|Win32.Build.0 = Release|Win32 {75AEE75A-C016-4497-960B-D767B822237D}.Release|x64.ActiveCfg = Release|x64 {75AEE75A-C016-4497-960B-D767B822237D}.Release|x64.Build.0 = Release|x64 + {E21C50BF-54B4-434C-AA24-9A6469553987}.Debug|Win32.ActiveCfg = Debug|Win32 + {E21C50BF-54B4-434C-AA24-9A6469553987}.Debug|Win32.Build.0 = Debug|Win32 + {E21C50BF-54B4-434C-AA24-9A6469553987}.Debug|x64.ActiveCfg = Debug|x64 + {E21C50BF-54B4-434C-AA24-9A6469553987}.Debug|x64.Build.0 = Debug|x64 + {E21C50BF-54B4-434C-AA24-9A6469553987}.Release|Win32.ActiveCfg = Release|Win32 + {E21C50BF-54B4-434C-AA24-9A6469553987}.Release|Win32.Build.0 = Release|Win32 + {E21C50BF-54B4-434C-AA24-9A6469553987}.Release|x64.ActiveCfg = Release|x64 + {E21C50BF-54B4-434C-AA24-9A6469553987}.Release|x64.Build.0 = Release|x64 + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28}.Debug|Win32.ActiveCfg = Debug|Win32 + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28}.Debug|Win32.Build.0 = Debug|Win32 + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28}.Debug|x64.ActiveCfg = Debug|x64 + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28}.Debug|x64.Build.0 = Debug|x64 + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28}.Release|Win32.ActiveCfg = Release|Win32 + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28}.Release|Win32.Build.0 = Release|Win32 + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28}.Release|x64.ActiveCfg = Release|x64 + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28}.Release|x64.Build.0 = Release|x64 + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}.Debug|Win32.ActiveCfg = Debug|Win32 + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}.Debug|Win32.Build.0 = Debug|Win32 + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}.Debug|x64.ActiveCfg = Debug|x64 + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}.Debug|x64.Build.0 = Debug|x64 + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}.Release|Win32.ActiveCfg = Release|Win32 + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}.Release|Win32.Build.0 = Release|Win32 + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}.Release|x64.ActiveCfg = Release|x64 + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}.Release|x64.Build.0 = Release|x64 + {3DB9B219-769E-43AC-8B8B-319DB6045DCF}.Debug|Win32.ActiveCfg = Debug|Win32 + {3DB9B219-769E-43AC-8B8B-319DB6045DCF}.Debug|Win32.Build.0 = Debug|Win32 + {3DB9B219-769E-43AC-8B8B-319DB6045DCF}.Debug|x64.ActiveCfg = Debug|x64 + {3DB9B219-769E-43AC-8B8B-319DB6045DCF}.Debug|x64.Build.0 = Debug|x64 + {3DB9B219-769E-43AC-8B8B-319DB6045DCF}.Release|Win32.ActiveCfg = Release|Win32 + {3DB9B219-769E-43AC-8B8B-319DB6045DCF}.Release|Win32.Build.0 = Release|Win32 + {3DB9B219-769E-43AC-8B8B-319DB6045DCF}.Release|x64.ActiveCfg = Release|x64 + {3DB9B219-769E-43AC-8B8B-319DB6045DCF}.Release|x64.Build.0 = Release|x64 + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C}.Debug|Win32.ActiveCfg = Debug|Win32 + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C}.Debug|Win32.Build.0 = Debug|Win32 + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C}.Debug|x64.ActiveCfg = Debug|x64 + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C}.Debug|x64.Build.0 = Debug|x64 + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C}.Release|Win32.ActiveCfg = Release|Win32 + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C}.Release|Win32.Build.0 = Release|Win32 + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C}.Release|x64.ActiveCfg = Release|x64 + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C}.Release|x64.Build.0 = Release|x64 + {FCBDF2B2-1129-49AE-9406-3F219E65CA89}.Debug|Win32.ActiveCfg = Debug|Win32 + {FCBDF2B2-1129-49AE-9406-3F219E65CA89}.Debug|Win32.Build.0 = Debug|Win32 + {FCBDF2B2-1129-49AE-9406-3F219E65CA89}.Debug|x64.ActiveCfg = Debug|x64 + {FCBDF2B2-1129-49AE-9406-3F219E65CA89}.Debug|x64.Build.0 = Debug|x64 + {FCBDF2B2-1129-49AE-9406-3F219E65CA89}.Release|Win32.ActiveCfg = Release|Win32 + {FCBDF2B2-1129-49AE-9406-3F219E65CA89}.Release|Win32.Build.0 = Release|Win32 + {FCBDF2B2-1129-49AE-9406-3F219E65CA89}.Release|x64.ActiveCfg = Release|x64 + {FCBDF2B2-1129-49AE-9406-3F219E65CA89}.Release|x64.Build.0 = Release|x64 + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A}.Debug|Win32.ActiveCfg = Debug|Win32 + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A}.Debug|Win32.Build.0 = Debug|Win32 + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A}.Debug|x64.ActiveCfg = Debug|x64 + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A}.Debug|x64.Build.0 = Debug|x64 + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A}.Release|Win32.ActiveCfg = Release|Win32 + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A}.Release|Win32.Build.0 = Release|Win32 + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A}.Release|x64.ActiveCfg = Release|x64 + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -572,6 +646,15 @@ Global {608C6C67-7766-471F-BBFF-8B00086039AF} = {1B61A1B7-92DE-4C37-9151-D2928D6449AB} {A3F601E0-B54C-4DD8-8A97-FDEF7624EE60} = {D1BF59F6-22DC-493B-BDEB-451A50DA793D} {75AEE75A-C016-4497-960B-D767B822237D} = {D1BF59F6-22DC-493B-BDEB-451A50DA793D} + {E21C50BF-54B4-434C-AA24-9A6469553987} = {F91DDAF0-B74F-4516-A1A9-42ED8DFCBF6A} + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28} = {1B61A1B7-92DE-4C37-9151-D2928D6449AB} + {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {1498F0CD-F4DA-4847-9CB2-FB18D48061D5} + {8DEAE483-FDE7-463F-9FD5-F597BBAED1F9} = {1498F0CD-F4DA-4847-9CB2-FB18D48061D5} + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {3DB9B219-769E-43AC-8B8B-319DB6045DCF} = {D1BF59F6-22DC-493B-BDEB-451A50DA793D} + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C} = {8DEAE483-FDE7-463F-9FD5-F597BBAED1F9} + {FCBDF2B2-1129-49AE-9406-3F219E65CA89} = {8DEAE483-FDE7-463F-9FD5-F597BBAED1F9} + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A} = {D69D5741-611F-4E14-8541-1FEE94F50B5A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C320C9F2-1A8F-41D7-B02B-6338F872BCAD} diff --git a/libs/SDL3/VisualC/SDL/SDL.vcxproj b/libs/SDL3/VisualC/SDL/SDL.vcxproj index a15978a..2937791 100644 --- a/libs/SDL3/VisualC/SDL/SDL.vcxproj +++ b/libs/SDL3/VisualC/SDL/SDL.vcxproj @@ -82,16 +82,16 @@ C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;$(LibraryPath) - $(ProjectDir)/../../src;$(IncludePath) + $(ProjectDir)/../../src;$(ProjectDir)/../../src/core/windows;$(IncludePath) - $(ProjectDir)/../../src;$(IncludePath) + $(ProjectDir)/../../src;$(ProjectDir)/../../src/core/windows;$(IncludePath) - $(ProjectDir)/../../src;$(IncludePath) + $(ProjectDir)/../../src;$(ProjectDir)/../../src/core/windows;$(IncludePath) - $(ProjectDir)/../../src;$(IncludePath) + $(ProjectDir)/../../src;$(ProjectDir)/../../src/core/windows;$(IncludePath) @@ -239,23 +239,25 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) - - - + + + + + + @@ -265,9 +267,11 @@ - - + + + + @@ -275,11 +279,13 @@ + + @@ -298,7 +304,6 @@ - @@ -320,6 +325,7 @@ + @@ -335,6 +341,7 @@ + @@ -367,13 +374,16 @@ + + + @@ -408,7 +418,6 @@ - @@ -422,6 +431,16 @@ + + Create + Create + Create + Create + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + @@ -494,9 +513,11 @@ + + @@ -541,7 +562,12 @@ - + + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + @@ -573,28 +599,44 @@ + + - + + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + + + + + + + + + + @@ -608,6 +650,7 @@ + @@ -627,7 +670,6 @@ - @@ -637,7 +679,6 @@ - @@ -708,6 +749,7 @@ + @@ -715,12 +757,16 @@ - - + + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + $(IntDir)$(TargetName)_cpp.pch + diff --git a/libs/SDL3/VisualC/SDL/SDL.vcxproj.filters b/libs/SDL3/VisualC/SDL/SDL.vcxproj.filters index d653ee0..e101491 100644 --- a/libs/SDL3/VisualC/SDL/SDL.vcxproj.filters +++ b/libs/SDL3/VisualC/SDL/SDL.vcxproj.filters @@ -82,6 +82,9 @@ {ebc2fca3-3c26-45e3-815e-3e0581d5e226} + + {06DB01C0-65B5-4DE7-8ADC-C0B0CA3A1E69} + {47c445a2-7014-4e15-9660-7c89a27dddcf} @@ -219,42 +222,51 @@ - - API Headers - - - API Headers - - - API Headers - API Headers API Headers + + API Headers + API Headers API Headers + + API Headers + API Headers API Headers + + API Headers + API Headers + + API Headers + API Headers API Headers + + API Headers + + + API Headers + API Headers @@ -273,19 +285,28 @@ API Headers + + API Headers + API Headers API Headers - - API Headers - API Headers - + + API Headers + + + API Headers + + + API Headers + + API Headers @@ -309,15 +330,27 @@ API Headers + + API Headers + API Headers + + API Headers + + + API Headers + API Headers API Headers + + API Headers + API Headers @@ -372,9 +405,6 @@ API Headers - - API Headers - API Headers @@ -384,6 +414,9 @@ API Headers + + API Headers + API Headers @@ -420,15 +453,24 @@ API Headers + + API Headers + API Headers + + API Headers + API Headers API Headers + + API Headers + API Headers @@ -486,6 +528,9 @@ audio + + core + core\windows @@ -534,9 +579,6 @@ events - - events - events @@ -564,6 +606,9 @@ haptic + + haptic + haptic @@ -621,12 +666,18 @@ haptic\windows + + haptic\hidapi + joystick\hidapi joystick\hidapi + + joystick\hidapi + joystick\windows @@ -645,6 +696,9 @@ video + + video + video @@ -678,12 +732,15 @@ video - + video video + + video + video\dummy @@ -834,9 +891,6 @@ render\software - - render\software - render\software @@ -953,6 +1007,7 @@ + @@ -1040,7 +1095,7 @@ core - + core\windows @@ -1079,9 +1134,6 @@ events - - events - events @@ -1133,6 +1185,9 @@ loadso\windows + + misc + misc @@ -1163,21 +1218,36 @@ haptic\windows + + haptic\hidapi + + + haptic\hidapi + haptic\dummy joystick\dummy - + joystick\gdk + + joystick\hidapi + + + joystick\hidapi + joystick\hidapi joystick\hidapi + + joystick\hidapi + joystick\hidapi @@ -1196,6 +1266,9 @@ joystick\hidapi + + joystick\hidapi + joystick\hidapi @@ -1211,6 +1284,9 @@ joystick\hidapi + + joystick\hidapi + joystick\hidapi @@ -1223,9 +1299,18 @@ joystick\hidapi + + joystick\hidapi + + + joystick\hidapi + joystick\hidapi + + joystick\hidapi + joystick\windows @@ -1301,6 +1386,9 @@ video + + video + video @@ -1331,9 +1419,6 @@ video\dummy - - video\windows - video\windows @@ -1346,7 +1431,7 @@ video\windows - + video\windows @@ -1460,9 +1545,6 @@ sensor\windows - - render - render @@ -1514,9 +1596,6 @@ render\software - - render\software - render\software @@ -1585,11 +1664,15 @@ + + joystick\hidapi + + + + core\windows + - - - diff --git a/libs/SDL3/VisualC/SDL_test/SDL_test.vcxproj b/libs/SDL3/VisualC/SDL_test/SDL_test.vcxproj index 403fba2..428eb6f 100644 --- a/libs/SDL3/VisualC/SDL_test/SDL_test.vcxproj +++ b/libs/SDL3/VisualC/SDL_test/SDL_test.vcxproj @@ -158,10 +158,12 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) + + + diff --git a/libs/SDL3/VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj b/libs/SDL3/VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj new file mode 100644 index 0000000..7cdf986 --- /dev/null +++ b/libs/SDL3/VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj @@ -0,0 +1,13 @@ + + + + {6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0} + + + + + + + + + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj b/libs/SDL3/VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj new file mode 100644 index 0000000..b2e0a32 --- /dev/null +++ b/libs/SDL3/VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj @@ -0,0 +1,13 @@ + + + + {7117A55C-BE4E-41DB-A4FC-4070E35A8B28} + + + + + + + + + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj b/libs/SDL3/VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj new file mode 100644 index 0000000..b7894b5 --- /dev/null +++ b/libs/SDL3/VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj @@ -0,0 +1,13 @@ + + + + {3DB9B219-769E-43AC-8B8B-319DB6045DCF} + + + + + + + + + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/generate.py b/libs/SDL3/VisualC/examples/generate.py index e06110e..62614d2 100644 --- a/libs/SDL3/VisualC/examples/generate.py +++ b/libs/SDL3/VisualC/examples/generate.py @@ -47,7 +47,8 @@ def main(): for category in path.iterdir(): if category.is_dir(): for example in category.iterdir(): - generate(category.name, example.name, get_c_source_filename(example)) + if example.is_dir(): + generate(category.name, example.name, get_c_source_filename(example)) if __name__ == "__main__": diff --git a/libs/SDL3/VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj b/libs/SDL3/VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj new file mode 100644 index 0000000..e3fc671 --- /dev/null +++ b/libs/SDL3/VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj @@ -0,0 +1,13 @@ + + + + {B3852DB7-E925-4026-8B9D-D2272EFEFF3C} + + + + + + + + + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj b/libs/SDL3/VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj new file mode 100644 index 0000000..c119584 --- /dev/null +++ b/libs/SDL3/VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj @@ -0,0 +1,13 @@ + + + + {FCBDF2B2-1129-49AE-9406-3F219E65CA89} + + + + + + + + + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/renderer/06-textures/06-textures.vcxproj b/libs/SDL3/VisualC/examples/renderer/06-textures/06-textures.vcxproj index d99b62c..a2c43ff 100644 --- a/libs/SDL3/VisualC/examples/renderer/06-textures/06-textures.vcxproj +++ b/libs/SDL3/VisualC/examples/renderer/06-textures/06-textures.vcxproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj b/libs/SDL3/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj index 5e14c6d..f6a939c 100644 --- a/libs/SDL3/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj +++ b/libs/SDL3/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj b/libs/SDL3/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj index 6013514..ba3fe99 100644 --- a/libs/SDL3/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj +++ b/libs/SDL3/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj b/libs/SDL3/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj index c0af3e3..97b943c 100644 --- a/libs/SDL3/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj +++ b/libs/SDL3/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj b/libs/SDL3/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj index 1ebbda5..0e20fb8 100644 --- a/libs/SDL3/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj +++ b/libs/SDL3/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj b/libs/SDL3/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj index dbb7ca6..fb2a8fb 100644 --- a/libs/SDL3/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj +++ b/libs/SDL3/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj b/libs/SDL3/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj index 674462e..68c6d0e 100644 --- a/libs/SDL3/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj +++ b/libs/SDL3/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/libs/SDL3/VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj b/libs/SDL3/VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj new file mode 100644 index 0000000..b5575ec --- /dev/null +++ b/libs/SDL3/VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj @@ -0,0 +1,13 @@ + + + + {E21C50BF-54B4-434C-AA24-9A6469553987} + + + + + + + + + \ No newline at end of file diff --git a/libs/SDL3/VisualC/tests/checkkeys/checkkeys.vcxproj b/libs/SDL3/VisualC/tests/checkkeys/checkkeys.vcxproj index 6fc69d4..1f94227 100644 --- a/libs/SDL3/VisualC/tests/checkkeys/checkkeys.vcxproj +++ b/libs/SDL3/VisualC/tests/checkkeys/checkkeys.vcxproj @@ -189,7 +189,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/loopwave/loopwave.vcxproj b/libs/SDL3/VisualC/tests/loopwave/loopwave.vcxproj index 57053be..bde910b 100644 --- a/libs/SDL3/VisualC/tests/loopwave/loopwave.vcxproj +++ b/libs/SDL3/VisualC/tests/loopwave/loopwave.vcxproj @@ -189,7 +189,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testatomic/testatomic.vcxproj b/libs/SDL3/VisualC/tests/testatomic/testatomic.vcxproj index eacef20..b41357b 100644 --- a/libs/SDL3/VisualC/tests/testatomic/testatomic.vcxproj +++ b/libs/SDL3/VisualC/tests/testatomic/testatomic.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testautomation/testautomation.vcxproj b/libs/SDL3/VisualC/tests/testautomation/testautomation.vcxproj index 1a3df5e..97b622a 100644 --- a/libs/SDL3/VisualC/tests/testautomation/testautomation.vcxproj +++ b/libs/SDL3/VisualC/tests/testautomation/testautomation.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testcontroller/testcontroller.vcxproj b/libs/SDL3/VisualC/tests/testcontroller/testcontroller.vcxproj index 480412c..172c80e 100644 --- a/libs/SDL3/VisualC/tests/testcontroller/testcontroller.vcxproj +++ b/libs/SDL3/VisualC/tests/testcontroller/testcontroller.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testdialog/testdialog.vcxproj b/libs/SDL3/VisualC/tests/testdialog/testdialog.vcxproj index 29ae446..81356ad 100644 --- a/libs/SDL3/VisualC/tests/testdialog/testdialog.vcxproj +++ b/libs/SDL3/VisualC/tests/testdialog/testdialog.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testdraw/testdraw.vcxproj b/libs/SDL3/VisualC/tests/testdraw/testdraw.vcxproj index 8af9dec..019d994 100644 --- a/libs/SDL3/VisualC/tests/testdraw/testdraw.vcxproj +++ b/libs/SDL3/VisualC/tests/testdraw/testdraw.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testfile/testfile.vcxproj b/libs/SDL3/VisualC/tests/testfile/testfile.vcxproj index 602d6e1..4428b93 100644 --- a/libs/SDL3/VisualC/tests/testfile/testfile.vcxproj +++ b/libs/SDL3/VisualC/tests/testfile/testfile.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testgl/testgl.vcxproj b/libs/SDL3/VisualC/tests/testgl/testgl.vcxproj index 436c401..3e84955 100644 --- a/libs/SDL3/VisualC/tests/testgl/testgl.vcxproj +++ b/libs/SDL3/VisualC/tests/testgl/testgl.vcxproj @@ -187,7 +187,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testgles2/testgles2.vcxproj b/libs/SDL3/VisualC/tests/testgles2/testgles2.vcxproj index cf72558..5668e3d 100644 --- a/libs/SDL3/VisualC/tests/testgles2/testgles2.vcxproj +++ b/libs/SDL3/VisualC/tests/testgles2/testgles2.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testoverlay/testoverlay.vcxproj b/libs/SDL3/VisualC/tests/testoverlay/testoverlay.vcxproj index 5944782..a58f66e 100644 --- a/libs/SDL3/VisualC/tests/testoverlay/testoverlay.vcxproj +++ b/libs/SDL3/VisualC/tests/testoverlay/testoverlay.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testpen/testpen.vcxproj b/libs/SDL3/VisualC/tests/testpen/testpen.vcxproj index 8f21ca8..4a13fb7 100644 --- a/libs/SDL3/VisualC/tests/testpen/testpen.vcxproj +++ b/libs/SDL3/VisualC/tests/testpen/testpen.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testplatform/testplatform.vcxproj b/libs/SDL3/VisualC/tests/testplatform/testplatform.vcxproj index 847fcbb..3da5469 100644 --- a/libs/SDL3/VisualC/tests/testplatform/testplatform.vcxproj +++ b/libs/SDL3/VisualC/tests/testplatform/testplatform.vcxproj @@ -195,7 +195,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testpower/testpower.vcxproj b/libs/SDL3/VisualC/tests/testpower/testpower.vcxproj index f2417f2..262cff7 100644 --- a/libs/SDL3/VisualC/tests/testpower/testpower.vcxproj +++ b/libs/SDL3/VisualC/tests/testpower/testpower.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testrendertarget/testrendertarget.vcxproj b/libs/SDL3/VisualC/tests/testrendertarget/testrendertarget.vcxproj index d4bd6ac..afc4666 100644 --- a/libs/SDL3/VisualC/tests/testrendertarget/testrendertarget.vcxproj +++ b/libs/SDL3/VisualC/tests/testrendertarget/testrendertarget.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) @@ -202,7 +201,7 @@ - + Copying %(Filename)%(Extension) copy "%(FullPath)" "$(ProjectDir)\" @@ -220,7 +219,7 @@ $(ProjectDir)\%(Filename)%(Extension);%(Outputs) - + Copying %(Filename)%(Extension) copy "%(FullPath)" "$(ProjectDir)\" diff --git a/libs/SDL3/VisualC/tests/testrumble/testrumble.vcxproj b/libs/SDL3/VisualC/tests/testrumble/testrumble.vcxproj index 87b5145..ac4a845 100644 --- a/libs/SDL3/VisualC/tests/testrumble/testrumble.vcxproj +++ b/libs/SDL3/VisualC/tests/testrumble/testrumble.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testscale/testscale.vcxproj b/libs/SDL3/VisualC/tests/testscale/testscale.vcxproj index f03406b..07740dd 100644 --- a/libs/SDL3/VisualC/tests/testscale/testscale.vcxproj +++ b/libs/SDL3/VisualC/tests/testscale/testscale.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) @@ -202,7 +201,7 @@ - + Copying %(Filename)%(Extension) copy "%(FullPath)" "$(ProjectDir)\" @@ -220,7 +219,7 @@ $(ProjectDir)\%(Filename)%(Extension);%(Outputs) - + Copying %(Filename)%(Extension) copy "%(FullPath)" "$(ProjectDir)\" diff --git a/libs/SDL3/VisualC/tests/testsensor/testsensor.vcxproj b/libs/SDL3/VisualC/tests/testsensor/testsensor.vcxproj index f3ca278..a546eab 100644 --- a/libs/SDL3/VisualC/tests/testsensor/testsensor.vcxproj +++ b/libs/SDL3/VisualC/tests/testsensor/testsensor.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testshape/testshape.vcxproj b/libs/SDL3/VisualC/tests/testshape/testshape.vcxproj index ed7106d..03e26f6 100644 --- a/libs/SDL3/VisualC/tests/testshape/testshape.vcxproj +++ b/libs/SDL3/VisualC/tests/testshape/testshape.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testsoftwaretransparent/testsoftwaretransparent.vcxproj b/libs/SDL3/VisualC/tests/testsoftwaretransparent/testsoftwaretransparent.vcxproj new file mode 100644 index 0000000..1970a3b --- /dev/null +++ b/libs/SDL3/VisualC/tests/testsoftwaretransparent/testsoftwaretransparent.vcxproj @@ -0,0 +1,209 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {D91C45E2-274E-4C0F-89C7-9986F9A7E85A} + testsoftwaretransparent + 10.0 + + + + Application + $(DefaultPlatformToolset) + + + Application + $(DefaultPlatformToolset) + + + Application + $(DefaultPlatformToolset) + + + Application + $(DefaultPlatformToolset) + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/testsoftwaretransparent.tlb + + + %(AdditionalOptions) /utf-8 + $(SolutionDir)/../include;%(AdditionalIncludeDirectories) + %(AdditionalUsingDirectories) + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDLL + Level3 + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + Windows + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/testsoftwaretransparent.tlb + + + %(AdditionalOptions) /utf-8 + $(SolutionDir)/../include;%(AdditionalIncludeDirectories) + %(AdditionalUsingDirectories) + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDLL + Level3 + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + Windows + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/testsoftwaretransparent.tlb + + + %(AdditionalOptions) /utf-8 + Disabled + $(SolutionDir)/../include;%(AdditionalIncludeDirectories) + %(AdditionalUsingDirectories) + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDLL + Level3 + OldStyle + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + true + Windows + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/testsoftwaretransparent.tlb + + + %(AdditionalOptions) /utf-8 + Disabled + $(SolutionDir)/../include;%(AdditionalIncludeDirectories) + %(AdditionalUsingDirectories) + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + Level3 + OldStyle + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + true + Windows + + + + + $(TreatWarningsAsError) + + + + + {81ce8daf-ebb2-4761-8e45-b71abcca8c68} + false + false + true + + + {da956fd3-e143-46f2-9fe5-c77bebc56b1a} + false + false + true + + + + + + + + + \ No newline at end of file diff --git a/libs/SDL3/VisualC/tests/testsprite/testsprite.vcxproj b/libs/SDL3/VisualC/tests/testsprite/testsprite.vcxproj index 866a6db..f6746b0 100644 --- a/libs/SDL3/VisualC/tests/testsprite/testsprite.vcxproj +++ b/libs/SDL3/VisualC/tests/testsprite/testsprite.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) @@ -202,7 +201,7 @@ - + Copying %(Filename)%(Extension) copy "%(FullPath)" "$(ProjectDir)\" diff --git a/libs/SDL3/VisualC/tests/testsurround/testsurround.vcxproj b/libs/SDL3/VisualC/tests/testsurround/testsurround.vcxproj index 13ded82..9e1b9c4 100644 --- a/libs/SDL3/VisualC/tests/testsurround/testsurround.vcxproj +++ b/libs/SDL3/VisualC/tests/testsurround/testsurround.vcxproj @@ -189,7 +189,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testvulkan/testvulkan.vcxproj b/libs/SDL3/VisualC/tests/testvulkan/testvulkan.vcxproj index 92c8edd..72cd50e 100644 --- a/libs/SDL3/VisualC/tests/testvulkan/testvulkan.vcxproj +++ b/libs/SDL3/VisualC/tests/testvulkan/testvulkan.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testwm/testwm.vcxproj b/libs/SDL3/VisualC/tests/testwm/testwm.vcxproj index 978087e..62874fa 100644 --- a/libs/SDL3/VisualC/tests/testwm/testwm.vcxproj +++ b/libs/SDL3/VisualC/tests/testwm/testwm.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) diff --git a/libs/SDL3/VisualC/tests/testyuv/testyuv.vcxproj b/libs/SDL3/VisualC/tests/testyuv/testyuv.vcxproj index 852b010..46eac14 100644 --- a/libs/SDL3/VisualC/tests/testyuv/testyuv.vcxproj +++ b/libs/SDL3/VisualC/tests/testyuv/testyuv.vcxproj @@ -183,7 +183,6 @@ - %(AdditionalOptions) /utf-8 $(TreatWarningsAsError) @@ -202,7 +201,7 @@ - + Copying %(Filename)%(Extension) copy "%(FullPath)" "$(ProjectDir)\" diff --git a/libs/SDL3/WhatsNew.txt b/libs/SDL3/WhatsNew.txt index 0d10ee6..67a50be 100644 --- a/libs/SDL3/WhatsNew.txt +++ b/libs/SDL3/WhatsNew.txt @@ -1,16 +1,134 @@ This is a list of major changes in SDL's version history. +--------------------------------------------------------------------------- +3.4.0: +--------------------------------------------------------------------------- + +General: +* Added SDL_CreateAnimatedCursor() to create animated color cursors +* Added SDL_HINT_MOUSE_DPI_SCALE_CURSORS to automatically scale cursors based on the display scale +* Added SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState(), and SDL_GetWindowProgressValue() to show progress in the window's taskbar icon on Windows and Linux +* Added GPU device creation properties to enable the GPU API on older hardware if you're not using these features: + - SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN + - SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN + - SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN + - SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN + - SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN +* Added SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER to enable configuring Vulkan features when creating a GPU device +* Added SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN to allow requiring Vulkan hardware acceleration when creating a GPU device +* Added SDL_GetGPUDeviceProperties() to query information from a GPU device: + - SDL_PROP_GPU_DEVICE_NAME_STRING + - SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING + - SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING + - SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING +* Added SDL_GetPixelFormatFromGPUTextureFormat() and SDL_GetGPUTextureFormatFromPixelFormat() +* Added SDL_CreateGPURenderer() and SDL_GetGPURendererDevice() to create a 2D renderer for use with GPU rendering. +* Added SDL_CreateGPURenderState(), SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState(), and SDL_DestroyGPURenderState() to use fragment shaders with a GPU 2D renderer +* Added SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER to create a 2D texture from an existing GPU texture +* Added SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER to get the GPU texture from a 2D texture when using the GPU 2D renderer +* Added support for YUV textures and HDR colorspaces to the GPU 2D renderer +* Added support for textures with palettes, and SDL_GetTexturePalette() and SDL_SetTexturePalette() to interact with them +* Added SDL_RenderTexture9GridTiled() to do tiled instead of stretched 9-grid texture rendering +* Added SDL_GetDefaultTextureScaleMode() and SDL_SetDefaultTextureScaleMode() to set the texture scale mode for new textures +* Added SDL_GetRenderTextureAddressMode() and SDL_SetRenderTextureAddressMode() to change the texture addressing mode +* Added SDL_TEXTURE_ADDRESS_WRAP to allow wrapping of textures if the renderer has SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN set +* The default YUV colorspace is BT.601 limited range, for compatibility with SDL2 +* Added SDL_SCALEMODE_PIXELART as an improved scaling algorithm for pixel art without introducing blurring +* Added SDL_FLIP_HORIZONTAL_AND_VERTICAL to flip a surface both horizontally and vertically +* Added SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG(), and SDL_SavePNG_IO() to load and save PNG images +* Added SDL_LoadSurface() and SDL_LoadSurface_IO() to detect BMP and PNG formats and load them as surfaces +* Added SDL_PROP_SURFACE_ROTATION_FLOAT to indicate the rotation needed to display camera images upright +* Added SDL_RotateSurface() to create a rotated copy of a surface +* SDL_EVENT_WINDOW_EXPOSED now sets data1 to true if it is sent during live resizing +* Added SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED, which is sent when the usable desktop bounds change +* Added SDL_EVENT_SCREEN_KEYBOARD_SHOWN, which is sent when the on-screen keyboard has been shown +* Added SDL_EVENT_SCREEN_KEYBOARD_HIDDEN, which is sent when the on-screen keyboard has been hidden +* Added pinch gesture events: SDL_EVENT_PINCH_BEGIN, SDL_EVENT_PINCH_UPDATE, SDL_EVENT_PINCH_END +* SDL_EVENT_AUDIO_DEVICE_ADDED will be sent during initialization for each audio device +* SDL_GetCameraPermissionState() returns SDL_CameraPermissionState instead of int +* Added SDL_PutAudioStreamDataNoCopy() to do more efficient audio stream processing in some cases +* Added SDL_PutAudioStreamPlanarData() to add planar audio data instead of interleaved data to an audio stream +* Added SDL_HINT_AUDIO_DEVICE_RAW_STREAM to signal that the OS shouldn't do further audio processing, useful for applications that handle noise canceling, etc. +* Added SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN to allow streams that persist beyond the audio subsystem lifetime. +* Added enhanced support for 8BitDo controllers +* Added enhanced support for FlyDigi controllers +* Added enhanced support for Hand Held Legend SInput controllers +* Added support for wired Nintendo Switch 2 controllers when built with libusb +* Added SDL_hid_get_properties() to associate SDL properties with HID devices +* Added SDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER to query the libusb handle from an SDL_hid_device, if it's been opened with libusb +* Added SDL_SetRelativeMouseTransform() to add custom mouse input transformation +* Added SDL_GetPenDeviceType() to determine whether a pen is on the screen or on a separate touchpad +* SDL_HINT_MAIN_CALLBACK_RATE may be set to a floating point callback rate +* Added SDL_GetEventDescription() to get an English description of an event, suitable for logging +* Added SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER to allow custom freeing of the memory used by SDL_IOFromMem() and SDL_IOFromConstMem() +* Added SDL_PROP_PROCESS_CREATE_WORKING_DIRECTORY_STRING to set the working directory for new processes +* Added verbose log output when the DEBUG_INVOCATION environment variable is set to "1" +* Added SDL_AddAtomicU32() +* Added SDL_GetSystemPageSize() to get the system page size +* Added SDL_ALIGNED() to signal that data should have a specific alignment + +Windows: +* Added SDL_HINT_RENDER_DIRECT3D11_WARP to enable D3D11 software rasterization +* Using SDL_InsertGPUDebugLabel(), SDL_PushGPUDebugGroup(), and SDL_PopGPUDebugGroup() requires WinPixEventRuntime.dll to be in your PATH or in the same directory as your executable +* Added SDL_PROP_DISPLAY_WINDOWS_HMONITOR_POINTER so you can query the HMONITOR associated with a display +* SDL_HINT_AUDIO_DEVICE_STREAM_ROLE is used by the WASAPI audio driver to set the audio stream category +* Added SDL_HINT_AUDIO_DEVICE_RAW_STREAM to signal whether the OS audio driver should do additional signal processing +* Added SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS to allow disabling some system hotkeys when in raw input mode +* SDL_HINT_WINDOWS_GAMEINPUT is disabled by default + +macOS: +* Added SDL_HINT_MAC_PRESS_AND_HOLD to control whether holding down a key will repeat the pressed key or open the accents menu + +Linux: +* Added atomic support for KMSDRM +* Added SDL_HINT_KMSDRM_ATOMIC to control whether KMSDRM will use atomic functionality +* Added SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER so you can query the wl_output associated with a display + +Emscripten: +* Added SDL_WINDOW_FILL_DOCUMENT to indicate that windows expand to fill the whole browser window +* Added SDL_SetWindowFillDocument() to change whether windows expand to fill the whole browser window +* Added SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING to allow setting the SDL canvas ID, and SDL_PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING to query it on existing windows +* Added SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING to specify where keyboard input is bound, and SDL_PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING to query it on existing windows + +iOS: +* SDL now supports window scenes, fixing the warning "CLIENT OF UIKIT REQUIRES UPDATE" +* Added SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER to specify the window scene for a window + +visionOS: +* The default refresh rate has been increased to 90Hz +* SDL_SetWindowSize() changes the size of the window on Vision Pro headsets + +PlayStation 2: +* Added the following hints to control the display parameters: SDL_HINT_PS2_GS_WIDTH, SDL_HINT_PS2_GS_HEIGHT, SDL_HINT_PS2_GS_PROGRESSIVE, SDL_HINT_PS2_GS_MODE + +Note: On Unix platforms SDL provides ELF notes describing its non-mandatory library dependencies in the format described by https://systemd.io/ELF_DLOPEN_METADATA/. Some of these libraries are quite important, so distribution vendors who package SDL should parse the ELF notes and consider generating dependencies at the packaging level, for example by using https://github.com/systemd/package-notes. Other libraries and games can add similar ELF notes to describe their own dependencies by using the SDL_ELF_NOTE_DLOPEN macro. + + +--------------------------------------------------------------------------- +3.2.22: +--------------------------------------------------------------------------- +* SDL_HINT_JOYSTICK_WGI is disabled by default + + +--------------------------------------------------------------------------- +3.2.16: +--------------------------------------------------------------------------- +* SDL_HINT_JOYSTICK_RAWINPUT is disabled by default + + --------------------------------------------------------------------------- 3.2.10: --------------------------------------------------------------------------- * Added SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT to control whether XSelectInput() should be called on external windows to enable input events. + --------------------------------------------------------------------------- 3.2.4: --------------------------------------------------------------------------- * Added SDL_StretchSurface() + --------------------------------------------------------------------------- 3.2.0: --------------------------------------------------------------------------- diff --git a/libs/SDL3/Xcode/SDL/Info-Framework.plist b/libs/SDL3/Xcode/SDL/Info-Framework.plist index 5e724fc..1c6e701 100644 --- a/libs/SDL3/Xcode/SDL/Info-Framework.plist +++ b/libs/SDL3/Xcode/SDL/Info-Framework.plist @@ -19,10 +19,10 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.2.20 + 3.4.2 CFBundleSignature SDLX CFBundleVersion - 3.2.20 + 3.4.2 diff --git a/libs/SDL3/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/libs/SDL3/Xcode/SDL/SDL.xcodeproj/project.pbxproj index ae8a61b..2d437b8 100644 --- a/libs/SDL3/Xcode/SDL/SDL.xcodeproj/project.pbxproj +++ b/libs/SDL3/Xcode/SDL/SDL.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 55; objects = { /* Begin PBXAggregateTarget section */ @@ -54,6 +54,7 @@ 00CFA89D106B4BA100758660 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00CFA89C106B4BA100758660 /* ForceFeedback.framework */; platformFilters = (macos, ); }; 00D0D08410675DD9004B05EF /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00D0D08310675DD9004B05EF /* CoreFoundation.framework */; platformFilters = (ios, maccatalyst, macos, tvos, ); settings = {ATTRIBUTES = (Required, ); }; }; 00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; platformFilters = (macos, ); }; + 02D6A1C228A84B8F00A7F002 /* SDL_hidapi_sinput.c in Sources */ = {isa = PBXBuildFile; fileRef = 02D6A1C128A84B8F00A7F001 /* SDL_hidapi_sinput.c */; }; 1485C3312BBA4AF30063985B /* UniformTypeIdentifiers.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1485C32F2BBA4A0C0063985B /* UniformTypeIdentifiers.framework */; platformFilters = (maccatalyst, macos, ); settings = {ATTRIBUTES = (Weak, ); }; }; 557D0CFA254586CA003913E3 /* CoreHaptics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F37DC5F225350EBC0002E6F7 /* CoreHaptics.framework */; platformFilters = (ios, maccatalyst, macos, tvos, ); settings = {ATTRIBUTES = (Weak, ); }; }; 557D0CFB254586D7003913E3 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A75FDABD23E28B6200529352 /* GameController.framework */; settings = {ATTRIBUTES = (Required, ); }; }; @@ -66,11 +67,16 @@ 566E26D8246274CC00718109 /* SDL_locale.c in Sources */ = {isa = PBXBuildFile; fileRef = 566E26CD246274CB00718109 /* SDL_locale.c */; }; 566E26E1246274CC00718109 /* SDL_syslocale.h in Headers */ = {isa = PBXBuildFile; fileRef = 566E26CE246274CC00718109 /* SDL_syslocale.h */; }; 56A2373329F9C113003CCA5F /* SDL_sysrwlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 56A2373229F9C113003CCA5F /* SDL_sysrwlock.c */; }; + 63124A422E5C357500A53610 /* SDL_hidapi_zuiki.c in Sources */ = {isa = PBXBuildFile; fileRef = 63124A412E5C357500A53610 /* SDL_hidapi_zuiki.c */; }; 6312C66D2B42341400A7BB00 /* SDL_murmur3.c in Sources */ = {isa = PBXBuildFile; fileRef = 6312C66C2B42341400A7BB00 /* SDL_murmur3.c */; }; 63134A252A7902FD0021E9A6 /* SDL_pen_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 63134A232A7902FD0021E9A6 /* SDL_pen_c.h */; }; 63134A262A7902FD0021E9A6 /* SDL_pen.c in Sources */ = {isa = PBXBuildFile; fileRef = 63134A242A7902FD0021E9A6 /* SDL_pen.c */; }; 75E0915A241EA924004729E1 /* SDL_virtualjoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = 75E09158241EA924004729E1 /* SDL_virtualjoystick.c */; }; 75E09163241EA924004729E1 /* SDL_virtualjoystick_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 75E09159241EA924004729E1 /* SDL_virtualjoystick_c.h */; }; + 89E5801E2D03602200DAF6D3 /* SDL_hidapi_lg4ff.c in Sources */ = {isa = PBXBuildFile; fileRef = 89E5801D2D03602200DAF6D3 /* SDL_hidapi_lg4ff.c */; }; + 89E580232D03606400DAF6D3 /* SDL_hidapihaptic.c in Sources */ = {isa = PBXBuildFile; fileRef = 89E5801F2D03606400DAF6D3 /* SDL_hidapihaptic.c */; }; + 89E580242D03606400DAF6D3 /* SDL_hidapihaptic_lg4ff.c in Sources */ = {isa = PBXBuildFile; fileRef = 89E580212D03606400DAF6D3 /* SDL_hidapihaptic_lg4ff.c */; }; + 89E580252D03606400DAF6D3 /* SDL_hidapihaptic_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 89E580202D03606400DAF6D3 /* SDL_hidapihaptic_c.h */; }; 9846B07C287A9020000C35C8 /* SDL_hidapi_shield.c in Sources */ = {isa = PBXBuildFile; fileRef = 9846B07B287A9020000C35C8 /* SDL_hidapi_shield.c */; }; A1626A3E2617006A003F1973 /* SDL_triangle.c in Sources */ = {isa = PBXBuildFile; fileRef = A1626A3D2617006A003F1973 /* SDL_triangle.c */; }; A1626A522617008D003F1973 /* SDL_triangle.h in Headers */ = {isa = PBXBuildFile; fileRef = A1626A512617008C003F1973 /* SDL_triangle.h */; }; @@ -224,6 +230,7 @@ A7D8B54523E2514300DCD162 /* SDL_hidapijoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A7C423E2513E00DCD162 /* SDL_hidapijoystick.c */; }; A7D8B54B23E2514300DCD162 /* SDL_hidapi_xboxone.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A7C523E2513E00DCD162 /* SDL_hidapi_xboxone.c */; }; A7D8B55123E2514300DCD162 /* SDL_hidapi_switch.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A7C623E2513E00DCD162 /* SDL_hidapi_switch.c */; }; + A7D8B55123E2514300DCD163 /* SDL_hidapi_switch2.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A7C623E2513E00DCD163 /* SDL_hidapi_switch2.c */; }; A7D8B55723E2514300DCD162 /* SDL_hidapijoystick_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A7C723E2513E00DCD162 /* SDL_hidapijoystick_c.h */; }; A7D8B55D23E2514300DCD162 /* SDL_hidapi_xbox360w.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A7C823E2513E00DCD162 /* SDL_hidapi_xbox360w.c */; }; A7D8B56323E2514300DCD162 /* SDL_hidapi_gamecube.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A7C923E2513E00DCD162 /* SDL_hidapi_gamecube.c */; }; @@ -281,7 +288,6 @@ A7D8B9E323E2514400DCD162 /* SDL_drawline.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A8F123E2514000DCD162 /* SDL_drawline.c */; }; A7D8B9E923E2514400DCD162 /* SDL_blendline.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F223E2514000DCD162 /* SDL_blendline.h */; }; A7D8B9EF23E2514400DCD162 /* SDL_drawpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F323E2514000DCD162 /* SDL_drawpoint.h */; }; - A7D8B9F523E2514400DCD162 /* SDL_rotate.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A8F423E2514000DCD162 /* SDL_rotate.c */; }; A7D8B9FB23E2514400DCD162 /* SDL_render_sw_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */; }; A7D8BA0123E2514400DCD162 /* SDL_blendfillrect.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F623E2514000DCD162 /* SDL_blendfillrect.h */; }; A7D8BA0723E2514400DCD162 /* SDL_drawline.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8F723E2514000DCD162 /* SDL_drawline.h */; }; @@ -291,8 +297,6 @@ A7D8BA1F23E2514400DCD162 /* SDL_blendline.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A8FB23E2514000DCD162 /* SDL_blendline.c */; }; A7D8BA2523E2514400DCD162 /* SDL_drawpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A8FC23E2514000DCD162 /* SDL_drawpoint.c */; }; A7D8BA2B23E2514400DCD162 /* SDL_blendfillrect.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A8FD23E2514000DCD162 /* SDL_blendfillrect.c */; }; - A7D8BA3123E2514400DCD162 /* SDL_rotate.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A8FE23E2514000DCD162 /* SDL_rotate.h */; }; - A7D8BA3723E2514400DCD162 /* SDL_d3dmath.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A8FF23E2514000DCD162 /* SDL_d3dmath.c */; }; A7D8BA4923E2514400DCD162 /* SDL_render_gles2.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A90423E2514000DCD162 /* SDL_render_gles2.c */; }; A7D8BA4F23E2514400DCD162 /* SDL_shaders_gles2.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A90523E2514000DCD162 /* SDL_shaders_gles2.h */; }; A7D8BA5523E2514400DCD162 /* SDL_gles2funcs.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A90623E2514000DCD162 /* SDL_gles2funcs.h */; }; @@ -384,6 +388,7 @@ F32DDAD42AB795A30041EAA5 /* SDL_audioresample.c in Sources */ = {isa = PBXBuildFile; fileRef = F32DDACE2AB795A30041EAA5 /* SDL_audioresample.c */; }; F338A1182D1B37D8007CDFDF /* SDL_tray.m in Sources */ = {isa = PBXBuildFile; fileRef = F338A1172D1B37D8007CDFDF /* SDL_tray.m */; }; F338A11A2D1B37E4007CDFDF /* SDL_tray.c in Sources */ = {isa = PBXBuildFile; fileRef = F338A1192D1B37E4007CDFDF /* SDL_tray.c */; }; + F3395BA82D9A5971007246C8 /* SDL_hidapi_8bitdo.c in Sources */ = {isa = PBXBuildFile; fileRef = F3395BA72D9A5971007246C8 /* SDL_hidapi_8bitdo.c */; }; F34400342D40217A003F26D7 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = F373DA182D388A1E002158FA /* LICENSE.txt */; }; F34400362D40217A003F26D7 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = F373DA192D388A1E002158FA /* README.md */; }; F344003D2D4022E1003F26D7 /* INSTALL.md in Resources */ = {isa = PBXBuildFile; fileRef = F344003C2D4022E1003F26D7 /* INSTALL.md */; }; @@ -409,6 +414,8 @@ F386F6F02884663E001840AA /* SDL_utils_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F386F6E52884663E001840AA /* SDL_utils_c.h */; }; F386F6F92884663E001840AA /* SDL_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = F386F6E62884663E001840AA /* SDL_utils.c */; }; F388C95528B5F6F700661ECF /* SDL_hidapi_ps3.c in Sources */ = {isa = PBXBuildFile; fileRef = F388C95428B5F6F600661ECF /* SDL_hidapi_ps3.c */; }; + F38C72492CEEB1DE000B0A90 /* SDL_hidapi_steam_triton.c in Sources */ = {isa = PBXBuildFile; fileRef = F38C72482CEEB1DE000B0A90 /* SDL_hidapi_steam_triton.c */; }; + F39344CE2E99771B0056986F /* SDL_dlopennote.h in Headers */ = {isa = PBXBuildFile; fileRef = F39344CD2E99771B0056986F /* SDL_dlopennote.h */; settings = {ATTRIBUTES = (Public, ); }; }; F395BF6525633B2400942BFF /* SDL_crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = F395BF6425633B2400942BFF /* SDL_crc32.c */; }; F395C1932569C68F00942BFF /* SDL_iokitjoystick_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F395C1912569C68E00942BFF /* SDL_iokitjoystick_c.h */; }; F395C19C2569C68F00942BFF /* SDL_iokitjoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = F395C1922569C68E00942BFF /* SDL_iokitjoystick.c */; }; @@ -433,6 +440,7 @@ F3B439532C935C2C00792030 /* SDL_posixprocess.c in Sources */ = {isa = PBXBuildFile; fileRef = F3B439522C935C2C00792030 /* SDL_posixprocess.c */; }; F3B439562C937DAB00792030 /* SDL_process.c in Sources */ = {isa = PBXBuildFile; fileRef = F3B439542C937DAB00792030 /* SDL_process.c */; }; F3B439572C937DAB00792030 /* SDL_sysprocess.h in Headers */ = {isa = PBXBuildFile; fileRef = F3B439552C937DAB00792030 /* SDL_sysprocess.h */; }; + F3B6B80A2DC3EA54004954FD /* SDL_hidapi_gip.c in Sources */ = {isa = PBXBuildFile; fileRef = F3B6B8092DC3EA54004954FD /* SDL_hidapi_gip.c */; }; F3C1BD752D1F1A3000846529 /* SDL_tray_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = F3C1BD742D1F1A3000846529 /* SDL_tray_utils.c */; }; F3C1BD762D1F1A3000846529 /* SDL_tray_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = F3C1BD732D1F1A3000846529 /* SDL_tray_utils.h */; }; F3C2CB222C5DDDB2004D7998 /* SDL_categories_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F3C2CB202C5DDDB2004D7998 /* SDL_categories_c.h */; }; @@ -514,10 +522,18 @@ F3D60A8328C16A1900788A3A /* SDL_hidapi_wii.c in Sources */ = {isa = PBXBuildFile; fileRef = F3D60A8228C16A1800788A3A /* SDL_hidapi_wii.c */; }; F3D8BDFC2D6D2C7000B22FA1 /* SDL_eventwatch_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F3D8BDFB2D6D2C7000B22FA1 /* SDL_eventwatch_c.h */; }; F3D8BDFD2D6D2C7000B22FA1 /* SDL_eventwatch.c in Sources */ = {isa = PBXBuildFile; fileRef = F3D8BDFA2D6D2C7000B22FA1 /* SDL_eventwatch.c */; }; + F3DB66342EA9ACC300568044 /* SDL_rotate.c in Sources */ = {isa = PBXBuildFile; fileRef = F3DB66332EA9ACC300568044 /* SDL_rotate.c */; }; + F3DB66352EA9ACC300568044 /* SDL_rotate.h in Headers */ = {isa = PBXBuildFile; fileRef = F3DB66322EA9ACC300568044 /* SDL_rotate.h */; }; + F3DC38C92E5FC60300CD73DE /* SDL_libusb.h in Headers */ = {isa = PBXBuildFile; fileRef = F3DC38C72E5FC60300CD73DE /* SDL_libusb.h */; }; + F3DC38CA2E5FC60300CD73DE /* SDL_libusb.c in Sources */ = {isa = PBXBuildFile; fileRef = F3DC38C82E5FC60300CD73DE /* SDL_libusb.c */; }; F3DDCC562AFD42B600B0842B /* SDL_clipboard_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F3DDCC4D2AFD42B500B0842B /* SDL_clipboard_c.h */; }; F3DDCC5B2AFD42B600B0842B /* SDL_video_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F3DDCC522AFD42B600B0842B /* SDL_video_c.h */; }; F3DDCC5D2AFD42B600B0842B /* SDL_rect_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F3DDCC542AFD42B600B0842B /* SDL_rect_impl.h */; }; F3E5A6EB2AD5E0E600293D83 /* SDL_properties.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E5A6EA2AD5E0E600293D83 /* SDL_properties.c */; }; + F3E6C3932EE9F20000A6B39E /* SDL_report_descriptor.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E6C3922EE9F20000A6B39E /* SDL_report_descriptor.c */; }; + F3E6C3942EE9F20000A6B39E /* SDL_hidapi_flydigi.h in Headers */ = {isa = PBXBuildFile; fileRef = F3E6C38F2EE9F20000A6B39E /* SDL_hidapi_flydigi.h */; }; + F3E6C3952EE9F20000A6B39E /* SDL_hidapi_sinput.h in Headers */ = {isa = PBXBuildFile; fileRef = F3E6C3902EE9F20000A6B39E /* SDL_hidapi_sinput.h */; }; + F3E6C3962EE9F20000A6B39E /* SDL_report_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = F3E6C3912EE9F20000A6B39E /* SDL_report_descriptor.h */; }; F3EFA5ED2D5AB97300BCF22F /* SDL_stb_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F3EFA5EA2D5AB97300BCF22F /* SDL_stb_c.h */; }; F3EFA5EE2D5AB97300BCF22F /* stb_image.h in Headers */ = {isa = PBXBuildFile; fileRef = F3EFA5EC2D5AB97300BCF22F /* stb_image.h */; }; F3EFA5EF2D5AB97300BCF22F /* SDL_surface_c.h in Headers */ = {isa = PBXBuildFile; fileRef = F3EFA5EB2D5AB97300BCF22F /* SDL_surface_c.h */; }; @@ -535,6 +551,7 @@ F3FA5A232B59ACE000FEAD97 /* yuv_rgb_lsx.c in Sources */ = {isa = PBXBuildFile; fileRef = F3FA5A1A2B59ACE000FEAD97 /* yuv_rgb_lsx.c */; }; F3FA5A242B59ACE000FEAD97 /* yuv_rgb_lsx.h in Headers */ = {isa = PBXBuildFile; fileRef = F3FA5A1B2B59ACE000FEAD97 /* yuv_rgb_lsx.h */; }; F3FA5A252B59ACE000FEAD97 /* yuv_rgb_common.h in Headers */ = {isa = PBXBuildFile; fileRef = F3FA5A1C2B59ACE000FEAD97 /* yuv_rgb_common.h */; }; + F3FBB1082DDF93AB0000F99F /* SDL_hidapi_flydigi.c in Sources */ = {isa = PBXBuildFile; fileRef = F3395BA72D9A5971007246C9 /* SDL_hidapi_flydigi.c */; }; F3FD042E2C9B755700824C4C /* SDL_hidapi_nintendo.h in Headers */ = {isa = PBXBuildFile; fileRef = F3FD042C2C9B755700824C4C /* SDL_hidapi_nintendo.h */; }; F3FD042F2C9B755700824C4C /* SDL_hidapi_steam_hori.c in Sources */ = {isa = PBXBuildFile; fileRef = F3FD042D2C9B755700824C4C /* SDL_hidapi_steam_hori.c */; }; FA73671D19A540EF004122E4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA73671C19A540EF004122E4 /* CoreVideo.framework */; platformFilters = (ios, maccatalyst, macos, tvos, ); settings = {ATTRIBUTES = (Required, ); }; }; @@ -593,6 +610,7 @@ 007317C10858E15000B2BC32 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; 00CFA89C106B4BA100758660 /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = System/Library/Frameworks/ForceFeedback.framework; sourceTree = SDKROOT; }; 00D0D08310675DD9004B05EF /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + 02D6A1C128A84B8F00A7F001 /* SDL_hidapi_sinput.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_sinput.c; sourceTree = ""; }; 1485C32F2BBA4A0C0063985B /* UniformTypeIdentifiers.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UniformTypeIdentifiers.framework; path = System/Library/Frameworks/UniformTypeIdentifiers.framework; sourceTree = SDKROOT; }; 5616CA49252BB2A5005D5928 /* SDL_url.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_url.c; sourceTree = ""; }; 5616CA4A252BB2A6005D5928 /* SDL_sysurl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_sysurl.h; sourceTree = ""; }; @@ -603,11 +621,16 @@ 566E26CD246274CB00718109 /* SDL_locale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_locale.c; path = locale/SDL_locale.c; sourceTree = ""; }; 566E26CE246274CC00718109 /* SDL_syslocale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_syslocale.h; path = locale/SDL_syslocale.h; sourceTree = ""; }; 56A2373229F9C113003CCA5F /* SDL_sysrwlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_sysrwlock.c; sourceTree = ""; }; + 63124A412E5C357500A53610 /* SDL_hidapi_zuiki.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_zuiki.c; sourceTree = ""; }; 6312C66C2B42341400A7BB00 /* SDL_murmur3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_murmur3.c; sourceTree = ""; }; 63134A232A7902FD0021E9A6 /* SDL_pen_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_pen_c.h; sourceTree = ""; }; 63134A242A7902FD0021E9A6 /* SDL_pen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_pen.c; sourceTree = ""; }; 75E09158241EA924004729E1 /* SDL_virtualjoystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_virtualjoystick.c; sourceTree = ""; }; 75E09159241EA924004729E1 /* SDL_virtualjoystick_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_virtualjoystick_c.h; sourceTree = ""; }; + 89E5801D2D03602200DAF6D3 /* SDL_hidapi_lg4ff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_lg4ff.c; sourceTree = ""; }; + 89E5801F2D03606400DAF6D3 /* SDL_hidapihaptic.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hidapihaptic.c; sourceTree = ""; }; + 89E580202D03606400DAF6D3 /* SDL_hidapihaptic_c.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_hidapihaptic_c.h; sourceTree = ""; }; + 89E580212D03606400DAF6D3 /* SDL_hidapihaptic_lg4ff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hidapihaptic_lg4ff.c; sourceTree = ""; }; 9846B07B287A9020000C35C8 /* SDL_hidapi_shield.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_shield.c; sourceTree = ""; }; A1626A3D2617006A003F1973 /* SDL_triangle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_triangle.c; sourceTree = ""; }; A1626A512617008C003F1973 /* SDL_triangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_triangle.h; sourceTree = ""; }; @@ -800,6 +823,7 @@ A7D8A7C423E2513E00DCD162 /* SDL_hidapijoystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapijoystick.c; sourceTree = ""; }; A7D8A7C523E2513E00DCD162 /* SDL_hidapi_xboxone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_xboxone.c; sourceTree = ""; }; A7D8A7C623E2513E00DCD162 /* SDL_hidapi_switch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_switch.c; sourceTree = ""; }; + A7D8A7C623E2513E00DCD163 /* SDL_hidapi_switch2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_switch2.c; sourceTree = ""; }; A7D8A7C723E2513E00DCD162 /* SDL_hidapijoystick_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_hidapijoystick_c.h; sourceTree = ""; }; A7D8A7C823E2513E00DCD162 /* SDL_hidapi_xbox360w.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_xbox360w.c; sourceTree = ""; }; A7D8A7C923E2513E00DCD162 /* SDL_hidapi_gamecube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_gamecube.c; sourceTree = ""; }; @@ -858,7 +882,6 @@ A7D8A8F123E2514000DCD162 /* SDL_drawline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_drawline.c; sourceTree = ""; }; A7D8A8F223E2514000DCD162 /* SDL_blendline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_blendline.h; sourceTree = ""; }; A7D8A8F323E2514000DCD162 /* SDL_drawpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_drawpoint.h; sourceTree = ""; }; - A7D8A8F423E2514000DCD162 /* SDL_rotate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_rotate.c; sourceTree = ""; }; A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_render_sw_c.h; sourceTree = ""; }; A7D8A8F623E2514000DCD162 /* SDL_blendfillrect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_blendfillrect.h; sourceTree = ""; }; A7D8A8F723E2514000DCD162 /* SDL_drawline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_drawline.h; sourceTree = ""; }; @@ -868,8 +891,6 @@ A7D8A8FB23E2514000DCD162 /* SDL_blendline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_blendline.c; sourceTree = ""; }; A7D8A8FC23E2514000DCD162 /* SDL_drawpoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_drawpoint.c; sourceTree = ""; }; A7D8A8FD23E2514000DCD162 /* SDL_blendfillrect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_blendfillrect.c; sourceTree = ""; }; - A7D8A8FE23E2514000DCD162 /* SDL_rotate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_rotate.h; sourceTree = ""; }; - A7D8A8FF23E2514000DCD162 /* SDL_d3dmath.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_d3dmath.c; sourceTree = ""; }; A7D8A90423E2514000DCD162 /* SDL_render_gles2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_render_gles2.c; sourceTree = ""; }; A7D8A90523E2514000DCD162 /* SDL_shaders_gles2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_shaders_gles2.h; sourceTree = ""; }; A7D8A90623E2514000DCD162 /* SDL_gles2funcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gles2funcs.h; sourceTree = ""; }; @@ -938,6 +959,8 @@ F32DDACE2AB795A30041EAA5 /* SDL_audioresample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audioresample.c; sourceTree = ""; }; F338A1172D1B37D8007CDFDF /* SDL_tray.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDL_tray.m; sourceTree = ""; }; F338A1192D1B37E4007CDFDF /* SDL_tray.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_tray.c; sourceTree = ""; }; + F3395BA72D9A5971007246C8 /* SDL_hidapi_8bitdo.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_8bitdo.c; sourceTree = ""; }; + F3395BA72D9A5971007246C9 /* SDL_hidapi_flydigi.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_flydigi.c; sourceTree = ""; }; F344003C2D4022E1003F26D7 /* INSTALL.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = INSTALL.md; sourceTree = ""; }; F362B9152B3349E200D30B94 /* controller_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controller_list.h; sourceTree = ""; }; F362B9162B3349E200D30B94 /* SDL_gamepad_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gamepad_c.h; sourceTree = ""; }; @@ -979,6 +1002,8 @@ F386F6E52884663E001840AA /* SDL_utils_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_utils_c.h; sourceTree = ""; }; F386F6E62884663E001840AA /* SDL_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_utils.c; sourceTree = ""; }; F388C95428B5F6F600661ECF /* SDL_hidapi_ps3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_ps3.c; sourceTree = ""; }; + F38C72482CEEB1DE000B0A90 /* SDL_hidapi_steam_triton.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_steam_triton.c; sourceTree = ""; }; + F39344CD2E99771B0056986F /* SDL_dlopennote.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_dlopennote.h; sourceTree = ""; }; F395BF6425633B2400942BFF /* SDL_crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_crc32.c; sourceTree = ""; }; F395C1912569C68E00942BFF /* SDL_iokitjoystick_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_iokitjoystick_c.h; sourceTree = ""; }; F395C1922569C68E00942BFF /* SDL_iokitjoystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_iokitjoystick.c; sourceTree = ""; }; @@ -1002,6 +1027,7 @@ F3B439522C935C2C00792030 /* SDL_posixprocess.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_posixprocess.c; sourceTree = ""; }; F3B439542C937DAB00792030 /* SDL_process.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_process.c; sourceTree = ""; }; F3B439552C937DAB00792030 /* SDL_sysprocess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_sysprocess.h; sourceTree = ""; }; + F3B6B8092DC3EA54004954FD /* SDL_hidapi_gip.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_gip.c; sourceTree = ""; }; F3C1BD732D1F1A3000846529 /* SDL_tray_utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_tray_utils.h; sourceTree = ""; }; F3C1BD742D1F1A3000846529 /* SDL_tray_utils.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_tray_utils.c; sourceTree = ""; }; F3C2CB202C5DDDB2004D7998 /* SDL_categories_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_categories_c.h; sourceTree = ""; }; @@ -1083,10 +1109,18 @@ F3D60A8228C16A1800788A3A /* SDL_hidapi_wii.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_wii.c; sourceTree = ""; }; F3D8BDFA2D6D2C7000B22FA1 /* SDL_eventwatch.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_eventwatch.c; sourceTree = ""; }; F3D8BDFB2D6D2C7000B22FA1 /* SDL_eventwatch_c.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_eventwatch_c.h; sourceTree = ""; }; + F3DB66322EA9ACC300568044 /* SDL_rotate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_rotate.h; sourceTree = ""; }; + F3DB66332EA9ACC300568044 /* SDL_rotate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_rotate.c; sourceTree = ""; }; + F3DC38C72E5FC60300CD73DE /* SDL_libusb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_libusb.h; sourceTree = ""; }; + F3DC38C82E5FC60300CD73DE /* SDL_libusb.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_libusb.c; sourceTree = ""; }; F3DDCC4D2AFD42B500B0842B /* SDL_clipboard_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_clipboard_c.h; sourceTree = ""; }; F3DDCC522AFD42B600B0842B /* SDL_video_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_video_c.h; sourceTree = ""; }; F3DDCC542AFD42B600B0842B /* SDL_rect_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_rect_impl.h; sourceTree = ""; }; F3E5A6EA2AD5E0E600293D83 /* SDL_properties.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_properties.c; sourceTree = ""; }; + F3E6C38F2EE9F20000A6B39E /* SDL_hidapi_flydigi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_hidapi_flydigi.h; sourceTree = ""; }; + F3E6C3902EE9F20000A6B39E /* SDL_hidapi_sinput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_hidapi_sinput.h; sourceTree = ""; }; + F3E6C3912EE9F20000A6B39E /* SDL_report_descriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_report_descriptor.h; sourceTree = ""; }; + F3E6C3922EE9F20000A6B39E /* SDL_report_descriptor.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_report_descriptor.c; sourceTree = ""; }; F3EFA5E92D5AB97300BCF22F /* SDL_stb.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = SDL_stb.c; sourceTree = ""; }; F3EFA5EA2D5AB97300BCF22F /* SDL_stb_c.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_stb_c.h; sourceTree = ""; }; F3EFA5EB2D5AB97300BCF22F /* SDL_surface_c.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_surface_c.h; sourceTree = ""; }; @@ -1243,6 +1277,7 @@ F3D46A8B2D20625800D9CBDF /* SDL_copying.h */, F3D46A8C2D20625800D9CBDF /* SDL_cpuinfo.h */, F3D46A8D2D20625800D9CBDF /* SDL_dialog.h */, + F39344CD2E99771B0056986F /* SDL_dlopennote.h */, F3D46A8E2D20625800D9CBDF /* SDL_egl.h */, F3D46A8F2D20625800D9CBDF /* SDL_endian.h */, F3D46A902D20625800D9CBDF /* SDL_error.h */, @@ -1396,6 +1431,8 @@ children = ( F3ADAB8C2576F08500A6B1D9 /* ios */, 5616CA48252BB285005D5928 /* macos */, + F3DC38C72E5FC60300CD73DE /* SDL_libusb.h */, + F3DC38C82E5FC60300CD73DE /* SDL_libusb.c */, 5616CA4A252BB2A6005D5928 /* SDL_sysurl.h */, 5616CA49252BB2A5005D5928 /* SDL_url.c */, ); @@ -1477,6 +1514,16 @@ path = virtual; sourceTree = ""; }; + 89E580222D03606400DAF6D3 /* hidapi */ = { + isa = PBXGroup; + children = ( + 89E5801F2D03606400DAF6D3 /* SDL_hidapihaptic.c */, + 89E580202D03606400DAF6D3 /* SDL_hidapihaptic_c.h */, + 89E580212D03606400DAF6D3 /* SDL_hidapihaptic_lg4ff.c */, + ); + path = hidapi; + sourceTree = ""; + }; A75FDAA423E2790500529352 /* ios */ = { isa = PBXGroup; children = ( @@ -1535,6 +1582,7 @@ A7D8A5C223E2513D00DCD162 /* haptic */ = { isa = PBXGroup; children = ( + 89E580222D03606400DAF6D3 /* hidapi */, A7D8A5CD23E2513D00DCD162 /* darwin */, A7D8A5C323E2513D00DCD162 /* dummy */, A7D8A5C623E2513D00DCD162 /* SDL_haptic_c.h */, @@ -1623,6 +1671,8 @@ F3DDCC542AFD42B600B0842B /* SDL_rect_impl.h */, A7D8A61523E2513D00DCD162 /* SDL_RLEaccel.c */, A7D8A76723E2513E00DCD162 /* SDL_RLEaccel_c.h */, + F3DB66322EA9ACC300568044 /* SDL_rotate.h */, + F3DB66332EA9ACC300568044 /* SDL_rotate.c */, F3EFA5E92D5AB97300BCF22F /* SDL_stb.c */, F3EFA5EA2D5AB97300BCF22F /* SDL_stb_c.h */, A7D8A60323E2513D00DCD162 /* SDL_stretch.c */, @@ -1904,8 +1954,13 @@ A7D8A7BE23E2513E00DCD162 /* hidapi */ = { isa = PBXGroup; children = ( + F3395BA72D9A5971007246C8 /* SDL_hidapi_8bitdo.c */, F32305FE28939F6400E66D30 /* SDL_hidapi_combined.c */, + F3E6C38F2EE9F20000A6B39E /* SDL_hidapi_flydigi.h */, + F3395BA72D9A5971007246C9 /* SDL_hidapi_flydigi.c */, A7D8A7C923E2513E00DCD162 /* SDL_hidapi_gamecube.c */, + F3B6B8092DC3EA54004954FD /* SDL_hidapi_gip.c */, + 89E5801D2D03602200DAF6D3 /* SDL_hidapi_lg4ff.c */, F3F07D59269640160074468B /* SDL_hidapi_luna.c */, F3FD042C2C9B755700824C4C /* SDL_hidapi_nintendo.h */, F388C95428B5F6F600661ECF /* SDL_hidapi_ps3.c */, @@ -1914,17 +1969,24 @@ A75FDBC323EA380300529352 /* SDL_hidapi_rumble.h */, A75FDBC423EA380300529352 /* SDL_hidapi_rumble.c */, 9846B07B287A9020000C35C8 /* SDL_hidapi_shield.c */, + F3E6C3902EE9F20000A6B39E /* SDL_hidapi_sinput.h */, + 02D6A1C128A84B8F00A7F001 /* SDL_hidapi_sinput.c */, F3984CCF25BCC92800374F43 /* SDL_hidapi_stadia.c */, A75FDAAC23E2795C00529352 /* SDL_hidapi_steam.c */, F3FD042D2C9B755700824C4C /* SDL_hidapi_steam_hori.c */, + F38C72482CEEB1DE000B0A90 /* SDL_hidapi_steam_triton.c */, A797456F2B2E9D39009D224A /* SDL_hidapi_steamdeck.c */, A7D8A7C623E2513E00DCD162 /* SDL_hidapi_switch.c */, + A7D8A7C623E2513E00DCD163 /* SDL_hidapi_switch2.c */, F3D60A8228C16A1800788A3A /* SDL_hidapi_wii.c */, A7D8A7C223E2513E00DCD162 /* SDL_hidapi_xbox360.c */, A7D8A7C823E2513E00DCD162 /* SDL_hidapi_xbox360w.c */, A7D8A7C523E2513E00DCD162 /* SDL_hidapi_xboxone.c */, + 63124A412E5C357500A53610 /* SDL_hidapi_zuiki.c */, A7D8A7C423E2513E00DCD162 /* SDL_hidapijoystick.c */, A7D8A7C723E2513E00DCD162 /* SDL_hidapijoystick_c.h */, + F3E6C3912EE9F20000A6B39E /* SDL_report_descriptor.h */, + F3E6C3922EE9F20000A6B39E /* SDL_report_descriptor.c */, ); path = hidapi; sourceTree = ""; @@ -2135,7 +2197,6 @@ A7D8A90C23E2514000DCD162 /* opengl */, A7D8A90323E2514000DCD162 /* opengles2 */, A7D8A8EF23E2514000DCD162 /* software */, - A7D8A8FF23E2514000DCD162 /* SDL_d3dmath.c */, A7D8A8DC23E2514000DCD162 /* SDL_d3dmath.h */, A7D8A8DB23E2514000DCD162 /* SDL_render.c */, E4F7981D2AD8D86A00669F54 /* SDL_render_unsupported.c */, @@ -2176,8 +2237,6 @@ A7D8A8F323E2514000DCD162 /* SDL_drawpoint.h */, A7D8A8F523E2514000DCD162 /* SDL_render_sw_c.h */, A7D8A8F923E2514000DCD162 /* SDL_render_sw.c */, - A7D8A8F423E2514000DCD162 /* SDL_rotate.c */, - A7D8A8FE23E2514000DCD162 /* SDL_rotate.h */, ); path = software; sourceTree = ""; @@ -2488,6 +2547,7 @@ A7D8AEEE23E2514100DCD162 /* SDL_cocoaopengles.h in Headers */, F3D46ACA2D20625800D9CBDF /* SDL_storage.h in Headers */, F3D46ACB2D20625800D9CBDF /* SDL_sensor.h in Headers */, + F3DB66352EA9ACC300568044 /* SDL_rotate.h in Headers */, F3D46ACC2D20625800D9CBDF /* SDL_properties.h in Headers */, F3D46ACD2D20625800D9CBDF /* SDL_bits.h in Headers */, F3D46ACE2D20625800D9CBDF /* SDL_keyboard.h in Headers */, @@ -2506,6 +2566,9 @@ F3D46ADB2D20625800D9CBDF /* SDL_pen.h in Headers */, F3D46ADC2D20625800D9CBDF /* SDL_render.h in Headers */, F3D46ADD2D20625800D9CBDF /* SDL_assert.h in Headers */, + F3E6C3942EE9F20000A6B39E /* SDL_hidapi_flydigi.h in Headers */, + F3E6C3952EE9F20000A6B39E /* SDL_hidapi_sinput.h in Headers */, + F3E6C3962EE9F20000A6B39E /* SDL_report_descriptor.h in Headers */, F3D46ADE2D20625800D9CBDF /* SDL_atomic.h in Headers */, F3D46ADF2D20625800D9CBDF /* SDL_begin_code.h in Headers */, F3D46AE02D20625800D9CBDF /* SDL_log.h in Headers */, @@ -2617,6 +2680,7 @@ F37E18642BAA40670098C111 /* SDL_time_c.h in Headers */, F31013C82C24E98200FBE946 /* SDL_keymap_c.h in Headers */, 63134A252A7902FD0021E9A6 /* SDL_pen_c.h in Headers */, + 89E580252D03606400DAF6D3 /* SDL_hidapihaptic_c.h in Headers */, F36C34312C0F876500991150 /* SDL_offscreenvulkan.h in Headers */, A7D8B2C023E2514200DCD162 /* SDL_pixels_c.h in Headers */, F37E18622BAA40090098C111 /* SDL_sysfilesystem.h in Headers */, @@ -2624,7 +2688,6 @@ F3DDCC5D2AFD42B600B0842B /* SDL_rect_impl.h in Headers */, A7D8B9FB23E2514400DCD162 /* SDL_render_sw_c.h in Headers */, E4F257972C81903800FCEAFC /* SDL_sysgpu.h in Headers */, - A7D8BA3123E2514400DCD162 /* SDL_rotate.h in Headers */, A7D8A98D23E2514000DCD162 /* SDL_sensor_c.h in Headers */, A7D8BA7323E2514400DCD162 /* SDL_shaders_gl.h in Headers */, A7D8BA4F23E2514400DCD162 /* SDL_shaders_gles2.h in Headers */, @@ -2712,8 +2775,10 @@ A7D8B28A23E2514200DCD162 /* vulkan_xlib_xrandr.h in Headers */, A7D8B3D423E2514300DCD162 /* yuv_rgb.h in Headers */, F3FA5A252B59ACE000FEAD97 /* yuv_rgb_common.h in Headers */, + F39344CE2E99771B0056986F /* SDL_dlopennote.h in Headers */, F3FA5A1D2B59ACE000FEAD97 /* yuv_rgb_internal.h in Headers */, F3D8BDFC2D6D2C7000B22FA1 /* SDL_eventwatch_c.h in Headers */, + F3DC38C92E5FC60300CD73DE /* SDL_libusb.h in Headers */, F3FA5A242B59ACE000FEAD97 /* yuv_rgb_lsx.h in Headers */, F3FA5A1E2B59ACE000FEAD97 /* yuv_rgb_lsx_func.h in Headers */, F3FA5A1F2B59ACE000FEAD97 /* yuv_rgb_sse.h in Headers */, @@ -2833,7 +2898,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# Build an xcframework with both device and simulator files for all platforms.\n# Adapted from an answer in\n# https://developer.apple.com/forums/thread/666335?answerId=685927022#685927022\n\nif [ \"$XCODE_VERSION_ACTUAL\" -lt 1100 ]\nthen\n echo \"error: Building an xcframework requires Xcode 11 minimum.\"\n exit 1\nfi\n\nFRAMEWORK_NAME=\"SDL3\"\nPROJECT_NAME=\"SDL\"\nSCHEME=\"SDL3\"\n\nMACOS_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-macosx.xcarchive\"\nIOS_SIMULATOR_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-iphonesimulator.xcarchive\"\nIOS_DEVICE_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-iphoneos.xcarchive\"\nTVOS_SIMULATOR_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-appletvsimulator.xcarchive\"\nTVOS_DEVICE_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-appletvos.xcarchive\"\n\nOUTPUT_DIR=\"./build/\"\n\n# macOS\nxcodebuild archive \\\n ONLY_ACTIVE_ARCH=NO \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${MACOS_ARCHIVE_PATH} \\\n -destination 'generic/platform=macOS,name=Any Mac' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n \n# iOS simulator\nxcodebuild archive \\\n ONLY_ACTIVE_ARCH=NO \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${IOS_SIMULATOR_ARCHIVE_PATH} \\\n -destination 'generic/platform=iOS Simulator' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n\n# iOS device\nxcodebuild archive \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${IOS_DEVICE_ARCHIVE_PATH} \\\n -destination 'generic/platform=iOS' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n\n# tvOS simulator\nxcodebuild archive \\\n ONLY_ACTIVE_ARCH=NO \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${TVOS_SIMULATOR_ARCHIVE_PATH} \\\n -destination 'generic/platform=tvOS Simulator' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n\n# tvOS device\nxcodebuild archive \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${TVOS_DEVICE_ARCHIVE_PATH} \\\n -destination 'generic/platform=tvOS' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n\n# Clean-up any existing instance of this xcframework from the Products directory\nrm -rf \"${OUTPUT_DIR}${FRAMEWORK_NAME}.xcframework\"\n\n# Create final xcframework\nxcodebuild -create-xcframework \\\n -framework \"${MACOS_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -framework \"${IOS_DEVICE_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -framework \"${IOS_SIMULATOR_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -framework \"${TVOS_DEVICE_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -framework \"${TVOS_SIMULATOR_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -output ${OUTPUT_DIR}/${FRAMEWORK_NAME}.xcframework\n\n# Ensure git doesn't pick up on our Products folder. \nrm -rf ${OUTPUT_DIR}/.gitignore\necho \"*\" >> ${OUTPUT_DIR}/.gitignore\n"; + shellScript = "# Build an xcframework with both device and simulator files for all platforms.\n# Adapted from an answer in\n# https://developer.apple.com/forums/thread/666335?answerId=685927022#685927022\n\nif [ \"$XCODE_VERSION_ACTUAL\" -lt 1100 ]\nthen\n echo \"error: Building an xcframework requires Xcode 11 minimum.\"\n exit 1\nfi\n\nFRAMEWORK_NAME=\"SDL3\"\nPROJECT_NAME=\"SDL\"\nSCHEME=\"SDL3\"\n\nMACOS_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-macosx.xcarchive\"\nIOS_SIMULATOR_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-iphonesimulator.xcarchive\"\nIOS_DEVICE_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-iphoneos.xcarchive\"\nTVOS_SIMULATOR_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-appletvsimulator.xcarchive\"\nTVOS_DEVICE_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-appletvos.xcarchive\"\n\nOUTPUT_DIR=\"./build/\"\n\n# macOS\nxcodebuild archive \\\n ONLY_ACTIVE_ARCH=NO \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${MACOS_ARCHIVE_PATH} \\\n -destination 'generic/platform=macOS,name=Any Mac' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n \n# iOS simulator\nxcodebuild archive \\\n ONLY_ACTIVE_ARCH=NO \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${IOS_SIMULATOR_ARCHIVE_PATH} \\\n -destination 'generic/platform=iOS Simulator' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n\n# iOS device\nxcodebuild archive \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${IOS_DEVICE_ARCHIVE_PATH} \\\n -destination 'generic/platform=iOS' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n\n# tvOS simulator\nxcodebuild archive \\\n ONLY_ACTIVE_ARCH=NO \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${TVOS_SIMULATOR_ARCHIVE_PATH} \\\n -destination 'generic/platform=tvOS Simulator' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n\n# tvOS device\nxcodebuild archive \\\n -scheme \"${SCHEME}\" \\\n -project \"${PROJECT_NAME}.xcodeproj\" \\\n -archivePath ${TVOS_DEVICE_ARCHIVE_PATH} \\\n -destination 'generic/platform=tvOS' \\\n BUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n SKIP_INSTALL=NO || exit $?\n\n# Clean-up any existing instance of this xcframework from the Products directory\nrm -rf \"${OUTPUT_DIR}${FRAMEWORK_NAME}.xcframework\"\n\n# Create final xcframework\nxcodebuild -create-xcframework \\\n -framework \"${MACOS_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -debug-symbols \"${MACOS_ARCHIVE_PATH}\"/dSYMs/$FRAMEWORK_NAME.framework.dSYM \\\n -framework \"${IOS_DEVICE_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -debug-symbols \"${IOS_DEVICE_ARCHIVE_PATH}\"/dSYMs/$FRAMEWORK_NAME.framework.dSYM \\\n -framework \"${IOS_SIMULATOR_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -framework \"${TVOS_DEVICE_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -debug-symbols \"${TVOS_DEVICE_ARCHIVE_PATH}\"/dSYMs/$FRAMEWORK_NAME.framework.dSYM \\\n -framework \"${TVOS_SIMULATOR_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n -output ${OUTPUT_DIR}/${FRAMEWORK_NAME}.xcframework\n\n# Ensure git doesn't pick up on our Products folder. \nrm -rf ${OUTPUT_DIR}/.gitignore\necho \"*\" >> ${OUTPUT_DIR}/.gitignore\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -2847,6 +2912,7 @@ A7D8B62F23E2514300DCD162 /* SDL_sysfilesystem.m in Sources */, A7D8B41C23E2514300DCD162 /* SDL_systls.c in Sources */, 9846B07C287A9020000C35C8 /* SDL_hidapi_shield.c in Sources */, + 02D6A1C228A84B8F00A7F002 /* SDL_hidapi_sinput.c in Sources */, F31013C72C24E98200FBE946 /* SDL_keymap.c in Sources */, F3A9AE992C8A13C100AAC390 /* SDL_render_gpu.c in Sources */, A7D8BBD923E2574800DCD162 /* SDL_uikitmessagebox.m in Sources */, @@ -2864,7 +2930,6 @@ A7D8AEC423E2514100DCD162 /* SDL_cocoaevents.m in Sources */, E479118F2BA9555500CE3B7F /* SDL_genericstorage.c in Sources */, A7D8B86623E2514400DCD162 /* SDL_audiocvt.c in Sources */, - A7D8B9F523E2514400DCD162 /* SDL_rotate.c in Sources */, A7D8BBE323E2574800DCD162 /* SDL_uikitvideo.m in Sources */, F338A1182D1B37D8007CDFDF /* SDL_tray.m in Sources */, 5616CA4E252BB2A6005D5928 /* SDL_sysurl.m in Sources */, @@ -2873,6 +2938,7 @@ F3C1BD752D1F1A3000846529 /* SDL_tray_utils.c in Sources */, F382071D284F362F004DD584 /* SDL_guid.c in Sources */, A7D8BB8D23E2514500DCD162 /* SDL_touch.c in Sources */, + F3E6C3932EE9F20000A6B39E /* SDL_report_descriptor.c in Sources */, F31A92D228D4CB39003BFD6A /* SDL_offscreenopengles.c in Sources */, A1626A3E2617006A003F1973 /* SDL_triangle.c in Sources */, A7D8B3F223E2514300DCD162 /* SDL_thread.c in Sources */, @@ -2892,6 +2958,7 @@ E4F257962C81903800FCEAFC /* SDL_gpu.c in Sources */, F3D60A8328C16A1900788A3A /* SDL_hidapi_wii.c in Sources */, A7D8B9DD23E2514400DCD162 /* SDL_blendpoint.c in Sources */, + F3DB66342EA9ACC300568044 /* SDL_rotate.c in Sources */, A7D8B4EE23E2514300DCD162 /* SDL_gamepad.c in Sources */, E4A568B62AF763940062EEC4 /* SDL_sysmain_callbacks.c in Sources */, F316ABD82B5C3185002EF551 /* SDL_memset.c in Sources */, @@ -2903,8 +2970,9 @@ A7D8BBE723E2574800DCD162 /* SDL_uikitviewcontroller.m in Sources */, A7D8ADF223E2514100DCD162 /* SDL_blit_A.c in Sources */, A7D8BBDD23E2574800DCD162 /* SDL_uikitmodes.m in Sources */, - A7D8BA3723E2514400DCD162 /* SDL_d3dmath.c in Sources */, F3A9AE9C2C8A13C100AAC390 /* SDL_pipeline_gpu.c in Sources */, + 89E580232D03606400DAF6D3 /* SDL_hidapihaptic.c in Sources */, + 89E580242D03606400DAF6D3 /* SDL_hidapihaptic_lg4ff.c in Sources */, 75E0915A241EA924004729E1 /* SDL_virtualjoystick.c in Sources */, F338A11A2D1B37E4007CDFDF /* SDL_tray.c in Sources */, A7D8ABEB23E2514100DCD162 /* SDL_nullvideo.c in Sources */, @@ -2960,12 +3028,14 @@ F316ABD92B5C3185002EF551 /* SDL_memcpy.c in Sources */, A7D8B97A23E2514400DCD162 /* SDL_render.c in Sources */, A7D8ABD323E2514100DCD162 /* SDL_stretch.c in Sources */, + F38C72492CEEB1DE000B0A90 /* SDL_hidapi_steam_triton.c in Sources */, A7D8AC3923E2514100DCD162 /* SDL_blit_copy.c in Sources */, A7D8B5CF23E2514300DCD162 /* SDL_syspower.m in Sources */, F3B439512C935C2400792030 /* SDL_dummyprocess.c in Sources */, A7D8B76423E2514300DCD162 /* SDL_mixer.c in Sources */, A7D8BB5723E2514500DCD162 /* SDL_events.c in Sources */, A7D8ADE623E2514100DCD162 /* SDL_blit_0.c in Sources */, + 89E5801E2D03602200DAF6D3 /* SDL_hidapi_lg4ff.c in Sources */, A7D8B8A823E2514400DCD162 /* SDL_diskaudio.c in Sources */, 56A2373329F9C113003CCA5F /* SDL_sysrwlock.c in Sources */, F3A9AE9A2C8A13C100AAC390 /* SDL_shaders_gpu.c in Sources */, @@ -3002,6 +3072,7 @@ F3FA5A222B59ACE000FEAD97 /* yuv_rgb_sse.c in Sources */, F3C2CB232C5DDDB2004D7998 /* SDL_categories.c in Sources */, A7D8B55123E2514300DCD162 /* SDL_hidapi_switch.c in Sources */, + A7D8B55123E2514300DCD163 /* SDL_hidapi_switch2.c in Sources */, A7D8B96223E2514400DCD162 /* SDL_strtokr.c in Sources */, A7D8BB7523E2514500DCD162 /* SDL_clipboardevents.c in Sources */, E4F798202AD8D87F00669F54 /* SDL_video_unsupported.c in Sources */, @@ -3029,6 +3100,7 @@ A7D8BA5B23E2514400DCD162 /* SDL_shaders_gles2.c in Sources */, A7D8B14023E2514200DCD162 /* SDL_blit_1.c in Sources */, A7D8BBDB23E2574800DCD162 /* SDL_uikitmetalview.m in Sources */, + F3B6B80A2DC3EA54004954FD /* SDL_hidapi_gip.c in Sources */, A7D8BB1523E2514500DCD162 /* SDL_mouse.c in Sources */, F395C19C2569C68F00942BFF /* SDL_iokitjoystick.c in Sources */, A7D8B4B223E2514300DCD162 /* SDL_sysjoystick.c in Sources */, @@ -3051,12 +3123,15 @@ 000028F8113A53F4333E0000 /* SDL_main_callbacks.c in Sources */, 000098E9DAA43EF6FF7F0000 /* SDL_camera.c in Sources */, F310138E2C1F2CB700FBE946 /* SDL_random.c in Sources */, + F3395BA82D9A5971007246C8 /* SDL_hidapi_8bitdo.c in Sources */, 00001B2471F503DD3C1B0000 /* SDL_camera_dummy.c in Sources */, 00002B20A48E055EB0350000 /* SDL_camera_coremedia.m in Sources */, 000080903BC03006F24E0000 /* SDL_filesystem.c in Sources */, + F3FBB1082DDF93AB0000F99F /* SDL_hidapi_flydigi.c in Sources */, 0000481D255AF155B42C0000 /* SDL_sysfsops.c in Sources */, 0000494CC93F3E624D3C0000 /* SDL_systime.c in Sources */, 000095FA1BDE436CF3AF0000 /* SDL_time.c in Sources */, + F3DC38CA2E5FC60300CD73DE /* SDL_libusb.c in Sources */, 0000140640E77F73F1DF0000 /* SDL_dialog_utils.c in Sources */, 0000D5B526B85DE7AB1C0000 /* SDL_cocoapen.m in Sources */, 6312C66D2B42341400A7BB00 /* SDL_murmur3.c in Sources */, @@ -3064,6 +3139,7 @@ 00004D0B73767647AD550000 /* SDL_asyncio_generic.c in Sources */, 0000A03C0F32C43816F40000 /* SDL_asyncio_windows_ioring.c in Sources */, 0000A877C7DB9FA935FC0000 /* SDL_uikitpen.m in Sources */, + 63124A422E5C357500A53610 /* SDL_hidapi_zuiki.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3085,8 +3161,8 @@ CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_COMPATIBILITY_VERSION = 201.0.0; - DYLIB_CURRENT_VERSION = 201.20.0; + DYLIB_COMPATIBILITY_VERSION = 401.0.0; + DYLIB_CURRENT_VERSION = 401.2.0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_ALTIVEC_EXTENSIONS = YES; @@ -3121,7 +3197,7 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 3.2.20; + MARKETING_VERSION = 3.4.2; OTHER_LDFLAGS = "$(CONFIG_FRAMEWORK_LDFLAGS)"; PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL3; PRODUCT_NAME = SDL3; @@ -3129,7 +3205,7 @@ SUPPORTED_PLATFORMS = "xrsimulator xros macosx iphonesimulator iphoneos appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; TVOS_DEPLOYMENT_TARGET = 11.0; - XROS_DEPLOYMENT_TARGET = 1.0; + XROS_DEPLOYMENT_TARGET = 1.3; }; name = Release; }; @@ -3138,6 +3214,8 @@ baseConfigurationReference = F3F7BE3B2CBD79D200C984AF /* config.xcconfig */; buildSettings = { CLANG_LINK_OBJC_RUNTIME = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; OTHER_LDFLAGS = "-liconv"; SUPPORTS_MACCATALYST = YES; }; @@ -3149,8 +3227,8 @@ ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - DYLIB_COMPATIBILITY_VERSION = 201.0.0; - DYLIB_CURRENT_VERSION = 201.20.0; + DYLIB_COMPATIBILITY_VERSION = 401.0.0; + DYLIB_CURRENT_VERSION = 401.2.0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -3182,7 +3260,7 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 3.2.20; + MARKETING_VERSION = 3.4.2; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "$(CONFIG_FRAMEWORK_LDFLAGS)"; PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL3; @@ -3191,7 +3269,7 @@ SUPPORTED_PLATFORMS = "xrsimulator xros macosx iphonesimulator iphoneos appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; TVOS_DEPLOYMENT_TARGET = 11.0; - XROS_DEPLOYMENT_TARGET = 1.0; + XROS_DEPLOYMENT_TARGET = 1.3; }; name = Debug; }; @@ -3200,6 +3278,8 @@ baseConfigurationReference = F3F7BE3B2CBD79D200C984AF /* config.xcconfig */; buildSettings = { CLANG_LINK_OBJC_RUNTIME = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; OTHER_LDFLAGS = "-liconv"; SUPPORTS_MACCATALYST = YES; }; diff --git a/libs/SDL3/Xcode/SDL/pkg-support/SDL.info b/libs/SDL3/Xcode/SDL/pkg-support/SDL.info index 475a7cc..a82bea2 100644 --- a/libs/SDL3/Xcode/SDL/pkg-support/SDL.info +++ b/libs/SDL3/Xcode/SDL/pkg-support/SDL.info @@ -1,4 +1,4 @@ -Title SDL 3.2.20 +Title SDL 3.4.2 Version 1 Description SDL Library for macOS (http://www.libsdl.org) DefaultLocation /Library/Frameworks diff --git a/libs/SDL3/Xcode/SDL/pkg-support/resources/CMake/SDL3Config.cmake b/libs/SDL3/Xcode/SDL/pkg-support/resources/CMake/SDL3Config.cmake index 784d27d..7961665 100644 --- a/libs/SDL3/Xcode/SDL/pkg-support/resources/CMake/SDL3Config.cmake +++ b/libs/SDL3/Xcode/SDL/pkg-support/resources/CMake/SDL3Config.cmake @@ -1,8 +1,9 @@ # SDL3 CMake configuration file: -# This file is meant to be placed in Resources/CMake of a SDL3 framework +# This file is meant to be placed in Resources/CMake of a SDL3 framework for macOS, +# or in the CMake directory of a SDL3 framework for iOS / tvOS / visionOS. # INTERFACE_LINK_OPTIONS needs CMake 3.12 -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.12...4.0) include(FeatureSummary) set_package_properties(SDL3 PROPERTIES @@ -31,16 +32,31 @@ endmacro() set(SDL3_FOUND TRUE) -# Compute the installation prefix relative to this file. -set(_sdl3_framework_path "${CMAKE_CURRENT_LIST_DIR}") # > /SDL3.framework/Resources/CMake/ -get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" REALPATH) # > /SDL3.framework/Versions/Current/Resources/CMake -get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" REALPATH) # > /SDL3.framework/Versions/A/Resources/CMake/ -get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" PATH) # > /SDL3.framework/Versions/A/Resources/ -get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" PATH) # > /SDL3.framework/Versions/A/ -get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" PATH) # > /SDL3.framework/Versions/ -get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" PATH) # > /SDL3.framework/ -get_filename_component(_sdl3_framework_parent_path "${_sdl3_framework_path}" PATH) # > / +# Compute the installation prefix relative to this file: +# search upwards for the .framework directory +set(_current_path "${CMAKE_CURRENT_LIST_DIR}") +get_filename_component(_current_path "${_current_path}" REALPATH) +set(_sdl3_framework_path "") +while(NOT _sdl3_framework_path) + if(IS_DIRECTORY "${_current_path}" AND "${_current_path}" MATCHES "/SDL3\\.framework$") + set(_sdl3_framework_path "${_current_path}") + break() + endif() + get_filename_component(_next_current_path "${_current_path}" DIRECTORY) + if("${_current_path}" STREQUAL "${_next_current_path}") + break() + endif() + set(_current_path "${_next_current_path}") +endwhile() +unset(_current_path) +unset(_next_current_path) + +if(NOT _sdl3_framework_path) + message(FATAL_ERROR "Could not find SDL3.framework root from ${CMAKE_CURRENT_LIST_DIR}") +endif() + +get_filename_component(_sdl3_framework_parent_path "${_sdl3_framework_path}" PATH) # All targets are created, even when some might not be requested though COMPONENTS. # This is done for compatibility with CMake generated SDL3-target.cmake files. diff --git a/libs/SDL3/Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake b/libs/SDL3/Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake index 74329c4..6f7589b 100644 --- a/libs/SDL3/Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake +++ b/libs/SDL3/Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake @@ -1,16 +1,26 @@ # based on the files generated by CMake's write_basic_package_version_file # SDL CMake version configuration file: -# This file is meant to be placed in Resources/CMake of a SDL3 framework +# This file is meant to be placed in Resources/CMake of a SDL3 framework for macOS, +# or in the CMake directory of a SDL3 framework for iOS / tvOS / visionOS. -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.12...4.0) -if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h") - message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the Resources/CMake directory of SDL2.framework") +# Find SDL_version.h +set(_sdl_version_h_path "") +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h") + set(_sdl_version_h_path "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h") +elseif(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../Headers/SDL_version.h") + set(_sdl_version_h_path "${CMAKE_CURRENT_LIST_DIR}/../Headers/SDL_version.h") +endif() + +if(NOT _sdl_version_h_path) + message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the Resources/CMake directory or the CMake directory of SDL3.framework.") + set(PACKAGE_VERSION_UNSUITABLE TRUE) return() endif() -file(READ "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h" _sdl_version_h) +file(READ "${_sdl_version_h_path}" _sdl_version_h) string(REGEX MATCH "#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)" _sdl_major_re "${_sdl_version_h}") set(_sdl_major "${CMAKE_MATCH_1}") string(REGEX MATCH "#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)" _sdl_minor_re "${_sdl_version_h}") @@ -21,9 +31,12 @@ if(_sdl_major_re AND _sdl_minor_re AND _sdl_micro_re) set(PACKAGE_VERSION "${_sdl_major}.${_sdl_minor}.${_sdl_micro}") else() message(AUTHOR_WARNING "Could not extract version from SDL_version.h.") + set(PACKAGE_VERSION_UNSUITABLE TRUE) return() endif() +unset(_sdl_version_h) +unset(_sdl_version_h_path) unset(_sdl_major_re) unset(_sdl_major) unset(_sdl_minor_re) diff --git a/libs/SDL3/Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake b/libs/SDL3/Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake index 6c833a7..86979ce 100644 --- a/libs/SDL3/Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake +++ b/libs/SDL3/Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake @@ -16,6 +16,7 @@ set(_sdl3_version_h "${_sdl3_framework}/Headers/SDL_version.h") if(NOT EXISTS "${_sdl3_version_h}") message(AUTHOR_WARNING "Cannot not find ${_sdl3_framework}. This script is meant to be placed in share/cmake/SDL3, next to SDL3.xcframework") + set(PACKAGE_VERSION_UNSUITABLE TRUE) return() endif() @@ -36,6 +37,7 @@ if(_sdl_major_re AND _sdl_minor_re AND _sdl_micro_re) set(PACKAGE_VERSION "${_sdl_major}.${_sdl_minor}.${_sdl_micro}") else() message(AUTHOR_WARNING "Could not extract version from SDL_version.h.") + set(PACKAGE_VERSION_UNSUITABLE TRUE) return() endif() diff --git a/libs/SDL3/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj b/libs/SDL3/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj index 3a2e59d..ce64b09 100644 --- a/libs/SDL3/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj +++ b/libs/SDL3/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj @@ -19,7 +19,6 @@ F35E56E72983133F00A43A5F /* PBXTargetDependency */, DB0F490517CA5249008798C5 /* PBXTargetDependency */, DB0F490717CA5249008798C5 /* PBXTargetDependency */, - DB166E9816A1D7CF00A1396C /* PBXTargetDependency */, DB166E9616A1D7CD00A1396C /* PBXTargetDependency */, DB166E6C16A1D72000A1396C /* PBXTargetDependency */, DB166E5616A1D6B800A1396C /* PBXTargetDependency */, @@ -88,7 +87,6 @@ 00794EF009D23739003FC8A1 /* utf8.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6309D20839003FC8A1 /* utf8.txt */; }; 00794EF709D237DE003FC8A1 /* moose.dat in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5E09D20839003FC8A1 /* moose.dat */; }; 453774A5120915E3002F0F45 /* testshape.c in Sources */ = {isa = PBXBuildFile; fileRef = 453774A4120915E3002F0F45 /* testshape.c */; }; - 66E88E8B203B778F0004D44E /* testyuv_cvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 66E88E8A203B778F0004D44E /* testyuv_cvt.c */; }; A1A8594E2BC72FC20045DD6C /* testautomation_properties.c in Sources */ = {isa = PBXBuildFile; fileRef = A1A859482BC72FC20045DD6C /* testautomation_properties.c */; }; A1A859502BC72FC20045DD6C /* testautomation_subsystems.c in Sources */ = {isa = PBXBuildFile; fileRef = A1A859492BC72FC20045DD6C /* testautomation_subsystems.c */; }; A1A859522BC72FC20045DD6C /* testautomation_log.c in Sources */ = {isa = PBXBuildFile; fileRef = A1A8594A2BC72FC20045DD6C /* testautomation_log.c */; }; @@ -117,23 +115,21 @@ DB166D9F16A1D1A500A1396C /* SDL_test_log.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166D9016A1D1A500A1396C /* SDL_test_log.c */; }; DB166DA016A1D1A500A1396C /* SDL_test_md5.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166D9116A1D1A500A1396C /* SDL_test_md5.c */; }; DB166DD716A1D37800A1396C /* testmessage.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CBD16A1C74100A1396C /* testmessage.c */; }; - DB166DDB16A1D42F00A1396C /* icon.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; }; + DB166DDB16A1D42F00A1396C /* icon.png in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.png */; }; DB166DF016A1D52500A1396C /* testrelative.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CBF16A1C74100A1396C /* testrelative.c */; }; DB166E0716A1D59400A1396C /* testrendercopyex.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CC016A1C74100A1396C /* testrendercopyex.c */; }; DB166E1E16A1D5C300A1396C /* testrendertarget.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CC116A1C74100A1396C /* testrendertarget.c */; }; - DB166E2216A1D5EC00A1396C /* sample.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.bmp */; }; - DB166E2316A1D60B00A1396C /* icon.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; }; - DB166E2516A1D61900A1396C /* icon.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; }; - DB166E2616A1D61900A1396C /* sample.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.bmp */; }; + DB166E2216A1D5EC00A1396C /* sample.png in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.png */; }; + DB166E2316A1D60B00A1396C /* icon.png in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.png */; }; + DB166E2516A1D61900A1396C /* icon.png in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.png */; }; + DB166E2616A1D61900A1396C /* sample.png in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.png */; }; DB166E3C16A1D66500A1396C /* testrumble.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CC216A1C74100A1396C /* testrumble.c */; }; - DB166E4D16A1D69000A1396C /* icon.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; }; - DB166E4E16A1D69000A1396C /* sample.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.bmp */; }; + DB166E4D16A1D69000A1396C /* icon.png in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.png */; }; + DB166E4E16A1D69000A1396C /* sample.png in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E6109D20839003FC8A1 /* sample.png */; }; DB166E5416A1D6A300A1396C /* testscale.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CC316A1C74100A1396C /* testscale.c */; }; DB166E6A16A1D70C00A1396C /* testshader.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CC416A1C74100A1396C /* testshader.c */; }; DB166E9316A1D7BC00A1396C /* testspriteminimal.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CC516A1C74100A1396C /* testspriteminimal.c */; }; - DB166E9416A1D7C700A1396C /* teststreaming.c in Sources */ = {isa = PBXBuildFile; fileRef = DB166CC616A1C74100A1396C /* teststreaming.c */; }; - DB166E9A16A1D7F700A1396C /* moose.dat in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5E09D20839003FC8A1 /* moose.dat */; }; - DB166E9C16A1D80900A1396C /* icon.bmp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; }; + DB166E9C16A1D80900A1396C /* icon.png in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.png */; }; DB445EFB18184BB600B306B0 /* testdropfile.c in Sources */ = {isa = PBXBuildFile; fileRef = DB445EFA18184BB600B306B0 /* testdropfile.c */; }; DB89958418A19B130092407C /* testhotplug.c in Sources */ = {isa = PBXBuildFile; fileRef = DB89958318A19B130092407C /* testhotplug.c */; }; F35E56CF2983130F00A43A5F /* testautomation_main.c in Sources */ = {isa = PBXBuildFile; fileRef = F35E56B62983130A00A43A5F /* testautomation_main.c */; }; @@ -162,6 +158,7 @@ F36C34232C0F85DB00991150 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F36C342D2C0F869B00991150 /* testcamera.c in Sources */ = {isa = PBXBuildFile; fileRef = F36C342C2C0F869B00991150 /* testcamera.c */; }; F36C342E2C0F869B00991150 /* testcamera.c in Sources */ = {isa = PBXBuildFile; fileRef = F36C342C2C0F869B00991150 /* testcamera.c */; }; + F38908B72E81276900CE01D5 /* testautomation_blit.c in Sources */ = {isa = PBXBuildFile; fileRef = F38908B42E81276900CE01D5 /* testautomation_blit.c */; }; F399C64E2A78929400C86979 /* gamepadutils.c in Sources */ = {isa = PBXBuildFile; fileRef = F399C6492A78929400C86979 /* gamepadutils.c */; }; F399C64F2A78929400C86979 /* gamepadutils.c in Sources */ = {isa = PBXBuildFile; fileRef = F399C6492A78929400C86979 /* gamepadutils.c */; }; F399C6512A7892D800C86979 /* testautomation_intrinsics.c in Sources */ = {isa = PBXBuildFile; fileRef = F399C6502A7892D800C86979 /* testautomation_intrinsics.c */; }; @@ -182,13 +179,12 @@ F3C17C8228E4112900E1A26D /* testutils.c in Sources */ = {isa = PBXBuildFile; fileRef = F3C17C7328E40ADE00E1A26D /* testutils.c */; }; F3C17C8328E4124400E1A26D /* testutils.c in Sources */ = {isa = PBXBuildFile; fileRef = F3C17C7328E40ADE00E1A26D /* testutils.c */; }; F3C17C8428E4126400E1A26D /* testutils.c in Sources */ = {isa = PBXBuildFile; fileRef = F3C17C7328E40ADE00E1A26D /* testutils.c */; }; - F3C17C8528E4127D00E1A26D /* testutils.c in Sources */ = {isa = PBXBuildFile; fileRef = F3C17C7328E40ADE00E1A26D /* testutils.c */; }; F3C17CEB28E4177600E1A26D /* testgeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F3C17CD628E416AC00E1A26D /* testgeometry.c */; }; F3C17CEC28E417EB00E1A26D /* testutils.c in Sources */ = {isa = PBXBuildFile; fileRef = F3C17C7328E40ADE00E1A26D /* testutils.c */; }; F3C17D3928E424B800E1A26D /* sample.wav in Resources */ = {isa = PBXBuildFile; fileRef = 00794E6209D20839003FC8A1 /* sample.wav */; }; - F3C17D3B28E4252900E1A26D /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; }; + F3C17D3B28E4252900E1A26D /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.png */; }; F3C2CAC62C5C8BD6004D7998 /* unifont-15.1.05.hex in Resources */ = {isa = PBXBuildFile; fileRef = F3C2CAC52C5C8BD6004D7998 /* unifont-15.1.05.hex */; }; - F3C2CB072C5D3FB2004D7998 /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.bmp */; }; + F3C2CB072C5D3FB2004D7998 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 00794E5D09D20839003FC8A1 /* icon.png */; }; F3CB56892A7895F800766177 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; }; F3CB568A2A7895F800766177 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3CB568C2A7896BF00766177 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; }; @@ -267,8 +263,6 @@ F3CB56FB2A78983200766177 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3CB56FD2A78983C00766177 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; }; F3CB56FE2A78983C00766177 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F3CB57002A78984300766177 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; }; - F3CB57012A78984300766177 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3CB57032A78984A00766177 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; }; F3CB57042A78984A00766177 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3CB57062A78985400766177 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; }; @@ -279,6 +273,12 @@ F3CB570D2A78986000766177 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3CB570F2A78986700766177 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; }; F3CB57102A78986700766177 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F3DB65DF2E9DA90000568044 /* testutils.c in Sources */ = {isa = PBXBuildFile; fileRef = F3C17C7328E40ADE00E1A26D /* testutils.c */; }; + F3DB65E12E9DA90000568044 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; }; + F3DB65E52E9DA90000568044 /* SDL3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA643093FFD41000C53B3 /* SDL3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F3DB65EE2E9DA95D00568044 /* testyuv.png in Resources */ = {isa = PBXBuildFile; fileRef = F3DB65ED2E9DA95D00568044 /* testyuv.png */; }; + F3DB65F12E9DA98E00568044 /* testyuv.c in Sources */ = {isa = PBXBuildFile; fileRef = F3DB65EF2E9DA98E00568044 /* testyuv.c */; }; + F3DB65F22E9DA9B400568044 /* testyuv_cvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 66E88E8A203B778F0004D44E /* testyuv_cvt.c */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -569,13 +569,6 @@ remoteGlobalIDString = DB166E6D16A1D78400A1396C; remoteInfo = testspriteminimal; }; - DB166E9716A1D7CF00A1396C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = DB166E8016A1D78C00A1396C; - remoteInfo = teststreaming; - }; F35E56E62983133F00A43A5F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; @@ -643,7 +636,7 @@ dstPath = ""; dstSubfolderSpec = 7; files = ( - DB166DDB16A1D42F00A1396C /* icon.bmp in CopyFiles */, + DB166DDB16A1D42F00A1396C /* icon.png in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -653,8 +646,8 @@ dstPath = ""; dstSubfolderSpec = 7; files = ( - DB166E2316A1D60B00A1396C /* icon.bmp in CopyFiles */, - DB166E2216A1D5EC00A1396C /* sample.bmp in CopyFiles */, + DB166E2316A1D60B00A1396C /* icon.png in CopyFiles */, + DB166E2216A1D5EC00A1396C /* sample.png in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -664,8 +657,8 @@ dstPath = ""; dstSubfolderSpec = 7; files = ( - DB166E2516A1D61900A1396C /* icon.bmp in CopyFiles */, - DB166E2616A1D61900A1396C /* sample.bmp in CopyFiles */, + DB166E2516A1D61900A1396C /* icon.png in CopyFiles */, + DB166E2616A1D61900A1396C /* sample.png in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -675,18 +668,8 @@ dstPath = ""; dstSubfolderSpec = 7; files = ( - DB166E4D16A1D69000A1396C /* icon.bmp in CopyFiles */, - DB166E4E16A1D69000A1396C /* sample.bmp in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DB166E9916A1D7EE00A1396C /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - DB166E9A16A1D7F700A1396C /* moose.dat in CopyFiles */, + DB166E4D16A1D69000A1396C /* icon.png in CopyFiles */, + DB166E4E16A1D69000A1396C /* sample.png in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -696,7 +679,7 @@ dstPath = ""; dstSubfolderSpec = 7; files = ( - DB166E9C16A1D80900A1396C /* icon.bmp in CopyFiles */, + DB166E9C16A1D80900A1396C /* icon.png in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1160,17 +1143,6 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - F3CB57022A78984300766177 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - F3CB57012A78984300766177 /* SDL3.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; F3CB57052A78984A00766177 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -1226,6 +1198,17 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + F3DB65E42E9DA90000568044 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + F3DB65E52E9DA90000568044 /* SDL3.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -1269,10 +1252,9 @@ 002F346A09CA204F00EBEB88 /* testplatform.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testplatform.app; sourceTree = BUILT_PRODUCTS_DIR; }; 002F346F09CA20A600EBEB88 /* testplatform.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = testplatform.c; sourceTree = ""; }; 003FA63A093FFD41000C53B3 /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = ../SDL/SDL.xcodeproj; sourceTree = SOURCE_ROOT; }; - 00794E5D09D20839003FC8A1 /* icon.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = icon.bmp; sourceTree = ""; }; + 00794E5D09D20839003FC8A1 /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree = ""; }; 00794E5E09D20839003FC8A1 /* moose.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = moose.dat; sourceTree = ""; }; - 00794E5F09D20839003FC8A1 /* picture.xbm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = picture.xbm; sourceTree = ""; }; - 00794E6109D20839003FC8A1 /* sample.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = sample.bmp; sourceTree = ""; }; + 00794E6109D20839003FC8A1 /* sample.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = sample.png; sourceTree = ""; }; 00794E6209D20839003FC8A1 /* sample.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = sample.wav; sourceTree = ""; }; 00794E6309D20839003FC8A1 /* utf8.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = utf8.txt; sourceTree = ""; }; 083E4872006D84C97F000001 /* loopwave.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = loopwave.c; sourceTree = ""; }; @@ -1318,7 +1300,6 @@ DB166CC316A1C74100A1396C /* testscale.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = testscale.c; sourceTree = ""; }; DB166CC416A1C74100A1396C /* testshader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = testshader.c; sourceTree = ""; }; DB166CC516A1C74100A1396C /* testspriteminimal.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = testspriteminimal.c; sourceTree = ""; }; - DB166CC616A1C74100A1396C /* teststreaming.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = teststreaming.c; sourceTree = ""; }; DB166D7F16A1D12400A1396C /* libSDL3_test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL3_test.a; sourceTree = BUILT_PRODUCTS_DIR; }; DB166D8416A1D1A500A1396C /* SDL_test_assert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_test_assert.c; sourceTree = ""; }; DB166D8516A1D1A500A1396C /* SDL_test_common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_test_common.c; sourceTree = ""; }; @@ -1337,7 +1318,6 @@ DB166E5216A1D69000A1396C /* testscale.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testscale.app; sourceTree = BUILT_PRODUCTS_DIR; }; DB166E6816A1D6F300A1396C /* testshader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testshader.app; sourceTree = BUILT_PRODUCTS_DIR; }; DB166E7E16A1D78400A1396C /* testspriteminimal.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testspriteminimal.app; sourceTree = BUILT_PRODUCTS_DIR; }; - DB166E9116A1D78C00A1396C /* teststreaming.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = teststreaming.app; sourceTree = BUILT_PRODUCTS_DIR; }; DB445EF818184B7000B306B0 /* testdropfile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testdropfile.app; sourceTree = BUILT_PRODUCTS_DIR; }; DB445EFA18184BB600B306B0 /* testdropfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = testdropfile.c; sourceTree = ""; }; DB89957E18A19ABA0092407C /* testhotplug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testhotplug.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1367,6 +1347,9 @@ F35E56CD2983130F00A43A5F /* testautomation_mouse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = testautomation_mouse.c; sourceTree = ""; }; F36C34272C0F85DB00991150 /* testcamera.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testcamera.app; sourceTree = BUILT_PRODUCTS_DIR; }; F36C342C2C0F869B00991150 /* testcamera.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = testcamera.c; sourceTree = ""; }; + F38908B42E81276900CE01D5 /* testautomation_blit.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = testautomation_blit.c; sourceTree = ""; }; + F38908B52E81276900CE01D5 /* testautomation_images.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = testautomation_images.h; sourceTree = ""; }; + F38908B62E81276900CE01D5 /* testautomation_suites.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = testautomation_suites.h; sourceTree = ""; }; F399C6492A78929400C86979 /* gamepadutils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gamepadutils.c; sourceTree = ""; }; F399C6502A7892D800C86979 /* testautomation_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = testautomation_intrinsics.c; sourceTree = ""; }; F399C6542A78933000C86979 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; @@ -1377,6 +1360,10 @@ F3C17CD628E416AC00E1A26D /* testgeometry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = testgeometry.c; sourceTree = ""; }; F3C17CDC28E416CF00E1A26D /* testgeometry.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testgeometry.app; sourceTree = BUILT_PRODUCTS_DIR; }; F3C2CAC52C5C8BD6004D7998 /* unifont-15.1.05.hex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "unifont-15.1.05.hex"; sourceTree = ""; }; + F3DB65E92E9DA90000568044 /* testyuv.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testyuv.app; sourceTree = BUILT_PRODUCTS_DIR; }; + F3DB65ED2E9DA95D00568044 /* testyuv.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testyuv.png; sourceTree = ""; }; + F3DB65EF2E9DA98E00568044 /* testyuv.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = testyuv.c; sourceTree = ""; }; + F3DB65F02E9DA98E00568044 /* testyuv_cvt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = testyuv_cvt.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1708,14 +1695,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - DB166E8316A1D78C00A1396C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - F3CB57002A78984300766177 /* SDL3.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; DB445EE918184B7000B306B0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1764,6 +1743,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F3DB65E02E9DA90000568044 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F3DB65E12E9DA90000568044 /* SDL3.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -1778,10 +1765,10 @@ 00794E4609D207B4003FC8A1 /* Resources */ = { isa = PBXGroup; children = ( - 00794E5D09D20839003FC8A1 /* icon.bmp */, + F3DB65ED2E9DA95D00568044 /* testyuv.png */, + 00794E5D09D20839003FC8A1 /* icon.png */, 00794E5E09D20839003FC8A1 /* moose.dat */, - 00794E5F09D20839003FC8A1 /* picture.xbm */, - 00794E6109D20839003FC8A1 /* sample.bmp */, + 00794E6109D20839003FC8A1 /* sample.png */, 00794E6209D20839003FC8A1 /* sample.wav */, F3C2CAC52C5C8BD6004D7998 /* unifont-15.1.05.hex */, 00794E6309D20839003FC8A1 /* utf8.txt */, @@ -1815,10 +1802,12 @@ 001795B01074222D00F5D044 /* testaudioinfo.c */, F35E56CC2983130F00A43A5F /* testautomation.c */, F35E56C42983130D00A43A5F /* testautomation_audio.c */, + F38908B42E81276900CE01D5 /* testautomation_blit.c */, F35E56BC2983130B00A43A5F /* testautomation_clipboard.c */, F35E56BB2983130B00A43A5F /* testautomation_events.c */, F35E56C92983130E00A43A5F /* testautomation_guid.c */, F35E56B72983130A00A43A5F /* testautomation_hints.c */, + F38908B52E81276900CE01D5 /* testautomation_images.h */, F35E56BF2983130C00A43A5F /* testautomation_images.c */, F399C6502A7892D800C86979 /* testautomation_intrinsics.c */, F35E56B92983130B00A43A5F /* testautomation_iostream.c */, @@ -1836,6 +1825,7 @@ F35E56C82983130E00A43A5F /* testautomation_sdltest.c */, F35E56BE2983130C00A43A5F /* testautomation_stdlib.c */, A1A859492BC72FC20045DD6C /* testautomation_subsystems.c */, + F38908B62E81276900CE01D5 /* testautomation_suites.h */, F35E56CB2983130F00A43A5F /* testautomation_surface.c */, A1A8594B2BC72FC20045DD6C /* testautomation_time.c */, F35E56BD2983130B00A43A5F /* testautomation_timer.c */, @@ -1880,12 +1870,13 @@ 453774A4120915E3002F0F45 /* testshape.c */, 0017991910743F5300F5D044 /* testsprite.c */, DB166CC516A1C74100A1396C /* testspriteminimal.c */, - DB166CC616A1C74100A1396C /* teststreaming.c */, 092D6D58FFB311A97F000001 /* testthread.c */, 083E4880006D86A17F000001 /* testtimer.c */, F3C17C7328E40ADE00E1A26D /* testutils.c */, 083E4882006D86A17F000001 /* testver.c */, 0017993B10743FEF00F5D044 /* testwm.c */, + F3DB65EF2E9DA98E00568044 /* testyuv.c */, + F3DB65F02E9DA98E00568044 /* testyuv_cvt.h */, 66E88E8A203B778F0004D44E /* testyuv_cvt.c */, 083E4887006D86A17F000001 /* torturethread.c */, ); @@ -1935,7 +1926,6 @@ DB166E5216A1D69000A1396C /* testscale.app */, DB166E6816A1D6F300A1396C /* testshader.app */, DB166E7E16A1D78400A1396C /* testspriteminimal.app */, - DB166E9116A1D78C00A1396C /* teststreaming.app */, DB0F48EC17CA51E5008798C5 /* testdrawchessboard.app */, DB0F490117CA5212008798C5 /* testfilesystem.app */, DB89957E18A19ABA0092407C /* testhotplug.app */, @@ -1944,6 +1934,7 @@ F35E56AA298312CB00A43A5F /* testautomation.app */, F36C34272C0F85DB00991150 /* testcamera.app */, F3B7FD6A2D73FC630086D1D0 /* testpen.app */, + F3DB65E92E9DA90000568044 /* testyuv.app */, ); name = Products; sourceTree = ""; @@ -2000,7 +1991,6 @@ dependencies = ( ); name = testatomic; - productName = testalpha; productReference = 0017958C10741F7900F5D044 /* testatomic.app */; productType = "com.apple.product-type.application"; }; @@ -2017,7 +2007,6 @@ dependencies = ( ); name = testaudioinfo; - productName = testalpha; productReference = 001795AD107421BF00F5D044 /* testaudioinfo.app */; productType = "com.apple.product-type.application"; }; @@ -2034,7 +2023,6 @@ dependencies = ( ); name = testgl; - productName = testalpha; productReference = 0017972110742F3200F5D044 /* testgl.app */; productType = "com.apple.product-type.application"; }; @@ -2051,7 +2039,6 @@ dependencies = ( ); name = testhaptic; - productName = testalpha; productReference = 00179748107430D600F5D044 /* testhaptic.app */; productType = "com.apple.product-type.application"; }; @@ -2068,7 +2055,6 @@ dependencies = ( ); name = testdraw; - productName = testalpha; productReference = 0017976E107431B300F5D044 /* testdraw.app */; productType = "com.apple.product-type.application"; }; @@ -2086,7 +2072,6 @@ dependencies = ( ); name = testime; - productName = testalpha; productReference = 0017978E107432AE00F5D044 /* testime.app */; productType = "com.apple.product-type.application"; }; @@ -2103,7 +2088,6 @@ dependencies = ( ); name = testintersections; - productName = testalpha; productReference = 001797AE1074334C00F5D044 /* testintersections.app */; productType = "com.apple.product-type.application"; }; @@ -2120,7 +2104,6 @@ dependencies = ( ); name = testloadso; - productName = testalpha; productReference = 001797D0107433C600F5D044 /* testloadso.app */; productType = "com.apple.product-type.application"; }; @@ -2138,7 +2121,6 @@ dependencies = ( ); name = testmultiaudio; - productName = testalpha; productReference = 001798121074355200F5D044 /* testmultiaudio.app */; productType = "com.apple.product-type.application"; }; @@ -2156,7 +2138,6 @@ dependencies = ( ); name = testnative; - productName = testalpha; productReference = 001798941074392D00F5D044 /* testnative.app */; productType = "com.apple.product-type.application"; }; @@ -2173,7 +2154,6 @@ dependencies = ( ); name = testpower; - productName = testalpha; productReference = 001798B5107439DF00F5D044 /* testpower.app */; productType = "com.apple.product-type.application"; }; @@ -2190,7 +2170,6 @@ dependencies = ( ); name = testresample; - productName = testalpha; productReference = 001798F210743BEC00F5D044 /* testresample.app */; productType = "com.apple.product-type.application"; }; @@ -2208,7 +2187,6 @@ dependencies = ( ); name = testsprite; - productName = testalpha; productReference = 0017991610743F1000F5D044 /* testsprite.app */; productType = "com.apple.product-type.application"; }; @@ -2225,7 +2203,6 @@ dependencies = ( ); name = testwm; - productName = testalpha; productReference = 0017993810743FB700F5D044 /* testwm.app */; productType = "com.apple.product-type.application"; }; @@ -2242,7 +2219,6 @@ dependencies = ( ); name = testfile; - productName = testalpha; productReference = 002F341209CA1BFF00EBEB88 /* testfile.app */; productType = "com.apple.product-type.application"; }; @@ -2260,7 +2236,6 @@ dependencies = ( ); name = testiconv; - productName = testalpha; productReference = 002F343109CA1F0300EBEB88 /* testiconv.app */; productType = "com.apple.product-type.application"; }; @@ -2278,7 +2253,6 @@ dependencies = ( ); name = testoverlay; - productName = testalpha; productReference = 002F344D09CA1FB300EBEB88 /* testoverlay.app */; productType = "com.apple.product-type.application"; }; @@ -2295,7 +2269,6 @@ dependencies = ( ); name = testplatform; - productName = testalpha; productReference = 002F346A09CA204F00EBEB88 /* testplatform.app */; productType = "com.apple.product-type.application"; }; @@ -2518,7 +2491,6 @@ dependencies = ( ); name = testdrawchessboard; - productName = testalpha; productReference = DB0F48EC17CA51E5008798C5 /* testdrawchessboard.app */; productType = "com.apple.product-type.application"; }; @@ -2535,7 +2507,6 @@ dependencies = ( ); name = testfilesystem; - productName = testalpha; productReference = DB0F490117CA5212008798C5 /* testfilesystem.app */; productType = "com.apple.product-type.application"; }; @@ -2569,7 +2540,6 @@ dependencies = ( ); name = testmessage; - productName = testalpha; productReference = DB166DD516A1D36A00A1396C /* testmessage.app */; productType = "com.apple.product-type.application"; }; @@ -2586,7 +2556,6 @@ dependencies = ( ); name = testrelative; - productName = testalpha; productReference = DB166DEE16A1D50C00A1396C /* testrelative.app */; productType = "com.apple.product-type.application"; }; @@ -2604,7 +2573,6 @@ dependencies = ( ); name = testrendercopyex; - productName = testalpha; productReference = DB166E0516A1D57C00A1396C /* testrendercopyex.app */; productType = "com.apple.product-type.application"; }; @@ -2622,7 +2590,6 @@ dependencies = ( ); name = testrendertarget; - productName = testalpha; productReference = DB166E1C16A1D5AD00A1396C /* testrendertarget.app */; productType = "com.apple.product-type.application"; }; @@ -2639,7 +2606,6 @@ dependencies = ( ); name = testrumble; - productName = testalpha; productReference = DB166E3816A1D64D00A1396C /* testrumble.app */; productType = "com.apple.product-type.application"; }; @@ -2657,7 +2623,6 @@ dependencies = ( ); name = testscale; - productName = testalpha; productReference = DB166E5216A1D69000A1396C /* testscale.app */; productType = "com.apple.product-type.application"; }; @@ -2696,24 +2661,6 @@ productReference = DB166E7E16A1D78400A1396C /* testspriteminimal.app */; productType = "com.apple.product-type.application"; }; - DB166E8016A1D78C00A1396C /* teststreaming */ = { - isa = PBXNativeTarget; - buildConfigurationList = DB166E8E16A1D78C00A1396C /* Build configuration list for PBXNativeTarget "teststreaming" */; - buildPhases = ( - DB166E8116A1D78C00A1396C /* Sources */, - DB166E8316A1D78C00A1396C /* Frameworks */, - DB166E9916A1D7EE00A1396C /* CopyFiles */, - F3CB57022A78984300766177 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = teststreaming; - productName = teststreaming; - productReference = DB166E9116A1D78C00A1396C /* teststreaming.app */; - productType = "com.apple.product-type.application"; - }; DB445EE618184B7000B306B0 /* testdropfile */ = { isa = PBXNativeTarget; buildConfigurationList = DB445EF518184B7000B306B0 /* Build configuration list for PBXNativeTarget "testdropfile" */; @@ -2744,7 +2691,6 @@ dependencies = ( ); name = testhotplug; - productName = testalpha; productReference = DB89957E18A19ABA0092407C /* testhotplug.app */; productType = "com.apple.product-type.application"; }; @@ -2761,7 +2707,6 @@ dependencies = ( ); name = testautomation; - productName = testalpha; productReference = F35E56AA298312CB00A43A5F /* testautomation.app */; productType = "com.apple.product-type.application"; }; @@ -2778,7 +2723,6 @@ dependencies = ( ); name = testcamera; - productName = testalpha; productReference = F36C34272C0F85DB00991150 /* testcamera.app */; productType = "com.apple.product-type.application"; }; @@ -2795,7 +2739,6 @@ dependencies = ( ); name = testpen; - productName = testalpha; productReference = F3B7FD6A2D73FC630086D1D0 /* testpen.app */; productType = "com.apple.product-type.application"; }; @@ -2816,6 +2759,23 @@ productReference = F3C17CDC28E416CF00E1A26D /* testgeometry.app */; productType = "com.apple.product-type.application"; }; + F3DB65DC2E9DA90000568044 /* testyuv */ = { + isa = PBXNativeTarget; + buildConfigurationList = F3DB65E62E9DA90000568044 /* Build configuration list for PBXNativeTarget "testyuv" */; + buildPhases = ( + F3DB65DD2E9DA90000568044 /* Sources */, + F3DB65E02E9DA90000568044 /* Frameworks */, + F3DB65E22E9DA90000568044 /* Resources */, + F3DB65E42E9DA90000568044 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = testyuv; + productReference = F3DB65E92E9DA90000568044 /* testyuv.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -2945,9 +2905,6 @@ DB166E6D16A1D78400A1396C = { ProvisioningStyle = Automatic; }; - DB166E8016A1D78C00A1396C = { - ProvisioningStyle = Automatic; - }; DB445EE618184B7000B306B0 = { ProvisioningStyle = Automatic; }; @@ -3028,11 +2985,11 @@ 4537749112091504002F0F45 /* testshape */, 001798FE10743F1000F5D044 /* testsprite */, DB166E6D16A1D78400A1396C /* testspriteminimal */, - DB166E8016A1D78C00A1396C /* teststreaming */, BEC567230761D90400A33029 /* testthread */, BEC5678D0761D90500A33029 /* testtimer */, BEC567A70761D90500A33029 /* testversion */, 0017992010743FB700F5D044 /* testwm */, + F3DB65DC2E9DA90000568044 /* testyuv */, BEC567EA0761D90600A33029 /* torturethread */, ); }; @@ -3061,7 +3018,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - F3C17D3B28E4252900E1A26D /* icon.bmp in Resources */, + F3C17D3B28E4252900E1A26D /* icon.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3069,11 +3026,19 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - F3C2CB072C5D3FB2004D7998 /* icon.bmp in Resources */, + F3C2CB072C5D3FB2004D7998 /* icon.png in Resources */, F3C2CAC62C5C8BD6004D7998 /* unifont-15.1.05.hex in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; + F3DB65E22E9DA90000568044 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F3DB65EE2E9DA95D00568044 /* testyuv.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -3216,7 +3181,6 @@ buildActionMask = 2147483647; files = ( 002F345409CA202000EBEB88 /* testoverlay.c in Sources */, - 66E88E8B203B778F0004D44E /* testyuv_cvt.c in Sources */, F3C17C7F28E4101000E1A26D /* testutils.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -3432,15 +3396,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - DB166E8116A1D78C00A1396C /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DB166E9416A1D7C700A1396C /* teststreaming.c in Sources */, - F3C17C8528E4127D00E1A26D /* testutils.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; DB445EE718184B7000B306B0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3478,6 +3433,7 @@ F35E56DE2983130F00A43A5F /* testautomation_joystick.c in Sources */, F35E56D82983130F00A43A5F /* testautomation_images.c in Sources */, F35E56DC2983130F00A43A5F /* testautomation_audio.c in Sources */, + F38908B72E81276900CE01D5 /* testautomation_blit.c in Sources */, F35E56D32983130F00A43A5F /* testautomation_math.c in Sources */, F35E56E02983130F00A43A5F /* testautomation_sdltest.c in Sources */, F35E56D42983130F00A43A5F /* testautomation_events.c in Sources */, @@ -3516,6 +3472,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F3DB65DD2E9DA90000568044 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F3DB65DF2E9DA90000568044 /* testutils.c in Sources */, + F3DB65F22E9DA9B400568044 /* testyuv_cvt.c in Sources */, + F3DB65F12E9DA98E00568044 /* testyuv.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -3725,11 +3691,6 @@ target = DB166E6D16A1D78400A1396C /* testspriteminimal */; targetProxy = DB166E9516A1D7CD00A1396C /* PBXContainerItemProxy */; }; - DB166E9816A1D7CF00A1396C /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = DB166E8016A1D78C00A1396C /* teststreaming */; - targetProxy = DB166E9716A1D7CF00A1396C /* PBXContainerItemProxy */; - }; F35E56E72983133F00A43A5F /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = F35E56A2298312CB00A43A5F /* testautomation */; @@ -4053,7 +4014,7 @@ GENERATE_INFOPLIST_FILE = YES; HEADER_SEARCH_PATHS = ../../include; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; @@ -4061,10 +4022,11 @@ ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "$(CONFIG_FRAMEWORK_LDFLAGS)"; PRODUCT_BUNDLE_IDENTIFIER = "org.libsdl.$(PRODUCT_NAME)"; - SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SUPPORTS_MACCATALYST = NO; + SUPPORTED_PLATFORMS = "xrsimulator xros macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; TARGETED_DEVICE_FAMILY = "1,2,3"; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 11.0; + XROS_DEPLOYMENT_TARGET = 1.3; }; name = Debug; }; @@ -4227,17 +4189,18 @@ GENERATE_INFOPLIST_FILE = YES; HEADER_SEARCH_PATHS = ../../include; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; MARKETING_VERSION = 1.0; OTHER_LDFLAGS = "$(CONFIG_FRAMEWORK_LDFLAGS)"; PRODUCT_BUNDLE_IDENTIFIER = "org.libsdl.$(PRODUCT_NAME)"; - SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SUPPORTS_MACCATALYST = NO; + SUPPORTED_PLATFORMS = "xrsimulator xros macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; TARGETED_DEVICE_FAMILY = "1,2,3"; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 11.0; + XROS_DEPLOYMENT_TARGET = 1.3; }; name = Release; }; @@ -4476,7 +4439,6 @@ ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; EXECUTABLE_PREFIX = lib; PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; }; name = Debug; @@ -4487,7 +4449,6 @@ ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; EXECUTABLE_PREFIX = lib; PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; }; name = Release; @@ -4652,26 +4613,6 @@ }; name = Release; }; - DB166E8F16A1D78C00A1396C /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = teststreaming; - PROVISIONING_PROFILE_SPECIFIER = ""; - }; - name = Debug; - }; - DB166E9016A1D78C00A1396C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = teststreaming; - PROVISIONING_PROFILE_SPECIFIER = ""; - }; - name = Release; - }; DB445EF618184B7000B306B0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -4756,6 +4697,25 @@ }; name = Release; }; + F37E49E22EB5250B00E508F7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + F37E49E32EB5250B00E508F7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; F3B7FD682D73FC630086D1D0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -5186,15 +5146,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - DB166E8E16A1D78C00A1396C /* Build configuration list for PBXNativeTarget "teststreaming" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DB166E8F16A1D78C00A1396C /* Debug */, - DB166E9016A1D78C00A1396C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; DB445EF518184B7000B306B0 /* Build configuration list for PBXNativeTarget "testdropfile" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -5249,6 +5200,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + F3DB65E62E9DA90000568044 /* Build configuration list for PBXNativeTarget "testyuv" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F37E49E22EB5250B00E508F7 /* Debug */, + F37E49E32EB5250B00E508F7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; /* End XCConfigurationList section */ }; rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; diff --git a/libs/SDL3/Xcode/SDLTest/config.xcconfig b/libs/SDL3/Xcode/SDLTest/config.xcconfig index 6447922..4a0292e 100644 --- a/libs/SDL3/Xcode/SDLTest/config.xcconfig +++ b/libs/SDL3/Xcode/SDLTest/config.xcconfig @@ -10,5 +10,7 @@ // This allows you to set DEVELOPMENT_TEAM for all targets, for example. #include? "build.xcconfig" +INFOPLIST_FILE = test-Info.plist + CONFIG_FRAMEWORK_LDFLAGS = -lSDL3_test diff --git a/libs/SDL3/Xcode/SDLTest/test-Info.plist b/libs/SDL3/Xcode/SDLTest/test-Info.plist new file mode 100644 index 0000000..83728a1 --- /dev/null +++ b/libs/SDL3/Xcode/SDLTest/test-Info.plist @@ -0,0 +1,20 @@ + + + + + UILaunchScreen + + UIColorName + + UIImageName + + + UISupportedInterfaceOrientations + + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + + + diff --git a/libs/SDL3/android-project/app/build.gradle b/libs/SDL3/android-project/app/build.gradle index f44cf26..b9d75b1 100644 --- a/libs/SDL3/android-project/app/build.gradle +++ b/libs/SDL3/android-project/app/build.gradle @@ -7,6 +7,7 @@ def buildWithCMake = project.hasProperty('BUILD_WITH_CMAKE'); android { namespace = "org.libsdl.app" compileSdkVersion 35 + ndkVersion = "28.2.13676358" defaultConfig { minSdkVersion 21 targetSdkVersion 35 @@ -19,7 +20,7 @@ android { abiFilters 'arm64-v8a' } cmake { - arguments "-DANDROID_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DAPP_SUPPORT_FLEXIBLE_PAGE_SIZES=true" + arguments "-DANDROID_PLATFORM=android-21", "-DANDROID_STL=c++_static" // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' abiFilters 'arm64-v8a' } diff --git a/libs/SDL3/android-project/app/jni/Application.mk b/libs/SDL3/android-project/app/jni/Application.mk index 80b73fd..1f7c0c1 100644 --- a/libs/SDL3/android-project/app/jni/Application.mk +++ b/libs/SDL3/android-project/app/jni/Application.mk @@ -8,6 +8,3 @@ APP_ABI := armeabi-v7a arm64-v8a x86 x86_64 # Min runtime API level APP_PLATFORM=android-21 - -# https://developer.android.com/guide/practices/page-sizes#update-packaging -APP_SUPPORT_FLEXIBLE_PAGE_SIZES := true \ No newline at end of file diff --git a/libs/SDL3/android-project/app/jni/src/CMakeLists.txt b/libs/SDL3/android-project/app/jni/src/CMakeLists.txt index df0a4d0..0212837 100644 --- a/libs/SDL3/android-project/app/jni/src/CMakeLists.txt +++ b/libs/SDL3/android-project/app/jni/src/CMakeLists.txt @@ -3,32 +3,10 @@ cmake_minimum_required(VERSION 3.6) project(my_app) if(NOT TARGET SDL3::SDL3) - find_package(SDL3 CONFIG) -endif() - -if(NOT TARGET SDL3::SDL3) - find_library(SDL3_LIBRARY NAMES "SDL3") - find_path(SDL3_INCLUDE_DIR NAMES "SDL3/SDL.h") - add_library(SDL3::SDL3 UNKNOWN IMPORTED) - set_property(TARGET SDL3::SDL3 PROPERTY IMPORTED_LOCATION "${SDL3_LIBRARY}") - set_property(TARGET SDL3::SDL3 PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIR}") -endif() - -if(NOT TARGET SDL3::SDL3) - message(FATAL_ERROR "Cannot find SDL3. - -Possible ways to fix this: -- Use a SDL3 Android aar archive, and configure gradle to use it: prefab is required. -- Add add_subdirectory(path/to/SDL) to your CMake script, and make sure a vendored SDL is present there. -") + find_package(SDL3 CONFIG REQUIRED) endif() add_library(main SHARED YourSourceHere.c ) - -#https://developer.android.com/guide/practices/page-sizes#update-packaging -target_link_options(main PRIVATE "-Wl,-z,max-page-size=16384") -target_link_options(main PRIVATE "-Wl,-z,common-page-size=16384") - target_link_libraries(main PRIVATE SDL3::SDL3) diff --git a/libs/SDL3/android-project/app/proguard-rules.pro b/libs/SDL3/android-project/app/proguard-rules.pro index 5f8ee6a..0fb7ae0 100644 --- a/libs/SDL3/android-project/app/proguard-rules.pro +++ b/libs/SDL3/android-project/app/proguard-rules.pro @@ -23,20 +23,18 @@ void clipboardSetText(java.lang.String); int createCustomCursor(int[], int, int, int, int); void destroyCustomCursor(int); - android.content.Context getContext(); + android.app.Activity getContext(); boolean getManifestEnvironmentVariables(); android.view.Surface getNativeSurface(); void initTouch(); boolean isAndroidTV(); boolean isChromebook(); boolean isDeXMode(); - boolean isScreenKeyboardShown(); boolean isTablet(); void manualBackButton(); int messageboxShowMessageBox(int, java.lang.String, java.lang.String, int[], int[], java.lang.String[], int[]); void minimizeWindow(); boolean openURL(java.lang.String); - void onNativePen(int, int, int , float , float , float); void requestPermission(java.lang.String, int); boolean showToast(java.lang.String, int, int, int, int); boolean sendMessage(int, int); @@ -71,6 +69,7 @@ -keep,includedescriptorclasses,allowoptimization class org.libsdl.app.SDLControllerManager { void pollInputDevices(); + void joystickSetLED(int, int, int, int); void pollHapticDevices(); void hapticRun(int, float, int); void hapticRumble(int, float, float, int); diff --git a/libs/SDL3/android-project/app/src/main/AndroidManifest.xml b/libs/SDL3/android-project/app/src/main/AndroidManifest.xml index f3a7cd5..ab43f76 100644 --- a/libs/SDL3/android-project/app/src/main/AndroidManifest.xml +++ b/libs/SDL3/android-project/app/src/main/AndroidManifest.xml @@ -71,6 +71,7 @@ android:icon="@mipmap/ic_launcher" android:allowBackup="true" android:theme="@style/AppTheme" + android:enableOnBackInvokedCallback="false" android:hardwareAccelerated="true" > \n\n"; + print $fh "# $envvartitle\n\n"; + + if (defined $envvardesc) { + my $desc = "$envvardesc"; + $desc =~ s/\\n/\n/g; # replace "\n" strings with actual newlines. + print $fh "$desc\n\n"; + } + + print $fh "## Environment Variable List\n\n"; + + foreach (sort keys %headersyms) { + my $sym = $_; + next if $headersymstype{$sym} != 2; # not a #define? skip it. + my $hint = "$_"; + next if not $hint =~ s/$envvarsymregex/$replace/ee; + + my $brief = $$briefsref{$sym}; + if (not defined $brief) { + $brief = ''; + } else { + $brief = "$brief"; + chomp($brief); + my $thiswikitype = defined $wikitypes{$sym} ? $wikitypes{$sym} : 'md'; # default to MarkDown for new stuff. + $brief = ": " . dewikify($thiswikitype, $brief); + } + print $fh "- [$hint]($sym)$brief\n"; + } + + print $fh "\n"; + + close($fh); + + rename($tmppath, $path) or die("Can't rename '$tmppath' to '$path': $!\n"); +} + + + + my $incpath = "$srcpath"; $incpath .= "/$incsubdir" if $incsubdir ne ''; -my $wikireadmepath = "$wikipath/$wikireadmesubdir"; my $readmepath = undef; if (defined $readmesubdir) { $readmepath = "$srcpath/$readmesubdir"; @@ -1091,7 +1165,7 @@ while (my $d = readdir(DH)) { } elsif ($ignoring_lines) { push @contents, $_; next; - } elsif (/\A\s*\#\s*ifndef\s+SDL_WIKI_DOCUMENTATION_SECTION\s*\Z/) { + } elsif (/\A\s*\#\s*ifndef\s+$wikidocsectionsym\s*\Z/) { $ignoring_lines = 1; push @contents, $_; next; @@ -1100,13 +1174,13 @@ while (my $d = readdir(DH)) { #print("CATEGORY FOR '$dent' CHANGED TO " . (defined($current_wiki_category) ? "'$current_wiki_category'" : '(undef)') . "\n"); push @contents, $_; next; - } elsif (/\A\s*extern\s+(SDL_DEPRECATED\s+|)(SDLMAIN_|SDL_)?DECLSPEC/) { # a function declaration without a doxygen comment? + } elsif (/\A\s*extern\s+(?:$deprecatedsym\s+|)$declspecsym/) { # a function declaration without a doxygen comment? $symtype = 1; # function declaration @templines = (); $decl = $_; $str = ''; $has_doxygen = 0; - } elsif (/\A\s*SDL_FORCE_INLINE/) { # a (forced-inline) function declaration without a doxygen comment? + } elsif (/\A\s*$forceinlinesym/) { # a (forced-inline) function declaration without a doxygen comment? $symtype = 1; # function declaration @templines = (); $decl = $_; @@ -1173,9 +1247,9 @@ while (my $d = readdir(DH)) { $lineno++ if defined $decl; $decl = '' if not defined $decl; chomp($decl); - if ($decl =~ /\A\s*extern\s+(SDL_DEPRECATED\s+|)(SDLMAIN_|SDL_)?DECLSPEC/) { + if ($decl =~ /\A\s*extern\s+(?:$deprecatedsym\s+|)$declspecsym/) { $symtype = 1; # function declaration - } elsif ($decl =~ /\A\s*SDL_FORCE_INLINE/) { + } elsif ($decl =~ /\A\s*$forceinlinesym/) { $symtype = 1; # (forced-inline) function declaration } elsif ($decl =~ /\A\s*\#\s*define\s+/) { $symtype = 2; # macro @@ -1212,7 +1286,7 @@ while (my $d = readdir(DH)) { } $headercategorydocs{$current_wiki_category} = $sym; } elsif ($symtype == 1) { # a function - my $is_forced_inline = ($decl =~ /\A\s*SDL_FORCE_INLINE/); + my $is_forced_inline = ($decl =~ /\A\s*$forceinlinesym/); if ($is_forced_inline) { if (not $decl =~ /\)\s*(\{.*|)\s*\Z/) { @@ -1249,14 +1323,14 @@ while (my $d = readdir(DH)) { my $paramsstr = undef; - if (!$is_forced_inline && $decl =~ /\A\s*extern\s+(SDL_DEPRECATED\s+|)(SDLMAIN_|SDL_)?DECLSPEC\w*\s+(const\s+|)(unsigned\s+|)(.*?)([\*\s]+)(\*?)\s*SDLCALL\s+(.*?)\s*\((.*?)\);/) { - $sym = $8; - $rettype = "$3$4$5$6"; - $paramsstr = $9; - } elsif ($is_forced_inline && $decl =~ /\A\s*SDL_FORCE_INLINE\s+(SDL_DEPRECATED\s+|)(const\s+|)(unsigned\s+|)(.*?)([\*\s]+)(.*?)\s*\((.*?)\);/) { + if (!$is_forced_inline && $decl =~ /\A\s*extern\s+(?:$deprecatedsym\s+|)$declspecsym\w*\s+(const\s+|)(unsigned\s+|)(.*?)([\*\s]+)(\*?)\s*$callconvsym\s+(.*?)\s*\((.*?)\);/) { $sym = $6; - $rettype = "$2$3$4$5"; + $rettype = "$1$2$3$4$5"; $paramsstr = $7; + } elsif ($is_forced_inline && $decl =~ /\A\s*$forceinlinesym\s+(?:$deprecatedsym\s+|)(const\s+|)(unsigned\s+|)(.*?)([\*\s]+)(.*?)\s*\((.*?)\);/) { + $sym = $5; + $rettype = "$1$2$3$4"; + $paramsstr = $6; } else { #print "Found doxygen but no function sig:\n$str\n\n"; foreach (@templines) { @@ -1322,7 +1396,7 @@ while (my $d = readdir(DH)) { $decl = $_; $temp = $decl; - $temp =~ s/\Aextern\s+(SDL_DEPRECATED\s+|)(SDLMAIN_|SDL_)?DECLSPEC\w*\s+(.*?)\s+(\*?)SDLCALL\s+/$3$4 /; + $temp =~ s/\Aextern\s+(?:$deprecatedsym\s+|)$declspecsym\w*\s+(.*?)\s+(\*?)$callconvsym\s+/$1$2 /; $shrink_length = length($decl) - length($temp); $decl = $temp; } else { @@ -1366,7 +1440,7 @@ while (my $d = readdir(DH)) { # update strings now that we know everything pending is to be applied to this declaration. Add pending blank lines and the new text. # At Sam's request, don't list property defines with functions. (See #9440) - my $is_property = /\A\s*\#\s*define\s+SDL_PROP_/; + my $is_property = (defined $apipropertyregex) ? /$apipropertyregex/ : 0; if (!$is_property) { if ($blank_lines > 0) { while ($blank_lines > 0) { @@ -1387,7 +1461,7 @@ while (my $d = readdir(DH)) { } $decl .= $additional_decl; } elsif ($symtype == 2) { # a macro - if ($decl =~ /\A\s*\#\s*define\s+(.*?)(\(.*?\)|)\s+/) { + if ($decl =~ /\A\s*\#\s*define\s+(.*?)(\(.*?\)|)(\s+|\Z)/) { $sym = $1; } else { #print "Found doxygen but no macro:\n$str\n\n"; @@ -2083,18 +2157,15 @@ if ($copy_direction == 1) { # --copy-to-headers } if (defined $readmepath) { - if ( -d $wikireadmepath ) { - mkdir($readmepath); # just in case - opendir(DH, $wikireadmepath) or die("Can't opendir '$wikireadmepath': $!\n"); - while (readdir(DH)) { - my $dent = $_; - if ($dent =~ /\A(.*?)\.md\Z/) { # we only bridge Markdown files here. - next if $1 eq 'FrontPage'; - filecopy("$wikireadmepath/$dent", "$readmepath/README-$dent", "\n"); - } + mkdir($readmepath); # just in case + opendir(DH, $wikipath) or die("Can't opendir '$wikipath': $!\n"); + while (readdir(DH)) { + my $dent = $_; + if ($dent =~ /\A(README|INTRO)\-.*?\.md\Z/) { # we only bridge Markdown files here that start with "README-" or "INTRO-". + filecopy("$wikipath/$dent", "$readmepath/$dent", "\n"); } - closedir(DH); } + closedir(DH); } } elsif ($copy_direction == -1) { # --copy-to-wiki @@ -2200,10 +2271,10 @@ if ($copy_direction == 1) { # --copy-to-headers $desc =~ s/[\s\n]+\Z//ms; - if (0) { # !!! FIXME: disabled because it's not currently suitable for general use, but for manually inspecting the output, it can be useful. - if (($desc =~ /\A[A-Z]/) && (not $desc =~ /\ASDL_/)) { - print STDERR "WARNING: $sym\'s '\\param $arg' text starts with a capital letter: '$desc'. Fixing.\n"; - $desc = lcfirst($desc); + if (0) { + if (($desc =~ /\A[a-z]/) && (not $desc =~ /$apiprefixregex/)) { + print STDERR "WARNING: $sym\'s '\\param $arg' text starts with a lowercase letter: '$desc'. Fixing.\n"; + $desc = ucfirst($desc); } } @@ -2247,8 +2318,8 @@ if ($copy_direction == 1) { # --copy-to-headers } $desc =~ s/[\s\n]+\Z//ms; - if (0) { # !!! FIXME: disabled because it's not currently suitable for general use, but for manually inspecting the output, it can be useful. - if (($desc =~ /\A[A-Z]/) && (not $desc =~ /\ASDL_/)) { + if (0) { + if (($desc =~ /\A[A-Z]/) && (not $desc =~ /$apiprefixregex/)) { print STDERR "WARNING: $sym\'s '\\returns' text starts with a capital letter: '$desc'. Fixing.\n"; $desc = lcfirst($desc); } @@ -2392,7 +2463,7 @@ if ($copy_direction == 1) { # --copy-to-headers } else { die("Unexpected symbol type $symtype!"); } - my $str = "This $symtypename is available since SDL 3.0.0."; + my $str = "This $symtypename is available since $projectshortname 3.0.0."; $sections{'Version'} = wordwrap(wikify($wikitype, $str)) . "\n"; } } @@ -2699,31 +2770,27 @@ __EOF__ # Write out READMEs... if (defined $readmepath) { if ( -d $readmepath ) { - mkdir($wikireadmepath); # just in case + mkdir($wikipath); # just in case opendir(DH, $readmepath) or die("Can't opendir '$readmepath': $!\n"); while (my $d = readdir(DH)) { my $dent = $d; - if ($dent =~ /\AREADME\-(.*?\.md)\Z/) { # we only bridge Markdown files here. - my $wikifname = $1; - next if $wikifname eq 'FrontPage.md'; - filecopy("$readmepath/$dent", "$wikireadmepath/$wikifname", "\n"); + if ($dent =~ /\A(README|INTRO)\-.*?\.md\Z/) { # we only bridge Markdown files here that start with "README-" or "INTRO". + filecopy("$readmepath/$dent", "$wikipath/$dent", "\n"); } } closedir(DH); my @pages = (); - opendir(DH, $wikireadmepath) or die("Can't opendir '$wikireadmepath': $!\n"); + opendir(DH, $wikipath) or die("Can't opendir '$wikipath': $!\n"); while (my $d = readdir(DH)) { my $dent = $d; - if ($dent =~ /\A(.*?)\.(mediawiki|md)\Z/) { - my $wikiname = $1; - next if $wikiname eq 'FrontPage'; - push @pages, $wikiname; + if ($dent =~ /\A((README|INTRO)\-.*?)\.md\Z/) { + push @pages, $1; } } closedir(DH); - open(FH, '>', "$wikireadmepath/FrontPage.md") or die("Can't open '$wikireadmepath/FrontPage.md': $!\n"); + open(FH, '>', "$wikipath/READMEs.md") or die("Can't open '$wikipath/READMEs.md': $!\n"); print FH "# All READMEs available here\n\n"; foreach (sort @pages) { my $wikiname = $_; @@ -2738,6 +2805,11 @@ __EOF__ generate_quickref(\%briefs, "$wikipath/QuickReference.md", 0); generate_quickref(\%briefs, "$wikipath/QuickReferenceNoUnicode.md", 1); } + + if ($envvarenabled and defined $envvarsymregex and defined $envvarsymreplace) { + generate_envvar_wiki_page(\%briefs, "$wikipath/EnvironmentVariables.md"); + } + } elsif ($copy_direction == -2) { # --copy-to-manpages # This only takes from the wiki data, since it has sections we omit from the headers, like code examples. @@ -2856,7 +2928,7 @@ __EOF__ $str .= ".\\\" Please report issues in this manpage's content at:\n"; $str .= ".\\\" $bugreporturl\n"; $str .= ".\\\" Please report issues in the generation of this manpage from the wiki at:\n"; - $str .= ".\\\" https://github.com/libsdl-org/SDL/issues/new?title=Misgenerated%20manpage%20for%20$sym\n"; + $str .= ".\\\" https://github.com/libsdl-org/SDL/issues/new?title=Misgenerated%20manpage%20for%20$sym\n"; # !!! FIXME: if this becomes a problem for other projects, we'll generalize this. $str .= ".\\\" $projectshortname can be found at $projecturl\n"; # Define a .URL macro. The "www.tmac" thing decides if we're using GNU roff (which has a .URL macro already), and if so, overrides the macro we just created. @@ -2981,10 +3053,12 @@ __EOF__ } if (defined $returns) { + # Check for md link in return type: ([SDL_Renderer](SDL_Renderer) *) + # This would've prevented the next regex from working properly (it'd leave " *)") + $returns =~ s/\A\(\[.*?\]\((.*?)\)/\($1/ms; # Chop datatype in parentheses off the front. - if(!($returns =~ s/\A\([^\[]*\[[^\]]*\]\([^\)]*\)[^\)]*\) //ms)) { - $returns =~ s/\A\([^\)]*\) //ms; - } + $returns =~ s/\A\(.*?\) //; + $returns = dewikify($wikitype, $returns); $str .= ".SH RETURN VALUE\n"; $str .= "$returns\n"; diff --git a/libs/SDL3/cmake/FindLibUSB.cmake b/libs/SDL3/cmake/FindLibUSB.cmake index 96d4428..50988ad 100644 --- a/libs/SDL3/cmake/FindLibUSB.cmake +++ b/libs/SDL3/cmake/FindLibUSB.cmake @@ -10,7 +10,7 @@ if(PKG_CONFIG_FOUND) endif() find_library(LibUSB_LIBRARY - NAMES usb-1.0 libusb-1.0 + NAMES usb-1.0 libusb-1.0 usb HINTS ${PC_LibUSB_LIBRARY_DIRS} ) diff --git a/libs/SDL3/cmake/GetGitRevisionDescription.cmake b/libs/SDL3/cmake/GetGitRevisionDescription.cmake index a08895c..70c554e 100644 --- a/libs/SDL3/cmake/GetGitRevisionDescription.cmake +++ b/libs/SDL3/cmake/GetGitRevisionDescription.cmake @@ -164,6 +164,22 @@ function(get_git_head_revision _refspecvar _hashvar) "${GIT_DATA}/grabRef.cmake" @ONLY) include("${GIT_DATA}/grabRef.cmake") + # Fallback for reftable or other storage formats + if(NOT HEAD_HASH OR HEAD_HASH STREQUAL "") + find_package(Git QUIET) + if(GIT_FOUND) + execute_process( + COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + RESULT_VARIABLE res + OUTPUT_VARIABLE HEAD_HASH + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT res EQUAL 0) + set(HEAD_HASH "") + endif() + endif() + endif() + set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE) diff --git a/libs/SDL3/cmake/GetGitRevisionDescription.cmake.in b/libs/SDL3/cmake/GetGitRevisionDescription.cmake.in index 116efc4..81b4213 100644 --- a/libs/SDL3/cmake/GetGitRevisionDescription.cmake.in +++ b/libs/SDL3/cmake/GetGitRevisionDescription.cmake.in @@ -25,19 +25,21 @@ if(HEAD_CONTENTS MATCHES "ref") string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") if(EXISTS "@GIT_DIR@/${HEAD_REF}") configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) - else() + elseif(EXISTS "@GIT_DIR@/packed-refs") configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY) file(READ "@GIT_DATA@/packed-refs" PACKED_REFS) if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}") set(HEAD_HASH "${CMAKE_MATCH_1}") endif() + elseif(EXISTS "@GIT_DIR@/reftable/tables.list") + configure_file("@GIT_DIR@/reftable/tables.list" "@GIT_DATA@/reftable-tables.list" COPYONLY) endif() else() # detached HEAD configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) endif() -if(NOT HEAD_HASH) +if(NOT HEAD_HASH AND EXISTS "@GIT_DATA@/head-ref") file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) string(STRIP "${HEAD_HASH}" HEAD_HASH) endif() diff --git a/libs/SDL3/cmake/PkgConfigHelper.cmake b/libs/SDL3/cmake/PkgConfigHelper.cmake index 7070fac..44d7431 100644 --- a/libs/SDL3/cmake/PkgConfigHelper.cmake +++ b/libs/SDL3/cmake/PkgConfigHelper.cmake @@ -1,16 +1,21 @@ # Helper for Find modules function(get_flags_from_pkg_config _library _pc_prefix _out_prefix) - if("${_library}" MATCHES "${CMAKE_STATIC_LIBRARY_SUFFIX}$") - set(_cflags ${_pc_prefix}_STATIC_CFLAGS_OTHER) - set(_link_libraries ${_pc_prefix}_STATIC_LIBRARIES) - set(_link_options ${_pc_prefix}_STATIC_LDFLAGS_OTHER) - set(_library_dirs ${_pc_prefix}_STATIC_LIBRARY_DIRS) + if(MINGW) + set(re_shared_suffix ".dll.a$") else() + set(re_shared_suffix "${CMAKE_SHARED_LIBRARY_SUFFIX}$") + endif() + if("${_library}" MATCHES "${re_shared_suffix}") set(_cflags ${_pc_prefix}_CFLAGS_OTHER) set(_link_libraries ${_pc_prefix}_LIBRARIES) set(_link_options ${_pc_prefix}_LDFLAGS_OTHER) set(_library_dirs ${_pc_prefix}_LIBRARY_DIRS) + else() + set(_cflags ${_pc_prefix}_STATIC_CFLAGS_OTHER) + set(_link_libraries ${_pc_prefix}_STATIC_LIBRARIES) + set(_link_options ${_pc_prefix}_STATIC_LDFLAGS_OTHER) + set(_library_dirs ${_pc_prefix}_STATIC_LIBRARY_DIRS) endif() # The *_LIBRARIES lists always start with the library itself diff --git a/libs/SDL3/cmake/PreseedEmscriptenCache.cmake b/libs/SDL3/cmake/PreseedEmscriptenCache.cmake index 5a34ab5..78504a5 100644 --- a/libs/SDL3/cmake/PreseedEmscriptenCache.cmake +++ b/libs/SDL3/cmake/PreseedEmscriptenCache.cmake @@ -4,6 +4,7 @@ if(EMSCRIPTEN) set(HAVE_ALLOCA_H "1" CACHE INTERNAL "Have include alloca.h") set(HAVE_LIBM "1" CACHE INTERNAL "Have library m") set(HAVE_MALLOC "1" CACHE INTERNAL "Have include malloc.h") + set(HAVE_MALLOC_H "1" CACHE INTERNAL "Have include malloc.h") set(LIBC_HAS_ABS "1" CACHE INTERNAL "Have symbol abs") set(LIBC_HAS_ACOS "1" CACHE INTERNAL "Have symbol acos") set(LIBC_HAS_ACOSF "1" CACHE INTERNAL "Have symbol acosf") @@ -152,7 +153,7 @@ if(EMSCRIPTEN) set(HAVE_O_CLOEXEC "1" CACHE INTERNAL "Test HAVE_O_CLOEXEC") set(COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR") set(COMPILER_SUPPORTS_GCC_ATOMICS "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_GCC_ATOMICS") - set(LINKER_SUPPORTS_VERSION_SCRIPT "" CACHE INTERNAL "Test LINKER_SUPPORTS_VERSION_SCRIPT") + set(HAVE_WL_VERSION_SCRIPT "" CACHE INTERNAL "Test HAVE_WL_VERSION_SCRIPT") set(LINKER_SUPPORTS_WL_NO_UNDEFINED "" CACHE INTERNAL "Test LINKER_SUPPORTS_WL_NO_UNDEFINED") set(ICONV_IN_LIBC "1" CACHE INTERNAL "Test ICONV_IN_LIBC") set(ICONV_IN_LIBICONV "" CACHE INTERNAL "Test ICONV_IN_LIBICONV") @@ -174,5 +175,11 @@ if(EMSCRIPTEN) set(HAVE_MEMFD_CREATE "" CACHE INTERNAL "Have symbol memfd_create") set(HAVE_POSIX_FALLOCATE "1" CACHE INTERNAL "Have symbol posix_fallocate") set(HAVE_DLOPEN_IN_LIBC "1" CACHE INTERNAL "Have symbol dlopen") + set(HAVE_FDATASYNC "1" CACHE INTERNAL "Have symbol fdatasync") + set(HAVE_GETHOSTNAME "1" CACHE INTERNAL "Have symbol gethostname") + set(HAVE_SIGTIMEDWAIT "1" CACHE INTERNAL "Have symbol sigtimedwait") + set(HAVE_PPOLL "" CACHE INTERNAL "Have symbol ppoll") + set(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR "" CACHE INTERNAL "Have symbol posix_spawn_file_actions_addchdir") + set(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP "1" CACHE INTERNAL "Have symbol posix_spawn_file_actions_addchdir_np") endfunction() endif() diff --git a/libs/SDL3/cmake/PreseedMSVCCache.cmake b/libs/SDL3/cmake/PreseedMSVCCache.cmake index 17495aa..81f7d01 100644 --- a/libs/SDL3/cmake/PreseedMSVCCache.cmake +++ b/libs/SDL3/cmake/PreseedMSVCCache.cmake @@ -1,183 +1,194 @@ if(MSVC) function(SDL_Preseed_CMakeCache) - set(COMPILER_SUPPORTS_W3 "1" CACHE INTERNAL "Test /W3") - set(COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR_ALWAYS "" CACHE INTERNAL "Test COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR_ALWAYS") - set(HAVE_ALLOCA_H "" CACHE INTERNAL "Have include alloca.h") - set(HAVE_AUDIOCLIENT_H "1" CACHE INTERNAL "Have include audioclient.h") - set(HAVE_D3D11_H "1" CACHE INTERNAL "Have include d3d11_1.h") - set(HAVE_D3D9_H "1" CACHE INTERNAL "Have include d3d9.h") - set(HAVE_DDRAW_H "1" CACHE INTERNAL "Have include ddraw.h") - set(HAVE_DINPUT_H "1" CACHE INTERNAL "Have include dinput.h") - set(HAVE_DSOUND_H "1" CACHE INTERNAL "Have include dsound.h") - set(HAVE_DXGI_H "1" CACHE INTERNAL "Have include dxgi.h") - set(HAVE_LIBM "" CACHE INTERNAL "Have library m") - set(HAVE_MALLOC "1" CACHE INTERNAL "Have include malloc.h") - set(HAVE_MMDEVICEAPI_H "1" CACHE INTERNAL "Have include mmdeviceapi.h") - set(HAVE_SENSORSAPI_H "1" CACHE INTERNAL "Have include sensorsapi.h") - set(HAVE_SHELLSCALINGAPI_H "1" CACHE INTERNAL "Have include shellscalingapi.h") - set(HAVE_TPCSHRD_H "1" CACHE INTERNAL "Have include tpcshrd.h") - set(HAVE_WIN32_CC "1" CACHE INTERNAL "Test HAVE_WIN32_CC") - set(HAVE_XINPUT_H "1" CACHE INTERNAL "Test HAVE_XINPUT_H") - set(LIBC_HAS_ABS "1" CACHE INTERNAL "Have symbol abs") - set(LIBC_HAS_ACOS "1" CACHE INTERNAL "Have symbol acos") - set(LIBC_HAS_ACOSF "1" CACHE INTERNAL "Have symbol acosf") - set(LIBC_HAS_ASIN "1" CACHE INTERNAL "Have symbol asin") - set(LIBC_HAS_ASINF "1" CACHE INTERNAL "Have symbol asinf") - set(LIBC_HAS_ATAN "1" CACHE INTERNAL "Have symbol atan") - set(LIBC_HAS_ATAN2 "1" CACHE INTERNAL "Have symbol atan2") - set(LIBC_HAS_ATAN2F "1" CACHE INTERNAL "Have symbol atan2f") - set(LIBC_HAS_ATANF "1" CACHE INTERNAL "Have symbol atanf") - set(LIBC_HAS_ATOF "1" CACHE INTERNAL "Have symbol atof") - set(LIBC_HAS_ATOI "1" CACHE INTERNAL "Have symbol atoi") - set(LIBC_HAS_BCOPY "" CACHE INTERNAL "Have symbol bcopy") - set(LIBC_HAS_CALLOC "1" CACHE INTERNAL "Have symbol calloc") - set(LIBC_HAS_CEIL "1" CACHE INTERNAL "Have symbol ceil") - set(LIBC_HAS_CEILF "1" CACHE INTERNAL "Have symbol ceilf") - set(LIBC_HAS_COPYSIGN "1" CACHE INTERNAL "Have symbol copysign") - set(LIBC_HAS_COPYSIGNF "1" CACHE INTERNAL "Have symbol copysignf") - set(LIBC_HAS_COS "1" CACHE INTERNAL "Have symbol cos") - set(LIBC_HAS_COSF "1" CACHE INTERNAL "Have symbol cosf") - set(LIBC_HAS_EXP "1" CACHE INTERNAL "Have symbol exp") - set(LIBC_HAS_EXPF "1" CACHE INTERNAL "Have symbol expf") - set(LIBC_HAS_FABS "1" CACHE INTERNAL "Have symbol fabs") - set(LIBC_HAS_FABSF "1" CACHE INTERNAL "Have symbol fabsf") - set(LIBC_HAS_FLOAT_H "1" CACHE INTERNAL "Have include float.h") - set(LIBC_HAS_FLOOR "1" CACHE INTERNAL "Have symbol floor") - set(LIBC_HAS_FLOORF "1" CACHE INTERNAL "Have symbol floorf") - set(LIBC_HAS_FMOD "1" CACHE INTERNAL "Have symbol fmod") - set(LIBC_HAS_FMODF "1" CACHE INTERNAL "Have symbol fmodf") - set(LIBC_HAS_FOPEN64 "" CACHE INTERNAL "Have symbol fopen64") - set(LIBC_HAS_FREE "1" CACHE INTERNAL "Have symbol free") - set(LIBC_HAS_FSEEKO "" CACHE INTERNAL "Have symbol fseeko") - set(LIBC_HAS_FSEEKO64 "" CACHE INTERNAL "Have symbol fseeko64") - set(LIBC_HAS_GETENV "1" CACHE INTERNAL "Have symbol getenv") - set(LIBC_HAS_ICONV_H "" CACHE INTERNAL "Have include iconv.h") - set(LIBC_HAS_INDEX "" CACHE INTERNAL "Have symbol index") - set(LIBC_HAS_INTTYPES_H "1" CACHE INTERNAL "Have include inttypes.h") - set(LIBC_HAS_ISINF "1" CACHE INTERNAL "Have include isinf(double)") - set(LIBC_ISINF_HANDLES_FLOAT "1" CACHE INTERNAL "Have include isinf(float)") - set(LIBC_HAS_ISINFF "" CACHE INTERNAL "Have include isinff(float)") - set(LIBC_HAS_ISNAN "1" CACHE INTERNAL "Have include isnan(double)") - set(LIBC_ISNAN_HANDLES_FLOAT "1" CACHE INTERNAL "Have include isnan(float)") - set(LIBC_HAS_ISNANF "" CACHE INTERNAL "Have include isnanf(float)") - set(LIBC_HAS_ITOA "1" CACHE INTERNAL "Have symbol itoa") - set(LIBC_HAS_LIMITS_H "1" CACHE INTERNAL "Have include limits.h") - set(LIBC_HAS_LOG "1" CACHE INTERNAL "Have symbol log") - set(LIBC_HAS_LOG10 "1" CACHE INTERNAL "Have symbol log10") - set(LIBC_HAS_LOG10F "1" CACHE INTERNAL "Have symbol log10f") - set(LIBC_HAS_LOGF "1" CACHE INTERNAL "Have symbol logf") - set(LIBC_HAS_LROUND "1" CACHE INTERNAL "Have symbol lround") - set(LIBC_HAS_LROUNDF "1" CACHE INTERNAL "Have symbol lroundf") - set(LIBC_HAS_MALLOC "1" CACHE INTERNAL "Have symbol malloc") - set(LIBC_HAS_MALLOC_H "1" CACHE INTERNAL "Have include malloc.h") - set(LIBC_HAS_MATH_H "1" CACHE INTERNAL "Have include math.h") - set(LIBC_HAS_MEMCMP "1" CACHE INTERNAL "Have symbol memcmp") - set(LIBC_HAS_MEMCPY "1" CACHE INTERNAL "Have symbol memcpy") - set(LIBC_HAS_MEMMOVE "1" CACHE INTERNAL "Have symbol memmove") - set(LIBC_HAS_MEMORY_H "1" CACHE INTERNAL "Have include memory.h") - set(LIBC_HAS_MEMSET "1" CACHE INTERNAL "Have symbol memset") - set(LIBC_HAS_MODF "1" CACHE INTERNAL "Have symbol modf") - set(LIBC_HAS_MODFF "1" CACHE INTERNAL "Have symbol modff") - set(LIBC_HAS_POW "1" CACHE INTERNAL "Have symbol pow") - set(LIBC_HAS_POWF "1" CACHE INTERNAL "Have symbol powf") - set(LIBC_HAS_PUTENV "1" CACHE INTERNAL "Have symbol putenv") - set(LIBC_HAS_REALLOC "1" CACHE INTERNAL "Have symbol realloc") - set(LIBC_HAS_RINDEX "" CACHE INTERNAL "Have symbol rindex") - set(LIBC_HAS_ROUND "1" CACHE INTERNAL "Have symbol round") - set(LIBC_HAS_ROUNDF "1" CACHE INTERNAL "Have symbol roundf") - set(LIBC_HAS_SCALBN "1" CACHE INTERNAL "Have symbol scalbn") - set(LIBC_HAS_SCALBNF "1" CACHE INTERNAL "Have symbol scalbnf") - set(LIBC_HAS_SETENV "" CACHE INTERNAL "Have symbol setenv") - set(LIBC_HAS_SIGNAL_H "1" CACHE INTERNAL "Have include signal.h") - set(LIBC_HAS_SIN "1" CACHE INTERNAL "Have symbol sin") - set(LIBC_HAS_SINF "1" CACHE INTERNAL "Have symbol sinf") - set(LIBC_HAS_SQR "" CACHE INTERNAL "Have symbol sqr") - set(LIBC_HAS_SQRT "1" CACHE INTERNAL "Have symbol sqrt") - set(LIBC_HAS_SQRTF "1" CACHE INTERNAL "Have symbol sqrtf") - set(LIBC_HAS_SSCANF "1" CACHE INTERNAL "Have symbol sscanf") - set(LIBC_HAS_STDARG_H "1" CACHE INTERNAL "Have include stdarg.h") - set(LIBC_HAS_STDBOOL_H "1" CACHE INTERNAL "Have include stdbool.h") - set(LIBC_HAS_STDDEF_H "1" CACHE INTERNAL "Have include stddef.h") - set(LIBC_HAS_STDINT_H "1" CACHE INTERNAL "Have include stdint.h") - set(LIBC_HAS_STDIO_H "1" CACHE INTERNAL "Have include stdio.h") - set(LIBC_HAS_STDLIB_H "1" CACHE INTERNAL "Have include stdlib.h") - set(LIBC_HAS_STRCHR "1" CACHE INTERNAL "Have symbol strchr") - set(LIBC_HAS_STRCMP "1" CACHE INTERNAL "Have symbol strcmp") - set(LIBC_HAS_STRINGS_H "" CACHE INTERNAL "Have include strings.h") - set(LIBC_HAS_STRING_H "1" CACHE INTERNAL "Have include string.h") - set(LIBC_HAS_STRLCAT "" CACHE INTERNAL "Have symbol strlcat") - set(LIBC_HAS_STRLCPY "" CACHE INTERNAL "Have symbol strlcpy") - set(LIBC_HAS_STRLEN "1" CACHE INTERNAL "Have symbol strlen") - set(LIBC_HAS_STRNCMP "1" CACHE INTERNAL "Have symbol strncmp") - set(LIBC_HAS_STRNLEN "1" CACHE INTERNAL "Have symbol strnlen") - set(LIBC_HAS_STRNSTR "" CACHE INTERNAL "Have symbol strnstr") - set(LIBC_HAS_STRPBRK "1" CACHE INTERNAL "Have symbol strpbrk") - set(LIBC_HAS_STRRCHR "1" CACHE INTERNAL "Have symbol strrchr") - set(LIBC_HAS_STRSTR "1" CACHE INTERNAL "Have symbol strstr") - set(LIBC_HAS_STRTOD "1" CACHE INTERNAL "Have symbol strtod") - set(LIBC_HAS_STRTOK_R "" CACHE INTERNAL "Have symbol strtok_r") - set(LIBC_HAS_STRTOL "1" CACHE INTERNAL "Have symbol strtol") - set(LIBC_HAS_STRTOLL "1" CACHE INTERNAL "Have symbol strtoll") - set(LIBC_HAS_STRTOUL "1" CACHE INTERNAL "Have symbol strtoul") - set(LIBC_HAS_STRTOULL "1" CACHE INTERNAL "Have symbol strtoull") - set(LIBC_HAS_SYS_TYPES_H "1" CACHE INTERNAL "Have include sys/types.h") - set(LIBC_HAS_TAN "1" CACHE INTERNAL "Have symbol tan") - set(LIBC_HAS_TANF "1" CACHE INTERNAL "Have symbol tanf") - set(LIBC_HAS_TIME_H "1" CACHE INTERNAL "Have include time.h") - set(LIBC_HAS_TRUNC "1" CACHE INTERNAL "Have symbol trunc") - set(LIBC_HAS_TRUNCF "1" CACHE INTERNAL "Have symbol truncf") - set(LIBC_HAS_UNSETENV "" CACHE INTERNAL "Have symbol unsetenv") - set(LIBC_HAS_VSNPRINTF "1" CACHE INTERNAL "Have symbol vsnprintf") - set(LIBC_HAS_VSSCANF "1" CACHE INTERNAL "Have symbol vsscanf") - set(LIBC_HAS_WCHAR_H "1" CACHE INTERNAL "Have include wchar.h") - set(LIBC_HAS_WCSCMP "1" CACHE INTERNAL "Have symbol wcscmp") - set(LIBC_HAS_WCSDUP "1" CACHE INTERNAL "Have symbol wcsdup") - set(LIBC_HAS_WCSLCAT "" CACHE INTERNAL "Have symbol wcslcat") - set(LIBC_HAS_WCSLCPY "" CACHE INTERNAL "Have symbol wcslcpy") - set(LIBC_HAS_WCSLEN "1" CACHE INTERNAL "Have symbol wcslen") - set(LIBC_HAS_WCSNCMP "1" CACHE INTERNAL "Have symbol wcsncmp") - set(LIBC_HAS_WCSNLEN "1" CACHE INTERNAL "Have symbol wcsnlen") - set(LIBC_HAS_WCSSTR "1" CACHE INTERNAL "Have symbol wcsstr") - set(LIBC_HAS_WCSTOL "1" CACHE INTERNAL "Have symbol wcstol") - set(LIBC_HAS__EXIT "1" CACHE INTERNAL "Have symbol _Exit") - set(LIBC_HAS__I64TOA "1" CACHE INTERNAL "Have symbol _i64toa") - set(LIBC_HAS__LTOA "1" CACHE INTERNAL "Have symbol _ltoa") - set(LIBC_HAS__STRREV "1" CACHE INTERNAL "Have symbol _strrev") - set(LIBC_HAS__UI64TOA "1" CACHE INTERNAL "Have symbol _ui64toa") - set(LIBC_HAS__UITOA "" CACHE INTERNAL "Have symbol _uitoa") - set(LIBC_HAS__ULTOA "1" CACHE INTERNAL "Have symbol _ultoa") - set(LIBC_HAS__WCSDUP "1" CACHE INTERNAL "Have symbol _wcsdup") - set(LIBC_IS_GLIBC "" CACHE INTERNAL "Have symbol __GLIBC__") - set(_ALLOCA_IN_MALLOC_H "" CACHE INTERNAL "Have symbol _alloca") + check_c_source_compiles(" + #include + #if _WIN32_WINNT < 0x0A00 + #error Preseeding is only supported for MSVC supporting Windows 10 or higher + #endif + int main(int argc, char **argv) { return 0; } + " CAN_PRESEED + ) + if(CAN_PRESEED) + set(COMPILER_SUPPORTS_W3 "1" CACHE INTERNAL "Test /W3") + set(COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR_ALWAYS "" CACHE INTERNAL "Test COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR_ALWAYS") + set(HAVE_ALLOCA_H "" CACHE INTERNAL "Have include alloca.h") + set(HAVE_AUDIOCLIENT_H "1" CACHE INTERNAL "Have include audioclient.h") + set(HAVE_D3D11_H "1" CACHE INTERNAL "Have include d3d11_1.h") + set(HAVE_D3D9_H "1" CACHE INTERNAL "Have include d3d9.h") + set(HAVE_DDRAW_H "1" CACHE INTERNAL "Have include ddraw.h") + set(HAVE_DINPUT_H "1" CACHE INTERNAL "Have include dinput.h") + set(HAVE_DSOUND_H "1" CACHE INTERNAL "Have include dsound.h") + set(HAVE_DXGI_H "1" CACHE INTERNAL "Have include dxgi.h") + set(HAVE_LIBM "" CACHE INTERNAL "Have library m") + set(HAVE_MALLOC "1" CACHE INTERNAL "Have include malloc.h") + set(HAVE_MALLOC_H "1" CACHE INTERNAL "Have include malloc.h") + set(HAVE_MMDEVICEAPI_H "1" CACHE INTERNAL "Have include mmdeviceapi.h") + set(HAVE_SENSORSAPI_H "1" CACHE INTERNAL "Have include sensorsapi.h") + set(HAVE_SHELLSCALINGAPI_H "1" CACHE INTERNAL "Have include shellscalingapi.h") + set(HAVE_TPCSHRD_H "1" CACHE INTERNAL "Have include tpcshrd.h") + set(HAVE_WIN32_CC "1" CACHE INTERNAL "Test HAVE_WIN32_CC") + set(HAVE_XINPUT_H "1" CACHE INTERNAL "Test HAVE_XINPUT_H") + set(LIBC_HAS_ABS "1" CACHE INTERNAL "Have symbol abs") + set(LIBC_HAS_ACOS "1" CACHE INTERNAL "Have symbol acos") + set(LIBC_HAS_ACOSF "1" CACHE INTERNAL "Have symbol acosf") + set(LIBC_HAS_ASIN "1" CACHE INTERNAL "Have symbol asin") + set(LIBC_HAS_ASINF "1" CACHE INTERNAL "Have symbol asinf") + set(LIBC_HAS_ATAN "1" CACHE INTERNAL "Have symbol atan") + set(LIBC_HAS_ATAN2 "1" CACHE INTERNAL "Have symbol atan2") + set(LIBC_HAS_ATAN2F "1" CACHE INTERNAL "Have symbol atan2f") + set(LIBC_HAS_ATANF "1" CACHE INTERNAL "Have symbol atanf") + set(LIBC_HAS_ATOF "1" CACHE INTERNAL "Have symbol atof") + set(LIBC_HAS_ATOI "1" CACHE INTERNAL "Have symbol atoi") + set(LIBC_HAS_BCOPY "" CACHE INTERNAL "Have symbol bcopy") + set(LIBC_HAS_CALLOC "1" CACHE INTERNAL "Have symbol calloc") + set(LIBC_HAS_CEIL "1" CACHE INTERNAL "Have symbol ceil") + set(LIBC_HAS_CEILF "1" CACHE INTERNAL "Have symbol ceilf") + set(LIBC_HAS_COPYSIGN "1" CACHE INTERNAL "Have symbol copysign") + set(LIBC_HAS_COPYSIGNF "1" CACHE INTERNAL "Have symbol copysignf") + set(LIBC_HAS_COS "1" CACHE INTERNAL "Have symbol cos") + set(LIBC_HAS_COSF "1" CACHE INTERNAL "Have symbol cosf") + set(LIBC_HAS_EXP "1" CACHE INTERNAL "Have symbol exp") + set(LIBC_HAS_EXPF "1" CACHE INTERNAL "Have symbol expf") + set(LIBC_HAS_FABS "1" CACHE INTERNAL "Have symbol fabs") + set(LIBC_HAS_FABSF "1" CACHE INTERNAL "Have symbol fabsf") + set(LIBC_HAS_FLOAT_H "1" CACHE INTERNAL "Have include float.h") + set(LIBC_HAS_FLOOR "1" CACHE INTERNAL "Have symbol floor") + set(LIBC_HAS_FLOORF "1" CACHE INTERNAL "Have symbol floorf") + set(LIBC_HAS_FMOD "1" CACHE INTERNAL "Have symbol fmod") + set(LIBC_HAS_FMODF "1" CACHE INTERNAL "Have symbol fmodf") + set(LIBC_HAS_FOPEN64 "" CACHE INTERNAL "Have symbol fopen64") + set(LIBC_HAS_FREE "1" CACHE INTERNAL "Have symbol free") + set(LIBC_HAS_FSEEKO "" CACHE INTERNAL "Have symbol fseeko") + set(LIBC_HAS_FSEEKO64 "" CACHE INTERNAL "Have symbol fseeko64") + set(LIBC_HAS_GETENV "1" CACHE INTERNAL "Have symbol getenv") + set(LIBC_HAS_ICONV_H "" CACHE INTERNAL "Have include iconv.h") + set(LIBC_HAS_INDEX "" CACHE INTERNAL "Have symbol index") + set(LIBC_HAS_INTTYPES_H "1" CACHE INTERNAL "Have include inttypes.h") + set(LIBC_HAS_ISINF "1" CACHE INTERNAL "Have include isinf(double)") + set(LIBC_ISINF_HANDLES_FLOAT "1" CACHE INTERNAL "Have include isinf(float)") + set(LIBC_HAS_ISINFF "" CACHE INTERNAL "Have include isinff(float)") + set(LIBC_HAS_ISNAN "1" CACHE INTERNAL "Have include isnan(double)") + set(LIBC_ISNAN_HANDLES_FLOAT "1" CACHE INTERNAL "Have include isnan(float)") + set(LIBC_HAS_ISNANF "" CACHE INTERNAL "Have include isnanf(float)") + set(LIBC_HAS_ITOA "1" CACHE INTERNAL "Have symbol itoa") + set(LIBC_HAS_LIMITS_H "1" CACHE INTERNAL "Have include limits.h") + set(LIBC_HAS_LOG "1" CACHE INTERNAL "Have symbol log") + set(LIBC_HAS_LOG10 "1" CACHE INTERNAL "Have symbol log10") + set(LIBC_HAS_LOG10F "1" CACHE INTERNAL "Have symbol log10f") + set(LIBC_HAS_LOGF "1" CACHE INTERNAL "Have symbol logf") + set(LIBC_HAS_LROUND "1" CACHE INTERNAL "Have symbol lround") + set(LIBC_HAS_LROUNDF "1" CACHE INTERNAL "Have symbol lroundf") + set(LIBC_HAS_MALLOC "1" CACHE INTERNAL "Have symbol malloc") + set(LIBC_HAS_MALLOC_H "1" CACHE INTERNAL "Have include malloc.h") + set(LIBC_HAS_MATH_H "1" CACHE INTERNAL "Have include math.h") + set(LIBC_HAS_MEMCMP "1" CACHE INTERNAL "Have symbol memcmp") + set(LIBC_HAS_MEMCPY "1" CACHE INTERNAL "Have symbol memcpy") + set(LIBC_HAS_MEMMOVE "1" CACHE INTERNAL "Have symbol memmove") + set(LIBC_HAS_MEMORY_H "1" CACHE INTERNAL "Have include memory.h") + set(LIBC_HAS_MEMSET "1" CACHE INTERNAL "Have symbol memset") + set(LIBC_HAS_MODF "1" CACHE INTERNAL "Have symbol modf") + set(LIBC_HAS_MODFF "1" CACHE INTERNAL "Have symbol modff") + set(LIBC_HAS_POW "1" CACHE INTERNAL "Have symbol pow") + set(LIBC_HAS_POWF "1" CACHE INTERNAL "Have symbol powf") + set(LIBC_HAS_PUTENV "1" CACHE INTERNAL "Have symbol putenv") + set(LIBC_HAS_REALLOC "1" CACHE INTERNAL "Have symbol realloc") + set(LIBC_HAS_RINDEX "" CACHE INTERNAL "Have symbol rindex") + set(LIBC_HAS_ROUND "1" CACHE INTERNAL "Have symbol round") + set(LIBC_HAS_ROUNDF "1" CACHE INTERNAL "Have symbol roundf") + set(LIBC_HAS_SCALBN "1" CACHE INTERNAL "Have symbol scalbn") + set(LIBC_HAS_SCALBNF "1" CACHE INTERNAL "Have symbol scalbnf") + set(LIBC_HAS_SETENV "" CACHE INTERNAL "Have symbol setenv") + set(LIBC_HAS_SIGNAL_H "1" CACHE INTERNAL "Have include signal.h") + set(LIBC_HAS_SIN "1" CACHE INTERNAL "Have symbol sin") + set(LIBC_HAS_SINF "1" CACHE INTERNAL "Have symbol sinf") + set(LIBC_HAS_SQR "" CACHE INTERNAL "Have symbol sqr") + set(LIBC_HAS_SQRT "1" CACHE INTERNAL "Have symbol sqrt") + set(LIBC_HAS_SQRTF "1" CACHE INTERNAL "Have symbol sqrtf") + set(LIBC_HAS_SSCANF "1" CACHE INTERNAL "Have symbol sscanf") + set(LIBC_HAS_STDARG_H "1" CACHE INTERNAL "Have include stdarg.h") + set(LIBC_HAS_STDBOOL_H "1" CACHE INTERNAL "Have include stdbool.h") + set(LIBC_HAS_STDDEF_H "1" CACHE INTERNAL "Have include stddef.h") + set(LIBC_HAS_STDINT_H "1" CACHE INTERNAL "Have include stdint.h") + set(LIBC_HAS_STDIO_H "1" CACHE INTERNAL "Have include stdio.h") + set(LIBC_HAS_STDLIB_H "1" CACHE INTERNAL "Have include stdlib.h") + set(LIBC_HAS_STRCHR "1" CACHE INTERNAL "Have symbol strchr") + set(LIBC_HAS_STRCMP "1" CACHE INTERNAL "Have symbol strcmp") + set(LIBC_HAS_STRINGS_H "" CACHE INTERNAL "Have include strings.h") + set(LIBC_HAS_STRING_H "1" CACHE INTERNAL "Have include string.h") + set(LIBC_HAS_STRLCAT "" CACHE INTERNAL "Have symbol strlcat") + set(LIBC_HAS_STRLCPY "" CACHE INTERNAL "Have symbol strlcpy") + set(LIBC_HAS_STRLEN "1" CACHE INTERNAL "Have symbol strlen") + set(LIBC_HAS_STRNCMP "1" CACHE INTERNAL "Have symbol strncmp") + set(LIBC_HAS_STRNLEN "1" CACHE INTERNAL "Have symbol strnlen") + set(LIBC_HAS_STRNSTR "" CACHE INTERNAL "Have symbol strnstr") + set(LIBC_HAS_STRPBRK "1" CACHE INTERNAL "Have symbol strpbrk") + set(LIBC_HAS_STRRCHR "1" CACHE INTERNAL "Have symbol strrchr") + set(LIBC_HAS_STRSTR "1" CACHE INTERNAL "Have symbol strstr") + set(LIBC_HAS_STRTOD "1" CACHE INTERNAL "Have symbol strtod") + set(LIBC_HAS_STRTOK_R "" CACHE INTERNAL "Have symbol strtok_r") + set(LIBC_HAS_STRTOL "1" CACHE INTERNAL "Have symbol strtol") + set(LIBC_HAS_STRTOLL "1" CACHE INTERNAL "Have symbol strtoll") + set(LIBC_HAS_STRTOUL "1" CACHE INTERNAL "Have symbol strtoul") + set(LIBC_HAS_STRTOULL "1" CACHE INTERNAL "Have symbol strtoull") + set(LIBC_HAS_SYS_TYPES_H "1" CACHE INTERNAL "Have include sys/types.h") + set(LIBC_HAS_TAN "1" CACHE INTERNAL "Have symbol tan") + set(LIBC_HAS_TANF "1" CACHE INTERNAL "Have symbol tanf") + set(LIBC_HAS_TIME_H "1" CACHE INTERNAL "Have include time.h") + set(LIBC_HAS_TRUNC "1" CACHE INTERNAL "Have symbol trunc") + set(LIBC_HAS_TRUNCF "1" CACHE INTERNAL "Have symbol truncf") + set(LIBC_HAS_UNSETENV "" CACHE INTERNAL "Have symbol unsetenv") + set(LIBC_HAS_VSNPRINTF "1" CACHE INTERNAL "Have symbol vsnprintf") + set(LIBC_HAS_VSSCANF "1" CACHE INTERNAL "Have symbol vsscanf") + set(LIBC_HAS_WCHAR_H "1" CACHE INTERNAL "Have include wchar.h") + set(LIBC_HAS_WCSCMP "1" CACHE INTERNAL "Have symbol wcscmp") + set(LIBC_HAS_WCSDUP "1" CACHE INTERNAL "Have symbol wcsdup") + set(LIBC_HAS_WCSLCAT "" CACHE INTERNAL "Have symbol wcslcat") + set(LIBC_HAS_WCSLCPY "" CACHE INTERNAL "Have symbol wcslcpy") + set(LIBC_HAS_WCSLEN "1" CACHE INTERNAL "Have symbol wcslen") + set(LIBC_HAS_WCSNCMP "1" CACHE INTERNAL "Have symbol wcsncmp") + set(LIBC_HAS_WCSNLEN "1" CACHE INTERNAL "Have symbol wcsnlen") + set(LIBC_HAS_WCSSTR "1" CACHE INTERNAL "Have symbol wcsstr") + set(LIBC_HAS_WCSTOL "1" CACHE INTERNAL "Have symbol wcstol") + set(LIBC_HAS__EXIT "1" CACHE INTERNAL "Have symbol _Exit") + set(LIBC_HAS__I64TOA "1" CACHE INTERNAL "Have symbol _i64toa") + set(LIBC_HAS__LTOA "1" CACHE INTERNAL "Have symbol _ltoa") + set(LIBC_HAS__STRREV "1" CACHE INTERNAL "Have symbol _strrev") + set(LIBC_HAS__UI64TOA "1" CACHE INTERNAL "Have symbol _ui64toa") + set(LIBC_HAS__UITOA "" CACHE INTERNAL "Have symbol _uitoa") + set(LIBC_HAS__ULTOA "1" CACHE INTERNAL "Have symbol _ultoa") + set(LIBC_HAS__WCSDUP "1" CACHE INTERNAL "Have symbol _wcsdup") + set(LIBC_IS_GLIBC "" CACHE INTERNAL "Have symbol __GLIBC__") + set(_ALLOCA_IN_MALLOC_H "1" CACHE INTERNAL "Have symbol _alloca") - if(CHECK_CPU_ARCHITECTURE_X86) - set(COMPILER_SUPPORTS_AVX "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX") - set(COMPILER_SUPPORTS_AVX2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX2") - set(COMPILER_SUPPORTS_MMX "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_MMX") - set(COMPILER_SUPPORTS_SSE "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE") - set(COMPILER_SUPPORTS_SSE2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE2") - set(COMPILER_SUPPORTS_SSE3 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE3") - set(COMPILER_SUPPORTS_SSE4_1 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_1") - set(COMPILER_SUPPORTS_SSE4_2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_2") - endif() + if(CHECK_CPU_ARCHITECTURE_X86) + set(COMPILER_SUPPORTS_AVX "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX") + set(COMPILER_SUPPORTS_AVX2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX2") + set(COMPILER_SUPPORTS_MMX "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_MMX") + set(COMPILER_SUPPORTS_SSE "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE") + set(COMPILER_SUPPORTS_SSE2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE2") + set(COMPILER_SUPPORTS_SSE3 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE3") + set(COMPILER_SUPPORTS_SSE4_1 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_1") + set(COMPILER_SUPPORTS_SSE4_2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_2") + endif() - if(CHECK_CPU_ARCHITECTURE_X64) - set(COMPILER_SUPPORTS_AVX "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX") - set(COMPILER_SUPPORTS_AVX2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX2") - set(COMPILER_SUPPORTS_MMX "" CACHE INTERNAL "Test COMPILER_SUPPORTS_MMX") - set(COMPILER_SUPPORTS_SSE "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE") - set(COMPILER_SUPPORTS_SSE2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE2") - set(COMPILER_SUPPORTS_SSE3 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE3") - set(COMPILER_SUPPORTS_SSE4_1 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_1") - set(COMPILER_SUPPORTS_SSE4_2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_2") - endif() + if(CHECK_CPU_ARCHITECTURE_X64) + set(COMPILER_SUPPORTS_AVX "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX") + set(COMPILER_SUPPORTS_AVX2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX2") + set(COMPILER_SUPPORTS_MMX "" CACHE INTERNAL "Test COMPILER_SUPPORTS_MMX") + set(COMPILER_SUPPORTS_SSE "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE") + set(COMPILER_SUPPORTS_SSE2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE2") + set(COMPILER_SUPPORTS_SSE3 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE3") + set(COMPILER_SUPPORTS_SSE4_1 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_1") + set(COMPILER_SUPPORTS_SSE4_2 "1" CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_2") + endif() - if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "19.1") - set(HAVE_ROAPI_H "1" CACHE INTERNAL "Have include roapi.h") - set(HAVE_WINDOWS_GAMING_INPUT_H "1" CACHE INTERNAL "Test HAVE_WINDOWS_GAMING_INPUT_H") - else() - set(HAVE_ROAPI_H "" CACHE INTERNAL "Have include roapi.h") - set(HAVE_WINDOWS_GAMING_INPUT_H "" CACHE INTERNAL "Test HAVE_WINDOWS_GAMING_INPUT_H") + if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "19.1") + set(HAVE_ROAPI_H "1" CACHE INTERNAL "Have include roapi.h") + set(HAVE_WINDOWS_GAMING_INPUT_H "1" CACHE INTERNAL "Test HAVE_WINDOWS_GAMING_INPUT_H") + else() + set(HAVE_ROAPI_H "" CACHE INTERNAL "Have include roapi.h") + set(HAVE_WINDOWS_GAMING_INPUT_H "" CACHE INTERNAL "Test HAVE_WINDOWS_GAMING_INPUT_H") + endif() endif() endfunction() endif() diff --git a/libs/SDL3/cmake/PreseedNokiaNGageCache.cmake b/libs/SDL3/cmake/PreseedNokiaNGageCache.cmake new file mode 100644 index 0000000..9873727 --- /dev/null +++ b/libs/SDL3/cmake/PreseedNokiaNGageCache.cmake @@ -0,0 +1,189 @@ +if(NGAGESDK) + function(SDL_Preseed_CMakeCache) + set(COMPILER_SUPPORTS_ARMNEON "" CACHE INTERNAL "Test COMPILER_SUPPORTS_ARMNEON") + set(COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR_ALWAYS "" CACHE INTERNAL "Test COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR_ALWAYS") + set(COMPILER_SUPPORTS_SYNC_LOCK_TEST_AND_SET "" CACHE INTERNAL "Test COMPILER_SUPPORTS_SYNC_LOCK_TEST_AND_SET") + set(HAVE_CLANG_COMMENT_BLOCK_COMMANDS "" CACHE INTERNAL "Test HAVE_CLANG_COMMENT_BLOCK_COMMANDS") + set(HAVE_ALLOCA_H "" CACHE INTERNAL "Have include alloca.h") + set(HAVE_LIBM "1" CACHE INTERNAL "Have library m") + set(HAVE_POSIX_SPAWN "" CACHE INTERNAL "Have symbol posix_spawn") + set(HAVE_MALLOC "1" CACHE INTERNAL "Have include malloc.h") + set(LIBC_HAS_ABS "1" CACHE INTERNAL "Have symbol abs") + set(LIBC_HAS_ACOS "1" CACHE INTERNAL "Have symbol acos") + set(LIBC_HAS_ACOSF "" CACHE INTERNAL "Have symbol acosf") + set(LIBC_HAS_ASIN "1" CACHE INTERNAL "Have symbol asin") + set(LIBC_HAS_ASINF "" CACHE INTERNAL "Have symbol asinf") + set(LIBC_HAS_ATAN "1" CACHE INTERNAL "Have symbol atan") + set(LIBC_HAS_ATAN2 "1" CACHE INTERNAL "Have symbol atan2") + set(LIBC_HAS_ATAN2F "" CACHE INTERNAL "Have symbol atan2f") + set(LIBC_HAS_ATANF "" CACHE INTERNAL "Have symbol atanf") + set(LIBC_HAS_ATOF "" CACHE INTERNAL "Have symbol atof") + set(LIBC_HAS_ATOI "" CACHE INTERNAL "Have symbol atoi") + set(LIBC_HAS_BCOPY "1" CACHE INTERNAL "Have symbol bcopy") + set(LIBC_HAS_CALLOC "" CACHE INTERNAL "Have symbol calloc") + set(LIBC_HAS_CEIL "1" CACHE INTERNAL "Have symbol ceil") + set(LIBC_HAS_CEILF "" CACHE INTERNAL "Have symbol ceilf") + set(LIBC_HAS_COPYSIGN "1" CACHE INTERNAL "Have symbol copysign") + set(LIBC_HAS_COPYSIGNF "1" CACHE INTERNAL "Have symbol copysignf") + set(LIBC_HAS_COS "1" CACHE INTERNAL "Have symbol cos") + set(LIBC_HAS_COSF "" CACHE INTERNAL "Have symbol cosf") + set(LIBC_HAS_EXP "1" CACHE INTERNAL "Have symbol exp") + set(LIBC_HAS_EXPF "" CACHE INTERNAL "Have symbol expf") + set(LIBC_HAS_FABS "1" CACHE INTERNAL "Have symbol fabs") + set(LIBC_HAS_FABSF "1" CACHE INTERNAL "Have symbol fabsf") + set(LIBC_HAS_FLOAT_H "1" CACHE INTERNAL "Have include float.h") + set(LIBC_HAS_FLOOR "1" CACHE INTERNAL "Have symbol floor") + set(LIBC_HAS_FLOORF "" CACHE INTERNAL "Have symbol floorf") + set(LIBC_HAS_FMOD "" CACHE INTERNAL "Have symbol fmod") + set(LIBC_HAS_FMODF "" CACHE INTERNAL "Have symbol fmodf") + set(LIBC_HAS_FOPEN64 "" CACHE INTERNAL "Have symbol fopen64") + set(LIBC_HAS_FREE "1" CACHE INTERNAL "Have symbol free") + set(LIBC_HAS_FSEEKO "" CACHE INTERNAL "Have symbol fseeko") + set(LIBC_HAS_FSEEKO64 "" CACHE INTERNAL "Have symbol fseeko64") + set(LIBC_HAS_GETENV "" CACHE INTERNAL "Have symbol getenv") + set(LIBC_HAS_ICONV_H "" CACHE INTERNAL "Have include iconv.h") + set(LIBC_HAS_INDEX "1" CACHE INTERNAL "Have symbol index") + set(LIBC_HAS_INTTYPES_H "1" CACHE INTERNAL "Have include inttypes.h") + set(LIBC_HAS_ISINF "1" CACHE INTERNAL "Have include isinf(double)") + set(LIBC_ISINF_HANDLES_FLOAT "1" CACHE INTERNAL "Have include isinf(float)") + set(LIBC_HAS_ISINFF "1" CACHE INTERNAL "Have include isinff(float)") + set(LIBC_HAS_ISNAN "1" CACHE INTERNAL "Have include isnan(double)") + set(LIBC_ISNAN_HANDLES_FLOAT "1" CACHE INTERNAL "Have include isnan(float)") + set(LIBC_HAS_ISNANF "1" CACHE INTERNAL "Have include isnanf(float)") + set(LIBC_HAS_ITOA "" CACHE INTERNAL "Have symbol itoa") + set(LIBC_HAS_LIMITS_H "1" CACHE INTERNAL "Have include limits.h") + set(LIBC_HAS_LOG "1" CACHE INTERNAL "Have symbol log") + set(LIBC_HAS_LOG10 "" CACHE INTERNAL "Have symbol log10") + set(LIBC_HAS_LOG10F "" CACHE INTERNAL "Have symbol log10f") + set(LIBC_HAS_LOGF "" CACHE INTERNAL "Have symbol logf") + set(LIBC_HAS_LROUND "" CACHE INTERNAL "Have symbol lround") + set(LIBC_HAS_LROUNDF "" CACHE INTERNAL "Have symbol lroundf") + set(LIBC_HAS_MALLOC "1" CACHE INTERNAL "Have symbol malloc") + set(LIBC_HAS_MALLOC_H "" CACHE INTERNAL "Have include malloc.h") + set(LIBC_HAS_MATH_H "1" CACHE INTERNAL "Have include math.h") + set(LIBC_HAS_MEMCMP "1" CACHE INTERNAL "Have symbol memcmp") + set(LIBC_HAS_MEMCPY "" CACHE INTERNAL "Have symbol memcpy") + set(LIBC_HAS_MEMMOVE "" CACHE INTERNAL "Have symbol memmove") + set(LIBC_HAS_MEMORY_H "" CACHE INTERNAL "Have include memory.h") + set(LIBC_HAS_MEMSET "" CACHE INTERNAL "Have symbol memset") + set(LIBC_HAS_MODF "1" CACHE INTERNAL "Have symbol modf") + set(LIBC_HAS_MODFF "" CACHE INTERNAL "Have symbol modff") + set(LIBC_HAS_POW "1" CACHE INTERNAL "Have symbol pow") + set(LIBC_HAS_POWF "" CACHE INTERNAL "Have symbol powf") + set(LIBC_HAS_PUTENV "" CACHE INTERNAL "Have symbol putenv") + set(LIBC_HAS_REALLOC "" CACHE INTERNAL "Have symbol realloc") + set(LIBC_HAS_RINDEX "1" CACHE INTERNAL "Have symbol rindex") + set(LIBC_HAS_ROUND "" CACHE INTERNAL "Have symbol round") + set(LIBC_HAS_ROUNDF "" CACHE INTERNAL "Have symbol roundf") + set(LIBC_HAS_SCALBN "1" CACHE INTERNAL "Have symbol scalbn") + set(LIBC_HAS_SCALBNF "" CACHE INTERNAL "Have symbol scalbnf") + set(LIBC_HAS_SETENV "" CACHE INTERNAL "Have symbol setenv") + set(LIBC_HAS_SIGNAL_H "" CACHE INTERNAL "Have include signal.h") + set(LIBC_HAS_SIN "1" CACHE INTERNAL "Have symbol sin") + set(LIBC_HAS_SINF "" CACHE INTERNAL "Have symbol sinf") + set(LIBC_HAS_SQR "" CACHE INTERNAL "Have symbol sqr") + set(LIBC_HAS_SQRT "1" CACHE INTERNAL "Have symbol sqrt") + set(LIBC_HAS_SQRTF "" CACHE INTERNAL "Have symbol sqrtf") + set(LIBC_HAS_SSCANF "1" CACHE INTERNAL "Have symbol sscanf") + set(LIBC_HAS_STDARG_H "1" CACHE INTERNAL "Have include stdarg.h") + set(LIBC_HAS_STDBOOL_H "1" CACHE INTERNAL "Have include stdbool.h") + set(LIBC_HAS_STDDEF_H "1" CACHE INTERNAL "Have include stddef.h") + set(LIBC_HAS_STDINT_H "1" CACHE INTERNAL "Have include stdint.h") + set(LIBC_HAS_STDIO_H "1" CACHE INTERNAL "Have include stdio.h") + set(LIBC_HAS_STDLIB_H "1" CACHE INTERNAL "Have include stdlib.h") + set(LIBC_HAS_STRCASESTR "" CACHE INTERNAL "Have symbol strcasestr") + set(LIBC_HAS_STRCHR "1" CACHE INTERNAL "Have symbol strchr") + set(LIBC_HAS_STRCMP "1" CACHE INTERNAL "Have symbol strcmp") + set(LIBC_HAS_STRINGS_H "" CACHE INTERNAL "Have include strings.h") + set(LIBC_HAS_STRING_H "1" CACHE INTERNAL "Have include string.h") + set(LIBC_HAS_STRLCAT "" CACHE INTERNAL "Have symbol strlcat") + set(LIBC_HAS_STRLCPY "" CACHE INTERNAL "Have symbol strlcpy") + set(LIBC_HAS_STRLEN "1" CACHE INTERNAL "Have symbol strlen") + set(LIBC_HAS_STRNCMP "1" CACHE INTERNAL "Have symbol strncmp") + set(LIBC_HAS_STRNLEN "" CACHE INTERNAL "Have symbol strnlen") + set(LIBC_HAS_STRNSTR "" CACHE INTERNAL "Have symbol strnstr") + set(LIBC_HAS_STRPBRK "1" CACHE INTERNAL "Have symbol strpbrk") + set(LIBC_HAS_STRRCHR "1" CACHE INTERNAL "Have symbol strrchr") + set(LIBC_HAS_STRSTR "1" CACHE INTERNAL "Have symbol strstr") + set(LIBC_HAS_STRTOD "" CACHE INTERNAL "Have symbol strtod") + set(LIBC_HAS_STRTOK_R "" CACHE INTERNAL "Have symbol strtok_r") + set(LIBC_HAS_STRTOL "" CACHE INTERNAL "Have symbol strtol") + set(LIBC_HAS_STRTOLL "" CACHE INTERNAL "Have symbol strtoll") + set(LIBC_HAS_STRTOUL "" CACHE INTERNAL "Have symbol strtoul") + set(LIBC_HAS_STRTOULL "" CACHE INTERNAL "Have symbol strtoull") + set(LIBC_HAS_SYS_TYPES_H "1" CACHE INTERNAL "Have include sys/types.h") + set(LIBC_HAS_TAN "1" CACHE INTERNAL "Have symbol tan") + set(LIBC_HAS_TANF "" CACHE INTERNAL "Have symbol tanf") + set(LIBC_HAS_TIME_H "1" CACHE INTERNAL "Have include time.h") + set(LIBC_HAS_TRUNC "" CACHE INTERNAL "Have symbol trunc") + set(LIBC_HAS_TRUNCF "" CACHE INTERNAL "Have symbol truncf") + set(LIBC_HAS_UNSETENV "" CACHE INTERNAL "Have symbol unsetenv") + set(LIBC_HAS_VSNPRINTF "" CACHE INTERNAL "Have symbol vsnprintf") + set(LIBC_HAS_VSSCANF "" CACHE INTERNAL "Have symbol vsscanf") + set(LIBC_HAS_WCHAR_H "1" CACHE INTERNAL "Have include wchar.h") + set(LIBC_HAS_WCSCMP "" CACHE INTERNAL "Have symbol wcscmp") + set(LIBC_HAS_WCSDUP "" CACHE INTERNAL "Have symbol wcsdup") + set(LIBC_HAS_WCSLCAT "" CACHE INTERNAL "Have symbol wcslcat") + set(LIBC_HAS_WCSLCPY "" CACHE INTERNAL "Have symbol wcslcpy") + set(LIBC_HAS_WCSLEN "" CACHE INTERNAL "Have symbol wcslen") + set(LIBC_HAS_WCSNCMP "" CACHE INTERNAL "Have symbol wcsncmp") + set(LIBC_HAS_WCSNLEN "" CACHE INTERNAL "Have symbol wcsnlen") + set(LIBC_HAS_WCSSTR "" CACHE INTERNAL "Have symbol wcsstr") + set(LIBC_HAS_WCSTOL "" CACHE INTERNAL "Have symbol wcstol") + set(LIBC_HAS__EXIT "" CACHE INTERNAL "Have symbol _Exit") + set(LIBC_HAS__I64TOA "" CACHE INTERNAL "Have symbol _i64toa") + set(LIBC_HAS__LTOA "" CACHE INTERNAL "Have symbol _ltoa") + set(LIBC_HAS__STRREV "" CACHE INTERNAL "Have symbol _strrev") + set(LIBC_HAS__UI64TOA "" CACHE INTERNAL "Have symbol _ui64toa") + set(LIBC_HAS__UITOA "" CACHE INTERNAL "Have symbol _uitoa") + set(LIBC_HAS__ULTOA "" CACHE INTERNAL "Have symbol _ultoa") + set(LIBC_HAS__WCSDUP "" CACHE INTERNAL "Have symbol _wcsdup") + set(LIBC_IS_GLIBC "" CACHE INTERNAL "Have symbol __GLIBC__") + set(_ALLOCA_IN_MALLOC_H "" CACHE INTERNAL "Have symbol _alloca") + set(HAVE_GCC_WALL "1" CACHE INTERNAL "Test HAVE_GCC_WALL") + set(HAVE_GCC_WUNDEF "1" CACHE INTERNAL "Test HAVE_GCC_WUNDEF") + set(HAVE_GCC_WFLOAT_CONVERSION "" CACHE INTERNAL "Test HAVE_GCC_WFLOAT_CONVERSION") + set(HAVE_GCC_NO_STRICT_ALIASING "1" CACHE INTERNAL "Test HAVE_GCC_NO_STRICT_ALIASING") + set(HAVE_GCC_WDOCUMENTATION "" CACHE INTERNAL "Test HAVE_GCC_WDOCUMENTATION") + set(HAVE_GCC_WDOCUMENTATION_UNKNOWN_COMMAND "" CACHE INTERNAL "Test HAVE_GCC_WDOCUMENTATION_UNKNOWN_COMMAND") + set(HAVE_GCC_COMMENT_BLOCK_COMMANDS "" CACHE INTERNAL "Test HAVE_GCC_COMMENT_BLOCK_COMMANDS") + set(HAVE_GCC_WSHADOW "1" CACHE INTERNAL "Test HAVE_GCC_WSHADOW") + set(HAVE_GCC_WUNUSED_LOCAL_TYPEDEFS "" CACHE INTERNAL "Test HAVE_GCC_WUNUSED_LOCAL_TYPEDEFS") + set(HAVE_GCC_WIMPLICIT_FALLTHROUGH "" CACHE INTERNAL "Test HAVE_GCC_WIMPLICIT_FALLTHROUGH") + set(HAVE_GCC_FVISIBILITY "" CACHE INTERNAL "Test HAVE_GCC_FVISIBILITY") + set(HAVE_ST_MTIM "" CACHE INTERNAL "Test HAVE_ST_MTIM") + #set(HAVE_O_CLOEXEC "" CACHE INTERNAL "Test HAVE_O_CLOEXEC") + #set(COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR "" CACHE INTERNAL "Test COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR") + set(COMPILER_SUPPORTS_GCC_ATOMICS "" CACHE INTERNAL "Test COMPILER_SUPPORTS_GCC_ATOMICS") + set(HAVE_WL_VERSION_SCRIPT "" CACHE INTERNAL "Test HAVE_WL_VERSION_SCRIPT") + set(LINKER_SUPPORTS_WL_NO_UNDEFINED "" CACHE INTERNAL "Test LINKER_SUPPORTS_WL_NO_UNDEFINED") + set(ICONV_IN_LIBC "" CACHE INTERNAL "Test ICONV_IN_LIBC") + set(ICONV_IN_LIBICONV "" CACHE INTERNAL "Test ICONV_IN_LIBICONV") + #set(LIBC_HAS_WORKING_LIBUNWIND "" CACHE INTERNAL "Test LIBC_HAS_WORKING_LIBUNWIND") + #set(LIBUNWIND_HAS_WORKINGLIBUNWIND "" CACHE INTERNAL "Test LIBUNWIND_HAS_WORKINGLIBUNWIND") + set(HAVE_GETPAGESIZE "" CACHE INTERNAL "Have symbol getpagesize") + set(HAVE_SIGACTION "" CACHE INTERNAL "Have symbol sigaction") + set(HAVE_SA_SIGACTION "" CACHE INTERNAL "Have symbol sa_sigaction") + set(HAVE_SETJMP "" CACHE INTERNAL "Have symbol setjmp") + set(HAVE_NANOSLEEP "" CACHE INTERNAL "Have symbol nanosleep") + set(HAVE_GMTIME_R "" CACHE INTERNAL "Have symbol gmtime_r") + set(HAVE_LOCALTIME_R "" CACHE INTERNAL "Have symbol localtime_r") + set(HAVE_NL_LANGINFO "" CACHE INTERNAL "Have symbol nl_langinfo") + set(HAVE_SYSCONF "" CACHE INTERNAL "Have symbol sysconf") + set(HAVE_SYSCTLBYNAME "" CACHE INTERNAL "Have symbol sysctlbyname") + set(HAVE_GETAUXVAL "" CACHE INTERNAL "Have symbol getauxval") + set(HAVE_ELF_AUX_INFO "" CACHE INTERNAL "Have symbol elf_aux_info") + set(HAVE_POLL "" CACHE INTERNAL "Have symbol poll") + set(HAVE_MEMFD_CREATE "" CACHE INTERNAL "Have symbol memfd_create") + set(HAVE_POSIX_FALLOCATE "" CACHE INTERNAL "Have symbol posix_fallocate") + set(HAVE_DLOPEN_IN_LIBC "" CACHE INTERNAL "Have symbol dlopen") + + set(HAVE_GETHOSTNAME "" CACHE INTERNAL "Have symbol gethostname") + set(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR "" CACHE INTERNAL "Have symbol addchdir") + set(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP "" CACHE INTERNAL "Have symbol addchdir_np") + set(HAVE_FDATASYNC "" CACHE INTERNAL "Have symbol fdatasync") + + set(HAVE_SDL_FSOPS "1" CACHE INTERNAL "Enable SDL_FSOPS") + set(HAVE_SDL_LOCALE "1" CACHE INTERNAL "Enable SDL_LOCALE") + endfunction() +endif() diff --git a/libs/SDL3/cmake/SDL3Config.cmake.in b/libs/SDL3/cmake/SDL3Config.cmake.in index 4c6f1b6..a1190aa 100644 --- a/libs/SDL3/cmake/SDL3Config.cmake.in +++ b/libs/SDL3/cmake/SDL3Config.cmake.in @@ -34,7 +34,7 @@ endmacro() if(_sdl3_framework) set(SDL3_SDL3-static_FOUND TRUE) find_sdl3_static_dependencies() - find_package(SDL3-static CONFIG) + find_package(SDL3-static CONFIG QUIET) if(SDL3_SDL3-static_FOUND AND SDL3-static_FOUND) set(SDL3_SDL3-static_FOUND TRUE) endif() @@ -62,7 +62,7 @@ endif() # Find SDL3::SDL3_test if(_sdl3_framework) - find_package(SDL3_test CONFIG) + find_package(SDL3_test CONFIG QUIET) if(SDL3_test_FOUND) enable_language(OBJC) set(SDL3_SDL3_test_FOUND TRUE) diff --git a/libs/SDL3/cmake/macros.cmake b/libs/SDL3/cmake/macros.cmake index 3885aba..4889197 100644 --- a/libs/SDL3/cmake/macros.cmake +++ b/libs/SDL3/cmake/macros.cmake @@ -296,15 +296,15 @@ endfunction() function(check_linker_supports_version_file VAR) SDL_detect_linker() if(CMAKE_C_COMPILER_LINKER_ID MATCHES "^(MSVC)$") - set(LINKER_SUPPORTS_VERSION_SCRIPT FALSE) + set(${VAR} FALSE) else() cmake_push_check_state(RESET) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/dummy.sym" "n_0 {\n global:\n func;\n local: *;\n};\n") list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/dummy.sym") - check_c_source_compiles("int func(void) {return 0;} int main(int argc,char*argv[]){(void)argc;(void)argv;return func();}" LINKER_SUPPORTS_VERSION_SCRIPT FAIL_REGEX "(unsupported|syntax error|unrecognized option)") + check_c_source_compiles("int func(void) {return 0;} int main(int argc,char*argv[]){(void)argc;(void)argv;return func();}" ${VAR} FAIL_REGEX "(unsupported|syntax error|unrecognized option)") cmake_pop_check_state() endif() - set(${VAR} "${LINKER_SUPPORTS_VERSION_SCRIPT}" PARENT_SCOPE) + set(${VAR} "${${VAR}}" PARENT_SCOPE) endfunction() if(CMAKE_VERSION VERSION_LESS 3.18) @@ -334,6 +334,29 @@ if(APPLE) endif() endif() +function(PrintEnabledBackends _SUBSYS _REGEXP) + get_cmake_property(_ALLVARS VARIABLES) + foreach(_VAR IN LISTS _ALLVARS) + if(_VAR AND _VAR MATCHES "${_REGEXP}") + string(TOLOWER "${CMAKE_MATCH_1}" _LOWERED) + if(NOT _LOWERED MATCHES "available|default|dynamic") # a little hack + if(${_VAR}_DYNAMIC) + list(APPEND _ENABLED_BACKENDS "${_LOWERED}(dynamic)") + else() + list(APPEND _ENABLED_BACKENDS "${_LOWERED}") + endif() + endif() + endif() + endforeach() + + if(_ENABLED_BACKENDS STREQUAL "") + set(_SPACEDOUT "(none)") + else() + string(REPLACE ";" " " _SPACEDOUT "${_ENABLED_BACKENDS}") + endif() + message(STATUS " ${_SUBSYS}: ${_SPACEDOUT}") +endfunction() + function(SDL_PrintSummary) ##### Info output ##### message(STATUS "") @@ -362,13 +385,23 @@ function(SDL_PrintSummary) message(STATUS "") message(STATUS " Build Shared Library: ${SDL_SHARED}") message(STATUS " Build Static Library: ${SDL_STATIC}") - if(SDL_STATIC) - message(STATUS " Build Static Library with Position Independent Code: ${SDL_STATIC_PIC}") - endif() if(APPLE) message(STATUS " Build libraries as Apple Framework: ${SDL_FRAMEWORK}") endif() message(STATUS "") + + message(STATUS "Enabled backends:") + PrintEnabledBackends("Video drivers" "^SDL_VIDEO_DRIVER_([A-Z0-9]*)$") + if(SDL_VIDEO_DRIVER_X11) + PrintEnabledBackends("X11 libraries" "^SDL_VIDEO_DRIVER_X11_([A-Z0-9]*)$") + endif() + PrintEnabledBackends("Render drivers" "^SDL_VIDEO_RENDER_([A-Z0-9_]*)$") + PrintEnabledBackends("GPU drivers" "^SDL_GPU_([A-Z0-9]*)$") + PrintEnabledBackends("Audio drivers" "^SDL_AUDIO_DRIVER_([A-Z0-9]*)$") + PrintEnabledBackends("Joystick drivers" "^SDL_JOYSTICK_([A-Z0-9]*)$") + PrintEnabledBackends("Camera drivers" "^SDL_CAMERA_DRIVER_([A-Z0-9]*)$") + message(STATUS "") + if(UNIX) message(STATUS "If something was not detected, although the libraries") message(STATUS "were installed, then make sure you have set the") @@ -385,7 +418,7 @@ function(SDL_PrintSummary) "Most likely, this is not wanted." "\n" "On Linux, install the packages listed at " - "https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md#build-dependencies " + "https://wiki.libsdl.org/SDL3/README-linux#build-dependencies " "\n" "If you really don't need desktop windows, the documentation tells you how to skip this check. " "https://github.com/libsdl-org/SDL/blob/main/docs/README-cmake.md#cmake-fails-to-build-without-x11-or-wayland-support\n" @@ -395,6 +428,22 @@ function(SDL_PrintSummary) endif() endfunction() +function(SDL_missing_dependency NAME OPTION) + if(LINUX) + message( FATAL_ERROR + "Couldn't find dependency package for ${NAME}. Please install the needed packages or configure with -D${OPTION}=OFF" + "\n" + "The full set of dependencies is available at " + "https://wiki.libsdl.org/SDL3/README-linux#build-dependencies " + "\n" + ) + else() + message( FATAL_ERROR + "Couldn't find dependency package for ${NAME}. Please install the needed packages or configure with -D${OPTION}=OFF" + ) + endif() +endfunction() + function(SDL_install_pdb TARGET DIRECTORY) get_property(type TARGET ${TARGET} PROPERTY TYPE) if(type MATCHES "^(SHARED_LIBRARY|EXECUTABLE)$") diff --git a/libs/SDL3/cmake/sdlchecks.cmake b/libs/SDL3/cmake/sdlchecks.cmake index d321e71..bb8a97d 100644 --- a/libs/SDL3/cmake/sdlchecks.cmake +++ b/libs/SDL3/cmake/sdlchecks.cmake @@ -1,3 +1,10 @@ +macro(check_c_source_compiles_static SOURCE VAR) + set(saved_CMAKE_TRY_COMPILE_TARGET_TYPE "${CMAKE_TRY_COMPILE_TARGET_TYPE}") + set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY") + check_c_source_compiles("${SOURCE}" ${VAR} ${ARGN}) + set(CMAKE_TRY_COMPILE_TARGET_TYPE "${saved_CMAKE_TRY_COMPILE_TARGET_TYPE}") +endmacro() + macro(FindLibraryAndSONAME _LIB) cmake_parse_arguments(_FLAS "" "" "LIBDIRS" ${ARGN}) @@ -274,10 +281,11 @@ macro(CheckX11) set(Xrandr_PKG_CONFIG_SPEC xrandr) set(Xrender_PKG_CONFIG_SPEC xrender) set(Xss_PKG_CONFIG_SPEC xscrnsaver) + set(Xtst_PKG_CONFIG_SPEC xtst) find_package(X11) - foreach(_LIB X11 Xext Xcursor Xi Xfixes Xrandr Xrender Xss) + foreach(_LIB X11 Xext Xcursor Xi Xfixes Xrandr Xrender Xss Xtst) get_filename_component(_libdir "${X11_${_LIB}_LIB}" DIRECTORY) FindLibraryAndSONAME("${_LIB}" LIBDIRS ${_libdir}) endforeach() @@ -310,6 +318,7 @@ macro(CheckX11) find_file(HAVE_XSYNC_H NAMES "X11/extensions/sync.h" HINTS "${X11_INCLUDEDIR}") find_file(HAVE_XSS_H NAMES "X11/extensions/scrnsaver.h" HINTS "${X11_INCLUDEDIR}") find_file(HAVE_XSHAPE_H NAMES "X11/extensions/shape.h" HINTS "${X11_INCLUDEDIR}") + find_file(HAVE_XTEST_H NAMES "X11/extensions/XTest.h" HINTS "${X11_INCLUDEDIR}") find_file(HAVE_XDBE_H NAMES "X11/extensions/Xdbe.h" HINTS "${X11_INCLUDEDIR}") find_file(HAVE_XEXT_H NAMES "X11/extensions/Xext.h" HINTS "${X11_INCLUDEDIR}") @@ -367,7 +376,7 @@ macro(CheckX11) list(APPEND CMAKE_REQUIRED_LIBRARIES ${X11_LIB}) - check_c_source_compiles(" + check_c_source_compiles_static(" #include int main(int argc, char **argv) { Display *display; @@ -381,51 +390,90 @@ macro(CheckX11) set(SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 1) endif() - check_symbol_exists(XkbLookupKeySym "X11/Xlib.h;X11/XKBlib.h" SDL_VIDEO_DRIVER_X11_HAS_XKBLOOKUPKEYSYM) + check_include_file("X11/XKBlib.h" SDL_VIDEO_DRIVER_X11_HAS_XKBLIB) - if(SDL_X11_XCURSOR AND HAVE_XCURSOR_H AND XCURSOR_LIB) - set(HAVE_X11_XCURSOR TRUE) - if(HAVE_X11_SHARED) - set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR "\"${XCURSOR_LIB_SONAME}\"") + if(SDL_X11_XCURSOR) + if (HAVE_XCURSOR_H AND XCURSOR_LIB) + set(HAVE_X11_XCURSOR TRUE) + if(HAVE_X11_SHARED) + set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR "\"${XCURSOR_LIB_SONAME}\"") + else() + sdl_link_dependency(xcursor LIBS X11::Xcursor CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xcursor_PKG_CONFIG_SPEC}) + endif() + set(SDL_VIDEO_DRIVER_X11_XCURSOR 1) else() - sdl_link_dependency(xcursor LIBS X11::Xcursor CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xcursor_PKG_CONFIG_SPEC}) + SDL_missing_dependency(XCURSOR SDL_X11_XCURSOR) endif() - set(SDL_VIDEO_DRIVER_X11_XCURSOR 1) endif() - if(SDL_X11_XDBE AND HAVE_XDBE_H) - set(HAVE_X11_XDBE TRUE) - set(SDL_VIDEO_DRIVER_X11_XDBE 1) + if(SDL_X11_XDBE) + if(HAVE_XDBE_H) + set(HAVE_X11_XDBE TRUE) + set(SDL_VIDEO_DRIVER_X11_XDBE 1) + else() + SDL_missing_dependency(XDBE SDL_X11_XDBE) + endif() endif() - if(SDL_X11_XINPUT AND HAVE_XINPUT2_H AND XI_LIB) - set(HAVE_X11_XINPUT TRUE) - if(HAVE_X11_SHARED) - set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 "\"${XI_LIB_SONAME}\"") - else() - sdl_link_dependency(xi LIBS X11::Xi CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xi_PKG_CONFIG_SPEC}) - endif() - set(SDL_VIDEO_DRIVER_X11_XINPUT2 1) + if(SDL_X11_XINPUT) + if(HAVE_XINPUT2_H AND XI_LIB) + set(HAVE_X11_XINPUT TRUE) + if(HAVE_X11_SHARED) + set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 "\"${XI_LIB_SONAME}\"") + else() + sdl_link_dependency(xi LIBS X11::Xi CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xi_PKG_CONFIG_SPEC}) + endif() + set(SDL_VIDEO_DRIVER_X11_XINPUT2 1) - # Check for multitouch - check_c_source_compiles(" - #include - #include - #include - int event_type = XI_TouchBegin; - XITouchClassInfo *t; - Status XIAllowTouchEvents(Display *a,int b,unsigned int c,Window d,int f) { - return (Status)0; - } - int main(int argc, char **argv) { return 0; }" HAVE_XINPUT2_MULTITOUCH) - if(HAVE_XINPUT2_MULTITOUCH) - set(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH 1) + # Check for scroll info + check_c_source_compiles(" + #include + #include + #include + XIScrollClassInfo *s; + int main(int argc, char **argv) {}" HAVE_XINPUT2_SCROLLINFO) + if(HAVE_XINPUT2_SCROLLINFO) + set(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO 1) + endif() + + # Check for multitouch + check_c_source_compiles_static(" + #include + #include + #include + int event_type = XI_TouchBegin; + XITouchClassInfo *t; + Status XIAllowTouchEvents(Display *a,int b,unsigned int c,Window d,int f) { + return (Status)0; + } + int main(int argc, char **argv) { return 0; }" HAVE_XINPUT2_MULTITOUCH) + if(HAVE_XINPUT2_MULTITOUCH) + set(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH 1) + endif() + + # Check for gesture + check_c_source_compiles(" + #include + #include + #include + int event_type = XI_GesturePinchBegin; + XIGesturePinchEvent *t; + Status XIAllowTouchEvents(Display *a,int b,unsigned int c,Window d,int f) { + return (Status)0; + } + int main(int argc, char **argv) { return 0; }" HAVE_XINPUT2_GESTURE) + if(HAVE_XINPUT2_GESTURE) + set(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_GESTURE 1) + endif() + + else() + SDL_missing_dependency(XINPUT SDL_X11_XINPUT) endif() endif() # check along with XInput2.h because we use Xfixes with XIBarrierReleasePointer if(SDL_X11_XFIXES AND HAVE_XFIXES_H_ AND HAVE_XINPUT2_H) - check_c_source_compiles(" + check_c_source_compiles_static(" #include #include #include @@ -433,44 +481,78 @@ macro(CheckX11) BarrierEventID b; int main(int argc, char **argv) { return 0; }" HAVE_XFIXES_H) endif() - if(SDL_X11_XFIXES AND HAVE_XFIXES_H AND HAVE_XINPUT2_H AND XFIXES_LIB) - if(HAVE_X11_SHARED) - set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XFIXES "\"${XFIXES_LIB_SONAME}\"") + if(SDL_X11_XFIXES) + if (HAVE_XFIXES_H AND HAVE_XINPUT2_H AND XFIXES_LIB) + if(HAVE_X11_SHARED) + set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XFIXES "\"${XFIXES_LIB_SONAME}\"") + else() + sdl_link_dependency(xfixes LIBS X11::Xfixes CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xfixes_PKG_CONFIG_SPEC}) + endif() + set(SDL_VIDEO_DRIVER_X11_XFIXES 1) + set(HAVE_X11_XFIXES TRUE) else() - sdl_link_dependency(xfixes LIBS X11::Xfixes CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xfixes_PKG_CONFIG_SPEC}) + SDL_missing_dependency(XFIXES SDL_X11_XFIXES) endif() - set(SDL_VIDEO_DRIVER_X11_XFIXES 1) - set(HAVE_X11_XFIXES TRUE) endif() - if(SDL_X11_XSYNC AND HAVE_XSYNC_H AND XEXT_LIB) - set(SDL_VIDEO_DRIVER_X11_XSYNC 1) - set(HAVE_X11_XSYNC TRUE) - endif() - - if(SDL_X11_XRANDR AND HAVE_XRANDR_H AND XRANDR_LIB) - if(HAVE_X11_SHARED) - set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "\"${XRANDR_LIB_SONAME}\"") + if(SDL_X11_XSYNC) + if(HAVE_XSYNC_H AND XEXT_LIB) + set(SDL_VIDEO_DRIVER_X11_XSYNC 1) + set(HAVE_X11_XSYNC TRUE) else() - sdl_link_dependency(xrandr LIBS X11::Xrandr CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xrandr_PKG_CONFIG_SPEC}) + SDL_missing_dependency(XSYNC SDL_X11_XSYNC) endif() - set(SDL_VIDEO_DRIVER_X11_XRANDR 1) - set(HAVE_X11_XRANDR TRUE) endif() - if(SDL_X11_XSCRNSAVER AND HAVE_XSS_H AND XSS_LIB) - if(HAVE_X11_SHARED) - set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "\"${XSS_LIB_SONAME}\"") + if(SDL_X11_XRANDR) + if(HAVE_XRANDR_H AND XRANDR_LIB) + if(HAVE_X11_SHARED) + set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "\"${XRANDR_LIB_SONAME}\"") + else() + sdl_link_dependency(xrandr LIBS X11::Xrandr CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xrandr_PKG_CONFIG_SPEC}) + endif() + set(SDL_VIDEO_DRIVER_X11_XRANDR 1) + set(HAVE_X11_XRANDR TRUE) else() - sdl_link_dependency(xss LIBS X11::Xss CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xss_PKG_CONFIG_SPEC}) + SDL_missing_dependency(XRANDR SDL_X11_XRANDR) endif() - set(SDL_VIDEO_DRIVER_X11_XSCRNSAVER 1) - set(HAVE_X11_XSCRNSAVER TRUE) endif() - if(SDL_X11_XSHAPE AND HAVE_XSHAPE_H) - set(SDL_VIDEO_DRIVER_X11_XSHAPE 1) - set(HAVE_X11_XSHAPE TRUE) + if(SDL_X11_XSCRNSAVER) + if(HAVE_XSS_H AND XSS_LIB) + if(HAVE_X11_SHARED) + set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "\"${XSS_LIB_SONAME}\"") + else() + sdl_link_dependency(xss LIBS X11::Xss CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xss_PKG_CONFIG_SPEC}) + endif() + set(SDL_VIDEO_DRIVER_X11_XSCRNSAVER 1) + set(HAVE_X11_XSCRNSAVER TRUE) + else() + SDL_missing_dependency(XSCRNSAVER SDL_X11_XSCRNSAVER) + endif() + endif() + + if(SDL_X11_XSHAPE) + if(HAVE_XSHAPE_H) + set(SDL_VIDEO_DRIVER_X11_XSHAPE 1) + set(HAVE_X11_XSHAPE TRUE) + else() + SDL_missing_dependency(XSHAPE SDL_X11_XSHAPE) + endif() + endif() + + if(SDL_X11_XTEST) + if(HAVE_XTEST_H AND XTST_LIB) + if(HAVE_X11_SHARED) + set(SDL_VIDEO_DRIVER_X11_DYNAMIC_XTEST "\"${XTST_LIB_SONAME}\"") + else() + sdl_link_dependency(xtst LIBS X11::Xtst CMAKE_MODULE X11 PKG_CONFIG_SPECS ${Xtst_PKG_CONFIG_SPEC}) + endif() + set(SDL_VIDEO_DRIVER_X11_XTEST 1) + set(HAVE_X11_XTEST TRUE) + else() + SDL_missing_dependency(XTEST SDL_X11_XTEST) + endif() endif() endif() endif() @@ -481,6 +563,56 @@ macro(CheckX11) cmake_pop_check_state() endmacro() +macro(CheckFribidi) + if(SDL_FRIBIDI) + set(FRIBIDI_PKG_CONFIG_SPEC fribidi) + set(PC_FRIBIDI_FOUND FALSE) + if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_FRIBIDI IMPORTED_TARGET ${FRIBIDI_PKG_CONFIG_SPEC}) + endif() + if(PC_FRIBIDI_FOUND) + set(HAVE_FRIBIDI TRUE) + set(HAVE_FRIBIDI_H 1) + if(SDL_FRIBIDI_SHARED AND NOT HAVE_SDL_LOADSO) + message(WARNING "You must have SDL_LoadObject() support for dynamic fribidi loading") + endif() + FindLibraryAndSONAME("fribidi" LIBDIRS ${PC_FRIBIDI_LIBRARY_DIRS}) + if(SDL_FRIBIDI_SHARED AND FRIBIDI_LIB AND HAVE_SDL_LOADSO) + set(SDL_FRIBIDI_DYNAMIC "\"${FRIBIDI_LIB_SONAME}\"") + set(HAVE_FRIBIDI_SHARED TRUE) + sdl_include_directories(PRIVATE SYSTEM $) + else() + sdl_link_dependency(fribidi LIBS PkgConfig::PC_FRIBIDI PKG_CONFIG_PREFIX PC_FRIBIDI PKG_CONFIG_SPECS ${FRIBIDI_PKG_CONFIG_SPEC}) + endif() + endif() + endif() +endmacro() + +macro(CheckLibThai) + if(SDL_LIBTHAI) + set(LIBTHAI_PKG_CONFIG_SPEC libthai) + set(PC_LIBTHAI_FOUND FALSE) + if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_LIBTHAI IMPORTED_TARGET ${LIBTHAI_PKG_CONFIG_SPEC}) + endif() + if(PC_LIBTHAI_FOUND) + set(HAVE_LIBTHAI TRUE) + set(HAVE_LIBTHAI_H 1) + if(SDL_LIBTHAI_SHARED AND NOT HAVE_SDL_LOADSO) + message(WARNING "You must have SDL_LoadObject() support for dynamic libthai loading") + endif() + FindLibraryAndSONAME("thai" LIBDIRS ${PC_LIBTHAI_LIBRARY_DIRS}) + if(SDL_LIBTHAI_SHARED AND THAI_LIB AND HAVE_SDL_LOADSO) + set(SDL_LIBTHAI_DYNAMIC "\"${THAI_LIB_SONAME}\"") + set(HAVE_LIBTHAI_SHARED TRUE) + sdl_include_directories(PRIVATE SYSTEM $) + else() + sdl_link_dependency(libthai LIBS PkgConfig::PC_LIBTHAI PKG_CONFIG_PREFIX PC_LIBTHAI PKG_CONFIG_SPECS ${LIBTHAI_PKG_CONFIG_SPEC}) + endif() + endif() + endif() +endmacro() + macro(WaylandProtocolGen _SCANNER _CODE_MODE _XML _PROTL) set(_WAYLAND_PROT_C_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-protocol.c") set(_WAYLAND_PROT_H_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-client-protocol.h") @@ -575,6 +707,18 @@ macro(CheckWayland) sdl_link_dependency(wayland LIBS PkgConfig::PC_WAYLAND PKG_CONFIG_PREFIX PC_WAYLAND PKG_CONFIG_SPECS ${WAYLAND_PKG_CONFIG_SPEC}) endif() + # xkbcommon doesn't provide internal version defines, so generate them here. + if (PC_WAYLAND_xkbcommon_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)") + set(SDL_XKBCOMMON_VERSION_MAJOR ${CMAKE_MATCH_1}) + set(SDL_XKBCOMMON_VERSION_MINOR ${CMAKE_MATCH_2}) + set(SDL_XKBCOMMON_VERSION_PATCH ${CMAKE_MATCH_3}) + else() + message(WARNING "Failed to parse xkbcommon version; defaulting to lowest supported (0.5.0)") + set(SDL_XKBCOMMON_VERSION_MAJOR 0) + set(SDL_XKBCOMMON_VERSION_MINOR 5) + set(SDL_XKBCOMMON_VERSION_PATCH 0) + endif() + if(SDL_WAYLAND_LIBDECOR) set(LibDecor_PKG_CONFIG_SPEC libdecor-0) pkg_check_modules(PC_LIBDECOR IMPORTED_TARGET ${LibDecor_PKG_CONFIG_SPEC}) @@ -681,13 +825,29 @@ macro(CheckOpenVR) endif() endmacro() +# Requires +# - N/A +macro(FindOpenGLHeaders) + find_package(OpenGL MODULE) + # OPENGL_INCLUDE_DIRS is preferred over OPENGL_INCLUDE_DIR, but was only added in 3.29, + # If the CMake minimum version is changed to be >= 3.29, the second check should be removed. + if(OPENGL_INCLUDE_DIRS) + list(APPEND CMAKE_REQUIRED_INCLUDES ${OPENGL_INCLUDE_DIRS}) + elseif(OPENGL_INCLUDE_DIR) + list(APPEND CMAKE_REQUIRED_INCLUDES ${OPENGL_INCLUDE_DIR}) + endif() +endmacro() + # Requires: # - nada macro(CheckGLX) if(SDL_OPENGL) + cmake_push_check_state() + FindOpenGLHeaders() check_c_source_compiles(" #include int main(int argc, char** argv) { return 0; }" HAVE_OPENGL_GLX) + cmake_pop_check_state() if(HAVE_OPENGL_GLX AND NOT HAVE_ROCKCHIP) set(SDL_VIDEO_OPENGL_GLX 1) endif() @@ -721,10 +881,13 @@ endmacro() # - nada macro(CheckOpenGL) if(SDL_OPENGL) + cmake_push_check_state() + FindOpenGLHeaders() check_c_source_compiles(" #include #include int main(int argc, char** argv) { return 0; }" HAVE_OPENGL) + cmake_pop_check_state() if(HAVE_OPENGL) set(SDL_VIDEO_OPENGL 1) set(SDL_VIDEO_RENDER_OGL 1) @@ -737,6 +900,7 @@ endmacro() macro(CheckOpenGLES) if(SDL_OPENGLES) cmake_push_check_state() + FindOpenGLHeaders() list(APPEND CMAKE_REQUIRED_INCLUDES "${SDL3_SOURCE_DIR}/src/video/khronos") check_c_source_compiles(" #include @@ -795,7 +959,7 @@ endmacro() macro(CheckPTHREAD) cmake_push_check_state() if(SDL_PTHREADS) - if(ANDROID) + if(ANDROID OR SDL_PTHREADS_PRIVATE) # the android libc provides built-in support for pthreads, so no # additional linking or compile flags are necessary elseif(LINUX) @@ -842,6 +1006,9 @@ macro(CheckPTHREAD) set(PTHREAD_LDFLAGS "-pthread") elseif(QNX) # pthread support is baked in + elseif(HURD) + set(PTHREAD_CFLAGS "-D_REENTRANT") + set(PTHREAD_LDFLAGS "-pthread") else() set(PTHREAD_CFLAGS "-D_REENTRANT") set(PTHREAD_LDFLAGS "-lpthread") @@ -946,22 +1113,22 @@ macro(CheckUSBHID) cmake_push_check_state() check_library_exists(usbhid hid_init "" LIBUSBHID) if(LIBUSBHID) - check_include_file(usbhid.h HAVE_USBHID_H) + check_include_files("stdint.h;usbhid.h" HAVE_USBHID_H) if(HAVE_USBHID_H) set(USB_CFLAGS "-DHAVE_USBHID_H") endif() - check_include_file(libusbhid.h HAVE_LIBUSBHID_H) + check_include_files("stdint.h;libusbhid.h" HAVE_LIBUSBHID_H) if(HAVE_LIBUSBHID_H) string(APPEND USB_CFLAGS " -DHAVE_LIBUSBHID_H") endif() set(USB_LIBS ${USB_LIBS} usbhid) else() - check_include_file(usb.h HAVE_USB_H) + check_include_files("stdint.h;usb.h" HAVE_USB_H) if(HAVE_USB_H) set(USB_CFLAGS "-DHAVE_USB_H") endif() - check_include_file(libusb.h HAVE_LIBUSB_H) + check_include_files("stdint.h;libusb.h" HAVE_LIBUSB_H) if(HAVE_LIBUSB_H) string(APPEND USB_CFLAGS " -DHAVE_LIBUSB_H") endif() @@ -974,7 +1141,7 @@ macro(CheckUSBHID) string(APPEND CMAKE_REQUIRED_FLAGS " ${USB_CFLAGS}") list(APPEND CMAKE_REQUIRED_LIBRARIES ${USB_LIBS}) check_c_source_compiles(" - #include + #include #if defined(HAVE_USB_H) #include #endif @@ -1000,7 +1167,7 @@ macro(CheckUSBHID) }" HAVE_USBHID) if(HAVE_USBHID) check_c_source_compiles(" - #include + #include #if defined(HAVE_USB_H) #include #endif @@ -1028,7 +1195,7 @@ macro(CheckUSBHID) endif() check_c_source_compiles(" - #include + #include #if defined(HAVE_USB_H) #include #endif @@ -1093,7 +1260,7 @@ macro(CheckHIDAPI) if(LibUSB_FOUND) cmake_push_check_state() list(APPEND CMAKE_REQUIRED_LIBRARIES LibUSB::LibUSB) - check_c_source_compiles(" + check_c_source_compiles_static(" #include #include int main(int argc, char **argv) { @@ -1103,12 +1270,15 @@ macro(CheckHIDAPI) cmake_pop_check_state() if(HAVE_LIBUSB_H) set(HAVE_LIBUSB TRUE) - target_get_dynamic_library(dynamic_libusb LibUSB::LibUSB) - if(SDL_HIDAPI_LIBUSB_SHARED AND dynamic_libusb) - set(HAVE_HIDAPI_LIBUSB_SHARED ON) - set(SDL_LIBUSB_DYNAMIC "\"${dynamic_libusb}\"") - sdl_link_dependency(hidapi INCLUDES $) - else() + if(SDL_HIDAPI_LIBUSB_SHARED) + target_get_dynamic_library(dynamic_libusb LibUSB::LibUSB) + if(dynamic_libusb) + set(HAVE_HIDAPI_LIBUSB_SHARED ON) + set(SDL_LIBUSB_DYNAMIC "\"${dynamic_libusb}\"") + sdl_link_dependency(hidapi INCLUDES $) + endif() + endif() + if(NOT HAVE_HIDAPI_LIBUSB_SHARED) sdl_link_dependency(hidapi LIBS LibUSB::LibUSB PKG_CONFIG_SPECS "${LibUSB_PKG_CONFIG_SPEC}" CMAKE_MODULE LibUSB) endif() endif() @@ -1124,6 +1294,7 @@ macro(CheckHIDAPI) set(HAVE_SDL_JOYSTICK TRUE) set(HAVE_HIDAPI_JOYSTICK TRUE) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/joystick/hidapi/*.c") + sdl_glob_sources("${SDL3_SOURCE_DIR}/src/haptic/hidapi/*.c") endif() else() set(SDL_HIDAPI_DISABLED 1) diff --git a/libs/SDL3/cmake/sdltargets.cmake b/libs/SDL3/cmake/sdlcommands.cmake similarity index 94% rename from libs/SDL3/cmake/sdltargets.cmake rename to libs/SDL3/cmake/sdlcommands.cmake index d658eb3..58889d1 100644 --- a/libs/SDL3/cmake/sdltargets.cmake +++ b/libs/SDL3/cmake/sdlcommands.cmake @@ -1,18 +1,40 @@ add_library(SDL3-collector INTERFACE) add_library(SDL3_test-collector INTERFACE) +function(sdl_source_group prefix_directory) + set(prefixed_list) + file(TO_CMAKE_PATH ${prefix_directory} normalized_prefix_path) + foreach(file in ${ARGN}) + file(TO_CMAKE_PATH ${file} normalized_path) + string(FIND "${normalized_path}" ${normalized_prefix_path} position) + if("${position}" EQUAL 0) + list(APPEND prefixed_list ${file}) + endif() + endforeach() + if(prefixed_list) + source_group(TREE ${prefix_directory} FILES ${prefixed_list}) + endif() +endfunction() + # Use sdl_glob_sources to add glob sources to SDL3-shared, to SDL3-static, or to both. function(sdl_glob_sources) cmake_parse_arguments(ARGS "" "" "SHARED;STATIC" ${ARGN}) - file(GLOB shared_sources ${ARGS_SHARED}) - file(GLOB static_sources ${ARGS_STATIC}) - file(GLOB both_sources ${ARGS_UNPARSED_ARGUMENTS}) + if(ARGS_SHARED) + file(GLOB shared_sources CONFIGURE_DEPENDS ${ARGS_SHARED}) + endif() + if(ARGS_STATIC) + file(GLOB static_sources CONFIGURE_DEPENDS ${ARGS_STATIC}) + endif() + if(ARGS_UNPARSED_ARGUMENTS) + file(GLOB both_sources CONFIGURE_DEPENDS ${ARGS_UNPARSED_ARGUMENTS}) + endif() if(TARGET SDL3-shared) target_sources(SDL3-shared PRIVATE ${shared_sources} ${both_sources}) endif() if(TARGET SDL3-static) target_sources(SDL3-static PRIVATE ${static_sources} ${both_sources}) endif() + sdl_source_group(${PROJECT_SOURCE_DIR} ${shared_sources} ${shared_sources} ${both_sources}) set_property(TARGET SDL3-collector APPEND PROPERTY INTERFACE_SOURCES ${shared_sources} ${static_sources} ${both_sources}) endfunction() @@ -25,6 +47,7 @@ function(sdl_sources) if(TARGET SDL3-static) target_sources(SDL3-static PRIVATE ${ARGS_STATIC} ${ARGS_UNPARSED_ARGUMENTS}) endif() + sdl_source_group(${PROJECT_SOURCE_DIR} ${ARGS_SHARED} ${ARGS_STATIC} ${ARGS_UNPARSED_ARGUMENTS}) set_property(TARGET SDL3-collector APPEND PROPERTY INTERFACE_SOURCES ${ARGS_SHARED} ${ARGS_STATIC} ${ARGS_UNPARSED_ARGUMENTS}) endfunction() @@ -131,7 +154,7 @@ function(sdl_compile_options) target_compile_options(SDL3-static ${visibility} ${escaped_opts}) endif() if(NOT ARGS_NO_EXPORT AND (ARGS_PUBLIC OR ARGS_INTERFACE)) - set_property(TARGET SDL3-collector APPEND PROPERTY INTERFACE_COMPILE_COMPILE_OPTIONS "${ARGS_UNPARSED_ARGUMENTS}") + set_property(TARGET SDL3-collector APPEND PROPERTY INTERFACE_COMPILE_OPTIONS "${ARGS_UNPARSED_ARGUMENTS}") endif() endfunction() diff --git a/libs/SDL3/cmake/sdlcompilers.cmake b/libs/SDL3/cmake/sdlcompilers.cmake index c3d8c47..ab62c50 100644 --- a/libs/SDL3/cmake/sdlcompilers.cmake +++ b/libs/SDL3/cmake/sdlcompilers.cmake @@ -3,6 +3,7 @@ macro(SDL_DetectCompiler) set(USE_GCC FALSE) set(USE_INTELCC FALSE) set(USE_QCC FALSE) + set(USE_TCC FALSE) if(CMAKE_C_COMPILER_ID MATCHES "Clang|IntelLLVM") set(USE_CLANG TRUE) # Visual Studio 2019 v16.2 added support for Clang/LLVM. @@ -16,6 +17,8 @@ macro(SDL_DetectCompiler) set(USE_INTELCC TRUE) elseif(CMAKE_C_COMPILER_ID MATCHES "QCC") set(USE_QCC TRUE) + elseif(CMAKE_C_COMPILER_ID MATCHES "TinyCC") + set(USE_TCC TRUE) endif() endmacro() @@ -39,7 +42,7 @@ function(SDL_AddCommonCompilerFlags TARGET) cmake_pop_check_state() endif() - if(USE_GCC OR USE_CLANG OR USE_INTELCC OR USE_QCC) + if(USE_GCC OR USE_CLANG OR USE_INTELCC OR USE_QCC OR USE_TCC) if(MINGW) # See if GCC's -gdwarf-4 is supported # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101377 for why this is needed on Windows @@ -159,4 +162,68 @@ function(SDL_AddCommonCompilerFlags TARGET) sdl_target_compile_option_all_languages(${TARGET} "-fdiagnostics-color=always") endif() endif() + + if(USE_TCC) + sdl_target_compile_option_all_languages(${TARGET} "-DSTBI_NO_SIMD") + endif() +endfunction() + +function(check_x86_source_compiles BODY VAR) + if(ARGN) + message(FATAL_ERROR "Unknown arguments: ${ARGN}") + endif() + if(APPLE_MULTIARCH AND (SDL_CPU_X86 OR SDL_CPU_X64)) + set(test_conditional 1) + else() + set(test_conditional 0) + endif() + check_c_source_compiles(" + #if ${test_conditional} + # if defined(__i386__) || defined(__x86_64__) + # define test_enabled 1 + # else + # define test_enabled 0 /* feign success in Apple multi-arch configs */ + # endif + #else /* test normally */ + # define test_enabled 1 + #endif + #if test_enabled + ${BODY} + #else + int main(int argc, char *argv[]) { + (void)argc; + (void)argv; + return 0; + } + #endif" ${VAR}) +endfunction() + +function(check_arm_source_compiles BODY VAR) + if(ARGN) + message(FATAL_ERROR "Unknown arguments: ${ARGN}") + endif() + if(APPLE_MULTIARCH AND (SDL_CPU_ARM32 OR SDL_CPU_ARM64)) + set(test_conditional 1) + else() + set(test_conditional 0) + endif() + check_c_source_compiles(" + #if ${test_conditional} + # if defined(__arm__) || defined(__aarch64__) + # define test_enabled 1 + # else + # define test_enabled 0 /* feign success in Apple multi-arch configs */ + # endif + #else /* test normally */ + # define test_enabled 1 + #endif + #if test_enabled + ${BODY} + #else + int main(int argc, char *argv[]) { + (void)argc; + (void)argv; + return 0; + } + #endif" ${VAR}) endfunction() diff --git a/libs/SDL3/cmake/sdlcpu.cmake b/libs/SDL3/cmake/sdlcpu.cmake index 0c2ca1f..a27e732 100644 --- a/libs/SDL3/cmake/sdlcpu.cmake +++ b/libs/SDL3/cmake/sdlcpu.cmake @@ -1,18 +1,18 @@ function(SDL_DetectTargetCPUArchitectures DETECTED_ARCHS) - set(known_archs EMSCRIPTEN ARM32 ARM64 ARM64EC LOONGARCH64 POWERPC32 POWERPC64 X86 X64) + set(known_archs EMSCRIPTEN ARM32 ARM64 ARM64EC LOONGARCH64 POWERPC32 POWERPC64 RISCV32 RISCV64 X86 X64) if(APPLE AND CMAKE_OSX_ARCHITECTURES) foreach(known_arch IN LISTS known_archs) - set(SDL_CPU_${known_arch} "0") + set(SDL_CPU_${known_arch} "0" PARENT_SCOPE) endforeach() set(detected_archs) foreach(osx_arch IN LISTS CMAKE_OSX_ARCHITECTURES) if(osx_arch STREQUAL "x86_64") - set(SDL_CPU_X64 "1") + set(SDL_CPU_X64 "1" PARENT_SCOPE) list(APPEND detected_archs "X64") elseif(osx_arch STREQUAL "arm64") - set(SDL_CPU_ARM64 "1") + set(SDL_CPU_ARM64 "1" PARENT_SCOPE) list(APPEND detected_archs "ARM64") endif() endforeach() @@ -39,6 +39,8 @@ function(SDL_DetectTargetCPUArchitectures DETECTED_ARCHS) set(arch_check_LOONGARCH64 "defined(__loongarch64)") set(arch_check_POWERPC32 "(defined(__PPC__) || defined(__powerpc__)) && !defined(__powerpc64__)") set(arch_check_POWERPC64 "defined(__PPC64__) || defined(__powerpc64__)") + set(arch_check_RISCV32 "defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 32") + set(arch_check_RISCV64 "defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64") set(arch_check_X86 "defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)") set(arch_check_X64 "(defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)) && !defined(_M_ARM64EC)") diff --git a/libs/SDL3/cmake/sdlplatform.cmake b/libs/SDL3/cmake/sdlplatform.cmake index 677b187..f16fe3f 100644 --- a/libs/SDL3/cmake/sdlplatform.cmake +++ b/libs/SDL3/cmake/sdlplatform.cmake @@ -22,8 +22,12 @@ function(SDL_DetectCMakePlatform) set(sdl_cmake_platform Haiku) elseif(NINTENDO_3DS) set(sdl_cmake_platform n3ds) + elseif(NGAGESDK) + set(sdl_cmake_platform ngage) elseif(PS2) set(sdl_cmake_platform ps2) + elseif(RISCOS) + set(sdl_cmake_platform RISCOS) elseif(VITA) set(sdl_cmake_platform Vita) elseif(CMAKE_SYSTEM_NAME MATCHES ".*Linux") @@ -34,8 +38,9 @@ function(SDL_DetectCMakePlatform) set(sdl_cmake_platform NetBSD) elseif(CMAKE_SYSTEM_NAME MATCHES "kOpenBSD.*|OpenBSD.*") set(sdl_cmake_platform OpenBSD) - elseif(CMAKE_SYSTEM_NAME MATCHES ".*GNU.*") - set(sdl_cmake_platform GNU) + elseif(CMAKE_SYSTEM_NAME STREQUAL "GNU") + # GNU/Hurd must be checked AFTER RISCOS + set(sdl_cmake_platform Hurd) elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*") set(sdl_cmake_platform BSDi) elseif(CMAKE_SYSTEM_NAME MATCHES "DragonFly.*|FreeBSD") diff --git a/libs/SDL3/cmake/test/CMakeLists.txt b/libs/SDL3/cmake/test/CMakeLists.txt index e3766f0..ffaa197 100644 --- a/libs/SDL3/cmake/test/CMakeLists.txt +++ b/libs/SDL3/cmake/test/CMakeLists.txt @@ -96,12 +96,14 @@ if(TEST_STATIC) add_executable(gui-static WIN32 main_gui.c) target_link_libraries(gui-static PRIVATE SDL3::SDL3-static) - # Assume SDL library has been built with `set(CMAKE_POSITION_INDEPENDENT_CODE ON)` - add_library(sharedlib-static SHARED main_lib.c) - target_link_libraries(sharedlib-static PRIVATE SDL3::SDL3-static) - generate_export_header(sharedlib-static EXPORT_MACRO_NAME MYLIBRARY_EXPORT) - target_compile_definitions(sharedlib-static PRIVATE "EXPORT_HEADER=\"${CMAKE_CURRENT_BINARY_DIR}/sharedlib-static_export.h\"") - set_target_properties(sharedlib-static PROPERTIES C_VISIBILITY_PRESET "hidden") + if(TEST_SHARED) + # Assume SDL library has been built with `set(CMAKE_POSITION_INDEPENDENT_CODE ON)` + add_library(sharedlib-static SHARED main_lib.c) + target_link_libraries(sharedlib-static PRIVATE SDL3::SDL3-static) + generate_export_header(sharedlib-static EXPORT_MACRO_NAME MYLIBRARY_EXPORT) + target_compile_definitions(sharedlib-static PRIVATE "EXPORT_HEADER=\"${CMAKE_CURRENT_BINARY_DIR}/sharedlib-static_export.h\"") + set_target_properties(sharedlib-static PROPERTIES C_VISIBILITY_PRESET "hidden") + endif() if(TEST_TEST) add_executable(sdltest-static sdltest.c) diff --git a/libs/SDL3/cmake/test/main_gui.c b/libs/SDL3/cmake/test/main_gui.c index 18ed101..c0c4f90 100644 --- a/libs/SDL3/cmake/test/main_gui.c +++ b/libs/SDL3/cmake/test/main_gui.c @@ -1,24 +1,37 @@ -#include +#define SDL_MAIN_USE_CALLBACKS #include +#include -int main(int argc, char *argv[]) +static SDL_Window *window; + +SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) +{ + return SDL_APP_CONTINUE; +} + +SDL_AppResult SDL_AppIterate(void *appstate) { - SDL_Window *window = NULL; SDL_Surface *screenSurface = NULL; + screenSurface = SDL_GetWindowSurface(window); + SDL_FillSurfaceRect(screenSurface, NULL, SDL_MapSurfaceRGB(screenSurface, 0xff, 0xff, 0xff)); + SDL_UpdateWindowSurface(window); + return SDL_APP_CONTINUE; +} + +SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) +{ if (!SDL_Init(SDL_INIT_VIDEO)) { SDL_Log("Could not initialize SDL: %s", SDL_GetError()); - return 1; + return SDL_APP_FAILURE; } window = SDL_CreateWindow("Hello SDL", 640, 480, 0); if (!window) { SDL_Log("could not create window: %s", SDL_GetError()); - return 1; + return SDL_APP_FAILURE; } - screenSurface = SDL_GetWindowSurface(window); - SDL_FillSurfaceRect(screenSurface, NULL, SDL_MapSurfaceRGB(screenSurface, 0xff, 0xff, 0xff)); - SDL_UpdateWindowSurface(window); - SDL_Delay(100); - SDL_DestroyWindow(window); - SDL_Quit(); - return 0; + return SDL_APP_CONTINUE; +} + +void SDL_AppQuit(void *appstate, SDL_AppResult result) { + SDL_DestroyWindow(window); } diff --git a/libs/SDL3/cmake/test/sdltest.c b/libs/SDL3/cmake/test/sdltest.c index f598a98..baf8e9b 100644 --- a/libs/SDL3/cmake/test/sdltest.c +++ b/libs/SDL3/cmake/test/sdltest.c @@ -1,9 +1,24 @@ +#define SDL_MAIN_USE_CALLBACKS #include +#include #include +SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) +{ + return SDL_APP_SUCCESS; +} -int main(int argc, char *argv[]) { +SDL_AppResult SDL_AppIterate(void *appstate) +{ + return SDL_APP_SUCCESS; +} + +SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) +{ SDLTest_CommonState state; SDLTest_CommonDefaultArgs(&state, argc, argv); - return 0; + return SDL_APP_SUCCESS; +} + +void SDL_AppQuit(void *appstate, SDL_AppResult result) { } diff --git a/libs/SDL3/cmake/test/test_pkgconfig.sh b/libs/SDL3/cmake/test/test_pkgconfig.sh index 5bb84df..7362e74 100644 --- a/libs/SDL3/cmake/test/test_pkgconfig.sh +++ b/libs/SDL3/cmake/test/test_pkgconfig.sh @@ -30,12 +30,12 @@ SDL_LDFLAGS="$( pkg-config sdl3 --libs )" SDL_STATIC_LDFLAGS="$( pkg-config sdl3 --libs --static )" compile_cmd="$CC -c "$testdir/main_gui.c" -o main_gui_pkgconfig.c.o $SDL_CFLAGS $CFLAGS" -link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig${EXESUFFIX} $SDL_LDFLAGS $LDFLAGS" -static_link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig_static${EXESUFFIX} $SDL_STATIC_LDFLAGS $LDFLAGS" +link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig${EXESUFFIX} $SDL_CFLAGS $CFLAGS $SDL_LDFLAGS $LDFLAGS" +static_link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig_static${EXESUFFIX} $SDL_CFLAGS $CFLAGS $SDL_STATIC_LDFLAGS $LDFLAGS" echo "-- CC: $CC" echo "-- CFLAGS: $CFLAGS" -echo "-- LDFLASG: $LDFLAGS" +echo "-- LDFLAGS: $LDFLAGS" echo "-- SDL_CFLAGS: $SDL_CFLAGS" echo "-- SDL_LDFLAGS: $SDL_LDFLAGS" echo "-- SDL_STATIC_LDFLAGS: $SDL_STATIC_LDFLAGS" diff --git a/libs/SDL3/docs/INTRO-emscripten.md b/libs/SDL3/docs/INTRO-emscripten.md index a0541c8..db6f5cc 100644 --- a/libs/SDL3/docs/INTRO-emscripten.md +++ b/libs/SDL3/docs/INTRO-emscripten.md @@ -22,7 +22,7 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$") # This assumes the SDL source is available in vendored/SDL add_subdirectory(vendored/SDL EXCLUDE_FROM_ALL) -# on Web targets, we need CMake to generate a HTML webpage. +# on Web targets, we need CMake to generate a HTML webpage. if(EMSCRIPTEN) set(CMAKE_EXECUTABLE_SUFFIX ".html" CACHE INTERNAL "") endif() diff --git a/libs/SDL3/docs/INTRO-mingw.md b/libs/SDL3/docs/INTRO-mingw.md index d7c535d..d6b425a 100644 --- a/libs/SDL3/docs/INTRO-mingw.md +++ b/libs/SDL3/docs/INTRO-mingw.md @@ -1,6 +1,6 @@ # Introduction to SDL with MinGW -Without getting deep into the history, MinGW is a long running project that aims to bring gcc to Windows. That said, there's many distributions, versions, and forks floating around. We recommend installing [MSYS2](https://www.msys2.org/), as it's the easiest way to get a modern toolchain with a package manager to help with dependency management. This would allow you to follow the MSYS2 section below. +Without getting deep into the history, MinGW is a long running project that aims to bring gcc to Windows. That said, there's many distributions, versions, and forks floating around. We recommend installing [MSYS2](https://www.msys2.org/), as it's the easiest way to get a modern toolchain with a package manager to help with dependency management. This would allow you to follow the MSYS2 section below. Otherwise you'll want to follow the "Other Distributions" section below. @@ -89,7 +89,7 @@ This should print out which library directory we'll need to use when compiling, Now we should have everything needed to compile and run our program. You'll need to ensure to replace `` with the version of the release of SDL3 you downloaded, as well as use the `` we learned in the previous section. ```sh -gcc hello.c -o hello.exe -I SDL3-//include -L SDL3-//lib -lSDL3 -mwindows +gcc hello.c -o hello.exe -I SDL3-//include -L SDL3-//lib -lSDL3 -mwindows cp SDL3-//bin/SDL3.dll SDL3.dll ./hello.exe ``` diff --git a/libs/SDL3/docs/README-android.md b/libs/SDL3/docs/README-android.md index e57ca81..66e5ea6 100644 --- a/libs/SDL3/docs/README-android.md +++ b/libs/SDL3/docs/README-android.md @@ -149,7 +149,7 @@ target_link_libraries(yourgame PRIVATE SDL3::SDL3) If you use ndk-build, add the following before `include $(BUILD_SHARED_LIBRARY)` to your `Android.mk`: ``` -LOCAL_SHARED_LIBARARIES := SDL3 SDL3-Headers +LOCAL_SHARED_LIBRARIES := SDL3 SDL3-Headers ``` And add the following at the bottom: ``` @@ -598,7 +598,7 @@ The only caveat is that the APK's support a single architecture. When configuring the CMake project, you need to use the Android NDK CMake toolchain, and pass the Android home path through `SDL_ANDROID_HOME`. ``` -cmake .. -DCMAKE_TOOLCHAIN_FILE= -DANDROID_ABI= -DSDL_ANDROID_HOME= -DANDROID_PLATFORM=23 -DSDL_TESTS=ON +cmake .. -DCMAKE_TOOLCHAIN_FILE= -DANDROID_ABI= -DSDL_ANDROID_HOME= -DANDROID_PLATFORM=21 -DSDL_TESTS=ON ``` Remarks: diff --git a/libs/SDL3/docs/README-bsd.md b/libs/SDL3/docs/README-bsd.md index d823060..0f94470 100644 --- a/libs/SDL3/docs/README-bsd.md +++ b/libs/SDL3/docs/README-bsd.md @@ -4,3 +4,4 @@ SDL is fully supported on BSD platforms, and is built using [CMake](README-cmake If you want to run on the console, you can take a look at [KMSDRM support on BSD](README-kmsbsd.md) +SDL is [not designed to be used in setuid or setgid executables](README-platforms.md#setuid). diff --git a/libs/SDL3/docs/README-cmake.md b/libs/SDL3/docs/README-cmake.md index f2e4759..7aea86e 100644 --- a/libs/SDL3/docs/README-cmake.md +++ b/libs/SDL3/docs/README-cmake.md @@ -157,7 +157,7 @@ flags to the compiler. - Use [`CMAKE_EXE_LINKER_FLAGS`](https://cmake.org/cmake/help/latest/variable/CMAKE_EXE_LINKER_FLAGS.html) to pass extra option to the linker for executables. - Use [`CMAKE_SHARED_LINKER_FLAGS`](https://cmake.org/cmake/help/latest/variable/CMAKE_SHARED_LINKER_FLAGS.html) to pass extra options to the linker for shared libraries. -#### Examples +#### Compile Options Examples - build a SDL library optimized for (more) modern x64 microprocessor architectures. @@ -240,7 +240,7 @@ Append with a version number to target a specific SDK revision: e.g. `iphoneos12 CMake documentation: [link](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html) -#### Examples +#### Apple Examples - for macOS, building a dylib and/or static library for x86_64 and arm64: @@ -328,8 +328,8 @@ Configure your project with `-DSDL_LIBC=ON` to make use of sanitizers. ### CMake fails to build without X11 or Wayland support Install the required system packages prior to running CMake. -See [README-linux](linux#build-dependencies) for the list of dependencies on Linux. -Other unix operationg systems should provide similar packages. +See [README-linux.md](README-linux.md#build-dependencies) for the list of dependencies on Linux. +Other unix operating systems should provide similar packages. If you **really** don't need to show windows, add `-DSDL_UNIX_CONSOLE_BUILD=ON` to the CMake configure command. diff --git a/libs/SDL3/docs/README-documentation-rules.md b/libs/SDL3/docs/README-documentation-rules.md index 3151de7..2a4d96f 100644 --- a/libs/SDL3/docs/README-documentation-rules.md +++ b/libs/SDL3/docs/README-documentation-rules.md @@ -34,6 +34,12 @@ things, you might confuse it. This is to the benefit of documentation, though, where we would rather you not do surprising things. +## UTF-8 only! + +All text must be UTF-8 encoded. The wiki will refuse to update files that are +malformed. + + ## We _sort of_ write in Doxygen format. To document a symbol, we use something that looks like Doxygen (and Javadoc) @@ -156,6 +162,23 @@ wikiheaders will wordwrap header comments so they fit in 80 columns, so if you don't leave a blank line between paragraphs, they will smush into a single block of text when wordwrapping. +## Lists must be the start of a new paragraph. + +If you write this: + +``` +Here is some text without a blank line +before an unordered list! +- item a +- item b +- item c +``` + +...then wikiheaders will word wrap this as a single paragraph, mangling the list. + +Put a blank line before the list, and everything will format and wrap correctly. + +This is a limitation of wikiheaders. Don't get bit by it! ## Don't worry about word wrapping. @@ -251,6 +274,23 @@ comment. So don't mention the type a second time in the documentation if possible. It looks cluttered and repetitive to do so. +## Keep `\param` and `\returns` sections short. + +These strings end up in a table that we don't want to be bulky. +Try to keep these to one sentence/phrase where possible. If you need more +detail--even extremely common details, like "you need to free the returned +pointer"--put that information in the general Remarks section, where you +can be as verbose as you like. + +(One exception for SDL: the return value almost always notes that on error, +you should call SDL_GetError() to get more information. The documentation +is so saturated with this that it's just the standard now.) + +Convention at the moment is that pointer params that are permitted to +be NULL, which is somewhat uncommon, end with terse "May be NULL." sentence +at the end, and pointers that must be non-NULL (most of them) say nothing. +This is fine. + ## Code examples go in the wiki. We don't want the headers cluttered up with code examples. These live on the @@ -304,6 +344,21 @@ to the headers: - "Version" - "See Also" +## Unrecognized sections are removed from the headers! + +If you add Doxygen with a `##` (`###`, etc) section header, it'll +migrate to the wiki and be _removed_ from the headers. Generally +the correct thing to do is _never use section headers in the Doxygen_. + +## wikiheaders will reorder standard sections. + +The standard sections are always kept in a consistent order by +wikiheaders, both in the headers and the wiki. If they're placed in +a non-standard order, wikiheaders will reorder them. + +For sections that aren't standard, wikiheaders will place them at +the end of the wiki page, in the order they were seen when it loaded +the page for processing. ## It's okay to repeat yourself. @@ -318,7 +373,7 @@ through, header users can search for the function name. You might be reading this document on the wiki! Any `README-*.md` files in the docs directory are bridged to the wiki, so `docs/README-linux.md` lands -at https://wiki.libsdl.org/SDL3/README/linux ...these are just copied directly +at https://wiki.libsdl.org/SDL3/README-linux ...these are just copied directly without any further processing by wikiheaders, and changes go in both directions. @@ -408,3 +463,19 @@ Beyond stripping the initial ` * ` portion off each line, these comments are treated as pure Markdown. They don't support any Doxygen tags like `\sa` or `\since`. +## Enum/struct versioning + +If you have an enum or struct, it'll list its `\since` field as the first SDL +release it was available in. However, we might later add new values to an enum +or fields to a struct. These lines, arriving in a newer version, should have a +note about that, like this one on SDL_SCALEMODE_PIXELART: + +```c +typedef enum SDL_ScaleMode +{ + SDL_SCALEMODE_INVALID = -1, + SDL_SCALEMODE_NEAREST, /**< nearest pixel sampling */ + SDL_SCALEMODE_LINEAR, /**< linear filtering */ + SDL_SCALEMODE_PIXELART /**< nearest pixel sampling with improved scaling for pixel art (since SDL 3.3.0) */ +} SDL_ScaleMode; +``` diff --git a/libs/SDL3/docs/README-emscripten.md b/libs/SDL3/docs/README-emscripten.md index 2b81468..b9667f1 100644 --- a/libs/SDL3/docs/README-emscripten.md +++ b/libs/SDL3/docs/README-emscripten.md @@ -101,9 +101,9 @@ don't want any shutdown code that might be sitting below this code to actually run if main() were to continue on, since we're just getting started. -Another option is to use SDL' main callbacks, which handle this for you +Another option is to use SDL's main callbacks, which handle this for you without platform-specific code in your app. Please refer to -[the wiki](https://wiki.libsdl.org/SDL3/README/main-functions#main-callbacks-in-sdl3) +[the wiki](https://wiki.libsdl.org/SDL3/README-main-functions#main-callbacks-in-sdl3) or `docs/README-main-functions.md` in the SDL source code. @@ -169,31 +169,33 @@ for several reasons, not the least of which being that no one likes when a random browser tab suddenly starts making noise and the user has to scramble to figure out which and silence it. -SDL will allow you to open the audio device for playback in this -circumstance, and your audio callback will fire, but SDL will throw the audio -data away until the user interacts with the page. This helps apps that depend -on the audio callback to make progress, and also keeps audio playback in sync +SDL will allow you to open the audio device for playback in this circumstance, +and your audio streams will consume data, but SDL will throw the audio data +away until the user interacts with the page. This helps apps that depend on +the audio callback to make progress, and also keeps audio playback in sync once the app is finally allowed to make noise. There are two reasonable ways to deal with the silence at the app level: if you are writing some sort of media player thing, where the user expects there to be a volume control when you mouseover the canvas, just default that control to a muted state; if the user clicks on the control to unmute -it, on this first click, open the audio device. This allows the media to +it, on this first click, adjust your app's volume appropriately, and SDL will +also start actually feeding the data to the browser. This allows the media to play at start, and the user can reasonably opt-in to listening. -Many games do not have this sort of UI, and are more rigid about starting -audio along with everything else at the start of the process. For these, your -best bet is to write a little Javascript that puts up a "Click here to play!" -UI, and upon the user clicking, remove that UI and then call the Emscripten -app's main() function. As far as the application knows, the audio device was -available to be opened as soon as the program started, and since this magic -happens in a little Javascript, you don't have to change your C/C++ code at -all to make it happen. +Many games do not have this sort of UI. For these, your best bet might be to +write a little Javascript that puts up a "Click here to play!" UI, and upon +the user clicking, remove that UI and then call the Emscripten app's main() +function. As far as the application knows, audio was able to play as soon as +the program started, and since this magic happens in a little Javascript, you +don't have to change your C/C++ code at all to make it happen. Please see the discussion at https://github.com/libsdl-org/SDL/issues/6385 for some Javascript code to steal for this approach. +But if a game can just do without audio until the user clicks on the page, +it will still operate correctly, as if the page was merely muted before then. + ## Rendering @@ -208,12 +210,35 @@ Calling SDL_RenderPresent (or SDL_GL_SwapWindow) will not actually present anything on the screen until your return from your mainloop function. +Note that SDL attempts to default to vsync _off_ on all platforms. You almost +certainly do _not_ want this in Emscripten, however, as it will affect the +efficiency of the mainloop. If using OpenGL directly, you should call +SDL_GL_SetSwapInterval(1) sometime near startup; if using the 2D render API, +either create the renderer with with the property +SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER set to 1, or call +SDL_SetRenderVSync(renderer, 1). If you don't explicitly set vsync, you'll get +a higher (but perhaps unstable) framerate, and use more power, but it will +still work. Choosing a vsync of 1 will use requestAnimationFrame if possible. + +If you're using the SDL main callbacks, the mainloop defaults to using +requestAnimationFrame (effectively vsync), because it calls +emscripten_set_main_loop() with a zero fps. This is almost certainly what you +want to do! Do this even if you aren't using the main callbacks! +SDL will attempt to accomodate the app if it messes with vsync settings, or +doesn't use requestAnimationFrame, but modern thinking is that this is the +most efficient, consistent, and correct way to run a game in a web browser. + ## Building SDL/emscripten +Use the latest stable Emscripten release! -SDL currently requires at least Emscripten 3.16.0 to build. Newer versions -are likely to work, as well. +It's possible to build SDL with older Emscripten releases, such as 3.x, but +several things will be silently broken, as bugs got fixed and web standards +solidified over time. At the time of this writing, Emscripten 4.0.x is the +current stable release. You're encouraged to install the latest stable release +(`emsdk install latest ; emsdk activate latest` if using Emscripten's setup +script), and make sure you're reasonably up to date as time goes on. Build: @@ -230,7 +255,7 @@ tools. mkdir build cd build emcmake cmake .. -# you can also do `emcmake cmake -G Ninja ..` and then use `ninja` instead of this command. +# you can also try `emcmake cmake -G Ninja ..` and then use `ninja` instead of this command. emmake make -j4 ``` @@ -239,7 +264,7 @@ If you want to build with thread support, something like this works: ```bash mkdir build cd build -emcmake cmake -DSDL_THREADS=ON .. +emcmake cmake -DSDL_PTHREADS=ON .. # you can also do `emcmake cmake -G Ninja ..` and then use `ninja` instead of this command. emmake make -j4 ``` @@ -322,6 +347,22 @@ all has to live in memory at runtime. gives other options and details, and is worth a read. +## Customizing index.html + +You don't have to use the HTML that Emscripten produces; the above examples +use `emcc -o index.html`, but you can `-o index.js` instead to just output +code without an HTML page, and then provide your own. This is desirable for +shipping products, even though the Emscripten-provided HTML is fine for +prototyping. Certain things _must_ be in the HTML file or your program will +not function correctly (or function at all). The specifics are beyond the +scope of this document, but it's likely best to start with the Emscripten HTML +and customize it, instead of starting from scratch. + +The `` element in the HTML _must not_ have a border or padding, or +things will break in unexpected ways. This can be surprising when customizing +the page's look. Plan accordingly. + + ## Debugging Debugging web apps is a mixed bag. You should compile and link with @@ -336,9 +377,9 @@ If you try debugging in Firefox and it doesn't work well for no apparent reason, try Chrome, and vice-versa. These tools are still relatively new, and improving all the time. -SDL_Log() (or even plain old printf) will write to the Javascript console, -and honestly I find printf-style debugging to be easier than setting up a build -for proper debugging, so use whatever tools work best for you. +SDL_Log() (or printf) will write to the Javascript console, +so printf-style debugging can be easier than setting up a build +for proper debugging. Use whatever tools work best for you. ## Questions? diff --git a/libs/SDL3/docs/README-ios.md b/libs/SDL3/docs/README-ios.md index 166d182..74f4ca6 100644 --- a/libs/SDL3/docs/README-ios.md +++ b/libs/SDL3/docs/README-ios.md @@ -12,9 +12,44 @@ Instructions: 2. Select your desired target, and hit build. -Using the Simple DirectMedia Layer for iOS +Using the Simple DirectMedia Layer for iOS with the SDL3 xcFramework ============================================================================== +The recommended way to use SDL for iOS is by including the SDL3.xcframework which is now a build target of the SDL.xcodeproj file. An xcframework is a new (Xcode 11) uber-framework which can handle any combination of processor type and target OS platform. +You can either build the SDL3.xcframework yourself or download the latest release disk image asset (*.dmg). + +In the past, iOS devices were always an ARM variant processor, and the simulator was always i386 or x86_64, and thus libraries could be combined into a single framework for both simulator and device. With the introduction of the Apple Silicon ARM-based machines, regular frameworks would collide as CPU type was no longer sufficient to differentiate the platform. So Apple created the new xcframework library package. + +The xcframework target builds into a Products directory alongside the SDL.xcodeproj file, as SDL3.xcframework. This can be brought in to any iOS project and will function properly for both simulator and device, no matter their CPUs. Note that Intel Macs cannot cross-compile for Apple Silicon Macs. If you need AS compatibility, perform this build on an Apple Silicon Mac. + +This target requires Xcode 11 or later. The target will simply fail to build if attempted on older Xcodes. + +In addition, on Apple platforms, main() cannot be in a dynamically loaded library. +However, unlike in SDL2, in SDL3 SDL_main is implemented inline in SDL_main.h, so you don't need to link against a static libSDL3main.lib, and you don't need to copy a .c file from the SDL3 source either. +This means that iOS apps which used the statically-linked libSDL3.lib and now link with the xcframwork can just `#include ` in the source file that contains their standard `int main(int argc, char *argv[])` function to get a header-only SDL_main implementation that calls the `SDL_RunApp()` with your standard main function. + +To use the SDL3.xcframework follow these steps: + +1. Run Xcode and create a new project using the iOS Game template, selecting the Objective C language and Metal game technology. +2. In the main view, delete all files except for Assets and LaunchScreen +3. Select the project in the main view, go to the "General" tab, scroll down to "Frameworks, Libraries, and Embedded Content", and drag and drop the SDL3.xcframework +4. Still in "Frameworks, Libraries, and Embedded Content", select "Embed & Sign" for the SDL3.xcframework. +5. Add the source files that you would normally have for an SDL program, making sure to have #include at the top of the file containing your main() function. +6. Add any assets that your application needs. +7. Enjoy! + +Using an xcFramework is similar to using a regular framework. However, issues have been seen with the build system not seeing the headers in the xcFramework. To remedy this, add the path to the xcFramework in your app's target ==> Build Settings ==> Framework Search Paths and mark it recursive (this is critical). Also critical is to remove "*.framework" from Build Settings ==> Sub-Directories to Exclude in Recursive Searches. Clean the build folder, and on your next build the build system should be able to see any of these in your code, as expected: + +#include "SDL3/SDL_main.h" +#include +#include + + +Using the Simple DirectMedia Layer for iOS by adding the SDL3 Xcode project +============================================================================== + +To maintain compatibility with older Xcode versions than version 11 you can add the SDL3 Xcode project file to your project: + 1. Run Xcode and create a new project using the iOS Game template, selecting the Objective C language and Metal game technology. 2. In the main view, delete all files except for Assets and LaunchScreen 3. Right click the project in the main view, select "Add Files...", and add the SDL project, Xcode/SDL/SDL.xcodeproj @@ -26,6 +61,18 @@ Using the Simple DirectMedia Layer for iOS 9. Add any assets that your application needs. 10. Enjoy! +Notes for distributing your iOS app on the AppStore when using the embedded SDL3 Xcode project: +Embedding the SDL3 Xcode project makes SDL3.framework a target of your app, so it will be included in the archive created during the "Archive" step required for App Store submission. As this prevents successful distribution, remove the framework via a script in the Build Phase after the "Embed & Sign" step. + +1. Select the project in the main view, go to the "Build Phases" tab, click on the big '+' in this tab and click "New Run Script Phase". +2. Scroll down to "Run Script" (after the "Embed SDL3 Framework") and enter the following script: +``` + if [ -d "$INSTALL_ROOT/Library" ]; then + echo "Removing SDL3.framework from INSTALL_ROOT for archiving" + rm -rf "$INSTALL_ROOT/Library" + fi +``` +3. Below the script entry uncheck the "Run Script:" options "For install builds only" and "Based on dependency analysis" TODO: Add information regarding App Store requirements such as icons, etc. @@ -154,26 +201,7 @@ More information on this subject is available here: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html -Notes -- xcFramework -============================================================================== -The SDL.xcodeproj file now includes a target to build SDL3.xcframework. An xcframework is a new (Xcode 11) uber-framework which can handle any combination of processor type and target OS platform. - -In the past, iOS devices were always an ARM variant processor, and the simulator was always i386 or x86_64, and thus libraries could be combined into a single framework for both simulator and device. With the introduction of the Apple Silicon ARM-based machines, regular frameworks would collide as CPU type was no longer sufficient to differentiate the platform. So Apple created the new xcframework library package. - -The xcframework target builds into a Products directory alongside the SDL.xcodeproj file, as SDL3.xcframework. This can be brought in to any iOS project and will function properly for both simulator and device, no matter their CPUs. Note that Intel Macs cannot cross-compile for Apple Silicon Macs. If you need AS compatibility, perform this build on an Apple Silicon Mac. - -This target requires Xcode 11 or later. The target will simply fail to build if attempted on older Xcodes. - -In addition, on Apple platforms, main() cannot be in a dynamically loaded library. -However, unlike in SDL2, in SDL3 SDL_main is implemented inline in SDL_main.h, so you don't need to link against a static libSDL3main.lib, and you don't need to copy a .c file from the SDL3 source either. -This means that iOS apps which used the statically-linked libSDL3.lib and now link with the xcframwork can just `#include ` in the source file that contains their standard `int main(int argc, char *argv[])` function to get a header-only SDL_main implementation that calls the `SDL_RunApp()` with your standard main function. - -Using an xcFramework is similar to using a regular framework. However, issues have been seen with the build system not seeing the headers in the xcFramework. To remedy this, add the path to the xcFramework in your app's target ==> Build Settings ==> Framework Search Paths and mark it recursive (this is critical). Also critical is to remove "*.framework" from Build Settings ==> Sub-Directories to Exclude in Recursive Searches. Clean the build folder, and on your next build the build system should be able to see any of these in your code, as expected: - -#include "SDL_main.h" -#include -#include Notes -- iPhone SDL limitations diff --git a/libs/SDL3/docs/README-linux.md b/libs/SDL3/docs/README-linux.md index 3f2d2c0..edd7019 100644 --- a/libs/SDL3/docs/README-linux.md +++ b/libs/SDL3/docs/README-linux.md @@ -8,6 +8,7 @@ system does not have the XRandR libraries installed, it will be disabled at runtime, and you won't get a missing library error, at least with the default configuration parameters. +SDL is [not designed to be used in setuid or setgid executables](README-platforms.md#setuid). Build Dependencies -------------------------------------------------------------------------------- @@ -16,26 +17,28 @@ Ubuntu 18.04, all available features enabled: sudo apt-get install build-essential git make \ pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev \ - libaudio-dev libjack-dev libsndio-dev libx11-dev libxext-dev \ - libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev \ + libaudio-dev libfribidi-dev libjack-dev libsndio-dev libx11-dev libxext-dev \ + libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxtst-dev \ libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev \ - libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev + libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev libthai-dev Ubuntu 22.04+ can also add `libpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev` to that command line. Fedora 35, all available features enabled: - sudo yum install gcc git-core make cmake \ - alsa-lib-devel pulseaudio-libs-devel nas-devel pipewire-devel \ + sudo dnf install gcc git-core make cmake \ + alsa-lib-devel fribidi-devel pulseaudio-libs-devel pipewire-devel \ libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel \ - libXi-devel libXScrnSaver-devel dbus-devel ibus-devel \ + libXi-devel libXScrnSaver-devel libXtst-devel dbus-devel ibus-devel \ systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel \ mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel \ - libdrm-devel mesa-libgbm-devel libusb-devel libdecor-devel \ - pipewire-jack-audio-connection-kit-devel \ + libdrm-devel mesa-libgbm-devel libusb1-devel libdecor-devel \ + pipewire-jack-audio-connection-kit-devel libthai-devel Fedora 39+ can also add `liburing-devel` to that command line. +Fedora 40+ needs `zlib-ng-compat-static` to be added to that command line. + NOTES: - The sndio audio target is unavailable on Fedora (but probably not what you should want to use anyhow). @@ -43,10 +46,12 @@ NOTES: openSUSE Tumbleweed: sudo zypper in libunwind-devel libusb-1_0-devel Mesa-libGL-devel libxkbcommon-devel libdrm-devel \ - libgbm-devel pipewire-devel libpulse-devel sndio-devel Mesa-libEGL-devel + libgbm-devel pipewire-devel libpulse-devel sndio-devel Mesa-libEGL-devel alsa-devel xwayland-devel \ + wayland-devel wayland-protocols-devel libthai-devel fribidi-devel Arch: - sudo pacman -S alsa-lib cmake hidapi ibus jack libdecor libgl libpulse libusb libx11 libxcursor libxext libxinerama libxkbcommon libxrandr libxrender libxss mesa ninja pipewire sndio vulkan-driver vulkan-headers wayland wayland-protocols + + sudo pacman -S alsa-lib cmake hidapi ibus jack libdecor libthai fribidi libgl libpulse libusb libx11 libxcursor libxext libxfixes libxi libxinerama libxkbcommon libxrandr libxrender libxss libxtst mesa ninja pipewire sndio vulkan-driver vulkan-headers wayland wayland-protocols Joystick does not work diff --git a/libs/SDL3/docs/README-macos.md b/libs/SDL3/docs/README-macos.md index e5c75c1..147174c 100644 --- a/libs/SDL3/docs/README-macos.md +++ b/libs/SDL3/docs/README-macos.md @@ -73,6 +73,8 @@ NSApplicationDelegate implementation: } ``` +SDL is [not designed to be used in setuid or setgid executables](README-platforms.md#setuid). + # Using the Simple DirectMedia Layer with a traditional Makefile An existing build system for your SDL app has good chances to work almost diff --git a/libs/SDL3/docs/README-main-functions.md b/libs/SDL3/docs/README-main-functions.md index 75b9e2c..7574cff 100644 --- a/libs/SDL3/docs/README-main-functions.md +++ b/libs/SDL3/docs/README-main-functions.md @@ -206,6 +206,13 @@ The SDL_AppResult value that terminated the app is provided here, in case it's useful to know if this was a successful or failing run of the app. +## Using main functions from other languages + +If you're not using C/C++, using SDL's entry points is still possible but is +more complex. Please refer to https://wiki.libsdl.org/SDL3/NonstandardStartup +for the technical details. + + ## Summary and Best Practices - **Always Include SDL_main.h in One Source File:** When working with SDL, diff --git a/libs/SDL3/docs/README-migration.md b/libs/SDL3/docs/README-migration.md index deca6d0..1a8fbaa 100644 --- a/libs/SDL3/docs/README-migration.md +++ b/libs/SDL3/docs/README-migration.md @@ -611,6 +611,9 @@ The following enums have been renamed: The following structures have been renamed: * SDL_GameController => SDL_Gamepad +The following structures have been removed: +* SDL_GameControllerButtonBind - replaced with SDL_GamepadBinding + The following functions have been renamed: * SDL_GameControllerAddMapping() => SDL_AddGamepadMapping() * SDL_GameControllerAddMappingsFromFile() => SDL_AddGamepadMappingsFromFile() @@ -1459,7 +1462,7 @@ The following symbols have been removed: * SDL_RENDERER_PRESENTVSYNC - replaced with SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER during renderer creation and SDL_PROP_RENDERER_VSYNC_NUMBER after renderer creation * SDL_RENDERER_SOFTWARE - you can check whether the name of the renderer is `SDL_SOFTWARE_RENDERER` * SDL_RENDERER_TARGETTEXTURE - all renderers support target texture functionality -* SDL_ScaleModeBest = use SDL_SCALEMODE_LINEAR instead +* SDL_ScaleModeBest - use SDL_SCALEMODE_LINEAR instead ## SDL_rwops.h diff --git a/libs/SDL3/docs/README-ngage.md b/libs/SDL3/docs/README-ngage.md index 84192b0..beed7af 100644 --- a/libs/SDL3/docs/README-ngage.md +++ b/libs/SDL3/docs/README-ngage.md @@ -1,5 +1,64 @@ -Support for the Nokia N-Gage has been removed from SDL3 (but will make a -comeback when newer compilers are available for the platform). +# Nokia N-Gage -SDL2 still supports this platform. +SDL port for the Nokia N-Gage +[Homebrew toolchain](https://github.com/ngagesdk/ngage-toolchain) +contributed by: +- [Michael Fitzmayer](https://github.com/mupfdev) + +- [Anonymous Maarten](https://github.com/madebr) + +Many thanks to: + +- icculus and slouken for always making room for us, even when we show up in 2025 + still waving the N-Gage flag. + +- The Nokia N-Gage [Discord community](https://discord.gg/dbUzqJ26vs) + who keeps the platform alive. + +- The staff and supporters of the + [Suomen pelimuseo](https://www.vapriikki.fi/nayttelyt/fantastinen-floppi/), and + to Heikki Jungmann, for their ongoing love and dedication for the Nokia N-Gage -- + you guys are awesome! + +## History + +When SDL support was discontinued due to the lack of C99 support at the time, +this version was rebuilt from the ground up after resolving the compiler issues. + +In contrast to the earlier SDL2 port, this version features a dedicated rendering +backend and a functional, albeit limited, audio interface. Support for the +software renderer has been removed. + +The outcome is a significantly leaner and more efficient SDL port, which we hope +will breathe new life into this beloved yet obscure platform. + +## To the Stubborn Legends of the DC Scene + +This port is lovingly dedicated to the ever-nostalgic Dreamcast homebrew scene -- +because if we managed to pull this off for the N-Gage (yes, the N-Gage), surely +you guys can stop clinging to SDL2 like it's a rare Shenmue prototype and finally +make the leap to SDL3. It's 2025, not 1999 -- and let's be honest, you're rocking +a state-of-the-art C23 compiler. The irony writes itself. + +## Existing Issues and Limitations + +- For now, the new + [SDL3 main callbacks](https://wiki.libsdl.org/SDL3/README-main-functions#main-callbacks-in-sdl3) + are not optional and must be used. This is important as the callbacks + are optional on other platforms. + +- If the application is put in the background while sound is playing, + some of the audio is looped until the app is back in focus. + +- It is recommended initialising SDLs audio sub-system even when it + is not required. The backend is started at a higher level. Initialising + SDLs audio sub-system ensures that the backend is properly deinitialised. + +- Because the audio sample rate can change during phone calls, the sample + rate is currently fixed at 8kHz to ensure stable behavior. Although + dynamically adjusting the sample rate is theoretically possible, the + current implementation doesn't support it yet. This limitation is + expected to be resolved in a future update. + +- Dependency tracking is currently non-functional. diff --git a/libs/SDL3/docs/README-platforms.md b/libs/SDL3/docs/README-platforms.md index 46a054a..fe7a51b 100644 --- a/libs/SDL3/docs/README-platforms.md +++ b/libs/SDL3/docs/README-platforms.md @@ -2,39 +2,61 @@ ## Supported Platforms +SDL3 has been known to work on the following platforms at some point: + - [Android](README-android.md) -- [Emscripten](README-emscripten.md) +- [Emscripten](README-emscripten.md) (Web browsers) - [FreeBSD](README-bsd.md) - [Haiku OS](README-haiku.md) - [iOS](README-ios.md) - [Linux](README-linux.md) -- [macOS](README-macos.md) +- [macOS](README-macos.md) (10.14 and later) - [NetBSD](README-bsd.md) -- [Nintendo Switch](README-switch.md) -- [Nintendo 3DS](README-n3ds.md) +- [Nintendo Switch](README-switch.md) (Separate NDA-only fork) +- [Nintendo 3DS](README-n3ds.md) (Homebrew) +- [Nokia N-Gage](README-ngage.md) - [OpenBSD](README-bsd.md) -- [PlayStation 2](README-ps2.md) -- [PlayStation 4](README-ps4.md) -- [PlayStation 5](README-ps5.md) -- [PlayStation Portable](README-psp.md) -- [PlayStation Vita](README-vita.md) +- [PlayStation 2](README-ps2.md) (Homebrew) +- [PlayStation 4](README-ps4.md) (Separate NDA-only fork) +- [PlayStation 5](README-ps5.md) (Separate NDA-only fork) +- [PlayStation Portable](README-psp.md) (Homebrew) +- [PlayStation Vita](README-vita.md) (Homebrew) - [RISC OS](README-riscos.md) - [SteamOS](README-steamos.md) - [tvOS](README-ios.md) -- [Windows](README-windows.md) +- [visionOS](README-ios.md) +- [Windows](README-windows.md) (XP and later) - [Windows GDK](README-gdk.md) - [Xbox](README-gdk.md) +Note that the SDL maintainers do not test on all these platforms; if a less-common system breaks, [please let us know](https://github.com/libsdl-org/SDL/issues/new) and send patches if you can. + +If you'd like to port SDL to a new platform, feel free to get in touch! [A guide to porting SDL2](https://discourse.libsdl.org/t/port-sdl-2-0-to-bios/25453/2) was written a while ago, and most of it still applies to SDL3. + ## Unsupported Platforms If your favorite system is listed below, we aren't working on it. However, if you send reasonable patches and are willing to support the port in the long term, we are happy to take a look! All of these still work with [SDL2](/SDL2), which is an incompatible API, but an option if you need to support these platforms still. +- QNX - Google Stadia - NaCL -- Nokia N-Gage - OS/2 -- QNX - WinPhone - WinRT/UWP + +## General notes for Unix platforms + +Some aspects of SDL functionality are common to all Unix-based platforms. + +### Privileged processes (setuid, setgid, setcap) + +SDL is not designed to be used in programs with elevated privileges, +such as setuid (`chmod u+s`) or setgid (`chmod g+s`) executables, +or executables with file-based capabilities +(`setcap cap_sys_nice+ep` or similar). +It does not make any attempt to avoid trusting environment variables +or other aspects of the inherited execution environment. +Programs running with elevated privileges in an attacker-controlled +execution environment should not call SDL functions. diff --git a/libs/SDL3/docs/README-ps2.md b/libs/SDL3/docs/README-ps2.md index d358565..6d3e79a 100644 --- a/libs/SDL3/docs/README-ps2.md +++ b/libs/SDL3/docs/README-ps2.md @@ -11,11 +11,20 @@ Credit to ## Building To build SDL library for the PS2, make sure you have the latest PS2Dev status and run: ```bash -cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PS2DEV/ps2sdk/ps2dev.cmake +export PS2DEV=/usr/local/ps2dev # or wherever your ps2dev installation is +export PS2SDK=$PS2DEV/ps2sdk +export PATH=$PATH:$PS2DEV/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin:$PS2DEV/dvp/bin:$PS2SDK/bin +cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PS2DEV/share/ps2dev.cmake cmake --build build cmake --install build ``` +## Hints +- `SDL_HINT_PS2_GS_WIDTH`: Width of the framebuffer. Defaults to 640. +- `SDL_HINT_PS2_GS_HEIGHT`: Height of the framebuffer. Defaults to 448. +- `SDL_HINT_PS2_GS_PROGRESSIVE`: Whether to use progressive, instead of interlaced. Defaults to 0. +- `SDL_HINT_PS2_GS_MODE`: Regional standard of the signal. "NTSC" (60hz), "PAL" (50hz) or "" (the console's region, default). + ## Notes If you trying to debug a SDL app through [ps2client](https://github.com/ps2dev/ps2client) you need to avoid the IOP reset, otherwise you will lose the connection with your computer. So to avoid the reset of the IOP CPU, you need to call to the macro `SDL_PS2_SKIP_IOP_RESET();`. diff --git a/libs/SDL3/docs/README-psp.md b/libs/SDL3/docs/README-psp.md index 65d2af2..1dd75ce 100644 --- a/libs/SDL3/docs/README-psp.md +++ b/libs/SDL3/docs/README-psp.md @@ -1,13 +1,13 @@ PSP ====== SDL port for the Sony PSP contributed by: -- Captian Lex +- Captain Lex - Francisco Javier Trujillo Mata - Wouter Wijsman Credit to - Marcus R.Brown,Jim Paris,Matthew H for the original SDL 1.2 for PSP + Marcus R.Brown, Jim Paris, Matthew H for the original SDL 1.2 for PSP Geecko for his PSP GU lib "Glib2d" ## Building diff --git a/libs/SDL3/docs/README-switch.md b/libs/SDL3/docs/README-switch.md index 16b7acd..bbcbd11 100644 --- a/libs/SDL3/docs/README-switch.md +++ b/libs/SDL3/docs/README-switch.md @@ -1,3 +1,3 @@ # Nintendo Switch -SDL3 runs on the Nintendo Switch! There are commercial games shipping with this port. This port is kept in a separate repository, but is available for free, under the zlib license, to anyone that is under NDA for Switch development with Nintendo. Please contact Ryan (icculus at icculus dot org) for details. +SDL3 runs on the Nintendo Switch! Both Switch and Switch 2 are supported. There are commercial games shipping with this port. This port is kept in a separate repository, but is available for free, under the zlib license, to anyone that is under the appropriate NDAs with Nintendo. Please contact Ryan (icculus at icculus dot org) for details. diff --git a/libs/SDL3/docs/README-wayland.md b/libs/SDL3/docs/README-wayland.md index 75a9b90..7208070 100644 --- a/libs/SDL3/docs/README-wayland.md +++ b/libs/SDL3/docs/README-wayland.md @@ -47,8 +47,15 @@ encounter limitations or behavior that is different from other windowing systems ### Warping the mouse cursor to or from a point outside the window doesn't work -- The cursor can be warped only within the window with mouse focus, provided that the `zwp_pointer_confinement_v1` - protocol is supported by the compositor. +- Warping the cursor on Wayland requires that either the `wp_pointer_warp_v1` or `zwp_pointer_confinement_v1` protocol + is supported by the compositor. Compositors typically restrict pointer warps to be within the window that currently + has mouse focus. + +### Minimize/Restored window events are not sent, and the ```SDL_WINDOW_MINIMIZED``` flag is not set. + +- Wayland windows do not currently report the minimized state, aside from when it is activated programmatically via + ```SDL_MinimizeWindow()```. Minimizing a window from the window controls or a desktop shortcut will not send a + minimized event or flag the window as being minimized. ### The application icon can't be set via ```SDL_SetWindowIcon()``` @@ -59,6 +66,15 @@ encounter limitations or behavior that is different from other windowing systems `SDL_APP_ID` hint string, the desktop entry file name should match the application ID. For example, if your application ID is set to `org.my_org.sdl_app`, the desktop entry file should be named `org.my_org.sdl_app.desktop`. +### The application progress bar can't be set via ```SDL_SetWindowProgressState()``` or ```SDL_SetWindowProgressValue()``` + +- Only some Desktop Environemnts support the underlying API. Known compatible DEs: Unity, KDE +- The underlying API requires a desktop entry file, aka a `.desktop` file. + Please see the [Desktop Entry Specification](https://specifications.freedesktop.org/desktop-entry-spec/latest/) for + more information on the format of this file. Note that if your application manually sets the application ID via the + `SDL_APP_ID` hint string, the desktop entry file name should match the application ID. For example, if your + application ID is set to `org.my_org.sdl_app`, the desktop entry file should be named `org.my_org.sdl_app.desktop`. + ### Keyboard grabs don't work when running under XWayland - On GNOME based desktops, the dconf setting `org/gnome/mutter/wayland/xwayland-allow-grabs` must be enabled. diff --git a/libs/SDL3/docs/hello.c b/libs/SDL3/docs/hello.c index a825ea1..aff0e97 100644 --- a/libs/SDL3/docs/hello.c +++ b/libs/SDL3/docs/hello.c @@ -1,5 +1,5 @@ /* - Copyright (C) 1997-2025 Sam Lantinga + Copyright (C) 1997-2026 Sam Lantinga This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/libs/SDL3/docs/release_checklist.md b/libs/SDL3/docs/release_checklist.md index 56fb23d..5c19fc4 100644 --- a/libs/SDL3/docs/release_checklist.md +++ b/libs/SDL3/docs/release_checklist.md @@ -15,6 +15,8 @@ * Create a GitHub release and attach the archives you just generated. +* If this is a feature release, also tag the sdlwiki with the same tag. + ## New feature release * Update `WhatsNew.txt` diff --git a/libs/SDL3/examples/CMakeLists.txt b/libs/SDL3/examples/CMakeLists.txt index 2a13a03..1955455 100644 --- a/libs/SDL3/examples/CMakeLists.txt +++ b/libs/SDL3/examples/CMakeLists.txt @@ -16,13 +16,6 @@ else() endif() set(HAVE_EXAMPLES_LINK_SHARED "${SDL_EXAMPLES_LINK_SHARED}" PARENT_SCOPE) -# CMake incorrectly detects opengl32.lib being present on MSVC ARM64 -if(NOT (MSVC AND SDL_CPU_ARM64)) - # Prefer GLVND, if present - set(OpenGL_GL_PREFERENCE GLVND) - find_package(OpenGL) -endif() - set(SDL_EXAMPLE_EXECUTABLES) if(CMAKE_RUNTIME_OUTPUT_DIRECTORY) @@ -38,7 +31,7 @@ if(NOT CMAKE_VERSION VERSION_LESS 3.20) set(example_bin_dir "${example_bin_dir}$<$:/$>") endif() -file(GLOB RESOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.bmp ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.wav ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.hex) +file(GLOB RESOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.png ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.wav ${CMAKE_CURRENT_SOURCE_DIR}/../test/*.hex) set(RESOURCE_FILE_NAMES) set(RESOURCE_FILES_BINDIR) @@ -64,17 +57,12 @@ macro(add_sdl_example_executable TARGET) if(NOT AST_SOURCES) message(FATAL_ERROR "add_sdl_example_executable needs at least one source") endif() - set(EXTRA_SOURCES "") - if(AST_DATAFILES) - list(APPEND EXTRA_SOURCES ${DATAFILES}) - endif() if(ANDROID) - add_library(${TARGET} SHARED ${AST_SOURCES} ${EXTRA_SOURCES}) + add_library(${TARGET} SHARED ${AST_SOURCES} ${AST_DATAFILES}) else() - add_executable(${TARGET} ${AST_SOURCES} ${EXTRA_SOURCES}) + add_executable(${TARGET} ${AST_SOURCES} ${AST_DATAFILES}) endif() SDL_AddCommonCompilerFlags(${TARGET}) - target_include_directories(${TARGET} PRIVATE "${SDL3_SOURCE_DIR}/src/video/khronos") target_link_libraries(${TARGET} PRIVATE SDL3::${sdl_name_component}) list(APPEND SDL_EXAMPLE_EXECUTABLES ${TARGET}) @@ -85,13 +73,9 @@ macro(add_sdl_example_executable TARGET) COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${AST_DATAFILES} $/sdl-${TARGET} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) - else() + elseif(NOT APPLE AND NOT N3DS) add_dependencies(${TARGET} copy-sdl-example-resources) endif() - if(APPLE) - # Make sure resource files get installed into macOS/iOS .app bundles. - set_target_properties(${TARGET} PROPERTIES RESOURCE "${AST_DATAFILES}") - endif() if(EMSCRIPTEN) foreach(res IN LISTS AST_DATAFILES) get_filename_component(res_name "${res}" NAME) @@ -101,24 +85,45 @@ macro(add_sdl_example_executable TARGET) set_property(TARGET ${TARGET} APPEND PROPERTY ADDITIONAL_CLEAN_FILES "$/$$/>") endif() - if(WINDOWS) + if(APPLE) + # Set Apple App ID / Bundle ID. This is needed to launch apps on some Apple + # platforms (iOS, for example). + set_target_properties(${TARGET} PROPERTIES + RESOURCES "${AST_DATAFILES}" + MACOSX_BUNDLE TRUE + MACOSX_BUNDLE_GUI_IDENTIFIER "org.libsdl.${TARGET}" + MACOSX_BUNDLE_BUNDLE_VERSION "${SDL3_VERSION}" + MACOSX_BUNDLE_SHORT_VERSION_STRING "${SDL3_VERSION}" + ) + set_property(SOURCE ${AST_DATAFILES} PROPERTY MACOSX_PACKAGE_LOCATION "Resources") + elseif(WINDOWS) # CET support was added in VS 16.7 if(MSVC_VERSION GREATER 1926 AND CMAKE_GENERATOR_PLATFORM MATCHES "Win32|x64") set_property(TARGET ${TARGET} APPEND_STRING PROPERTY LINK_FLAGS " -CETCOMPAT") endif() - elseif(PSP) - target_link_libraries(${TARGET} PRIVATE GL) elseif(EMSCRIPTEN) set_property(TARGET ${TARGET} PROPERTY SUFFIX ".html") target_link_options(${TARGET} PRIVATE -sALLOW_MEMORY_GROWTH=1) + elseif(N3DS) + set(ROMFS_DIR "${CMAKE_CURRENT_BINARY_DIR}/romfs/${TARGET}") + file(MAKE_DIRECTORY "${ROMFS_DIR}") + file(COPY ${AST_DATAFILES} DESTINATION "${ROMFS_DIR}") + ctr_generate_smdh("${TARGET}.smdh" + NAME "SDL-${TARGET}" + DESCRIPTION "SDL3 example application" + AUTHOR "SDL3 Contributors" + ICON "${CMAKE_CURRENT_SOURCE_DIR}/../test/n3ds/logo48x48.png" + ) + ctr_create_3dsx( + ${TARGET} + ROMFS "${ROMFS_DIR}" + SMDH "${TARGET}.smdh" + ) + elseif(NGAGE) + string(MD5 TARGET_MD5 "${TARGET}") + string(SUBSTRING "${TARGET_MD5}" 0 8 TARGET_MD5_8) + target_link_options(${TARGET} PRIVATE "SHELL:-s UID3=0x${TARGET_MD5_8}") endif() - - if(OPENGL_FOUND) - target_compile_definitions(${TARGET} PRIVATE HAVE_OPENGL) - endif() - - # FIXME: only add "${SDL3_BINARY_DIR}/include-config-$>" + include paths of external dependencies - target_include_directories(${TARGET} PRIVATE "$") endmacro() add_sdl_example_executable(renderer-clear SOURCES renderer/01-clear/clear.c) @@ -126,25 +131,31 @@ add_sdl_example_executable(renderer-primitives SOURCES renderer/02-primitives/pr add_sdl_example_executable(renderer-lines SOURCES renderer/03-lines/lines.c) add_sdl_example_executable(renderer-points SOURCES renderer/04-points/points.c) add_sdl_example_executable(renderer-rectangles SOURCES renderer/05-rectangles/rectangles.c) -add_sdl_example_executable(renderer-textures SOURCES renderer/06-textures/textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp) +add_sdl_example_executable(renderer-textures SOURCES renderer/06-textures/textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) add_sdl_example_executable(renderer-streaming-textures SOURCES renderer/07-streaming-textures/streaming-textures.c) -add_sdl_example_executable(renderer-rotating-textures SOURCES renderer/08-rotating-textures/rotating-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp) -add_sdl_example_executable(renderer-scaling-textures SOURCES renderer/09-scaling-textures/scaling-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp) -add_sdl_example_executable(renderer-geometry SOURCES renderer/10-geometry/geometry.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp) -add_sdl_example_executable(renderer-color-mods SOURCES renderer/11-color-mods/color-mods.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp) -add_sdl_example_executable(renderer-viewport SOURCES renderer/14-viewport/viewport.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp) -add_sdl_example_executable(renderer-cliprect SOURCES renderer/15-cliprect/cliprect.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp) -add_sdl_example_executable(renderer-read-pixels SOURCES renderer/17-read-pixels/read-pixels.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp) +add_sdl_example_executable(renderer-rotating-textures SOURCES renderer/08-rotating-textures/rotating-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) +add_sdl_example_executable(renderer-scaling-textures SOURCES renderer/09-scaling-textures/scaling-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) +add_sdl_example_executable(renderer-geometry SOURCES renderer/10-geometry/geometry.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) +add_sdl_example_executable(renderer-color-mods SOURCES renderer/11-color-mods/color-mods.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) +add_sdl_example_executable(renderer-viewport SOURCES renderer/14-viewport/viewport.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) +add_sdl_example_executable(renderer-cliprect SOURCES renderer/15-cliprect/cliprect.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) +add_sdl_example_executable(renderer-read-pixels SOURCES renderer/17-read-pixels/read-pixels.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) add_sdl_example_executable(renderer-debug-text SOURCES renderer/18-debug-text/debug-text.c) +add_sdl_example_executable(renderer-affine-textures SOURCES renderer/19-affine-textures/affine-textures.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png) add_sdl_example_executable(audio-simple-playback SOURCES audio/01-simple-playback/simple-playback.c) add_sdl_example_executable(audio-simple-playback-callback SOURCES audio/02-simple-playback-callback/simple-playback-callback.c) add_sdl_example_executable(audio-load-wav SOURCES audio/03-load-wav/load-wav.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.wav) add_sdl_example_executable(audio-multiple-streams SOURCES audio/04-multiple-streams/multiple-streams.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.wav ${CMAKE_CURRENT_SOURCE_DIR}/../test/sword.wav) +add_sdl_example_executable(audio-planar-data SOURCES audio/05-planar-data/planar-data.c) add_sdl_example_executable(input-joystick-polling SOURCES input/01-joystick-polling/joystick-polling.c) add_sdl_example_executable(input-joystick-events SOURCES input/02-joystick-events/joystick-events.c) +add_sdl_example_executable(input-gamepad-polling SOURCES input/03-gamepad-polling/gamepad-polling.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/gamepad_front.png) +add_sdl_example_executable(input-gamepad-events SOURCES input/04-gamepad-events/gamepad-events.c) add_sdl_example_executable(camera-read-and-draw SOURCES camera/01-read-and-draw/read-and-draw.c) add_sdl_example_executable(pen-drawing-lines SOURCES pen/01-drawing-lines/drawing-lines.c) -add_sdl_example_executable(asyncio-load-bitmaps SOURCES asyncio/01-load-bitmaps/load-bitmaps.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.bmp ${CMAKE_CURRENT_SOURCE_DIR}/../test/gamepad_front.bmp ${CMAKE_CURRENT_SOURCE_DIR}/../test/speaker.bmp ${CMAKE_CURRENT_SOURCE_DIR}/../test/icon2x.bmp) +add_sdl_example_executable(asyncio-load-bitmaps SOURCES asyncio/01-load-bitmaps/load-bitmaps.c DATAFILES ${CMAKE_CURRENT_SOURCE_DIR}/../test/sample.png ${CMAKE_CURRENT_SOURCE_DIR}/../test/gamepad_front.png ${CMAKE_CURRENT_SOURCE_DIR}/../test/speaker.png ${CMAKE_CURRENT_SOURCE_DIR}/../test/icon2x.png) +add_sdl_example_executable(misc-power SOURCES misc/01-power/power.c) +add_sdl_example_executable(misc-clipboard SOURCES misc/02-clipboard/clipboard.c) add_sdl_example_executable(demo-snake SOURCES demo/01-snake/snake.c) add_sdl_example_executable(demo-woodeneye-008 SOURCES demo/02-woodeneye-008/woodeneye-008.c) add_sdl_example_executable(demo-infinite-monkeys SOURCES demo/03-infinite-monkeys/infinite-monkeys.c) @@ -154,7 +165,7 @@ add_sdl_example_executable(demo-bytepusher SOURCES demo/04-bytepusher/bytepusher # - Add a new example in examples/ # - Run python VisualC/examples/generate.py # - Take note of the newly generated .vcxproj files -# - Modify the .vcxproj files if necessary (adding content such as BMP or WAV files) +# - Modify the .vcxproj files if necessary (adding content such as PNG or WAV files) # - Open VisualC/SDL.sln in Visual Studio or JetBrains Rider # - Locate the appropriate folder in the Solution Explorer # - Add the newly generated projects: Right click -> Add -> Existing project... @@ -175,28 +186,6 @@ if(PSP) endforeach() endif() -if(N3DS) - set(ROMFS_DIR "${CMAKE_CURRENT_BINARY_DIR}/romfs") - file(MAKE_DIRECTORY "${ROMFS_DIR}") - file(COPY ${RESOURCE_FILES} DESTINATION "${ROMFS_DIR}") - - foreach(APP ${SDL_EXAMPLE_EXECUTABLES}) - get_target_property(TARGET_BINARY_DIR ${APP} BINARY_DIR) - set(SMDH_FILE "${TARGET_BINARY_DIR}/${APP}.smdh") - ctr_generate_smdh("${SMDH_FILE}" - NAME "SDL-${APP}" - DESCRIPTION "SDL3 Test suite" - AUTHOR "SDL3 Contributors" - ICON "${CMAKE_CURRENT_SOURCE_DIR}/../test/n3ds/logo48x48.png" - ) - ctr_create_3dsx( - ${APP} - ROMFS "${ROMFS_DIR}" - SMDH "${SMDH_FILE}" - ) - endforeach() -endif() - if(RISCOS) set(SDL_EXAMPLE_EXECUTABLES_AIF) foreach(APP ${SDL_EXAMPLE_EXECUTABLES}) @@ -211,18 +200,6 @@ if(RISCOS) endforeach() endif() -# Set Apple App ID / Bundle ID. This is needed to launch apps on some Apple -# platforms (iOS, for example). -if(APPLE) - foreach(CURRENT_TARGET ${SDL_EXAMPLE_EXECUTABLES}) - set_target_properties("${CURRENT_TARGET}" PROPERTIES - MACOSX_BUNDLE_GUI_IDENTIFIER "org.libsdl.${CURRENT_TARGET}" - MACOSX_BUNDLE_BUNDLE_VERSION "${SDL3_VERSION}" - MACOSX_BUNDLE_SHORT_VERSION_STRING "${SDL3_VERSION}" - ) - endforeach() -endif() - if(SDL_INSTALL_EXAMPLES) if(RISCOS) install( diff --git a/libs/SDL3/examples/README.md b/libs/SDL3/examples/README.md index 872e087..261e485 100644 --- a/libs/SDL3/examples/README.md +++ b/libs/SDL3/examples/README.md @@ -65,3 +65,30 @@ If writing new examples, this is the skeleton code we start from, to keep everything consistent. You can ignore it. +## How are the thumbnails/onmouseover media created? + +(Since I have to figure this out every time.) + +This is how Ryan is doing it currently. + +- `rm -f frame*.png` +- Temporarily add `#include "../../save-rendering-to-bitmaps.h"` after any SDL + includes in the example program. +- Launch the example app, interact with it, let it run for a few seconds, quit. +- This will dump a "frameX.png" file for each frame rendered. +- Make a video in webp format from the bitmaps (this assumes the bitmaps were + stored at 60fps, you might have to tweak). + + ```bash + ffmpeg -framerate 60 -pattern_type glob -i 'frame*.png' -loop 0 -quality 40 -r 10 -frames:v 40 onmouseover.webp + ``` + + You might need to start in the middle of the video, or mess with quality or + number of frames to generate, ymmv. +- Pick a frame for the thumbnail, make it a .png, and run that png through + pngquant for massive file size reduction without any obvious loss in quality: + + ```bash + convert frame00000.png cvt.png ; pngquant cvt.png --output thumbnail.png ; rm -f cvt.png + ``` + diff --git a/libs/SDL3/examples/asyncio/01-load-bitmaps/load-bitmaps.c b/libs/SDL3/examples/asyncio/01-load-bitmaps/load-bitmaps.c index 44c2abf..aebb96e 100644 --- a/libs/SDL3/examples/asyncio/01-load-bitmaps/load-bitmaps.c +++ b/libs/SDL3/examples/asyncio/01-load-bitmaps/load-bitmaps.c @@ -14,7 +14,7 @@ static SDL_Renderer *renderer = NULL; static SDL_AsyncIOQueue *queue = NULL; #define TOTAL_TEXTURES 4 -static const char * const bmps[TOTAL_TEXTURES] = { "sample.bmp", "gamepad_front.bmp", "speaker.bmp", "icon2x.bmp" }; +static const char * const pngs[TOTAL_TEXTURES] = { "sample.png", "gamepad_front.png", "speaker.png", "icon2x.png" }; static SDL_Texture *textures[TOTAL_TEXTURES]; static const SDL_FRect texture_rects[TOTAL_TEXTURES] = { { 116, 156, 408, 167 }, @@ -33,10 +33,11 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) return SDL_APP_FAILURE; } - if (!SDL_CreateWindowAndRenderer("examples/asyncio/load-bitmaps", 640, 480, 0, &window, &renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/asyncio/load-bitmaps", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Couldn't create window/renderer!", SDL_GetError(), NULL); return SDL_APP_FAILURE; } + SDL_SetRenderLogicalPresentation(renderer, 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX); queue = SDL_CreateAsyncIOQueue(); if (!queue) { @@ -44,12 +45,12 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) return SDL_APP_FAILURE; } - /* Load some .bmp files asynchronously from wherever the app is being run from, put them in the same queue. */ - for (i = 0; i < SDL_arraysize(bmps); i++) { + /* Load some .png files asynchronously from wherever the app is being run from, put them in the same queue. */ + for (i = 0; i < SDL_arraysize(pngs); i++) { char *path = NULL; - SDL_asprintf(&path, "%s%s", SDL_GetBasePath(), bmps[i]); /* allocate a string of the full file path */ + SDL_asprintf(&path, "%s%s", SDL_GetBasePath(), pngs[i]); /* allocate a string of the full file path */ /* you _should) check for failure, but we'll just go on without files here. */ - SDL_LoadFileAsync(path, queue, (void *) bmps[i]); /* attach the filename as app-specific data, so we can see it later. */ + SDL_LoadFileAsync(path, queue, (void *) pngs[i]); /* attach the filename as app-specific data, so we can see it later. */ SDL_free(path); } @@ -72,18 +73,18 @@ SDL_AppResult SDL_AppIterate(void *appstate) SDL_AsyncIOOutcome outcome; int i; - if (SDL_GetAsyncIOResult(queue, &outcome)) { /* a .bmp file load has finished? */ + if (SDL_GetAsyncIOResult(queue, &outcome)) { /* a .png file load has finished? */ if (outcome.result == SDL_ASYNCIO_COMPLETE) { - /* this might be _any_ of the bmps; they might finish loading in any order. */ - for (i = 0; i < SDL_arraysize(bmps); i++) { + /* this might be _any_ of the pngs; they might finish loading in any order. */ + for (i = 0; i < SDL_arraysize(pngs); i++) { /* this doesn't need a strcmp because we gave the pointer from this array to SDL_LoadFileAsync */ - if (outcome.userdata == bmps[i]) { + if (outcome.userdata == pngs[i]) { break; } } - if (i < SDL_arraysize(bmps)) { /* (just in case.) */ - SDL_Surface *surface = SDL_LoadBMP_IO(SDL_IOFromConstMem(outcome.buffer, (size_t) outcome.bytes_transferred), true); + if (i < SDL_arraysize(pngs)) { /* (just in case.) */ + SDL_Surface *surface = SDL_LoadPNG_IO(SDL_IOFromConstMem(outcome.buffer, (size_t) outcome.bytes_transferred), true); if (surface) { /* the renderer is not multithreaded, so create the texture here once the data loads. */ textures[i] = SDL_CreateTextureFromSurface(renderer, surface); if (!textures[i]) { diff --git a/libs/SDL3/examples/audio/01-simple-playback/simple-playback.c b/libs/SDL3/examples/audio/01-simple-playback/simple-playback.c index 15126e5..69b7891 100644 --- a/libs/SDL3/examples/audio/01-simple-playback/simple-playback.c +++ b/libs/SDL3/examples/audio/01-simple-playback/simple-playback.c @@ -29,10 +29,11 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) } /* we don't _need_ a window for audio-only things but it's good policy to have one. */ - if (!SDL_CreateWindowAndRenderer("examples/audio/simple-playback", 640, 480, 0, &window, &renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/audio/simple-playback", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); return SDL_APP_FAILURE; } + SDL_SetRenderLogicalPresentation(renderer, 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX); /* We're just playing a single thing here, so we'll use the simplified option. We are always going to feed audio in as mono, float32 data at 8000Hz. diff --git a/libs/SDL3/examples/audio/02-simple-playback-callback/simple-playback-callback.c b/libs/SDL3/examples/audio/02-simple-playback-callback/simple-playback-callback.c index c011c72..186ae24 100644 --- a/libs/SDL3/examples/audio/02-simple-playback-callback/simple-playback-callback.c +++ b/libs/SDL3/examples/audio/02-simple-playback-callback/simple-playback-callback.c @@ -63,10 +63,11 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) } /* we don't _need_ a window for audio-only things but it's good policy to have one. */ - if (!SDL_CreateWindowAndRenderer("examples/audio/simple-playback-callback", 640, 480, 0, &window, &renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/audio/simple-playback-callback", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); return SDL_APP_FAILURE; } + SDL_SetRenderLogicalPresentation(renderer, 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX); /* We're just playing a single thing here, so we'll use the simplified option. We are always going to feed audio in as mono, float32 data at 8000Hz. diff --git a/libs/SDL3/examples/audio/03-load-wav/load-wav.c b/libs/SDL3/examples/audio/03-load-wav/load-wav.c index c517e5d..a8de071 100644 --- a/libs/SDL3/examples/audio/03-load-wav/load-wav.c +++ b/libs/SDL3/examples/audio/03-load-wav/load-wav.c @@ -39,10 +39,11 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) } /* we don't _need_ a window for audio-only things but it's good policy to have one. */ - if (!SDL_CreateWindowAndRenderer("examples/audio/load-wav", 640, 480, 0, &window, &renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/audio/load-wav", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); return SDL_APP_FAILURE; } + SDL_SetRenderLogicalPresentation(renderer, 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX); /* Load the .wav file from wherever the app is being run from. */ SDL_asprintf(&wav_path, "%ssample.wav", SDL_GetBasePath()); /* allocate a string of the full file path */ diff --git a/libs/SDL3/examples/audio/04-multiple-streams/README.txt b/libs/SDL3/examples/audio/04-multiple-streams/README.txt index 9ef2275..ad7f5f8 100644 --- a/libs/SDL3/examples/audio/04-multiple-streams/README.txt +++ b/libs/SDL3/examples/audio/04-multiple-streams/README.txt @@ -1,5 +1,5 @@ If you're running this in a web browser, you need to click the window before you'll hear anything! -This example code loads two .wav files, puts them an audio streams and binds +This example code loads two .wav files, puts them in audio streams and binds them for playback, repeating both sounds on loop. This shows several streams mixing into a single playback device. diff --git a/libs/SDL3/examples/audio/04-multiple-streams/multiple-streams.c b/libs/SDL3/examples/audio/04-multiple-streams/multiple-streams.c index 8d3bfaa..a10ae09 100644 --- a/libs/SDL3/examples/audio/04-multiple-streams/multiple-streams.c +++ b/libs/SDL3/examples/audio/04-multiple-streams/multiple-streams.c @@ -1,5 +1,5 @@ /* - * This example code loads two .wav files, puts them an audio streams and + * This example code loads two .wav files, puts them in audio streams and * binds them for playback, repeating both sounds on loop. This shows several * streams mixing into a single playback device. * @@ -65,10 +65,11 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) return SDL_APP_FAILURE; } - if (!SDL_CreateWindowAndRenderer("examples/audio/multiple-streams", 640, 480, 0, &window, &renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/audio/multiple-streams", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); return SDL_APP_FAILURE; } + SDL_SetRenderLogicalPresentation(renderer, 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX); /* open the default audio device in whatever format it prefers; our audio streams will adjust to it. */ audio_device = SDL_OpenAudioDevice(SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK, NULL); diff --git a/libs/SDL3/examples/audio/05-planar-data/README.txt b/libs/SDL3/examples/audio/05-planar-data/README.txt new file mode 100644 index 0000000..c7bd0ab --- /dev/null +++ b/libs/SDL3/examples/audio/05-planar-data/README.txt @@ -0,0 +1,7 @@ +This example code draws two clickable buttons. Each causes a sound to play, +fed to either the left or right audio channel through separate (planar) +arrays. + +Planar audio can feed both channels at the same time from different arrays, +as well, but this example only uses one channel at a time for clarity. A +NULL array will supply silence for that channel. diff --git a/libs/SDL3/examples/audio/05-planar-data/onmouseover.webp b/libs/SDL3/examples/audio/05-planar-data/onmouseover.webp new file mode 100644 index 0000000000000000000000000000000000000000..90880c9e4544826bd5afa597497eed33ea79a96e GIT binary patch literal 17488 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 +#include + +/* We will use this renderer to draw into this window every frame. */ +static SDL_Window *window = NULL; +static SDL_Renderer *renderer = NULL; +static SDL_AudioStream *stream = NULL; + +/* location of buttons on the screen. */ +static const SDL_FRect rect_left_button = { 100, 170, 100, 100 }; +static const SDL_FRect rect_right_button = { 440, 170, 100, 100 }; + +/* -1 if we're currently playing left, 1 if playing right, 0 if not playing. */ +static int playing_sound = 0; + +/* Raw audio data. These arrays are at the end of the source file. */ +static const Uint8 left[1870]; +static const Uint8 right[1777]; + + +/* This function runs once at startup. */ +SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) +{ + const SDL_AudioSpec spec = { SDL_AUDIO_U8, 2, 4000 }; /* Uint8 data, stereo, 4000Hz. */ + + SDL_SetAppMetadata("Example Audio Planar Data", "1.0", "com.example.audio-planar-data"); + + if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO)) { + SDL_Log("Couldn't initialize SDL: %s", SDL_GetError()); + return SDL_APP_FAILURE; + } + + if (!SDL_CreateWindowAndRenderer("examples/audio/planar-data", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { + SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); + return SDL_APP_FAILURE; + } + SDL_SetRenderLogicalPresentation(renderer, 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX); + + stream = SDL_OpenAudioDeviceStream(SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK, &spec, NULL, NULL); + if (!stream) { + SDL_Log("Couldn't open audio device stream: %s", SDL_GetError()); + return SDL_APP_FAILURE; + } + + SDL_ResumeAudioStreamDevice(stream); /* SDL_OpenAudioDeviceStream starts the device paused. Resume it! */ + + return SDL_APP_CONTINUE; /* carry on with the program! */ +} + +/* This function runs when a new event (mouse input, keypresses, etc) occurs. */ +SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) +{ + SDL_ConvertEventToRenderCoordinates(renderer, event); + if (event->type == SDL_EVENT_QUIT) { + return SDL_APP_SUCCESS; /* end the program, reporting success to the OS. */ + } else if (event->type == SDL_EVENT_MOUSE_BUTTON_DOWN) { + if (playing_sound == 0) { /* nothing currently playing? */ + const SDL_FPoint point = { event->button.x, event->button.y }; + if (SDL_PointInRectFloat(&point, &rect_left_button)) { /* clicked left button? */ + const Uint8 *planes[] = { left, NULL }; /* specify NULL to say "this specific channel is silent" */ + SDL_PutAudioStreamPlanarData(stream, (const void * const *) planes, -1, SDL_arraysize(left)); + SDL_FlushAudioStream(stream); /* that's all we're playing until it completes. */ + playing_sound = -1; /* left is playing */ + } else if (SDL_PointInRectFloat(&point, &rect_right_button)) { /* clicked right button? */ + const Uint8 *planes[] = { NULL, right }; /* specify NULL to say "this specific channel is silent" */ + SDL_PutAudioStreamPlanarData(stream, (const void * const *) planes, -1, SDL_arraysize(right)); + SDL_FlushAudioStream(stream); /* that's all we're playing until it completes. */ + playing_sound = 1; /* right is playing */ + } + } + } + + return SDL_APP_CONTINUE; /* carry on with the program! */ +} + +static void render_button(const SDL_FRect *rect, const char *str, int button_value) +{ + float x, y; + + if (playing_sound == button_value) { + SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255); /* green while playing */ + } else { + SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255); /* blue while not playing */ + } + + SDL_RenderFillRect(renderer, rect); + SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); + + x = rect->x + ((rect->w - (SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE * SDL_strlen(str))) / 2.0f); + y = rect->y + ((rect->h - SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE) / 2.0f); + SDL_RenderDebugText(renderer, x, y, str); +} + +/* This function runs once per frame, and is the heart of the program. */ +SDL_AppResult SDL_AppIterate(void *appstate) +{ + if (playing_sound) { + if (SDL_GetAudioStreamQueued(stream) == 0) { /* sound is done? We can play a new sound now. */ + playing_sound = 0; + } + } + + SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); + SDL_RenderClear(renderer); + + render_button(&rect_left_button, "LEFT", -1); + render_button(&rect_right_button, "RIGHT", 1); + + SDL_RenderPresent(renderer); + + return SDL_APP_CONTINUE; /* carry on with the program! */ +} + +/* This function runs once at shutdown. */ +void SDL_AppQuit(void *appstate, SDL_AppResult result) +{ + SDL_DestroyAudioStream(stream); + /* SDL will clean up the window/renderer for us. */ +} + + + +/* This is the audio data, as raw PCM samples (Uint8, 1 channel, 4000Hz) packed into C byte arrays for convenience. */ + +static const Uint8 left[1870] = { + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x81, 0x80, 0x81, 0x82, 0x82, + 0x83, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x81, 0x80, 0x80, 0x80, 0x7f, 0x7e, 0x7e, 0x7e, 0x7d, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7c, 0x7d, 0x7d, 0x7e, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x85, 0x84, + 0x84, 0x83, 0x81, 0x7f, 0x7d, 0x7c, 0x7a, 0x7a, 0x7a, 0x77, 0x77, 0x77, 0x76, 0x76, 0x76, 0x77, + 0x78, 0x7d, 0x82, 0x89, 0x8e, 0x92, 0x95, 0x95, 0x91, 0x8b, 0x84, 0x7d, 0x77, 0x73, 0x72, 0x72, + 0x74, 0x75, 0x75, 0x75, 0x76, 0x74, 0x73, 0x73, 0x74, 0x79, 0x81, 0x89, 0x8f, 0x96, 0x9b, 0x9c, + 0x98, 0x91, 0x88, 0x7e, 0x77, 0x74, 0x73, 0x74, 0x77, 0x7b, 0x7c, 0x7a, 0x77, 0x73, 0x6d, 0x69, + 0x68, 0x6a, 0x73, 0x7f, 0x87, 0x8e, 0x99, 0xa1, 0x9e, 0x97, 0x90, 0x86, 0x7c, 0x76, 0x77, 0x7b, + 0x80, 0x89, 0x91, 0x93, 0x91, 0x8e, 0x87, 0x7c, 0x71, 0x6b, 0x65, 0x60, 0x5d, 0x5f, 0x60, 0x61, + 0x6b, 0x7b, 0x84, 0x8d, 0xa0, 0xae, 0xae, 0xa8, 0xa1, 0x94, 0x81, 0x73, 0x6f, 0x70, 0x74, 0x7e, + 0x8d, 0x95, 0x97, 0x98, 0x92, 0x83, 0x72, 0x69, 0x61, 0x5a, 0x56, 0x59, 0x5d, 0x5f, 0x65, 0x75, + 0x82, 0x87, 0x95, 0xaa, 0xb4, 0xb0, 0xaa, 0xa0, 0x8d, 0x77, 0x6c, 0x6c, 0x6d, 0x72, 0x81, 0x91, + 0x98, 0x9a, 0x9a, 0x8f, 0x7a, 0x6a, 0x61, 0x58, 0x4f, 0x50, 0x57, 0x5b, 0x61, 0x74, 0x85, 0x8a, + 0x96, 0xab, 0xb4, 0xae, 0xa5, 0x9c, 0x88, 0x71, 0x67, 0x69, 0x6c, 0x73, 0x85, 0x96, 0x9d, 0xa1, + 0xa3, 0x96, 0x7f, 0x6e, 0x63, 0x56, 0x4c, 0x4d, 0x52, 0x53, 0x58, 0x6b, 0x80, 0x86, 0x92, 0xaa, + 0xb8, 0xb4, 0xac, 0xa5, 0x90, 0x75, 0x69, 0x6a, 0x6c, 0x73, 0x86, 0x98, 0x9c, 0xa2, 0xa7, 0x99, + 0x7f, 0x6e, 0x61, 0x54, 0x4c, 0x4b, 0x4d, 0x4f, 0x54, 0x66, 0x7c, 0x85, 0x90, 0xa9, 0xbc, 0xba, + 0xb4, 0xac, 0x95, 0x78, 0x69, 0x67, 0x67, 0x71, 0x86, 0x99, 0x9d, 0xa4, 0xab, 0x9b, 0x7f, 0x6e, + 0x5f, 0x50, 0x4b, 0x4e, 0x4e, 0x4e, 0x54, 0x60, 0x77, 0x86, 0x8e, 0xa4, 0xbb, 0xbf, 0xb9, 0xb3, + 0x9e, 0x7d, 0x68, 0x65, 0x63, 0x6b, 0x84, 0x9a, 0x9d, 0xa3, 0xb0, 0x9f, 0x83, 0x71, 0x5f, 0x4d, + 0x4c, 0x51, 0x51, 0x51, 0x56, 0x5a, 0x64, 0x7d, 0x90, 0x99, 0xad, 0xc3, 0xc2, 0xb5, 0xaa, 0x92, + 0x71, 0x62, 0x65, 0x6a, 0x78, 0x92, 0xa2, 0xa1, 0xa7, 0xa8, 0x91, 0x78, 0x66, 0x55, 0x4a, 0x50, + 0x54, 0x50, 0x50, 0x58, 0x5a, 0x65, 0x8b, 0x9b, 0x9b, 0xb7, 0xc9, 0xb3, 0xa6, 0xa2, 0x7d, 0x5a, + 0x66, 0x6f, 0x70, 0x94, 0xa2, 0x90, 0x9b, 0xa5, 0x8f, 0x82, 0x77, 0x5c, 0x58, 0x60, 0x50, 0x46, + 0x56, 0x49, 0x3a, 0x54, 0x97, 0xbe, 0xa9, 0xb0, 0xad, 0x91, 0xa7, 0xb3, 0x83, 0x6f, 0x6c, 0x5b, + 0x71, 0x91, 0x9c, 0xac, 0x98, 0x78, 0x8a, 0xa6, 0xad, 0x9e, 0x72, 0x4d, 0x4e, 0x4f, 0x4e, 0x4a, + 0x48, 0x46, 0x42, 0x4e, 0x99, 0xd5, 0xae, 0xb0, 0xb1, 0x8a, 0xb3, 0xbd, 0x82, 0x6b, 0x53, 0x56, + 0x8b, 0x97, 0xa7, 0xaf, 0x74, 0x6b, 0x92, 0xaf, 0xc1, 0x8f, 0x55, 0x47, 0x4e, 0x60, 0x5e, 0x45, + 0x4a, 0x4f, 0x3a, 0x44, 0x9f, 0xdf, 0xac, 0xa8, 0x93, 0x79, 0xbf, 0xc3, 0x92, 0x67, 0x36, 0x5a, + 0x90, 0x9b, 0xb6, 0xa1, 0x6b, 0x68, 0x8d, 0xc3, 0xca, 0x83, 0x4f, 0x3d, 0x53, 0x72, 0x63, 0x46, + 0x44, 0x55, 0x4f, 0x4c, 0x78, 0xcb, 0xbb, 0x93, 0x99, 0x79, 0xad, 0xd0, 0x9f, 0x70, 0x37, 0x4f, + 0x90, 0x9e, 0xaf, 0x94, 0x73, 0x71, 0x89, 0xc0, 0xc0, 0x8f, 0x5b, 0x45, 0x62, 0x79, 0x6f, 0x5b, + 0x46, 0x56, 0x54, 0x53, 0x59, 0x90, 0xd8, 0x95, 0x8c, 0x8c, 0x88, 0xd6, 0xb8, 0x83, 0x4c, 0x2f, + 0x80, 0xa2, 0xaa, 0x9c, 0x69, 0x74, 0x80, 0xb0, 0xc6, 0x99, 0x78, 0x54, 0x69, 0x80, 0x7c, 0x69, + 0x4b, 0x4e, 0x57, 0x4e, 0x4c, 0x5f, 0xae, 0xc3, 0x82, 0x86, 0x83, 0xac, 0xd9, 0xa3, 0x6a, 0x31, + 0x50, 0xa0, 0xad, 0xa6, 0x6d, 0x59, 0x7f, 0x9e, 0xc8, 0xaf, 0x81, 0x74, 0x70, 0x8b, 0x83, 0x76, + 0x58, 0x50, 0x56, 0x59, 0x58, 0x49, 0x62, 0x7c, 0xce, 0x99, 0x71, 0x9c, 0x8d, 0xd4, 0xb1, 0x6c, + 0x4f, 0x37, 0x95, 0xab, 0x9b, 0x7f, 0x4b, 0x82, 0xa2, 0xba, 0xb5, 0x7b, 0x7d, 0x7d, 0x8d, 0x8b, + 0x71, 0x62, 0x54, 0x5b, 0x4e, 0x5d, 0x4c, 0x5e, 0x57, 0x9c, 0xd4, 0x67, 0x94, 0x83, 0xa2, 0xd8, + 0x83, 0x70, 0x2e, 0x59, 0xb5, 0x9d, 0xa1, 0x51, 0x55, 0x97, 0xad, 0xcb, 0x86, 0x77, 0x78, 0x95, + 0xa1, 0x76, 0x6d, 0x58, 0x67, 0x5b, 0x4f, 0x66, 0x55, 0x67, 0x4e, 0x67, 0xd9, 0x88, 0x89, 0x86, + 0x6f, 0xcd, 0x9b, 0x89, 0x4e, 0x39, 0x9f, 0xa0, 0xa9, 0x7a, 0x47, 0x88, 0x99, 0xbe, 0xac, 0x6b, + 0x88, 0x87, 0xaf, 0x9a, 0x67, 0x71, 0x63, 0x74, 0x62, 0x55, 0x5c, 0x5e, 0x65, 0x5c, 0x54, 0xb1, + 0xb0, 0x79, 0x8d, 0x6f, 0xac, 0xb7, 0x8e, 0x73, 0x44, 0x7b, 0xa1, 0x99, 0x90, 0x5a, 0x70, 0x97, + 0xa0, 0xb4, 0x89, 0x83, 0x8e, 0x96, 0xa3, 0x7e, 0x6f, 0x6c, 0x6a, 0x6b, 0x5b, 0x5a, 0x61, 0x5e, + 0x5d, 0x63, 0x66, 0xa0, 0xa6, 0x7c, 0x8d, 0x83, 0xa4, 0xad, 0x88, 0x7b, 0x58, 0x75, 0x95, 0x91, + 0x92, 0x70, 0x75, 0x93, 0x9c, 0xab, 0x92, 0x84, 0x8d, 0x91, 0x96, 0x81, 0x70, 0x6b, 0x6c, 0x68, + 0x62, 0x59, 0x5e, 0x69, 0x5a, 0x5a, 0x68, 0x5f, 0xa2, 0xb0, 0x6d, 0x87, 0x7e, 0xa0, 0xba, 0x89, + 0x78, 0x53, 0x73, 0xa6, 0x9b, 0x95, 0x6c, 0x65, 0x8e, 0x9a, 0xab, 0x97, 0x7b, 0x85, 0x8e, 0x9a, + 0x91, 0x71, 0x6b, 0x68, 0x65, 0x6e, 0x58, 0x5d, 0x70, 0x5d, 0x6d, 0x67, 0x5e, 0x80, 0x78, 0x94, + 0x98, 0x7c, 0x96, 0x90, 0xa1, 0xa5, 0x82, 0x7f, 0x70, 0x7e, 0x94, 0x87, 0x87, 0x80, 0x88, 0x92, + 0x8e, 0x96, 0x8c, 0x89, 0x84, 0x73, 0x72, 0x6f, 0x71, 0x6d, 0x5e, 0x61, 0x6a, 0x70, 0x77, 0x6f, + 0x6d, 0x79, 0x76, 0x7f, 0x77, 0x75, 0x7e, 0x90, 0xa8, 0x8c, 0x85, 0x98, 0x9b, 0xa7, 0x93, 0x79, + 0x78, 0x79, 0x91, 0x94, 0x87, 0x86, 0x85, 0x86, 0x8b, 0x89, 0x82, 0x7c, 0x74, 0x6d, 0x6c, 0x75, + 0x75, 0x6f, 0x64, 0x69, 0x74, 0x7e, 0x83, 0x76, 0x75, 0x85, 0x8a, 0x89, 0x88, 0x78, 0x81, 0x88, + 0x83, 0x85, 0x7e, 0x80, 0x88, 0x89, 0x8c, 0x8d, 0x8a, 0x8b, 0x88, 0x88, 0x89, 0x85, 0x81, 0x81, + 0x7e, 0x7c, 0x7c, 0x77, 0x7d, 0x76, 0x6f, 0x7d, 0x7f, 0x78, 0x73, 0x76, 0x83, 0x84, 0x80, 0x7f, + 0x82, 0x86, 0x80, 0x81, 0x83, 0x81, 0x81, 0x7e, 0x7d, 0x7b, 0x83, 0x8b, 0x85, 0x7a, 0x76, 0x83, + 0x87, 0x82, 0x7d, 0x76, 0x7b, 0x80, 0x83, 0x81, 0x7a, 0x79, 0x7d, 0x82, 0x81, 0x82, 0x82, 0x83, + 0x86, 0x80, 0x80, 0x81, 0x7e, 0x80, 0x7d, 0x7a, 0x7e, 0x81, 0x7e, 0x7e, 0x80, 0x7f, 0x81, 0x82, + 0x80, 0x81, 0x82, 0x7f, 0x7f, 0x7d, 0x7c, 0x7f, 0x7b, 0x7b, 0x7d, 0x7a, 0x7a, 0x7e, 0x7e, 0x7c, + 0x7c, 0x7f, 0x80, 0x7f, 0x80, 0x82, 0x81, 0x81, 0x80, 0x7e, 0x80, 0x7f, 0x81, 0x7b, 0x7c, 0x7f, + 0x7f, 0x81, 0x7f, 0x7f, 0x80, 0x80, 0x7f, 0x80, 0x7f, 0x7f, 0x83, 0x7e, 0x7f, 0x85, 0x81, 0x83, + 0x84, 0x80, 0x84, 0x81, 0x81, 0x83, 0x81, 0x83, 0x80, 0x84, 0x80, 0x80, 0x85, 0x80, 0x81, 0x7f, + 0x82, 0x82, 0x81, 0x81, 0x80, 0x81, 0x80, 0x87, 0x81, 0x7c, 0x80, 0x7f, 0x80, 0x7d, 0x7c, 0x7d, + 0x80, 0x80, 0x80, 0x82, 0x7d, 0x81, 0x82, 0x7e, 0x82, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x82, + 0x7f, 0x80, 0x7f, 0x7f, 0x81, 0x7f, 0x80, 0x7e, 0x81, 0x80, 0x7e, 0x80, 0x7e, 0x7f, 0x80, 0x80, + 0x82, 0x7f, 0x83, 0x83, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7f, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x81, 0x80, 0x7f, 0x7f, 0x7f, 0x7e, 0x7f, 0x7e, 0x7d, 0x7e, 0x7d, 0x7c, 0x7d, 0x7c, 0x7c, + 0x7d, 0x7c, 0x7d, 0x7e, 0x7f, 0x7e, 0x7e, 0x7f, 0x7d, 0x7f, 0x7f, 0x80, 0x7f, 0x7e, 0x7f, 0x80, + 0x7e, 0x80, 0x7e, 0x7e, 0x80, 0x7e, 0x80, 0x7e, 0x7f, 0x7e, 0x7d, 0x7f, 0x7d, 0x7d, 0x7d, 0x7d, + 0x7d, 0x7d, 0x7e, 0x7f, 0x7f, 0x7d, 0x7e, 0x7f, 0x7e, 0x80, 0x7f, 0x7f, 0x80, 0x7f, 0x80, 0x80, + 0x80, 0x7f, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x80, 0x7f, + 0x7f, 0x80, 0x80, 0x7f, 0x80, 0x80, 0x7f, 0x7f, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, + 0x81, 0x80, 0x82, 0x83, 0x81, 0x82, 0x81, 0x82, 0x82, 0x82, 0x81, 0x81, 0x83, 0x82, 0x82, 0x82, + 0x81, 0x83, 0x82, 0x81, 0x81, 0x80, 0x80, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7e, 0x80, 0x7d, 0x80, + 0x81, 0x7e, 0x7f, 0x7f, 0x80, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x81, 0x81, 0x80, 0x81, 0x81, 0x80, + 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x7f, 0x7f, 0x7e, 0x7f, 0x81, 0x80, 0x7f, 0x81, 0x81, 0x82, 0x81, + 0x80, 0x82, 0x82, 0x80, 0x81, 0x81, 0x80, 0x80, 0x7e, 0x7d, 0x7f, 0x7e, 0x81, 0x81, 0x7e, 0x7f, + 0x82, 0x7f, 0x7d, 0x7f, 0x7d, 0x81, 0x7f, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x7f, 0x80, + 0x7f, 0x7e, 0x7f, 0x7f, 0x7e, 0x7c, 0x7d, 0x7e, 0x7d, 0x7d, 0x7e, 0x7d, 0x7e, 0x7c, 0x7e, 0x7e, + 0x7c, 0x7e, 0x7d, 0x7e, 0x7e, 0x7e, 0x7d, 0x7d, 0x7c, 0x7b, 0x7c, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7c, 0x7c, 0x7d, 0x7c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7e, 0x7d, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x81, + 0x81, 0x81, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, + 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x81, 0x80, 0x83, 0x80, 0x80, 0x80, 0x84, 0x84, + 0x7b, 0x7e, 0x80, 0x80, 0x7e, 0x80, 0x7e, 0x7f, 0x81, 0x81, 0x80, 0x7f, 0x80, 0x7f, 0x7e, 0x7e, + 0x7f, 0x80, 0x80, 0x7f, 0x81, 0x82, 0x80, 0x80, 0x81, 0x81, 0x80, 0x81, 0x7f, 0x80, 0x80, 0x81, + 0x81, 0x81, 0x81, 0x84, 0x83, 0x7f, 0x7f, 0x80, 0x80, 0x7f, 0x81, 0x7e, 0x7e, 0x7f, 0x81, 0x7f, + 0x7f, 0x80, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x81, 0x82, 0x82, 0x80, 0x7f, 0x80, + 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7e, 0x7f, 0x7f, 0x7f, 0x7d, 0x7e, 0x7e, 0x7f, 0x80, + 0x80, 0x80, 0x80, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x80, 0x80, 0x81, 0x7f, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x80, 0x7f, 0x7e, 0x7e, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7f, + 0x7e, 0x7d, 0x7d, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7e, 0x80, 0x7e, 0x7f, 0x7f, + 0x7e, 0x7f, 0x7e, 0x80, 0x7f, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x7f, 0x7e, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x7f, 0x7f, 0x81, 0x80, 0x7f, 0x80, 0x80, 0x82, + 0x81, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x80, 0x81, 0x80, 0x82, 0x7f, + 0x7f, 0x7e, 0x7e, 0x80, 0x7e, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x81, 0x80, + 0x81, 0x80, 0x80, 0x81, 0x80, 0x83, 0x80, 0x80, 0x7f, 0x7f, 0x80, 0x7f, 0x80, 0x7e, 0x80, 0x7f, + 0x7f, 0x80, 0x7f, 0x82, 0x80, 0x81, 0x7f, 0x7e, 0x80, 0x7f, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, + 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x7f, 0x80, 0x7f, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x80, 0x81, 0x80, 0x80, 0x80, 0x81, 0x81, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7e, 0x7e, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x7f, 0x80, 0x81, 0x7f, 0x80, 0x7e, 0x7f, 0x7f, + 0x7e, 0x80, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7d, 0x7f, 0x7e, 0x7f, 0x7f, 0x7f, 0x80, + 0x7f, 0x80, 0x80, 0x7f, 0x80, 0x7f, 0x80, 0x81, 0x81, 0x81, 0x80, 0x80, 0x7f, 0x7f, 0x80, 0x7f, + 0x7f, 0x7f, 0x81, 0x81, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x7f, 0x7f, + 0x7f, 0x80, 0x80, 0x7f, 0x80, 0x80, 0x81, 0x80, 0x80, 0x7f, 0x7e, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x80, 0x80, 0x7f, 0x80, 0x7e, 0x7f, 0x7e +}; + +static const Uint8 right[1777] = { + 0x7f, 0x7e, 0x7e, 0x7f, 0x80, 0x80, 0x80, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x82, 0x83, 0x83, 0x83, + 0x82, 0x81, 0x81, 0x80, 0x7f, 0x7e, 0x7c, 0x7b, 0x7a, 0x7a, 0x79, 0x79, 0x79, 0x7a, 0x7a, 0x7b, + 0x7c, 0x7e, 0x80, 0x82, 0x84, 0x86, 0x88, 0x89, 0x89, 0x89, 0x88, 0x87, 0x84, 0x82, 0x80, 0x7e, + 0x7c, 0x7b, 0x7a, 0x7a, 0x79, 0x78, 0x77, 0x75, 0x76, 0x77, 0x78, 0x78, 0x78, 0x7b, 0x81, 0x87, + 0x8c, 0x8e, 0x90, 0x92, 0x91, 0x8d, 0x87, 0x81, 0x7d, 0x7b, 0x7a, 0x79, 0x79, 0x7a, 0x79, 0x78, + 0x75, 0x74, 0x75, 0x75, 0x75, 0x76, 0x76, 0x76, 0x76, 0x7b, 0x83, 0x88, 0x8b, 0x8f, 0x95, 0x98, + 0x95, 0x8d, 0x86, 0x83, 0x80, 0x7e, 0x7c, 0x7c, 0x7e, 0x7e, 0x7c, 0x79, 0x78, 0x76, 0x75, 0x72, + 0x73, 0x74, 0x72, 0x6f, 0x6d, 0x72, 0x7e, 0x87, 0x8b, 0x90, 0x98, 0x9f, 0x9b, 0x91, 0x85, 0x7f, + 0x7b, 0x78, 0x79, 0x7f, 0x87, 0x8b, 0x8a, 0x89, 0x89, 0x86, 0x81, 0x79, 0x75, 0x74, 0x73, 0x73, + 0x6f, 0x6d, 0x6e, 0x6e, 0x6e, 0x6f, 0x72, 0x77, 0x82, 0x8f, 0x95, 0x99, 0x9c, 0x9e, 0x99, 0x8c, + 0x7f, 0x74, 0x71, 0x70, 0x74, 0x7e, 0x8a, 0x92, 0x91, 0x8f, 0x8f, 0x8d, 0x85, 0x7c, 0x76, 0x75, + 0x76, 0x75, 0x71, 0x6d, 0x6b, 0x68, 0x64, 0x64, 0x66, 0x6e, 0x83, 0x8f, 0x93, 0x9b, 0xa3, 0xa4, + 0x97, 0x86, 0x76, 0x6f, 0x6d, 0x6e, 0x78, 0x87, 0x94, 0x98, 0x96, 0x94, 0x91, 0x89, 0x7e, 0x74, + 0x6f, 0x70, 0x74, 0x72, 0x6e, 0x6b, 0x67, 0x62, 0x60, 0x60, 0x69, 0x84, 0x91, 0x95, 0xa1, 0xae, + 0xb0, 0x9b, 0x84, 0x74, 0x6a, 0x65, 0x67, 0x78, 0x8b, 0x98, 0x9f, 0x9e, 0x9a, 0x90, 0x86, 0x7c, + 0x71, 0x6a, 0x6c, 0x73, 0x74, 0x6d, 0x69, 0x65, 0x5e, 0x5c, 0x60, 0x6f, 0x8b, 0x95, 0x9b, 0xac, + 0xb3, 0xa5, 0x89, 0x7a, 0x6b, 0x5c, 0x5f, 0x70, 0x88, 0x97, 0xa5, 0xac, 0xa1, 0x95, 0x8e, 0x86, + 0x76, 0x6a, 0x6b, 0x72, 0x72, 0x6c, 0x67, 0x5e, 0x55, 0x52, 0x56, 0x78, 0x9c, 0x91, 0x9c, 0xbc, + 0xb8, 0x98, 0x83, 0x7f, 0x5e, 0x4c, 0x6c, 0x83, 0x8a, 0x9a, 0xb7, 0xae, 0x8a, 0x8f, 0x93, 0x79, + 0x69, 0x76, 0x76, 0x69, 0x70, 0x70, 0x5b, 0x50, 0x51, 0x57, 0x52, 0x77, 0xb2, 0x90, 0x95, 0xc8, + 0xb1, 0x8d, 0x89, 0x8a, 0x55, 0x4e, 0x87, 0x7f, 0x82, 0xb3, 0xb9, 0x8f, 0x8c, 0x9d, 0x79, 0x71, + 0x80, 0x6a, 0x61, 0x7b, 0x70, 0x51, 0x63, 0x62, 0x3e, 0x50, 0x61, 0x9a, 0xad, 0x7e, 0xba, 0xb5, + 0x94, 0x9f, 0x93, 0x75, 0x4b, 0x7b, 0x79, 0x6c, 0xab, 0xaf, 0x9f, 0x93, 0x8e, 0x7a, 0x7f, 0x89, + 0x6a, 0x6e, 0x71, 0x66, 0x5e, 0x63, 0x5c, 0x53, 0x53, 0x50, 0x5a, 0xb8, 0xbd, 0x6d, 0xc3, 0xb2, + 0x8a, 0xa7, 0xa1, 0x70, 0x4c, 0x88, 0x63, 0x7d, 0xb1, 0xa1, 0xa6, 0x8e, 0x6a, 0x7c, 0x95, 0x8b, + 0x84, 0x72, 0x5c, 0x5c, 0x67, 0x64, 0x61, 0x56, 0x65, 0x52, 0x44, 0x80, 0xda, 0x8a, 0x88, 0xc9, + 0x89, 0x96, 0xb1, 0x92, 0x4a, 0x6f, 0x6d, 0x78, 0xa5, 0xa7, 0xa0, 0x98, 0x66, 0x6e, 0xa6, 0x9d, + 0x95, 0x70, 0x52, 0x57, 0x73, 0x69, 0x72, 0x5a, 0x55, 0x52, 0x50, 0x3d, 0xb8, 0xdb, 0x5d, 0xa9, + 0xab, 0x82, 0xad, 0xc3, 0x65, 0x4c, 0x6c, 0x6d, 0x98, 0xac, 0x9f, 0x97, 0x74, 0x5a, 0xa0, 0xb1, + 0x9e, 0x7e, 0x52, 0x54, 0x74, 0x71, 0x6a, 0x6a, 0x5a, 0x53, 0x4b, 0x46, 0x5e, 0xe5, 0xaa, 0x62, + 0xab, 0x8f, 0x97, 0xcb, 0xa5, 0x4b, 0x4f, 0x67, 0x88, 0xa6, 0xa4, 0x98, 0x84, 0x61, 0x80, 0xb7, + 0xb4, 0x98, 0x64, 0x4e, 0x64, 0x77, 0x72, 0x72, 0x55, 0x54, 0x4e, 0x52, 0x3c, 0x96, 0xf0, 0x69, + 0x7f, 0xa2, 0x80, 0xc1, 0xc8, 0x75, 0x46, 0x4d, 0x74, 0xa4, 0x9e, 0x95, 0x8a, 0x6a, 0x73, 0xa6, + 0xb7, 0xb4, 0x81, 0x60, 0x5e, 0x71, 0x7c, 0x74, 0x6b, 0x54, 0x54, 0x48, 0x4f, 0x44, 0xc3, 0xcb, + 0x5b, 0x9b, 0x86, 0x99, 0xd4, 0xa3, 0x71, 0x3e, 0x4b, 0x91, 0x99, 0x9d, 0x95, 0x70, 0x72, 0x85, + 0xb0, 0xbd, 0xa5, 0x7e, 0x67, 0x67, 0x78, 0x77, 0x6e, 0x63, 0x53, 0x5b, 0x39, 0x50, 0x48, 0xb5, + 0xc2, 0x6a, 0xa5, 0x77, 0xa8, 0xbd, 0x98, 0x89, 0x3a, 0x60, 0x83, 0x85, 0xa9, 0x87, 0x87, 0x74, + 0x77, 0xac, 0xa9, 0xb9, 0x8a, 0x71, 0x6b, 0x6d, 0x81, 0x6d, 0x66, 0x51, 0x60, 0x3c, 0x50, 0x4a, + 0x91, 0xbf, 0x83, 0xae, 0x7a, 0xa4, 0xa1, 0x97, 0x92, 0x4b, 0x73, 0x68, 0x86, 0x8e, 0x8c, 0x95, + 0x79, 0x83, 0x86, 0xa2, 0xab, 0xa6, 0x8d, 0x79, 0x6a, 0x75, 0x68, 0x74, 0x56, 0x5c, 0x4e, 0x4c, + 0x49, 0x5d, 0xb1, 0x88, 0xb9, 0x8d, 0xa4, 0x90, 0x94, 0x8b, 0x66, 0x72, 0x69, 0x83, 0x7c, 0x91, + 0x82, 0x89, 0x79, 0x87, 0x8a, 0xa1, 0x9f, 0xa5, 0x95, 0x8d, 0x7a, 0x6f, 0x6f, 0x61, 0x62, 0x58, + 0x5f, 0x52, 0x52, 0x4f, 0x80, 0x90, 0xa1, 0xa6, 0xa3, 0x9c, 0x90, 0x86, 0x74, 0x6d, 0x6c, 0x7a, + 0x83, 0x8a, 0x8c, 0x88, 0x7f, 0x80, 0x82, 0x8f, 0x99, 0x9e, 0xa3, 0x9a, 0x93, 0x84, 0x73, 0x68, + 0x5d, 0x5e, 0x5d, 0x5f, 0x5e, 0x5d, 0x52, 0x6a, 0x7d, 0x8d, 0x9f, 0xa6, 0xac, 0xa0, 0x95, 0x7d, + 0x6e, 0x64, 0x6a, 0x76, 0x81, 0x8e, 0x98, 0x94, 0x8e, 0x84, 0x84, 0x84, 0x86, 0x91, 0x98, 0x9d, + 0x9a, 0x8c, 0x7b, 0x67, 0x5c, 0x58, 0x58, 0x5e, 0x5e, 0x64, 0x60, 0x67, 0x75, 0x7f, 0x8e, 0x99, + 0xa2, 0xa5, 0xa2, 0x99, 0x87, 0x74, 0x6a, 0x67, 0x6e, 0x7b, 0x87, 0x96, 0x97, 0x97, 0x94, 0x8e, + 0x8c, 0x8a, 0x8b, 0x8a, 0x8a, 0x88, 0x84, 0x7b, 0x72, 0x66, 0x5e, 0x58, 0x57, 0x5a, 0x60, 0x64, + 0x6c, 0x78, 0x81, 0x8c, 0x96, 0x9d, 0x9f, 0xa1, 0x99, 0x8f, 0x80, 0x76, 0x70, 0x6c, 0x70, 0x76, + 0x81, 0x8a, 0x93, 0x97, 0x98, 0x94, 0x91, 0x8c, 0x8a, 0x87, 0x81, 0x7c, 0x74, 0x71, 0x6b, 0x68, + 0x65, 0x62, 0x60, 0x61, 0x63, 0x67, 0x6c, 0x77, 0x82, 0x8a, 0x96, 0x9c, 0xa4, 0xa5, 0xa0, 0x95, + 0x86, 0x7b, 0x71, 0x6e, 0x6e, 0x73, 0x79, 0x82, 0x8b, 0x94, 0x99, 0x98, 0x95, 0x8e, 0x88, 0x81, + 0x7b, 0x77, 0x73, 0x6f, 0x6c, 0x6a, 0x68, 0x67, 0x66, 0x69, 0x69, 0x6e, 0x70, 0x77, 0x81, 0x88, + 0x91, 0x97, 0x9f, 0xa1, 0xa2, 0x9b, 0x92, 0x82, 0x77, 0x6c, 0x6a, 0x6b, 0x71, 0x79, 0x83, 0x8d, + 0x93, 0x97, 0x96, 0x95, 0x8f, 0x8b, 0x84, 0x7d, 0x76, 0x71, 0x6a, 0x68, 0x67, 0x68, 0x6b, 0x6d, + 0x71, 0x73, 0x76, 0x79, 0x7e, 0x83, 0x8a, 0x8f, 0x94, 0x97, 0x97, 0x95, 0x8f, 0x87, 0x7f, 0x79, + 0x76, 0x76, 0x78, 0x7a, 0x7e, 0x81, 0x86, 0x8a, 0x8c, 0x8e, 0x8d, 0x8a, 0x86, 0x80, 0x7c, 0x78, + 0x74, 0x71, 0x70, 0x70, 0x72, 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e, 0x80, 0x82, 0x82, 0x81, 0x80, + 0x7e, 0x7f, 0x81, 0x84, 0x88, 0x8b, 0x8d, 0x8d, 0x8b, 0x87, 0x83, 0x7d, 0x7a, 0x77, 0x78, 0x7a, + 0x7e, 0x81, 0x83, 0x84, 0x84, 0x84, 0x82, 0x80, 0x7f, 0x7d, 0x7b, 0x7a, 0x78, 0x78, 0x77, 0x78, + 0x78, 0x79, 0x7c, 0x7e, 0x81, 0x83, 0x83, 0x84, 0x83, 0x82, 0x81, 0x80, 0x80, 0x7f, 0x7f, 0x80, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x84, 0x84, 0x83, 0x83, 0x81, 0x80, 0x7f, 0x7f, 0x80, 0x80, 0x80, + 0x7f, 0x7e, 0x7d, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7f, 0x80, 0x80, 0x81, 0x80, 0x7f, 0x7e, 0x7d, + 0x7d, 0x7d, 0x7e, 0x80, 0x80, 0x81, 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x81, 0x80, + 0x81, 0x80, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x81, 0x80, 0x80, 0x7e, 0x7d, 0x7d, 0x7e, 0x7e, 0x7f, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x80, 0x80, 0x80, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x82, 0x82, 0x82, 0x81, 0x80, + 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, + 0x80, 0x80, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7e, 0x7f, 0x7e, 0x7f, 0x7f, 0x7f, + 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, + 0x81, 0x81, 0x80, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x81, 0x80, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, + 0x7e, 0x7d, 0x7e, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x82, 0x82, 0x81, 0x81, 0x80, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x80, 0x80, 0x80, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x7f, 0x7f, 0x80, + 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x87, 0x83, 0x7d, 0x81, 0x80, 0x7e, 0x81, 0x7b, + 0x7d, 0x84, 0x7f, 0x81, 0x83, 0x82, 0x7f, 0x80, 0x7c, 0x7b, 0x7d, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x7e, 0x7f, 0x7e, 0x7f, 0x80, 0x80, 0x81, 0x82, 0x82, 0x82, 0x82, 0x80, 0x80, 0x7f, 0x7f, + 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x82, 0x80, 0x7f, 0x80, 0x81, 0x80, 0x81, 0x7f, + 0x83, 0x85, 0x7f, 0x80, 0x84, 0x83, 0x7d, 0x7c, 0x7d, 0x80, 0x7d, 0x7d, 0x7e, 0x7e, 0x7d, 0x83, + 0x81, 0x7d, 0x7d, 0x81, 0x7f, 0x7c, 0x7c, 0x7c, 0x7d, 0x7c, 0x83, 0x80, 0x84, 0x84, 0x82, 0x7d, + 0x7f, 0x7d, 0x7c, 0x7e, 0x7e, 0x7f, 0x81, 0x84, 0x82, 0x81, 0x7e, 0x7f, 0x7f, 0x7f, 0x7e, 0x80, + 0x81, 0x80, 0x7f, 0x80, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, + 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x80, 0x82, 0x81, 0x83, 0x81, 0x82, 0x80, 0x80, 0x7f, 0x7f, 0x80, + 0x7d, 0x80, 0x7e, 0x81, 0x7f, 0x81, 0x7f, 0x80, 0x7f, 0x7f, 0x7e, 0x7d, 0x81, 0x80, 0x82, 0x7f, + 0x81, 0x7f, 0x7f, 0x7e, 0x7e, 0x7f, 0x7e, 0x80, 0x7f, 0x81, 0x7f, 0x81, 0x81, 0x81, 0x81, 0x81, + 0x82, 0x81, 0x81, 0x80, 0x81, 0x7f, 0x80, 0x7f, 0x7f, 0x7e, 0x7e, 0x7f, 0x7e, 0x7f, 0x7f, 0x7e, + 0x7f, 0x7e, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7e, 0x80, 0x7f, 0x82, 0x80, 0x81, 0x81, 0x80, + 0x81, 0x80, 0x81, 0x80, 0x81, 0x80, 0x81, 0x80, 0x80, 0x7e, 0x7f, 0x7e, 0x7d, 0x7e, 0x7e, 0x7f, + 0x7f, 0x7f, 0x7e, 0x7d, 0x80, 0x7e, 0x7f, 0x7f, 0x80, 0x7f, 0x7f, 0x81, 0x7e, 0x81, 0x81, 0x83, + 0x80, 0x81, 0x80, 0x80, 0x81, 0x7f, 0x80, 0x80, 0x80, 0x81, 0x7f, 0x80, 0x7f, 0x80, 0x7d, 0x80, + 0x7e, 0x7d, 0x80, 0x80, 0x83, 0x7f, 0x83, 0x7e, 0x83, 0x7f, 0x80, 0x7f, 0x7e, 0x81, 0x7f, 0x7f, + 0x80, 0x80, 0x81, 0x7e, 0x7f, 0x7f, 0x80, 0x81, 0x80, 0x83, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x80, + 0x80, 0x7e, 0x7f, 0x7d, 0x7e, 0x7d, 0x7e, 0x7e, 0x7f, 0x7e, 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x81, + 0x82, 0x80, 0x82, 0x80, 0x82, 0x80, 0x7f, 0x7e, 0x7f, 0x7e, 0x7f, 0x80, 0x7e, 0x80, 0x80, 0x81, + 0x7f, 0x7f, 0x7e, 0x80, 0x7d, 0x7e, 0x7e, 0x7f, 0x80, 0x7f, 0x80, 0x7e, 0x81, 0x7e, 0x81, 0x7f, + 0x80, 0x7f, 0x80, 0x81, 0x7f, 0x80, 0x7e, 0x81, 0x7e, 0x80, 0x7d, 0x80, 0x80, 0x80, 0x81, 0x80, + 0x82, 0x7e, 0x83, 0x7d, 0x80, 0x7c, 0x7d, 0x7e, 0x7c, 0x7e, 0x7d, 0x7e, 0x7f, 0x7e, 0x7e, 0x80, + 0x7e, 0x81, 0x7e, 0x81, 0x7f, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x83, 0x80, 0x81, 0x80, + 0x80, 0x80, 0x80, 0x7f, 0x80, 0x7e, 0x7f, 0x7f, 0x81, 0x7f, 0x80, 0x80, 0x7f, 0x7e, 0x80, 0x80, + 0x81, 0x82, 0x81, 0x82, 0x81, 0x81, 0x81, 0x82, 0x80, 0x80, 0x7e, 0x82, 0x80, 0x84, 0x81, 0x80, + 0x7f, 0x81, 0x80, 0x7f, 0x80, 0x7d, 0x80, 0x7d, 0x81, 0x7f, 0x81, 0x80, 0x81, 0x81, 0x80, 0x80, + 0x7e, 0x80, 0x7f, 0x81, 0x7f, 0x81, 0x81, 0x81, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x81, 0x80, 0x80, 0x7e, 0x81, 0x7f, 0x7f, 0x7e, 0x7e, 0x7f, 0x7f, 0x80, 0x7f, 0x7f, 0x7e, 0x81, + 0x7e, 0x7f, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x7f, 0x80, 0x7f, 0x80, 0x80, 0x7f, 0x80, + 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x80, 0x7f, 0x7e, 0x7d, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7e, 0x7f, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x81, + 0x80 +}; + diff --git a/libs/SDL3/examples/audio/05-planar-data/thumbnail.png b/libs/SDL3/examples/audio/05-planar-data/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..3a040dfaef38a15faef6715e6bf25b4d0da53510 GIT binary patch literal 2637 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A1{5*9c;^X_(~{}z9N_8ftWZ#tpO%@E z%D|v8v38=Z$Ke2xR{zUcu3CIzf`umn=Dt~^)ECvN6vDC9X*Hjk{@-RbUeB)X#Sfwi zKBRAa_2AK()y=CFIQ}*4;P&g%3wl)RxzM$TU+(?mJ>`7g@3C|Aa$R0?L1)3sZ8QDU zj^yNp^6Xb?adcrUIeo_HnTjUs{ja6{4EFCI*_{4=cm8Vsv(Y>p9Y;2wG01(y`{>00RZZ@tm!KQOR zwXQj?^<4K{)Y4;7rJwkeD{E6{zTV^qsZ%QsxXtmKE5e<*%m2rZ_SpR{ zdaW_321PmxxOg|cX8+%OfAdzZ$-;3#DvTw2EzTX+5V*%WtMvF!yRtdYI0b6h)_vKw z{}w}}!AO7?iq-+MdneU;#!8TavfC3&Vd9T(Ecf zWS|IVfk$L91B0G22s2hJwJ!q-vX^-Jy0X7y5ffn%k@ym_2Ph<2;u=xnoS&PUnpeW$ zT$GwvlA5AWo>`Ki;O^-g5Z=fq&cMK->gnPbQgQ3;t&3UB4kE4>tq=bH|McW!6-l@C zQi{T{+@CIJ@Oo6=xHYX~1tY_OT$>msU>f0IXkcJraA06!P+(wW5NH6J~h*M-BdhK)XY2QyZA8%%j5 z)L?sbUR<9#FeQ?n)JTthkQYeTg%?$3;2s>=HNXV;XkkKgWe@83S3`NR9)H*asx zNxpt==Kb^gwyj_Dk!3=OM%Chra`WS(`}2SDG-$s`*FUrAZ*~7Joi}|s790+KdmqP2 z&H7d$HkIMq7WqllkIwJgbYy;mW$v0jIrbfg?dHiQZkw84!F1w!^W@%H*8UIHox8C= zDt`U9>f7Ng3ih4*%bxuCY#y?eFh$ zjqcwr?wfQk!=**OcjL0dsuJ(QSvD-caXI@VivTGF0W=IqEI!EBg{7$KS?l6bD#^g` z?yxYh(88hsEuPTbN_qkVbP0l+XkK3mfWd literal 0 HcmV?d00001 diff --git a/libs/SDL3/examples/camera/01-read-and-draw/read-and-draw.c b/libs/SDL3/examples/camera/01-read-and-draw/read-and-draw.c index 989fd54..7682da9 100644 --- a/libs/SDL3/examples/camera/01-read-and-draw/read-and-draw.c +++ b/libs/SDL3/examples/camera/01-read-and-draw/read-and-draw.c @@ -33,7 +33,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) return SDL_APP_FAILURE; } - if (!SDL_CreateWindowAndRenderer("examples/camera/read-and-draw", 640, 480, 0, &window, &renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/camera/read-and-draw", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); return SDL_APP_FAILURE; } @@ -83,6 +83,7 @@ SDL_AppResult SDL_AppIterate(void *appstate) the window when we get a first frame from the camera. */ if (!texture) { SDL_SetWindowSize(window, frame->w, frame->h); /* Resize the window to match */ + SDL_SetRenderLogicalPresentation(renderer, frame->w, frame->h, SDL_LOGICAL_PRESENTATION_LETTERBOX); texture = SDL_CreateTexture(renderer, frame->format, SDL_TEXTUREACCESS_STREAMING, frame->w, frame->h); } diff --git a/libs/SDL3/examples/categories.txt b/libs/SDL3/examples/categories.txt index 8a9b5ec..bbe30f2 100644 --- a/libs/SDL3/examples/categories.txt +++ b/libs/SDL3/examples/categories.txt @@ -10,4 +10,5 @@ audio camera asyncio pen +misc demo diff --git a/libs/SDL3/examples/demo/01-snake/snake.c b/libs/SDL3/examples/demo/01-snake/snake.c index 0aca862..5c63251 100644 --- a/libs/SDL3/examples/demo/01-snake/snake.c +++ b/libs/SDL3/examples/demo/01-snake/snake.c @@ -18,9 +18,12 @@ #define SNAKE_GAME_HEIGHT 18U #define SNAKE_MATRIX_SIZE (SNAKE_GAME_WIDTH * SNAKE_GAME_HEIGHT) -#define THREE_BITS 0x7U /* ~CHAR_MAX >> (CHAR_BIT - SNAKE_CELL_MAX_BITS) */ +#define SNAKE_CELL_MAX_BITS 3U /* floor(log2(SNAKE_CELL_FOOD)) + 1 */ +#define SNAKE_CELL_SET_BITS (~(~0u << SNAKE_CELL_MAX_BITS)) #define SHIFT(x, y) (((x) + ((y) * SNAKE_GAME_WIDTH)) * SNAKE_CELL_MAX_BITS) +static SDL_Joystick *joystick = NULL; + typedef enum { SNAKE_CELL_NOTHING = 0U, @@ -31,8 +34,6 @@ typedef enum SNAKE_CELL_FOOD = 5U } SnakeCell; -#define SNAKE_CELL_MAX_BITS 3U /* floor(log2(SNAKE_CELL_FOOD)) + 1 */ - typedef enum { SNAKE_DIR_RIGHT, @@ -66,7 +67,7 @@ SnakeCell snake_cell_at(const SnakeContext *ctx, char x, char y) const int shift = SHIFT(x, y); unsigned short range; SDL_memcpy(&range, ctx->cells + (shift / 8), sizeof(range)); - return (SnakeCell)((range >> (shift % 8)) & THREE_BITS); + return (SnakeCell)((range >> (shift % 8)) & SNAKE_CELL_SET_BITS); } static void set_rect_xy_(SDL_FRect *r, short x, short y) @@ -82,8 +83,8 @@ static void put_cell_at_(SnakeContext *ctx, char x, char y, SnakeCell ct) unsigned char *const pos = ctx->cells + (shift / 8); unsigned short range; SDL_memcpy(&range, pos, sizeof(range)); - range &= ~(THREE_BITS << adjust); /* clear bits */ - range |= (ct & THREE_BITS) << adjust; + range &= ~(SNAKE_CELL_SET_BITS << adjust); /* clear bits */ + range |= (ct & SNAKE_CELL_SET_BITS) << adjust; SDL_memcpy(pos, &range, sizeof(range)); } @@ -186,6 +187,8 @@ void snake_step(SnakeContext *ctx) case SNAKE_DIR_DOWN: ++ctx->head_ypos; break; + default: + break; } wrap_around_(&ctx->head_xpos, SNAKE_GAME_WIDTH); wrap_around_(&ctx->head_ypos, SNAKE_GAME_HEIGHT); @@ -238,6 +241,26 @@ static SDL_AppResult handle_key_event_(SnakeContext *ctx, SDL_Scancode key_code) return SDL_APP_CONTINUE; } +static SDL_AppResult handle_hat_event_(SnakeContext *ctx, Uint8 hat) { + switch (hat) { + case SDL_HAT_RIGHT: + snake_redir(ctx, SNAKE_DIR_RIGHT); + break; + case SDL_HAT_UP: + snake_redir(ctx, SNAKE_DIR_UP); + break; + case SDL_HAT_LEFT: + snake_redir(ctx, SNAKE_DIR_LEFT); + break; + case SDL_HAT_DOWN: + snake_redir(ctx, SNAKE_DIR_DOWN); + break; + default: + break; + } + return SDL_APP_CONTINUE; +} + SDL_AppResult SDL_AppIterate(void *appstate) { AppState *as = (AppState *)appstate; @@ -305,7 +328,8 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) } } - if (!SDL_Init(SDL_INIT_VIDEO)) { + if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK)) { + SDL_Log("Couldn't initialize SDL: %s", SDL_GetError()); return SDL_APP_FAILURE; } @@ -316,9 +340,10 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) *appstate = as; - if (!SDL_CreateWindowAndRenderer("examples/demo/snake", SDL_WINDOW_WIDTH, SDL_WINDOW_HEIGHT, 0, &as->window, &as->renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/demo/snake", SDL_WINDOW_WIDTH, SDL_WINDOW_HEIGHT, SDL_WINDOW_RESIZABLE, &as->window, &as->renderer)) { return SDL_APP_FAILURE; } + SDL_SetRenderLogicalPresentation(as->renderer, SDL_WINDOW_WIDTH, SDL_WINDOW_HEIGHT, SDL_LOGICAL_PRESENTATION_LETTERBOX); snake_initialize(&as->snake_ctx); @@ -333,14 +358,35 @@ SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) switch (event->type) { case SDL_EVENT_QUIT: return SDL_APP_SUCCESS; + case SDL_EVENT_JOYSTICK_ADDED: + if (joystick == NULL) { + joystick = SDL_OpenJoystick(event->jdevice.which); + if (!joystick) { + SDL_Log("Failed to open joystick ID %u: %s", (unsigned int) event->jdevice.which, SDL_GetError()); + } + } + break; + case SDL_EVENT_JOYSTICK_REMOVED: + if (joystick && (SDL_GetJoystickID(joystick) == event->jdevice.which)) { + SDL_CloseJoystick(joystick); + joystick = NULL; + } + break; + case SDL_EVENT_JOYSTICK_HAT_MOTION: + return handle_hat_event_(ctx, event->jhat.value); case SDL_EVENT_KEY_DOWN: return handle_key_event_(ctx, event->key.scancode); + default: + break; } return SDL_APP_CONTINUE; } void SDL_AppQuit(void *appstate, SDL_AppResult result) { + if (joystick) { + SDL_CloseJoystick(joystick); + } if (appstate != NULL) { AppState *as = (AppState *)appstate; SDL_DestroyRenderer(as->renderer); diff --git a/libs/SDL3/examples/demo/02-woodeneye-008/woodeneye-008.c b/libs/SDL3/examples/demo/02-woodeneye-008/woodeneye-008.c index b97b06a..97a7201 100644 --- a/libs/SDL3/examples/demo/02-woodeneye-008/woodeneye-008.c +++ b/libs/SDL3/examples/demo/02-woodeneye-008/woodeneye-008.c @@ -265,7 +265,7 @@ static void draw(SDL_Renderer *renderer, const float (*edges)[6], const Player p SDL_RenderLine(renderer, hor_origin-10, ver_origin, hor_origin+10, ver_origin); } } - SDL_SetRenderClipRect(renderer, 0); + SDL_SetRenderClipRect(renderer, NULL); SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); SDL_RenderDebugText(renderer, 0, 0, debug_string); SDL_RenderPresent(renderer); @@ -347,7 +347,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) if (!SDL_Init(SDL_INIT_VIDEO)) { return SDL_APP_FAILURE; } - if (!SDL_CreateWindowAndRenderer("examples/demo/woodeneye-008", 640, 480, 0, &as->window, &as->renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/demo/woodeneye-008", 640, 480, SDL_WINDOW_RESIZABLE, &as->window, &as->renderer)) { return SDL_APP_FAILURE; } diff --git a/libs/SDL3/examples/demo/04-bytepusher/bytepusher.c b/libs/SDL3/examples/demo/04-bytepusher/bytepusher.c index acb2ea4..e5c4e5c 100644 --- a/libs/SDL3/examples/demo/04-bytepusher/bytepusher.c +++ b/libs/SDL3/examples/demo/04-bytepusher/bytepusher.c @@ -27,13 +27,12 @@ typedef struct { Uint8 ram[RAM_SIZE + 8]; - Uint8 screenbuf[SCREEN_W * SCREEN_H]; Uint64 last_tick; Uint64 tick_acc; SDL_Window* window; SDL_Renderer* renderer; - SDL_Surface* screen; - SDL_Texture* screentex; + SDL_Palette* palette; + SDL_Texture* texture; SDL_Texture* rendertarget; /* we need this render target for text to look good */ SDL_AudioStream* audiostream; char status[SCREEN_W / 8]; @@ -131,16 +130,12 @@ static void print(BytePusher* vm, int x, int y, const char* str) { SDL_AppResult SDL_AppInit(void** appstate, int argc, char* argv[]) { BytePusher* vm; - SDL_Palette* palette; SDL_Rect usable_bounds; SDL_AudioSpec audiospec = { SDL_AUDIO_S8, 1, SAMPLES_PER_FRAME * FRAMES_PER_SECOND }; SDL_DisplayID primary_display; - SDL_PropertiesID texprops; int zoom = 2; int i; Uint8 r, g, b; - (void)argc; - (void)argv; if (!SDL_SetAppMetadata("SDL 3 BytePusher", "1.0", "com.example.SDL3BytePusher")) { return SDL_APP_FAILURE; @@ -186,13 +181,7 @@ SDL_AppResult SDL_AppInit(void** appstate, int argc, char* argv[]) { return SDL_APP_FAILURE; } - if (!(vm->screen = SDL_CreateSurfaceFrom( - SCREEN_W, SCREEN_H, SDL_PIXELFORMAT_INDEX8, vm->screenbuf, SCREEN_W - ))) { - return SDL_APP_FAILURE; - } - - if (!(palette = SDL_CreateSurfacePalette(vm->screen))) { + if (!(vm->palette = SDL_CreatePalette(256))) { return SDL_APP_FAILURE; } i = 0; @@ -200,27 +189,22 @@ SDL_AppResult SDL_AppInit(void** appstate, int argc, char* argv[]) { for (g = 0; g < 6; ++g) { for (b = 0; b < 6; ++b, ++i) { SDL_Color color = { (Uint8)(r * 0x33), (Uint8)(g * 0x33), (Uint8)(b * 0x33), SDL_ALPHA_OPAQUE }; - palette->colors[i] = color; + vm->palette->colors[i] = color; } } } for (; i < 256; ++i) { SDL_Color color = { 0, 0, 0, SDL_ALPHA_OPAQUE }; - palette->colors[i] = color; + vm->palette->colors[i] = color; } - texprops = SDL_CreateProperties(); - SDL_SetNumberProperty(texprops, SDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER, SDL_TEXTUREACCESS_STREAMING); - SDL_SetNumberProperty(texprops, SDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER, SCREEN_W); - SDL_SetNumberProperty(texprops, SDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER, SCREEN_H); - vm->screentex = SDL_CreateTextureWithProperties(vm->renderer, texprops); - SDL_SetNumberProperty(texprops, SDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER, SDL_TEXTUREACCESS_TARGET); - vm->rendertarget = SDL_CreateTextureWithProperties(vm->renderer, texprops); - SDL_DestroyProperties(texprops); - if (!vm->screentex || !vm->rendertarget) { + vm->texture = SDL_CreateTexture(vm->renderer, SDL_PIXELFORMAT_INDEX8, SDL_TEXTUREACCESS_STREAMING, SCREEN_W, SCREEN_H); + vm->rendertarget = SDL_CreateTexture(vm->renderer, SDL_PIXELFORMAT_UNKNOWN, SDL_TEXTUREACCESS_TARGET, SCREEN_W, SCREEN_H); + if (!vm->texture || !vm->rendertarget) { return SDL_APP_FAILURE; } - SDL_SetTextureScaleMode(vm->screentex, SDL_SCALEMODE_NEAREST); + SDL_SetTexturePalette(vm->texture, vm->palette); + SDL_SetTextureScaleMode(vm->texture, SDL_SCALEMODE_NEAREST); SDL_SetTextureScaleMode(vm->rendertarget, SDL_SCALEMODE_NEAREST); if (!(vm->audiostream = SDL_OpenAudioDeviceStream( @@ -236,6 +220,10 @@ SDL_AppResult SDL_AppInit(void** appstate, int argc, char* argv[]) { vm->last_tick = SDL_GetTicksNS(); vm->tick_acc = NS_PER_SECOND; + if (argc > 1) { + load_file(vm, argv[1]); + } + return SDL_APP_CONTINUE; } @@ -284,30 +272,23 @@ SDL_AppResult SDL_AppIterate(void* appstate) { } if (updated) { - SDL_Surface *tex; + const void *pixels = &vm->ram[(Uint32)vm->ram[IO_SCREEN_PAGE] << 16]; + SDL_UpdateTexture(vm->texture, NULL, pixels, SCREEN_W); SDL_SetRenderTarget(vm->renderer, vm->rendertarget); + SDL_RenderTexture(vm->renderer, vm->texture, NULL, NULL); - if (!SDL_LockTextureToSurface(vm->screentex, NULL, &tex)) { - return SDL_APP_FAILURE; + if (vm->display_help) { + print(vm, 4, 4, "Drop a BytePusher file in this"); + print(vm, 8, 12, "window to load and run it!"); + print(vm, 4, 28, "Press ENTER to switch between"); + print(vm, 8, 36, "positional and symbolic input."); } - vm->screen->pixels = &vm->ram[(Uint32)vm->ram[IO_SCREEN_PAGE] << 16]; - SDL_BlitSurface(vm->screen, NULL, tex, NULL); - SDL_UnlockTexture(vm->screentex); - SDL_RenderTexture(vm->renderer, vm->screentex, NULL, NULL); - } - - if (vm->display_help) { - print(vm, 4, 4, "Drop a BytePusher file in this"); - print(vm, 8, 12, "window to load and run it!"); - print(vm, 4, 28, "Press ENTER to switch between"); - print(vm, 8, 36, "positional and symbolic input."); - } - - if (vm->status_ticks > 0) { - vm->status_ticks -= 1; - print(vm, 4, SCREEN_H - 12, vm->status); + if (vm->status_ticks > 0) { + vm->status_ticks -= 1; + print(vm, 4, SCREEN_H - 12, vm->status); + } } SDL_SetRenderTarget(vm->renderer, NULL); @@ -407,8 +388,8 @@ void SDL_AppQuit(void* appstate, SDL_AppResult result) { BytePusher* vm = (BytePusher*)appstate; SDL_DestroyAudioStream(vm->audiostream); SDL_DestroyTexture(vm->rendertarget); - SDL_DestroyTexture(vm->screentex); - SDL_DestroySurface(vm->screen); + SDL_DestroyTexture(vm->texture); + SDL_DestroyPalette(vm->palette); SDL_DestroyRenderer(vm->renderer); SDL_DestroyWindow(vm->window); SDL_free(vm); diff --git a/libs/SDL3/examples/input/01-joystick-polling/joystick-polling.c b/libs/SDL3/examples/input/01-joystick-polling/joystick-polling.c index 6eb23b8..2eb8466 100644 --- a/libs/SDL3/examples/input/01-joystick-polling/joystick-polling.c +++ b/libs/SDL3/examples/input/01-joystick-polling/joystick-polling.c @@ -13,8 +13,8 @@ and knows how to map arbitrary buttons and such to look like an Xbox/PlayStation/etc gamepad. This is easier, and better, for many games, but isn't necessarily a good fit for complex apps and hardware. A flight - simulator, a realistic racing game, etc, might want this interface instead - of gamepads. */ + simulator, a realistic racing game, etc, might want the joystick interface + instead of gamepads. */ /* SDL can handle multiple joysticks, but for simplicity, this program only deals with the first stick it sees. */ @@ -41,7 +41,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) return SDL_APP_FAILURE; } - if (!SDL_CreateWindowAndRenderer("examples/input/joystick-polling", 640, 480, 0, &window, &renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/input/joystick-polling", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); return SDL_APP_FAILURE; } diff --git a/libs/SDL3/examples/input/02-joystick-events/joystick-events.c b/libs/SDL3/examples/input/02-joystick-events/joystick-events.c index cc01d84..2dbe058 100644 --- a/libs/SDL3/examples/input/02-joystick-events/joystick-events.c +++ b/libs/SDL3/examples/input/02-joystick-events/joystick-events.c @@ -13,8 +13,8 @@ and knows how to map arbitrary buttons and such to look like an Xbox/PlayStation/etc gamepad. This is easier, and better, for many games, but isn't necessarily a good fit for complex apps and hardware. A flight - simulator, a realistic racing game, etc, might want this interface instead - of gamepads. */ + simulator, a realistic racing game, etc, might want the joystick interface + instead of gamepads. */ #define SDL_MAIN_USE_CALLBACKS 1 /* use the callbacks instead of main() */ #include @@ -111,7 +111,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) return SDL_APP_FAILURE; } - if (!SDL_CreateWindowAndRenderer("examples/input/joystick-events", 640, 480, 0, &window, &renderer)) { + if (!SDL_CreateWindowAndRenderer("examples/input/joystick-events", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer)) { SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); return SDL_APP_FAILURE; } diff --git a/libs/SDL3/examples/input/02-joystick-events/onmouseover.webp b/libs/SDL3/examples/input/02-joystick-events/onmouseover.webp index 05a9b4267140d8ba1e87a70f49d4fdb31d86d030..08f40356f4220989b50424f3a6e9c999001226f1 100644 GIT binary patch literal 547052 zcmeFY^OGh)(>6Ny*yfIH+qP}nGdr_m+qP}n=8kRKw!VFy_r!U>AI_g}Dx#w+t247R zsv|0{D>GY3QcUbn0}@DGR7gQhfkOit2nY!I-{lJov;zPVl#`SN|0n(Y8$kagS+RMT zf8u|~|7cJE0RjKBBk1_I&fpG|4WRM^-UaYGwk?~o)KZlaszEZv(Lq_-eR`!ID0sUQ zPx43cx83ecZ3^GJu2!jWBkeG^M)9;ee+vug$@ZR{ru-aClHcWi_M5cz(P7R@>vvhT zQ0S6H-=P8=*qdvtE@rcgokV%5`$T7Q)C?`05z9SNY`^ zu`4>g1WBWAl_|=0!D}Dsd+_tU;VYJw7oVY&5(aN=f4nx*02!G{-gLi7V0as$$Lq}Y z_bX&7<#xap-MtN7pdvz+aYpBvzY!cr}Z}iqa?&wHcmyl zC<5-mnb>L-j^hJ)xw+3b1$U-n2=RPaakaXCY4S|nXlavuTM5+U-z|?woeS;C>>YWxUo^@vy+j45bvkMIPaHM6c||cXOZ8oL3;^2kBpMw4HInM688_n zMwu@pE8st&{`<^l<^nL!=lHFP4k)N`UQxh%F-c&w1s$PRi~ROe|Bs4*jI#0fe+~Vg zMgR_@Qou$D2uYUl(*F$GBwH)s1Z4h&$p90!g~e}||MBNs_3Xbv{nG?(GvT(=Z&mDc zS)e@+RQS(3V!$R^jz0b%`mril{m0S2XqjtV|6}+6Fa5te;R6Kp{Zl*b5T+*nYeNS9 zg`hC)lJ$5Rltd`oI0(NJO?ZzUR-aE$KX>nw&z+vRSGeb4*(uNl#bLOb3`U<&(R^h! zu{Ey9$-epM5M#}4y>PmTnKwx1l|WHWohsXRG}S-{)K|Vd@)47JAK^3mT7LF7e^N%p zM#h$3sqo0=GFjBg0n&V*yG>NwTU&Z?@`I;`%PXyuOEB?Y4~}NT@=1)#Q04c-$Ft;F z0UQCSpMHwyaK5D=px?DAs6k5!SmVe@LWwFFz@S;k|WO9uA`@`(r7i zTQ{D?f?w#xF^YHX0fy8~^CyMSrGqE{&8ubK)B1VelY#Pb;L{K4&DBI4ToG-Fh3TM5 z+u$ouxA2egFvT8E>N(jj&H)FYB#xOUl-31GdXA~ecN*ojgzT9CTaXl8{<@dG@+u~# za4PexJ)%ED0!iVZ+2sgijL-bP|KLSM!Wx^t&n-xc3WU=ehQOYnayMzfy4yz{591$< z3DO%v-*f=oTl(gRhrap15C?xxA2(ZECv|io#9j4zg*r`fLQaF!pk~@r4N{PJrHI|tjc#0ex$4KP z9uh_reCj}Q`x)ii>&@R#@jm}JVCdXY7oHPxA=-)d_LfCJD;SDDiZR8>05nR06;$so zR5`lejWR>@9s_Io zDGaQSux7}i?sSd~w<(B+=!defi6Hb}IXA8XQz^fT{Rq`-URlz!#p{!iZLa~rPX(f{lsxI7cC170hvyBDPZxL zPK&mwcg6|D{>fQBgW&2X#IF@?xMA^E>6}OGWJ)Z&uHK=iGBS7f-d3{+F~M z^aT`n8aQ%7;OXBM@{TieV@Q2T!X$9Y#Gxj8kuA+C|?;C z4&AIlL)68)N%R1k=V|Js2jCrR$eqT8EBiGCVlw(&{m_D5b z3DUfXFZws~q0}1r{^|AA)-@yLjh$e0DYA@Dw*#-1i<@17LE-wOQewU@5Z|e)#SEbs zr&BQY5(}KtkTh&&0IeJU$myt*g#qV4+q z(Rkq+27VEn)7TIC``6?LoEfY7jQt{t(`s}hbgjrJQ6L^T?(+)O3?#niPdWQwzh~4D znON%S0Qu#{?WTv*G6sJyT9$Sf$Go=A@$#|pn18$YE)NXMEVB>U7!?Ojavq3Aroui& zes(h6j{ThC&L`D-g1Rk#_Op8z>E}ekr!uYM1b5-bTt=0!WN=IB{w@#fRR;DQJpd0R z{vBas3f{K@BT+qnRJ%J5xdEU-=cs_o_JQv{b>5jjlsZaRb{{SJkfRu^T-!OP?3-mQ z`4LY!f!nzeI*v@hM>e5Qh(q}^BX^UA5pQqSvo};hdeDdzobq5Zo%3agc&EWB6C{5e zKVR#0iO%kgk&+|{_Yh7RX$+~`apgi*CO86$Fiiu6z8988Ffz_uLG+c_vS#3qbr%Z-kom@oj8a^YXzp>k4Rm)jM)mbE1vtM6ty0Zx7kZP-3{J%5Zh3%r8L0Q zbNqXt4ni77=hY+5$N(}t-_1J2U*2x*-s#E}jv&Vu4BKwSQdbvw{fedhCK`O2svo~y zPulM+2T$#7f2QN*mR$&mYeM7mk>3_3`1l4>i*Q3+p^j^rK9h<{W`CpYsKZDdX;`TB zn#IifmJ%43Z{DmxQsVFuq?rs9;KE@X(y;~!D&2ty1Xy7GE8v$635^k1M3 z&L;r*-wDPV5W#;Z`X)er|Cs>1`Jvpze~*Q~RKDP6_N4h?-i~>_YU^%{M0eQnoaIeW`Q|0| zJpBRbxe~vasV_8F1PXqeuDQjED|*IkG)94egvf|P*d?NACKHXy1rsV6g98s@724lQ z8k#yBzE1SUts9Px*A+`k*~N9`G#okPg>KnKv!#Ul`?+R-B0Co_@+En((941tw=m3i z^CbXfX03~V`T5;LdDSV3qpyntDJS+wqdw5O{>|&z8Vq=`xsf)@vkj)ssns6rcLU$W zs&0G3H&`q}*#5N~$`;x;#?;B=&&}GP+lqIJV3Oy0OvTSXgAQtgKR8C8E+LpjPU7O4 zsWHg6ac{f1#JUNDI62f_Ak3!AW}n_cP*3az3u36pSye~e0M;|KwnPF0} zMu6;VMUQ$JH|+=xZ{ePr2sBRQ8b&3(o=OExIC^#l-N_aBb5A4rpCf!>+t-4xxTZ?_ zsx6B9I zzTVck{m=B4F%D>{qWu=CP0kv~?xUx6rA8!(sGf7&rpR*aEqC}biCu}?krA8jMfS8` z>p%8y-?oFE&_s+Ic8VyIPZf?2t;KxTfyc%*jvtP)Vax%uPcMU7+mIn2H1(wSO<%3l za!=_ddO>yP;QpRdsB;@6vaCB*zWl!XVP52ffD#xo9 z4pV=t6FjAHT9Mo1KVjwjP9vdv9NCevRrAE6bNt4)@Yudc=gF1Tug!GE=|2ZCZDkao zDupv5R~M5_0H+l;q|(=x3BUoHBOyWGx6i(Y7DEmiKy{JzO}-iVPIeE?5>Go`qZYo zaZa7P-x;@Blm1z4JM1qvWs?ZK%PV@E+d6gUhFcZ!!_ogCL>{+Nok6m(lx4kMBjvaW zyXiXrnr?LUMa5mFe%TovJtst4q%eT5%B{y_=QCtSE#6up0L8Q}$-XP$#II121_v{* z`m0_KqPH?gvQ7s*?}EU^dn7d-*g?6-koP6)kM0)0a&asl)s9Ny3;ZyI8zDvk*O){K zkLv5r>&xb3^0L#;Lc__ylN%Eg9XWSAws5fsZeo=4<28%12^6NjFJQ@zM%x!=4CKK+ zf^lmI8sh=SC=DWXS-=B7fKfMM5Ob$Bs;Mrx)B+y7#^%)PxuWGCW7l$mX^Hl{DH`?) zpI_><@|oE_&fr^8i3&5JUx*27B*S=Hv*~87*OkwUgO8j@L-!P0EGn|%j@ZWAQz$6E zR!d83r&B9{`%oo{wZ25cEp!`#=1)=g;82N=#S;OY=Z-n5pJ{x~EP3bWC(-YpEx9}o zZ5WjF>0{ljJ#wJItZ z=YBU<=T^Rrv#6?}S}Cx6TttDteKsr-d#glGPp(orzkfFTW`RXd!F>N;KIfuTI zoSa<7@w z{$o|#XQ6hoWTBI<5)Dj`Th@`!NPt z^a4z;X2PUj@)U)5x{GJ#Q3%rzFWvLE;Fn=={K89uP@E6cEt@lkxg5_@bOFX^+Ohx*HF#4j~wfB**(eU1FJ^d?n8#N6>~d?kt8V0-lUCBBh6Iftx)-;@^B zISBZ^=n4w%ZBTo0O&d?b?ni%MZd_`yF5V~k8Uz0l`AkfH;s!i3^?u5#U1qpOt-S7_Y6HA05e=3gy13QYU=k7Xmt|08dg~mHqHI(gx0j z2%{=h_f85HmV9VcD9z~Gu%$puS)f7K!Di_%|Ijib`?Z7B!N53PuEV%Byr43ZnS6>{ zyoD6{Nd|vG(zEsizhCPT0V7vBQ3rbV}I+ zG3G7VJ^sWzYvX_zQ!e(#Tdl%TS?s<9}`ItMO5XEWYB^p^U zR`6qTD@ckI?sgi6{H~O$MfG>Alq)d4T>f8D6rZ3GYl5Wz(l(XW30ngE)t5=j!*BakZ|A^=Nf$aCUeSE~;6n@*8= zouLcv;;A83e*+-&D0b-if$6YhQOKPeP?&;6HTi}6%uZXRs}P_^I+S$G;>>oXoH4pOk|HyOg4Uo? zMk>{b*VEQVsn2>ac_YGHh%O}@wO9OEkfCs6{{Bvz6j$7aVH#v^rDTan9rQ)}AmiF~ zJFs%4Sq^)$_rtpat`gYf1lfggo<10OM~UCDDeW{KVNcjP?g=VO+STVU7tl|_H}J=^ z85eyacI2RhtHHh^wy=9gJ7f2K1-liXtN$__Q<$y_n-CQX)Qf%S8{7)KsuK?u)*)p* zR`}{ok`2~kKbqi+p-&$Pt-fvB(BOufyx@X5Z2QIZH&n?bLp!c=N2|u zGuF^nWK#FRguWv=rV?6*5MTlUndHF+v0rvLKwFIwahkuwhP_i0N9ERe_;JZ6ZWLY9 zKD%*k-+KpPz%7GNGc71-r#ZRJdrXa5(4r*W&aMEer=oWUJQeu|#}GyxSaVFY8 z+5d&ONhJT?9p%!uLx__V{GiNke8KH-_Wb$oC)24FZq`;x|m` z)d&=IdGQ18`-iy;l`%`~rnpZYEWm&NJUy)H1JQ4>t@c5J#dwmRc9II6OX;zRIt3lBWJ&u6+e*U=e z>S?@Y<~ok|+*VZG4E7y)QmX^P;s4xq9b2ZK z;O{`YxAQI1k9NDm`>NV&jc;(e8y458OqYw`@}0=A_NEHX@!es$TA8{a-R$U;eNV^* z8yJoPB{ee&#W(3_QqeZpDE;ES3=O!V#?r+gcJ2fEZjlDK`AVbPK2Tkhm82q)XH@t7 zB*T!XHME@iB3Dk1K%YOa>&5Gv8vBj6Aocoe5oU~BYtA==m|`mRU3;{QZ9hL|1~?n( zYvWbmpI3HDsgxP)b528+v>Obu06AR+wU}BW+@;Z6^-#7^V|iAzn+pZDZua7B97?!o zm2YK^9NuK8CI6L8o+|k6k!u0VoG4jEVvPiV4+*wpyWD~aD7Iu7XTOuq9Q4{!Gu)v- zwiMgwWVmjrIJNLMvfB&-ufDPs#QF~5Zet^Og5ObWpAiM}vigKNgtBs4C^yxZt*@U5 z9E*B%H8{(B2TMRdGJ+ru$oCUJj}I*7bNMv2>5f)*u&uGgPo&L&d@s6($Swk4IYK2X z$7*>{oiAIQPvJxNu8YbJH!-+czJLp^;0?}ZC}ZZ2o=x$7dQ94#60CG(s6!fXJiIp) zP+pz9py1y}%e*!b8_gK5o8B+1u&_8%Z$)hxfth$!mOg{|T&XBj#Fi2X5Zl}oM&HQzM)#>r6(vB;TbzF z>_1+F%L;Nts<;NThhzia{SCTHj*+I8R5Bzh{0Zz|g&?qaqc|k-d)X(oo6@g|Ehw7y zc4O`W(@c*4z!^kcjMZmwoO_R}y^*SW6-8TTa59wF;$8NdC#$wVn4piyAyx`$#Lpbe zz~qMDt^@iCE$4}mxUWTqmRUyw98;Xuz@gf+oue5S5*Nb8I5zo%X?(TRrvLD3PY{CS z>*wna_>)vo7>^QAk6aP&j;%`VO+^YM^&DbGN1ZFb#s`NtK5DPPP>vwPc2Bd24dJg4 zHV<#p_t%-q4~8Gc*%Any z6UOMjhZU#9<~GX>M`_6^eDe}ED5n&*047j!R+ZzYzDK#&fbI?f_>-4oz0 z!b=1WOiy@NhQ}tvKx8KTn8RYSg(KfT^@m}>G%H;pwL?l^$9fJF>!?-xVJ9g}owKH# z=zAC66;2MRlh0Ea0eSq(N=p0VSn|?jtc{55AQqVl%|H*-`X()wUp%skDV?r{RK^okZd3OI|(EE9)Mnfx| zOa7ZweDk>^T8x2On{dCCQHq`LyQrXyIopxptxXK?#-?JUjCJ>0?a0oxf zx+Y$qA?Kdd78{`ahh5wI0ERB;&b zpmutkvns+l8vf{T<=*ux|HTUaE>Fs$87B6z$ml;hmBgtOK|iIyf|rE1aB)j=f`&rK z2|Ux?H!a~On_injUKGI7V@xJ;t7%GBT*3{edHbHsh%jt5qr;yX4Trlem7;#X?ZNvK zBd1-NPZZFVHdeO$u4W%e#xfs$%ua4i+G^(kKSw`53xS=8@1)T%qj9x(Wu0yH%M$Lb zcSUT0W;@un#QbNE-c+L2x!jj1Pl8j7QAXM7v#`RF{_%wj`uq+}-bX0xvbQwVom5)> z01OrOoDj@OKJ8{pFCKcVUjhliEb&9n_lEk5sKCww>ZV*K9dp=Oi~Few`iRjB2Cp=} zQA1BPO@sF|Hanx!=`vTpPn+pJ*4kG-tcjR&z|}t#*#qUK5ngVR1!9e0KsS{iD=;x` z{8T@a={B{ltoL~v&ik$})cq-t*2YxDYDb3ccS0z`t=tJRgO?QC$zVKvWA3|NX#X5Y ziQ(K_;*)jh334hf2DOjnQb|Bq;GZFK<=jh5V{|&-WCDDJ>k}-V4bbf+A?_4>_if>z zYvK4M4ODRDAAQI&cOW-tvSTmRg@}uu*C)*C;^exG1M6^G-Y+Dg2)ZF%CT`X`U-ilb z`QM$Q5mZ;R;kh_P^DXlMrb;9Cp0N0g4KrGKUdP=?BFC_Ar02)J@icQ!Kl(zJ?;Lyz z&K=wh6;s;KPVtNcD+8L8Sv=bgpFoLE^T}ewF$PSc`VS*|@3?wRWVKf(met=$dwACq z-encXj+==qVh=%OIH(nWpCdfmxT+YrzjI<8is3Yxqyq_f3d`v0n~hT;5r9s8NA8>|DwSBiYjFO4U3{APU7NxmJzkUOPFO z@VqucDrGl`XIzc;Wk*E(%I12QIe))@Kleo!QVyVBh%_4{rZ~Wpy}+DtYy_Z`?H{t| ziGRLN3=CX{g$dZ@&Ci~-5D2y!f|Sr1Su`xM9y=NSp>&4uqx2OlO`1sWGFE+OMh+55 z4E=SjK{wqV1mdPB*N~cnd7;mBgutB*>@X@I_=|=;9+PDG-h7BMC`yuhK?UzBL;574!Zdi-`B?dSOY9EM}CNjM`rGQ^Lv6cM6s40i9WT8E=T z6<**~Kux0>Xt>hvyFxKkI_O%>&~MKWrmHfQeny15pcmvPA;6nfmFn|G-8%1mrx-+dT}YkIC~Fa4sl9yU*G8F(fBcw*5iaKDu4&81 ztYOb77!K3Ila|@u@ixPBjKA+2Sr1OYoLcHzy$T5x{-q#Bw{fR66MFDT`_Uc|YFlHZ z&W)|f6eT)=9sF0Wxisu>l#yVbnjWX!pwU{cPrxO~q%ul->bi9nhP)>4bF)%NXk9ok~A zmkDWe<@}*f&*&dzErrjalr*dTz~%W_L~);3in&wM3BXtpW~Q~B;+YaqKWcLUzto)# z#pmEqR`1}F+!?c4k-#C=}AaoFHx~ao5~9fs$v$?N%|tb6%Bscflta z(YD_u6(ZxaKX#(i^;(Kn;FEw$o|uFm8s6;xFf}3g|BI=~|1VRc{a>bLi!J$Aa@DtY z<`W45=_?nAU$Fun;$O778mS%hR0UYQ*Rg%Ylj4g@#e;Atr5Wi_kk47M~ z_oE;1SP}=|E~t*44*mO}G*P4ZoQ({#^oowgJM0$tPj)^g(l>dg{;CK5Lv6Rko$k$# z^-e%DO~Tc-imf%JdXz1Pi}eO*z(YD@u_1K>=+dVH_ZOJ-2h;A!ejq4x2vr#r^AmV} zSS_5$lFxn+!0WaZsa~dtvPn-CJ$zRLMr2=hD*E23v}MBu3bh@-wwL3;V16TONw!Of zmDyHFpUt3yj!76j;=o~UN$)SFe}K%fEcz6YElqAk6bOKTQ)BPXtoK85n~#Tn8I^z2 zZdf+2CyfX4GA(KPPo^mxHYUpW{Li z=@;@Rn>ek`y0qFUKE{UdQ!;n?T{=c^?SO&Mc{|n*7Eq<7zm37t7r*05Z~_`;n_`(A zoID9IibJ27nfZk=98Ac{dd)yxIBn9Fi@S+P_1fso07v2&eddJ>oXg*PUSUBmu~XZq zzXSEMIj%hci*!{BL(gVWKM?5lO8<^Acp7G*i#JbSc-DVWn3UDKKRtOo9NY&PAiYsyhrZRape>b9-aW8Vi_V>ZA>1k$NZp zXxSslv{5KB&mXhLVjZb)okfFmtAeNUj^nZHe)e%RaO0aBs)iyx0j?!?e_{t{de;ZR1iL6k6?pPYUs|bFwWQECf%ul zK9|_bv$$3j>%F~ShFzNquNqTt(ABEIFP%_dFx!RrR9 z!d2Z!zR5HypycaY2e}DKIze;BGrjg79tfV;YV0=*o5u0;vru2)9^jzmhk~|n^dCPj z5Ks(-xSh9tc6j+Iq>u3YA9OywUY%#J%Of(5ueYWe-=5oGP)=Apw5XWA^NTjW(#%$Y z9rp3k#@dBd@zgKtpDJ6T7>(ZG%K3^~DD>rKp6Y!Ip&ZgVcN5=)X3%>sW`Co&q!!1M z>D_U06+nia34B>$MK=@V3x`W2i{YP1BfuxRcSVIe5pvi?&DYk+omZQuv>>70CcbZy zU+K!L_SC(75TWrA)20EbQy4}#cc0N0&m;Q0f1YT3t&Cg9^&4%PQpgbkv1TY|d>YpM zRuh}_LJ!Z=3nT$%O15>CCajYi@6?J6#6YPz#X?7!fsEq(;y?FgA0I_%SV#W*C{vd& zagO8A*036n5ov3XKjSh9^LrT~gu!HP3Lb)M1+gL^g=5)%wQ|3Srz5xo3jYABub~J` zWmty?^GPI`v~+{BCgk`!J{WEapj@s`=gZ$Lu<^~ef75UYWfU1HD}xG<5p;^uxsV0c zKu!!m5?M>9v4#tz`Mz`{1aM%j&j&eUxFlhM70adFwz3zUlIhB7ihAB?MSlp=792K` zh#Whx)U1#W7hug^piD_!vV~$)Cooi~6&{s$z9-9~M-!w9z9lF*o=}Z-%0DX7JxO4L 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�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 z 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

QdMpgYYjDba01grMO(bHE+O?D1Ah8c^08^a* zx#?r1-=_T^=L__+FbIMIc_0>IKL+LQDQApBaLTD*Ue#j?F4T*59aUC$Os;-47rnfB z*e`D3JAORR;dV{0d2!(wuJ!AbC$E~{w4EnO726%SAuW@kE9#&-mK?!Fn;L9CGPzx= zN>B-)joFa@0bxL%zudRd*l;CjZ0jjDlP+(56te>(k)HZNt%w$mDogWpY|eVBHk7m4 z!oygBYdnOIUwOnqmfv{M1QqkP3mG_X1o|RK`U*{Gxs3@rfYa)#`f0crexc3MbkN-x z-LTLLBr)N(7(3B-C8vmCS{2N$ejkUG%HvaxWNeI+Hk2n}TOHmzbT z${b><11BPy9$X`9An^oDS+E1Xtix=Ggj5wehY`7RHZ;UsuhLX2LWT+bh>P}3H4;}a zwm!xCdHM5z3X$(Jt4@gmy3#KozSAqR=2C!I(Y##!Di0)F{+JnCrT0HE`Al!CTKh+- z$gwf_`OX?ZiVkNZhBy%&NE2_1q>;qsfJ8Sv@%+WphO21`?T`peJF9mrphlF7x&br& z;lhcnQ!Xt-xtcGOr!`l1pK=-4LCc1r^f2c#SV+q5DDc}`4H1D8C4RbUUnZUm! zm-;i#-THAUYV3_AGTR$|QE3S|!=8(@Zl`!xG!AF6iZO=(+hEUL{yo<^NV~Plx$7Js zE?9*?ML4(cNAy1pI(Zmj+BQucTXhNVwKJ{eHV+Sw*0I_TpTLbtC zbTHWG9+^jG?~Fr3AuS{oN0NACWVC+aw>;&cOx#AhMI_=&vpKg6>EsNUpoXMpH+V|P zZ&lm|u`q5bp22UYUpBI5?YcX(C*j%V>NhK&BrdBBnm_kTwJ} zGBRkGvD!j)5DU)tk;5DVFi4{d=WX|fZ%)lWPc4tt;sQo?;y4$1cl0!uoTDo<3m?&4 zq(soZT?%@@>-k+M$cr2J*vhHcJtrJdBW-T}-IPz#g9cp7sh?w)Ybj7za`kJYg^m2m zPpXJa^*Lyhexq0)Ld#BjF5;!ZBY#cQbtNpGsGG+q%pY#SX4(gFA zWp#>p+hos{kF*k$MRTKaHV&h5AKvlh5pFG4MD9J0cbcF*t|7tM7`EdMrkWfRo&Cz* zHg~D1iY+id!HR$QB3>;sbEd+Yot&B*WcU_8C&O64LF!_wN1F-s)-I2_ahRrPsM^E( zYX>GQVnXY=WYS{U#`z0;_fz3tk5gcf*n#3dJa-bkfzr-qI6tj zC8sW~Z{6NsBwtBQ?HEmBG01JP)Oe2B`(e-OjPDp$;2v-VDS0a++7?c&;BBG(!?HRsL|eyyZ42xEQJU}S^eXw>-3@4aeTG3( zu@;gHw4T_2@m$=H@0+XNPUZJBmi0gLmWiV8Wn1)<7UCscYOTcJ12^0h&j{ZDX&EUS zh`#B1t$zz86@Q<9EZ;yTnf9?SU<^5)zskZyu==OBZro;gOx*xk!eW2UySMs%JF7CH zw6UWYN)EWeZ^n?R$?QBKXkPZfu^?TYXO0C$9epS)k_7w%tSJjJJ1$yz7P?}h6>KMD z8=9u~vAE}OG&xaBJufD?@zGw5zgAyQkbLUb{0}3t$+fvu$&IoAJ)Hwx1Zz-r%DQ%2 zTVZMBq)5X!XvT*Pim#G#3y3zJEQ_RZ%jm$K*`960b5vlCIkd=>KF|^Q;X+zJkoA^$ zs=&6#&iry3W(1@Sv>)|{Bx%1XoigexpfOqh>p%M)cZ5JY5F-WP)Qfu8&3%v#!h_9e zs5yb1eLOSM2)un_yAP3nVv}LyG3Uhrlg;~8S9-l@a?G7@z7_EUAvinEPWQ^MV=$`2 z)~1i*lE#$bRp~Fx<1>mvhW#p2IJ{INYhYeb%-W{#|Tp~7;!DsQNNxtuYiK!&ycCKF<_Fb(9XVoR2VTx=D^}*$q4dL9HA?G_1O4{p>!4Zh!J4u9L%R`b$QAjDI)_?V@ z+`VcUyu67z4l?a1)*K7GyZRbSoHN4&ph}?O>n2dv8796C=YXzAz0% z&c=4#rtTec1VyLE&>OezS+IZ!!#IQDPw91L0MeQH3YsP2ADd0RUPyLVD0MfDc?E^2 zMgqf0+b+(hZdqX|mKdrm%c~$76wGK_X?cOPM&+BW6+jQl#7vRyNUtw*Gf#jh{d&(% zO|X+?AU*+S34)yih5!;J2GJdLnb3TkM_Gf2#fFQWuRsUy#1^9pq3a4d4`jE3dncN2 zm927Y1TIM@>?kwO_No|?5`=BKSORBqY6hpNjU23%cfk67&Ss=w zC{ObXKEgj;MCoe%D;I;59Hs>Q!xgGum{l z7vdzL5r8WZyYxPJSz(EX5e|~YNgZxz?~|wFUYlJzO$y=6Rt=jCB)eKkT`WbmWQLDQ ze-o4*#0~0~(}-$3V`I=P4ZP@HsDLc33^5a(Q!oW&QU8$94V(}w>uFebTun_pnC8zW zJm;jcC%-f!?48G3b6o0f&+Jk*I6v)53EGq2-*e6c)V&GGZA%xm!a-9X{TP_xqrO3$ zb-2)*U+?r*ZET4ujQ)Fl9N@#->!2<&b3$(3bV-;W7}beIq^QMGmBbGqo^mlHby z<{(eOaT5PFTYBpRzq(+2)#=0}YK$6(=akqv{J-dfAT@bq&ML`GhJ>nL=ZdZDt=4<} zgwAxukeRFQ4ClN7-#?F1zk5ehpE=Z*F+>`6<$ax+Dqxt*jHJC7hcCB-u^Y(ICoA9s z573;w%W_}w;}^@RPsn=118tvRR57Pl?z@m}S^~oyO)+3=Cfg<|NYy=s7jndXOeOt< zO*61%Z`t8JClcE3_ue4%!pHd6Y9!MN1ZUp-Zgu?uGdk2dK^2qOsJ2Op_^kYr15w`X zlvBbBH)-ai<6A_2|Dz6#L@kIO{`;RM@$8%H%xC<&0;m3I9E;`EF!F5HR6-2R>F-_C zvbBLkWFbf+rm?eH+~{Z{Su9rPfFb4+1E!v58=`#`kJDFKTiUyOo!#pU?MFLr7*__F zewCd*vUw5Afbt_F1Vu9lmP?p=76-X1OFa zy7#8COutSuNZ+60Ro9n{I*nK@3dbb_e=yas!y}MIrj!U{20Xn7F4@5N;f|xKj4yKWMa3dwkK$|rOx8|ocbxd-s@7|v;nJ_vG4=yHsh#C@_0(u6 zu7T&JRd>#vm783O?-}WN0voXKrmVOI3M-KCPMms5y~67RVkw>#{e6)+#9@Rcndl}z zSDJh&n<*5Pgsn2vI;Y2a*e3>vg9>(PVWvCv>fi^i8GvZ2~ZZFVj1%F-r&)CQFZmM{H z?JH-dQ?2@Pkn}X^rMXm1dZM~=g6#aVEl#Bv@5wWSb%i{GmT736=-if$GMz#6Ddbit zHf?@dpf`Y{q}s6T+JT?oFOFz7q5S$wfMR2u3g zAERMJc~NYk$mGmD_k{#vjhc+~Rr*YV#ZR#VO$m@h-huZmU$rNDV+&dxc}YpaQ@I~F z#Q@?f1z6)^I5mo9W*nNGp1XWs5V4azMuDHv>4l@A$|i^clHVB3%}0{K7yNK{@od&` zgF%L)94+hWBnjN#G1mOiBdWys489dT&NdmJVb{*apR??LkIA!m8)<825Bb7kv=*8F zI%N^p9&_b$;)n{fvuGwWfq!yv45mjHS=r;xruvJRA)@)+qrdO{u^K`D1u5mH#AnYz z4K$TOm#q+uiEx|SnJTutQl#>~M<})WxE-_wwl5WRiMfUi9JR$PFImEtC}(XV&+yBg z4lo&PsC6KI?RTFXBOd+775~66S2b2OCa6hZx0;GJ`e7lAll7C8@avBk_2&DdJ{cA0 zB~876#X4$cLK~Ef(VOKJld_m9vM~AF4$ie5-!+KigCuYznU*MA@qh;rOZjmfnCu&_ zv78Lkt=WD0O!DV4IA_gZp$9(XKfn(4bSh1zpZ;kyS8kLOJ`xd!Q*wz zp{tt4&F%dFV$0mo zs&=4LCbI8LMzEj7XBm0Z9I2XXyz$vbRPI<0O_gFvEB>M~u_b4?S!yW82okaJnPp!T zGTHBEU15I$-c_5HeobiBl4W~6HRG$&(r@j`|vkoiH) zM?8YFPsjMWX#KKk)*qBYfcj--VVWOh)XeW$NH5AKp~B} z@~eGWJ#UF~+i=#wsz^1AdQ=Q5Y-v@$7;l4)76pIGu6BG2UKCLvQl^O8*92d+donY7 z&BDD0ay?aNPg%HSV-0|4Z%^E~A7>OQo!X9iXg2)88#$NTIV=2;U`+vOyD_6*oC|6WqC zT0C7>93loXJAU&7uV2IUotSm=%Y%$xB5xrZIBhUiPm|(oa!YNn-&3vb%L;>w;7(`VZ=Z$Sn0KK(XTKh~d`EO+@|L&<(8ly0S8`Q3I%O}~4l5u9@)`vI3Xi;? zjs70%dY(k4KT%GFe1DS=n;>Ya4bYslSAlS7uj4QpB>2n8%Id!WY&kNPd~Q07baw^j z4mlR@p2iVMkKdvC#jryNg9s8Jk_vy1Fxhg?mmVAadqyXjf(}TAbj&G!t3QGpWDJYG zu$?-rrBnnKjy!#Q_wuBYGdjr1UT6h~*&_Z~F&wPICHrmWTy2wt6L^4@CE3=Gk$&-y zc<=SGjkA%s+`J|h9>Kj;d%9kT677N3^c%@Rht#{NoF~;hjqcUm0`EZa5bAuJ9@e`y1Sru8bxV(xw3$FztIQ~h z>6fPuN{^15=RE6w{5(T>+?k0I7ZIwIozMt-wyXiSC(!$oy`g6mT7gs4;L ztOj){>q>eVJG}x=GJV)QED7N4r0#|iC{CgyN`0~259M?Ao2ZGet4saI>4dFts{&#x@8Zatp zw9|WiL&fq734C4@9oBo_4Wx}k*FZA*;fU|3aMU;}7i_S}sE#F~wzZJuy@!aoc4*?> zxpSFO-3&+Uj_=oFMj_d&6XdCd#w{rf8cOqH(%&`{4{7*4;fuQNuuyu1@BiSDkl9Mg zzkEfa-8Ldq^)Qsl3(;w(mBoi@q)JdcG2GoCBLQH{FfuT@?dEBa?>c9oLK1o*&TIk) zcZb3;ojBT>e1RV#8bhA?+z2e!PB3>&6VVAPfpNH6zPke->KK~1YLac)y4CBO@J7T# zCANz~RJ{RDufT!>4%cRz2uD3lzS+_#Za*P{W9wHz(F?e#f!B~EWB<3cjYuWJN7@+0 zYf#>lX(HJ(@O`qv@l>-P9+zVFW{;73LCK?!oH^G@nIr3PAGHXbD7bSk$_VC73u zlZVHNyEsq3-R^bI1$?JTili*t9o3;#J#br+mLC6hr=6evN^B%|Nrv!uy#eSBZ1^-7 zQtcM=i?eQav+~OYZOJm#l!>rmwj7^xF6~YKbBDk}dGKpqk*1?Hug;VjF_t6nlcBSV z!6ki2TVJ+23Bh8OI@m&y5y2@t0Bms|VgTMeo`>f=1FPrE6~!`M^ zLQuw?;Mv5Yec<;y<7g72p`{^%Ll5iXUPO*Tz?~%T94kxFn69-T6$_WYoXT5UY1hr@ z-v`NL#(a4g0>iB^Wp8v5L-yeHGOJ8h$)=-Di&i0|J0m!zeZn@Ri^R)t)f+IbSVq~l zIyc=%*S+`EOGaU(QN>mcaF;&O&UKkx{AkR|Ro7e|{|MmADG-OX7+9Sduh>Ni=N3B; zL~wH~J`bL-`oL)t(kWziXe-fw*9P?RqDlwMgH8$U>v|tAg~6%oGE-p*?#5fcMP%e( z*(A*4lyGVX3O|C(-hjo2kptYPU|15Pv6gcqqI(^QfWPmq@BCFQ&2jXWImW&5&;CE> zqcCF#^I+_tL^*?H$>o4e%v#c}7bVv0PFPwgnc0aLGJ|04clmWmgMT&%CWJ7#08`}{ zy8=;_rIRFJc)^w&w?GphQw?VGD1c~dKpOkAiu5+H7ObiG&b$+hKMd9Uym=A4W0$VY zJApSl)1OHRK|5M-tvC1bZw*w^Nkzxxve!nc$2}f%fy9;5*gM^_3AekDlve6}3voG> z`nU9{6LOjrhj+DMwO$#i!7dJEv35CzEpRbHX}=p|;ZZ56DZ3-t`C=U)=~G1(z2csu z;9IAvaj8$NZMBMwmh1+y1~g|4q}q_d*8`j#r0SH{D8J$VS!sCOIhS1dZg-jc|66VD zp~oV-$$8IHG3YMfMF+a?DH|yNZz&NH2!vwTs(IXqEs~{p4{$zi^W|~*YV2A=NMq{X z3TXVuiMyJuJ#3TkP9h=|M8jT+3m!rru(Je7k*WdAzLqSVTEYaKn@W1XQ!JB}SUX;- zOjao2urp^aB6m;rV)yOK`v~=GN)&c@Lhsrsd4T0zQ+R^5uaCJh3df`RXo5SFYJhqa zL1{ziKaKUIq)~UG;n0+Q#MU)&L`)!9!$Srgeta8TcGci5EEU6LVpQOw{~_A zEmT%?>Uj}GwC7X~FqBo0-2O>testIhzXIt-L-a}gE&Ca7y{ttdC0>`8OUmnc=6n9o zPLt>Ekp~^$Vq@csqfY4F?RUhI zwt5;{_5KotE?0z(X4n%k%*I;axc8(i%SVp)-(CkF-h86@PE|DxnB}4!r0j<91Lz$e z)2LwNu0HMKhT&jQ5PhR6{6F{Ec9d)a}77~pNNzU|?Gpg*YaKO7B#P%8NB3`mBR=0G43^A?2`BG-Nul$bVcn{q;Li>8$?P&s;i!pAD@$t#Nqd9sC)?83c%LxMNRd6gv^%huDY3*SyKo zX=R4tGE3euma{w!V~o{X_;6XlU4$vcL=_LaSPS7R0HYG2{yghsYA(&?fjcmq=?F8D zVL7(5(U#bHLf&6lome}f(I-qHY`_?Qm_bH_h#OdrPQ64y8Jgu{P2n{MCY~KNUiWRy zF_?6Ps}3A1>0sPkCb$7l;j_PTMHT>U=<&!=0$zX~$s_aY3!q6}(7&;sz{GF3rY3}@ z)B*X_15M!Yon=N9)EtS1jIVxGsMi9PJEPidG}H} zeX?9jBg-j)`FEA#L2U(S4AE}=;6V_3J=}kUEevTz(JJb*6)uPbE>H*d^L4n@vQC9y zoGWZ^RAwQWC8jIqQQN;wr&P#KM#2)AYfLu4W_Bv_KWAaoU8*PxDykT{J4rL_E@ZSR zW-4@RWkG{yQNuyS(BRd7d#|=-t+a-x2mk{)iY@>_PEAH+BLDzi0000000#j8(*OV{ z0000%Oi)Nd000014>11`5rSGrc1F<^JXWm-nyT_o?ez^COs;WCz6pCZ;H9rMOK^)m5V!sucFr z(?fMj)Ru9%4m+_s;hbB0A0tCkriFgH<`{C<=+9pQGCps~A|DB4JX=bQ^D;`i^sW4= z>EIk)`%;U36LGuq+T}cJNGaS*ZqeO5Y)zm1F>LOROoXNLM@Fm`pjz^~^tO+S%q>tq z2jx6=Gy$8ztv=PKt3nI3&pwT_uMgPXh6rkyU(+xz)RPPs7+ZJ!=&@R$6qWM5S z$D3tk&p=c4Z#@kuvmw;6sFnLmw52FUvFOP;L71@idMQbv7S9;(O6izk^#fH{d;6q+ zbzdIYt{bh00e%2P4Svrl6(^(~R@gIc5OoJ3biDdqST&Fl(*P)9{kz;R)jNPHE7(h6 z-^nDuGvXnbad>T&Aq^9#(u*(}cUD5> zJYRrAGq2fTNM2*;;fvHwCKacLHCykSq!T@2K41^;iCX9X)IC+923w-VnY(lCUlldG zK4X?Pk=&Vr_f8Glhv9u-4DqX{-3HCAD;Wsn0U~fB)$oM13IpB9=Cb&F zB&BvQFsIA4zh?;S_@N-a+IbiQ1?{`$;RPLXr#c*{8cc;=W8t2OKs6O^hxy z0?HYgcZ9hK3GRtb+1vbynSqiw6imNa^PFK;p5yzkB23Z@ znim@8E3NN9$wkMi4m55mdyqG_p$5coWgT-BKq+qCz6J*_?o05#+bO|s0^Lrh%MM#Z z8-ysfK!d6w6@bGfKD~Frbs&=Z)+cToED?k;W3TbGr`l+3?ZW^7{_IVZU+L);=1dD8 zwM6KB>uuEL5C<1inD@FcEC?MqCtF)+ke+X@i8%$cKVl1L_6!2-$A;AjhkR@HrSKQzse)sWjF1mUG`m(n`W?FZcT#- zAVffz1cxn~7YEraK}h@va9JlBJR6EYdVr`FdiY%-AV@I{3c2WdL7-?E+*(`v=7_dh zI*Ru|`?9#Lght+DXDg zHI*5i2H-W9TU#3w=I@(ku@wk)#Ule&Z{K=(fzVN?7qk;ffrR)?bUv_Q>!0C4rq)Ef zgh27QZH@%BoB&NPqMM8h&iD>Y&tglL+5R`Wl*k_>eCqs39+1i#c|mS=A%GgeoifEv zJ)2%#YLUc}0sY&2k{Zao@&Wpb)xILlB5E)n$6Vp5$3EJ0HfBXR2 zgqL`ZhT$}&hY*vhy;5N=BIS>%Yk{gmQSB5A+bg7o3L`ym?K9)IGBAZk4L0Of3I2kw ziB42fd%KL4Xf)b)6ia?aDB%9|arFm{-U6WZG%u0DeXbc!w7bO`uD18ezp^fS)+@yy05Iw*>W z3>rDUpyEUxU|zyKgoShEH%;O87tEvvkG#uM7if~rwA?~H424X<)A92sLaU8#X2*`_ z?$a$jpR(=$En{Vm%|+(ct{5JxuR(Q|0jOvq_|hOjEr>cikR#Z*Ju(QITDhXGof~(; zYS`tv6+cKhhs62UxSii@yj6zZM-sFS$+J!yKl6fF-6KH*HWhVQSc+A4YDbDEX6Y>& zc#njLSph(VPw7hHgTE%2L^*gQqoask#y<^gVM!6${$I*EG%#LK35?B4N5%Y!OuIKR zNdCT93abD#?wJt$i}s=h+v7V|$k=LOCWv2_{_?)OZa#|A%?PA_LXY}Xu^=sl zRSkoud*+r$x#fFF8MQvUfZXX}Ozb{td@$O2y(jlY6nw*H&F=-Q@lSC~)K4la1EYk55TC*C#jc@L}G zL(yJDHlCyM*0}+KAQ<$k-7ap5ao&4<3BD{EfZI zZW3h@-^`tQNBxPCaMsczJbV@Rc0$=I9&H^Ob~+dITw$jG3}EC8A=W9)Ci0U>1Hsc% zv4rE~uJonBuu3`3m>ju}k?7Q{=FQ)5S>E>{;orqs(^YMUXkdY{Jz|A6+RL{ndcDZV z@}>V}Xs^K~y`L7Sjcqj`53A=F6m6l?X$Iey{}g&=k|E0+d~G=ldY&c3<;)P_`Z$ji zwD5BliV@x}QYT6y4hY~{h6tHNCW=Kw<$xxQcm+ma^35sITsH0u`w3aIH&R0ewRQs4 z*MwHO?PxFlpr4&`9{h2vZTMvA(3sfatE@u0n6>_DrQqeNm`HORAOXb# zNXmK^b-W($9Ow{8pdwOBCXE*-?jjbPSJK0Bud=bqRlVxw4*pGxHD=(+FC(QVpxTAJ z1&@LREd4xnfm6w0Kdehkh<$(jNDxaYuYRpO}htoKx2b-W>cwCw>nX4{Ds_&5Pj+aDaw(?6*&F8FB zekW0t^?uCPnLqjb%EvKl>SzA)%ddJR;uppU3=_g>6asV~*pqeEl?ht3HN0OBfttp? znelOYtV$NPzf3MOfo6{or1x1>_XGTm!rDKC&f93%rk_lE-0Iv$yhX*L2A`)@CU%p) z$35fgdZKB#1|^Gumvj{oMe}g}_tt(;1X^SYFrcX$Z!3sp+cN-CvINo{=Ra8IR~qN% zy1(d2Nhog95}IKlSB$=_*?Gl%e_aJmAVrrC>VhFwDRDUvE!_#Z0$F5dz z2f$&E+;4x-_HA-Jx3lYsCu0muB^R-^rClWn@`j45RO3!$DYkgU}aOS99N!bTTtacT1}Db%WQ z{Z1Gdq~^pqTZgXEmF8&cLpLNo^|eQH@;>6a}vIu)+um3H-gw8--C~Qj}VFO=Wkrx)vDxEgC6XWRS3h+THTCi9H+!i9)pqG~LXJB41rW-hk6fXy0yB(U>XWWkIY3t_c`LF*$-qkGQF$ zz9Mp39v8go*s-3KVGrPJSvg`$dQl>E&}gpf{4NZzr#?(-T9GG~@j${_dDvAo9q_)!}he6-e?BIGwA)NIzBP=TZEFKBZqM zdy_7bd6CUjeC1k06`bf+ZQx@O4}{4nhzO*yIwtEW8A~#Gnwvst$UZF&-9UnD{98sG zIs>~S(f*slC}I^B9THjjx_2MFI~EOXst6vGh!_KnAkjDAZTt%9iP zq0l|0;bxNO`+U+U)+He=?quxXj}%o{OP*PqNX_eLqP)cu>cNyGfmeApD1m$5;N{#8 zF2D-}iQ_&PpJ&Vx7hV?udM0vE9djtK8zD}{oLx}{Y^leWM5MV)hPwfPlld3udT{W# z-+u%o2rV*$a+b#7gJ(bF#+S}{2MGVIPEuxXVA@tLD;44ucmMLo?#8B!Eola8K}R#E znN@D9l62PBI_y%iB1el0L_WsxWt?ye_l!hI(7e#`YR1o`21o(tQt9;x4%s zB{XP;&DDYAZx1k<$iapCdpI|;BYo@{w|cjp8I|?Gik4%?V(ee55DM zKVzE%t1uI>VK9k3GVx}0eM?4P%DBDzJ_n77l0No*FS7YBkE@Ur2Glk?2B!z8lbHGOzLy9Mm0mkvGGFIzl+_N88rFYH^l3p z9$`ZgdCnjdB@`xHlPLxVXz9r0?=kv+8?00zmQ!Xe*Ch0;6I&L-z8rA=PUF1bm9eq-`FV9bZQ z&wqV^1bGB$%tKV>a~SI>2sdjt^;tbh;r{s|#3#U2-imNp9b-n}9h4#6{t@8WmZk|= zNta$e9Xf$|cPoSm4`6S5#*cfogXQw_o&IRYDajFFINR|@O=b<-7JWg6R0a%q%R$8O-8N*i>Q}+WK zH<0Wli*N4KV&D(zmX|Jb8+k-r9lIbt_sI~c(!*66kP!d}T~G15Y^}SIEfHa8c8EFrQ+l? zc!IF9Tx`7+$qXsk+~82uF*NVT9@_SOo`52 z%SrM^WVx72#cKxp5P_mDCrwb6u0kCk~YtvwG||Bukd4YiW)QGiHo zDn@dnYE)GiqV@SgV!`i&J^Ll#yf6R}&%6a{_{g5N-=O)(3nWm!>}?{-6w&f6C0o2N zsC^w~9?Zmb5RY{?5d+0WGD^XgkMO|>vD~G)vc13x3UhlGUJ6$X?d^gG4#d#cz<~UF`^F}9X`-cu`(HAa_7zMx)JC&Yz;6k>q11pCuWU>kfl4vO-7xw8o z-S?GqiX>0f9ZbphBukF(hq>;?X8F%jU<(WbO=<2|2~A= zJk1R@sZ{FF}mzsWfoyO~_lwG6dUFECJ1X0CbWr zH#XWJ5`@%RA(d&np9jS>d5{S~RPQ}FP18a3cal4%6cuR*={d$OrgQ1riy9}UR#O8b zuu{=`!cFciTDtbOSY_~?u; z?Us(deu}B(6>zbL6X)bL*d(eb7U=e34Uc><2#NAN729I!)-U74AsC{uFLPjcM>3Iu zvYH9SN}nrHfV>W{lsa}SE1yWhmFCx`L%LqT<-3rdB_2?yrjHMyj~__x<_O7f1Tyb0+HpOh6fs@|v?tk71TCG@ zD0&DFVnNjv^(-*y`vVJQ;8DFQ?!J-Uv;0f<+v^Gnks&SuoYs%KmIe3IC=XarRtNf1 zS9B`zK>vf$NI>p)0G+vOuIuOtE}BJcb?#u05{cBXU($>hyIvF?9u>q`1U4M9bN8^C zR^%<7ro0-xUCbgME03f@$0JE=qqeEpX(MkpRrQBX%S?|lM`r~fpd+ty<%+0VK)OiC z1NbCJF+=@e`gnB*U7e#moN^Rg(qp|>`Ls1Eg-IOW4qJ~s9asZtXM|$Kk{h#7>$4WioV&UKnY7px(G%WQqXCUTyUi9B_Ok1b^Q)6G+E%(hSNiW3YXZ zr2V&L5&sP{A=f-$Eg<}|if$*F`J0F7r2mQ5&fC?txmW2*FQ$|GfEoBZ3jSk0yJ32i z5#~C>`|LLsUl00MYU4>;KK1kr2q@Ys67V(h_GuSTBRMvxJQq0{6Oe>qZO%JV;7YFu z;J!KJejB7l6EYRpRsVW%qCa^r(-@ZZn=<%JpT;l=xw!Je_nFG9CCvDXa-h;2q}=WA z+FZA9W`~RLZE$B%BaLO$3IY%kd@lXqo)MzNpok>{I_6Qk#Dv+xPhWK=scJCYoEH3#s%!QX&At*am_mCmr=^V}Xk(@PTiROZ$^^e3qRW^h!!gQ!sUkiYiJzivJ zGBBuu(=ONSb`7e`vLAA?A#R^-yx(sIcb&!kAz^BlmeYhB-LnsNc_~d*F6^BeG90!;6o$%=JvM?h8_Ehgr*YI(FcY2;LRGw;yHOCd z3V&wPUg&hdy(;18WA5YU>Hgo3?vpw^#c4idmPfN!r6x*V5gZ+O^{YduJ0|jecTgn8LRIr0q^~1s< zjq4yH542hbKu06`Q{DA3>X7s5gGmpQdK?9(fJb_C{nz~@T*GXjM6sQ=*0S>xhi+PP z!m1Fl9Y%PU-O87M@A&uDV9=7em?eimkroPpWUMl4QAWiWP4z>d@{%*}H57EZc>OIq zE!@`fDcnX#26J{*E?Mi*H37pU#jo{UOHa&#zXT5Qml_<_4*CznW|`MGtSJtAP_#KvgQaiKI30h3C)BW zSS-}TstUkv8-=74oiiY+4cKh6Gh4G<4bhc`+J?l0sQuy%{2s#R7(2F9F zJ(+z!R0I4qz{BW0ctLmi(lu>&A53zNRe$pR55g}NJ~7eKs*x@cqDwr$(CZQHhO+ji2iI!4F#AG>2Gr^nvoo^xN<%X+CX z)>l>5kO)ubJ1?VOlE4BmyKaiYAE&*9x15AD#c1DX@%rC!A&d*BVL zMAig?MG7nq7}&&{<&mYAwCmPvdDR+dr7=EKW6J{sD+n(Nz+1fH}I^3gFd~ zj(IAeLf3h_N7UcnLjBrzyHZiR@QTyqc$0+Hb1|BvzqeG9k)36&&ncpdk|`!-Bf5Qk zJK~dPZ`)zgS1aZ-0==6%;TD{i8DpLmz(=*DFGjQJV4v*|X$3hP050&`dz3C>YcdUold@ zw3#SSBNfja@xilCx`OBX`sY^XJ@?IaPze42E0TvL)@a$bc7^~tpSnD&Sj z6ba>rP{1}2E8Bi$0={MIX>w|r@x@X}?~EcH;|3m?i|}Su$Y3fu6o+nQ!fliOs0(D< zG7c7+(6(%8%nVb`G?~}Ud7Ft=$}N8dl69dSO(DowkwIPjwH7G862e@y@ppJX5Ed`c z`eUlB;*Tdj9GzieJl+e6Z-n}0?tFeR5)`HkK!>}twt(9Ql7TdvG7vJWH_`L2TET8~ z@H`@*scpx(c;;$Ay03;k4FxRtEYZjvZi6IKxHJ$EiVh)Xvn|z#m|@Ar80kN(&CUPs zV_Ew@)<*e%SsRi6ws7wLwQy!GvzU>;G}k-qfAckM5vCD%>zeC*jn0K+3S0bRpY)Z;DTl1DM_Kj(t(~^v@qqw7m9~W zVeclrMxrA>`8dJ}N@~L>*UjlxNlWLG)wX*y)4i9uS%Y7Q-q}6v&N?ITPD+R?SE;+MdQ#>2CPMDlKi7+*kIZq+=$ojg#yQ$=se=CbTIib1yobgX%}CVeQT0f(;AqCK^$T)k#j5A(kUa!ncD!sWTDB|D0~9cZ9P z5r2>v21!NUfuJmCS2Js*qLTfrQh6Jsj3adWBp4TW`LA2gns*C#cXF(Zuet~V@+~pN zmws~}^R`SA;-Icr;Mg@#5!v#GwHq9GHjNcg>Tf(8ghtvcU3zu2Z-&yS_;8mfaNc~I zp;(WVa}~C9^6!>xPaie)yw$<&c%5e{9bM`4K2S*{o>a0McPvfFRf$ zLW6NWbow_cx~c`62ndBdHV`*)|3|%2H?~pqy1OR4Tzx;ob8@IxL1{xfFH2IRAN@q> zS1TgQn72VmF4PxgV*GgJlA%e>fKp|TL&V*hyZMjW>~V$|(0&v;u6>$H|@pDR4wm>ii|g zJV!?|ST*ZLSZ^$JJnNy!2SQO~P)* zJhWn@rS;<%Wr0^Fwd=HC^v2%vAc8O&bGumJmA|KgDHYjT95+9sG_jRtr~Uf2uBV%^ zTX~X@LA9OWT7#)gko&c>cXU#~EPePPf%EO}I^%{2RJpv)c;E0&itm_taKsV(djr!r z<5RlU3Y^pP;t&Lk#~ed4-JGl#)$iYxj=Srnr)K^v;?>Vq$50&`l6^Fey0UAaD*3E1 z@A9sk`46D`TJ;!GX=k{{ZF||8We~v^j?Atiy=4;9ts~s(9MRTGL8t!kxW>$yTTlJQ z?^=JRu%0u~mO2`xX&H!I9-2F9Iw7)+obBvxyfK>@Y^;el?wPuq_r=b851@KBd7VEC z|LK2pgNjUnsa#F_bOY|vk~mu+W$T&{CWWgYl1kJ(oV0)vNm(l+90_0KxWXU#hh{@A zrmEkx8ve;Af9_S(7gmwL?Cx5Y_sUp@)iQPlqb`v4kkRXASpKr3nq$)}c2>i2aSGOe zcGF_Yo02PSxuM$2P}|t{a$6p9@ol6*+dR&V@|^Q+C*q;uat$wK-kkY?g^jgvhMELy z7qOGXAn(nHQUyIbybDb7&yu}%p5#EVasjtT3$m4j%+Xlkk#Kp?VVd%fK;FBuG$vC9 za=hmW9?I!wfhh?EBkp1nf(Np%=*PjNF4~xA+3g*6!2IMgL>MF#(6Brw5?KYf>NJK0g?p`fRx1)(eah4y?N`td`*I`$@SYFAwF@C|@mT+5mX137 zkGJdxH@unfEh<%!0u2E8Ew^(mps^lHrjSUHH?KfJwe$@G=A~2kua02du(97a7l#Iz zcKXZqajd_zXQ)u)a3Hmk8p4?>Z3IHxzdvg`h&WJw-RGbgqdhD=CLByCv;VRo^2j&| zm+@{a%qg{qwljXJ5VPkzDyPGA<=H=H0`J^niURugxnG{8eifbdEYA_m@{aPO zwPpGo9xC|#gJE*rEQHqYo)DD2*P%qA9ba}SFr(EM8~2q5q!@5E zoyW77wW|2)^hQV)*#qYv0u!Hcl&U9uVo*{?ooF1_*0ZL>8|ikIk_+RWcJY4=$E`Lh?C#Uo*t*l`GtNbg7SGt34nSfv}7(B|%|c_Gq=V_oc*Rb-RLA zta6~r@A0CdJ32d>DXUTSD?$%)g{P6q6q|T>k!8^wNs^S6#}m4ST9!3agrcJcIuX2O;5sGCoNzwc^|26uc6(+M6-J1` z+QYotCuH#uiZ$vi9xlt*FrD9KmQy~>3Eknh_Taz!9_lgn2DK5->=-#+Mz}S6j-q}9 zY=4bK$$)R|=9bZM>ma0wLgcG-?gydUD1H|yk1NCObr}+$2cpR}g613) zTwE2NLvt-X906QIv_IMHnVQ@-cdVPn;S+Kf=H`>=z3k(2u!IZAJT0Op z-*!d-J?XquV2!E3A=rV*usIr@gJ<#SU&ElddBl9fqqL!waK!e(&44xg#JeVP;Se zhz)0PcC=UvcpTcF^x5`YE3wa$cp4z-Y{N6QXQB);%P^8FC!dVb1$5W zTT_*vDxH~e*ch%P1nhBJLBT=&bFDpQ>*1AK$vWOTZWg&`D>Y3-X>|aTP}1HArULq} z?>>e9G=}B0z$iueei~-TlZsCH%v5B5y+~J0{^p2|^rlEy3F{k$>R_no&UwL_;;>lA zAo>GCL$Y_#u>U)ytrwa7A>YT*`x+H}6HI>`S&2l2zgK`It-cF?!aHmtDC&sj7F}Sj zY&4W~-jB~t>Ai|0_T%*}*b$$g<1f)U4^v57EdJ4#{^LtY+mO^wzwalD*a-aKio3M@ zhE`)MAwYJUh-aFh`4PYQf$gSMARHP7_g7WI-ZWOXxfVGY)-$;E3JyCFHEQsoJ}2WQ zbeT;p_z3*)`iL#3k6P^7DfE>sp}5Kc)3X)f$9HpdeWHHjcu=eZkc#hU>{-#tS zKiBi@8sVRcGn^A47xzD2B&%eZIi7pQ6ukGh%)j*};GhEucU-efvQJKL8$AL*7naMp zLJ;6cvLxI%PX(WIZGO}95&v;*eK=N<=NGLGty>bFBI%mGULNKGKBGA%0*98YALaU$ z;)bG=r-iI=zi-Cpb6x#|KZp+`Omi)FepVw%l>opWMJ^EnDh8iVbqL_6gb2~(h|4_3 zwf5yPEQq8WKrsJ;g4B@Ui5!)xXN4_bSEkcKrx8{0?+DxTc~C;A9$WcQ3A5FZ>8BPE z!UJukPEi)})UG3v=K9St8|dWSh5@-V!GH(70733JwQ1HZ24_&ykVEP?1NwNqf#5#~t+nGFEfW!-2 zwUk4dIa~PsQVWN17?w`<#j{QC*@8)g5?}}b8`ZU;-jkeGnAYq(DNJA5Vo8{d7F>LI zWWfYZ8fjNXBDjwGzTj~p!wY6{uV!W4W2o6qB0@~}kI&qa35(PCDaO}BnfC&zUE7(+ zSrP$hDwcf?y0PMMojno7;b2{9xA&y7BBY;$9eXU9821p!m@G@8HW|}qL26tWZ`-f~ z?SSp9N!B;d4we%|>x5k0zl0v1um7es5*D$or{_tNq8JV{lt7XiPx~;i-oQs2b+Aw) zpmD&wAIxMaiNQGg&G|blsMfSp)TS|iss|p3!Kq>Q+bEf8i#Zy88P$~F(4ak-X=vyI z^d43^Y&!2D%q4Dkb z2ElrC#UL+oWDls@sH9Fw+SIf#IP8&!pA#TA+CrRQraCT!=hveM07)YUsISZ(7ek=b z-A6XbbgVB6SQ=C950ZmB=r8&=E(iacQ#hHWv0#rf<}=LRq28WzA9og1tyfmdk{(-0 zivR2%6QSFBJ%`UnwP8)8X`(ewA!v_s6-JId(I}~x0ajF=gtDQiG(oq7)(yE&pMIab z-&~G(L&6>51nkla3&PE7#HuNwU><-r^|NMcY>&_|LvK5Y)C=KztyJ+|QBQo_sl=gy}4P?7aU&?Gy}n-3|xYMkWLbPG@1XrnyH;bZLHgH+p_0 zMi{xxs`UASx4Zr#RgB#pK(M&s*@&fgBx3%`IfR(p3orz~Rp~R4kBAY}A^*=p49C#e zWyErYV&D`BL~n#jK#5~cA45&<7FTBqpfWQD>a?K4)%n9Wg~!x2M_VkiezS}=D8FDQ z!fgkFg71w%wNV~P>(s!IxiprcRnE^&w|khF&ota|Q;gpT6zQP2F3Wk%#>r1(y5FJu z7P%CYQm82(+G;&-uWA4HqhEQ?mu8zF_9pfQt5QC(nIf88n^w_~d(MgC*`mLvI85F% zpX-pTJh}?59d-Q z6;TRH(Ic1xw6<+@ffA}Eu41OS=W|imwTqQu*H%Jlyd5HfN5>5rRe!Ogg}v~HK3t>T z4G4%vG%8Rw8Y#yrKiOwIqSmW{=jnM^#~?pOSKi0Ccym#&OnO(_4T#IALd5SLJ1_98 z5v%s8wh6>i+6?pO@&Or)Etu-|-CaoPmc1F*Q^$pmeb60j_tL?4 ze_+_7c(id2|DzNlVo|wf&ugEq5~m6B@Tfk1OxZ)4T=0KnC}#^A^j`rx|AbPR>!e za#&Urh$p;m*xB^ph>$QNE}PKc6ttIc7>m3SYlH(M=NxbXpf}^U3O=+`SYa{$6)l0b4O4jG!1CIFO< zr_h&hU&GDo6q89FRt+)e1O3MjQjMNxLc!Gvj4fixKt`_N>5dplQ+nMU1Xb9-x5;>H z5*EJJ$yaqvR^Xv-Tjf{sHD7jtgZ=#NrvveeTq>bX1R-KV(XZg$BvZ7wAkp!O~v@5}9M zWKTkAelLRNUgw?PmNLJx)iDZ+i>~|0V=U=hAqwJjdkrnRtgg|#q`_W80jpURS4Qv( zR{hb0E{WO>Ii+lK=4HIm`+QuO%;f_qJ#|{vT{B}?2QPXzdsj>jg9&Xdib#lDMjvw? zHu%OgMhh^^tC`?e8L7u909oQjsR?Hc+{@9ls7y3r?eaL4WS(bC&WXd9pzoagc1(XT zrS3VA$NYtZzqHB+x6Co@ufU50H;49nqLUNUV9|+d*J4;AWUtW8PJYtac~DJwI`0IM zT#W3e2sgguaNm0-?6=C7gtjd$(Gc>u+s9Um6jLk0)bGGn?#Z=M3(PUsi`$qlCE zJRpoje(;BP>q04);Y#n#l0z|$fqcDs0L&W6d$3LnA~pn7QE7)n-T}guB2JK{KlRk! z76J$VI`{M{3u!f-K+h^f*c9n zR5eQO#lTG3Bs2=HSf_H8kstxH(szu?;SEk#J`pSwB^biimS&o8)`92{haTjEOAv_; zu`f?XP7$>ji661v3Epar1@Wgrp7_Hbs3t=xkL!8DI3V4CVQoajND!CfX(QMSv^Svfna!4faDNdX%oVkvd1=0Xc{l?kYhr-HtLUxcaRDuf5FtPl~HTv@p zOCX;CBEhwR9J*Qs@&M`Gyqy<|aq%cf1&-SbM4RiYAE2T66DRYGlmB&J*cJ-h(O0PV z#sdBeJ$tGie2hevv?fMDVU3GcALz;F{1J~WThk>6CP&KxuEoBmmA38tHE z_ufkuKQOc-eHErtvEoI{zf}PDX`G>t?Z7{ zbS&`KVfOpAmj>R_I+5?VaW7nC0+-!9Rp~JjiyjpJU66mtV{a=+KkZ(4P3~<$1HiF z;HgQE+6A!gP#cc3>ctnN(IYgJ9~tVxFDLZFGZG>RF31rnX&BWE&hc&#D6i7U``N*% z`obk#&{13)!Foqgn zI4(HWfagp~OL?dV|MYNZOaI_*;ek@sp>N&Qyif_X+70X9fe0(n^5t~Ohf|Gs=HqJH zbHymW-!y_B8Rw1xfZW?(iWWZ_HG-Z%So3{{7xAN`C__oaV)U#{+$(R5sm9L?azm2j z5$_A9>9MucuR(i+1X^oMe~)IQXHwS3^(jT>h2$-BFWXZx1cxDtW>iW>8qwJ8DnhJv zoqhL_-rx8d>IlcDTt|E77BAUWjE%Q!A}Q?3G5p6kW-(b7Jm_d7?JnH{>;qbbEd*sNGC-6XWX}POsv{lIMWBA5G z!$zQbO|6xD8ea6Si7=D^Gif9TVRXX((2( z@{~xJ*BFbEGnMTKxbT5GLYd$EWDkQXBQ~Dtqx{`Engk*j3(Dl+b#g#+g;)$!=evIZZDiZW z*(idB#Hw%@UWACNn2{9<92wL3FsPgds=&?EA-hv43;0o<1EY~?%25udH*+K^Y*iAR z7vq*YeB`uo%j>mq_r`bTOx!vq2DMi+X-!%7kAH5^z1@)a$UYR5`lW(S^4c`cbZziJ zwblza?E`(5!Prj?P0t)wZzjh0)TBRNC6Ux56(4aruDGia3%*65?p-_f% zKsI{Beygp5z2Qu1TxMV<7RnfjVxUNf_$s#I(Vv}rJ>z0mc{8zx&iw#J1Q}}MVB)tkKM0~enAu||FWAo~)24A>*F|Ixp-;Yy2 zH#uHU!@ah00r1EEhWa5ORa4lurpwjQqe>csHZ|tp&+l0TM{tbMvsg(9En3KBJ9tR& zr`$&j<+%OaD~Kfu-ne49^mp6brY#E}B8non?hKJ58-p3Q_p3Z11A7yr!K}s;Vu>Cw zaE@PY*?4R1K$rPwz%{`QNVoKhw}h?D5=LAlN5e6W+Zlh+%21acn>9rNB3Q74X`9B(cl}*Qu6E;YOe8XyoKwPSp zaKnx9*qEKFnKPP9*hsVvuwcY2$oe7j`A}@iZmS^6Ken6yGiZeUrxuyA)prvAU~Ly~1jrrQtL*W5Qws$%3Uo=5Fa7j;RJa2(zI_IlV^#Fa1=tmr z3`)l{u$Mh{|72)`*tt?jp%g}qg%`lVIR#-xY{76kwbhTq>?bm|&WY$0TjEZ86L%d& zsvfp>9dxn+p_}B2rDi|qSGWAzCBba?UI_JAaCC2L2rKXY1-rIbuD;;r$GAE${Ob!V zpc$Btnm&bO$PHv2@K139KBVe^cDRBIf!Fh%MYVYa3S3ZzaJ2W;f6M>Je@KRfrQ5QNkK=C>g%R&y}c-Q(;l4-psa&=UHo zp#A@Q;w|Ka5mHI}CvdX~(KOEM-J+Kn=s)yJ#y|6nTH=4{mn|Sc{ghs~ z=9v>wR&2$u%92}D!N{-3v4KS%jply>gvtQqpO@9dXaDo>o$t)N@y`KK&S5TIuz^1h zYww1l0zNOlekfN;zxK)${T25FAHSbJ`U6}&rd+*e$^&*K9`o4az7&xqK2G5PnTeI8 z`Wwvw(E*AH&q>lhEP;_Zcc02GA~LkaU#;q{$mXGFQ@d7@g5m2p$_Z-e5j1644!<_|$Cr*9)Du1?gZ;CNURsi8P zzc}yp#k8fW*==F!DVlS9`becJjr8kcP0hU9a1G;G^cpUsaYt6J)gt0bU@Hgu<#^V5#`>NTj?&L@?K!rk;W;=BHR9Tuj&Zij7(bUa`b0x@=mWPSf28zp z)9Ef9fv%|9EadJ=xWHXE?VEd6Fpo%9OyF8H#p!3jsmujsy*T2AkK$;K|5W*v0P_6b zY8N6`D1w=J7Tml+YWis_9}gH@HuvDy=d{<1l_{}HLoT}5+as({LY5lf@G5J2lJyu^ zLj|n5_ksr*WuxF4AQcHs@`dl_erO3r>?KF_hY*@;@h*%=+~z4+{OaB|nuOVaad+#w zh5#2%N*i;;V$hUI?{@@rHSl zWi2v|Yjaq?4W>^~+_#2|l#@7Z?7zm5t?_KfIDLpjd&KA` zN;;knZg|oD6I^#0NPpWh@9xvW4LWmWK-2~ZdM?ABw|%e*Kcf1`s8#B?x;1YdG{=2* zP*o%5AO@0z9|fB}!5whCggvalcUuwdK&kTZ<{WV+hc9af6EcHCRA$c0QQkF!-u<{> z172SS+ZI2-os7^s;E6rZaAgGEZWLgyStvcrv+hL7g#rg3=crWhvQ~{Gl8l$4*C=mS zm}E?EcE|~vh8a8pAIb#@7y59EJ*cKIg9i8?5%yRN))Aa8O{vVVGfhL>r`;?U4>Zkh zA66?C z1ZY{K*H=viso@*;y$MG4adTTEi8j4UihCHNE=jUINxgJ|-+UellXD)o#X)yo9`Pfm zelI_FKE%4Yl*jzmwe?{XCq@yt&2#i=xi*HZu4qBv8;mXOxz3%JpvlR8ayk0xJPc{7 z&OqvJ&?5}5O5#22`TiWnlt*3c^Bg$90H-0^sFkr%Pre;SV7iePMcdY2Z^9bqX%=M= z(=e|U8MY{SXROVgdm??;%_2hS)Vox}5P((jz-#cKpB>;JpRxH#0{VWGX{5P7U2EvdDd#$={^a-feMTF+Es6fHKi*}7UP-p@@{t4(qIf(+^{w+ z8Vf`YzSZT*h33^M_Hwm~a<45Qp(!?<`M{>5)^SI&!;;8i1x+ z$)6k@xI`S0!uMwU5%@%hxU|cTb~aJ3Lw6||&pz^psw2!25M#gsFSjOo#lo7>5hi|U z)G#MjzR-i`T8I`{p!u|OQlOpPb3YszAC$DE1TQ*JcTMh;c00N!X z$mG~&w5|!yxXT;EKechuG8$eeT&6-Hfe@|!NbS9m(hx?`7yEjI?MFjk3Ay_&*2Yd= zIDKQ#7~Mr+@&4v9a^f*vKikDuq3Yn#DiP%)dum|~UlOPw5eq{!H=rhfDhS5)3v<#W z7uYJ{u4IyiUnkl7xT`$3i@8Qf^XBFmnEd6Zz=X4Ly+vdbU!$1iiH@VsqTTJ4u{21a zg(NvsWpAH*d|=dFCZhp!Pc4RE#)-BLuh8S*q=*2nd`d_YMoP7vw((?Z`sGr2rW{=0 zodl?B1(iZR6Z`W3osSiVAkbCrAf337obJwS+kk4QMh_j4ur3a-BOJppY47LHc5w`^nO z&`15&GH2cG=dN89ell>GcoewY>?h>N!yEKHu*@Nm|+s)^`p@<{=0YhMJ7V|JA zmM5&xiOH@w1ytKp?kx1^VMp2t3-YCQp1OL_H@%i38lwQN7@r9ju2E=xH7sd8q(u86 z+c6`~I5Ene^wLaa5A@p8j;D+)DUlRYf8Spx&}E=F z$yuN~rcFrWbf-vpe#l%P3ypV;7f zLx+4`qjIEGKG2hXD`cb|<8n z)37fgs?O(8Y^#4xOTu2s+aVrX=%!+NJ?;>ThW~MVH4tR>%!=Fi4F3*V3^QHOm|Kxo zDr@92r%sXT5%8a_Sdpw#Qm-OP3sy?8!Rv5pYBC89FP57chY9vIs?Efm5|_j)Pf{qzikf9p8zzD55l^lsb;tT@fsIyId@N{gIV zw$tmrheE^6^~-@FdJchzu8Q2p!}vzjKZ&RyiNW5=MvV7A$FH+sl+}SDTBLfkILf14 zaN}AXx&RAglAkl;0y9df97H_*4n`-Xky$-vI*<(rfv;AZ5+i|qiVv*li5a!dAnb2~ zt;?<2udJ+!suJrrnXnR|6SD!lH<-_Rwp1EAx`XtL-03dX#2_?1HiUi;zXD6P>2GW`yyksOGX)XBs%pT+b3T~ z%;N<;ZAT4WCii58;Y04S<;~XBH#51fZo`iRvTW*(OfhuOm#sWr{ktoB8d6|9D-IW+ zd~uByTyq%=q;!r?l&IC@`a?`|(3>yi#Vma$bs?fAgyn9=f@r%SE29!b!fE*eA;Gq_ zC)J^YB4p+{tDT$bk*#!ryGpKw zU6EG2vCYQvor?QGioSdqu=JQ3AP^%tQh)8z%-w{HTxWTwc}LEYs(*!`Q)|f)d0ZxL zdPB^M3 z3D+Ypd5E9DJP0?!*vL&5eDT^r%6C08VZBG)+kwFZ0VBG$to<1|(X1<2E$*g@)f@<) zL|ZDQxQH%eYP?*yhQoFiUy=4xkGA5afPGulEDgS30T@QO9bCcBqW40NhXw8zcX!se zds>aF49;+O#>BbSGQi`R6MWui4a7SAzFsCK@yZF z`yiIuUC`>8W2hCcamG`Mrrc-U*MY)NyP4yhd?7GGv^LIfjMK+~@5B8WwBYGk9?URB zD7U|7O87|+9!7^RMR~nwYu{4_4JC1BLAa3z+qJpUk5(7A{677Mp&TiN6ovVhUC&Ac zc_f$Bvcc|!UOB1TVMl#F2c5EalfmOepm+}4JHQy7L}idOk$y;ZClPSA#Arv){j{8mCHeWW|4{{!dd`;Wl$K4pz6easEcEv zLHd9!?Nf6OPBS)QL2_AJNvaN+vr!v|pi{2m_= z^?`S?t}xvU^lL4|)BLVva=?q3ICT!6zRC+(_GxP1(_?U*YzW_IY}efyh3T8-iH1pc z(eRv&*l}2xc{mxy+PL}v_phWA>$`$dG!@zZ%goUw`5Us^SO?xr!2`!=;MQ!kkzt*w z{(5rBudW<}gI8DZvzR_|+1oU(>OBP$6P-p&!bUUS_2@|x`m=^_i3~CMNA2WEV)wpp zPp*o&xif2WWx{l8>{>5}V$yc9O*7eQ#(T-N?cQO~W1uPBLR6b??xUWGoA=K>OoG`Z)XB07D=G(3_%=$&JZ z$H^Y`R)3A{W&*WLC?r4~g=#Va>$~D#b&s5Nxlg=^ZA$S-mSAt0bZ34HC3UQBYc-|u z0b{efldGFx7Kp|E#zrUMUKs&(mzd%WJ;iIQL>c)EB;Q8bKZEq@980oRM(`lduE5K+ z*854ASdJ|$0E%JFNXCZ&^!)02HbBi~#lEvjR(%BRrP@8#yQw2J8KQ-Du0*c&*QpRV ziKrh{i1Y3in?a;Rq+{+{Vc1N}(}!bfW46pSs)R9HBRW9j8TNkKilr;NVJD(HY63~x zMN^CDf?_uRz?YkV2WVs%BDeCg=m?Z5;dNjk^m zLSg(bN%L1E8k^*Lk|KSuKm zEbaZ_(G>DA^SQ6~;psErAuz*)%D|;oD{I~3v5c#oy;?ScAX4hHTM#MLEjc{n#@eQR&}ULvWMb;*6O|n2FrjZ!~%F zd%_yfYa+qu(=VTmRqjXTMbj{wJ}hMu_-i7&YEv|#*p3_M zKLmRRyXO!aHpVxs1)^w`6>uMx{fpb;*cbyd7JR6g#wPgPK6kvy9O*qsee{E7S>fxU z3>i&tZUCi4S=xFW16sR54n@(;Rl4ll|MJ8l;WNd-yTX(Bwe0seHGGa0Z^yj0@b(n9 zKU1651bJSYQhz8MZPn(H)pK46>$q3b_7`S3OZU%IYo&}j$UqC^P>P>A3F{P58GO7t zljip%o5j=s1$F#_pTJYO(?sP^8LWKH#5n@JOt}O|?;0dYI}TxaSB*_n>yf4*WBTLd zG{UK0Cj>?4LXHWpcQRmxqpUP{a)t#_Z~^4I+LNw~xH2DzD>ZLmlJeLO@=O$%;xhJG z&mmg(+^_$(Zj-^(Km{jO#m?DE4HxKN3hoR%N`7z81zX6fD0L7M%Tw0C2lihp0)GPD z%O0+UkgY;U4S{$W5A7Is?_s<7S=74%V@|%x8hs~tF>ttTtqJ>=?KV0Aek2KS#4A@4 zhF?BuRAi0&r97j?g69=Icu@PW1Lc+|TfGf`0R6A8vmphcFg&O}gs+_E#@-|1#gj~4 zw~u6<>$Nooe>ayOu7q&`&V~qb)+~1q%k|a`m#CUFChj!3bRI;6kQ^1UM-|p@ zqR|S;BMTclmd+X`ae{Ioh-1i}<4&h%#4+dJ-r%$!C}|z3Yj~g_Y~heqR*@jZO~j!K ze?|b()$2lz*2E^C5&8=ipAUpT`en>@{73y(ZfZLoO0KB#4L0i0R2-sHi%>f)6aSSh z&@fXMhC$4`?qXPjBN-{C$b};O4_sB?x7i2eVE+&MyI@&e65u-%38=|hjRQ$@g61#0 z?Re@S4LQW^%c~tFYB%iw24*EMBiqHU#w|_a1O%woNLHH|HhF)Xxdu*&QJIq@#+bXENCKo3So-~d7m>;8M@+cTis+Vs>9oG@`l zO`-7JLLK}kzXk!Tmv?={l{A)9GjgsB7PpoCDQFUeN2n$ykop|zq1ISZct(1G7`8Aa zlK`4d=~CV{Y{#!hY^baYoTzqxgD%Om#~fuVR>LEw?*-g5IHc{A9Ivid0){~Fgu&6c z5vB8LKE|JRfUCE}GxkR&n_X57aJA27ZH3s|XSirG66?z{O?h60c+ufZd?`DTG+?V% zvNZ;=M&Jf{7V+pfE{H-_(bLB!saHEc`T`tw3pQm%La-Y3Fecb96eG-`AJQO!XYDRj z&{GwqjIkQ*3p+lhMz&YNz*!35FtbPAt?PlLVCo(!)$|3X@&npiI-}cUwWYYUAS0-CDLQPq&k3jOZiWBJ=P6;x1WmN|# zY($BZJLM!;a@Lqbxgz)(qc*pf8o1|t~@SEWj zCH8Uq5|cRu2K7DOObGU(j;!guNhL0^c-}?>paEy7@CgX4RF%=ZhLD1PJ-PWjQ3O9J zbjGs<1>EU!#jDk2Wq12C`R%hzv>O@;4zoK~*Vw=~<7OTsA%`|s(v$NSo{Gk>zMf~j zB&w%}QnCGdyuS|7tgi`2d@0?^@H%#4n>qb=yK~IPk0x%BF9@B)v6H5+7`O^IE})Vi z4TJ{R%j4KytBijZ%JgWZqIKS4BAh#hAR{6lrn|e< zfBeh8q4_Z=&l95WavG_d>m8$<=>Qiifc(Z8pFU>JRbiQAIJ?SDc}x^O(P+pFN$22J zFxt{&x(I7ypgXmKy57>}XKM+YE0(u-aUdK~+Sx65*QBiQ?t~?#9$l9Xc0lV)s+z&& z=R~_yk>T!O+I!in6wOjKeVtZDxy2vikIKmi(ov?Wy1_chR8{PDJ zOSZLM(NFUMo~FV>8TC=zq%l-m`Z8khhC)@^@rK1vz$@AwK2%u}W_neM1TE zzcUtFA$ANRfpvI7_xcVU@O0D$%H#NhDy#4!o!aj)f}URW|JegDrE^l(?R8-_%tZNN zpk^C5x$=PE6Jbb28i2HR%?qElVG}I=kulX_AQ{gU!Sb*23F_%^5mN4I3_vGlHC-X4 zxz$7Mt|dnK8{MB53J<4!CJE-4qJtuw3PBzpu|)QlOlV;tK)lfi05i{5-g}i>(-#e; z)a{xjkSYM()<^>dSy%GJ=z7JLZkj4|)|&7Lx=ZHe>9<(;ahl$_u|BQIP}^eYq1YCI zH^F1v3MG6t&8>a%fq@ppZtRK5@`7jRzXNM&2QAyK>J1$Ej-r`nsS`@vJ-{aq3sci$ zU@V6!H};3W==)k3uD{=th3^4hz{MlAq*qxTF=+7 zTgbo&VHcW$MFx%c6l;F_n?~H?P6DC!Isi2vAYlSABdkBm5E_#6AQ@oo$>MXTvY1<2 z=hGDdi{mh7xvKK3x*ftWQSol}gGq0A5KxGo_sEtk?qhH1%e66;gjq+uavUeL69 zXCka8GuqiZpNydP8R3>9CJydwRkf_lF2N3TSjgNx5k33%o63casy~ar(KO${X4nS& z>Xk55lftBl9WAe%kv`;`;);Hz zY`6DeamWu8Rut^?xQ7fMfW0XVQKjy)pnsg9c#iKL>+N9K^xe6wF?`&@bBTIz`svU} z+?tkX76tyRQ=7b}T6m%7TU%f?URmc2VXS;5ly2x1LQTtk&P7+Ly>pRyDd?>zT5lK` zLZ}(4%U3IhC3frsyykGR_a2~$4hz8YOF%)h%FKtRuL=9F-anNGs_HB$DL?j2(pln#<8PpfocEo=LBPJcT{P`~?2NmC-7 z*jSgWJ#e&9_tYBIPZ!Oo?^h%h67Y{;2g!?-zAj3lEC7YFuQJxrqX4D%6<0m90?tMY z6k!+`cm#3Z6~DmlfDCu2Vw9-nebVCy3Lgu~onQKtQYO%!+xbxs$e;dWLu8R;#7Lt_ z%J6^L^gLTY-kv5xkFS_P+W0X*bdZok=rLmGABaq9CKDWafyNOO4G*^m)BS#169 zHQ^;NNGTrm(A2~zhJP{~3aIUnJHpc)ZEBrl;tDkv!``50rEv)?< z4po_=5^hit&=3gHr;sIoOaunun*s*>Q8yM)=zkR?<*)-Swg*Gx@+VHyd{8IN)=n@4 zRwFDTkR2(qBYWOxwUTX2}x8o&k~t3BV2adbh?n? zN>GTZ=mCrJekz4)yoztGAzfS9=RP(WN^(>#*n5tI>ns+GPI)(=vMhAh002QwO-2qR z003S9009612LS-z001Ze002QuP)Jh%0003GF#iz|LQy11%{e&#F4w{R$Z!d$i2kc> z+lG<1OugJ7N{9))7Bwk*(deR1e6hqRdB6~cnk2|RBJ^6+#6V|DO{}rB<6s&y{c`Il4NaK` z@DJ-N5sTeQpZ;I#WUtj9Q$8bq8~f*tKcIc%dgEewq4#$?U)guF`#*z!``y%AmVKXL!Z>g)Nz+Ud%k`gF&1iPLq=NN8u7v2~#;OXsUc z%4;tt!xM>>ldig!qyQPTHR0;@D>_4lc;VPTUsqnL_gwq>0Xt7!*SB zfyhq1$yRK*&%F)S0`<4F*u%fZ+|l0b_+IxkT7095@5~LYY&Z%bpO$#K|MJaQoap=Q z-nrnNg&eO413afOLbVt|vzmmCL!k?)+ewaT&4 znuXKp;D}|AWt9rJVGmMu!HgkrM1-);1d5TOb>)iITuV1-e+s5zV--p)yIl5?i8{U< zyArn3TfmM*<((w>M+5~q+B(-^EPWGzz&G#;ZPhH1z12&#ca441>2`ZqH!-a^w*DQy zVfts|0w^q{4$s4Bp7`<;NBLlrnh8}61LhPiEhCnQ?8XT=IiUUBGvs#BN}(B%vLN(n z5UBpXYqDe_xqi*KjihvCtbL0{8kQP;s)$OwjxCfWam~mC8B3z+KB*6UZH6gL(=16> zundvZ>&}1Y)^?+)bG>gv8}cV~dO0ZXKSu~jc&Tvx%?P4m0ESFHTQeW|9g31xcL2^$ z{wbewGy9ODAVW9ul58xgYTd{ALm5}~|9y#Wj0MH`%ZH;3>DkQs_meGRT48Kw!KdUM z{!Da3@(+ z%dQ$pw;+o`G#cSt9$Qxil~l3vpWlK4cL9tD>vpWjvPv>RT9Fleoi02X29wH`e2o|+ zv-A7S+Bh{~(e~l5JvsEIxvFIaq;xL*swtU;n^Qy+Ah;qDqdNvj_k}ru^;3lJ<-3&y zNRRrVnr&Wz7U3bv{hy6*ttK?Z!iM8R^`yqElyZ5qIj`ImL+HUQeKfKp!NK7pnyeXw z$2!eTzQ*OM!(N{CZ6*M%nOzsg zQo%Ju_ekcZ3Yvc^bL(Cttn&7!F4Ck8evRY)3plY1GdbqZ)YXs0T()61HEF*SqnQLC z4=S7Ue9kKsW+qwmxzb*AbnLYZZg91T3nBmRWjiOOGCzHw`zn0Oyx^=GbKep9w^om$ zdAV8tcESyKaz9hM)DM8w&Mvqutb+1K-lRj=9dehsE5o)8!Q4Mf{4~ElrcCWm-3th8 zTTc?e0RGA`L}+Rujcr8*m{)P&dDK@x7RL^A4T%0$HZG4*Q|pYicTExe2%CXf_0nbX z(A-$Ata+gvOA``wWFKi)LbHzPh>}m)UL>aQ_uhA7tY&`9>kd;||DM`fe|CI%E&=|% zh&6T$z+*2hB6N zYiSPCmnrj`yn4+@4m?Nagnv}JAz4V>%c|LQ4;LOf#5QSwN}^*;h^C>nTP{v!IN0sRW#3sW-SQ2%y$>WUsnm@uH+Bi#Jv=&KTch z(muC1^wslZoE4QdW;`dvGQ%eNEA@sq95LHO34g972=X{;PRn|))$Xuj5C|`$Wv%Qm zR~$1Xr~MFgS^A&U@3J{Rc=jH{lEKkHQk5g;9GjKO4PODC0;ef}x!olmW@Ujt1w+L=j7QhDhV1EYO-bPk&=vwP?~MRC+a% zjt*)&6y-qu;iV}zaJE5XyG0MnCR==^%TiHm@j;z=FBE?8x$Eql03U}sJGIx z`Z?N8C0jw83)P$-E$rrd9Wx5;x7L@%>ys~`xK1V!C=eX0c;5*OmkT)k`J z7=HO0{kPoq2he?Kt`o+4GxIpkqaC!xCv3nr5pwiBWeW`QKuUsB8)@0zN$9qCt1xuu zzivua>r6<6B|Gnxna;*y=|6gU1@s0F&v=;p`eTBI+Qu&0H7*>^jo^_cvOy|m1=W{> zh(M2Oi1Pp}$Veax*=|T4U{Am^MJWjT{ZI^wj{85n)cgLPP2Sv24GjCi+`2Z8T*WpW zo=D{8rCX0=RrP3cgOuE*?VBrR;P2nUfOYvx4&W)?F{iwemo;*>I>}^lWG#pGO}3ZY z$rqBFnlxctWzj{|0!+chY@2_%qq`s&-&5bPBq~sCGyOaK!T?-v}c z9^uzlxbwR6(jtjCn7hDQGqYY0bMQo?n zwS5LS^5^Ncw~i7~A5k;j7coow8duDz`-n{B|Iex_}#fG0nL(KAfePDhZ~`( z$g%Rc{6|l>?msjs!0U%c;`3QMW>SKrz5EtzcczsZmM_e~VUm7#PR0>vNVNp|m<9t=y(iwdTy`l}mB%mcR&(gv+E=Bp!>W zDS$!S1ayv+Xl_p+qZiIw1sE7p$m-Q7`vAzTGkX5m{cH4-;6)K?Z;;nL1Ut}%7PB-t z8`S8Ib6R{n!reKz`ph9g+NshZg_&0;-Lo(G|2wie5?5 z6)X)CpXD$+T;}O9ASTF`y;Y7E$3c7H$_eoVggAO}a0d@BKY^33H72f4`p*IxWD%QW zE(d1q6#U-`c?B4_zwSiiCw~4EIvs7MF@U;?W8sxr^p2DI{j*$hhGTEw`-g`-WLJH~ zt2M$P;z1)?e)(iQw?_;p4x&(ee2DtQ0UAg0zQfm-rifjtYLQgy7$hS}u{!@G2*3iz zdO)$ zY?d5PqCg%-;SdeI-zmM8N^fZS*4*Fs`hNH&E(OKKZd(RDvX$%`0-jasJhZjiio2+) z7+iz>O)@W4pg-RuMo4`8%Bqh1nR;EEbxr0QMgZ`$S_+rAm{8$JB{`x5(69J-&1B#X za38J{+=tj8sfWoO{M%^j?L*3!fG?hlsxNaX>p{f%73&Yf4YH)0S}%->r_q z))Bv>K851(A?Spv8;HX%Sa9IUu1HHaM%};W0h^rneqb{_ZQrj!1r$u4CYFx_;`Ndu z6mS~vFl&h|t8+q4PM3voz~8YULby}0o~~rm^@OBXC$ReO$bwOu{R!rea3;N5#6OK2 zFo}6O79;3WD6gyPw>k6D&GkC;jyb8zh%b?lf%gy3)@wO0s1fhJ_>18thJ2{V%)PqL zO7pP>$)XQ{G;F*9fd_Fp!DRMwGm>yt0){!|+w&oTDBWsdS7 ztUF_30ov`!Hz?cSj7}A&jcfC|RL4v@@ks1+=zwHGKIUuG)vr;Fv2F~%4PQVQ=N~Fo zt`^&iLutbAt`z4I(QMt6qD8~-aB$#6u)zL~JTKaE=e!6J84~dL-Wx!O{_Js)wEU@> z!7mHxM^|r18&*_OZIV8|;jKP&zr3KS6MFsJ#k(P2f|*cZRPEVVHL9I|j|#R4)=PQfHY>YmZ~3S96?wG8qE<&Bv^=XYMzdJd6v)ip;f3=q zXd&Jef>9}lt#&qlVELknpEeZ9S_5gIS?qSLmY&mATnnbYSU$L6V%g?g4|Y5Br_pqv zG>yo-3A>63prD!orFfN}#Zu^Ed;~R~O{LL=`h;~!**9B}c8HyR(V1AJphh&}y+xZ^ zO1ZxVH%vw)9?PEF;_0o7v0jFgR%-<76b&7_d+$MEqUcGSntJUlkSZW5@t-d)AK0*q zc5UyCnrF6TlEWw2f(Ld2Wl~R6DY&wuhEww>0|PoHS1Z=0j)}Xf1;CQR~g6g=EL%4j?xy zRnu_52Ct`IKDeyXEcvP|Mb>O9Lhi0P?W&sUPN1+`4Gi0hPNzzro6EU~nEO+xX>d>o z`o-Ald|fT00(=VF4HG0fm_1IL>y)IkhSrFGSnu4Tvy~UJ_1g)O6uwnWWi&=s#F8zI z2n0W-Anj7l6Zg$yLC33d7y$Z5Y)PQFCR;BggilRz^A4??!j#HidoFTqy=1hfruB@eU#o3a9poF!$LL4mi-ILRR$m*WI{N|#Nzg! zT#XFHacF&tZVrRmy_lq(a1&u6BZ2o!Xd}^g@F#+=MyoZtzs?|eE36mPB*Q}h1FM~X zZjJkkvd=V_99|KW_V!f3o2@PnikWwtyMHo>%n*pQ$XVte$Hmr>=H?=dZF-`th~$PB zcAi(ML%msL{-zWjUaCgiDV+5@>Osc6vg+fUl1F#priJ*ej(RQh-`4oy5tKAWysbB3 z)@weJEEw|Fq4eqCgaRJudXrgI7&7=v#z|dz$c5b4Ni>zwuTc{w33oPy*ja>R%iq90p*J)#k4 z{QRiA=o34Rth@tJSi8ST;v61g%Add~q*V)SoiR!pw40zL1)0`p8n=57XQ-+EYWz}6 z(xCyhx$8<|tn*o)2bqXq4vGp+z>B*i+g3=~WMG42kCHJUA@BL`9&(dMCBtIIj*U)Z zpEdh=u)j+S70}KOYc`74Ws$tRw_?K;TQLEXZ^U%L)*u{7GB_N+UQ46nt$vOGp2-Vo z;^`z>!2YSXK4YU7MusTY;%RnRDs~SB2iHpjJhd!0&8o|Y5w3{Q0B9r?#nMuacQsoR z&}RF4dbuNVD=@-&&ug(a2KwpRSwNFRybIKo=Qd6uiyHdeio;U*J=1lf-^ZVkEWoeM zgq!Qx4jRCpdiEzf-^q_eC5&Fk&{B1U4_KNZBhC9c=`9fO0Bvm~52Ugp?#OScp$nmY zIt5W>^Alm03T=~LsDBQb7Jj9xOmXb`4fhsWJQw4$|D*;8Y^;X}V68cg4e@i^WA6z& zA@dVJ>|{leqIrEjhTFQ=2^0GY0{qD5fz)3j-DBOpHd5r;V8Oelu|4mv{Dk(xM~NUk zmKleUt$IHt_Q>Qu$T~e6@6T~8Cg3^j$b%zHQ;#A;IHx4oB66V*r7G@KVAn~kBOTlh zGfOtB(n}rn|5H7PoV`ml%~<_3(CtQTB%t0EhNg$%_UZjCr>L=ASBlS%t(s%PjFL@* z_|7gxCe#C$p{?bTZ+O9hz{NZH6MNqr_Tg_!^FTET!H@``W3nei0&x!Ya}B=Szdy2i zj%sLG)%*o+onmT@_>F;zz|2(kC~(doZV0-5iJy&DV_P*(FHJDo<)Uw2?lXCMx*(G{ zc|~I+jZqdP+Lbb@EZD-h`(J$0G+)Y$V(A(2Y+2NrxIr71!i~z9;9uskZE8|ltE7aBT>biB1bE`WmZ-dPR|vI_15~4a00(But%R*0|4yC);d}wwJ3t}EWnaV!(vEn z9DL##6^=aA(jFiHMIrU}*uu)kTA?=z0KOu-)ys12DTYR^KDziM7yFHk&v+pxoLREx z12s4eZxiBY6|nLMEh}xR&?pL3{pEAFZId=}UOsiCOF9mGcL!G0IR^H#{K_`s$H*4& zMZ@hb;1$R}LabzKQMT2h7nM^C@8w0nVgFakQunhJGtz9N#@VE~!HTw!w7r@NlUI7vl@h>u zor$~b?YbGbEDeQUq>P(T7tZuGxhcNyN$-fxgdTcy9YDtuTm`#sb##F z9uq_n3%{&VbGefxLF39ibR4l|!F-^#?60~UU8ebx1XH4A3c0SvhQ{nBdpvP+U7Ju? zAAsI!1})!Q;ID$}t<4YtoW`AUWJPN!wwgpQ{P#+Q=GB~=pJLR0%W@VXVc(c0QC_)b z)TJVQKjj-2n1iyn-K*>_QZ{cGg{K8q;vXie3CqhIvBQ-(%V=}Dv|^Q#++BP8)!@$c zJy&Q&;}uEzCt3CyFp>c_Nz2md3VoQ5`!^i0H)aY6&pcHsW>fheotjq8M8Q}27$?km zHB8XOQEYZ^m?}#`uQAff^Z!FuBzkSLZT#-;f_xe$re2t#%969eXsk|sNFlmGNXzFs zws?VvtZ9+5 ztMRJA5LVcDqwZu2RX#G={45{K$uwDQdTe{AZpv43m54_TG(TRZO0|ig${#u85AN_i z0Guur^~~lW;6+*^uEmfdrIb|d^tJ;TCAx?Fut<-I$dJO;l6BtzA*cOPwz zixmj=Cs$chHgzvGl5Q>Yddh!KY)lsTC`geuQf|cP+Q!+SFl?9G21`=aqmS|I0G*#a zOAJL+!<_^?a-%|dJ%RD-G7SCm;q6IyrEqBE*Ga_sPVNBXPl*?X!nG9DP~`y7yyZ)z z89A|Yo-V(_sE#k=Lvx$}yT7zSfD+&r-!P#i6@*eJ3^Abg=lVA92ZV=)TKN73UAsqi z+jwKkn9|DpndsGamN)k*bw4OPTFm^BBcU{r~ zCZEx(t0|prD-j*A!Azu@sdXY9*D4vw$=ou5QpOmnnnIdnWexiLBy*o6Ju}Bz6|vF2 zAzmOc2+H!`gUiL79N4Z2(ibm-?ww+x?l~1pZxJ6A5rIcxB>u zu#Xo98K@8Vt#l7cyNXZxn*Hh5?Sg`n&iKJgf7q5*hF0yR%a)A0fTuAzo6>9h=fQr6 zJ0He;r2fa01K#o12-_&y<_&WLI*jj1o?G#(jYkGjtmJ0|KUuN^Rb4~Vpgck#FYray zoji&Sx`IysV8NT54okN2*!*8SRM@=a9WmW1m)*y!p^2HVycz|jFR32-RKL6WJO(d|99niAmJ2Yz`yqI;Cx> zpl1WF3qllt4*aDA+OzUXPf(Zw5D=*JBcSEqh@0~M;O_3u`YMF;y^kg2!F_(hMce#g z(@u$xjxJe-&tk4xc(tU-`n(D7%QSFTv?HL9R-2i|rQi~3Yi`{hV1%Qij{`8XYgvY$ z4&bIp621J~O#@~M&CvY=sX6+dilF0Uq{A^~*!dkKyRVK9eGD}e^GMyg+Pq<((ePNd zC@M&k#+o%@n(;fdBM^5>Ikj-`@oa0%Hd8cae-&>uQl!+XZ#d-QesP9O&wqk zB;l%=C`&p=mIzfbivyM2i<0t0wQ(JXN{%!fajtPfq+Jsn>JchlBp-oe(7PqvgVdBw zp6UH1#kglmwwrh%tdSuvMeomLO;gY`(6E~Z;>dmlxtxux;E*7{$#f$0$2&5-&YA(_giT%JC;f#?}WZmrQQi))vlui?U-z35yxlc zUN?d9Z2T_eBrIN_$3`wO$zC$%Tccc$Rk4XjKn=`%e9uF2icO-$O?ZOknfB{4W6)AF>8hcDkWUJ42g)sfv`++thxP(8`o9HM8$OTjxvh@aSiQ*U1QaW zW~t6u0~l7(g~zIHjsxWp2B$1|y_tpu><%iH3 zgZ``ajt{mk`v`p#j!~ujr0Hh?-hiIJ{-Fd)|DkcpRv%=g_EQr54Z+%vl;fmo9A0My zWdcg>{As)h>-k=*i#Ey7TvL_`dfp=tl;bQ%kkTMRMCk%^&3NU-BZQ#nCI?PdpQ-4W zbxkWI$EF#~C}FaZ`3Fn3b@=NBW~Cz7T{q&RPTq@t=LP86Pq*w*PeS3A2CTaR&uOdj z1Uau=Y2<{A3s_`r*DO2*Nqddn5vAOEBq@#c2^Nacc=i$Qlk4&ZS~X(vNu*{Y!CGlu z5sSh3cLzfXlaP<_mFr*z2uz`FnVb5ax5O8Qm$`ZN^7bl#je)A>1aukQ9|@@xT|=7) zWT8t(wj^+Uqh{!WwbX0&M;m<>S1YP<9eIOP_~e9Vi3(Z{RoguTLX+~pH!#{zMuki) z$haT_hgAb8{IS#5VuLM{mlo^QNw#O`10)KmY3;=}`9h15z<2Sb7C|9y4);!Od(rtZ z+f)0S#~GMEi=0y@O(ZJZ)$mysmVyIeCevf7E z3VVtZL2HZOlX(ONbr%UQoGq8otn`3X-DH3^fgdS8s7>5M9U;N|Yvrfx(R29P7$ zywnI+p{Ca~AY$;y=5(DyuRRv@-AqTkws#Jp- z-%17iGAc{GkuLN|`jX(Uq5a$g>Yw9^GK9r8%|Vkendo&je{>(6quEFED{>sXYdS8@ zOzdqFP5Pq0tZw3i+K}ZFaOF31tEio*$;13_(1<{U?}xwQ^*U`1d?shYnC-KS3uV6O zNhkTQtkoC=CE5)8TTpm5_wptV1c4Tm>Q#09@)H2ex<1a0W3%yD#A&ne>T>XCL1sl1 z9eHQ>MZn%gs%(2!ahzk7sO&6qWSYz`KWn+tP;h-Ov+e=(BvHmPMEU)E>YVtnB@%76 z0!47uuhnw{E8YYBHVjJ<5dk9Q*K|6wm$(_W{o{2_3+HhjAs#R)Km0weU+WaF5U<-^ z27Ynt7%ji@)WtjSZtLl4x%*IU$ZyXUevwiPFOs(AhN0I5(0|UsxsKq$G(MCs_klS0 zZZI>09=~M#b(w%hRLyRwdoZDU%5h|wBMmwed&*5>C5z#YSZDLIF%)r*dkJgTH9)pM z6))b9ppyH8a)xhVZd!Q`HN;hC=k`MMq9ZPfoAnG>|IvyjlFrJVccrqFWIpyO%%-PO zA+eFEIoUg43-*jN&TQIKl>`_@rPvkV7OC99&i(>KE4K~~vxvzT3U8v|nN@K+@mM0z z=%LJK`@)xKzH&RomOJpfAO$O3An+~1n8xq3jllzz@4YZ2;7*2rQklm<@Ki+sdJ@+g z&6=zqR-G($J>_EthRmJk??3w@<@+5jr5070i&bElj)j2VW$Pe|tvtx}N602b8_yBf zx_Lx8E1?gV3}wxOO_N|3Wt6$HmkZ2DHo08_D$N4^qX_w#PX?9k%|Q&J*W{DammQE; zTg9Gf4G&^Rdw!EX^s3MiY;l%C_h-w4+h$H2P-G$}sh@L&49VmhO@Aqfn{ug^l%l{+BL7=ch=l}6ikclxM_2#Dd?n6GUi_phybd=8uf zcYEnefP1=cB_#z-@U)orjQXZ`@(^wC-mR^#UdRySyHM~}z=gYSrzdtxUE6yw05YTZ zn)lMc8Z=I0`dlt`Rb=?eo%<&RKik@|-x#up2LCITT6xDq$q;Ic^h3KX?*+~LK?(n) zDNwD9fL9@7Ip`%En-I%nfGbEgI3R`#vnMHcZI^RSOdKNOgsvSsH!Ydvwl^W0$al*|K7vUbx^EBDCmZBwGeo!mvRdpXZZq}G z)d_KatG!J0rxmiEK)NDO9xAKaSWg81bk@2En&WHP!Wk<`>B<~Lkt?BEXF>rt4DGVE zjw8^sbbTjDRS{x4dmX}{qUd)()VJ=cNw7{p?Lm!9L7e37^+eHgnuW35YmtThKe|P# zf2@slrj)s0_iHkmy#$a;eX{#~Pukw?qoV%%UZ1^igHmI(tl2L*;Ym~kotO3I-`Bl{D;=qw z;7j^i;Oy_ZZJ|rYNQ8rn6CK-7`)nkmRWd!v32|`BjW=$_VUWe_KFGrUsMvA!l}{Z& z?97d@Y+_4{-uwv;bMtS>rJR(DKiDkLSk1P%1Ehw~>kjyR*UuU$#hr~%1uS>{!bI|3 zt8T{2z*iBu?&-t?j}*mv0CPedJr%2=P?PVN;XL2sCwvHzXY`DiFdv}Es=B{O{YS|q z*Uy-hli+w9ACAy`z{cfPa0d#nFUiq*zDlgmURuSAr0b_XU@Yw544 z_liIl&=1?i{C=iVF>nKdI67nmyU22$M+b$o0x9Tk84VBum)HN5Q@jUwDo=D)ToY~4 zmhW+r|3wtug3m{rDUK`>#K!)BhJ9apfCAYsmx%9#gA&yAfJ|LtN~TpP1euZ*!-Mv0 zr?aCJc6;Kyp5zzKJ!$^&m*QbK7Wf7c+OqJiZI!>_?Ku38!bh@|cFN@a6TJF%u*V9F zNOm@HQPgRVxPRDC5a!7dp$Fmc+@Q5)!Je8adEQQmB<8lxcCjF&M;TIQS4N?o3Ed0& zVRUw6jyms+g+w7rg1w_Jl9yj>41wnjF8LQlJI<^A4nRYL%%?zfNSVRyMhhaB{uV*X z89uRlZ7FiqyAQySO0UeVDU<+ny_F;#X4n}1@m7!EX)bUny^R^S{4=JamDv4`lyboT zdHJr~emuPN_z(wA30jk(|e{^2i=2Wm-J$)m_kEip;zJ;lN z(#5xZjF=0Xc&fR$I`!s#yf6l0yOF=2zLEBfT8-_;y$JkmR!s~%?THNU=0#r8S|M9E zjD=41^(e@tTy{gFN2EzJ5RxvY@cC#EV3)y%TE)pI$QaAKC!ryj#o^%hMZa!VWS-6% z(k5lLUiBXIj%p%#hJ58_gdsnF1^n$7lL)3wcPJ%iKdVd>77G3h!R1e7Gzrehm?pts2T0pVu%VE2gI%EcWP z?IvKHRwda2BP-6z^{wT4`cd>7l4a@3CJ~Xnl_vQbtAZN6tFaIe@g|C*3RxgxA|w^@ zWjHR8+4mh3Oa*K9!*8$m-l}Ei_+Z^|ap^wTFNcX2TUdFNF%TzDJC&+k%qle zN%dhKDUS11rmonGMJcxKnA@yMg_f#l#gER{A_rFPLo~%4A`67rU-=* z#lYC3SA#?8Ge#sSdR}aY;Zlok-Un4x@HIqyD zrI8TNphKG<>AbG~Pyv~NEv#e>e+f}jVu%7Gig2&M88#bu$Z$E1i*l%U6R{^fm}N!k z(|Vt@4#pVHI|9WPb(x6HdDYuaiUub%6#T5Zc?kd4VDJPh9U$g4VfJ9%h&VcR_g6eW z+~>|6Jl4PUN8_~sm`tJ(@o6ivjJK<&u`I9oqY&l-z1vPAemWeW`e2h_7y?X?I!bFL zCgPnuS=A;@4_rLMhiez~^D#NxIKmFxXKs0A>sDk5?xN00RW-PQR1;8`Y0=|VUJ zDn2v8x@Ei{na??2OH6{-_&i=yt)l6HwY#VENet$0KHO7vLAI(dt!dZGTGK zl2_ehQj{t`H?DK2+zo~yz?SZz&t%d1(zif!4oVGhk+`}ync@pRItXwzq0pq(~edn&L zy0Ha24b*$EB#3)HC7l?!qaXoGPv$p_BLv4XVC|U_T*WCi6D5Y_y}>fv$8CCr3EN(( z`7imCiC!s-qa;(GF}4oq*$^s4x4~;gX!`D4(RdaVuTX$nX~#O!6OxgAc3@^-CA(49 zJ6h!FTduw!iIVz6Bd<~q5I$uAdt#ff@8pXW zWq}WslA?OODI=zw;`sXVREVi?r=~E10iWdW}-7Y$i5UdO9tcbf|2HQE45G3CB?dU4DXlgnyknNB*@Fl5G)E3QhM z1_pdJH=x=>BL|b@S3{XuTPzx#2Pv|<6F?u*Id}BPsMb_}n7XD;0tZrqC@+m8W)0Yh zJg#Tb3kiGJY1S83KEuM28u%l>H&LD_-EB0I=Evx=K#o)r%wo~KK~6kw$Qgs2XBApg z?&oS-6X7npfwhpi%n`(3lGaiK3^s+}6mhb+NpIz&zggG<5xOSQdG6RBIdYd=nY~4> z6z~T}UYdraZ!9>n!uq?TEUhn>_sm(ZE%uG)CDuZhdDjQzZ)`H_w%m-8?yqDhYRbC2 z>+I#qELBUcN1_>kaPo1~tV zHF{%ox=bm$SS@ zX*kC)3sz&kzks}=4+WLO`H2nU>Hfp3(`0-$$f?el*=mT1SO8iF|8W{R~M1maQ%bJ3tH}hvbh(Tm8t<`3of|ebD69K z7neITqUg#Pgq%|VzxpVV7)Ar0A5VoZU-d%I#tRROVt-NLayMhd?T$dh=`63q6`hr;&@-cUs%rB1dbYuC8{G1cuAu>6RGNyC+y=LT6or}o zgjCCrf@-c866(kTP$jgIHhk5l@%rS-j<~gL7cxwjJ89@h_T(-jZ!yo-aX{jr$}o`+ z4UJmdt!ZFJ^u7p_bIt8iOo7aVg(Dz&f=SR>1&VON3QvV9QH4;(uO@I5B32D!L3;0i z!n>F4yVe}&VF1@vcS2&L6UDrlgZv}kj#aFFsSZ*+CuQ+_2NP+FJ&rM$ftFo+_QG8A?LgY6sGmqhc@fANckw@#ryAU7b!T7U7sN-HMB}tNOVgY0 z^DS2FdJH=&T`mL+{DpH&|LG#4n!RGQ)C=qW!epcDRC|TC{CTjUP^0XJ}FPp{&Nl*>{UGhgIbtgWR0{9h?!|{1&VlK zsZOlHUbBARGSW$&s{dTpM=o32^%I7yl^|N2Bqb3;gj)MU?5}%C^$%t4)QSyNJWniY zWPAKuP)LT0_ZMpuK4YOcvIWdNjdKsp;IWS2s}P)V&mYMDasXu5}tdFYD2?eipG1jhcE?L1u`~wfHlQGz zORmxnsT~G?(^X$JIW(#6ieFQ}HSuHxxWa>az4U;SO268bFZQoH;9!gh?CV(B;8dF8 zD7H+Mjr;f6&N@lDgRO89WwC4Fq-O*NAK8V1Rtv?I6Yd+9_H8DUf~J+PsB(oI#cf>3 z2B;%{~(m3GlGls+!es z<@c$|gue3uT)&ylQv=s{(CU;g@U7!eqeP(RCcHu1$Zmje7Jq+XUvK(E_uG<0a{sKj z9j3ne2h2z8=mkTq8JmQxFuDDD%F*3x;Js9AcyBl?VNsQ_A`&GRoAI>LegXpy}X=^Hb(E z+Ma%{Mgzl=SiiT;S;0`x3do>e^oae^cVTll@-8Q2ui>V{y-b!ohq53FK<)CEBGLu( zkcz?!N9@77QE2>%T|u2+UHupq^`-R)n!^JFfB>jKSHFU%H#wzgIyalaY80_eVS}Yt zkJgsQ7zF(C*}uBmS%#UK*-5;U4; zCN5%kNU5i~s&-iAdJw0n_pH>5AF8F_BUgvIQh0q}U?U6wJT*BN`+Kfe$K43Ukxa|I z;_5THShUT#HRsHDC26g^4nAG3n zrJPW!!xB**6;pPx(sgM6t`_RV7fi9FKz^Q$SguqBE8yl8x z@DVA$S`m{sF!l%+&Y3bspaqv^8}O9#?kJIGqRmgr`QT=O;X(Uwf ztGN{-?I1HkA&(6MFU>0$Vdp5p>_cHCk%`Pj8@`& zmyzOfV(=VOe|fJ>lDHEZPJJPOJ`c1I9T6a+v0p=&O;%b<9UMGJ9{BGit$)+~NtDqR zI}|l^1e(pQUamf>$6XJ)KNyb|@oM-okGzRR9 z`j`4>3XVr|s)fiaIR*P(i21%l1v#(RuQmDgGk3X~&QY2}^r5O%j{R6vm07=%_!ih0 z9`*{c;?TCR!br5Z{%?9+IB6BN@=Ex~lZu!i<{+mjvXI9GCz{ zKS+u+FVr@0dpcfyxSt8n8HhlqBLJIZ9s6_Wb^4#vSn7t$z^yA&#+Z9yHfO0?r<&|B z7lJOIhB?M=dJW-JV>vljP;C#)W>s~S*p`LmX8xVSy$VhJfx2*$ zc!Im^jNi_q$hHWU7>-wP2talq7V^A7rXOJ?WMFLAn>|H-+y=>;U4l--P`*Zrjy@IN#k1KIZ)xj`Ufn*^L>KUdsQ{YcI{_rWY)2=^wmYk*O*fD5By6J~A0nnJAV*_h|>xmsx>zRe|X-ssV&)r2e8 zAZ`#PIlv>f1S1B5hyo%vVUJ8c3qJ!(Ci{$f zfxZ%bYx&o+@=}P4UGW%r>9^MEK=)ZDd(31|wEW1b_>LT;yBVTF+_o{aa099)7EnsR zez)MyZ3wHaM*V~Jj`axu;hstAtgB`16{Kq4Mmdcr_V~(#7j(?*ZnSS|UIrYZwb*?V zH3urHX*NYM`Y@>U7HO>@{>0^X0D?3QFuA~*j;Xgxwck-NM>j?r%|=~>DEZIxNG+4w z!l!yMCaUYb2?|Gy?0%|O#L*0U6VwcH&~K72UMiwCM^S_**{M@DMmC~hgl*5!J^*xI z;mnh6;2(Iby#sMY^LHV`-A8>-;Icq)f+}rhX`5=qNbgIBbv$p89Ps1wCMH6N6>R@v zn(XC~D_WA|*L^TX=mN-kRn;E#hf@R7UGbWcwXHM8q7xP$IOhq+IcH8{qG$K7G+J<1 zo=?5aah3%ynP*3076^w(Zy&TWhcr)SM6!Z zF~UZhf%O2)z1Y<}!d${QA>?4&7kB<3@f}`PeKgS|9VoH`V{uDM;kk6p1%=>FMXViw z7%#|Cfh@!KK8(MmpTW375}{O9`y9>a#(JK+hAXUGvwKP-a^RVBc{Nt8*wk&`h+gQ_ zY`%SF`qr@5P09|@Mx-fNP@Yr_fMA|E#Z*@y@L%A}cGrMIKJv4x%__7BFSzK}451_M zQ}yiHZD+u}ou|gnaVbI0of$Yb{0i?7uFPL5XQ8HxJljD$kR{RrYM#bn``xv^{7vz7 z>xQkGBekgkO;LO00<#fHmaXqq(7U>PyUjy9$g*toP0Wc!BItyvpgpilOUH1+k9&ig z1`yYnqRCl$^Fm)?YTIj`zzfpU#wMG6yJIsPr_^)@=I6&i-%_ItlfK5w<2hD%fYZA{ zwn5{*v=2_+BFi@`5M6vhYZ?)lBM>+n*~h`wEu9TRH9!$^qAhZkTc1f~5=ow93+0(bS<~q*1+oa+ttqj z#dI@Bc>#e72+Nu41!=&moays)v)&V^sD>P+x#pKrkW2`N@}>!FP_1*9$3VQ6KBiE2 z|6#lBjQ%bNciqG!uK;yo-IggZ{DT=y8?pacGjq$k4J;o`_U3oOH(qE}Kg@BSO?=uy z42Ju2JMm?G>JPZNznBGR#S@g*+nn6OopV|j`#B7V{hL{6?B0jG|BHP#enwm*7z&!E zgJ})Ai8Vune7T#ZEJCEj;18r@h0adWLL8@C_u6hi+#q8jY70LxJ2iPS1IoNs^IJr; ztGjKTMNGF9AbPlr+*QJJrsv>u1pVt4Atw7RJBdFnne}wqr;sq$x=FO1RIY|@&^B&p;xJ@HNaSpAgvHLbEj)@?UAcip7;A_{4O;C{G zOGr^O^samTlCs7mG)z(g)cv!Y5vxN^yAggk5oR zZFkQu^%kP3pACp1TZ=*K${Hfd%Gh%LLUCH%9nL37Kru`&?Y6w1?;bPr{0>`M11%gn zcMZQ!#BAdzSqt+d9u0iSW_MW$}=% zHMv0>h2cBZpbuId@%6PLl!RwDHSFdmGj5dZvg!M)*Q2xV6zQWuW?>mLRe*+IFUsz( znFzm7FR<3H0Y-K~`#Vh2ArUK%J|+7AHs5@J?dNrQK7lEtdl&r+8FIjmA7JheE*N|! z7@7NX)7JMjZ{GEpBOeVO+}DmKnKEp)>prHmOM}n)h7ht;>5Ws4itD`KyK|nO< z#^Lm@pSi#oSE#ZRWY8UIFRGgMbRQT#RDP*sMZVMGHuxp~R;lV{4`l4gv-&jf|4g1t zRO3 zpoUQWg#kOuyEwmRHyR;{?j;p@>*Gh?thiLUUs+>MIoL*3)RoItTTtUPj7cM?ehJmu zXc@@IVF!$NBvjI9o%6>D9W|gQI}kPm`9CTRUp-je@Td{0lQ*oOeyKoR%PW<=6{n*v zQr}T6^DqE8LO#a*Vnh68>OdAe*}6iq#hbYc#oQtu@KOg>Ft{cWZ%q|eCbe~gT9L{8 zjMqQmKiK>JYDB=($>Kv3$L3gh%~Mb&%;&8gkUJIJ6GUjy__OEQJM@mNiqFsWZ-HNl zv8tB7rw5L0CX(-12oBTb`R9m$X4zf=nrR<_#Laj=g5V`%bsd_%y@BKQaCoo(NV^0% zM<+bKvNPY*nYj=7Br_RrND6g~wnBqFCU$U{8}%$Q3vJ*D{yB-jI*NC$oBDgWFEj-& z+8kt>QLjAV$oVFS%MYn( zShY_((b<()*a-CDvy6wH4zvArD?K(8JMxHF{Dv;_YT;}wzOT-TwB`ZNi7Nugzjn=o^IY=Agk{`0_Y4_n zQ#`2SZmht{DdT-qXo<+BgZ4d>YK3q~qrS8XaU|WW+ejw6qIvcvbP?6xN4F)?i ztTOO@auI8MyA%O(FJ!fL5+#hQcT>ao+aMn6a9G2G(VFqf&1^YZG~5<;la0gle16;z z3PNVU!fNSbyE9H19q91E5TYA0z;rQ6i+W1Sld1w1?P9~z*wz1^G7}+@6-QzR=W=iJ z=^5SsbkD3Ehr6Fp!*?lUw|g8{QXWZM{c@Q;cR>bL@IEcwCn3oA|F06|VoMrtJh z0A2t9000070RZU$04M+e06|PpNKF6$009p${}B;_Q6x!<#zFaaSq_fr)pHaP(fW-JFuSJ2F6cyzi}IXJ%9w_;aplUG9-RPI zP&gp`Bme*ul>nUqDhL7U06%G%zF311oaq1p(3EEsLh`MX@W3XZde*!@|J$zlmho@+ zei#0K_a6iNZ}x3>-&%j!_pke(`v1K?u>b16|LAgJ?bNyDZ>gn3>WTo=DXa`g4@PDOCDWz^v@#{u00?AYvvDu=R1CD;)sUgwrL)KjxIt{ zvhPK{iWgSGK^k{>a<`<*!wguOM4AT+2r*7hy% zq#4}IHje@DlI^E%s{-CA6uSh5l>cF#E;6FH2;!E^P=5c)13PhYItXUk$-GkhU*YnE zt;VrXNd0BauG{&&f}@KbTumEHw{7XvTi07ylj}h}5XGRLw4&d&Cv0shKku1F z$~&TW`uFt7J{suEFJ%)H11MK>p=OmnCXh=tuxTX7$+GbQK9~WEOm@(oV5#J7X>OSY zWK9aoY)rvUL?gZkDlz#u)ma`9h{3E>*GVNS;qJAHJLx(ZoCOPJ^Q5Q1Kwo;kmVrkb z8w{hH)I4&Lwb>2CuN{{D4yVE#t&LbOW7y0k?aTKLeMKmEA4d}kZN-_vtewZ6B#hzJ z>gp3xB#^iY?qOmGJg1}=6@0jezpGLfgf5=>H+_tBHaB-5^L#c05Tax#q-Ajcm7bHA zhkGBZ+FpMUy}Z*W7ha6YVyAno)H{ek=PekQ!LOinX&CyFGrCmy1cTajqH*JYU}oMO)|`&T9Md?EL4kzy3%>b1EocP?W$^PG`e z$x1IC7puAc3yXP@2eZpr2!ZLqIj=*{!BsQP7s$gKu{K>x(DDdM((b@jf8YrY^$99v zgf4N|+{!A@KN};V9jT-Q!km#Y(EnWZxeNL7H zu|Tj09MC>)+DQUyh8r%za|XzjZrU9!p8VL~^_j{;2dgoI1UH$wILZtT8-%rjQ4d)V zYOiD)8H~D3TVHY}M$NGuU`xqs_a6Fj>~1K!4sg|R0C|!&Q`CE%G`BGIc(vMBHKd>)9g%Pm_=nFS4zC_>HN||S zH<=%fi$ky(8`##*cNS9!WAzt&v0Ajb_T##{99rD)skcAJzy=G4AQXcpiMZP5fYEf~ zA&7rGc2aCrX8C+9fe_?}*VCh+fbvJ*;k+(SxbBd42oJfOji9i)a+1fJ{gRfTbiPC9 zH=d`iJq5YrrlJ*5!7h8!=t0-EhQhe$!W~;)d5l?`R4=ZNp9_eRu5ts|6e*XU=^CH) zN^ko2X&?<{(65n1EzJVE6u@zCVR_TubHe)(&8u4ChR=nsbFDlQzk>^dK0ltb?`xD# zTOhEMFB+8Oq^EX~PY6~IIL{;AUX=>vqyi<=-{ zGQm5$(De9yz^D5|Mmr$7P{bCF3GX5n9)YAe@*M7sn>8cQ@Gw4kH1P?+3vhJmeb?iC zt;p=21LrEv2BD{aD~IDd@fQxT;UKgvm9Gjj6>91$h>Pl;Su+vqcwz@It{GTl95b( znA9KYguQyoFZFxFdN$#M5w_j-Mu9<+NB3ctDETqdxm!<~4(|I>43XMRY<6+zJG2!E z3+YcA|9n)rbIBc~*2+;o)BGT+k-DI%FgCc^g8sOFWw0^}SD~^7K834>V2z7IWjbSG z5TyMmzMx`&0?vv7-BcF`o|x91_@dMfaDmWc_}NlZ9UJ!edkdcbHsfPh z69j9PkrYx??7n?)J!)xU4LlgJTgi{Bgr*=vzQ?e07;QQyQpAl!PETVXrjJCFr=#dJ zH@9o-F+X-+dB}8rD`(M_X)Icx?zIAkYm(xgX5M~Tt~QmUX=E)5p?M!j6UffsdCp{! zaTc0h7|wo08G#y!X}@J*qkYYCBn73d3=8_!L$jDls_Dxf zH(W|fZLE+cTWX-dalMz~J!9(snEm>oJbx=;GS7GRd8=O}6|!WQKPvTWk!>s-t^t zD-Tm*z}AU>K^Rdt!IE6|P4b133A@N$RV4<&BAr=z4j2bo!=$k`eV{)XU1v$LsZ>0; zhVhr0Rj}AR?c4bXJ2KgJx{&mVaNlXh*H$~}aD^ybd8$##ZKv+JSHShB8Z^TUbK*CP zRTl(BI35tYO=@!W*Vzi8*LQ6VWz0z7FG8Q$j90Hwf}9=zsg)Ix^Ahk3iGu)$F0TqNcOVwHAh4AB3nCpTjSAoF4wAY$H_ zd>P*v@xwh=)1c{bGriM=LP|`W7%BJ9mNJdIF9rMR7;y2Gn9yz8kEKJ9@#OgDBk(`y zU%6TMY-p&fo7JX6@X|={LPe-Q35KXCpP_UmMcQco zS_Qhf4p=YRS3;;y0vAgMTZk6+9S}oncV@`%i0ZMG`=JseU>~NA?{^Rw zjV}bR5@Pdje?0x^)2n!}VGpY~-n`P48_{?$NgU)JWpeJ?h@&27`D2yD7^>?$PnX}MFSseE@(JQyu=ewUG`-eSRSpVK7NU-P(j$bqLtR>5 z+ps_uSXsx`3lPX3(X&|-mIys--G4D%p^HA~Q9$7$YD0l0+Gllg(HI|Ms{a-Ezl7GU ze&mBm;mVU?_g~x?`n9WZ=l@`!ohDS~+pwzYK4KGCL2fq3A?VZ<^$~pz*=bJgkUvo= z2MT-8o-E6{dIw`5ElHF~fw9=Bxv@LE@4sTDc-lI=nx&?G^9tb4eO=6Hfgqso#9i z@q3YO|BiY%XqnCdxE=~t#-#;0umczZi}V2dw$IUz`F`x0W#O99fYcKGuaz)*5Z|=l}n8?pdIWLP^{Cth4!ZGAu4KCloBd69C9t-pcs#QHTirC zn%P4aH1!-B{prPE{PV#d4MG?+3kh-Mno*CO;BbkKVmkM*Jki8?C(b#{s~a?1k(e<6 zy9MFebQt(5>pPDxg>dW-e9gXkP)U&yNSC_8<36(`SYXo6O%kFN646|k9AKf-mvstK z12vj(P5cbQyk*Uz=*whfnSzgr7yW#xI77yaoCc*P&rsV9qeXFJYJ)hCfyRUMyceKT z3uDzmZ>qgs6$$K7WlRd99ZCSz`pF9Lg9y>;Vo>yJt^--sB3uA-S8i7DY@My6L^n_T znlr;Z?3d$w9+OL*06+uLXoOMpW%nQnb!slNpifw7U&aJsVgkt>UpQQDcLk2?M#l?? z&2EG5`_4Rfcp5o6O{xwQXO1^&8U;md8>JlJCJg7&Jh*<8nW_)Rw#5<`vxh*i*m=ms zu)$Z;cD7fe#C1mf3IJg2uOa6fk}Fa&poJYb{ETChAY7_tE-T_>`nYk|$UhIyASD4> z3X}5FFx7rp(A{QHqy$_VnwQARG0dVcEt%(wIqEB#_E6gqwG8SM$KFXKmj(=i2A3Ak zb#l9W9YfXz>j%LJCn=1`29E%A|>x&rj1mN%I+pYxuT9>KcUMlFsTLktuDI@v`oFj z_Y~iS$nF$gr=G!<%*Uz2c?^t!gF}^=K1JxeAh@alTPjmEpp*5${)?odj7zzgsHn=y%zrMcn zyP$f-n`z&bUP<*|C{!s+uugw9aSb^NdTB(dtmP)Ktx#t-xwGB(R{fiZ%?lS?kXIfn zozVjWr1Nu6a(l9Lpyda&_PlUJ#wfl$^&K!j@rYf_&trf2yK|Yu_Edc%HGHYfy0?YMHVH4u;lo%YiAggt4t|4s&UW{}x ztO^c+IwBnx|CTo>?ny#ziRNG6N6c2mgn9xCHptQ0{dBEG4c%^n=Fa@lFFfmOtNH%v zEUv{fED^*g{v83N18Tdmbpn-uf7(@o}vSf0mdi3iINyE<;mW>m5!05)SDWI2}4{>TP55yRNT+b zWrf|di}zkpIt(51n}Ba%7QQDX#UI@ zX0Ru=>pitypZ52aPV^ddzZG_F)$eW;B~ zED$%#x73OIn;TIJ$n#FvuS|CWvO+GFF*4t}mL|=U@sW$|iYw7KXI{x4P5#?9s>@IG z^=p^x-+L0Gu=Z)Zt|&`pR-WBa6hGJc#PpWhC7-Lo3SQX0{8Q36g2!PPmgvC7^YLNv z1JJPd$?YeUyjIaYQ_uxVAjg9D{f2ciE<2;4QcN*9LcvZ@r~hpdmrFj^A+Y(V1Gl*_ znI|OyipdnK34G&9`xp}HU{hC`PQ=m~i{SVt%AB3_s+I<6HZFD=>(TO5Q#|{?)QHd@ z`%$hBLmk*aUJF+UD(wRwD9cgPRHG-~^=KKMYO4Pg_`W2VBT-W*l`^2TpC3GY7TJ(9 zE21?P1#F0>@3~x3un0UeP@U5wZ)MRD*x^pRP_w|?zVLN`JQuh40?6LL53K7UoVk%Y z({g2jd)R%P_-_OSF!E3qF|C!I=E4bX#ZWny$T>ddc+=ZqwzSdw1hpAA7l+uaFzrWocO7i;F%@KNLK#wz>{NJ|-t-%J2f;5dD*)nEB$ zpu0Cdl!qanmgBkPk&BmIeQ%Z|XJDKG)pT=h;bULFC)>9s_Nd|5w6auR!#ooVVaEZu zj+$!5_UT;6KZl+EP95@Rjh5_8D#c?a5$SVKT+5(BSPnUcV6=51Mn$&_tjIaABWaWn zkLqkDt#UM!U#Srn&d41siU15lgtAbOUBk|j{8+*B1;Q-{AoiJMl1{yP6Hx7t8*5WA z)L+2XmDHd11*x%;Xlc)osB@I!MkDcF$O@W_3`m2n)qk-h!l;`2W%EWq3DC}PT2Zp4 zDGq{K8Xp}6qP?})@=;=bYLN$N=syB;j*UK_6u+nAU=HRDX)R-wZ9@Rwzg45$jX?UR!l3TCq+*X!Eu+AcV^)&5Wq zK7^8>xy5u@LI(hI>~bLI14Y+F#Il?RZ)!9lKu@?7Nn(q4AXYT!N9Gv6vR@?aT9bN# z^Er3!5U9t?;S04rJ~~`v>PIH^A=C)W;84u5afBURcC$EE>n{^n!<5VMk}6P0{2r1^ z{CL;(30%K&Nf#RXA4YWklo>l3bDQH2=(gQgGaJ@YTNb9}Z%}76id&S_J*Ep6jy+m5 z)FFMCD77ua#J}kP3T%xK5>tj6?Vsi!zTCu0>DK9?lZe)4!wELL(XDr(8}!txig3MR z_-5S0%_oLX3}WwvL{nL$h;ynM31K~dBk$KnXA_%fW+D3LG+6%$-PdQ`3fJX#Gt(sL zmz#m(JqBY(CBkHsy67Nta-W0b>WU4td2^MCYdWYwN@iC=O7kZ()`wo4Mg{1PD7Ov? zem1n|nLPO6h!_@;qkzQtf&O`6B44#XVzr$<2_U%@?|k-3S=(9&@Q?vcN$+Uujmclr zm1uFh(1*)6hIS)?>J40s1kp#j|3ux8B}PMlK`p=^Uw9xNJ_ZJ+dhiTD%uO3Vge19J zu3*5G@4cp7WxJ4oNc6`G@LJ&ET)k&j5WGrxU!=Hs-O(a(Q!dWyYrV-&|<1(J+E6cFdjv3q(&Hxw#z`XLUG>i3w|ufF<0B+lBG-K1^tRZu9PUHFO0t? zG=Zweyi+R@uev_Y`aEl#xpXWR7(q7%swz~;8id!TNScp!$I(qU0FI#ta5Z$ZI56)9 z@ag(Pb8wG<@}ra8F66%Xh2n%)a$9@&2@I`L8m1iE)q@Q!v6870qkJO^MOux$2VGQTI%wgd07KTj{3sU%bbVW9^6BR$EY%KPRtQU}{A|S)1)~UB zBCjfe;qU#P#rU#;VuNgpTH{(VBErg(arV4tR8s(StRLCgjmd)?%aR1tbd)E7_26MN z_C>d4Zko8qi|PTYk*j>&8;I+bf6c$DBt1W^&+S;uZ(Q=wuJ*8Nci%CVYrRUYockJE zB-Tw<*zaZLUu1`|&?ZpF1{|V5B#F}}6sp<=HuAh;8nmAbvMS~D*~IPXdl@GgfD$u~ zOW0!=11Nb`p9fJ;n7|u!K;idZ@x(}@U;VOVDbU3XDxd?Ww4T~BLkN*=t(v)2?TQCi zjM*nMm`;S_aFxcz>%@qrHF>KWCq+J~5VWRAX2GyYSsNQA4b~n;UqnwutEy_Wr6rvD!Bn>V0NB3mW{)>N2a88uQ*<;(#O2Y`>9!if;U zhGA4tJLD|^=>@p+$>3r)=oz-nQ=b!ZCWzt=HxmaIJOnN9qV71aX$zs3dvS)`@y`jm z%?~!QgkjCR#&tfcY3r?3rHU4)=EBtr=f;QqXz$33fro#Pr9 z9lnPOe7nDk__>eTGv0QmaHR^$v}@7DD*ZV8qkZU0@S6o;v3-X{Uv&zLH?HNE&|ylR zl@>0D=fPJZ^p!E33Fh?UQnkpg0z%Bedot1>b<@oJe5FMV;B}!ok#T0T-fBJDnZ$1z z?4(Qt0pP~~Nc6`65Iswlt=rAnz(Ero1cqf}G-c_)@4cVj73?u}6$yjBtB!YcZH^2Y z`!q7fWf^|j8){mP%-df^(9~nounqR~LuQUehgg`~^%%Era=&2^C;r3w;1f z9rN;J#IDK|+r|wdv7h}HW%kzzJKlLcP1Bu)>Pez#e%W~R?>wdwW|MjFx5r#rA&d;? z^WhjrgfdL)6?l=ilKdH17P34M)V$=$&wh~%PQJ`%^I@xxPtZ+$fBd8f-%luJLeN6o zSW>D%k<6iN7%1J*=TQ=B%@H_77+(-Rc=syf59v}NM%U(3x_t`*c!wqM5I|L7&mcx- zX0LFx(Jhc(VXjX$)she$Fjv$wZ`M+mXP1B;>*#OtT&86AeP{X{`>5`oX z?Wx7^$ma+bTStt{iU-}93RGvg!KS0QZ%EkFTf*r{&b|sP?lS-lDA0bIhq)^rx62v2jnjzQZDg*C5xN zIOvk2VIFsAIhxwJjT|>R{5Kv;|K0$kvCo3(M7Q5u0jo7wD*G>{7knifY=0V2I-@~| z=0ueaLgKF3jjvtr3SP@_|JDM8u46++z@*cmi^*aVHI&MhyCi(=2oMbrz>gT~01^TX zAX$OeZyq~d=`Q_PNpO1!r6MV)pVJbb7+-KK^!p)Xm|ij4%$(I`-r=bB-a;6zc6Kja zNwupt+lAgD1(^Y)n+{Su&X20DBsbmUlkEuHKo+y-oE=>u)5g6-Y$sH**^#dch?+JO z$Imd4U>G)pI4y)KF|Ei_7%!oq*w7nW9^XTG)6F%~A)4JhY<2V3i|l*Mn9#93($Jar zd4V(h^A;%Z@+M|3IVp_;^4p;f6O+t@?8Mzvh<&)PaON_{c+3aE;y@Ssa z=FLcwrfW@V$Wi=B-8rH=tV^c+Zoene8iw&sTP#Kd%6Cp^ncnY&>L8U?&^*vWR%}c( zteV1Z{XaH^;7+87A_7tsPm4z-*2Q z$a*evC9x1h_z;E={L2QV7Q^lL=wO@H6iT@RpvrQ5eXInGnF`ybFEC44v54Gwi)4G@+71ILN_^&c!?jpfZTMUXV^HPar4j zoW5t<1{)BAg9Wr8R;9+{>J`j!cC(tV=81oBVpGAfbDm8Y2&FAKG0n~}c5`@pz(xVP z9>dqI%DWRv^`IE&gr-1^DV{a$p+rEM$q>E`=V$^TFv}5N=CE#WuLWE%(LGhSd{+f! z-kdF#2J+Vt(Og(T0y-<*6DARlhv%DMFR|v6Ax;lQjr0t$HN(-O!n~k!Ix2v@+t=?7 zyqtU+$GKa0-~fpUey(cu_TQH(d5V^DnQNv4d64iRD%$3Ao5`bx-WCS{#MrmS0sIVy zZH*S!t+OcD#VoJ8V-V5S#VMc?n4%K2RV;lVcRkYwtZgzB_&_U}O-??s(R&W$Ji?qOb}A?#lnuEusz;1|NT25UYTlv}N{uti;3px{x5{ctcqS2j z0w5htjqPJR-L{-HJ1}5)h)iTR%qesvb1#~{j8DnBe<2N6g9c`PoUEumog3p$D@RQ+ zN0!>fExDUa(AYn*EYVvk2Hxq;?+UwRwPsM5x$CuQFg+gmmNZ0+>Gie@JEv3`H?Xy% zoqD2VJ)^O_S8(_k0000000#j8?*ITO0000%Oi)Nl000014>11`5kf&5 zNy<4m|1Q_TGczWl|3m{8)1)PS5XT}+NNt9R-y%|ROnkAz5Ddq_au_BDWRD1`%`iC+ zKXpy~b&jbX2#4mc1y)cvAUq`i0F;*iodGHc0q_7nZJfSXg9(-I00P*QP?^KmD#-vj zRjt-UwSNBozaRbW)c@E2Q}sXMAFbXs{)hKp`h3>0_u4Jqy=i}Q-mmW8?D@xk#q zvw?75{VzVhtn`ED&wEGoJuQ7AyX*e-|C{%t-T(e)T!lZbJwKnj><1j*z+z<1`ZA1C zW8~0uuAgY{SD84EG#C1E+I-V^kWEiXmE^M&O=5UT+I4I?Kw=By#Br{FXvKC!4zW0F z-qDBPH)DjoCxpGL>ATXOZHT+Q<^NNE_>rOODnS}hS(tC+y;np;7hun*9+yL# z!Pv!P)2NC1WRK8RH;5X~JDHTrzI@}?4T90O$X>4HN~eoTRm;yLM?*K~{Qb;LW!mM= z**Rf@M9}8LdJ6+%gaFcp3eV;5#>Gw2#)hBxGa=CgY*N_2LFZ|4eeGqYBcV1(gE4 z5?;<)o@C(9oXdbM$3StjsBXKWUd_IP9QpQU!Je+FO(_y`1%M40?fAo+_fN`=auU;8Z#k`g|kpshMLg(o{NwJ-!7y0`|Z*KnQLf> zWR|qA`*ZP;_C?WDs21sqtWr~EuoVRyH{*v$&JJ0Szu+Mx2OhcggNR&<$wn2@OP+D9 zQO5H#ESyVwV8dEqQ2)vMW>bBO=C;gsikO~Yx#F_MHJB5gWP1esUYO0>&C!Yg)P}0@?IpSZdoK z%1fww_lp_ddtM}pn3&RF3x*Ro~kSs~{zqX4S`s_8ofB*pgNw+(A zGbB0XkVgO)8IB9Jd+UKEeXX3bn)QRp1Vm7+75b z7DrneP`#6y1YjJV1f|s6erTMbw9QwMdZj&;GC#3S@_ywNe;~_ol6N*3DKdeCV)Wd1H7l2wGID&XT?K@XV*$X78zT)c&F@rqm))Wf!#dfK-YYWpd~fu5DFeK zoPDK|X1%vO!xbdDHbiDN0>pdL?L&$|g_5L?)h-A6I-e(}WZ>5F47bW}`T7F>#FiKj zi$)tDuT)pXA4*aB7~)8!jV`-k%eOOkLn(=3=jo0m)}LHSlnK5MG={ioodo=tXhZ2_ zchV_!d!&F*&NcKNv+Q3Ahlv4(7+=!Z_QW8tkye||w5=y!6Pc%4bbUJ%-4+MvG7muSGdXPu$Mi%)i>B|a-H5z%9Fsz| z!ZKTy58vQTvzb6RhR+Z&!H5KFelC?R#+OFg8L-FpPAM7=`b5bcrV9`G-iqRs)1pv5 zizz_wIRS)b+Vewj;ff|u>DqwlpT)kwKnoa^h_IM}V5cmW7U3-Hf+ha45*IeFIuy3N zlANIumwN%gzR#z(wqSvG3`*=;2{;=|-N#KshqE`NlbdE1;b||W3}E}<9A*ifH@!H7 znBJ$b=kENEDn*(0p?Na2S~`d0Cm%f~SlQY*Zx6~a>n~L+F-nv5{G+!HJu!pmUSF!& ze7%dat9Zp5^Zk? zTsG#251+-iZIFhaYh0GkQY?Yka!kjKxK2j;dqQuA=8nGlo*8;mV%^*cWQc}M@i5Y> zq(xxbH}Kh9qMGB5!kvij)f1KZkML@=oyF<2g59;Sbi03_`C5|Vc%xSQAci*`)Kv!$ z@fV#4%}0)rrY!DssU&t!Lm*r=`eNA@>8ek)pbQQA%s;Bo7NjWEPXAj~cZ zjKyTG_%XJ#(sn;iVl@rqX&Xs&SkqPc(^T7gU7`Qvj`3UJPY{t^9hxVUAd-K$jjGR1 zaOTWQ-BA0aTMr%79R)KYC1o`KE^QUzb0n*f@qf~&IP}^A7$8>C%}dWx{rQoZ;iJuO zPdswn>E%7PFt;#HB0v<{u({fJyGtodHCA&Xfk5%B;*-A-1%vu@oH^{*xfV#wWhcuI zf)Un=6vJ#>&w2o%23AM`n_k=P<*!g;CBJYy8(T{R)-(2>OusKDW`_MJsmsFdR9x8)$< z*Cw*;GlKh<)S|=QwPemz%!IH?F4vX^&qXb-5B47C)&-_IN%0*Aq_ybu+ zJ_3k`ZnJ)jxKE*~?CWRG_SmPN-V@n`-k2Q(JnvHp*(mBZyZZCzV1mzmC5vVBq28iSDDeZ9#{*Qmu`b~G+ zZqD0!1KJzcBvtuIhEtd=7(^QJ^<=UDN4Y$=tuWpR%H458&-+4{-pHmb=4uNU|8ju@ z1MVR$6aw^gh_tc{H*cf^3RuSwm{+dhaIn`h;kU4w(o*ujOq!0OL9GBw5O$!hi-gLR zE{Kdqeh|Ady?~g}BJ|+Ux%+}<(gHJBTUBI!O-Fo=g@lsCqdcu~rpgpE%#R)L*XT^0 zW0NRAb4J&;ckkM^ZQHhO+qP}nwr%^aZ6h~ts*?PI`7$-t(|!6p=>{hmXg`62TQxQd z?xU+Mu270w7k}WJ_*BIU?-*gKU)xx7u-vyT%)Gm9P!^M{!eBU~(FH$&{!TMP0*meN zZ%n{FNb3)_2C=ya2F5-)bVoS#F##C1JDG%m-^NoUP#R5bqiQiTuvM+%9Q1t58ed*d zH>wt>FrDDYEG7PKg+;r8fjfOqP|+|_GojW- zC9Htnv^!xzv>|>;uo>eV&q(Qha{OuN-9gmhczRmrq&IvCj-dY}BO-C@BG@^P5k426kZ;a{d= zNf6thzGqbgb|Qh)BM45`4kq7fT1=_5g)*Ua>R*5_tfmKxH2h3gqT>8%ve&ce^@s`6 z98{s1j?lLKgu~%#clBE*z|2eC*eTae+jKbZr=JoQca11t$f>#G7ok38Q9k%D$OLQ| zxhV~E3JPvFcj|9Hl!x41&fgJ%a!%q?#;oj_29sM=h>GB97$-&}vs=bFdzp?M5HK0s z`Gu$byooz!D06SX8bM4AP@_K)x;DnQ{Ul&(N6#ad(?Lgr&GK?4>ywbD^#6Ucgw4*6 zBPLaGYELUBX`UvS7&Ag~hxr1PRwH|I?u88Amfd^mWU|hc-hA zo`}kW(Q~UN2XSFdL4us7sDoVXa0qm-<8%K+@Uu;?ClTLEZm8Cn46YKs0WK&cu?O7k=j=UFk)^*xoNdYiDb92+#2gG85H z+QUsAkJdBO=vW3`TP+}lyy(8J&pspgdnrK>7csY%rq^lg3SwzW=ITq!$Pucun~$=~ zf2cl*VEZ52NJ~yHdJ6gzwF;cKmA31!cPODU*lD(wl9*cX5bz^T9fiQ>iM;)cYzo{& zv}Fd7b72o{l`tg<;@v_RP*4rYAhH6~XBA%vA>+Eza!nKquajAL;t$ zB#o5ej8qNB`^2|7@Y6`;88A=fOsqblMj{Y;yAt4q#5_JSsLL)fhVnj@I5 zq)zE)Fv0tUp0mS3uSu1Vh|N31_^sQK&PqupA3w9Gf1MIurAX#BJskIJ%s%FNXle8& z$AIZkThA(K0y{f*90yZAISM}nnqlNYX*Kzqmk(_f{teQmV^hA|EHosmEg3q&&->=u@P45$csy?>@GC~UoO#YTJFxWCp<@&(U~&+m+*0aFFtr|%PJepoi3qaN+UGJwBr`<__M zwyF+~LuPgr1gI7=B_CKk*fW>|uP48>0!%{KaB7!x&Idt)*)JImQGQuk)Bire>2+jc z$fm^I`Qt9hi98mr;pnPz_^BHJd*zvs!y&%2?jtchT`SbRB=@QcK(168z214XJr`14 zNb?1#I|~?^V(9&jgE^w=5K<^Ds7$4j#z&2hvTVqvM)pPcHiyyVf^{f}~BT_<>v4u{;UY=%;+y*Rgt1B_CBmqifhGeaXSBR`Qg1s%4vLVKn7^%4<- zBjkaHTAWVXikF^{_h(^rbzWAYYn+t=KR~FiMyrzTW;%0 zL92N%5NFnt4(ue7Gf74UaetjlUsiu(zZLVjs3@`g?m` zSkyce)>C&d0LL>%j3*=jtclS z)rZ{0rx9zw{d^94sK8aoZ2?2m6BFF?qUR@%5}jjE>THPq9ltYDu*ydEVyb8m)>iD< zzEvgn({tnec7(D5xk+gu#oXgJuFKQ=31lv9U$Ej-z{Cg~MB6Gfrl_?UBerJ;sTh3r z?IXI}`6Kg(0p(Q$x?kyYFyOS|R~-9v=pb>YxoORFSG%tdvowdu#B)Sj8j#woZO~a( z?}aFM4zEHi(*A&4AE9oFdHvGAys0pk@yc+BqUEy)v>m}E9jX;@m(1RHWD3_@dt{#N zy3K5%yV|+m{SDn!;?22Ksw@8u)|WO?vqzFSWTUr3m#AVGC0i5+Oak71G$=200-&Gt z`o>U36ybwj<|k!DR}!5*!Bvfc6d&v0HB11vIjDq!ps*7K^%_(Oc4NpL__(v6XHeU3 zKD=GOBpTI~Y@A#|lYPyoxA&Rez#?C(VtlBzdFxH&X-djuGsI28jyBDH?6K13KKSolc28i@!xoYc?7ukWc&4d zm*9)D>a|6y_yRW}JT#>9aCO>&hn1?Fb3M^%tt17{>2UnEki~U!`?7lot7~8_(Yis{ zp~`=r1ZYgM*;j~$w!pCRPCv;KzObIgS!;e-YZzul^%Q(2(by0YMhyMl@W3JooKNUk zdUjAn(6NIEyXfl79ogI$Jj6Uf9X_RH>V*E$=vx7kU=-3yWRj9v(s)pVbjUqjPZ@*a zpC_*p_*`-!Se8+ld3!S>khwm=f$eJSi3TPg?hy{DMHxk@q!Loe{mS+Ai~w%gRBtkC zKF)^y?WH}QiTt4rtWSe=WGF$PZ=fGDU|?3l5Xhr}rND_fuel`__5Q~(zJwFBCJbUr zK!`@01g*401D<&OavzCmH<3!<6>qdxD53??f@mBRhhvXHG40=AK@Z5n3K`u&1xM;x z`zG5}6BYEx8FHv-`%eLy01dV56H#k((pm0S*Uy&YKz}}KsK*?t{HI;?<8Eyj&CB_N zBOw*)^TKZwxAK2J&q53abvh^e^g%&Wrr7p+>ww#9D#r^4TPZ71p4Ok!0o0<|r(UGP zHC;F(MC-bv=`~}#;|XxdTXm{w&A|ZsdU(qbWrqB~WyC}y@X@t;$Tc^9BQH~-pV!nR z?+RRJ@$(>86H}WbL{sIjI29cMw-v$P#Bh|A)}$+YIjo^OEnH3?^9TQywMQ3VLwqx} zFp2!;sZr92%+gnsZ$C<_!t9CGKL=XiGxdi#(38XH9nob`JuZf8n)=5}?&RYFzEd?5 zWR>{X+OgFA%>|eE`RYzsu5bAvJBS<66!YvV*5d^cxnxR-z+5!tz~0abh#hF?C+Far zTRksHp4WN;Y;;3t91xt(BB}IjYO+D7GkxWdf^-~jMrdY($jb5OF$e1wfY;oy7TUFZ zc9+`MOd2dl$_np){ig~2P&z_^6x9*j%vG3iv(}|K3ZY}t9}?O?TIwAsqo-KWHEYjM z?Qtfijq48t3?x9!$K4sh7v_vW%?mL|tENHS%&lM6BR+{YH?sT#ZA*iBn4RJQAb7-^ zL9^Xe(#cM&K(!KUPz{tLSA|aa^euww)ogOr8J( z>nPtTkb6=JAgWu=OmwR+B)3JnGo9I{e;$9w72~(Dqa)PGWcT1a&g+)si&;ab3U>) zh`rsgD|83$)z1f7(!6V&&px#k(DfKbOScZ6awb{Exo+l$#JE}nDxrK0Ak}Pe7Zal0 zX)sw!L7PI}1(f0yAf&TDtT-acU+d&Z7A+A&_UnFyp@5lFD&z)X48TRtOHqWF%cEeu zvrtL*Mf1XabH*u1G($Qy?&TWT<}Y8qy(}Q+lNX8JyZA{_vBTo_LA?!iz|3#cX^)yg zlH(VggFnVsZLvEtU1^h1z6EiX&R~!0)g;)!LvpbZpFC&GDn938{?0 z6KBEpuMbHT-2ZH*VKr?h#{A|OX@{@Xp$Rv2P*CJ1VdTLiuCSMbGcmTkz4%;G2pDY~ zgRCFmp#0UrN|`4VAVO#9F^IDy`RMI4Te^vxMdLmx73RbhLbOK6LO#W3voP2PM0|mzmc&iW|utW%RzKS(b z)KyKN2SRsv?|mXba)|M~XxwXR|7L>(J9T&)C43g8v2GAUfp3(rnetXNAzL4@kJkEb zq|F3xBgk44x1tcJ8#su)Qk(32`8|W9P|dTV2YG`xV+xAG#|33FGl{NwsA)p2$8!d6 zL!*5Sh=RBrIkS43Xccw91wmAA3l`Bjk25(7CU?fxOC`6cd4<^Nbn{OHKMPE+bS(xQ zJ>-wgh-5)y6H;oycU$N9i5x!M#chtBo)lyGtvc@9raTb26xq24bDp7V`VI4CaP=vV zef$>J8%kZEp)(l3a>FbHitb$e%{MFcFDRav4H^NN!8ly&{bd{MxK_UU*A9;O;m((7 zqK3fkeM!o~xcRKv2#b6qbe*LHIL@gMAvA41BbxX#Ncn&;SZA zW@XDr8=$5w^L#tI0kVD|3APvW&x+r+>5!Lze8360w(@DZvfw^Q{ zps|dEJ84#oO}SaR(sc?4yO5QvmHcM@ij}`%;BRQm`-ZnNwGZ8-8H17#%dn_OeF9HqaLfEzT^O- zb3%6Z9w8Io^15tw7yeFBfjqUa(p!J%6}co4sfIgaUt|jRUCL>n42~8FXTWoE^T@*~ zjZUIY!6e(ZICeGODxsEk#vyYoA_L%g-_e9;b|K4-9T1VuK#vV8|KCS4it!-SN12P4 zR$vw*hx}vrH(8{Do-afC)8tn34w5QZ8S$F;vhw43zd3ubm?o4dSc2A_>#R$%T&`sx zCz%GC#ub;BY|OTeEbe_KlHGms5Xl`;(*S_BR9~%=I2}RIyQ?ej2Dz`ghj;{5B1Mr< zu@Q>MpXR|#MVDgTolI|VL6kG$Gtt0J2*)!T_H;_su*9#f13WkhO;}O5(4o4Gs-~N1 zPZ<}21^+tKiz`b9UkZnXvagf*bN7^LP>z}9>KUaunk4NLCa)qy4ThP`s7(JVmDFU+ zbb_QurW=w_V==a)=DTu_ogUB#Mve(?YghL)nru25&TTW(u^fG|Ot=PJ%r<2n)yOAw z3pm}d2Z>z}j^F+g?so6vq+>_%pk*H)rzlK78Nd?y24>kS4h9aJ$J)Es9nK>V?pu%m zc?7qtKQ_?*?OGjqSvb2{_8SPMqxZt($#FmQOMfKm?Ckl^Y4zcoN8sw;Zn^~#u_&9f z9voPRisyZGL7IxVI!07$`@(;^G0glnlw)3%zowH?BrQ#ed#F{)^m zZ2#&+r0_+Oc$Z*sWm6NhU*FuJ4%}&XV# znPgj0QvYeGR`W;CZ_m(zETGp#=T>giy{db398QC>~>Atd1MI|o@~(R0d!GSIaFTn4myKVgNma+fWh+8x5PYQ zIR${ri)~ls*R)NUyusi~k~`~zFew9GKUtSG^6!=F>Dwo5AhQmurX?U}U$mdw)V`Jv zu^s`+ZKUpcUdE|Qixk|Nzg=54pxM&8ebY!RVb}h-vBS;oU_DnV$U%o9mx=4S__W4$ zL=5>NGT}dfQXRz%Jf6CC#)Zd2i9|O8ma+dfO%P=1E@fVMU|FE&s!8`$&%>)-MPQ>W7xf%bm~evj*)1fbsP zQx@}IVzO-3qb;-!dl?3$QLlvBt`C3aGw7rX*pnHJds9GFdYqh((~z==)mX^T^msrS zFlcA4KoX1F`MyOgD4sE&A>Y&(r*A_@1$qA`WE%0w+z(OzlJ`+l7PWs;5A$NMg5I%K zYk|_&mPsUp9Se#Mrk`x!bm{efIt`Ig;<4QJwn`wRDss?bh~B-Yo8KUc7J4$6K)~1j zX9Q*IG~N#A-s(w!y?Jq8qgAJd*8Xtq^|=0`#j9sh z3N%g9N#09RQzN1U1hkS}cPvG*i@vBg?QeLs@c$33wMzQ`{8*3wM{7y_FRk?-Ki2Ah z{8%p-x=jBf1Hbe9Ir)a^=nbvJrvq^jheF*jx&RTI@NpUrK@CUhNk~iumdf6sN9b3a zhqMjgoR*ka3GS%=wrZJQP}WYz zw=BM_zsR3u(Z5ALTR*pK-F7c&ZgtvwD{g(CWS_n^zmMGCyXpJdsK0pgewW|So}hc^ zUwJZe{~89roxjK5SFZsV!Fkv;QGkYy{eXS5HyPyGOwhPZGB2l zmoeZdUJ`Nd7#C6;|L(MfwPpeer_*Fs$AaJc)>$veXGGm4IV474K;9I$-BH%xXyyH- zx9C?T#lbe>GrY_OSI^8+Ohyx?F>IgHQ8P+yODxqDNM781UHctl$HT)T($?R040 zX3L-N*nudY=yg(pr=Uaa7uPW^d=s~m9+cjRX3=5)V=fUrXrK$TJ}rZh%5(!p&m~S9vwwGM|^>q ze$dk~%u86H9zCeu@<_#{#QjNR#N=lK2O>6{+sEV%|JHgjAye~;#021)umzC!Bto!s zEl0|@;;yMvNsQCdm$@`9WK4(3r7u9=(9-q|K-rQ|c%^=^KCe&>DPz{MVg+rm(tnTm znaCVmBc-rJ0#h@=MUD)NRp1%GTFWN9dR^7y8VR3FTW{E_m9b**_N`lQp$F@LCe z6|5UX*n5O~IdPwF_4l6(@?|1?Kyeu#CPf-Tw3_7p^Iuprk|L-8@8yRQWv1b$VXo9QZp$F{#71 zhb|UUb&(#;sd=XAY%N1+%j8e$1=d^iUFXYeB;rs+Z1Rc|Ku4{FOJFQr0`~US@Ge(=%Aq5w63iKuI%7>PV3v_A2l?k_fvlNH{K8HXQXocAOr0KSD=L$Y% z4C|1pg1%y-v0k#Efbf;g#y~eZIbyoRW`&9+@=!)vn&NpQbuP&xRgD;zHO*m!KVz;( ztv!`gCiXUY9IG4uA1<{|Ztj!ta1_OKsV0~PJ6CqmFjZ+4;oua!j+<3}J$?xU`EjuK zoULjET#W-rQKGSBEqiKx!Hh*ked%-(X~#M1=!U#pGogAy$W6hJxg;sV4*x z_4pA}>&>#a@2%x6OfxNb?58pZ>wx8R!ipd@OL{$s#1!+%T;(Q91gUE}ZEoLM>6R@tv!IMxq3m}z*qMmtZZb_euM(p6wLttC$+m{1#j3xh!b8|TWT(du?a-9QSyuEA%1e3_E-!VEwJXV?QME2a1;so)DCq;Sb zkY?pY!j&~Y2(A@Q`A1!xj&Az)shi^ed5KiK|GHDW~)Foh4*>nCAzc4@@ zBjMh$&4Y#dluy!~qS%3O{cf0AyCoO}{Vu<=~Yp^o2==%uCg|({E2BSAxE17XD4p5S!gavS4F)X5a|{7*DqFFgU+JhoV1&vd zjxLuh_xU*M*95JBjR>W*{F?NSyt4aA>rB1L(&-8$45j+|MI_YU*b+)GCeE4oN$xk& zyR~si!8_p;bH8f}K`98cyryH4Q$FPTGsgdCvAKf9?QzG+o(e z95x|YHr$5a(HeciCkHVweNHhI@B{L>ctWZ=>X>Acev1Ym3P0wshDbzZ63=m|DvRU= zMAlBHS(P12w^l{Y)H8&Rt?e0neD*&c4AxUDA`c8vB3OGQW<&xMmmFrB1rA0;bS z=b@%vgg}UiPZ+Fl2NI=I>U;JRhw{>d20BH~6gprWq`GX>u`T93MxDrsksgp>*;%Ze zUF}oEP3T0o^j)Xa)~ zxKk-nY30_*w0*QgbbJ(~Tga3uI6>q0q*X7U%V!*fA)7Sb+h;oporc&0 zd;w%amt*#E3dhbKD+D_H(?Qm~Dei8!0>rvk#diq9PU`}hPw-J80@i_bbAe4?xFBBn zN9i23LI(htiXy6`cE%E`?JtBeA!?$6?Ff*`)f*yDO(_&4a~^hSR7!<>c&q;$EX zS^c)(OajViw&vCyqd~x|9;_z(o17V(nF<#YpBpxb=ak$vD44^KA)=?t!*T-+=dyo( zH+~~?m6qj%Y5r(nmjrVSAlu@%xXlN_hsYN3iSz#NuMWLO|| z0}+N~rwr3THP-Hwoz@=3Rgz9sX%s#6zrnn2q17Iz4mCm?;EYBg-XDRm+k6csNXVm^ zH1dr!;GTS7eu%Mf|j@a}2swZE2>-l%VQdb^f zp;!AuphpRae$|>9*|cH0;>8hPL(90n2YLZ5-0pTftQ)_+*MWIQJL8LhjcPldMIZ75 zs{y32?#GHkD(5xUPwL6mpv!^R6Plgtw`g2}=AGLS2WUggyb>H773?1>#-1H9IS|xm zO{+gdoH|a|QnEZPQr`%`8k)-SqT?e($rpv|kAWY6FI0+OYu+(ZR;TIB>xdG$-o7kTgLvt5;t@B-%@D&y> zO*@{$zuaiY;1mtC-$o$oLag|~g5Y3hnETS7{P40~mhPD%5e?r|`bi;w!31>N4kTsZ zZbns}my6j1BY(@<$54tTEeGBTaD_*s zrF|Ya{JIVQkT_bjoSJfRO}i4jo#XYB49QtH5lHN{VY>&+gCm26rWp!k%}>tGS|pn{ zW?8!w2x5>HMVYKK70;#0ggJJOb><+m2so zV~%m3emzsc|D-y?T-0kwBU3>4P?-7)3AW)OQ=LISmgYg&6r@369uV4o1rVvr z;IavRf@*3VJ(krL?8N;Af!Ek27JF{_WZglGz{1SJU%({tTuBb=I#bl*jGw=vua$2*GWqK=e!h zO6gv=(i#k(yauq{41mz9Os7Ea*K=dL!G(1?-4qTXgdZxV-7wvz1eS?zuTK@#88om~ zjEnL{B*;u9&#F*Qn(ZgR30^#xWUckM=KF=ZP#v3hWde*t$DUc4Ntji`B$u#PXhBCm zKkfj&LVZ=(^S$+N^_Tb89OM zf~CT6OUreH1;~WA_UTCUd!IGe)i<73ed{eej!3%eMehjmiofW0`Jndv77Bz@gHyAO zRVFMiUrqy^*UCSeEEq_?@dJqJCd`6k4i!3ps?8R z-b!2RI=Lnb%!_}~s-&FKkGjL4{Rq)xrK~bhR(E983LLiVTOGKsBpCd;h?gJY19*rO zfVk|eUUvha= zvKSGdr-Ot5J*LTn;9eLgycB;20-GxCdn} zu0_zx8d+}Vhzmio{Qd;Dt8R{|OG4d!(d|u@0Z)@V^=TeGv%(C6QHTEfm!{U%TZ3iN zBM6YsngxJbQdxlX&eUFH9tGqkz2NF_x?P@{sbjo;OGH|W9pGw)>uxK3qL(`Yu^Y(J zWSTV5fETvRmSUz=OPpwyUsQ%Qf#9{m#lsh5r{m|bew7VmhziRy}K<#R1cl z9ky%mln;BMA-WS%GStrlIS&WP$!`i0EMRDa2~kRlEt+$ii^GbEHNS;&f(F(8oHr<% zL%;h^6?LL2gA6adK4|&Uc??k4ja+|=CzgA~#k7tsrvG|cXXQ}(xDa9c{Be9HXbyfP zZABT#bH-!;8Act$B<4`YedIW5Rm61_fUqC!t}j{NZB+kM&`3*s1eq@8Z%&6Kmx@s#z5V$wN&Tze%odW#D#<@=6Z+{-%h zlap!5SPp#^3bbZ$Y^=LAq+$Td<7Wii&jicmJgw^6Mv%}m=Wg)o&=<*mu<^aRmASJ; zBR8N1tz>>VIpJ(_D2_;aGtdW!`k_}=yNz&oT!ZaNx?Sz6P2sO zWYfhnHV-CaKwDYrDlSw36&3SpA$f#oaNy=@T`O>AOX+OSK;UN@p1PN5qpoWhvt>Wz z-JzUNPrU8*DMTMiEN5veTYD#@Vt@QuA!%yEE%7!(yeN%T(*P46Mis;I>>{w-1rUK{ zK!GQ`c?~7pSA)?>Ak-J?iLM?1>`WzCr1cOxV+))J5JrIlz;H7TZ%q; zs?6s-E{S>o(tF${x6iSkcMuC4`B)`e*4f+X4pmj|tf~(J#0yM1RS_gW7<+9THLK3_ z%5)3UJ`B!*0b6z}U9)2Q+lzZ`2r;X*bB4vR1PBd9n;l&DV?Gf+L=vsqC3fUqtb!;N z`DU6|g#G2qSs9^sSK(JBOSolffK_mQ5F5zXzK7$AU_0e6zyXHg#Ik||c#+rev#EF! zC?{bTKP=_3KT?{9m96*rVSBlicgU7X5U_go&BP+@ea)3 z0w7&KBgbY2l%<)vqIzvZ>jcY$U&br-$98C;It*yOLVXXj_-oeHm6j+&MDq+KTW@|v zZF7Ail8?E2hVtlE{ir^^)6uB|U7rX+9WqHJOb%PE-WMnzyKv%){@Jp-JdbHF^%tt@JD@pElFc5U0K2TYc^0uDlmUI%xPG1a;O&fFC- zW|dRq1G%hETkHeaWt1>f^b6+qbg!f>G;M~pnwKbF&K8&wfo@v>koIQ#AS17WfUL6P zC(IrO(Ni~#l1qtQ^FG3Tn(^8{f?nK}pl3E2g@Q{sS}ihK!yQbg_rt&aBq~b}`wP5s zaJ@5#=X_~&rOjj!l^U?e`|W4zlDJ}i{+`|g&b+~n)?mJy)M={zD*!R@Amj(3%xtcM zz*qgdsne43j)@a_YcULS9EXg4GkTBk!`2qcb3j&+K8PciY8=K=N>pnlpdgb0JtUjS zwN<(lDnw<1uE)FSMjD^NB|$(g?Z~Uyjwr*wVOUnij?a-7Sf@v0Gi0(#L4m-*3?F zsvADNdc85*kIu?wyu4fG6Y9BJ`SFBzaAP8DzZkvuFtLpj8mpctnM=AMy$^V7cTPg5q3D=75aiJD>lgx=I(^C!EG290(j%&iuh(s$4Q z#ZnxNy$N(4f9ULS!GMr*K9_e#$s{UBvr$2dO^zC(5}Sr;iRWL2^QkDNF9bbfH>$8h zFTXGN3_=tGH)qmj-EWYqD?0v=CorE5n=KY+dHG%j;XFjN^(q+Xhk%L+n<{?^!-tXp znwpVJ+?7^rwn0Uf8gw*?48B7P_B}RbDAQ8E&G)csQdYKbV72dyb0@@ECuIXk__Zjy23&*2O0a4$onvozy zke5BT6DFloR6iD={{o?pZ5nfv+v9DJM=Z^7T2|{(;xAcq0(Q_b9vZ(Zf^P?+o*7s! z6*(G~K+7B*BTQg!P8{0#aS+9yy1$}ESTc2so_oPjNNr3!D6FEswUXon^bVZ#;cKbo zP~Q%y2#llT>V|N zQ^`JotSY;z@khi_uGVimcJDN-;Z;O{kqt>oUj^C{?aF>uXcG9)z%(kbR&+I}Odv^& zvMni^u9uT7p3TVHUTv~>869~bMyA=%)ugi{pxJ4gCfZbiGCmKwhGae z`@t>rSwdCQ^dNxnDW>!zlV=P@g@hajJ%u|PfidME~;;|F_|tI@!)2LIjTqVP*4z)`=^{? znj9O2p=XAhp5xM+Y8itnSm|pl*BRO2R1=X~N)dj#;Shc~-C3Pm@YWT;bBP>8uC*J~ zqeE%cavF^=YVKU*rp4%`py<|9dT0-z@uloQ%61@*cAnBk!!&srgwu%W9xSRmAw|u` zZgB5A^GtcSmb9Q-NVg>myRU(MDPbLeI+za?a_%5o1$OjONN9g__|FHKO%cC zu5^afRcDOumDmgg;yv*J?1*i4TvN@HdWkU0N37*t70m=jP#ezST4uz@>@>*s1iixNUy<^@sZ zeapIz_!dl$z>lOS;H}mKrmPg#RWrpC^20dLqMpw4qt1$LI*no3lytmoaL`Te@VuDL zVMuXso|0l-Vr)QVeS(n6@?@pu`@gwIBn4I#M~H`EI@;sW0XOG>tQ4Vsv!Mv}`RVWe zI4cDM*0Q>u9o9EeX!4c){hBV-WJJfiDs4`b1)fKwOuf|r%77^WN_}IPCfr^ZkF$6- zM_HdrF|F#HohaWn#f2)93{FfsS+(>t`l)xK_%r#E9gxl6=+V|JFhK@zefPaosj4oH zxJd}936XWo+4c#8Dw)}g9CyIc;!jnMJ*@)ojJn2V;ze}#jylhzdh?kU=QDo7Fe?(C zURIQYG=5?|d4_?#J%}J|NerN2Y{;{}2Bz%3n6Dbcy3o9q_2Xds%0P5dhS<*Cflj6V z(WKiM5Rp_$lnJ$8{sy z9)ejOebrtE5|Zj8L6SIDnnS1NG#TPP`8PE%(YAY&uUOpisk;cZugY0-!&6a}7 z#4ydncbnF}RlE6QvjPyA%6&=xQlOR4{wk{R#oT6lXkY;;0X-65Vm=JJms(tA6>E`PI1hd@@fyE=sQ!%1gPI~>{3_h zftPr?<*#md-FqUZ6Wjz9mz_JWA5%V91>pPAtkH@5@N3p$Ric(B@^xn)R7n(k;ZYYso4MYsCty?Wr# zYUK_b?ZBP&joq((n`5+XrLZoVa@8ecNIesqZDY{fnd7GsQb@!uJx|jO!yYStlRo?D z>d!h>25uh$43%MYOCRC(UJKOlf6@?5piCVH{o#aG;ygph7Znb;qPOJ(v#pc|5FF&X4HLlIXhXetoA}VB<@T(U*ibf5E$z4Hy3});I&)hM+eG9 zHkCH6ona9_<}?c*?XgS%O1?Hm0&Po34WL!Ke741l`%}|{KBh!GQghd>t%5ZbTR#!_ zn%ri7XSAnvcp?E53?^}wh1{g3LRg>0ugnvYou~i$Oy7QP-%KZ{z zmmF`Zra@*EA3|fi&98y+`7cN1anaR`OdG917o9Im#yTZfHwWKTsK& zBXCv6h+$J~L9Nvi44O$ZoLh#+S8nobRl#2e4~M;dODga-Cf)A$7{# z_&Rb7#bwqn9%68S0~g%cQT0oy*3*@4M;>PL1OW>x1j>g*5wAvzk*utpnjvUoNTb;t`r!b>&Tq+@2Q>7&lxG# zT9qxg57cB_KAZmqPc3_W852(|l-O~JLblmOU|@NEuB6jvmiiDJt3?*0laBJyRDl7W^Hq2}nm&G;#Qa}EY4cp1kI%j(?=FR|9ah=1X64aE-ZqhaV`z6jyE zjcZm^SE|j)@a2_4;LqPtG#P}}Mn2pdt-{Kyjw6}wZl`y-K;d81(f4z2N?JqE{OM>W zRhRcMT`VduF%bid9iw8s0w$=1l;F(NE7gLt-WYioC3e3kd)Nb&xu0EK&rp%=sEFZ* zwhULEN5job0X|%)6@)8ZAz{X1V_tzA;pY%lVnr-`%csgWp)amsyS!SQ9|FQ(t`tLD zBMZi=yIS0IuQh*Uzy9~J0?$Asu8U=_`{xms!DTl}$666fwX0JJGe~ymoM*ROsAY?x zkJI8|J{|0X^FtKM70Z%2=Kk)V z;KOlDbU2`t4q-RPb=`F_r=oMOi>58j`D1?27zRk=eHYP6lSa>@YqLrM3BD7)_DV8} zHb7XK+Eg6VIWDyQY`$t^HNlTNR@&(nc4NV`3yyP1o__DX{!DkQmf<$7JcU<8;arh8 zYgf%LA^;;MR=&9L#%FuKr{T%XP_3YL0rl_4a7Y&q>SDdadLESPh#x3$oz}HtL+L`% zNH^y|V)5PU${ z_1e-ch0H(J&f#4D3w=O>zp^V-09H^qAX+8>0CbfAodGHc0r&tvah}0hg5#v%fCAu@ z0i8g1KhxLa|NZg*kbKzq&+Au=|DXNO{;xMId-}im9e;o6dt(0cy?@w$-}7Vtjr;HG zcJyA>PzQG(+80r#-$(av{JyW9P*TpR+otdDE#+RUYvqDJq1$#$ znt$7Fa$jxx9-sz#?h9ZO_O7U6FVRGD#0tU^<+ZPcS*i~!P1xqIO_-zHN7VJRr~4s5 zm-ZAv3E%MNHBHojY`&?#P?CgJHy0chuje}j0KLq6Mgi|r*F6>lw?#mWuXzirQZXL% z;vljrESjc@qpJ>QgcT(xfV*jHjMJj@2V`CzZ?*c!%JOZ-swbW56DdpXbBmf;<{7ZRaAR4$y*9WnWWoH4*b_8oS(nvBn^TIBCOJ#PZ~?l0j3Ou6xqq2cj-| zTEKT-t=N9A3E9{~@aqqsP#rzKe2|=yv8GusV;>-}$na+1>9w38rNo1hK6z~t->hYP z-|8bh5Dl60R33uI;dr$Kh!#lWAO_-PU;Oazy~V#>Q*@fd#i|wQ0n)my$#dKfL+K8O z#PbvEz?yxj<|nhTA@Xh_@xU+^41XRv2k6Zjm}P*KD~E<#V&z`JQT@dGz8=~R7Dj?y zNg9NFx3C67D_nsuC)2Y76(Q*5xTee~Q6o-7?KD-qiV^jV_5XcrdN|F4gtalCMqAv4 z@|Q)u>BzAoFepx-g1ICc`m%mhIMde};IGVOAfbT9%mp;Qz0K@iZ@!i-B@~u$5ky~N z{v^rCv>e5}BsG;dsPD0!F$3P5=Ln|3EBpjIqecch|T{5!l z>s~y{I}NX>9Lt$R{+_XpVv6`vH?&Iw1`M8R^n1zJU+OKB#Yx|_ zzv;+GBR|+qV`!f*f*d&XMm)8`khz||zqr`@aUYe3=U?b`kryBqOKN$*aXH%)6~|xw zWR(SAPq>j?iIleonCT#9x>fvvX$PXA7xlz!X#HJf1bXvj&NNQL))y<#BovYE{}3T7 zFFa-9vv)AoLhWPET`vzftWm9jKdKs;~+j{#HWwi2F6HUfjqy1WAF9yO8w) zNioS6%1`G{bu?o{)=A>e5n1k}utUuBc>@ z2YQe+hT0bfGip(8Bn+oio|XflSr)R=e4SK(Mc5u>KIm!i2~-KwRz7GJgm9t(*+CEF4J6bSgK#W*sMlPbYL0<(jn-o=cavq z{ou;!}82%JBWR8^(unKv=oe_#TjxFhL#ezuyf-*{*j8`x~Jt zi1Tz4e4cjO(|Ee5p3~K-h4JhAye-qR%=llQod+ZyBP_EMX8O~j?b0Oc!m@Z_!eQJ| zS4@aHnV8vEK?@d7Zh_3*N=eYI@p>{o!iH@S*kE7(Np=K} z*Jb9oi{Vj?Xpw#8wTqQx34r*XwipU{;jaS7;u9MqDix0!{QUA^AQM`(rNRn-ATZW+ zhdx0#dv=Yy1*rIhX0WftcC*w@er=sk$L#j0_AqmSNE2hPXnTe_sajkJP}(SqfsioZ z5!*7dK!0NSS{)Fuu`sc2k1Q0?j6@$z9jwr9l@`H!ABLk47|zs1sv9*Ky&*T^y64<( z+M3KrMTVC0XHx`Uye7YgOJHE>YrlpRh=HYwraoUGoxL+=fCdJ3gj;fnZ;&VSS9!{k zNWi;F{L^Ug1zne1-%QpPkfinzCxOlLWr^9pSrlFJ6gItxuD=D!y7)igg%=Ov0(Z)*tCGOso0f^6x=&G#MGq|wS9G+oYAe5(DG_7Vf;KWb_z+KLH3eF^zjVj~KysnM- z>QYdMH#DypoBwm|acsj>SXq_hgFsF1e<1)+`} zD|g|5YCjS#*!)qEgAnsHa3?AudE6${)pS8S>NJX}%kYdXmhJ9Q-(cXN5U~S3*!8;G zxvgz}qllnk(+r{gYKQr$iMAdo-K@@d;DXYJJKevgCs)r`dW$uFVDi`Y=MpUjkFkJh zHolT>=y-Z!^-k_AI7`^+;S^Y3%d`G?TRh9h{VMK_Jc8cpNrNr)EO5kz!#qT*Q7Eg8 zx4|sQSCAt(wZf`6vSDs*5u+r3%3~&mBR1((Ym%94;!)8TmA@#&0ITlLK3NRf&Xo|#@*Nh=jy1WMp&Zr6f}@+abyhG$+%q5@Skp5VTF z`o;?Q;1RBs=Xnb*JY1FNe+thzDiCbM#I;dytP(bQ%@2=@D7u5EQfTMAMKXrj614e4 z-^4D6Z^sxFKxvJ*n6#3%`6V47pY!qdM0YWZoAR>nrKD}!+Tu!HD$l2vvHssH7Fs%8 zU#{^-TBfzQW_DgJY@>RJpfN}4B68>k%^m*Feg~eJc>jCp^J&E3q034>YTsKMIzi4R zl{>UuIV^?=n()}?9FmtJT?7C**T_3ISay;O{~4f+4;}czUL;S`b~YTZ+PZ|KXU8ByNH%q2qNZOK8Bb~iCF%zFPfU_FkT(4R0QQ3F_PJhocc9sTL)d#?7>mh&b=u9i!Qs?eRCUld{XjeLgA6D5Xi z7H{Q0ZJ4A5C|P+FIcrk>gEe3SZT=5;4Fc?J;|@rQ9|Wtun|hYijs9ZKtS>E6$lhxk zkO?&{XSCX)?uKO#v(*FIqZL9HeDfb7@Wys`$Eco&N5&%Ll00=hXpc0D5ulJDL!pr( z|Kmc~g#v<)e}!XG3&nATSd^d}P;nHK6fpx~0A&(#2Hu=q^;6xLU5K(4j)SY0=dAA< zuV&yf=(YBGYi}fvejs)P8Zf#OjZ}t%JYalv-7HQWQ1wRIa+oe<#L+@+-CWl#JIqTQkfy*WF>;S&p3T9f({6T0cJ`QgP$7`MsCkPR5ssP}WyZ2` zv0BoKO=DjvuS!op+=VeAI(E;Xwta)E`@oq+QgpO|^`kP=QbjR8{<>Z8@F{>FT?V^p z)_ht8Zjvk46bbDxR_8A!ab?zT20)vri2VVRai;zTt`fV260s}#ejr)xtpJj)<$f)} z#alHwwf^M3fF1Ge;R`E;w?pYMh8Nmqwm^?u@o+6Sgif*FKUQU!mpbMx1*OX*CBf)N z!q9@*p5EWyeE@DVl;;*#J{u^8TGOr;ye%UYms+?rbkftBD@5Ruv^nOIVS_H0&a~el zYIoOhqkq{J>V9zlQRuzZYZc8&x-Ka)W7zGMf@)kUoKF>bv{FG@CFV6(#iD>sbk@*{ zeo=B${Gxe0B5sByt|!`V4iIH8nq;;o)i5ZM70|{$1zMkzo;r3D>0BLVon_zmRebs( zdne>XyUn8D7TdvUo&0C}?-<_`+3v?=)zo%ln1x9mH|j#@*m zyUpXZ^@Hufqv~F}x!VgddlQxo`|6}V6LKH5V(e0W=_Au!s)*k^yS*#xzrXYPVKmAx zfHVfThqsh!LvrG}iJzYQVnTz~)N}%84$u{!dd8xCkB~O|wTtpRw(AmhAE_ebx;9n9 zA@gI^?PCjkCu_d>=Krf&aPzrp{27?~NY=Z-o4<&ZRdRO8X2fmdn(~Z>KDh95SP2rVVit z>{InUEP3qbM}LfBhj?C8^Ag7-DPX(ROEOwTC2@7>5e~y`0p|aW_4KAn0Y!NbX1>x8 zxMe!*D$C0P4tztajzK^Q$u3X3X7DW>5}K*hpavZi;Fi#-SwL z;4a(70K58BR@GhwiG@@Br&WJZ`kjY61w><2gH@eqDNQ$XgAg0r44yTN+t+^v?~+D3 zA300PGe%?OUQFb(=q_=M*HpH2qyqS6Gu^PoBaU4K+=3E<(c5g0a(sXhC3V$1kw~xK z+oEUVkEI`2uxItfy}UvBatSl}OKwvXPP=t!sQRV2@gud^Y)fkdjr@M^-$kuf`=uR_ zfGz)qyzhyS&dA9WFjYe7D-oP#ZmZcWE+{IT+B7az*TMe`R0d=Rl=#vIVW%27aX|Ie zC8JJ9p>tC{AB5{5VgDpR$?D8&KYQKOXmU_D^U=cghEKafV|v_hh_GdReSZvHo(TpO zv!@v%u(QXzQ^9uz8v;L&p9gvi{GQDz4Q{gJvAvNYExcGA4J8&AZQWpABBUL1!6U9N zzp`Gn%F&8;$Hab1waY>cZN0*+tWtowiAk?qw|)9w_Pbm-mE3#_Hf)(c#c`fjpJ5Nd zJK{*AJL{);wA3PQ$sXWcsMWxItxh{RT@3ebG$-;SK7W{GU;@Q=dwHa`sQ2QnW^{ zxBU>dg3OutLTr3McC*w0TFQP4n+tR=Ho1}HjU8$EZ-ebN9w&kze6f>g!zGyGWUBOK zy#$W~!LhPt66ReD$tH`%LlRI*;n=CcLBrfNt6sOq7N1T=_3cVa%wEXg*X8%9%;cKk zP}SE{lXbP5wBUCWN}VGkid@uY89a5&=kGp1h^_S@Z50D-H3%V=fygv?k4~SITpVsV z1}shXzNQ32xLYY1i_Sa`sh(0I zRIaT3?2xaRcaK&bcO@2g9uSRUoGbIhU=S5{jVPKK+Z?Tm{uIL_A@lVm=)6j(#;t&j zxxlM_!$QpnXCdNubpTn9mj9o-_c5Ac?ch5b}7JO~n)G)jh2@Y8m($7xYc#aNn zhy27o2_Q%ZK5cS`cdG;ZTJN4-E7uo1N`>I%%z>~pG^gO6ji5S_H!xh3>vrDVf7d^# zbCNX!|Cr(SGABm=#r@t}D$Y&_xZtt91F6Uva5XAn(=z<7yHH{iAoj)S2>nQ+)8kB> zOD*Oo5Nk>9Z%g_y5(wje5e7uqJ%;(*fOkVEiJICOl1v6BfqK>+DZpXnZa1VnPZa*K zSC(n`s!8E1g1KbyU+xS#uDt*DIJMa7a^{#2vBY2C)&a9nMdSRuhW2_lz19>o!&$oa z-Uj_526+<*oR>oylFDM}~19)0T%ucbLLN4XOE?;lsIhqz~tfN<)rlH$xyo0Yh--8~z(%5PNWK3B~x{W9WVzA)7%lvdcsCHMl|&j+b$h zZe)NMp$SyQrZqG|nzYK-1|tDgAUCRvBRT#7#$=QC$GrbZ`8hOcl!tOE|4MOn(`pt)O4RbpvYo}hSm%DSRKd1z$-zWo0E6sQrL9Lg&`(X`Xv14A4|VsEMBVsElKVJ-*|udDb*rRwWgQ|SUeOE+ z{8C9;fG~o+ws2N`7w#0T-OO}aRG27Np}n0vLsCfbgiwYD-#V&igQqk(dihEYK`V=o z*2|6L!Xa6;y%lpCrBf;ol_5v&d!lqci62B607Jo9smPIfUe8S)M#$aL!rf~2byo7w zN9T0y=M}RCE}$uc}*YDQ`a! z_{8DpJecbc4`#V0&%7QsId#^8i_JY{sPg{vZg?Qr{pfN(3Ug#w=;7))0IA#2KQY`4 zv8AS6OrL5K9w%d<9ca*_4ml$%xRl!=mJ2FaMf>J7wf^7|K0t1KIJHTWsz`9+P5)Gq zQyAY3)jOfWuE~ijE@9u)4Jhr4o4`&bktFUokhfCqflBPNw~kR3gOqea*xKtu7h0q4 zQ+6OZB0k4yxn*t{NALQ&+B2Hk+a`Dvn1XjTvCM)tP8)j~Cu&%W^s?}9R+^~)fQRIQ@cum(4dta7iTebPX91>j^m*SR~`QI9rlST{=SM`ezCkptpdGophXB z>?L?=(RRbIWB{=_?HNDp>|Ca+&fJNGXoAfhWvYkjHEZ8c0o-gd%eS+zc?p2wk}HtG z#u1}oFSf{9?fXNV3`dSlBOrmKm)RctaKc1_=It>|Yk%C7i={BkYt;joKk32yzUC@G z+|!o#;yf9{AP-P#vV#1Dvt3kx`isv51&bRWGZ^|_X4XzYk+r(A?K+})$BpM&lIs@q zxIx2|Co>w62QZ;^w3U0jOmBp?%^0$LVmU#8_0OLUU=rMr=bpfRU)H%0VX&FiK+^V5 zicaYwsSdi>iV#=D)on}mFvPZRdq-NsXB_;Sl>_-UqPXsBRwmbPVvFe{JR>*bu}fZl zX)Sth{OiOsIIWgYWL&x>c-?mAq>x#&c?K#bcS=Tq?1jF%k!yxD6I@CGlJ3j=wGOi4 z&a+adXe$!cu!#ljH}KL7(5rdX2n8qTV9 zH&8vP#{R6V=q3^jCu+$E$~~ZbDpBult^I)cK3Y7hKB(qsUIH#{yT8rb_@|_RYtKvf zenD3}8Tt>=RFmwMJeEqgsew1|xOPgvZpCJ-JmF3YfUrO+qKq6ez7Cd?%waIBLwY2= z|3#j1!@S744dIC7kih_+jN&qO*ZTl)4JQJS#VsauEZ$}$(yw6*SAr0|eZ*g~e@F!d zC-uVzE0_eAHDkxqst>=UnZkY+#!MfGZ-T__erTw&8H-vZsg=iCDPs#pdB=WOxQE(h z1EAwkw}2VS`I&v1VGH2iARxiHhi#<>@NX;4l@?{Y-YnN5`|mRYdF@D3q{J$4)RX-` zSLn&!&vqSy?fWIR!Y`WBkvIZ|rs9JxAP&QbyF7O@SI@@xnaC2BO?sNs*&_(+YWoG` z+|^Pxz(*!ahbuX|D1Nb10O~2$>4=oEo>jO?i#sNUJxAKj92+1DIhNucgwa~oSX+-B zFD44CtZ0=TV#>6fKm@FE`WlN138eKn$nWWC7|X|^FsP4{wT@g0@YnD9wv4Y zmH9#pGS(?yc_!nzJyj!;fm4Gqr2_6B_TUpHNez=ISR~+>p>9W>1FfiYf8lm`MvU6_ z$|#E}3=%}PP%mLUO+_8xcj_W^B(8DZ#{wCnD(@7>wIUY_l{|Qm+J21I2Jx4n+`vxQ z;#*{;0w;I$@Op7~QiMGWx+32O6C8x8z3=rli>D3_SZ;s`_-KdT3m}~L&TXU3-vOW# zrRXsLv*)&JR?Eve>sZ#fQncwY{9*JA%g0!9?f1w?6I~W5k>W9JXWM&gF@Ed8hT&9t)eFaO?L@qB&+G6kDbthT6K)DdFLzWQpdsR0s=` zh10-Z0cyqiE;zpZk38uJMs(PAvW@O*EI{>XwRVg1fZriDGyNX0+kfZ!eF5KC`E0gTYXdz+97cTg@kYRw_D*5sQ0Ojnje` zAS%NKi*piQo^9DDx6;{8p7HjE?pGtIkye-IGT}ZYk+<8ncS38#APMncN8H*X`%CKGyt6usoPDU!z>5Wtmlu_)SaRk z5GOI^xz&^LS;hKzbGiJegzg6BXjWGgrQcl++^K5_eFK!f%n|KQ;C@H$!ggCSw-Zxf z$?k)6D(~MWU~loc*xk1&G5}~1Uu_nEgwj@T7AZcDf$*%5u4BdfJgndZrU{f24l>## zsg;jtW@pL(ky3y)8c;m$02rKed}YiV~794ij=oZo~9@Js=kpNKM0vGKl#OUp;&vPvW(#dT+sFxK`|>4useD! zxz-O$MwvjpL*n;Sz+!c;2;j1`jpWwBevXjuSomjn0E$lpwQrnaFM&62$wVI)s@Hb` z_HItkt>?wyKy^I*BJBui7t|?N($RF|@2MUzMep>dW)Ac(hvvqqM(1ij-XB^bp})sS z&%~s%5v-tbUB05c57&$2JI%C_bcK7ocrMHyWXzFc^NV?53WYcE5IOm7*b}o%0gbqC zL%{v!ZyryGp`3uO_dI?J}xroRJRfW%}OAfsEl1C!gYL zewWXsO38KS(uCZc>dFFe-?UTE6%&N9PkJmSPmE}se@@>-O?Ep6-{hdkn>BJ zFSeJ%&Fq6|cbW)oRR=wPl-k<9x&dma?6J;reB#3O_vE*CD)VGWiLv}lmq z@$S7n4O@VH)r5hz|1=Sq*cv|kAOm3z$R;{yCL)AcmyUmucnICP-g+j+9uxkZxiSXW z_1`#7YYA9HeC1pOt;2u?Jju#df`t7$&_hHCDm-D?_Oo(C;ugaXn*P+ki<#M;iEQzk8ylrWV1z0cr)2rUnl^hQVzT zABEb{Yp*O;&HmL3!y>+6Aye=@v$h!h|8msl`?`--erD}PX1HdTVjQCE%WtPgu|360 z)U8{|zSBPl`mn_U_5=frMxL-*KOp7yo1sxx7E~tva>g%xJ+i3`xU2-{c+as>CJgki`i#_g^|cxvw0ly zhq@3F86jgs%Prj`p7ai9A9%bWK+yhqI2+{iNf_TRgr`a<8P~FAemFhL)w{`6Ibk&$ z`e-Ysp``z03Ie#QS2)1q*iXh0N%tPpmIvWOMTFFVJq7I->m)P`nD2*@zHtN z9K7yqj5DlRp@ZsgGp)@dfcY@=DS1ByF&-3?uC%ysJ3kR)1@+Y}2))1{U6m&fYX}oN z!+aiasDlJF-$!$E0-k?*BdFV%+Mxv6i;B|iz=2hveZbNvv{_gt^-y&Z1!-6nL#xiJqm!0+IBX__WJvCFNFS>zaw=n)=2E`qLZbmJT z^Rex1yLcd@AHyjVpc_17SCQG?z1w$z!l02)UH!k{XfFVZ@ECZ-$Xs#Jpn%FzO0UCk zn8#$Zk!i2(^+@ZkA9oR3j69Bpt^!?IGtkfUU7j2BSkb%lnS>(9z&J z^JY3Z(6+%ClZh-uus^nAGSX@7#x{_!KIUtxCUpJSIRf0EI&6!vp$*8s{~d~QS~ z3*B#GB)wh+WCN6{HVeU<^DLbo*quCm+wso?L|ZjLp<2=*^UxxCs%lx}?oV2YPrE#@ z^>v2Qq^pPd2g@C*&ne^eSx+OIaDFF54`}*=t%w|)Kx^Z$9?S53Fg7pm1R!jl^ROxu zEK1X_+p(&UOh)XJJevF2Q>aff zr1~9xEvtS!EJ=@;-6)>DENI(w(}~7YL}JT4z72eMjW(Jk zrbs_tkSCExnewuJQnmnyyW;`EL z(q`4|PxER5{Y{o;mr2)%ku9) znSX9e(Svtp1Y1g@T*j2Xc z6H$N4#?;o90O2Vl&N~INYAnWc`dr;%x5k{1f)JFs$ zSuo!q)qeY-1cnge0lopZ?*&*Jo> z@)rlli3kGW|1EN`jZj|#Miy~MbABI#5^U@2B5ODFV3>53@_}9zv$rh7U zow;^kEjq23AN#rl(dZfJdNNR}YG-oMU|4CnwsPEAJeCjbCm0000000#j8`~Uzb0000%Oi)Nr00001 z4>11`5khg>HqLF}{kQZ6*V`-Y4v6T#(Y9?8HWbwTkkui$DFEdpJ_OHNnUqDhL7n06%e>zF31F zfZ>1w;FM=O@6l$6qe7mm%IRC2TG>$lN9bF`pWpv|@vrnRw)}7VgJgfRJn{DC{|~+2 zw7NBa$^GK>yLxA1s0+Ls?fm}!yU|aeJ?uZw^xyQ3`t9_)`_KMQ-j8`+r;3VAx)KR@ z7f-;+eg+%#sqjRdf92((SLKq$f@o81?yrAHK@p!PDliL!s#X||m?^QBmrC1hY@yYf zjMzMm)gy|$YU}u{BX{L)76Z(ZkVb8AblxmL=9 zBYZ%na|PCQq(i86Kk&;hAU9w(*-E~czycr!JYY`!u++j`JID`p*KXCCJGnX@Is_t+ zpF!P2GVyd^q)P$@o-I|Gj%~4}P`0fjoj2A-I$p4|Sa$BcGNwmWzJG|#(Y*$Xm3z$3kBYz^3kcfMv57?Z3>Pnf{Lh*AW)kA3%g#uOZd&oDE7`N4K^-Il>gP$9Dj3jHuHL02$ka5`oR{H7#JndJoIdp zJL72@v;=Z3SN#(MLyEz{C)bV?I6mSKv$Nr$yxxHf2@#XM<(kZUIIM{S%5+W6#Z(qo zl3mj)0VN<`And&JaLjmk_e=c~K=b5=$hBb#sQo&|`e`)$RU)Ua>o8+N=^?<{b}6h0 zXIPf&zPg{Tu!Vvn6U^yA4^TmwYiE%PjI-8-mguo;l2W9IL(dEmP5n1#6h=Ot7;Eio zWVz?kvy&1me<@F1NH_8u+Rr|;A}5Jcn%B<6M+4d_*kEqs%BQ5B1OqQKaDE%yy(k** zvs46V{>B%J(2q0i!H&;f9OpIj?g`~vs?+$ulRCFEo$z7Vqn zZ}uO!MOc(}Xv%su?DWL6xcp0pcxq|Hjy}3S#5M>|E4u7hJ5ufTJ>pm{>miJqcwKTTXFKw;qiw8|1dOwLmZFt7_+z? zT;$101AU3A2{wz2qXk-^F~SO)HxAS}1gLl^n+F=A(=QheKg~@@q22M80) zqD97W7jGXU7KC#Mcgp!uYQ}fC*)AO`+dBF2rmSQ-5u~hXL(RKn z41ME;GEYk*Z`N{WFyza#^V0Uo(E|lz53&kde}kvIa*P4bIbEE>VOncuIEa#Hj=d{< zX~%upy&68h_)8!r_45CM%(Rq|_F#>B!uy?2EubBY>`Fd^_t{2#$Vs?GL zaQd>%D2Bh;K!OKtnN&jYwSph~VguxKm^yA3hE`>`oWwXJS%cS!P2zoL2DbS=4 z36`sY+Xm@b(?0 z3D(Nr?2vCZ4F;Ml`_Y9YGRGWxk=m5o3P7ZRfSG!L{7|Sq8AA8Vs!VM=EDz`--Gm0u zo;-&z^;2=+=tVcm7r%N^V`&*71GO(@ew@`R;}R9gn?x9fL@i%mPBD71AZZvb$&PT< zQ5d9!I;xpm&!vjnt{-6yoyJ2jMT+x;&zKHHb{m49ZkEx(J8ym};UtP$TUD`7d-j`3 zcz|%y77+S?(n2!jQm4uPsXyD%Cg1_W zE9$_DPQh)t){$OY)pM6L%ObrWYGQ`~=$zvkVxq));oc(+SI0XIhfRxLREp4l^=_pD z2X`BzL%#|S{RWeiH;{X?nQhQ74tS8THya)@XS7!DAJZe?$ z1w{0m&EDBQ(sN^~Y5ISsst|25r+B#XQbe>hRj+2?w0qKefpSesJ%h5k@2UM*^GVij zWN1{Kf)A7?w-mfYTq2fPi@L<)%rrozj`KrXMH5^1x&38)wxXaxge`-WP9XlZ z8=EW7YD@J;elG_5fV_l+W!7$_^l5uyrn)gasoaX&0xs~HwSJUw$CW_OE7Qf^9E=Y#2kLYj?H>a&Hior#Z(ziQH&1;@@YC zs}m`n)L^06#(^aLP`H~N`&f|2S8of#)aZExoL_dnTgl4$-(Y_Gd_Nl(t{O9~t(R%F zRpuGCB>Y%SRh$CaOe(R3?GFnFNiL{}i{F^V~l$SagAYC9%_tInu-v1)n7XNZ|d_2|({zniJ zAR?ms3X`LqRXLmOdc=4qa!gJ8quritlybv}gw44noS0|P_m4zR6?RK6f(ymNFO1{Z zjiNHjR|s{}deKWEGE5y$VZ>SKJlrERvhp#!03KKMl9{sdtuvnsSIeSIJjB#a`#BB5 z2?a)KYjr<_|J2}@l;7)K7XO>9yL(|o`3&1|2y48R+rQS-N&A5XuQ0u2tc!~V?x#1H zJoxA2z07t0DzCOhnnL#-O`;u`>T~{z}TQ#{qkOt;OnA8?+87O#5W!hF#LMZ5+Pc%jE zv2-kXx*}ua9%EPZC-cu{q)M0uw}~9v8@FnJSd?WD&53N3d7z_(^r_47UbC>b8kzjW z`@G<$R#r4B6!D$kt0Fg_VTB|IpB(zdlLDWPPqw;}l8p=A#d9qly5DivRkEvi^h$vh zdzRCY7Wf^uClCU=lg|Lyhi>H~|EEUl=ovhp-3P;NP5cTO27Iv%Q$*l2ZBRWC@KHm7 z0}x=EVsgBVlar(ICdddIF&{5$z6zD2 zS1SWkcVpbxY)(@z6K{Hn_V1SYUn5mO+z-zJe`2`r1Mx1lSZmHE$44RZDd-}OKW8Fh z+~4m;ZE-(&oO$u?HNDjgt~7SKz>DI9XNlvYH?_q+&QDq_N1MhJL?{q#KoGB-%Kz7v zKCsUDgu{tP-+!)&d~?(8s=t6g%FSPPY7H+qLUl&S6<_f1S8mA{7HGaX8x=i`>!)I%rvGw zzgAO|6rT?0prn->;Lu~^G_=Rv-YqWExm5uxxmM?0XI=|6*zV?}7s&t23`Y`e|AURp z8%Vmbn1BNQx{q`7VpzTPUxS~=l}*bv?z9%v zcM%>_sa=@LAOm=&>@K(Z%AHdouFz(PVCYX?X5df`D4`qq$VB*47LPiKQgBdtHKvkP z=p96UQ=O=5C&(;LYVVM51Fck$m_IAQx>7_aNN0S;PLk@nTA_^4s<9+pq5U^~0-pHg zi!xS?#7OdPk#YoZ>QFN~Y<)r35D9E|S#WBRI(I?1V^wdcI^JU7cxAWfwzM4p<9(+T zH5AkdF;#J3$@J7XrIGB-UvUtH84J-zI#3LEdDyYAZ&Duix|Q8f1&5I<`&uY<7U)N+ zl(Dk>e?vI)=lb7g7sQ3^?z16iG#Bhm(176MF9$A_3@JdW42m53acG1+)>?5I5QJcc zz1H7x4$wM#rM44D86{G$%H;crTgdnAY(?Sai@7k4f(CNS zQ{g&Suk;1{dv`lsDvDS@UTbD>yeRJHLo0v;V#rBGB#)PlTt-&x5#`KbZD|yJX`Egz ztCuh?cBjk&tJrhUqp3hVXH#;%@#8(EN;{lOrl_Cpmbql9ne|2ePM`4q656n@tv@^O zIhcOtt-ctT!10y_?P*`6J7Iry>xYy)PKHQxp`TXv7Y_Cmg+U`;-cF*JcdS~WOFR{E zv;DRxEQb#&#GEL$w&$CkR_^SP^t9J$03@d6-i;XlmK`fJ9fd6sOR7Ajb7zO1Q(7Mt z=aozhZ)}jI7nr_*(7o*7#^8o6B%z{xH&h*OyxpQw;eEYlorVK-Q5MN{5Nw0L`R$N@ z!|>gfc&d5f*6iFROzVnv!P{kBT-NugWN7|O=yH$qx-`ZurC^UQ!wFg46?us{$fHjU z;FtTtVS*gyDb*(KF=^>?&(*ys*o)20=?-E|j?#NxR$#==MSOStfbh;mL#1U%{vX}K z?Li{CVzd`u$ta|o2n$73NlQsq34^ysd&`xHBL(Ex%VKLE?_4cwuFTJcyd~e0pFlBk z7($Z2{C=B5>_q0R!BB&a442rhX8Bo|1NbKX?yvqiAN_1FauaP%2OjMQ4#unO{T;>> zIeYd7-FhN&L@n9dy-~z-5~NSZurkE@XOeo>SV{`x0G~95@u@8F@sWcZGzoYCVxtYF zlfk6+OdS>FV#?T7kWm)%RS=fo7#ID7G9eTNA~Hk8UZ3~sM>p<-WbqIjsXXRb0HGj= z#fi_}cq2%QBC{D>?`i$ay4d8YwqQjtBuBGzq?)^^wuLkaUcuahwbjv$TH_^nLg(yKP1q$(VYtcT!c5s7Vr!KL8hV$c;biIm<2mj|$h8q{P}Vn`_Cx1r3mRxLBZv!7mu7Hq8DRaOs=C&dWH?LTEFgE{h+raR(F4beWEqpxw$;_Lya_$9S%yD z5@jGKX!SmnS{EW>HTEpzo97q5aA>pa=49P?hV9WkkYEJ@Gw%HFUMbdk(dN$GLVyIf zD#gbZ|B@t3*x7*alZL%WqW6H082oEsdx{RJ7=k?aIspr}siWP&B_{BpzZ!%u+zS$> zCDav;?1?)3aZj^3H*h z@PMnDO_f(HSv%zrkuen=FNs@kc%KOKg2aP#i8PsiR>Txl z7YCpz=$<72z5;6tX@*)~Pwcf|?4E+4+@R_qFlC4hlphR&Tlu|P)~|mTdA7vUwqiy@ zHp!IhR})!)OZbh=uek`_JXaa;Faq1;yuAn4chOH~qcF$H4WlkN+4sd!Fjf)`Xo4tRdV5gN1Xt9lnwAxw&uudBoA>ngfZ{3 z6G=pa`ALw6LRiJ~4y^vK5vz}-0?(ybb4!DQ3tgYAr>zSsopen;9s{tM24qrP%@4~T zmgKQ0NM`KR<0}+|b(09NVX#3Nk8^JF(w_wgIPwX=1yM5p^RzP`6DmbIXe9V(|65}& zoy^afDT~K~1e8QyEF}s7q@N7s8TWp7xfeR&=7t@4(v{tMhi=RZ9??bwT}Y3JPTB*g zFZ96=P`wYX6o|t^(n3;>AV}9%Xg9m{Ii(dvwo*~aFCLGS0ZG)Xpd4*a-xG-s4ch9M zTJ&22N-yx=SOEn)6M^JSNN|)nlYLz>N9?HBRN;C4nB5^)*@vQ~Z_*n$0n-bQP)lt4 z>%(fb*dobOFHs2q&K>6ZADPK0(Q3)TP#rpzW98e4)o_pDRNz>aKN1z^ny70#wGSa> zzm4IPw#~<<81LCmBuIJ-g@`MA9tR9A3mZIPsFoP{P$)Mx61aS2Migmn!$dw!Qskl5 zwr2dd zBswU#9B&}8l>iPDrJ@?>MYj5b+Tv`ym0lB1uolx=VRs#^up`~n2xCpVU3{^hZc zY(=n)^aaS=)dnODc<>wCuAg7qiaFSR)Q4{9F^V4whYc$T#~2%(XcY61mXwU$^60)7 z-C!h?MG1t&m+y;yQj008luV}R1mT5v6#X_1B*riD1((MZpaF#qNpzf_-ixhI<$xD) z^i31ZpB#nDmYchOC=7cdL(u^y+FKJ;ILcK1BC>6(6!X39;WD6zAOXLpPiZ$o0Q`&8 zMNgmu$n6Zpjo_+WP=5t(UtedaNxEttd6K8w2&C=*`r(!0#c_LywFHL@>rR;gNg%Y2 zT01ztXDDduC(y!r3!|B9F)J{rd*aUNqJuYlm5$^s1?2o3Bj!V=s`Uul$d1qbgnqw3 z1vu(-aT{2fl%=xdcLtx5xRP;^u`2jTG{>Bdjyu-27#xY&CR;u6LV z9XD*a3>`Y)@s!=P^haDT-A|Y+OQA6fLO?7q{n9jE9E|*EX1jQPM?(ORKySZ|F!7hU z)n-i%DQy2gg@oupgBqK?&6RGeDwo1ip(wgIpr>mH$ch{Ka!sW@d50xf!+Gl z|5*Sz6`VtO1SGjryT2le-h9+#a{QPysdFB9X%-b##jv)j`OH>8uFkesJ>&WTF`s^% z`eSfs6ng#5gbfvV%nQc;#tbzKivg4s3LOfz%7P!Q@tgvhU!EG}k*Ma{FD5HxYLIT7 zCjhyXpo2a+oc)VK!WD)wEDiSe-`wRyY~f`ijHzEy>(t6d7^oRG*63%T>!O6L@wQHk z=>>}qwdq1oi#LN|AViYPHzsBuTj-bi zaN^kONBxP1k)E^HG|USHX_MuaoF;w*p}p>`^DiYz#fr2wyltDq~4c`weSuLFU%g>LZCc#)da- zY^%3uFTl$D?=6M5W5a7A|pyARF={6$Kvp}+h)ppF! z2^jydgJu>!QIPluz+l>86dv)TM2F-R{QxS}wHc%U%i~P(yD08k|M*oHCNBi~^_~wY zDVLo{MaMJ=vn-ha*+ATUWxNm89G(p&;TULJQsmEES?|sbPk=Lz;l2qf*^{Q-$g5!u z93YNMcW^|3a7??FStb_YOS{&s?Q+e_R|UbQm#Tg(hqz%Xz1gkEpQV(V_aZ?k8w}fO z4^V5~YaH=2cpXbz?5u9DIf>#DYu1_K1;VfNtZsc5mJzmMnk4gI8){f@r6*Fs(jWqn zClkL{4e&HP8+8DDLM1ZPf?da7v51k~FB~XLyZX7Ww148w{SWtW5asaqZ`&eyz5xKO zdW3j$0_eKF+iSV^F>OVdTbb3*aU%7y74v^TPSmqGF20+FYwUowY~1@mG_jy`T)vp_ zx|wdO&2L_-p9YmB#7SgeCHl%9RNzu1tmiGE=~pR!=V1I^4n;A*E(9z_FAKBYi6YY|nmEpZ;P47o$ zA1vcb^4x221pas>G{dXD6Hjo+f=D0|^HH|dTR))lh{}9^JWHp0{2y-wm8my&&MT|* z?kfsrh}J0HK<;tSS%G4bqM9goP*BwVz)NfxdRvCoR#IQ3Pw`e@MQJOx%8I97cYOku$I9ysAxs1e>Yk+M7X57KsQUn zBD~QMWXvwgE8MCJ#Ldg8(H?%vJM4lwLBwe${2CgR z0~uUGl#`{)tfrkul}C|v@(T=8`mH1QjO%Z^bV#B?eg#}4%4*gKe?`oe?ilWrOsv&X z37F#~+ml*?!qwD?82?%;d|{j!A(6v`r>Bur2@zKIh^?1WEAT_2=1h8tu)>r4^>4 zdrGRBs4fh{S7v8Eu?q(ckCVP$Rb)%5A*T4fAt2Eomn42(urI~hzXemyf)(*8YgqV5 z!TAe4XOlyq+y{myKAy_tt;*JH)n1*+xF#0eU@U%9#jc8=ISUsK;=w1?i_}{VfIdaa zB{00%h{$FB!*;#LQUse{w#I9+r1Yw1x2xPasY>BL*8;^V>-ynbh}pF8Xn;Kb{iHlu zR&C&SgongsrJ)`WgExAq9awN@jhCM;2g@UZZtoWDV{5a;R*(rM{@iJXqLf4)_dv92 zk>;;iZ#9#!a`#U~J!0Sh%Si`P*PGR_?_&8} z%c}NcDf>GLg%xH2R~0V(KO->(1}Kr+pA|!30x}}j@YhlJ%)=eeKofC<)HO7|qqQ^* zk^=#I!(?3n$uWwsUs@@%WuBM6aZ#by_?H^zcoU;!g;<;PVibuVkO@34-OLrPMR?+j zXO6o4rA|$%)!z;KfZV?Qi}I;Y9mkJoh$dZHQ=v5IV1YPJxMJckmZ!9$B@=k`JOb{} zl#szqqvB;&H^x&E2I`KpmB^Do=fAH}oB?kAqf_>iFeqICLlG8s$w&KSjb!>5i%?48?$#ZZ*c>knQ#KT#UaPP-(!u4aAd3+9HTg7fEL+4u-oo+#o7aWAMd~r)CeltHfR4iYV z#i#L5)WIkH%8GI@dEsPT+zn`D#h3|F6D><)>Qb1xu&!Szr(!mH$!Z>urrv~|oso#D z147$F{)PK|`vk|9)nh}?-tzNiJS`>@9BYlor{o({TDhk9Ynd1xs`ruO&pN7lM`gg6 zwjZ<#UM5^B%Y_7}ZV|ZX8`H*V796FJB^Zle8CtePbvlSbFzf76i}a{>3)5tCQWUX9NFJ0;b)VGBsY< z772`1Sb!zMg@5KQa%5K5Ly;LH?~kVkl^y3_X^AygF5d7?-IQHRZD%~NWHvB;Tia7N z`tH0GxX*@)qiwp#iCs9$5RxEn8a@&(ky#Hf-}XzmDK6V1b@i80rbpC{Fa@{j4#T~$ zW^)n!C_1hUN8-cE2CX1Og;{HQEv=TxM?1*~RG(=%`WE8qB10gv0FXfdz~ z5);APZSLm!gX<(>f8@WKNW2gVP3$qgo*d|B;8=T+ceVWrON)ceoiXKZ4Ug>dsZ1oR z3JwWHg9b8T&(p1jhv6?cfVxitSZqy1;a#*0%na=(EynXPuvg#urY!QkF@Gip0@|Ii zJrtYkFPZFopWSmtB8Sk=U`xS#<90$=&z-!X2c&lU|8-ZEO}|8&`UK%3Qk8%6>wK(s za+CFU;+;}$I3A;w6|`Z2m({;H2kujcFKMRgBADk10htiKgp{>tnfaW-`SP??pa&I7 zH8ZG{FkEr$LGl1>R&^YdE_QWZLj`S+-aszX_y6o#ihWTWUiR;1K2+5lq^{S6Q#}p8 zj|!+O`)?~hXy$MLK~7CZ4kiEqUH||9000L800992C;$KeK}=9cQvd(}0S_?$5fOrM z+cuKYf%@-K9n8$$`%3miME@tCl_RcUYYo%(JR~fF%~%CLQL*6)HcZ>|knj}3G_~r) zD!3bB6;vXoi}09L!Zfv`apBA~-8umPR!}$~nk4`L)R+LB0V)Uq0s%j9p21lH`Gem8 z0^pQqfJ!P#k(i(YO*v#F@Spj;XS$>&@$t1e!V;^? z){7l(cpz{ua4PQXi7xFYT$fxUS5go5&uFjQjN~DIcaldd7kSYJ)W*wodwnn)=w17?_X!eS8 zj2CRf2mPe)IkadNj{*-cUX~N5{Cs#a-P`PXO7lF`W2HmrC6#QeSM5j=I=tFwIat1- zxp#XeVeuu%93Y#$t@D#R&y*hBg51p-9c42^(9WyGtt^3MFcjY6D8abT<~cWm^{bqAwlmz@}qaKV6c!M-j^b(D#>k9^Qx$_{%}(rV_Jt;Aj>z0 zBJ9Ad)bNE?NA=Wgsze^x)9LXUr0qdOlxEVJMVXLeYDhEl?S@=A30#>j@}sk}TPm2* z%JkFWrR;Pi5*vkRXo+}Kx2M>ERH2qSXuAA>g#YReeZ0s`s^Fs;VZ5|=AIS>uS?+~?~F>_;Tj5n7e^+EqrJGPL|tQ=I0Tk3qBcc)|QH zSm!YC627yj&C~@I?Z^vMA#7H1f~2-7{J{+Zvqhi?^{avs#gYbt^-M6f;M4aG zzASW%x|s8|w4^w6yPtA`>FjvYCR79T_FZ>BAUZn(>hxUTB#!E${<*k^iy!(+MYBx+ zlU--HBCd15mFF0o)G2|dQ7KVhaeC^;qwf((x(^oKjvUl*;JAzmfvtM>?+6W$Qw&%} zJ!fKd$IL?Wp}gx)C$wfE0Wq!vz6H#zBMstNT%0`_`Uhz@ycJSCV*yJp5eDiN9-%v4 zPxVU#>>@LQ=kfkRF~`Nw*`9-l^cUd63z2Hweu-dHMv;Pl)W$_X*?vH+j;9LKwY!Rl zx4}lkjWb%}75n6-rvGdC9rWl39@yPgnx7BFHya*fz+P507z#VD=ai54!k=Rj(whdt=pk(Obln9LLyLWQeuR~; zEe`s`o&h342Ac*jK_VKK;3z>*&L)qKXk{1Vw-g60z_20L1CFJa_gn-PcrbUXpGdL= zcZvD8>af{T!l}rz%FUAv(%(-`87BifZdMIS$$>fiMmYz9QW4j4ReUY{{KqHd2;l9# zh?y`7(~&F+lPUH8jRi?J!wGFX5t?vYP{y80Y5bD*I-ZAwv!j~HD`7cC-iec%K!&J< z2=D&QRtZ%)H|K(9><*7(G$`ZD)A+h>W58-l&G8=qfw;?Gagj zfU(-)1Q0CrcbxxGi*bRHRdk(fbt9LH!ZviFk_~a9k}AKMHY^(d85OC+P@cUR@m4S8 z4_Z2P=iWBdEfITtHkUvE{>Btk{=PT#a!&B09xf=#ddBF8P^eu?yk(<*H)q8+6%^if z#pWkkLR=-cSiF#(H_!ZQA7Ffl7}3%?wL1Ag3UGEY@)0xccpJYux=)-7Y+KSZlvmxe z70>+WG7Dbtgv`dC-c``DzhnsK1T3p6!Bpc_Q~B$x3|?fYqAkz9@|Ia{{Sf_!n&3U6~{eMm7{6%_!m^TWiV{CtX-IrO@<$HwR>D+ zcz7df7iz8Q5mYu=HK5BP!{QtJxKwf`_}V}Fr;j&JlUqgx z=2CGimQ}wYUZ7Kh#bARhQWjT4r;T*u6%*3LhBff+B#b`X0sBp(>rq|A!ibU>4^wHd z@5dP1Zqy#r@-sw;uquBGoTN)1F!XImQUDk>>EcbgW-9CejU>@F)sC?8FZSgPLyLM% zevQ9G?8V1*Bcsa67W8p0kJvKg;jZ&_y`l-pNm5kdG|lRuJqI#Od^6ZX8_X<$xY( z2_>(1mQCpOB)(IY!c2l1_2$R!X4GI4{T!*KE#zd;&Za1?cfnnK`095FX6Uh{ou@X-+6<{N+vIHFga zYlyqz-$%+1i0Zc-f|DS3F1XRmqIJ^_pwiqWw^)W@*_og)&tiB6SU|rI%c5F$B9R(h zGJ%d@_lQ29X6$0dop%9W6fg-@+5Yhtx! zTh6;cc8zAq6R1e^7f@Wmfb*bAZb6LLSA(emF7?o}yVft4B-s+JW1FA~ZIkF{DZ&kp zF4I679hU|TVamYCueBNtf1vLi)#Mdmyk>q?+C%g9Up5xlom}Z(jr7=5>V@%5?Q|XS z&Qv!Bi|%z3G~~mbUZ_8hhOTlF<|mcWJRM&B+xkx8R@G$uI<9%Y}ZAeJBXP5Wb|$lBDkj=AoLO7 zN{g!37ZNBcKY8xGA-NQTg9N>-T6nUHG{rvp6n22gm+RR&EMhf#$qaf#A@vi%ZFJu#IuTo{Y z5NzF0S^B&n6$LLT%-1MOuCyI0Mp)`l0{<`zn9kMMsk6@F%=Er;J^)z3V8rXGMyrk^=BE9TcUKGjtz zO8|+{i(VJ@7@!t${Gb(Vws6HKFgr)aG5uSj-?7Xk`EE2nb;RrRJlA4LjL^a~B2{sU ztcoBWWQ!ez)(pgX%&!)V&V}Y`pRBEAL)I+sFG#-mWWO8PAJYJQ8kw9<_jkq6=j_w- zM*}g4w9GC{dggv&mOVD%vO!x)qN=OF?k4O_u{(h6m}Eb%Mn!@L^yZKGi5PPu_VX36hn8vg3EW{XF#L12pC%-~M%f7lgt zoQo3k7xS=^-Z21i<=9(Mi8m`-!lgywiya47B=)CmsF)Y|#Y*eU`}Hu`S}lY9P8E6@ z9x6}6;UErr;Tq>J23B}{r><(^&eIF?fOb94tj{qbV)fq?2>Xm;UBmgFrE^^l|nQ!(~D&p#=ikk`Q$x0x&Zss;`* z7(C5n!-ny7KTTMoHrmR3Alkrk7iVYWG6GONvW@np0!&bkl%?Zo5fuVq@wMkA z5uAY92-LPPakYq*R*->4i{gGHF{=}PA71f%TT_>gv|ZfOb0L}Wdjf?a^N=q7$|WGF z$^#d3gE3oeh9wak$CwL-Li}v}k=RR;#9;ynF(9fzqd!@Xap(zvCai;fs*vQcrTiM`>qBtFGvHfX5Kp_9cUSj1gVjV`btb_ll}C zq3q#k^b{20&4zLm=(Rs0*iOJxFu)ya93e_Zb19(tbIyT!MXPomxmJOPC3%5OFDw!Q z!P*bt05U|0;&=PUZzZ@52XOzQ-l0aD>Vr|%76Resq*blm=z>Jn%B%2jr`9iCj$r1~8k1C-!hVle2};q5XKZzw zj$@z4LSB?muO7s>*E?8&mt))f=_@DoYW*!a@=9LJC3?>3Un8Ogc<4JHd4NY`ux7GP zwl+TJeGSCb#r*%{l_D-XWlRPmjU3b?H6x?VFKd|{TevI>YJ4ZzZX5dG(MQEYYb;!L zMGgl>D!>Kq&;F~UwYbk(f|rs4>VlW(N;V;fJ!~_XHgZ$wbC!MwbPYJfFrCxAW|pOL z5WJoR*_UfUTQjj$!HAY%RSJ0r<*I6QBE?7P{RCqkw4KR_2KzdhP99ppPuM#5r#Mzf zAKcNO(Vk6aoSV^y{*wRVUbJ~58auqb{3YvOK69#g?mW|A-efg-Ia8T(O=mhe7LGc`zUhUlQ#=mv6TO;dw=e;aCu4Iq#aq^WyS$Uw)8cj- z67@N&2D(R2y}sfuo(7XWHCZ)EPIXdM1pSvA{(r~8j?bt7FW1j?x`qN7`=P^Mv7!>c zl(x@WS4kWXpsziBl0(4?2laM!z0w$}L?p9!`>P(gYYB9%84w@szil?8$Dh`vi(Fhu zcE>E_lFb)54(Ypf)1bP-l7Y|$BjMt;SIxV9eN{dWPrtqv9qfPH2Ay3q9<{E^^A;)% z=#=hDMZ~U*-{o1aM{O98?(~usi?x*u1*2R?^co)Un;$BG;yxXZa?fB^f&`){1ltuW zV04Aneq3oLhXT^S1baKzEVtHaMy31@7tQ)hjA53lO)Oifuw$`DvSV8MV;;TadXbay zG0u*o0;s_b)vLS!h64b-zEYEZyL0s=-JZ1#_m84ks}&`3J!9DHVu%6xSG>^IPgxI) zbRdgQ%f044s_H*=x9|eCmOWrB9|AETa$-SNORq>~pb7^w&cC}NnAh1*b_1)k?8LTx%%1Id{E8WhCuBCPfb6zxkM9InTZDwRhgYRLb9QS99K z_`OdcRVt3J$Z^-Y-<0<8Yf%lQ4}~nI5t8@79a?piOLvdw-hJ;g~Dw1E7Q)+L4v>6C-2_^uHiup ziDh|ToSxj%CWB1Jfa%{drq#m^1lBUQ`lgNjC!&5DGS@qD^~+vtdYYK9)&!~40%|2Y z1pgaiV828ylMDnh$+^%u@5#rrln1;GI}V0owc^h;k;FJ(gd3Zo!+IXrfu5X=%WS>L z(-E9x#HKqwRuLcJ*&I^?9CVL*@h&dW?8Q5gEdkv2tFEUqcppmGDszL{Iet>vO+V9- z&Z(qhpUcAFPKHyd&yF|1=%;y%(Hp7s6r{4df^Z{GORmq7L-h`03 zvJfJ>4t{ab9obJ}%|f~$KecD;iA&-_E?IpZtjwo(G;^^eYs_$GL3iIp=*Bg9qreY5 zSa;pFUJLs3vZkoMSV;cB)y{@80?m0MGA~OdEV7RBw{%4bVdlE;ZI)JV5>T#G0k}8; zB-p=2((h>&3bHW5ON+N7d{8P@@g{Uk%x)-7JxHsl0SgJB_PzYw#HfYbP=~7LN3bYy z^A@xi$QNQsE$;lmRDeYMmsIkEsi{zny>OD&;3C!j@=dhaJ|(p}?rmBaFYZy(RYcCS z)H2HxrD;tc#L;DM5lDcc{Uk>_;m*|KNtc@xAoY+TWX@;v!qrt&&-nLZ1?u5D#A;pjf-O@xU( zz?W0?lZ#ISNuBjq!^)`DVB5Y?N7`YAAo&yh1M`&wotJ;CJF#k9lgQ|0Cnw8akyBzJx=zfydnLmn98PX?#NvO(o?nNOnpq%FC1t`3;fSoHRlzlLDCmR z2RgkX#5)Q2gL*;c`8wYdRX|MO&^vw$P%dbS6&}<+wi%L}tNrH9#*8%&?gi#Y(>L{< zT!tiH{E4hD!qQW}EuME*=@mh1H|geziditK^4QYrYkUineS{Fmgxa7Oh!=UJt*U>0 zP=>JD!$-w*%C7f2Lj1I998Z_(Pn~?aVGbgjNU^Y`PD~a;|HZV_`>E&9}YOl4WtRdNe^waLQ`-9W*37`Pp?MCj z?C6n$p`Bh_M6Kbjpyfkwm&~!X16nVM@z#!Y&xFpi#1pU#KrO-RYVx@7Uo9 z9a^%(Mztj)y9G#eqg=tTiwJ10RoB*C><*Isa`6PRsWzjogJB#ySG-s`x4L@V@`y80qRm&B+pOxRd^$^SAy21Sep#JVR3a*J zWL}$jva06D`(iNOx1^d@(rkFC;Sz*eJ8fPbS7vJnq5Y+8CdW5_F;}Y3&SH`H2N5z` zj0qB=zZ1aN&qW8Q=Jx+ZnMjteR1D$_fV~r+m>$sI+nF$StT&Vfbw1H5%AFUPZb3B1 zx{-(So`FvQEuG)6t=+|<-w5fI#!2@|*U3D1XQ z29O{`Q&9E=ALreQ$`|!aQUOjH7xYErOTm}?{sD0L#=r{6!mVdub;f5WdggLU=9Oh7 zHtrHnu8cyDgs?S1<(Bk&qi;H=F`c1Ru>0iTOw%6AHK)&3$5aTr&=EWB9TE&)2UT3gyNHdcc zf2F(VHEz4;C5dv9#I@!1(ird4Bw+*G>6bRp4EnFtHg3aFdl|~M=PM@kRIt#Gb0xdlE+LJBVMyZOsaz+KjT zWsvZ9TNH}!6_&8pirCVzd)JJ0%N@}iF)ra#3RO#-;+hyZ3Phd7e$gT37PD{%50erw z7?Af(b6U)4DGZuwS?Mn0Zcx8O zB7fOXj3L=3ksZ{~LUWqBi)qb9Lc^U6S5@`m9-@d+Cb{gH*&)-}1HXY_zjM>1DX$91 zX&erTc|uE95}ST-jbUP`(D|GaRwcVxSVHS4+a|$da4n#$P2LvuJ4Y%f+vsg{*w*7BKuQ>A*EwDy2mSbO)x-*Ju@dKQ%+ zz#BBgzT{mes=o2Ftj-o|tAG?uQ8B)fxN$J|uwh;*=14zvV+=Jt1{_(?ST6qC-gcHS zq9yTw?I#3IX@JW0V}Hy(4YK70_6Szlud$w zbTF4y47LTjHD5y-wg)Ashi0=#$)J|+Sz0Z6M{#<3XIKVHDmm=4@ViPkXL#D!@L;Xn z;p~E6AAi8aG2T=Pl$4) zk<-|kQ|TR$++Ur9^y^u)51Fa&CMOq&`etP@(fjzFK-o;hRIcv0`xK2J6OBC{)l=~h z!Rg(^VsV!VUlM2-ExnV$c;i1H8gv`f1;Nd{@JsxWj?QQh{_3ZVD=z<2msB^l-#)#Q zV~%m5EIo`%Q@3uHSLfZtNLXWh^0yQtc)f3U(!h4NV(?h+(F!Xk1y#<{{K|EmY}N#m z=eGv)Jn&Df5mnYy`Q16^f-o?SmY2ZKblki?29MaMr`TZn2HY8^Lm*0`@o{L@wh8&S~EwU`2h zfqZ-zy|tQLQle|=4rTKZ{>P85{IstSt9fc7bHZ{kOSSSj?RxJ4D>vB(B z@N{1fVRY-7Y5oq-nndtX^*Y{aJ%3W9ZMeEJr_)12PbF>iwKfZ5+%MAZY&oTR8xtD2^B;xq&Qh6n_5-8&eAb;x@cY71rIw@Kv4}T;!_<0c&LSDrXI4HYvKD00%>~bpQcB40A|~`VpLN)V!^9 zU1ZbXploXxBI@Y0u{<;qSmnNC=ZS|jn!zEa-)x16RmX*OiZ#A-PAmtAX?EuqB^Hty z4U|C(Ee%3fbfyvtLt&6+;}&njjkN>GYzzVKO$+*44Zc@J*_LzodpN{?H~75@$sSCg zk7?yhl1pdXV+0xx=6r(HaID_uEZp2w=9pHpzNVMQgV>L~s0F!8=+Ra<(6@WZ9bd zP#@%z*DiR>KSXIS`#^aPb|X)g%Ep};jlQK#qmp&k<-^Q8T4q9y6Pv{Tvt)0jeVu;$ z!G9K6_ZBP}oy8=)KVrbyry!hb;3D`$Uz?A-|vp{Q)AtrKX4IIAKQapZ>U~ zV}^H}!x&Ds@V6i48nw9aJvY=zOBcuEGUq6lKkWx2uNM?UM8kDDwYxFRp3h+cGCqjL z1_A+p@+FDW@bq}oe`Ckv5Nr6cEh>ow3+#`yB|h)bRdU+kD?^i5;%u|aXdn6*hx@nJ z^(sczC=FYVi-6V}gBFFF1cs6Dv@TqeVSDo3D@wZ+Zgm7Cx|Nq=>3o8%bXcAg>q}s8e2s@?G>X# zP;MIiR&}(Fl>~0G`XW-n9(HF3A)NHlKF!r%AaUFRz5Fb`cJXJ%NCAU(=G~4wNqtr; zfN?g($kELheu1m+c3Rx^;;H7zvON}jkm{ZX4r7+EAqTh+1qF zUILPP4)WLlZiG&-g*#BQ$7EzL!Q--YlDYzv`ZeO__?9iY8<)9`P_;5E3!OLH64lIw z+(iaQSIm`GacCs18s>4GF4|%ZOAY;V=1a95#x45&&Utri%tL}t;OeZ#E2x^(cpLhw z!bmOy)Y@rsLiQ9V)@P?d_b=*qW+G}(h>tQ!F}PAory1GSD?eC}(lj-q({5;7e3yc4 zt`J2|9+9V>(P2|1Q{n+{Y&K<7h|Xai4iq%uSnTx+UP;bxk;du;!O!qOK7bcTw{QRe002QwO-6tz003S900961 z2LS*A0RSif002QuP)J4q0003GF#iz|LUG%+Q8w`YTY7^ez5BXbMD(9%z+!8X#1Fct zg4G)1u0V)Uq z0|7r}l)G4iIjPrx0?3q4Pq123B|yFz z_AmFmqxs^#Nx)bg{vV)!*!mg&EGMBhV|BB0j0Nko7DJ;E~R+URXzQ-D4%9=Mx9z4?ISpzgvPD2`|$H;(a0 z@XhC{Lq>)=X`|1=K{W-VOfwE7Kuw_5Lg5x4(eCiaqjMzm(zJTusvR?M=DK&RhA%JfmR_2zt9~n*PGPBhbn%S)8}kng1f-X}k@>lP zr?aBbQxo#&yl#TMOT*h%Xv_%4y$DOa{GQh(5VuJSoO;cj^z%wYtuH~$fDY#ZV%@0L zU7LND&1>!KlT>cc<1}!cSXf_02o4yb@B;O1zx@mq$9h2n6eDKIks)bNJ<2 zEGs7yVT1r$tU$1v2+3pBcFC8; zHr9lix>pnnG~<#5F%@5^sA!T+SkZZKRrr=^iy4bj{b-M6s0Wfl zTGGQ`y92bWK))t6e#vo@C&Njos#e924A^fj8jhoE<0p5kPfsVpvW6cZj3QDJ61*tSvwI_<qpESo!6S1a$-6jz6W0H#$3C_G_@ z{R<5IR-zu^)L_kj7Of~$Pp3@i7)K8h)Z(vFV3|3q(#}jC-Jpc1*>@ALjr{$`-J54& z^A&b?Q&W2GoTyH8> z$!KO=*r`*$5|V0;5%1d_hTy2vM0lJ)r4VtMpS8u>gq1PH&bYw;4jnKJ+%M<={^_}@ zFT{i(*J_uL&pMXCpe;4cEcjH=&N=VR2kJFxSl}#Tt?<(~T~R?_0R*5wQo9IO21Pw( zHR_{-8K+yCL*}aFo_UI+p!<|iL`niSW^{pX4cmuiMBH2P;Vj9aLuDPJ#gt)X6$hm? z`8ImVeC4>!<~365+P~Ew{;$>zN8om$XyfHs@c1L#pu%Pi-A3>tZ>HF+)41DQ?~4uMN|4>O;e_xrHdNk5bp zs|-UOM4@bk>oM$9@K1Fof$Um_9Tscy9;!hmX*-jid_vw>0G&%2>^>W^drSHpHsGPq zvn1RHZr!lH*Y|d%DWmlu7Y9?H^B5H?hi7iz%>j^8Sf5gV=dtASPCy0mdB%fv#Vhx6 ztJg?92Xff4fl%)jZjb!9+yZx+BA1NUB!Oao&0RV0F+5f&Xr$>A z|5&luRhJ|PPXixBJ`-?=(LJ<`Ab+5P~0H%dH&<8lPY zhfZn7xRbbxQl0zHj2iib@|9J5Vll2x1gQ?qiz zW)6#@@+)tN9)FpR5n;CbZuitsMUzWR!>)SZT+V5t3alZi`7m3IU ziqUv9;btz^ph{Hm%Wvtl$u)gG8sQJV4ZhIDU>VM z3ho0*@C3Cl)2c{?mx7U+dEcTE1Ic-5HQS^QO!3we$@TG(C#=gBBKhSpuL83a+$H8m zXADb_HtHDMbh}cmz5gkYl0{+Fr@xPyVw@!j2XOVn+6an@Xo1?&KyR?zaxEDM_Cc(; zdwb75YlS4ih?G_waE*5|gU0;(p;bI983F7b3+xFvB_{{~m18d2lLwauTay?id@JI`v~NU@O)o+miWlt=fj0*j|}R^g3j3r-mpg_{I`xVJYKv zo^hBWVVKJ26dqd_oO@k43S~T-xuhc%$55tf*(u5s(_^!u^GPIG`ld`zXu46|61=1l zj1r~{Dv=LXh9=|z<93ui`!Yrtr7Fny^w8z;npsHLoiq)tNi-{i`x!wpJM#iZAIa^h ziWy)0D?~CuTQot`C9ccWQI{QXj&`D{%v7xqHVDOowkgJhXed6Ss7j&$<1HurdFjGi zh1(P?AubT3^nFuSPCP2aDMFV)ef=JlK%2`$9tbMNNjwYnZW_sHEmIG#!_JYOr*TvU|YIfcq z&e|M{`C(!Fm)hz8z-Mv;Ct|Xh?*w_nV3E+#CQq-7u~9A9u|4B_nQvODhPsyBDZ)3F zt+@M>p@x!X9~>Bp7~FX@E&gO&sf5$&tSD3v{@1nbTBbKJvk+h~1(dx`wkM6&7>MaF zo|2dAu*n>J*fggo@d8Alul>i-=tukbINn?qNm^$tY6U7|8?U2wNF$rSo1}EaR#z_& zQh*3s+qs}h2^mR~^pWN}!$>>HP9}F9y|M&;8?08S@RzY|RA-l4Z@N_jov8QL zA=;Sm*h#cmNV^;YE!hjv2Rw$1K0IUKCKc`|s7wNj4g2YQxXtkZWI&t0PcKdYuXl7k zB?>J~FubI)Wd>AxZuh>@aWDv$K~J@z+t*uAuaBI`mOuSgo^|!mL%39QH6Es16#K-% zLrUBAaJwM})!xg{r*7!3ihOuPCEbQZpI#8RGmJvfacPo7Mm_Bo6y<-3;)Z?qw7Af}=&$s0EK?$InGx58E7w(@sl@xVT$I*!I00N=v#czfIOytA z90IpqgQ+6;L$Qm$AX`hjjCjvhx%1I*%-qY9J|~c@%9vCloHbJ5OqMbaVEsgf?r2B_ zyP=1Mfkmmx5qC3LD&ly2SOfp`b=xW?W$&sqS!3we3~qmXPhepxFRte?izp7{MxycB z(R%M$!wE;6adLDhDel!+ZPL47I>D%cfhE=i{5EG4MeN}dydrU`U#;?~Rr(B?kz$Nv z<<{z<=pLRHQS7UBkgnA}5%;5@9sqzBp&|fF0C5(Lx|10P1&@#v#wVOpt)aq0;c1q+ z4VBv$M!h%hXMkE2=trWirzf~l-4r(^%~q5H9^1w_$RG_MrbkIT24DxsYp9(q8_KSk zs%kPW^K%_sPBoVnw4?eA>_?*C26=wM?0)7*5aMy_WLyEp5h8wLgyv66Ia3aw=;+`e z1k_wtB+AjN4sY%g6MZU<-H0KZJ=U=@pNbqO*q=OXPdt>Gg)_bekY)%G7Q zYdSQk(fLgQ7@%;i`A0J7o`YN{dx?SkOIu4B7PM5iTvZ=j--~6mKP?1ZWpsP zYO7&Wqkm(;pu$lV3A-6P8chd2b3g%r& zv$ok`5}mK}D1BpS3F@UKn$s8H$gnpXOH|R&G{w6V?&Fo*ehNdjn0yN-&=Qsr zej;|{VCn>E7s+eqjpHpCHgaCQ);k-Y!-H{YrM!eL%fT{!#WBlf^{QwB7F6{IRx=`0 zl>fx4n~$Em;EjQJm?aYpZUQKeMVTWX4ZOSwG?0OIFVGHJf?J#8HcN#C%kBoxlZ|Kmq~Befy?5juuR*sC#gEVw}4ld^N%!d=cIR+y%qg zk1!`CSEI`ZWbVBz-K)fm{)VS%n17H0gtD$$2QMaD-RhRs6x*dP6q1*#*^B?kivET9 zpN}5}?57L$$us%`bmjKxEzgQ)vZmP{!+@WxH&U7SoFZ^3&^v+~ss|mUTjb2i<+x`; zFxT_i&wHUbvAC_U<^fwGHHv}bgv^j9_}3<8UXUs;G_!uLRqBBZhAS*t(&2(UNj!A! zx5q`&vA>qc1luEvS`8r0TUs!B3O{TXk3Vn|N@?8i@qzr{BCR%=ST69# zt7@@tuk-nk#%yTKZ^Di*>sAPN+|GN)%?1`jj!&Y0M)1sTw)Vim{?}TZ5DxQBwkj9l zW7_MV$Jd@vR6(X$SC2(^o`M4KK2SAwF;Nr0ZkZ=hnTfWnwnr*rOYS%9Obs9>gsIT;h3Kglnridn6K8_mVNea&aFwir}JtuY=4!}J11TS z>C}vT#~{wVy<43DQu(Yv{drwJm>OX-2IF*u+<*QKNjB;}H`LOJ5lKnLrWm78c7&Rv zI$bPSon2(p$IhSm6LM!C=Rrg?vV^@Mm3V19&)jGu4KCJKIh)e`KojfY`T_9SjFzME$}V~JM&j6O4n+{mL9|pQ0TPz30E}f zmryPIIhWu+hK6z4!UBHrw(RL*URkC5D@|2H((U1`)TpLC{tofZmHnbRhBX}<9!DoD zIrDgSttGdVT&Vj8EppR?LsNl>q{hS4zJ-@Ml!AvM)?{Lm?^p|oOptOLDB;g8-ssT< zDeZf_EE4m`W*)#aQx2B2689RJ)B7?(6-t9Ru*HO1O+$h&E2!qP<2&_Kk zLS6%ZA~0`UOCplkGMM<4P!JDR6Np!`dUx0wq20E~hK2)YJ`SRzT4;p4qR@}KrV=w9 zt)A5H;1_z!Z6NU6F>e2u5l#YFVfzo%N#6<{>M;{M>oVblnwaE!|QyGrwx9KE2;oG!UouNTUcEWG%`HK7HyHwq?df zcH2J;?{yt1a>F~H(qBuxfwg&&P7e+!NMnFzTAU-ToN{#>bB$`~!`vX=PBCs4ueb>&4 zd^T2ccGmcA51n1m_xN4+=4uOeOlHd@y@I>xF{-3_)_vS!PwWIMQq*Ls*{v5fVM4de zjgf39am_b*);Ldum7u&WeUC;1l=NrX&J{Qmk(qsCBl7NB;s{!KMif30}De@rOBn%SATV&dj`LTOqt9OA-ZXNuY{U> zQy61UYDpVLzuLLjFQC*11{3CyZ>7iI9}(D;Tk}q`nif>%aJAfu3l#+-=EevpXfth# zn#!LZ7W(9V%_84Rj6}8*G||Q&N9nm6{f%G%PKO~*(l4j9uhKY%wmE9S!3A?vo8k_+ zt{&67HrvMUo&&nO8RhZG|KaK^r{D2PQ?GNgq8B|b+CtFO$wRw;*Xj48k<=ZQ%;56< z)P1S%`w(+Siy+LEvA<{w^~-+?4Wsqps=ztju&3r(Nv_QJWY?z}3{W-GG?cNS@k&hU z(8F-b-H!d+No*YDK?9R|(NHy%8yPq#PVORxC6~>ug#a!;*C@IR+nWkL^uU`tGg1_I zfvJp*HlMf|B>d9>#Fpz*b9fRui|b0^(JL7EJjKQ^UtH`!;1gkgZnH7)b%*&{FrXp=3MdO>BhS{E0Y4<}}7KvVzfjaZ~Da=OojVkje z-g7b0F?|0SlK9i?V@kyEq8}qFKmDVhZqVv7z+r{B+#(@mlImb3dbm#p#TY~EHGUap zh}-1g3B9qjsWkqGuO*X^T1u_XVQL4K$6sIcZrM-5gGo0&e zP4*N?+}W3&qb{k}f473(G-1nxqEqXF@(crYD8A9frJ}$ZifTTlM65kV3;DUfNr#uU zPF2YLev1V1%2x%QNmWIQqiKfcIfV{RsK%K%xuOM0&=bo7B0I zLVL5++K5i8xQ7^XO5Yv?LWqO=+U1`ar%dBZ5Zwrc*Y2n(8#BjRl8(@Q{|H(rjYwQd zP*+6d8;uzT(u6@P;V%pc5v5hq%=3hw@NAI{)LbrJ>TTm)CVluJ`lNO+Qs}mhVCh9c z`8srf;ySQqQB7X#X*(ey5LW1hfu8PxkqWdl7Fa$1sn!$dR#KeiqaDj%c@*GG&(NM? zmNiPz=iWF$yATiuJ1GI+r3#+Fvc(ewO%Sr>?fSE}4%dEo2N=T>h}$o;Cz)f|Mn3SW zNs!QYI=^(nFj0wVu}0q-!zc4NC@<+Lg5wgvhldoj+$Nz$1ac*2eIW+TH=I8Oa#>Df zIA$mt`&9%`XWLSOGh)4h-vGY<7srB@2v&?-92#F8Ij3&xn0Dqmo(0GRDR#1VIGRoA zQ$wNEH_&l`$p4aL*T(+7kM!rxZ*v1UKmCy7~NM*2_p|uL`jW z6IXWj2ad8e@(?Z-eK~Oeb_MvvM{S*#{dmCO#!2{PqEIu1AJ`nw;~@J=2hU#e%nU>D zJBg)CiUHEPZfhZZ*|GD5l_clBM9GU(q&R`<$ZX-WEK@Iu?NMDb^`xlK{4wesQ`_Ltz(G=%rrn}0foAOQBNJ_gv=MS!TXhRP4;q>72 zIlDgjmu6dEa*QjXyC1To6!^S+K~j5I$3EDmeKsl3o?O#immo=iJ;LikytBvxksO09 zI|N_DD&oqb`*hiFm@Xh|PGXJU5EqpuV(&Bnlp$9Ccq$yJk|vRqoO6)m>-5>s>y;AYxhpU zggfDTr3Wywi5fjN!aT)$+b+Clr2<*o6_a*bx~Kyd)KNQq(tw=>4XI+=Gl5ASSb(&` zbO5o=W5%@Blwz zI(A`GJaSc1OSlu`s%d<86*-}pSgYp;01O#P-+N;2#l!6mfx38s$y@9d2OI$e2tLq5 zP_OJT(LYBxM%O7Z3OU^>MMr*!3>v46%ypF12$yLa9~!;baY!^OQB$kR!i}#&*f|Q^ zG>J6gvk8=Izgb;*4FJ4L#6!<~k&B?WULsyR9Ycx4^^yrC7FvfpJH0UC&QJexiQw3P zXk&@J7Fsm?Bicf{h{eJ6h?r}Yh4aL)TM~e>BP=A<#d^TMsW8*R1i4Te&QiC{P|M>a zAEL0o1&rNTuCu9KyoiC$qI3Ru#Iz1Zi7h?@qipzbsvb;ds@GF)n= z(Mg@cL>#VKIVo@V+|{iVOtY;Xz}&mT{y2tl>yYeLVH@D5+zwd8<6`ReLz4Dz1Qotv zb$FswH<40O_2jWemt(bCkDLz@wuL4pBQg4XiYt%C6&FP&?8M>l$GOb-05S-oao;pB zl`I^aVWUQ{QzINCu$D1@^si)`-!mMB*rid*=0!w{fp|eSJBrRu6jESBeH+t9`y{4J zFG#RrG1A#H)oX4=3mFMj(BhgM+=+Huxj)UjqTu$f`z<&Og*I)=pu5uYD#A zG3B9#aQizK_wNv_q*^=e zDw&8{3MnNnj(uIwMal@yKx6n%5Ubs{?Z&bS6wV{~$*dX@2h{)ZwNq8lw zdzSE*bQ!WJr0rfb;Kn{^`AEcG$nBFJ785ulJ}4s0Nl4;02g-)cA%IbrNU+M9uKzD zn6l>GfJ(fW5KN+dv4LhwhcKcQE-k_^_J+#!i>*@IdmakewMHu_SI?e=bU@nD1HNxv z5rte-b9|tY*(y&CIXU?XrnNY-lxa}?_F#i0D9%-***$wX7V+J{@JJa-740eumJN^d z(X^s#!D4wVg5bvd6GYiXEHuy%dtgH1$4*MvP`6UFbiUWMKO=Qzzc|U)+nv{@@QWDT zdM1kG0;Yobo!3Khy+sxlSh5s{$D}}cV-tu(fP4`X%NdEXxFZbW393ekvBza?grn2( z_2|v4WFR)Pv%|>kjqsG#bC0?$!!*%yD)Hml4AknZHXIrKlMK$>zLmXNUP@XRS{-TF&ZpKUhkY*0y98 z6LvX7;hhjF%oL9bek}Y)+2>1~(;3#I8PhtTU{Tk9<@Mx@C@TwvJhD|A^`e-7-}Pt` z!kEZZS{4m8N+hUH-9O++Mv4`lwr(g;CDD9YDU{4}U3mB}GLi?48dJ=Ws-3!e+R#T+ zRdC|{cvvY`33i<{Ti2u{3p5nHO%AemnR!=bYXxx?kq? zKe`r>f(*1+8CE87h#A1Ld_4~D#RY<(2K431=%>@8n~`C{NxQ!gb)mPSJ+S{NDvk;9rBZvp z9(1VFyDV{M7V|IlJv|uJ8O?%&2RW_>Fj3J&Q(>@=5|F>(X?3UyT5{1OE7t0rf?y}8 z%$;^#zq7>-`xH`JPyxPD2tDF z(`|=pDW7u05+VPng?M8|Z=dBTJe|??wTY;Y>6!hz9-t_&nDqyeK9}h3uuDqmt;eqA zo<1^Cj}n0zcW%Z^kMNVfMC|x*;0raLYdTmpR7e}}ysh%?Hi7i;*Zb!27al2sCtRu- zHyF}^vX&LymU|P>!;LVhsXj1f?4}javw8%h+-UE1dP|3ZU^BMbc^2QkyN7+-sz)4z zz9&N*E!ZPnTNV5RyjA}ck;j``=OoyNlL}(K<0R&x87Q7sUBhU_`2^IAJwsK3ij^U zWeH2;$pcL+Y%grl3yxFFe#(qBivRqFTyv>Q;TAU-F}lL>ZVsDC(l{iD*ld7;?(y2L zGX&Gdv{Z1XbQ%M_Yybk3tTY4>0%uHj7WTFVl!X;x8vx5EW3hg06zDAcMK9KD7%mf8 zsVa_QxssgFp}@XK_nC~hc=LHhW)GWpdrdcmD!MH%G0N`u$Gye)*YQfn=-2~mh`^ud zY99ukuY@z$AdM<=Kko+_fCt;vDaR4VFKiG0cS6lpPSXYD5BN(NK5{*$T)VyCmI9G7 z3%>x43V7f`5jrCecSq_8nYw%&ZEF|7yk}OAe>FJ!q_wQpL&EH{OI($jTN_0XiFz(z zbg}l@!r^0!-h*wNUIYe5^2yMyc?VGxDP-6PYlw?~Gbk5_bs^|;kZ5_UpD|D!15n%T z>kJ9_X>$OO+dhrkUGNiA@70Qz^~G@C8pI*`uQqzZR1ClA(`SrO^5;1W#Cj!z;N=8` zWzDFM1$ZXjIoKB1V+F79x8uOXI#?Lp4-t1ALE4Q#Z2%z=l#K@Bgr`OAbtA`XdN2e8 zQ5#JAHprcV)mzVHqTKkNKCtW(7kUZ6fJqSocm((^(bx{|fw`3ggw)j#!tq1A!y1Eg zz_|f-d*Y$LYB)^fkN^NdPEAITC;$Ln0000000#j83IPBp0000%Oi)N#000014>11` z5yDX;NscrOl0VC2uO&UQBG_4u}2^HJjW@jNa41MdC_c<1br zE5G4)zx#LkKfM02|M7QQckeJP82=Z~zv{fW{WI@c{-B`{mY;03 z!KC*1|8F^UM%&B^+v$nz;BhCZ$;FM;WB8b6I~$c( zSo;MYLABLBFXGd6Eic#Z@j=EQJQO5drJ#5hw+LPU2TDOVuQuNl>qmMpyT_3Hx=}T7 zkyvins|Dp7`ohs`ChPtrx7m3lUFfr!FBF-3QW`9us>3bH5keuo?#W?$_YHtV@JX+* z^6P>^mmzLK5}bNQg(~9h`-J4QN0577yoRmwU}=;BlJknx7A5}sB;#bW8w-8C9-k%U z+?$B{H9IS$_U+h9ViraGLTM6NO4exf=m_H&B-dVRU>&ZVx-MX@db1EW05&X;-SI~T z!c`4)>PO+#QQz`_A_ozJQoOBjz^%#Xxx8ES;X=c%H6j6eUN~6f*D7w*Pq`ch09a4K zjDPj!OY&od=Czx}5k4xKtW7gEjVSAwmlvGq?GmW8EgaTNu_N0_aMI%Gbhn;nH~!xq zpW1Okth&OeYEDd?y3(4{=&y(q!3ZSWk3=KH2=M52?}*t%`+c*|-u#4z)c69`r8->7 zM$a#Gde@4;HO3BvO=JbK^@STT^{6C`bhP!yUtIis{_hB#E!+NoA0aRJod`maVe61A z+qk#|p@q0v7x{)Xo2q(2B-%}#N#{($m$X1fwRF(Hd}?#uDuGd}enZNQ#9nHZx#0id ziUS!BeHUH|9*!=aA>5*(Z)nHb0nq=Q_$^yqB`das*IQaaFS2gRqOCtLKQDGxWu=jH(><4R&ua@w1`YvW(2p;sOxepY8O!84sx=5$$^tm(BQcG#I|K}%1Vnq-L4 zS+B?d&+cP5CMhLn3nQ?JE#ndABrQmAT|p<(g}j4b7J2zobj0V@QR_BtMaBSW-m;qY zf7uHuF-P6)e!yDxYGQ3zNC^gd=^S%tvK1VcSUTOX^G7N|U{-01I6f3;*+9EE-^Q7u zZv~jB#>b}`Q$S^(J~1VLT-1|=92ED|C232JwX^#4Tj^c1^bfclbbKIN)TG70oi zE6Ih1zJ>WSQrithfrSiUz1##7F#7NetmASmG7kh9Y`U)_U5xh8o}3 z{zMbxzz@*z>iW-$RtN$`yfTx`vUKAiF+C6rUc{eAm%xX)DijPb+Cvq#$sXwfqmB@) zDgRei=o#hzz*DgNi0S3SB=(dkV05I<*Cq@=k;Zl7ImI$OYnt z$Ga@f+S&|_e&SID$g-{~DgfD|_=Bvg!&Pa+5_&^6RohQ6DtPVq6K;imD30I?(VI7`cpR0$v!L^lFHV63xq<A(=Br=24&H4#j&70+x!89qj#G*R=%0PFNW@2TkZL z7cpvO_`9QieWzm0m(N&xM7AE1JD%w*nhTKli5We3?q*DLb6rkc3yv(3<2hR}X46k( z&EPgHJ2|r3+to`GL=j-b!Q)?37090=t}b`({M5j5xq1Pu2%hni@!~Vxqw_^eU<8lH zm=HWihNc^>dTM&u!pAddwyftlAm*z{+_iq@7m)xCSL(H0lAmMEN3vWH=sI$lfvhFgl2h zL}%`{kfHav+%D2DZ7gnVE$S*J?(5I4&5;~500@|Yq+wLKf`u6Hl3BJW6(DPXC2wH? zias}kq+11y4USG}^oX4*B;zZguE-D*$i#t5Fo$CRP%1#z0_VYQjab*I79N&Id>%tI zx~}j_tP&P~RT?*#Q%GDcEYq!xwnU)XQAY<7ROWR2%}?Vwp&q!gkmvLcd+rx^`eLn* z`mN&{yK9QvZ?eY9a%F8JhHY9Vk%Mq{k1lG=^ zxcIQ)b%&$KxD(5Jm33yu?yT@{?d)R;$UV51q&_a~p%l`uwM@{ipB=KX1(ePt>ephd zH7QnpEdxf64yz6g`39E#1D7F?`A9RHUALFua=l%_Pa${6r+su<*a8l|w!|!ipUbwT)e!f010<*-@Her{vv>pD7FUica~=@=&BJi;(ZVc(H0$ z8pr;e*p+%wRhMfJqZXdLb{te|o12B2M?rHsns)%ITYl;J{gWA+jL6|shYG>OW*u!b zH6f>EeP!S7UI1{;!X{qU;NZAH#kunkW()L_FyO&>f|8Shr9uBdS}zQ5sv284V0oAI z=={e&VC5(}_P{AW8K3XXyV?DR@Vv>#cYB$@GJhCzrqUI{{Y39&+u}fJ-3b)`xojvl zcUlrGuDSztF*|2EWh4Qz5=X76SR;8%#!-4!2RJL!cmL?rW&el8Cwv2U~VDhJY)7=o7H4C%W?AvG5a z6Q4?ou`-tb>;4m&MBNz#OlEaV?#JnJDz5Tc35@xPn!#fES~=e$EvqpaXN~asa?9Oa z8_TGLQX|Q0oThk$Ey}b7nZ(%mB0lxv9R2PMNm6iq&7aLNbVE7dE-hoGB+y+nt(=~g zr22~6&q#^2dL`i7@9k4jxPiE3mMf{ayXNl?Hzc@6b|O4tRxXOoca6|Lx1YTCs(8lE ztIhQ`9&9zZ%oQuRxN{j%xHIE-$gqikt{P@TV9>Nt>fdgz%$HJHP4}_wK#4Nm+nC{3 z*I}*Zej+?CCZ_tRHR!>z@sx3fL5$g3KRKEVtOP*zTARn!8~Q)*)Q1_0?g%f}q6@iwr#o3G@a1YDIZ9lyn}c0i~kGH}2zg z@t8p0VI?}+w=K2m*dDFcYWPZ60wfMZ?>=>>Q-z);$(A4=-WlTyQ|LLOn+$Rc`?`zL zEyA&mw1Dhg=S1!&>^v$+1*Dx>)#S`$kHUIGQldJ)pj+2v()$| z(~49FoWm`iLM<<*4RFb$=_V#Mf&Im>XwP+J30k@)?d#gmeqnNQVg?v+W!+}PFUNj$ zQl+;+BN!=7{gb4Ys^Q^a_j)wYIa|G@rrGbCv^QJRvU)n5+5W342RrI^-2tCf^RyVc?-i|pF8p4}r)F8M)X&bqDLA1ULJlE_HR^@r;hr|(-rE?M*f z&}`X=W-f|nQ3lr{@^ESaVyA=I=cKSEF5dMO=i^SiMOU8<9=G*JUlkb0#~8XAySXW!>#VRB1suosVbrFrsZ%9tdJpFl&Xh z#{cL^e(3sXsGmmqq+}>RYrP#!`r|m*$kPZsF`|ccP(Mnl_h`m%$yH7NiiUGjl z=A}4_3U_k2$D@Tnf~7}WWN-WxIENs&c>r_R6YWzq06BoG!Q^hKQh(PWcHRlf4CViA zTrYG!5T)3^73`yyfC@MKSs04=U=xqB=Q%-;go_-w?Q#8e z&4!Kb!t%sJfyK=Du%SgO{D?~_?enWAtnrt%&_cK7Au2HlN2ZHJ0W%BzMdGZSV=s}D z3a+_Ly2T)G6s`y$4KU7kU~O9#R%MA`WWO8#F?euFL^nT9(J)P3zH~@A%!c8$@n22? zguMAiqScTB4INc%Q52F`;pztC1Y6i|0NapiB1?otLEHJ3IKE}MvDSK+z4?XH9axpZ zD^{Ps+`f;WsO}7a=2lYY!vdc)E*3dwUE&OPq;KGh_DY)U4$fdMGm5Q=G+HS%pw1JGC)L>&zjYR=S^#$yn@i#^^iYG@Q$8ca}=Gw5({-vHP0X{ij^c_c- zXGABE(i7W&pFK3*ciXd-5pKQ^SmW(NfsW9oavvjk$mO5rUu1kPCSGs%8y_`6b06!` z&#bLy1hdrc_dqdF8vDwGa%N^r>D_0yFVwyF9YLVQWI8I@uRhui)6M%xD=lvNN#15t z;Dkc0C@^^6rcaz2IP8l=qE(5)@7v4zZSY?4vZ*6FF^$W({8{BO!d#Uuq|h=)zV*x( z(Awost%MSpG1w2XDnF&(2k$=3ekHiCQ9eijxnJQ%lLq!sL-&}9WaEkQbPIvP0Sa>t z!gYa^K6LaP4O1Y?++{+oqkC?!dU$pwCm@{&s*^hv3p@D`nLzeHiQd4`dAF)ZK1%nV z1(PVwnvU#cOp%yBal84E>l8nmcd zAmErg^<;@75PKunk!jpj3LW#VInAuk#4o!K&_zCTfJgbpj2y{-S7m{@%pmi1?|2#U zf61c9RQB@d4`Wg{)Vq0{(Ia=HPzyp0<-H;gmCUyeaBGY(wySHV++b~bQjd!!r?wbbFK^S3-{BdibJ4v{^pGVw zqTna(1_||`H5`z<&)<|Gr-EWE#X|Fo*Pc-bV$(i|Ql>HIBB@VjxPXfnfr{kF^DXhS zF85)^`~67+N20#KX=!eA0;OF;Z0ywp|6Xx1AP+COT`deO(lJgV;SwsV1&EwaTek%7zNufZ`W z!7c-A_x{7tryGmNN^F{U??|fI82(}PJG3)g_S!64(>aAi@m|(-H4t%}l`NsqLvq&L z95%ImM*x9pIwi=)#V7BxiXn0=mUbuDFm3(#*O9W952( zrF8fSv}o3dA5=>3Ae+~5-H2`G!%l;oMl3%pc47Ry9bf``r7%K5%9~{tSOuUnNUR`F zF2o*WdXKo{d@|efKvo4tla{dFoVEiPeBiBiATxVcVFXr<$L%Us>gAbfVW3=>BT)(B zr{BZ7ean4by?0%JqXj_ND982}zkv^?+6vK5#$9F>^|b$eb`CcVMJ}_`|7Jg_(znHC z#G%_ykc|Bl^qzy&wEW`u6nLrQzybWyi4TFpcL6<5=Y9`vA{4wJgY{5xLtZi&8#w0$ zyhi1ryD&5H;m$B%z)>}Y{Al6DJ+v})+q|(TjA^Teg~2z&v9WnfpzdAa?I#o4f*(W~ zJi5B!Og-f*0Zd2nmi%w#?k;9+Vh^C4qw2+#j+fP|;wZlSmWkB(V-e&q(k_7?_A^vI z&%^7ZZO*yb7ONYZ8^q=<6a($^{hjzslSQFR z+(A@DFs@LMhyD6knEy4N+N9+QSA|PuCE}EvrI%wl(7bc279ag3-jt49u0a*V%o<+N zee(#^X2T#cl$+IlRVy5Sii5ysS^F_-b))p?A_fqee?^%Cn`*p}6mzIYc(td~4~SGN zQ%j`My6^g>YJBa<)jd|$kqZ4#)PG&*LnW>-G8-un`pBdn)Vl-8^8`>3>HnXY1JpFn zUkY|%Q3};WnU-K6R3oRmi?$vULSPmd%{aSskulIaFkYMueb+|_2;JPsh@*jy5n|Dk zh(4CeuE|dcWPeyzumkJKNWDag&8T6t=p&PXPV2IHTFeWX@@tYNa&P?{GQMD>?~XP@ zb%LOvSRyd^Io*tG*lnYHxI8=ty7A(7P^QPB6ZwRTN>vcDm2{%xu@F6FBfq59M!v2K zc(|raf*!|c2Fo=4Bq)8aW5Xcymr5F%L@IB=MBUpMQ+BhX%<*Zb$l*NSyucaS>5R|L z%M=RNv|n+OM{hg}uuth8Zg^w6u!X}ofi1HgbJU!^V_#J`OqQ;nFB>W=y9UtNoc~Z# zz1g>R2;U>J*7U?6WhuMmgW0g!zB*=KAI6^|i$|1wqbaMn*zmZmbvcAnMTWuIy9DL+j~KiAwD=Bf7uG+GgJa=7wDO3?sv;jkH) z;v+b78U8qF=bE$YA~wfzST(e%N=Rc?M1%{?4ezqNdV^pMKl3lXzheUASKDoiIh5P5 zn!=XLc9mV?*>F1@!7qHp4LlBbc6o^`IWp#28FapXXpM=Qd~{%ey|lXKBgw#uy)lcPs$U5Q3ZC?8sET)D|{c4 z=vScp@ZmMy%{P`dX5RBveN#!cF#rYl{#; zAVM3T-M&J{udX-1JM8-~dQQ0|Q{avmV#I)g32g0hvQ|b=0N?Lj66ajHX@hn;dO(eG(Oj8s6fIUL+hogy|+_jmz}#t^-84nHtjc{i{cxG( z02@+%CfEM-G*=SY&0t@M<_DtbjD_AMRlZRDJKG1Q`*S|}AsiEAo`b-o{6|Rx{en=c zGd7WKw`mCbw`rcG)u1dNZvUhgqk0~E2E&G2^AQi>_%#n zdh=5J6m4>y7(7cvT5V)jfv~iv@HD^CWMp&dsVhS{2jI%jCvi#BK52R0d5jph>fFB) zU?*DhPX(3qDr3d@#$o=>8)jW42lh{5DeMobDLgGdgbw+pa9naLqL#;8g2F8b(eCBm zzh_Z+)KK5^Il5wuwZ=2~;0SjwYt7A~ zfY-efA1*lXmfdB1Ul{hl)k*Tm4k!WMXq1j}FzMDLeSnKdg{D)*&#Q`c#Y566NKt8V z8lgKQ5iB02I`nX(StOYQ32)b3I%S-Q)z5lD$1WwXH$3rTvH|;^Rhx%~&qT_kjP_NQ z(E-$+59fEwef-?8<2s;CXUUkR&uB8i66F{oaW|tc7Om>xVBx7Zl9_UqW>mDmR=tRG zff{^+`&zE!F3+YV&Kc#QI;pvzoOCDENTh-zK7r7HvO^1jGLg^qj$pWiD)qLAZxiS= z=_7rZJ2V|>Dd`qdop1#~w2fDshjmsH|D!Y`@X*6MlpnNb0{Vl}GE<++7F_phiL1f! zk?5Y~>N}7vCsg(_kcFy@jNA;RQ7dR$5Izbes{mn;Xi4QwzFP_c-wc{IqBJmD%esJR z)8u;bz`qNHe2X}z4j*tf{FT!6yIcS$E}}>$qQx9H;e#z{TqKqIDp77us!*i|tDSQJ zWQV;nAaNRB9=Zzb+mS$JJjpnCR7SzrwlLzEUqw^~9rwu068K^siao5bSk^oGtctSj z%ViCNcUsjL$hQtLf?lCS&yd&NhoHrOs$dxjZp6;$si?Y396FS;4lf&$ypm98gizw+ zQRB&|#pDPeV>=%#1HcBR1^Aj&&ghw6wEZSnnMWQ4)QM)cSepcC_!#E8tbygP8W_Dz z&3kP=7ZCLMH1mvDxPT+Mzc6(k3adiZ-a+BbxLz%K^agWYeeD~{E-)3Fd2zO#8u_ww zAW#=D&ECo6uTwHhk5u8cR+yR(=sq3CNrhYES5SuJKW>U%~ww zIALJ-tZ$(UbRxs~J}tskekecmNHZo%qI!y&ODo-~vgc|qrE_JZ!rlF`@F-Tz&zicv zZZy`Ff_%+_#S3}7cz;6DeaQ-eV$k0gdvTWj%O^w~%OHz`Huniy<-ic}PD?!NTr|NM z-TZuV&xl>Ps(wQl;F!Y0^Wu)mY@5P{rWa8SF*sy){OI*gUvsc*AC?Qb=s4` z`)?E61fZq`9Zd4NUe)z^coWC9G{@$L^c#4Od~-SfeV2r&p=E@rt~<)_){G&z)pENi z3O>@?^gvp?Nl+$8(^}O>)fJ0QA-9T{1JI^M9E?8nBrcMCa;(+7>YnI!FFGl+IQyaS z?<}?pH{djo9qTH7R|!Ad0oVcX-_Y3{>+Q;r<+iEMjtl_?IzjnJ@IMx2#3yI#>V4IL zckHnjoYzEUEv&E`N}1d+^GC3Hl#C4`RNY9}jZHylo_u(J=>b{YO}|n%^vgmm#Kx?w zANNvtrxiMK+XCK@d*+h~r}RCvJ7FfM=ueWSo&;!+2yfkrXBOm{`raoX0&tdmx{m{~ zw?V2cOb0V;8xy;ajUbA`t#RI1D?#jjJ#Snp3LDs1|8l=#P+ahG9Gi@*eDK z*UhY0JcdP?JHRByj*~p#T*2x!L?q?J@~~|eTH^G^8<~b1Bi|m6L`Qa}DgJY0fZO`u zDEmiCe?*0|nvfeuQn}Ks_l$erz;BA+D5DV#nIxEusJDlvgJcDGuY#jbGIH@nM5C_z z4~#!r@=z;wl5umzZF*$39=YCHQCf6pH>9=Zj*oMr7S3fjp=Md>y?b>h>On-g4}Gi; zcJdK%k=>A$4R;d@sImU67&>T6_hbTGdTbc~BcLpbG5t(;*+m>eDMWHB1F#>@b0#jogYtf+Nd*jN4ngJ%(qCQS4f@$Y&UsoRv4oo z|Aty~YgCAD@%!FOG#|zq=TuP{iqUv2f`v(!NepjmTV%?fX%x(E~Zv z4naDdY9@U!H?CHGCKWJol>kh{ur$+$uB6f^_1PA@%=?VEj3Ct&i4VgK4@hAEW^kn&-K<(h@>5LZPx~I%AHc^&@4;uUwJqhtm0|JQT6% zKsDAI)6;a~kvkBbPr_NH8TCvNr`Rq1{v=aO#XWl#A$XRb<=fBj5(LR_xteVeoep90 zmj04V=CmtGuYuXKdX{1DYS4mFQD3)D6- zGa9pah<0yoom0xx)XPG+qc$A7aZ!D`49U*rufEh-drR@L=U8aI4U6VzXH6my7s_4- z^I}gq{Q8q*rW4-cz4_Iq09X&HH{`9~NW7tw@C;{Ek)70XUyRsziiN648QlbT=!{qb zrL))G-fm6{Is6SPRJ&PEa+qapApnMYeXpOKQyCtdzKJz!vtQ*GDTqKc;cf$ZAMrMp z=;aX<&?vH*9v;iO9`Re&ds<<(2Q*RW2%4S|ZR6d=i`$tGseNR!FeCMzOr1lNAi%aD z%eHOXwr$%+mu=g&ZQHhOS9RH*{_oA1KkHoNHc#HT5x{y`b4Rcf5mIJ2UbD5~=?YeF z{GhEpL^j1fNZ-Mc2k*!@Fx=Q>#J=+8s{~O@m}TWd;t1c%=;I2*zwx}ZBR4HBy8v$R zc^NGNG;eXzUt-D;GEiCG2`I0Nl$SIxgPmOPO86u#X&Q47BTaf!nfhjc*K!F&^-UY0 z1lJv?3bXNPA1W#B(rL$xIxTVtl>zo})*HuUcND`Hiz~$IgfH8JEQ3-W&T6gXlSpVG zDUg5FADx+!gXK{vIaz!m>iVj8gp_^}9i8L2z4k;93774TH206`dNIcl7NQcq4gj z=k-?%N8h7+^?T9u&Heo@&nOLZZpvfQ*EX;1b0l=Cv}mfQk#255K!bhWM!ow{NCv=| zY1Zt3@etj#EsnP%`$H64cCHZ*-{7!H9eOw!IvREi+ zZS?GTmV{d%Axi-76l*E?NX-c;5%m{e65L60^1gw7Wcz$MHPA-Nx(%sbx*b^WgrP~Y z%&%v-(>S6l!a`@o@vYGA`c$rcGQ&ZZr~c0Aos>TQ_<|ffHqC&{H-ZpwhW~+uK?vKIYwJou!JrfvNuHVXu1dgQPiM z;c!(@%fH>_!EF?0~o@$_qUT< zH!dV9)-ohV05ruQ*lZTO0Au7EeS{i__?X6j_u}Eq8JE*tOtLO0l;F!msAC-yI87}MAQfI@GVrhaAsEfCM&5u!8yNIEtLz|=mU0fm0jOKY<3 zV9E>zeMyB11o!WCa5wcmx4q=60SnudcMLWbU$tkZ+$O}Z8wZll1!?8J?v=j2@C2>H zVWeX6Ctj-9dvhyi@lV`V%P`Bs8h85=c!a0xXJS1eq9ORQFue2YvwBQ_R|qk=>bMrW z4-x})=9NGzHk3#Dv|Q#6iDfc7uuliqcsH><09mTM%_?~yn}AJi5sN(|!^TyVRx5P1 z5@oGihirrPG`Fgeqdr&N&re1j1Z)!&=BeuogzW>9n~`JV{WNcMU3vFY^Tzi7mrD%& zuOITiTq4~6a*6+6HCT~EGICY$(@hiZqs_U#8*#y}5HPAn5{cj4gTe?lSd>|lzzc;! zHZ!6w1uDut%&bx1g+d{dB`Novl8|OolD%E_%O$454#N7d4)#CQV5EO{Cg=ax7771< zi9|x5EB}8)BF9|Z0WqVIF8SFy-CmSQ-b>#subg|&*Dtgm?`K(%9OtJ^*ILcqt=HD~ zNr*C5JN8k6~s#V}hrsk%h{hoqK z?~_lry(}^uFVY=&v6MJz(#Xpy*pdPvQ?cvsqrm)?(;Wyrv}B!)@O+U-JD%$b8gcFK?w^!ku+{FtkX`N=t=g2E*M0i-(1|>R(`=|PSf&j- zbzwri2wf(~C5!F9UHCiZft@A?ip5pc>0yVd#WhM0xb}lRRWiK zU9LhKth%1LtT>Y=C`@&g%9aX7CrKLgb45L;M>y11#|BS-7ZUEL$#+9DixDfTz;^x^ zayy{cgFHi173exaZP&0-g|CcVvl|SW-pHv<`0VA5eD=H?NTKtOlT)ACftN#*~-~`A5!+ zI3?8JNcLroq7Io5*=&C@YNxLN}eA?jMSc!)DobE$vPED)mzz z^UBsg=K)4^k#;OHSRMOz?jnM$&;Q+Aro=uFXdItsvWltRncx;^^8$25>(eyuCU8(d zBj?3+Q8}!{9m;~h z-*9a~EFz*6q%L@cAJ48??IscwQYeus1VpR2zB-IXg^fn6uX68~JuTWKUA*p07=QK{ z$ch+WF^kL_Me+DCpB&K*s)8@O+uWt*0-XOFSDS}t}I(M z1o{f(blRs43HVaI_WEsE>4xI>N3Q5Do}xUGUVx&#TKEw6TgIxns2oxUanO{pTKDQX z;VIwAY|>9nV@P;Hqgg*y~0Q zW`$e-(YxZPg`j2Gv)WIt2^VIzk5>#~Q^HtKd=SYSC#qwQ`zxx|>vXmL#i^YE_(ZaN z;Le+sieMP$mWx;*Ls!QU(9gQ-8MIQ|6u`!bSoqi8Sm>jQ{^sZJg??I^o+hTaO~(y0 zxo?#Qd4%lV@UVZa4Vh#-0rt5v9P}-3qOvOvXJPQAA`a!LPVDZW0k4Rj{4}TelylBM zk89&L!~TYyu4zg=9RP259>v*I2mJj<^mcTa$fsPtii=b$FQ%3EX{xa_@TTP^U04Iy z3!|;AMH{A5uv4}udjb1Ykq0)7=1L&_SJ*4%c_t7ZpI}WLOc(^V6Sj!P%XpOL%Jtni z2QYvNsgB&nbzRBuJi6QPA#;>+&uz@Z`ECNo{KmKWlBC00m*6R+cp$$q!+>0W4p;&o z7SDO$aGlMfDP>nwU$<5J4T4kqTZQJ#*R7oD5|HB;^pSNR5lRmzDhMXztCAV_gdL}< z5RRiuYr5mAdz63OyyKoS%oDjcNA$9MchAvWW<)F4LInmuvF^t5l*5Ke`wbY&swZr) zfssEF2pJU_YZV21a*=Jbsq>t?SaDw`fGj(SR zb7?SWzbGpVyd%=Qc_@y51j!+52X7Si;fciqogLYC@oz<$8IH3%0bK%uB)4sRnBu3> zmd)g7!`Q0vG)Z1emeH4EQ7R}8i7{AA8U z;XKEL&MfiZU)=?QP0Go{?}4G~7s3Q`P%zHTyx!UlZ7&l2ey|GukR7G~a6UIsCLb1Q zm!wgwaZnBqEK&P&T@?K37qtT;`_0~4U|jf>>Yt~B&7J5@GIrvBtVpldp-PoDmoH|7B0?o~$C02H8*q;qT#W`CWsboHsBd z-;F?}pnd3b3N!?XA1>EGH8|0xUAX^Z#X-AZ?Jl%u5YY+WxK(`Pjb>!RGiejZStuq% zicJkU^N`(`ru`WwYPtxiwVN1;h}Ybh6T#H2cVIlXPhqO#fC`P#*8DlGJG3->92DoP zDdx83S9y4`*|FF73;GeoQ)*z{Q-0UR^~l^4*0M{ud&P`<3QW|>Jwo?L>a+z!K`H38 z*)c1}Pu(DG)cE0y2G4X@++x>67C7!xr^P*}wjgQc$s^oc3L1(z@^L>wD?eCbIdh$G zZAg}y5BNG%nYEHVa+~dx9~k7&Pq8wLn(39~r%m%`avEAA^YVoQ1PdiZ4E)3eh<=%t8(ZJY9{ zlCWj1_OA5fUB-No+(j5p;;1%>PGvUACePJr>F_PuyeVxsFkCkL1XB6cjJFCaPaT!6 zd}2Fi&Nl@wz_0zKMh>H-Hzpck)nSsp>2Y38NwMev4Q&oG4{TbM_e@EBNh23DHFd#z zp(tDOR?7INt4?Flate8LJgMEtfw}HOsTdsez)hS4S$DY#=a<2AgarWR+>AM2vl||L z^ay?+#n>w5*aGi2p0)n-v7K{QfBfoEQ3Vqq>Vwr;&O~)$3w``O2jgb@v-AQmK7#b9 zT5p?CQ?$eR3w_p^Vt{)A?P`A@f>V3S?Vg@13mvvPmav^buSl3Xrf2l-sIvQN)9ZTA z^>)ZV(?ce}HFzUXT3Ml zgmR)Ij*zI;d2E~I7OM)bxd;csQ5s@(P{rHw*PlX23`$~ zOJRU8J|94fdZl>?yX>Fkos}3|VR}5}T$y(TauJ+LHALD#~NA8qS+rYSJ3$VGmJFmK3F2-*EZ>0M2@qk%FQ4`4bEf6pbVox_GY^}8h~;qO$< zPvl60iqD@Ef&)6&py@==%4y7K|@4hAP-%E zZ%%7MN%0(eVylK`l8a`=(fv}>Vc_M? zGI^2PbIsNwo9JCbK;>Ck{$e!UA4zz$*b z=<@N@gYxbzg?;p_Gdz(yL+wk0YZ|1zDt~JYz#Rn&6RRMHmiIZrc--I6F|+H=p@0I(9o~b(KNcHW#3{qLI_j7tH}+ zPD@ZJZ(9}rwvip$Q!Ecn>KUZKKb0ExeqSp+df09!=*tUVXR(~$w7BY_+rXRe*Wlu= zwtS2@qIx7hNR^DIqC|IRQk(!26qdHL@arrd(Me-Hu{g&VrN-0B9i2ciTrVD$GH_p`BM-B?QL{ab z#z_#s3~dw=?Ypzvqm=RPXj<2y zMIwK=cZR6Awo(lkuec45S$gmd!Z={3hQ}_^0xB&jy%Z_}f}X}K{rL7W;m5$nP7jEZ zjMcZmdq;SozFXE5QUqGAnS_8e3Z`y$gy&3Pq3Kj;Xn=+10-@!~&D>_qk9ZR{Z;a~_NUcbH}2t= zS73>*If;Nvy)Hwjwv_MB61vDr9YsFP&mp+30R1ct!1S%$3#<`%yQ|I4ED=APJh|FDAl2MMentrba!>l*Y-dkZ86 zv{7MT-xD@9zlmYzSpNk|%fFm=$;H1>{2#jp3`XqhT^;j)1llKWG>-Lq8{jE;(II+Q z^08DMZVCEaK1Cxr$?M2KCcfBztt^rqS*~$oTtb>MJa>L&<;6G~%O0a?>JP%P|3n6_g|Wa-VOH)n*~skc3kxic@sOoNJ)hkPu{J6WCXpx%6jXloX zyq?CGL(MOpO!ijN+-Y$$lULn%?JZa*mAX1GOiapL@qzB*8pe-_1Xe7DHG~6}e5WtY zN-7s_Zk5)!0>_xUAW5E_p)$H~u4t1rhy=o{r4LeVz0=8Vx5t(Y43}Q}oVxo&G5%VW)72WDKXak6P|f;7%UMd!+y!$6e8Uw42p>f;EaNd z;SeMfsM8+LA;5Z6eP+J;06J0r?5%=btUyfm7hQkp{q$Mgn z?anX#v3~|r1aSgzfJ_^nc*=>KHsdZ_ei-E{OWXS)2vfLU6CF~cu&)l@PfqYle1;8~ z4lSkf*hET(JySDi-d9G;B&ztwhBrorvn)euPciiJ{He4i5Y`zB&dw8PVt(^7#(j=)c-f~)BHFF>$nmwO7Zcro)16V9ulYU z+w@-ZTg*7ju9o`ZepqoMR07eT0Xtb*?|!PJ?=Pq+O0~}(HXTw-NajOkRoWd{Zl5y{ z25dg?!ePuHtzUTt0*8n8dKjd|%zj;+F-8kXUBHDX^2l84>HY;A&@#8|wO8Iy-RxX?5GWP9M zA82ngtv)&e&)@XyFi$-Tl&q+9Y=coVgOGE2hwK1g^eM_H(1J4_X^^a*{y{(&yC3_e8=bjM3 zZwDWRy@Hau8^434dT@eLYrIs9f9hloPBOcMa$coEQoCBPrUsP#r-4I52fDcy3k{;( z*Q~=KSigb5|r1Vj^K+y1-jSseOc@31NU?06gG_rnX`F&uTZ;9RQqKb6ukR|k^ z{Q`5$2^v8(psX4887x{K2nOb{l}tgXqGPI?cBDbH(Gbsjybo3si?#rxB678v$y7j+ zIjqYju@>`3abj87k8N&dvn7%)W_FVr&obJ+ z0fX6PM%L)+Nhalndt2Mq!YLnbe716a0Y!dyH7KkUB;-h$Pi-4}ERAnNFn-bRj{EsK~X{`0$bDyGCy~$xP zHYE-5&{w|`bNDcsZSg8d@hd3t$W_K;H=nkaPM1W%sKk@N9nRZY2rul1I);YMbBy@n zNqZ=x}6}Mg+>dG&f62kXPkkQfURF(Fb^EhF`~;{=LRTY0NGpZbn0$1l=+g$bRXav z4h9a1iQ|GWMgvh%FXjdN=&Z1+2UfS{Y8Ktkv|88WfZ!v7yC5w1+j;rM7&bfvw&!5sY>6vu57^e{?F1<^yJ_#PugSw4jaCTOPsXxO^j){g& zoDtwK;OxwpY^woQF}6IgYTcXpDd>#R$SR2l;@9{M1dukBO0EYMEr@A)E#J;)r?{d6 zT@5a^`SYOrEhZ>EP7>FvYmRU&hS;=`W#>60T?7WU;8)ThwKg6tR^k9sr(#pP#1gUplkf(!v6J!*(v&-K$6*hRXND2fPzjr<&Txmek}MJee@Fv)sca4&z8TZpt&=A+@2L|LYEDTUNa5}db=^pb|Br#u)Cn-cEP6*jRIOc9!1 zp@s~vVJ0d&-NeZaX&FFQ%801GB^Yu)i{uSX^9!(YMhL89%?zuyGnDv% zQhKaM-+UO$%_kcm%O*ZHZW$MpZf{1>98LaM+@0g2HoVOx1=sP@-8O78xIWBg@sNl( z^G%tu$BukQq!E8@{tS&KA`W?&JuM%K2SUrRCL7x>%{8iWa8l|}1__z?S`oj9@@*oo zsm8mPD+uzN;mYT(BAHp#L%h-trv0skq;rZr_Y6{WuPHqdX6ee`wOIW#lja@`Dzo!T z0pbF}9<6MZZ7guS_|d=sRpYp!OPDD(Fd2Dm(Woy$uCd2p3fR$AE|{#}H5)}nzxrYJ z6cNKGPgv*tr7#{!1m`wY&aJZ5ofdDQmcV=c{h~mL%~T5JiqnRh5jDbEr%~?0LN*M? zZNLxD550g>z2e*$c~ge*muhBd?K7De0pXG&e9B?{brLXzS zRA0Tk6s{}ApP}jzdfy?4!wLqB`0moosFtbkDdYDklmbHOgO11J;3wRIl&1>Q$fKl?kWI?4omic#$mmaW&(j z>@r!^w@qHkoD)|H)6nG)Ux)s61!o`i==nX~Mv)cqLX=rzk&lw9#gMktUZy$)a*0}3 z#mVsQfRR9l7fDvX*J|nMp=ynD?s`wkZdcw}cHz=5`x_X39m><_KVc-Fe$RlumZeK} z>fJz+|9gs$KQ6{mrZtyeELHWJ4`L(XXO2I49&CRGnJE-dK6KSrrU_;yIJ)2VW^0ViARKT))pB5BY6DO91DwIm)jz_VC7q8S8s`OPb?>!yk8s_7PB-fD{P~dz`svk z$LXFut6T#u&clz-qrS5Vf=`+7tS#w}UFv0BcN-b}M*svqWll zU$va=(xYlI`!=w(}%l(nQm|{DvVTj;DEvq z6HYkQb6Bo4bX6N|5xQ4K_j2(npXQST8iJ4ncjtt?PjT!PS>QgKHtur6zQaXL*R`Wp#vdRtN! zp$dVZlqm`XlZSXl9*jU302zJNn8of+?kP5Yf46zJKK;3%i%M>h;U>X^Z4lc0zU&1B=Fx&KwY;%ai+GN2h*7n3_JuUqgxi{)JYQ!C_=6-KQDV;(KR0&-N7 z4@S1)0wT|h6Oa53%FWg2QaA-8;F(ThaXZ<;FZw_W#~+yFs^?WzZGl2V`gjLFK{ZOJ zBMN8u4KO|YC4)>yIFf9M^f&6vBnMt5Cu2|MSQsi)C6P3MI6=v{_N)QEIcMeCw(>@E zR0Mtuz?y<}9`8qjKejfS9!pI3xs$c^!L(~Kt5LmRJ+RJ`G1mMJhn;NASJ?@x1}V*S zG$;^NTLXRe>Uim;>Z95W)5&(oEu-F5>UJk@Dv{S^Fi65Tu0y>m>x{m}cF^CpOPAK& z8Su6+0q|yQ0q`b)NnSR`<+Nw00~CzRk`ody8kM|&FV@H@XQQrPr1Dy6C+j3N{X68Z z;VC<5&d16qG}(lS@-i!IILu!!T~Zk^|0%to%2)Uvq+}-FVsLhv z;%t{ryMWME@VeWYE(gfd`Al+{S@yAC&tU)t6B?#H z+)}Ct64AXY9CEvB79gD4_Y4;lPGTfHVk9g7JFr%B{9bSE7`j9C&@DV^e1f=0{ksEGJ^w0uUCxMo#}IKKDB71`i}UdYEYoxOE*qK z;QFNJ=|!+oLR+-YCPY6}1VZ=LCEO%>y&6NP&P!q~9#M2>POr1oSqoyV6%UFAFLl_h(aqFQtk3@Jq z%#yMJ>J74u<$a7K6ip?94M_tPERECN=vYA<9a;;sV}47dg+$)Q%61FBxMjWBds>my zs#7p@eXH#D2x)AJ@tE2QftNJh^iGpPBxkVdre-b!pbAjo0?x?{}6+VwuO@!Z%*sM$SlR*En%&zlz zmtZ|;-rG%9rO-Nre$iPx_^u6%)uq-6ofi%5 z#0&4WwwPoqU4;-$s_BnS8z4Y+5D9jR1LSo1V=GN$r944EL0m0@(yk@JkgrF)F;%$p z;DHeO;{DTmeV`;+|LXPu*wZ}3i4z|kTXAx$==~{WUcY3cS=5T^oa|mz60uijCePFr zOki3Wi^qx0;D2Gs2nhsXEVYk){r26l>hh$lwp7Vd&uT%CXI5Lu+{1MFbqkS<-?9TF zYhJ(HFD%RC*;@Wkrc?nPaIOmR_G|>W!3X~hUa)x zuH>AL^nG8?x6v36;An-mAZRcXptq&u zDn*TDsDM69_!JiCL$+q5iC@dwXHP)H{aMN0OKtM2+6E9O7IZcRDBQD7n{FX#dXzpD zz{rrEUPGFCA2XrD`|>L#HYW-_($I;Hbq_=*JZ4Vu%Ik8mq)y;Tv?JFpwcwvjI?Ck2 z_KJGn7XBV0Q-(7u`n_Ibn$FtmCbbi`%#R!mJ#BvW+LB;og=+MBBZp^PcZy1cRDH$i zGTDMEenCWMU>+$F@Xu@{#By$FTKX@HlkMf2Fv_z^*(wzEnFf5~miwe`#dT@d4qB4p zROq!nE?@vI=HaTBq?;4=N<;BMMU|0RDS&TjT7N!I3^?0S>Rh?4M($Uo8E#&g+`=*WAiv`ts6~t)vtyfpT z4i&$e$DbMI_bLD4rCgiQtfoNxnLmO@z6Z{&=}3>DYU-Lt90!62sLniAJ&PLwNTFbz zI2Qk@b;D8pf0jt(|D`b%|DPo?&|ym~wiWn!uY_xT>fmGpT0rENJl~J(5YOyYXqcLz z!B3((P@V9`@D|tD>z^Dlnb>t(;4g-@q7f>LPiEVEbVVBRe-5#O{=;Hs|6?(q(*Db0 zqWlkw*{2bN9=-iPET*5W)ETvO&A%6kE+=3zW@c6fPTOhMu>H|*@O|AAz4r{d!|mp( zyRYxZ!Ov08@220*_uX^AZ^}9F&v%*ta5wma59m+VLS5eX^WN;U=5Nsj=APTD-?x5G z@7=c&iYIA4Ob35dE^Lxm*!a?``QGQcJnl0r-%C3!pC^MQ3rJgL)FUsOUuR-M{MVEV z#}Bf%2poVv&Ikr(RKe6>nm&X5CQkRb@7piWA~j>d(wxsMcSqPK zPMMiT9FO;{^q6!_^0EXb%dU`j!ANtH^?G8n&m}nah+x_yo?U@-L`vU_ks2?#RnTXi ze~H*)^sd}1N9KwHxQ2lU^1?6cvayFUA78Nwv^)o*0ZY~h9Giv|fO04k$<6C5y0qq? zm)B5Z?`Z~@Sd5g^aWEAXQua&Z_9#06%t?e>U4785N9*jovL@8&QtPGag2n@N_OHgR z4;Ao5e`_nF-ZhF$W-rZ5RyUnRYtdBfV8p#JS>6-=n4ISm=JRq~zY0%X!I*YT)2Nf6 zsdM&CuYzTBfRY(ea(yiIWN(EsF|%PGOTkW&(-aKKWT<6rArGJt^Y@G9oS)$-Hu?DN;TTSvM06ag)3Ba(QqY9sk{1~`7fR94 zt}N9q|FCN* z5B^1TtV=gd{B~eJewv3-W*rl7Zw|MbK?7I8k0sZ;yu0h;+ZkD$HJKjFre=Zatf0gK zR9hg*y#tr{C+OlL#kLl$H|LLWdaj&|{;8Zk*mHpJ!_1=X z=^tv8NDW4Y5SzU%ACRS)BS;Cjijh6U;^Ul~^<$or4-=^P#y3amIS@RgqEP@1V)qHw zm+~ip?V6-<&NNW1(dV&;j6VNFT%Oefsn%uS1Lw~Z4)M*9&iX>kbM>gRZr-ns6|D? z!438@D56hS;UV8qxyX%iEQ2k|`?VEp3V&0s9RSeMn51}%2)-H=>Awzo)!G4Fucb-o zo))H&$S7a|(`Wo+TK7t$D+?XycPI`%GQ2f##}}*pO^A-$d+b1aGI1Z-Rsj5l#21Ii z7DYgit#nw~Vdv0xN6(sedJ>kL)8`N|dEJ2ZXZEJd8mvxtQ2~)}Vfm>Mx75AgApbrd z43j!QSqiyd46CGHUHY#O<)JcpJML0uKFK}`P=FRnB3Q2M;ZM0leoV)} zF~nmRm#+b~+aLmQNq!WjJ6#I^{7hF5y_C}8ex%K=Be)-!DPlKUWMOBGkUdg9r%LIU zE?fS}DUL;>$3*aOny(4Qh-BK;L9E3Xv8r3@_SsM3yv)(jNp}<4?k5n=m#Q{?vJcv{ zaoy}iGQ;S250Pr8CGrNw1Buz7?VAu433HStjY^8taGyq>COXHCuhC>mv5LtWg~Fs-?s50BEvJ3o}) z6Y&>sgb)Uu^-u(WwSaMwZ=<1}b*y=e&D^1;GG zE>{Vc*o@x9SS3^aSz~Pm^oN#A614Ti*>);9gIw)1?3{p>q2$rc>0)f21SP`Vu1S zTlUV$XFr%Wo`ndO4%5gK4W3zvDw3?>Y1EXL7gbvacHVZ zxh_S=q#bot#67~_1gjgu#TJS* zZdgc^C5IzNhGJv-Y0*HlU917==_eM#A-u)!k#r}Q%SWL!Gc=8r|7wcdYii(ViRS7y zNH*k}tRn(}vVxhe4#Z}-!Hg^&RlfZ`jUC^eM0?a86w*)p2Kg=CL!CjRkj zOLMPwg?DeZ1UMN=AxcMZ8MK{Mr^Tk1#kHIxA;PtzgW~V%Yp|U?;xyfO-E*zeR370* z3Vo%x5gyZEDU|goLmKjBb#|bs|771NNvpxtTG!uPu(S4-~&} zXiCWKA_OrIz{obQ&%W{8$JlLn+<98XXg);n6G)>i)Ut51R4VUsmUy3XhzhEmsLUr; zZ@U$H6=e9im~%4TRigis2)CZ_d*7arN)Gwop^aM~ZshbKhy~zdy~#S43RzcF7{nM! zZ5lxc+{ZOt<9xDjit4U~U-wLSDKreb~%J7L}uwpt=jwj^7h5GRF2 z_2g>PO36}%wBaO@Ps7=AQBt~c%Ly}<@@iaY*`H2dun-gJ!D+3lsGLt+uR9kXFmK2COhGDJJ%02#v2oCMM?h10=4TeBux&FPVd@i_L z@ajugRQOHLZoseq5}S@YSedS(JJ^B4o+Zkr%19EZ5bx2%ot69k$;!$CtBhM=p)=#2 zgY(l)KdsIcZYF6c0*MjV`%K-9(qE-*h^fq#bq}5|Q)>f5%(VSm_>|wR zu{j9Iw^CGnqnupkXYhpL4Z|)$V73MdHj3p5$%t0xVd3W|v?#MK?n-@=>*{kNr7cEB)CEv7 zjpdo_LDMe)fLBUnWXfog9&F6HU~fx14iGxV0;542=t_YB}a{T`J0@;z&}=eZ#K4CR@_(T5*$2 z_-xCCVX-BEF#I4LevK?$OrG)Zoc6dyyhSaLPvJrvT-;hJUL(pB)@zVZ49X{drJ&W? z|HihkWuuzIJrkgX)5YrpCQ4-2jnWGfPIOQ8)8{__pRnMq1NX+pSYuTTBa{T04+EWe zjg}oEM3YQ&M`RcBQ92+t!e1!OJ-aiqvbk$5udTq9Uu7t|x?SfR<;Hn0N#TJ#GhwzU zvc+TeUJs|*bI4T$-SSCi;9(8Un_3y?K(^}Zk@~Qd*S=^;Jx7)pfx3Ju41u<&u}1w7 zPMQaVh2$!Hjrc*Dq+uL!RSOVq`NRpo)>NRMW*gxj(8%$?t zc;&Crs9RcDTeqgs-97@B>}jA?NwW~1-7u(nrwGYNU0)X;=_+7`s_UMVc)AdFK>;Hk zi!owr?%0u6pKkQcu zs>Pe}!;qZy5gzQrqn}>BG)PdLhX?y4YMd;ShXT7I!ar>wlD}?=E;vE(k))d zdP;XS8g-qJyPg1Ri*NmzyBvI1^z&B8N3al-Ex36GJTRic(IAiG?xgB3k_)YPZSu|a zRxX{@66xlGVH26(6A2amQ_wr=_SvJtf!xBDs{f-CDCp(UU*VG*beVL!v@f!Y`k(=o z8aNJkrXjEQ`2}qJvsZMC3$S4}?d~T3oY)JA102v@SLhr)rrMl>V@!{2tTvaLVZggx z(>+XP3*i8Yc&Bn2BHYIot>9p29dON}XMjQoR1v#&oXCo%Su+#f=&hGM*Jf$wW{urh zhoeGl)BBS{88djV04;jZAtkG};Ypw()Xy+7k&TAnfZ+sb6kR8xvA2*8U;wo?28u@7 ziaxjNn-V9Qeu)$H9;Ed2(Q?-pFM;596igk}ZT?t$o_Ot{$YPp2#MV&nuZ_bozI$$j zZFNgfsekz54P$r(qlYCW3049Z!*-nh1M2{yNJ8yKG1%BmvX3Ay)d8#vPESxW020%B zs2|f59HcALy3+*sbv-psc3An_D2TxhCtif~q~Xk%{K6yH3f2A>1pOmP*pVs?evtaA z=CHRoPcS0ZFGLX4k*ygca)<&35043m>JK8A>geXoMvQS8i>U-Iz>lsUD0EEh{?K%B z12_bGBdy?7ZB(z^t@_Ke>rx{Y?guOuyoxWis&G4e)4F$?<|Zxo^fDayZ0FD@Gp35v zqb;J+D<;;b$7hh=+`3Z}ogL0m=Hsp>KUB%|DhoRXSP${X8m=w;vnuC} z4I(%~Lrt5aYt0QE#(Md-wUmG{;9J0O3H~mx%;Szd)K)18S?X6IG9yyCFbtpy~eB6Q|I-lrN+Oqra&4hVvYrZQYr(Ii^N?!un8vM?Nt>FEpB^SqW* zwYFkfhj?KxV?J&ge9^3cYP~gOqU3?KqhP)jOLgj;^^BoXtMwdQC|A!dZkzrT@f^6V zXN7%Oss!Fxs%vLCQsgNnRT><5GJ&8$Q;T+EuVD%*(=wT&yBFofZ3XWOQ()&W#(b{rUna#3~ClHEp(mtR39y#Q zEkbLN!=>tFddUF2R+oJ#)o*TqE5OGolj?W^>x?sy+XLB^n1G4soGAnJUfpz?LH2TjuFQ%s z2(2CH{(+aK%8IXPUdiPnrTX$de=9$vVTQ`vAia#}^0NkP-d`Y)nD@>-PVrq|`y-0K z)LEyk8l}+#UPt_6ZC9QntFXgBxyd9GK+Y5z;LbI~(E0;RM^%z-xw$wvcb8_?&QXs~N7)$R54-ILswg3oARY)AG0Q3m(#0ju z6BBhF3jDXy6s&#?8_Y%T@(7a1e}Ik21I)%^B;O;A=XM{f{bgu*V$Knvk>p!LN-d(HOv5me!2u`RnTw-8Vxm=!|t9g>CwjzFFnW^QWF%Yhoh3d9Sz4f~=bCc%=Z9%5M59^9F!ac@L9Lm4 z3{o8~+|()4DqYQ4h92;pZJAo{M?ew&>O4Yad}+EeN2s0{CFQ6G^u%Au3q(<=nUyW} zKRgZ@&ZhjS=EU{%pYc54e+MqBIeo6(M0f0&#d=mV+pAUuWX-mP0Pj$6^k*hI$nQGP zw?Tv5$PXobIg!TK@*`g*AU$QtZ!Ho>eKG=|RTB_S55IRFexoxRk(*szD2)5@@%bYo zsb<_jF|S$i&p{I%G~=`}*4XnB0Iax^j?@ArIGbLtQ7l;1B7W}rsSSPtFA=smT4n?AOPs_EbT_HKv}#lMS2OrY^L03H0X`FU z>CqxqK1pNVVfHbJX|VHC}jm*!*bK8HB~xr*3>P>n<$ zQb8U_z8bYipTW)Z+O;2J)=WXIt9V_`4SDwde@;Y=uP9NsSlK1;Ss?ygk^s}G`%gr#$I4a`Os zo(T9`U5M1FKhhWG0A31ck$3+dC7y(HdLZSVckWVhD(n@2R-H4RzuB}}EO;`O1VxHP z%oKxg62*)PbdQ-z8Mq~sP0k=~8lIaKg<^P(uC(Mf*^Aj4*yVeoPS|XGeWBJdfFU3- z_!m%-ImP!?AACG5mE0{=HDKC8+8p@v!i-Kj^JQtw#a`Qz#nWY<4Bol|_&ud1&=U%6 zo2|>WIR%gwVDcyuj%6@wSb2nn^{*XZ2BLz;I9OsFV2?Jnm!nMDoi(2Tj3(W=GMVLo zb(1+*(@1|Y(YMq-N5inbs)*mTjY3oo;%h}NPFs3Y;Q3`Ell z2mutFy$Q*V)U30pf3rD(^av4R81gR~_zA$Qk69PH{A^(2n5mMrS1-R7`sfN6eWF>M zTd^=h16gA{v}L^zY``Pv^eK~I?S99vv+WGul1VVJc@4P>TS<;!tlG5Agj-^Ooi+?B zOPy#0za~4t0@!k@<{njCtKY>xF2{4Q!rvKlQzo&HI-1mN02m973d&)x(;F!*2k=hE zU~C>~nQ5exSNHrilVr#$n$V65)kMOL%1m11pKG7R|Fr8K3+Z*}l?C;L{|f&Fsmvs> zdl#!P#^erVJe(+sULWkn!0qp$f2Ha&6|tzy|jRI}u3Sm>od zUhREtkJvQmJ<~%FQaJN%dNk%@uV^L#nOt&aMXHga1eMuvEmz}QAXUq6R~1xE^th5B z3Ft;3M=O&HvUbpV_03fhDUT?5r%wrueZ!79jK*y45;9-`ok4wg;O`)3ZV#Do3U)gx z+PD`CuX`o%v4ndWmp26|jt)((xJJotJ4=iLkX2J^BQ)m^=A2Mp`C#On24iYd&{m-A z$&H7gpKJoRzF^;0s8rmjJ5 zw6Nz4;Rj{2kAQ3$#JV=*Awx!kk^0z~-__+YFy9*{K3rSAP5Vh{+|mxQrymZ)xm_pw-*;0t}Hq`zGd+pcqP#qpMLR@ z#0>s(dBY((OJukRCrD@HGUkQA_$iCGoCZqNDZoxNs;{T#!R?>r0Q+J!LTJI;QXPT3 zyA{H@s1h5X-&WYPcf_q&UU_r`v8jG(2FuolrGl43 zN@a@8y2CmuZWpE0)W75qgdOsMvJde5Y2At&U_^nvE`&Q5<>6%WDa@%?b*#4lR8*ypj#h(ig;$pl+rRgn&H{OG9!2~9v`cnT z<7}WxxeF`#uth#>+DWg88C4C#|I$Ew9?fdor+h(JMyMFIRpN+#Y>)U<8JJLN&+k@P z0#g$(re#QHwOML6y1pUfkP~GVtb_HY@>UVlJEiYwjOgoeRJKsyuiRBpo{4@9RM+Jc zETNEjxYC6Q76 zuk;d&u$-vz{gK>Y&sf#@t$Ap8>q>-vwdFE2_O=KNg|p$z6onpzbPf1FPP6bygA6#e zAmNy!S4tx0?pe^VJ{xCk>K*{Hd9B>i)chr~iyP7IYabDCVkBsB>8x)&LiXqkYu19% z#o{*_+%8?}j+Zxo?@J-UJ*7;U!r~12C4ccf7A}RmC+!iVPR-)_Q!c!W7Sd0;XcC`f z&L;_Ayrl-6h?HJACk5e|^R=gfYZ}?Kml6U}5 zC!)pd#LZ8;iKF8U1+0aCziqFHjnX%Uwl2{y7}B4_X1?b_pbO4v5FtqK|6H(VQm@=q zHsr&VTmCIvhC(k#QH1RLx&eSXarM9-FipR-jr3F^hu96QwaWJYUlCN|;CN3Yag8SP%iQdSP7fP;(yWX5#BW4ka!a5|@BcH959L`?G z$e66=jNX@!hFVAQ<=UuJ##Ifbn_riSVocGPqpU4kC6$6t97al^8zc_!P~yF5qR-%( zS^Tj50k+s0A|s+bfXA_k*60r+zJAUYql?rAg}WO-`K3&kd|2Vf-Csf+p%ktv(rN1p z&t~q0`MDof#ye|EIxfmpFCHbeFTsGt0o0_iZ-BWur`xM|kJiCA3bqCbXhxIy?SKMe zL#jTia~#J`$XTz{lEGkqguSQ}v>~5zXI{6IZ;YdR6_`Qlbc8HBZ~c-KPONlJmyG%M zo0oxZc?1W!pN~cr{|*u|y}okjrV-mFao4bl`p=aesvZ%?k@Kd>o*KzoGE7namk}zR zFrFTox>}|+Q@SqWrH)#cz+z)gj7m)qwOepLF0~gO&P%E+{9E7CnivqL} z*Awo6f7?x1pRXihAxaNPdh{YlSUDBuA_D){I?s6oD&@F4F5mFuoj@94s);m*pODNP z?YhWGX;QB3uACs?!U=fBTOVg)p}p}%zDL%aKrU?k&cFpWQTeALdqte4USknG3hHCf zCQ}JbinTEk6F)62vlqP_doP`Ps0o~;s4UEQWsx1c5>@xUnqnjc_XtJJk#CS6i-Iz2 zE1eKJQkt3Gk3(c_fGv%_1OsZSZE9pn`W@6-V~2|Y46ge~qWz;YDBZ1k-bSrrn^mj9 zxsi)rLS$}3CPES8Jhvz)+zgV=fC%c5$@-+%X3hVOM&aD(N%$x9=Mq_BDa=2V^3Ll9 zs0XY<4%+UJzj3G~0a1)*7VV1_CUOvgL}sTqT`LGH@{l{i9Bh3t>cSe8Cw(`KV8FTH zIbagWd-W3%SF*$gHRD{GWAvY!W(L-=V2JLt8iw-K92Jn5P+yM%=62&>&PRS2=f%kUf->(at@GBGQu6LBRQo^;n1&EyNOh4epLZDc(D9m%Ug ztzh&_GNk%n7uiFoP0$FQ`|RYAld!I!wiyI*<*52?8`c+!m4(VDz z+b-I?Fv?OF$R1TnpNSKz<2?6)Oj+(W%%6@Y0yI3$_bc66m|UuWit#eoQFQ7hx2`rE zz_66sK{@<@u3^i4F2XqoQ$2n|{q3Lwj_!uA;Yc1j=k5JXU*N@iiI^diqQ z@6K4VZ`OzpY+>SIl+5rCH4_Qz11$L=F}tq-GJJZVu1!k9NkboGa`^eAaQOl+Q0N(F z=|XFu#2%fDu{FP7auS`MH4r^slUdhEC;h00QrJ13Kg&*L-UG;NjD*f;PoDafxDMTc z$~xcQK?-7y=GuC(Gh$7GBQ}B)82)?#Mghl2ml2bSyR?KAwAJBms)($5bR?t}ikpLR zdAxR!mP(Fma}aQjj;h1CJl?1FF(R;b$;P{XhxOxB-beano~=!;hgq59g4JPu8kv_| zL^nKn8?mPDb5FgA(IT+@(%@8k=;tuR`%bionZUnqymiRrA_d;4qJxYtE8CN`6B}MD zHTzJps2jA_fU5U$?K~BW^`T|QJPi;sKtWbP7L0r)c~F1&lNO~Iso8IZiFCSF3T-#P z0>8r|fGFn({PpAs$?u5FAp|hqa24oH2Q_lU)>=8;af*+m9TpspwZ=6!_|%{%%fB7? zJ?BrbuVrkwck!u0LqmW;vHSRKhUC)}Bjst^Cm>Xt!~GR)I4~X>Cjw%R2&=a3L#&n3 zhau1A4S&f*pUQE1~XIxz_JB9hQJ!TENuFUy} z*m)t>(#!tOZ?oORj_WU90|e58D1LJiJbuItzD>@$S-SHd#ic*3UzOA)X~NAg^GS5D z-CaQe*Zu~4e?;u|N({LxxzU$(*%w2<*#Zd}Uo58W*|Ta{Wp5H`;HwEZc-nYD!#N#PW!xPJMUZfhE|m@p6}YB1S>2RyNh+0XVGiY;o8KH?{ z?wYv2BPXLh_DGgxW_N(Ae1&eUkL@vi26^deH0cb2EwoH8y`}Wp6;oyhD%Ph)lCvOjx^!b4Z(e-V z%gG5eQ}ztY>Wzga5{0$m@<`D#suDbUUqp)~PpT;E+WhvfapS*-ctu+i*H@Rxw0 zN0;8_N2I$o6?gi~V`8RWRw!n$?wi1K8a0!#i7*|_29o&wprvYR0iGd>2;zbP?>Kre zk!a`I)-|7F^%kH4aWA0`H-SeoD9k(U?7Cj$Aaj#zm-bZ|?*k))XQIEDcLe=3@+C-g zB&nO$0F0R6*b2CuD7A3~fz36Cy4Ea|7fi!f&y}PE-k3T3+Q9{4vC!u0M?a`n)~3<~ zwzBeB;~(3n-UcV}b-c~)$@pbyEx0C>py)9e53VgMM%+L)yXOx`j;c0Yy8SND+Tfp% z4GDk-;CEk=Ndcshlvrc7!G2f>a30Ah7H!PIK-t4)e0h9KoB>Lj0000%PEAHADgXdp z0000000#j87Xbh$0000%Oi)N%000014>11`5rRP^NsVx@{#~vEa^{~*Mf6{7+cu26 zrBBWe@|X}P!SET~WP|vTU~Z(F$b7Tv6HhFG67()`Zs;Z(#E%4XBi&>_{HbH&Uzf1z z{!nxrD8YWRDkK3`P&gp0DF6VJodBHyDhL4>0Y7n?z*z$Ol-~dX;FM=Cwhm^7VIAKO z4ZM+$@YZLLrT`@%_~Ho-ppNb3>3nD7FE*Y#db#62=%04~tM8xO+adn5{+Es)pTG5e zw|{@$|LlMBd9r`e^U8W>W{Uu9AkSfyPb<*`(_tR_VI)fkhwg`W~yD#mm z={V31twXfvG@3lLT^Bl3UhMY5mr>bm8skEoQPlh@!H8L$r0ya9Y7#ZC9&BDkZteNh zOnqq?HQ^T2m;z)rj+l@=EnTB^7CD9r`az&ijTIrU5R~1i6vl*Es$6{HrubB4dyp1h zoGxNOIR8aXZZXB+5rqXzsLAr5@2LU z_XaaS5dbx;Xse)d2tFK5KVo0I+00gJZ_{5;GT+8%+Rn5_~i2m*d4 z@87{|yEsrqAZ0N)#=JATlarmm(mUOyX34Ww=RN852@b(G9y6rN1Hni`V-D@V0U_#ZIrfU*{a!whF3FsyWCV zP$UQP_GC%Bfq$gWN_gLI#}r18)h9r}$8WgYy?4@W+^;yMG;J_eYL#r(DCGxdY=IVK zx0liGy93t4PErBNM8C^V^r}xQ9T5U^Nw4*$^9Uv4X29)2)w;jc7p6~kAph`8njg4= z;=A243P`}L`R{idSQ9wC%u{3xE?crVtjQ3~xOnrJyxJ0)pv~sq_BAxKL?GzGtkG>( zuBtn03-rgUzEMGPsz7{TI+j9G{LH^1c)lba{#445pixkq0A&7!CIDp|-FzaMCm>mC z919piWt}+Y0mv2MKJ}+Jmg51G%*Av3i^=Y!6Z5r7Gwb@>=8t}YA%(VEcLD`c;ykut zLQg7XXb;wGHvg2kqgLKkgVxb(G8SuBz_5{%TQqu)Xug)m-Iq3DmBpW`+p6b9df8sz zE>61iN$sN}!X!FMV~d`Asl`a?FVp21&eQjE>I382ri*tSK1ea;w9B7|l^8P2~{Jj|67EHNY|H zH_ojF`q9-D-0Yd}qfTV|#$?>Fn|kYLEAu)`{aFBXsk^N{*pE=nsnKgPZk@HAKbf+x z$QR6k!}k##!D!7zRE5OMT=2t_-c?eQMUR%V)m)e-t@lpU6sk2!3riPel8w9os?cYo zhA^r~)*cfDZuzrv?c2|{hTZdGO;|pP(FOTd!75>nZDHbyJIkqi=9<5$v1pVGZd|Wj z%b=!PJOO*6n3+bga3LDu2b|a zR>ie^5uKee2CEt>#)Y_n`E#kgYv0b_n|Jo`&v7nHsw8LD^jwa3s5 z55yuw;1NwT9iHC*P6NCTL-i-P>`Gz{4)A#E^{}s=Md3BK30>B_37&V<<0~o?_#t%r z+&6}S)X8$`3 zY*8yE-4ESnW&P6Rv~GoOYM_+6Lloiiu~nxa1F-P{8X8z_ih^e5vC6 zZuekwf1M5k!H~tB7o3??69L<9kHhliAQFI8z%PB8U*K<$9=gMR!^D7goENk2uN+e% zU^Nfj-$Ysib3uuQ>p0K_GI_Dd(fPwPnDdsEeB^->KU+qvaN`kNWgKZHBN_)k38_e*c+VN&DqyV#S_OAVsP!qQ_BvfYuJ>_8 zY;6>MIRLo2$&i41lEt%@IKnysIv;3)X!r_Znz;gT5Hz@yufL_={v`#w$Y7|xvjwc1 zw&a1Hb&cFJZ7p0J_b(NKzGB$(JXq~t;O5;-@=;W3q zvL=Wtbt>8#-X&Rhl8=e@QI=ZE|2SW_duT+#t^!%6vRqbo+Nay0d&P6($T%}k_+Dub~|xZWn=L;6N^-&*$kQ_k?= zV}tFU_hP{WH}etA+k=mMd1Ltw=klW&GMcCoE*mMYJlPj?|4UbGPcE$P^Ly8Pw~S70 zIiXA;ANExl6{084T%xGlrCQ>qoMLfUyM|rsFXDit7dU6l56m;-7~;Jib{$Mei^P0g zbR>}@1tORi5EIl0dX|2N0j+lf#n5IG)+sVTpirkkVJq7VwhD8;`32N*RjTFXVFa9J znE?FC)}ipsUARq#Re&`=QVAYXF58xvWT|>RoBP)`wU9~{{jzYb|NI@vPiAh)6UDDG z(Eb7-+a?N>z`Ev2`K{k5@qPis5`V*Xs2tNu74tQ*-fqioqYN{UECvb!1VfK&wAC}Q z$zezlhurb~wj$0EtmrIHbng;i-j^xPDuKoxKEo~ZWB*&KB+1i~5x(?sneMEbC1FHbsF4E9L3?qg0NuI0xr{zi`6n0e@((?^=@jLIHYO)oEg zAb!0zUAqD02i8LiU-W?*EFL5Xf1-#uuxXx}7TJOV>b_H~0W9~LItb}MEFPF@tY|z!CA4L8qmF?t5JjhXk<>pA zT*(Od-&M5hsZ>l7#YO?|i2O~F?GiwgC;SV32|>8CD2Utr?fh$w#JosQ7)wEg=H0O5 zXq?VHikVDLT_RpWl@K&~eOrMYtrHhjiLS~Wc&lFh-*GZeiI$`8P|sw;ryTk3V$Wu= zq}Cj$IXw+&Kr|nAVx~%%W}4F+DbAQm7^{nMleu@289(@|9&)zNSSX8J&$)(DGty+X z&0X-QBH1ikl50FvmJ;sy{iSd!gkL3d0*#kpZC!-Za-(laNdZ6x=*|9TJB#(K5#B0# z$fLMqsJ%L@My(uH#z8p2ZUz+h04Ag?0Z(sJ73e9wP8|4?On53tM-(}*AhN8Rx=o8) z;CGIIt?(B@R(ikUm|c`68^hR0_Tz z>u@u=w!HAK3)~N;2X~pS=X6o?ueE6lyDb%7a9b$u)x?9omG=frQAeQrkn2mysmmE? z^koU-V;iJ(2LLt+u1KTV*0gk;YE+y6-5pqBKK`D!ZlMrv&TL2)CH_*o?>T~q2x#&6 z#?zbB){3@dzOAa{b5*2rQE+JgmAP*I~60kdMAnIi!+9J)G}icv3kuN&Cr`SjJgNnDWHxiCs86rkv*zp zGJ#Aes#Bw~q8ba}#^k>k;KiAMI(!-7J|%C(e!p6lhg#~qh!Dn&%AF% z`=SxD+|;*U{b;=j8bhc*Z8!>U>{{o_iq@Rei-lRWX#9!4Oy95 zI)n~`mnDK7W|xB498|mEj4<_^zic~SX||-zD1)_p54}D;O=>t_=-|h=D#PnfB#er( z`GaA(6(9hbt^k5jycC06n$WSaM68Za96HC$zU@%|L$7)o7G*H@xFCwGGyS0EAQw!UScI zj!{|zU9LkF1ZlB`SMkbcDunu=0jJyox-D2!t4&ZAbX$aPy)5mMyrF%ReH$_8!r)Bc zj=510upqW|=6-svWr-tnL?A)AX^ktocS#a)RFIY`dS2UA%{7a0Z%0=-hGK<@Z6_x; zbdeUv2_BoFaPFKjk7q@*kDZ2EMzvGBxhLFk5`pGXyz9XvQ?C4$5A&izTzqF?2!_z1 z0%Am>-e*qgxMIL5N;}TMLu{b;?RH#PfRYd-3Oq0*M$V#9~#{fM!XM5dwu3 z1l^d#Sq{El#P>@=!&>`m->r9g>g!>emjHn`tT(UIb(E$J0AuvMZTC;Wf~o}smp8h^ zGUCxOfByBCgw}55Z&a4OwW0!d1SKYG*NlMSKog+cBqdtU&-Y3{!ck?E z^jS~UE8>8o%#>hrPp{18Ivo7g6?^kmXddy8z6o3yy}bLBvKspO_GPq>6G$H7EVlzc zzh4mnCCe15m3UM}FR_4IDTWmwS=yj*koVO{Q__k*s<;B}(~mA#Zw7}R8_0}I?klAg zy>RgK*HCiL#DN6n0vWd~vuW9|6pgWS>Z&Mbal`ivVYe$m%ZjxfWs10PWwJ-QPb4^>7s*l?>?@ZAhpQr*7$* z`c_}06qpw>d=+<_Z7K0}H!({Z1O)QY1C&wnTTtN+%%^}>f!A3G8A3iF@;8OI0$gtt zEry?+7k(-+5t?c%+q;ekg#|lY3nsIwK@%8h`Ka*Yd7;szsf#+ zI6&ci|>0}jCv(m|#rAAK(($|uDRZl!d{2s)U; z{yax5PC20Sy*E752w<)TnPJF_H^bnVYPa*LSaea?K~r<_B$-X2P>#jK#d0?$lZ$_u zx>E(NigD)rSJ0uj?b=w1d60lrM-Q~~T2;pX3JW8K(T8)d%?KX_}0gbg0;!`|R8~f~#pJyMWD2 z3uq%#jVuIcyuE69KF+6xuT;OOP6oI0Bx54mNt?{6jg>j3c>torlE&&|hjX9}x+UQJ zU4WSJ7xX&(=4OjMb3Ub5>{N-%epp*nkUiAPjIC652~jX z1}#lA>%}xRB2_t-a$O#Y@%O&4UOSv_UNn-=E&3Q(MbeiJkeJVZf<=~f4!ZWL4OJc3 zI7g+az4J5zYPk^D41aw_FhOKPMk9fO5=qHDO);~vghRO33A{e?`_rFPZ_UG&wUe4> z!$RtL{4F{}7n?y=d3I07rZ%ZT=+H;? zewmuvJ(&OgI_k@tYO&`Ff51)TlId9$msE|toaa1u2J+Ee6;%M!G<(*Hdluk;i^s@1 zG@0L~{50$_!=S*fkIeSrQ%0sEJz^TJ(C`tv!?qR1>)btJV}Q+>1hmGLIx$((4Oc*S z^(AZ{BU|>7w}tc6uM}iQD}oGp;AT#Z22m?Vvy#RObtrR;uF-~2=%;lk4s%Z&N0U&| zL(@J1!`x0Si)41SiEMuQ8L(U>j7m~F2M`-i@I<|*9FS#-sJ={Z4kV<2usHLALpd)& zn$!=sSAQ;w-n#kP5w5^WI`V{vo^e5Z$FVbXIS|S*F$oKT<(n)KU26FlmvRO8(6Enr zlET6-k_eaaP}#OusW_1rgRw!fz42MY9+sE@*)jIWzq0PAny9Kf_CQL+CdQ}Mnb@0&i*IrHj#Am+L ziyRRW|C}H~WW6G>!^;s@!~JjZOjwnl_^*h*7ZAH(ic@90*19TjN=tn<;S9%ps;qwB zY*-iV3-lA0$FJg5*WURaTVy+GzRrZ?pHj*4RuYeU91DpR`Ww`Y8Qe{}>2Q{u5)`4ieX1}d5&9Y$3^OF+d7$xy296jVAa&=WnfJHFASG6 zBzrHCa?=yS6-+}IHny2aH-%mMpngg6lM=0fvnUb@%VmE(JF5uCw8^72{%dWU?r81q9B)>kQ=zdGfD$M#KKc{ zve^^!O}hrAyX?4tB4W_M+Ze%%qMEr{zUHPEjrKVn1c-1*PpohdU_td(L7(WW+3=<_ z%Q$1J`+n=Qkn3SmSu z2>yD^-YqMHJHg~af~YD)8^CtPb}*5@0e13Bqv2Q@X|k|xrHDQUs-|f|#DIIM~f7N1A z&gu`=3{h;)UhfI#3AFBfD%Ka}mD*n+=p|@^JXKo(p7Pui zJ=5-P;Nh*=K_mv*XzO@D(6UAOEQ!V4u(HI&Ij*E``hTFR6}E;Nz-;NBE8Duo__;7{ zsD*99{aL%r1hCGW-4@1di;?=9UB~~M*W`ebv6r7ry5Qmj=kGwl%bddS@stIrE#&|m z)HzjekSt*JbRKY?Zj|j148*GXd&!%@Giq3HPYTa@D7rx~VsR(Dv){W-lV?x28Tu~_ zP&;j6U+7EZ@KrJqqLJaRgXUHN@GPO389C?uMwh1#f!mr$kq6qL3+(G6|4^Y7)lj;* z0%6XT+K95$S!^Lfl+tP4J~7yvKiv=!aXw({83i8e#q#6vl!`sF{yM&(H)X#g0!4nQ z32ds_Uy8!kZeO>K8elyx9T$F%{AR~Z_}YucGZ-sP@A`Vat$a>8?{?r)&POpb8IV;Onz*MR zoy-w{P=8)w0j#tDv=eu(algPm%NLhMoz>N4s#uRYq18bvO6X<-lJb4AIf##Vxknm(fj~=efS7 z`ZRKAK0I36JML&DO%}3=g~OH%MR4w4s5n_E#Zru7LM4Ns-oXa3zVO$PO@beXe+ z3mP_~l24dQXEN2Y_+U`pn`RK=(0M^>rpK%bZ6?JH^w-`@pT!^E8*m-(IH&$+aZ_oI z9#o7R3n&(E8r?fm>cAyp)h&?TO3P`2u=v?FTnnM6y|yc@_M)SJ{)cQyB%$G%J~D1C z#QBat9M(%4yE(s3)UF-$OeBzA87xBCXmTPFEZVr1z4YX{J3 z?lqCTLxlVD1*q7^w6@|TVKgIkrBZyo!M*A-6askNRGILM{7%RO<>B~iDI~v{t{b`m zhd>YRDn&$GM07W1obB%tmq!BUTxsiHuc3TT|A6^9;iA;>il|b3Llgr*QIU1*RVVo^PboUu2E zJbs&0gZ$yZ6|#%~Sq)$(isK9tq-xT#Fxk}Jg1 z`w;l4-9^k}Q{x3g8_W)1AZ)}tPgffAJ~AbjXgdDp`nHg)7Bv3VO$7T^&J zLl3O$jXwt6^CD|GkY)CPZB6|b1>^)c>{^nbp5NyJvok6%p}_Kz{30ePZ$h*!CqJETi3@(m4V}n1pVP|Md zi8)UaqHbF~zbqCbW5qD>Xkqt4+_z4naYgB{|Hs+PBjXN2VS}Wcg<9#w*Qk`tAt_>{ zWQ;>qzpHS!xb9AKXF!EdOYf#uwp`_N&7E@}{?cm%C=56vEh6LE!)UnR-Zk4)Oe&%{ ze);Z*^pfjKg3xmL6gv!J$QnAQd0~haTW?>FVU)0Th!^x{Rb%_6hKRv_*>e{^o0K($%(6}lw29Z80t(sg*_QzxC&9Nd@ zX&;Ml1d1kM$FrYEn|&bmS)NYHOqK48?d?>h{_)O5efU)m1x87^oV9mY$;Q zNAxncvHbx!9AVmd?L-CqZg6^~4Hv`3txT&P|1wQO!=>z1foJR9$qETKb?C6Go$PY| z_dQFxvbhnMbi$TV6WHYQ=JU$HKn zqfB*OR^+J&F(>d5y5k5lSh@Y*o{YrlrV^1a%nxoIq9Ou2V~M0Cw1Qd|_`J3Qt3~Ra zn0eIV)40NQvf?93?NXVzdOS7cr3}RL#_oMpPfzrzL3@AfrVAKRl3+0|!dYHB=Q+Ds zE8)0UQ3czBeCC{O>2gA&qP6$_;9IBJ;^(%$)Hd?NS(*v2S3y~)ISbLormvohK-{MG zY{}|aLL=Xa+hklIzu_xAl-q(i7Dkz&W$ft*)&dBHYTlv86D^MMT1!W+eKqW~Ul4i< zY+~q3n(l^{Aq4o{Ghlj~2gpqEG-Z)hEi8EE>LwNU->PD#Xd>-pL7waMtr-S|u~%V4DFuTEa$5>iM= z5s!Wi)??Y5KXiAclX&m~aN@ZGGn2b|4rOW_0Ya_w-#PX&?H%H{rcDfJiF=jM`YAhQ z#gk`C7oi+QAhB2ie*Mz!{FtOgZDDA@w_WtmuN;ShC-V%&AHaZzO~%_OHjRFF8Qpyi z9|TdJ9PPKU%4`YB=6qO{TA${jpT3bB>`K0Mn6{IPA5nw^D|KQ-NypHodm*(~(4E5P z;ObYub5j7SZmtW!PvE1$!Umhf$bfniNsiVF=R}7TRaRH$yLX&$bU%c|BR_||?`2cH zO1Gki@t#sLhNx_?f~1)`IWP7#On}1|@m=*ziUzXtgT$;m{Rp zw+b&E!Acw7$PXx%z!#60Oz0xgl?!}f`=r8?J|Kp=GElI^(2lM#S$^kM)sfORolQEn z(wo5p(Ue%|Uu0(eP}}U%{c%&Rl*T3?^XO=I(^um4DSn3T?bf3vq_pU3395YPNH?iK zry8@#YnCh8AkMmbMyRj}#vjF=Pc6$d?nY6I`#6?!rAr&gJUfuT_UUo7!KpDFKO*jC zfC6fhEOaoFJJN7nyNHg3&qRS;;TO}WJa2+*mBenq>VqR*lCi^(ba5TAc zMv;mfWRN-F9(z*bHfEg|3Cjb5lhhe*4InT$%D`=luxTeS%|edoAiRd5^!=p%K|mDI z3N4BGCCbM*kWNG3yiluS9`YXBxMWFkfQPO~u#&2!rrhoVl^{}$;{c67a=(oDQHR2{u0c1Z+r$h9Lr6tkv6{InzIY`!r4z%a zkej3n=;lK7p$U&c^-YgBYYP!j+n>r#1`6db%@zeypeP5uR+%)II%!3?NuxQtahL82+Rx3IEIG8rD- zE$8*{VsM}PE6z)A5;9ksG3D^*JPNX9j>x@l$hczfn?tx!q|){C7NB;4emk8@1gv1$ z^C81`uo9+VwGVM~Yy*rCDrcoR)l$9HWMq4=c3<{gC*GULfuypoOz0(r5j=e(d{G&R z4-J%TsJQKm-sRE{7QqIM%i86!&w6#Km~CDqfVX_q%%Q-p-HD=aG)sVPU7svG>6HX# zCZ8L6K{w}AW{B3gG&?KuAco&?B&O^OM!f5mx4+%s-}d832o>)? z9pK~kY;4<{pQf@ALMM9hTwZo6bKR!&f!9mO5FAKj6C)AG44L_VZ?K~8Qdt`kcRih% zHHU`?qm8fSA}@+Y$rh&f+lEwm5TK_PnuU3GKmY&$K~7CZ=qmsKUH||9000L802=`S zC;$KeK}=9cPXGV_0S_?$5fMUh+cwT^;QhDs2G`pw?GA|OKhc22G)bBt@^cw*vj7y6 z5E0VZ7CHG%0%lN5LPkYk2E`;me3W?Gh>2!?3LFeCCu+zS{?{1*R!}$~cq;$^G^zld z0V)Uq905OZoWEHE6>#1F0^pPzs!I?0oqf?NexrJ#@iX|J+q`T22k#&B{rG#KW8bwL z@%;Yv&Hi6|zpnqy=F|T(&SB|}2*Gdgy!`&h(N~}y>VMeu)bx%2!^kVi@Z1^s&7pQfvVwzRO+{IhPMV8N7>6FKs ze-Czih-mc^FT8Q45hiC6YbC-9<2?gvMliAUDHj1$W@wgMCu;NDEqVjTD7$6Ml84v7 zk7o2M7)Iu?q!SxW!y!)1CQ!yqb`6K$1z|jWAGOX}SW$8Nq{MjwbUase->qr%{n~4& zqsFGRis{Han=P5#`KsJ>d08D-&m&s9&w)AZMLOR&0 zSV43)J}Y>v)kfd^k{)^*oT_y+R({$Bumo{2$WVWB4l+Tp;A|*fAT2Atl?@Ptvs}hK zJ*x@{2+GsK4r*vY?*(5?vjA+GPagL{C^LUdGzgd!*}Hn8K)mO|g&Sle9kpJ%73Y0? z1FwDk`xTDIUA`*IA0YobhqO3ky&>e($iV;Gch=kqQJySxWMGLaqWo0D9|CoX+=-hH zLwbRwK2rr)T(JQ;RV{(3}3*LQAcX}1zWf{y--e)GMyZd*5-(4QrnbTfM&WgFu2soWH6&%K)mXL`wIf)y1EY&#>&|g+V+f9_% zZi{m*%qM|4E;#yK(t5;z$Rv*$MdhM0x->btspZb7$Z8QfptkIac=*ApQDmk9rx~#m z+k8q9xv|1|<$w+s{|<=H%xlzy|jA0ik?kNbh=@T|FmV~T&K#VN$Uxdvc7P?3C;ulR_ zA%9abXwZAwe?ORHFBXkhzpxRkl(pOnJKVe^GQ#81%bMQ6WRax5&kX0&k0-u^CqH{0W|B za8I2%$R$i6qD}4fT#_j-F24L*lcON*eOp>If4hV_1Cuyy8 zN_)8M9lvOypR->mcYGpgR8An4@1qS69li+2DlyjxM-j-6!Ql9@l60O1<QiZUmei zmywE`Pv<|5D~qXO5AyN+ei_M9o#y6XgAF9@;ZZ@mBy)=j21kyKFfo~s_$gvb&V6VT zw^5CM+n+{91%G+J^$Rogyr+nv09BW2GzRAwBqv(;0e7muh-yIAmMREb?0(KdCg_tJ zW3$;SQ0gYB_}%k}2ks=H_!*Fu-}>v>y- zElo}|-EtrWK4hNh&uAf2pWMS@0&!?0twOr$SY~QC>>~&I%&Bxe;Z&+jzlMcM+eEuks(#Nd&z2H)+kb{lbVv*86$KSndD! z(NyMXG2gVl(|P;vASFk~I%KUbb^0AfLIr7qG4#9+ocW)k3A++W6Q7qx#Ke8>aU8SZ zPR_YaDX}Z=0J&8P?D(?@NjOA^8oRFpHJqPBt>o@N;bc53m+>7CY21G#8?xG5+p~YI zG09??6V7v%l{Q=D%qpOUi0MR~B$j6Hrj!1%<4SX#o2vOk7{k;QTZ^+2crh?uN6=rp zeezS^FE{3$8mIqDn!E$;!6@|O^+ttaqH5cwbcj1@!!AE((VQ)aD0&U%P82XVK@)s^ z9=|p0KCBnc#^q&qeVD%WDH!f*!>4Wl2=HM%XF}|=HpBaol-Ng;NdO+#e3!yxV{L>T zC;N)cz<$Y~42j;+wjbEIMEI6R4HLu8nADXrrgUhVyXygNG_f1^8{NN+=(G>aeD@)P zns7W~?&RCpj1CSFjX<=Z`pd>kK)m*1!;+c27hxRYGzL{|$*MW-dCQ%CeU2H5L-2!O z{D$SRD16cCZI*jsYQk(bVS$PtpGpRK^Fo;jgz+MzLfd>ewqgBxuBOR!IlXthpTc$D zg2tnj&Qo*J1csLsG5wjz1ac_$`H<7si!*Zdm5?&e$r|vO5|&EH9?u2*>0ba8{U{Jq zn-M;2@?eN=C}8;Pq~COZOEYG!Jo?Nq4_zkFvdd0@|E#gjKy0~=@FgNnLlh){=?FI1 zHS%OFB$Ik!JPaM282dXCU8m5cE|o@t6;s@Zqx<`goYFzs=#K03-V^TZOjnz7I25J)3IHA(clSGauLYv1dlg8A2(p3>n1!U!QN-3 zyb7wyh~e|r$gHU@GQcEQ@@D7Xd!J`*?EVPv2?RbrqOuBa48}zaWTzsSRoI!`v4Ji1bb2N*5sIH zISit9q7Cnm+-E*4eJ_j@?ZbzJv@I3*b(Hc8iRD6b4dtA!qE$4 zo;^RB?XxESOV%B8c(h3rm__+VeW}LmbqlFsrB}MO(%jc*?6%wc=8j^Fa=e!#)Tu}I znfUFYviD_1+{VgE2v)d>SH5xrw)PwGG+ifEsBZEsPt5=PeG>TDeg(}~RuYmX9a+I@ z>XA%b=He#M35d$-QN;l)+^{XKFi=WO?;=FxdXl!^x(K+dSJ5N4)XOX%#)6u!atWDg z(;+yz?3zWLd;Cw^h}AyJ=`Ip4=u8_as>E;ODeml73qzAmd>nr&wyTp{4QlNl{MP@% zOYESxKDd9L5-8evB)fiE_zEWfI%72&NO^G;pS8otU=U_Ay}OKvAH|8boS5?f0cLzo^4ak(tH3cquP+vk^mu1 zZ16--uh>z3JttiX2Ocx?^?TI`&ftl_2k^KMTa4mC zqm_M*oQ9Q>@I!&fbxmg4&Hay&U9E@v6UK+jX+dW2fB zK&%24JO)Ra-AlqdBRU^kBgI?OMW^|Kxn1Ib?}(yWDp-<4yMY9uLQ|d6Avj`hYkX1)oa9 zNY0ALQKsJ$JMIstq67)PuComTjK)nIp-Jg)K8fsWOn3T)?jPU5@r{$ zjnT-!O^W!EpMozU7xTYDLn9hL2F{lF&zI3prV%oY{W}jQ##YdY#D~+dv&yL~7FCDF z8%x7GKuzCP%jHJxj*xZ_?&t>B4-ZJs0B!=FZRz*cV?5zlxZ@?QaHE)$+&dayt*k3iA{Z4wFO4&tfM-P}`;E)5cgur<389b5VZ!_AU{w`>%=bpj zSH8wx#PpXjW;$ERAjF|{$=*njTm6@z=b!2>@dMs?_0k~+-5Eg^E~J) zdXC7u-fivK?B`eNb8Q{omu4bi=YOz(%GU|J_VPtliK*LMo+VH3DaVE4Z)G%lsZ0h&E02^jmf79bO-6LTPAS(HZwoWdfy@?8^Vs0LK$7U|XG{ri zA-Yz=5IlrA01>$eH-;pgs|=yU&__LUzAKN-1|)_{}FZg z`k8d6Q`^RqqCcQ6a=C@M*OMXvXQ?2Tp)xCT4oJhpNB87DgUZiaG!}i9%Owxq0)+1E z`Pq&F@k9eAbX32mx{MK>B^D0kB;I{h{3C-RemMfs93D3Idsg4<62+H@N|lLtB|(PK z26cciHS;l2!~?1snWK3w{ed9a zV9Qd{xW7ORCT!ey(nlx#8b8fIiJW>Hu>1DUm?mQ>MEHn?W6903I{>GN($8d>uRJ=D ztc2qAiW#5vYuf4&F|iOu7{&uToOt3|-o9f@dSJebLwRfZJsc?C34O`aApK}E*9tVW zPS|o7IZ1I zg6dnwNL5dkHCqWr)o;1wH5ylbOp?KxTn-?4ACyBiVv*Pc7m=zSB!{-7m zIu$Z>@m3eGG5ZA_U-ik=)uo?p_z`oGY3j0}g?Xuj(=3R*!|)iokwhgKt$1z-r(W#>JSn$Lv!cDbBTV~dHA<>+kaVO72t zF&#WfSD)$#wohHBt+nAyw8K^tks+yJp#Y8$#AAEleK$5ENzCw1W(jp>uN#Cf(ChN{ z)UfBG0SGe@hiD*m?WsDfR9UjV2Ya!j6^V-<;^|2VKH4rnE`=@Dvk;o z4Qe$5HlyS9<2b&6M3<>Lik?r74H_oCcR`)F0P7+zbLZ2w*mlM}vOU5aEf|am2m4-L zfEvg7hqw$~pP$m!ZMD6lo$OX=^L=R+%jSgptQ#S1w=Nq3MGRYaVQSkv9OG(b=fx83 zFQ6o|f$_{o5|N!wlUIoI>@9HB13iu5^3fRzgAzT#ry3H#<`84lGeX=AuAV}MXZ34^ zYrXiLx)1Hv$thwk;WO`CHY1opXx4GE(jZ7gC}7+K*`X-aRTLe+J<-=k@5L>Vf>{1s z1G5>^Z$V~_dq*NroRBJ;MI)x>EdXGI05045x{+T-j14u>g5hep5<{6|ENPy3@u@P8 zZZQc*X#L15nq#27A$&MH-FxL-FDc0TH45fl#K+fh4ed}wPLhaeoEC*bnCM{m&1hy70( zjX|ncd_GDtj%dp5rdkX4Ko+UYpJ-#)PgmQp9EWayh(z)8ym%kd1A_Q>iKU|-7=&%a zOLDVp4zdF-@~zCk`D3JiQY_m**2jylE4?7GIEv$Ro?d0Vb#yu+1GX?&#W%5P3mi?l z5|f>%H9vAW$3}-Yik9e(0s5^de|ju{+WhlxOWAlw)iEqaLS9$`R#Dym-+nF1C$)(`O7Ks7+XgNP{1`}4}~b@ zf?)`W0D-KLr+Bs16M+yqlNPdUZ?XUPHXVm-YBwcB&FmvV*fN@X60hT0JqE=(9^llZ zW}t8yM{Xe}{yFHKobqb8%?8i+5y^Z6c`l1lAE0urdelpUeC!C6KNXMtrqoTt7;rce zV&+6S`lW6Nw5#M5q6mg550#7#aLY#i-%q1E9dCuFL08fwBJ}|>ghD!y_I|8|`q?tD zayFAqIiKe`u$N6GP<5mGmzI4@Eqf>-fYiF%7)Ec4w1&9?_Ze-|Y*4ayxesNG25x}V ztg%13PDS)Nd(m6gihD8ogono9tU+Xm&7p_7Y8yMny~(NUCp$|->q`^N(a;YK=Hqel z!UFQkF)yozp#MbuJnGER-qk#Rj z)T>iMlcR~@q|ARpg8MK0eGuwB33A|qT`RH`EdiMcM}w(3W>h(Dyi)#rkODXjf^DOs zK;=hb6p-U%)$XGh(xgn@G1VZgs;p(kj@^(u3?gqns{RfF$&zomA^b-5TCBWTicFRb z`)i#q@Idht0H)0PG$0)G338xqpw?@B=Eo^TEUf91AxA6qvr9#CrKnLt;x{`U%E0Z=$M+d zY@K|sX`W&;fcG{6!-|94&A2D}>)6izP4C*mMFnXMBzRk2V+`GXRe7`)VwFYlF3;1F zP2ESjK}D{nLp|aO_%;^!KcnerMM27?i(B{uD@G%cTAv|R?F>gZY2*4k7x44h`Hx-44-Q5sS|gic4dTB zr@AQ=PqCf1N<)$h(>3s`+U)YMz=vBcGY%Lch0CFJ)M=uKwDBK^K zyWZz%XNrSa5AJLi%zH!CEfE7r8W(UGvj~i30=6h+%xNJJn$bSu+bhqYArK9^I<%78 zQ0u?04AHWlCjS8R87#yM{mU9SOT{&|y*^5{s1YTE=f_}d{x@`D90UhQ=>^y1$ zzL##iJo!*KrCz`ounr_|0ve@CfDk*)9DIjq1n9`)lq~?QM8ZQML`r}7mi>4;8k*#) z)7EpX8H66|)tbyzScgM;ywmW|IyE-2`LHdfXABmyXAkn8mt+X5YF5NH4Zagb3cz=o{cg&l;h} z?!$|M`kB?5&L7x_$TRG#blWMG*o&WzVcDshEihbMOSW94Fn>V+@l;WX-FcPevDxvH8bHBYbEVLuPj~oRtmvUA<)0eF)7j3NbGhg|PXAr<^cpVyYY`G@ zFco(|;pvh}$Ak5-fr81ij|y@)(-lP$Cz}i??h&ymANfM4r3SoX1-y1jyUJV+n3S5g zRM#IMGMf=rX08jMy&&X{Eb#g5-XcGRk_Ct>i6f}q3yQqM$B_%rl%CD{PaAZKI8&XN#n^j@3rR*J27W~{L#T+tWwWXiX< z(5EbShW}9^dewr%o~eyvBk>mL55hyES}4UV(8`wrydsoXKv9(Q%Jjb+Xhlw;jtlTl z?)K2>n})6dugHKmG1KwzCMeI&HJ@TDTaM-m4PSfa5+mC?bAT3%?2T-{SW!6Jf5DzS zn;&w&KFH!M`QI&gK+W#Vd%6;d;fCK&@Nj=-JrSr=mqw>WX`hi35qKYI+T6d`SdQ2S z+uG0uWgAAOD*RSO4dl#iQrmy%0X*vY#H7AMSOMKy7~I+By(wovdRtN8FJ@y<#Qo5TGJ__ss~Cl% z3ks&h3dNi!^7%yO{QiI%V`*?$$if0wjTD~98Z*gI zAzAr3@ShV5i#f%nJ4o)6ML?MV%XER`yB>9U;p}E?A29izcw8|TrCB5Wv)@c2yKKJP z4XN;`#}ZTGSBP&(@hSJ$xH33>tA$;%P75)d#UL zwqaAa#|zw1Pc_Wr(SDDBfTl}VXLb{9$hhj&wVbWn?C3Qcaf@z#J{1pa zyl?Np}+tq8W9dNB((!`BM>w8^cCQog>iR= zQpp6xHB7`wZ4D%x3P`r5f1}!J?64wMCX5^;Y?Qly!N@@_&Df0cGRaOHe)#atLHScU z_4u;%ip)frFHF^uDdYh;*+`@?cs)_97T+{^Uu3fhbz(XXPe$$3A{gd)m0~btjw<=m z@6Um0Zs6BcI4?IuD%t|(5v);3&1O}Ga~-m3zxVTKk8>|=kX?REX6)*-5BQHK!E%+A zY#Jglk_$tzH^-XJVD3-fd_hn1^Aj&UYd1Xa>{q?8hG4}5`seHcaJH^!*JIA*V!$5B ze;v&6rsv3IMwIHBk=*>=h{>l^X#wzU-iOD5qm>>q#p_ma--f)z>=%Z@R}B3Nx3o4K z1Mom}SbdJ`;yu;BGNdKt3JD{~lRE^FuSJGDcg2ozR<0&`V`~Wc(w4^h$uok(bY2_N z0n&TE(PQB*8u^aK>3F@%3R=imf`3_;bgS`%T8nFCl#A-nyJYxS8^7hOBI$X%JdU+v zVapo196$*45L~#x1CKMLfpOKJ8}{M}^0LTd6Mo^IY=3q9u@{|PPc`1GF7#UcU`yFC zW`+!`pMJ=9ROPDc_gozX7uZ~VFK9n)}$5R2D43wXM`P*LnJ2;#&12^Gz*c2ca}Zgo>Mq9anISCet?H;>Q0V0ChOpHM4jzd;wXOz}&czf5@HC?=@>~IurW<1OmaW z$DKha@OK-R7MEv&t-<%+y}tZ#90aom7fUWbyg8x^ZR^t|oPVIt%=$9zo0U8cMB40k zj;Q~I+k>F42b{_n`>^^iKP9L_Bu1zMf;#-K?~vU@ZS>a$q@eHyMMA_DN~h91?wA2Y zI#4T{7rylSyVQwG#x(BH#M%qpxu92erCip;4*-;BQ5^5%$itmx~;04H- zuvpw`qVnYX03=S(C|r`+($BI%IA_h<0QL#4zO6}^BN|DuUljL_S=ai>5U$rx7qsRI zx|uM4@6dhYh<_$(`b|S@pvqLvTzL~ftmQS7wpiLJmKn+q>NfNLG4hdW?4g`DHRVOi z)}M!>QXn)WMK(Ls>RNsdvWBQ(=a(-UIA2+&L>F6qTed!rMa-DSetXA)QKlrp z@4#<L*PGwPFhjQOjupu+aQ??_adm1 za-^{Ef|{Eq$7xV`DAl{cj`AR-jU?s(Klqj>cy`D#+(YxCLGq)Y=QWmdwOtmcbiFYd z(R6rTW5u{NdCTD+Sa1j_Y(+$( z<(*@Bu@;d*wjD3Tue=vhsK#uKm0MMX-6?_5MIu@)~U={K?;q?TRpz4tLU#ReqMh zR4G7Crs3jS==G8ada1s5YsxSAXJiq%#AAQ6{Pg&>pDx0g4utKyW zJ_i-pKEgi8h&kZ;>>o}G_DiTNvov}vo)A!^qmj1V>%)vnjd)uYLH$RZ5H8c-$@ z6y6>wh9!wb65mi=8FSB2!2mr}-V5)GHO!+fIJ1h*Fkiyt zte_;G0!)RQ7jx*OX>ku}_%Hg+bK~5K9uZw+*oExvv~80MhO<+bOzD1}OxWLkT+3d*}= zH)f^{^9m3P-^7LJ1L^=l6lilGxUnCaCv8JW8B;|A1q@&u4cM6|ilx$Im9Hr!K5GRu z$9|l!ckvcXXC38Tr$&u*Q2WT#i3mK+OxrO|UMd~bnUqD6Geu>$g#%I^P-2_aX7|RW z{02En$E=lgQm0+7B5!6V2ccWn5RItLNg50Hk%`=X8HysEoO-Ko2(1X znV(WWCut`^ZsAunT7qCmD|UbUhcL}C_)u&i+i*Ijj@f2J5vIpM#o1cS|L$UQR#1CwC73HAU0K~7CZ zW-9;yUH||A000O903HDVC;$KeK}=9cTL1t60S_?$5fOqxBT0(x6|{es?cnH{IT8Jz zfH-}#@9=CG{8+#)#E6G)!p8wlgoi8k#W7+$a%2B?!H69g@$gOf7KLX+-+Ka{4gD`a zf|C$DTybn{i7}o9eQyu|R!}$~>M8&L)TscS0V)Xr9|1pQmb_SlDXr%K0?3qpO-IJI zJFnVHOwrH(vXvoEVAOugGCrt{=9k7#;`m?sC*Hs9^LWO8X?mdZ=hol&J@WqL{_mWR z{J%hF+PD`6Khg8^`kzDoe|O1$FV%zoAEaOY9##K$|Iho=?)B9nS|Q0rZR0&=#G#_E zh})K!>a{RzZaSUrI4MMrl)Dvr$PFg0n9!b@phGc?Fi`4PdW2)^qK`{r>$rlbCbPF< zUxL(Z>|!jHuuyg{DA2|_;A47EkttGr2k3>vp=a62!d`_HJu_@g{vSA4A~9K^IDk}$ zGiq&WXW&@OiI#==`Roc`O1Gf|7kd-bMrqzukEV$F&ZMXC4@g~5Z}tYC#{(wQvcmSn z*3K{wu;TCN9|}5D7y7!27}u&XVME_)z=lQzfBx;G?(8QEVxlIOjdIDHA0}ek01#&B zzUZJeNOj-hjhyC9xq|p(_EKACqSqaXAe&@Q*$O%EnXNqX-(H1!|Mc6Dk>lQRrOX2h zw?2W{R=WY76%K6$&zpn@^47ANI|#Wvv3ExK6^$jxT7yeqkY*!w^6wyJ$BXQhybiVn zu!RO)SJuIpd%b4f1|aYrwLeGL_4?znU>|O_L7u9S?&oXKuv>rvD8U2rqc=kd3Jrlc z!hRdQp>rFX(PP^$YWD~y8J-sx=ND%Zf$3lhUIj@BU5+y#Uh{r{>p8_fHOivn6vF)A5t0iqQX|9jx%)X=LI+=`dcMWxn z-zlAaeQ`bm_-_F*C)L1d&9-PH*DAu`QBSAEMJGn#bk#;TW4cUc?GEJO32;wP#1>OT zftQq?(N_cvng-_;b~xiUMZ<3=u$F*z90eR^`smVg$xr*7sDSPIR6;o zu**dU#!U>P32D9kHlTtLdI(B=N|F+EC4B##-4HAzN5)vhpA^DQOx?I(L)swe~JGD4L)E{>+rfBY({W3trL|N-Fv|T%tE&;3LqIQhK-TCc(?cwBr<@w$if~Tzm~_n1XAVt z&1BxC+LZZ)T!bFnKT9rih$MTkm8R6hTjr6lvAxVoDVWdam*iF^9Q>Yq8$&^T4+%9t zT`nPDp9Z{*7i?!frX-Agb4R(wClYvw#>lF_64>?r^|gtk3B2IGj9#vZA(Q&>=K!0i!Aix1Pt%UXNI}w`)>X~EQF`c9dA}5G~ z7|)o@3qpw0#y~CLS%A;KGM6)gs|>z0>u$03g#Ly<0HqwDC(F0TGti> zO30lETMZB)20SQ`nw|(-uQgDHus-6$&6)%-fw^i?lF2!7yiLaXS!2VuWrW)pB{}%- z3KTUDL(n3obnSs4INjNP4^IC&NNTWF2ib>7OSI3YDB@GDn{F-nHG0=DhK3K;+I9zv z@v4MN)|WRsOPgvSd@z)nIs%mixKp+HVo6;IfN4i=h*1j;jyU5Ky8Rg^vzUZ1gBLGK zG#v>EH$flV&tofikKK%rQ z>b5?Vra%KgW7?NCY$@?4kSHjJ8pny(g(u zlNv+A-s(2!_G@W)AE34f${Ura$B+moisu$#8rx|&o#mR(1+Mu)0N%g;M)b>3`N4ds z(^aPfbY3Q&wE09APSzIaMdy1Bq!Hioyo?L&BxqB^O%wP5xlyz&1FDMP#%PAc-IVp7 zC*J)&Krk1ElIw5$pIt;sSqY(jD2)g@Blyuule_;KFUvg}h-!qy2M+xY6l8A)u-H>_HS1T8UNx}rAC%G@J)puIJqalS(Qc`Lp^ z6AHe$tU6-Hlc;XBuhm0tcSm{GptfQRAX?E8O9lx^b@&Zxz3usfN zLno}-|AU;mhExMpy$uu{a-qHuF88%CovrEIU1vN}1R(D`Nr4au*fo$D_wl>!(DW|UD20{in-;L&X>9N=DRthj6<|<}~ZAWUz{Dg9zxj+S(%K2X^TXgYI zXN&tUkN~ZJPfQvGVo|LDFKtXN(zdd7MPvXBq zS(umHN)R!iu(^H8RGY>181x~6GLeHJLW$f zy;=&>URV`eXYlZ4XS2nj1FzYv>*_ zQK%1CFa^gMO7b#B-A+63C;|j+FIs-YIAaxd){JNZ9!*GO2k44gW;01`W^6#RyrKV; z*xHU{_-P%?J_)vdLRlY~R?7uAlCItaG=szB%#@PdN_A+Y0@?s8K{O^CJx>vn!mIJ! zm_GD#K79C{u1>t~{S`hiX1tUVHG?D>AvrYWD`+%*PgLt@xOwV5*u2FB0)6a7sEI{w z_^um}`1B?NzjZ@1cK%>iJv@)DR*L&PcIWN2qjo>+xG6N~$o zZ=_DgrwvXeMHvu>3r!zzWbtKVtl~sgvf8IJ@W-1NZ0y3nq$Z<8>hJPmGNhdiLr=-F z#<0mF_nVmtpEcKGBY6NW%)=Ju=GVr!G$LlPY^Qf_eNlKCmsRyF(X(I5Sx}oXVbk3+ zbaKF`XhF5d%JV`68aFW+i$r^$j|>u%f{ZxM0U65W2?`y>h>#sy2wz^2_XVl=8*2ej zq`&QuCt^kv@a>!cn9wL`wYVy)`GTvKZv!Kb_vD=SfqB{25fG_eQXH;p_Z^$);wkV> z%04#D_IF4t;~`XVp46RRT5xp7LE#aD)#oN-pwPW`3tT5R|CkRQW`j~4@lohjT!um` z8T-SoxHDBzJ|jjmI@9oJa)AUBew8x#IkpkY_Q)#k=|oZ~~^EPjKc!)b`tHHDcK_ zTXkNyl2->N*;toHuLAPb9H5JRZLmzR+@t3L!vZyS!VxpwK;*a`eUN!|vt3}{_l(!Z z#@DH826(Ov*G3`J;Im#8sejqe3%H~C2b27AI+kLA)HrrU)Qj6iKBb`O5n~{?ljG!b z40n5$y&u?Z8z`lfcn9ApbBrCS5fJ6Q?7)W14mz)5N}c~fLF>47vZk}%&UwQ$W{ZG! zs5E6III7e1f)xq-&)n_opVNK^`om~$D$#4 zk5tHeE6HuJ`n3E$NlnTYaoWOCLAe7y5#ZUM_jb`Jvl06lN|c=AP}#;M9~RI(LgdImNB_W=*-7!)veH0FdU+yR$(P* z-=zJS@vD}m6U<>(rDBCq>|Zc6mTJyjPrKig1Q|T4_Mue=C%Vb@shFHH6Wd#3T;enj z+vF}SfcSTFzc(KYp3RWAi@A=ch-3e3f+M|EcN*T8IUD`XF6fW3dt7C>uK@$`tycjg zufn%G$bz^i-`|#6YNfaOZRusXK*kbhXaI)Q3jPSX6}dYwSpo5!=L(=J&Q%9`WQ8Ai#dLn`qj-7T< z;;g#^HND9J>L?cl8jTOz?p-sCPcw}_xcOxzOJ zontZRd8;@M`zteduD>{u`xl9k%24zf>qvUjFW2Jur2B3QnDuS&Gg^>+E;?TJaqdmS zE|XiBZ^-`3p+Q!201#_{h4PKLMwj-42k|u_=O4LrN7kg_@&yH=6tJ^>bCt?nJ>^`w zNuDjfzhc5gZZ#ZGtCM`RhV#Rt5N`8y`{2a1CHEl>YKQ+NbeR3wM)D{hDvJ_ zF4ma+Hdu_S=!>_?S(r>=AOEtzJIdj3j(i0?>ThAvm_E5@P8G1?!=G^HKo)Mi0RZx@QYS0<-$J&3V`UejJ}PhU9z@JL zsWpXXT=su~YWTeCGidSgF}24DUtQ#`ZS@*@+`f9c<20CD3Jo6T#%Hc@SVe*iG!YXA zDa^yEyPEYEM4@P{JU7iJt>Be^>ILRJb^}v|Mpz{pz;61f#uDA!IyDq1&wyH$l80|a z6qfbA#C~LxG+G#d=nPnz@#AK59NIfIZ1^fH5*ux=8`hu3=I^aEz7F;=tPCNM<+<2Y z+CjJUped@CLk{5b`qk51z_Uy4z*I4!%{a zfR3#>1AYa&cQm49I{U$2Lg32AStb)DBX>Gd*ZTpFHNDjIFO9!>lSk;h54U*YumFd> zvp6CW*JjCA9LpJM`ek(p#5MR2(q#3smZhn(o}qt^-TwfiNA~()tyLN?=9YJyZY=aVd->!QlDi(lwO_da}mA zR8Gch?zchjT^knlv9tS74e88DZ7kEb;{~17&Ha;@k3{%d^h?BUhD2(JD`Y{4i4dBT zJtKT8X4AhahkLP?23ysGt<+2;*^Ntq7{p~>#m&ESXcm(OZ9z z5w%Ue27*7wgXKnXa|NQZUJjVSSkk)x04c}-jV~4A@G$&`tYZY(iBHFkWm?Yu@0= zR{mKt8P4((S)Ip`C3=Ipk2zP=edVLz63PK#yzrx1Y^$Epl%p1fF2DK|5ct}rw-iZ+ zp1?*B+es4NEBS_o7smF48d+YF7v6v9BqW(_tO!i2n?RI-uDf`$SX!K#WPn2q#F(Lk zX%bRQQzDF`2x^%&4PR;SAf#aBOgO=H%G-Rf`wCqRDk_4u3e#|^tpv|n7t}sZjdKtHafeA$mEuQ#4mjiX)8=#q5z~rE z9pO)OJ6@vbNFessr>%gc>*v|jG%Dg(uoAbB4y={PzyRFiPvW}{8!_~1F0g=hSWT^& zi7TiC4>XHmxlV+TB-teedc`ae0KcaQAMm{=QV-%orc;C%3fzH@;l8Zf!D!Fa`>Cj%v71sRS^@}I(I=s<82K{@vncy=AGF6b|*2c4<;IB zFizji)QKTlgdcNOeJQ~oW8#6rC;tZjL?f`BM7(CxF;0{lfA2h$yv8!RhNMDosd30x zKY=?Y-xU@2<$-zVb$Q0d*QIbD+3w6WE)o)23rk7iGT3NiUK~@hZWBKSs&ENC~jv9p=0b;(` z-|NyW^LtB2B>YF7(T;pv9_BZtu2Dpv)DZ9xT+o*y)_7u6@l^{spkj-@)Gg_Cd|p`_ ze67AAqD)Yc)sqB#wc@SSeQfo#$ zJ%+S0pS*2`K<{=wj&aNP|ALAyW%1IKxMM`+S3jjBnrO~YhQGid?lB;>?DdSOU=NM^ zutFb!xPk~@$W)M+VE+3KA^3KwFeJWoPgy4&Y*jmtvGuKK`h}KC76m7 zJhs;wY9xgJRR=HV5IqVc&)GW)Sg5g`NI37YR5tn!ecs$j->v^e%vZdu)h~AieCeFc z+)m(jRjQoL2CT{-LAhD$ZvPN5%B6&_rSd62L8U@fcv`w|svz#jBDtdX$(4PTq2~c! zWKF4{Kc+CK$gJ2A!}y`Ly|eHxjgHoj1}`t%retyqHJx0`@(@i0tQ9Ae=Yts?gEMu2 z5(L|KKYNlKVX#_1SYG@iCVNV&0|}^J#szjXI*7X5j$uAzaIen0j@fjOQ9J0P7y&l7 z8JMgIbD@Qi8RbxdROLDVJLaX29hR3HTkR7+nR7)C8#t)};`xN=pENhriglk|8t9uj zi{T0dY6sP*tx%qYcz)1(S6{rukU}=J})T#3KT^DJzES)Gg=D;8SLi_1}1=R5? z`&g&|eZFQ7qCwtif%ESY`j>N8goS};@Jgm+^i3pLB5(5rW-{*gK97nr=X#0>+Ke7KF87D5MMPzPfhBUf~;j)`&3q3-AQEx*m%6Cwu)DCSQT0wYSh1dKl@l zAAytw()@dAjmkmUUg=udD!4hZ(9K7Rfy;-njhBE zbp6r21j+*^wCahWm@c;f3-N2gi)p@Q{G2I)`GFTd=ErlpeAk_eWf|0#=WO)e<|Uh# zqzzB4HWVBd;n8FAmt1p&!KLfL2+m$hn-nx8(S85CS}VW4W=+LV-gcb{f4d*`X?Ncc zOiGbAcp8R{ZxACcOpNq|^imNX zaZSnS2fH|_81qdz<6(M^${Axh=3RaE3S#^6kh*;Sz`#9AC%3Yjd5{$M6k2+mUM_20 z@hqvWrx-m>?iqm+SDgV6dIHyWq|6R%Ha>H!$&}C3LTKyCutoI^-P#Z{8 zlKoG3X<(J(n7`6fd&0K1yN|IK%%HkU}KRXbfL+aA6?S#cFu<;P%*66!2Pt8b@0n_!^lHL-w9=m-pv! zh+zGP==z`Q5~2lxxWA-e245mU_4S?wUvI7TrTs%04Umv|qa%Q;T9c;`EV>llXop%4 zO5JQVDuCD=?Kj{H!TMbI_gIe7O80lo%v_=fFdPJ1Jc(`-NZ}!us0ZFIEKn7b^6+&S z67MW;{)r=PV>a(UhcxLX%xZ3$<;gOp;Kso@H^xg>e~*$SV7n%ovlXoBk1B{9TVNpK zG3_9cCVy3&YbD9E)9ReD(?I}ZE@Q9^jO2+~g~>k{lGkuC=xxf*if zsFmO6M)ETex^tqpGxsJ|wF?%dIP;epGrG6z+cMOdxFwKYK93`NgQxG;Uql+JJK=z> z81hq#4dm6u>1CNGL86M z&EH&mx%)jV*B4+1l8|Fq<+mn+@9C+>A^X?3vM^)fC_SFydJ>&0dENmohWe|UP%H3Y zuXd+r8?*T=B*w2N?4+UMPB~(AYQMr@k<7@!xikZ#hvAVE`#`hPx3F zw_ScJvS_{e*%5rv48J|M1sME}G}+C?+}1um!)}|hKQBBb1`{f2R}e4qqv~E}Bno-R zQty@8IV`lzqIJF3<(cq_YhU@L0%gK^eq~8X_XP8?B*geqJojj^!CG2TdyvvyDBWY-_`r*sU|=ZG zX$A;Y6h3i4_EZ8kVBOBO2AUT}QE9fI>APd*=H}j&Jc=z<3yX;=j=(J77Vl$aUvZLK zOt9nLT5JU)CkiMZn)7l)_rxHwvt(ZXMvP^DcJh_C0ReUtAGx$Pv*BJ$aA|Yum`4&* zlEQtbEZLd{u}0ymv<0Ds3gbD{{fU*iRLK;xoPRqJX_L4YLCF)jrpFj&Dlek)4Bhps z;le;fD9uVFIR1A7*#o1_4fU60KfX+Bm;(b|-6#+U&e5Yz6%FOwjwM~KYZ!{$;;zYs zr4IQ8c}y92C``~RnU=katn`$)@XTR9S+69Ja3_jBCl+re0y+nzwm}J%bCt4Z{bAqvti;JVDQ5fiv7qq-3`eE=vcCuMD(0VJd3q%VP)g1C2@7=sDp1 zY#>U#B+e;D)C^Re%tRU=F}tt;aa-hCl@r#v6w$@wmHU}zuiqgYAq}~O+5mBkXCC$69 z#ng~!O3Mt^V-we~-h1`2qSV{OI{u^36ZSv={bq z)16t5*Y|^;+mbVS&OD&g_eo0Pts^q7^P{+3oo(C3wI!B_m}Ei;-_Ty?zeouof9GNA zGGO~Xsvu?OGSZ;=ttQaAUxhgwikCUl*XzaYQii&l;SXB^#Nr98rP?&Ino^MCP)$hd zh;t{lS?U$z@=A$3XdV#{mdZ^akn$;It2L4u1zG@~(q{%ay@sj!hBq!7ehPj~^*`aH z^lh$pTN}xEaxMsLh6H*F7;Kg&P!=F2077Egm!>Lv^Pi_6oA}6wjbT{e zH)G^&m{&>AH78Zo`h-`Bl%n5?>I3|fdY2E^bSpbmsik$OIxYXpkQv6Ik;2#Vi{!qY z>I_>?OUJjA8MBFSW^tA0^MVHTrbq2tvk|k$W#FfM;S1IuY<0Lz`L*wbR1$K9NrWXy z^7ptfvB{#f)$p&J`4|LriXVGUDUh=O>9(!*LM;Z~Eg9^>qC8YHZmW5Y+=qR!1u*7s z%!E!Fs~bqjE_N4{o@O(0=6jC-A0n}zpVqP3aEFbs`1lge4@xkcx}^TO`TVitjXrqM1-0uxMr)f+nm z6Abe`aRBp5-HO^VK?ClzfXJUncs*1zu|5QLU6k;v>&NU&dqA?Kk^lffPEAHmEC2vr z0003100#j8BLM&?0000%Oi)N!000014>11`5khg>HcmG1{#$y3>+O}~8Y23ywrv|m z-ZDA;hoG52HL*hR&x*hRHV!HeYH~pCk#O-^smZ{_oJFPhVhIdj_(4dy!TZntuip=M{-~=S04X2*xbjRh-z=*V0Zidu_w~&}=zs1e z9Z|DdT0=Yd+biWVh1;Yt@$Ck`jq1K^dCaBa#z>lLY^U+N#g>ieQ*5%@920Tq&y_in~)jM6(+Kfa{oH-NyWO6ty=F@2X?PgM!5H}`K zYxOJF#j24gx0r^Z)8UB1jVm~75puF?T>h*;CqmCa)h7&ubIEF>zDH{i338o?7Z~bU z&PTpkOVavKlBoIL<0$|3`_ojqTYp}C!a|-;cRQL^HrTXxn+gsptTWkZ2Bk<1^Th0oYO1?sWzL#ml}*(om9Qp& zzqUd$n`<%^^g=+;#`FGey>4*3)muS`BmVJ_mERB5^o_^N7%i}xyP^BZfkWW7P@B1P zgPc$=NnW)5{5n(oi$h!FW5e2hzplq@{9m>RkOoy!#Id!nO2Q&mHm7Cmr)jCx^0(&r zef(u(5KaAE3;j}@Be2;zHVYBGWI3j{vaR4v*tH_nFS1P!+AoI+4yEl9f%eb#ZdQu5 zIOa>`^HKX6o;c1bqmbhkdXmm6Ur)W|ESaa+t=$QMqMvVOZW)}y)U28 zj6GhG!fMduh3#YK$F+m>rX)1|9%$yB2NMyRsCvH`1HdCo9=;{$Fp})wkvDsdx`8b) zEqvF_zThYC!n~$fi%3--0>=OY2bYLYEBp=ypfHOd&qK9kjp2CLE!l7`Fxu3gYk)# z9LRpxA#gr(`#E6Hd|`YkWL2GcUr+qIu-r#Aw3C=P0Dv+wsAZDLu25EWL1re1I(){D z3yWcr*hrsQ`M=v)vInLUll%VX+L$L%Jnvo=x>gVdp8SNsl z4wv)SL;?9CX1HvOYQIZR#>8z0qDZ7P$dllyawpBK4-?wH zOZ+Z?)NAF*5B-ye6jWX&Rmhj9zG0B;2Shn{J$OI zJP|S>gb*2>MQ?UwJb9jk__3WA;97uoyN*nHRkXeQG1E+)aA(6%DY;`x`wjkS?ZU-o zsH0Q9OLt+vE*Sm5Zo&_(57*dR& z5`^(qVBGs6~8fME`(76b9AF?ZfXH)~q+R3xoF4vv9Z)Tjj91(c#GMljV*3W*RY(_?-f%BuQ*mmUMXu(NPF14y)hY7S zSGx&C*un6QJ2{uY2&}zH!naPZR7I<%t@8)brB*q+TM-&7q9Xj|_2jvWdVCnz_JzX! zUKO)!@mAGk^bUc{>-Z_^-T~t@MGZgoeE&EkDH#xW`{{9WrMxdw`3kAQ4oB!;)LLO7 z&Dg!{9ZvfRTPJqCmygQY8!z0{P;-c%NsRoyfyYImEUQMfMlMw8b~rs~|JSLW1cwqe z@Q&$LR&y#yZt)LDj3s*QYdpp%k+0LyPlRL9!{^#LT;+)+X|~%#9NaEc660RU&;lQP zH29&o^&c22Vh0(uD<)pKYjVK|&V?2|DsZh#Rqt#k_wLL%-{3 z1U{g9tqh7V9EXwA>?eTrtq&H-1)ZW;yDjd8If7kZMBM2_nzKji`1D~DC$VUtDq1TC zj>4X?rHCnxz4#PN!@qH`7o62feMpu4E~&pz=VEQ`V@EioX^W%!Yv@pEp%Xoa=#%lJ zLYx}?D)i@hnefoZ9N3KOY73KKZg>=iyo-^PtB=`u(OHIg+%?4<@9IOimsE(u3B{CT z+wc=6u-4$o);*~Bw77#p!R4IQ6}#f34v9;{N&BBxHV>d&lD2Wt>FtW=yqn6h-8yEi zutb8N`BK9XAgc(JTY||Sd9h$|#9>N+P&4!r_;oliHpD_w=g8wS-uJ_g>uiWXD715} z2^+9om~9=oUN&E(M&_er*RK<=ACMtI-gOMfYo#k~#ZbCCZOdTTxLec~&tk=3Jg+$Y zdk&lxe&t3m$c;}-AJae4J+WPT(%JPa+G$6B}uA}+uPqdZsNqbZ9%clQ^Rzd`*V}WAa_lWc#bt3@c$+}s`)|8^pKQ; zuJX$pn+#rk`c;4++Oue@$}dKVrz1>e|)-3L<&h?KSf?=aEiph#@e;=sZXS z)<0$!zO4NOfua)XJHxk1+JmG}Ul@p9Uwz&dqtOj_%bF5OF7OXe+mC+juvsoF!JQkO z{4A%|E!8w#^Wa}(64uPPet%G`L4rGpQso$JT#S^lg%$=3!TQ(A5|B32+8BWP`@Ik& zVq39-05q2OADO{(Ly1LaVpc|)+Q{k?8Ylq26A<3HJRPgW!wJ*(;xw&5xvoo z33zeEc&-&d?mPn39kuJl&{~AWCq75ZC^)?L?yfS>Z!rU^*Sh_f;Jz^_97CUkSwJ)s{!FDkaemX6}lR@ zJwcVY7_RjT5gjytwZG)PUjqT(QyeEJd}#vx&?u!$VbBf>g#`BY74okS0fQGcL?;N| z&Ew~mrbDUKNBi0@`Ac5{gKvSIQB?Sdkz?I<<`Zsq3&3ylMIDVwK|v@C(E9kEm{l!*883AFZRXUiViYv?M#?ZiW3 zA>DqseNF$!PE4yIL0BCr))~cKN||h$feol$xf1$xZYr&iMLNLT$Q5RR7K6}n-Vn=u1BmcY@O>z$N}$0v<#R3Lw-l9#+uY6S)&UguOa>|r z9p)<`5^F!S9e@Yxz`S(+ii5u-Z_|y+Su)`(4a_B8khWGUY92{2!}U6~YLc2r?(%5) z^_QpTOV$6)2Pzuqjo;u=4;XbvKmMFU?=gyN_kh)qWkQ|`0J19shjn+0?5hDp!1xM+ zP1`$|#`kkOa5Wk8o_a!G+BZa2^s4ke)VL{$XiNVKY#G_29$LcIs%`39{@I)ke6l^)f^yfHn@4;;1*4m+Zp8tk&cK!sd28JxeFq zFbG>{bRbzIAWS(0!=DENS2@H*&bAKFh6>Cos`L2lJOkLEE=v;-b;@%}y;W7Us}%|J z_#|L6;70ZOH>C!v#vM%l+N3E{rO`y78QqE*CeVPXrY0Nb^=uHQIdOG&QHTzy7k!DV zQs)4AjnxZNJl%3mxY!AK4&%Z#lwuv=!Xjyj8Imv~_g?G6jeRxonhA!7q$(*PDm{yA z-a47{@^*^k-1N9-@5;5LZcf`tk9L~Rxamd^u_xN4Qk-x6Ne~w0de+B$3%0iS;A+4JxP&t<3`TxZ0>1yI&9DW4k7a!-aj)-anDrEH3WO) z3-V`s!wI5)^p;Y5N!j@Y5&Pq^`54f3`)n^+^@l}eYozLh7=;o_<_Hv3ZBH1%sv^qw zo)zxF!!knh0=?Y{K`?rRcwCL#E>Z5rkuHO9kHb&Yo)+Q85@B(QuwSYmpMTDqeh`q8 z9BqZ4o1QFYT*B*X8Fo?!WVn;1TV$1rJM#uT+c%{}mBs*>Vzsz;e$%4v5dYt8d_rhv zMdiCBH8Uj~w3hIaa=rYn7FV1|=~4umV8TqRj=9k3tsT#+^i*vde`PeigYGFocQ|FAmnwADx6 zj06W$&(q1_F_I6iY^E7f=Ykf-3`mdQQ;6rfH=RhAOH zz449Y=O2tEB(vlW`p7i5si1v7!~D2*qRY7hnjAwft1^qRkWB*9=Luyo%ok{zfWJlt zFoUK~l$vfP!K5*X-Zk>(StsHcyvRkto_8g8Cd7Ih`hoPmbzpKZ4}&%ObAAfi_(TCN?2=sCy_kxXQ-Gy-j-8uj_`#COsUq$Pw>$*Q+q8PeM^<=|YxOK8? zU+vU1xAwbORBt*_`mz@6VuGc65^;H6{4kvly-JKXh)UMV!-sAPGaB@F5_WZ%{kJku z2T0v`^Ut-VpqA?6SK&I;D9K)Xs-talsy=T3QMsvgh9CIbK^TK- z5vhik(c&1qx;fUpv$=S_)t)(pyM$FNR1JP_E*Xhue}Iw$+07@RdlG<0=@tf6U7kp8 zg?6$3e%YYUhs2x2eD9cY;PJ~%yH*eH*JT7VU7fpp?m=o1(`%BQ;C;n9Q7caeVReBa zheKGA|3Z(ZXez{Wz|A^s_-GgOvZDw=*|GUUTiO5eD`Nn8!Vo4&{=1}CsMP7H`*CEL zOIyAE$T8x^B7|BybU_sZ85ML+eZb6CIkNA$yI>5cG_vxZp7eFk6(spBKA2GB3mpGX-zJ_>qnk~;{n&|7S)Fl6;K>F1aNg-C zrwxTX{8W*sT-8Fogqk7I-gjx9pM-5vza~@)<+4kBMZ&LU47k2;yS*6;ZgDX`@bWpc z$+SG*ilzwj?Wmqv>oPk`gf?zDtGf~?M}9UcXS}KplJx}jUR+Gf`zu*1u4xoSw0zQ5 z0t3B$gkV2G*KTU9dgg!ePzQ=`ZBc}z_e-hK2;Th3i6wcoe#z?u+RACl zTo#LGNC&u0+;X~XmGckH5`^lHTsY<{%(SySR_(4-Xa&x>7{68y?aOslL!sY`tSHxF zWa1OlB~^QV7Pt3sEClkpXz|UexLwNy-v0k_F#>w#LUy+`KVetvt6hFZ;&wX(>cT896IH55cKdd^FtqsuHq<&T!zWN!K-5>; zX=|Jf$*V=#A~s%R+d7dX3{4+70We(Kvr-63;3-$e%RV{k0o^jZ&pdu8gzy;j%=-0}OSAekV_iQVD3Un8am%__k3gsDKN~OgdRaZh#^dz1E#k@>MrU zrER3J@}yvDbA)gL;OOWK7e-e6GGLki)s)9v(ty1_UzczIVFCpQzgA_n?)mHUdj|ja z>veGBESVMfL_J)eU{M-r=T{i4RW=H4+0TmT~sV7?Z+N)%7Z-k=Ksinr-P&vu&XXCh4N;8gYXDx%(MVzRTa? zj+zP_Z3MZa$WvX6ACU(5G}dtwbKcle&L# zKLdCZ42e~6B$2TPIBF>SJ`i7N58wC?^A|QcpQqF&j~xPs*G9q-!jmsNr5@Ip3o}Vf z0Mk0+x6y=eL})FG7uMzaE{t(5{|s9H~=mE{s&NsN%Y-7-lL z%r=8jV9gKP4&gb!s$3zi9tc0k;WgY z;{r{77~39WK1^1V=g^VRqf)Pk<@y4G@YMHz5-1eWk7CxQ*~-RFsV9dzYQt?gD% z0Vx4s9^u;W>j2T`eTZI>NAD#W6n&^rV;h~MDAc1DH{xX2+BqC_pIoWii?sOXcXQ#o zJ)61K{HWs&&Z%s$9OQAfP{eygh=`v$D%U!q2wi2CcA6RBp^9aZV9vid9Z583eC}AW zyOy5L=H~>hz=!+uauclV(VVOxE$fLtfFuiyE}~}!fYg83a|YSOV#Blqop2q?#>N?$ zEF7{A?%bIW^KiD#JI)w>M9J{@VL{R*$l}<`L7(wU+;cy9IJpINT&RaImWG{QckSP? zcHBAO<{LZGc#cTL$GxTi6-Y-3m#-g_qbM;ARVN}DXEdl%ud6fOlW4J`)}gql`ZN*P zAZ#oJBX8+{W)-GoiK{cr>=PnklBRgw$f~r9lBhWy6kk>@Wn#x$AsQGYv#5g(w6jqG zRL$>_RcD(Dc!d}t6KM|Li|NnstU66;z-3-@4-(55jmN-aDYpmW>u&aCYtw1RD7;Cs zRjyh47TLo#6gSAZjD{(6opW=dL#35T;#$QRRV&lYS113a>6WzVe)wXND|yDk zkh=BT74yE_cb1Q?Q`ybi@>+?is1 z`us&|l9P0B=AKCf?ue$$j6?PF-m@!`c`s~_Q7s5q-S<#+p;czmt5^(cNWK5ljPCaR z6E&ZM-YkN5gs(tw#9F8arLxy?F?A7!=N%|#9Q?=FAZhPsN;#UxD16qt*>C<_cCG%DtqvW z4bGD3W(qa2h*@d^W10O>h->8^kyNeQl#zVNs*yiIATVOxD}x#+<28JC=u4r0-`g0z zc)(X9N8c>>Qk8PJ5~U3*wZp}fkmvV#BGO6Gh?dV%KDJmj7TCqyQ^O30tfZ z@O?flaAs|`s&W0sZ0YFCAL32Vz};QAbj3U#aPwbiV#+n=7)#O?HyI6wAcgGx&;SoT zixEKiX6R7SPlI(Ef*D9BrVrjL;jd9AQhgERP{>94RTU=|J}ksFc<&a?szsAwbcXgd zx%WzV3b6qaK5#CV_C0)hRrBr6Em<8F-_y}r%}Bb9?Du^XK*_h|0MBlBBxIk%KrUmh zovN@1*XQ0Yw|=@Kyt6YexQ(h6KWOPgc)IxP>HXH7(t9*X1sU+!Abe7C=!?nCNk*R zuzR-!Vu-83{1HZ)4tazHwe@6#So%t65s%7lv%K|PC;TF1 zM=XNb#F&}X4k#<4Gy)r;JrxIos1ttWRyIeO((ASV1=g7c$`*^gF1b}u0R_&za8=Yb zgmhcek(^R`vT~dq!^BvFf+J`#0RNd&|llQ-fl}VEw1-9_h1)TZKuHE+kUfD z1z+GYPDZZgv$6)}qN)$glx}HwTBnc2eP_G)bII5;jT)C&MSmf-)11=hM{U?AZ^EGw zv`X?8Ujd5pIO#Rs4MGG{bC1{1&-jsI5|iIH2N-ARIbKMOEQ z2jZuYao@(FTS`#&B5Yo&5|G@js`bJrBE`bc44>j=5$}VkAr|cCh|$%{5IcETv-5PL zQlBVgD{?ewX{k4t38#Rf$+l%cxLg{?p_!f%J0^s8Pe5dZBPz(%Ou9-s^ck#S<~~2w z!^tnB%F&;#l8Kf{gree7%2_?AUvI4fQ)rIwoQ7b+SKw6PScE`B8w?!A%xNp%R{%iQ zN+a?Zne<%m*=(3tgPYe}ddSeZZ|kt9pXwC`{La|6pk)O?&gkvTW5&d6UagFNlONa z)ZNO8J2|g(Oap`(RUI5tIHbOaol*fQHLI#shoDiYr#aW_(J2A!%{0AYTux_5RueOUiKa8CSmt+29Cxln5Bll?P=v=Vco- z(kYKiBswTpi2LbX)PW%peR>-0PFqBDOzaiOo{sv_G!iTt%b9vwiLHGK0^{n$ea{ge zX0UVn!twfGH=IuxSNj~7D5H$xk%u*6+>19qUB?Ufhx@N#6b^4H+zr1=Bh4kyPM*+0 z3%olJu5)p%Nj65x%i7js>rsfAqA_@BO&eCeVt<7qWxH+kmk)fTro!2ocuIzts<+)3Ka#5UXgzde=IBLz6mSX z)^K`W?1THqp>AqMnO~sN+D`e)452ux*VR=EHIjG+D$d}VEOay_z+4t@UcXpDzXP0~ zTV?>%3S_J0VbS}sg~xDtdpBDuN4jVSo6l4Cgq%L!e*@u{!9dbhP&jhxl3m-|Gf&g# zG87@=TLKVyIXHH_Ul!R)lUj$-rt8@k!vo`*+(WCmmP?WL=P~tUb62P%h|VGiV}f`w9|L3Xwc+W&*Xa(_Uv4)&{r;CU zya5m6x;g-xpJR-LvKvO8Yque@Ctv0iq=XW&5pAgr4qZyG&&kZS_hCd+F%>cISE$nN z)lmvyvCc_BxbGpVN8{dueWa@iPHt*72;dhA-Voh$oNof0Pq2?>^3ct5^)_DSk@szn z<&I4EDKWw<&rE^6aAH}TseK4`>%sOU2oM>6f5K-|4`F$iU;~x}vN2b`?_wc$cY2R9 z1!LT0So9Tc=b!&j*^a1QeC{>bT161eyih1HS7f+)1(eY_r{bS`0~h0k$coHi_)33> z;%b_fq!%crv7Y67=7Uw(qTQdZN@X3!7{S%0NlF~?7V$sxxd z_|#=uZHS`+JIcRp*Av-%Z_~#BFnZ#a!#1@)m1fX&G6?{%8cks7MjJT{XSbQkSBkVp zJfmmOg-aZ@qh4CjS^&Hg3nS6*^{0g%0Id4{0~pDGqkgSP0*}n7=E=%X-U+dR5!S^C zk9N5Z@PPDrbc@+2;zwsqQCQ3S5p>=C%4>>@pD=3}aOaquZ99AaZ(>gRXW>`KvX6}~ z$ZR5R*X!5>lL=h13@L2-^$kz=5@S^wkV%(B3}mRflNd@@_lf~7%r->SphA0Oh{grCwRCUyOz@Dwhaev5LY88YOs zEu*cr3A~bXIR~quJPc71`)@7eh(0oj9KVg!Daz ziQO#bSt~ZauFL!8BlxKg+`+@>c8Xql48un-&qw(s5r{mr0H=iv*rSy5XNc!3Y^XOV z1y`_%?LxYWSpcF(E&!iEV86Wlw(&dyClTJ2Gb#;gS=M$8Dr6=^C(^6EP1!E6HEHcX z1dAQ>H)m89YX#PLQezbyl-+WatTxa#RcQVFj*q6f=7vSkcTa7nDrY6tFqEB;zR?+G zzCoy<_(F};PT!;{6RYrw#~z+|t&-uOa@>~SMEtyR@0kSv)8o04+^4cwIphl)`fsA= zbiv6ta|oO~RocxHOglfY@2*HYvXkV49JM#p76I#ct_#8;T`)A-DZj-!#wPKMt(3X< zmDkh$7n=ZhLGKh-icS@n2H%{wZ2JzW6xn2*cHE1E*Y9q`gyZyI#cP7V6f6G~i;HzjUIz|VL1E8u zwg=eUl1btS&3vxIAH z?i7%{)i7iG$qF}ERxksx@^m+H&d5H9%kEZc(2@l{X&n>qqCByw!kZ?j2FZYEomlse0ZdDv{kX1*M86i zdewtF=3noi9OrzYhxYF&EU*8o#ySRcfodjd}-8@t9PyA zP>ayDBMU=#Q%?#=U#xJ(-ytH5y%zY%Cf6?3ix^7vI0wH4D)V5i`rWajbj6{`h1y+aCAhZ{>UDR=5 zC}}`)Ukj@^pz@cT3JC7Y{THbs+pE08TO@K0j_YrLl5Ws6X{#Wgei3|x4yBhm;>8Tf z(Ik@@j6>?Tvxgc*>MM>>cYB<#MoDN9(6_!yW1B~gd|L35j&SahRrxjnQ*1lO1s?0u zzxukW4Zu>FxD^(+D+Sj-Ij43$4%LZsX)>ETapo9Iw8 zFq_b^NaANFjniHaI|6ukd8uUpz$J*GjuDiUqXY%aUGPwqqv)W6MD>S3pt8G%Ym57c zs7Ww1G!GJ>-j$BZc=|cu1JEc2&lG17y)xVcJ+_i4#a@Yo0Mww95FJtH{Uz<2@gn^U z%;R>Ez0|oex{|ig7>sr#{6!$fmTP1JkPp0S?|+lo|z@i( zKAd3>T>L)3Za9tQ!x{F##U8+JSnmQX8^beGhULoruM}2LI3S2C005M%0G$CU2>~hr zKW&)4Sc4yl=>P)Qluib04xGymv6HFgcv~`lviha@r|w_$|G#+K`Y*lKhS=NfQ#;>2 zy>S1J-(T)O@p;RCy4{uF{KD{O{SQC?vghBvgZh4&K9Rrpd4c`||6i<6{VurbyO0!X z#AQGH>^5tCb11B*`N{Ki?r9J_7sW>Rrb%lrA0a=R@zfT8Cql1n^J4lFRTLWPGEOoh zDvL}D%ZE%!9rrTP`0lo@)J=N`eAWt^M3)9MNd@=ZLXXvwY4&=U1qBO%u0Mmh@_wvK zsmhu%S!32?O%n|6{W692y%avXw26b4VG)~#jP>8@3UQ*{fSSf0EI57zKv?e-mXiWO zsww_o8)ucmFNBw_*10F!+ib&J+j|jsHI}Hlwlb?sU`gYt@V8`2jcrP*S6NrLjn+md zz}IV=uYq!S&V=K`x8A8{5j%*Axb2-@D6klCe8sG_a1TJ)>;p%u82_--3?&qO5(S}D>ajB)3kM!+{UhZUDC+35Sze3a*w=W2zO!9kG^ z0Q1jn&G8k8M=uxTqXTFti1?F^Q?&z|{<2&Nx%6}py*CapEIXo<2w*E3S9R&$#bf+BgR@sPIe`3rhZW2u zOfyH1LxeNKJtFWf`kB7<8OaM$hX|{D(U_xcZCjkOm@c>`N1G;@>-RK#q@KuDybsZe%8zmuhQ2n@x>fomI>Cjei21 zw*=gy@05Kv8hXIHR$x?)6cQ2Dy|jxMWL|b7L=isa-;_WY4(z80#ELLmW3g5fY=SVQ z2$hR*LyYp=msvfqg%gu6D?U9WeS3UQT4@OE+bx`|U<8UzR0;p*u3r*T37RWWO&t)7z8@mX1exry=h=8!%>u zRq*V(m(hsfe+sT~=UNaXbUgyfP(NgGE%!)9+pc2upXK$_o?<(#XC8xuG(>Gc*>D=+ z6?}DRF_1kQjU#{Gs+;nyPj1Mn5pFmBH?m^g%V5XJL3eoBuO=L*6igAl;+kz%z@qU4 zm*)MeGlV8sjdpu;94R3TdT`>#tSDU6GLe2@;)Ol-)(w!6cLsi<5`py#X=dTSn}((XvI!Yy!@KSz{`S+(ao6^p>6%M3 zlz`@eW+=!a6~S9fR{WhW&B5SM=>VtISR12%tS){USC6=Ahnng{UfwS*6nht~1pa1<`BAyW|I()X>@n~Srs zwmGE;841cqe7Ug-6v`e>Hr{gaS^j=lhzbAz{?s4SWb42D1LjtuKjy-9;(* z=Jv||l2dqI;P`?zkC$*@Pt@M6Nxz*kqdn|-K+bh?mt|4(EbFIIyc~Cu!J>6VdY+}7GeZRPF5}b_ZLfJ-e2w?PmCUcFRr|9 z)o)L|O7JK;<;()PD(niT>b6md1P2qz|3~Pl1bKv0fA00(>DKP;2@77(YJyB<;O7 zbvpJ2X3zS8N>m(w8&lQARc~MP(TuR$qQOD?`2drY zLtE}Tl4R=*s$Q!3M=43!AuYrjfc@)O@E1jocsocN_-{!9GV0Vdy^oiC94Tn85Y|S+ z<%n1pAft+LFzhQAe`Vq0{TqKR*OHZ|-p487k=b4Y0}U`|EwfWqs~qGhkzS1-3;6Cv-E@dhq2m|!DTKPE!rqQWaKOKL!P?2=MM5| zJ6B-_;j2Q;o3W$OmC2z+YbVE6FY3g9yg=&{pF?l%hleM}Rxb&)zaCS-{RJSn4n=Uk z?cnbSmay)=-HUi~v{Q5&?PNzwa2W31W*J*UTOK4thy_ppOE_-=C#G=~x0ZUMzPiN3 z3u$5G$PAuhxQ$Z*7>5i=b@l=H`Jc<boO~szl8-05NXc(sI`PZqU_#g6^my_QTiV^fP)N3=n8wgq_#(Ps;e+V1BiS$maD8sRC?m!vOuFYdnx3iuW+f*PHWn8!*}dVu!a`(m?CSQMV$1;0rnAx#D)=?=VDE_3PBsVoqZ-TM?58k69_mjlv>wgmpV1f9 zGCv(@Plht~Mm}#(z>6G`TLmG>;Bz+jBK>^+@K-0an*LghtDKKWuAZlFpH18_@Dqd^ zHd=fwQV;b}|0EgzLP8^m8TSV1OsCD2m{xKzw{mxHg~@k7a;+#uq$oK0I8ErNkTfu) zBKVaFt5B;O`ZcwABgq;o{bhm}>1hrw*O{-}UWA$B2zuw=(e@YoiO$_r`b*ztoCy5H zcJX)SxQ4$8z!lEqw7T8OXi8+W`*om3F*--zkxcn1s=pP6e?zKIB~zH3hYr2D;s0l- zQI-{SD(qlwLo$r^U93X*qmSQj>sra-l<>5a9-1@EmlMGK!1|}uBSm}5@3vWNc4MY6 zQ&wm3-&O4fgP@Ttq>m8UFol+W=pf=SamqU_^DW<%j!pr(yJ5c~knAq`iAGe1>_d7I z|1G6HlaP2xVb)zCZ3}{?U8H)I%Lw4Oo8=II zkqS!cYr~4dy&@32_hti{X+U?b_G+k#WGvOQ`Cye&?COj0;C!PWIrTD`w~qqO(rgZ5 zuUzj|MJFTUy)BN%r?kB)TD0`vqW(<6LfqYH&$VNOOvbOzNvDjG`=8@Bzg7ra| zKxa`#*qKGZIXVNE>sCgvq?3k0 z@`TDJXi&42l9WB8OVM{Ar+&~f<`uXrd^*&(5X$sqa-|mdh0yL+V3t7Pn*K=4i8Cw- z%nUSGDM4t$5!rHs?XG*r2=}3Ob=I46o0+W-op+L-U*8*eaGJXhTxGWA*M;gF%tqeL z4V^^gqebE;oy(T(<=8c+YwOdgryysF_PJIwO7$xgI)4DF+>QQbi{bV`q7p8?AK3Iy zVIAqQMou=%I~A5jb-=;cEam>x@DMKxCwlW!}jMrn{JfKvZ74} zifN;F&*3^kQpK%VMv=Uk;R(}sgiYIUyX@R?wP^^CagW#uIm(p0t%*GvMvjn@STM{c zk+?UEK!Go#WyB8{@xEjy_2+q8c=9X#2$*GmTo6J^IeEk~%rUE}lmRzrSPUyWotJ-? zbK|=7hjr+ka)T(!hW7YeSWf}M>s^oAa))%(TZQ5DAIj`$74?)W4-*ad|0HfUWy|WY zbhkIua14YCJfy=H1aFpaIy#`rzkFeaYObr^f~Lbs!rI|RM^90Ckxh$`G&ASs+Q+nAbJ zP9BsFSf#L%zMK!*swnuRPc_#trEAGKlo$S+Tn`79^vK&pDvbR&!xv49au z4JovzLFBu<8p3X$NV_>xq;-lqyBUdnp|O5F9P}MZs6Jh zt@=AG_KjYK%W0+@mwA5$80^%y(U)q1UT>Q(9Tc^oz&n;&!T?8lLhvW#Lq-BoPK;ZP zN(uU43)0sv*&_q zMrs=TE{&1p^vGk|Kzn5x!F=+gry6E|Qbnb>_;*QQ8Wgns`PEg~fV$jKoO(pa=0)-Z zz{i?Yt#U@@Z;*L5{8f{zuQ=(F#|ZPfv7~yH!I5w|ABqz+JBp%rM#(CPB$uBHUGU() zT=R}zF#Kqlye_Ex_6;91R6T<(%zJeqN64ZdLXW*N=~+cBM|*CY14owozlz~qab0!I z8wK%=1qwij)FBECrrw6gM@T7hQ}r7pxp(Dw|IMR0Dk+G9fXWYe?E{h%64q5S?GtIH zXOV3D4bgNuH1}h^;dFVQtjGCS^ca{7}m= zH0IAWM16bfwLhVEo>=0F87`22?{5F*A_ZCJOIcna|3Ae}dDb|Q0)>%SQWNyB2f-i1 zSdU*B!s;BBc?zJGXHczec+V@{&!U=__X;a7iQS!7qP2IiFtOH5Bwx|aq`)qWvec1E ziQJr_6^VTgR#XFCR&mJ+++X#zmv=+2*u@AGWel?2EBWkGo(=C{qkgDep{Hc8sH!Km zVT7aFhOMiV+J;kakf^5|vAH5EsPnXDwI*IG0j^fffgQpbmuSZNtG%!sLywVL*$&1A zU=~QGmVbkZJ-ac|MC&v(E`g@b#ZiV3B`sjq{l9pI;Edy{x~wLXpI)zIps;!=MR{VD z1SfR2nf)8WXJo?17WhwwbuV93U7Rx+Hj)Hx03?BVPePZ-AkZ><6U0;yU)p+}$hZz~Wn`gvr#)T3F@XjUz0 zROC1e)PO9%jLI+V@s*PE&s{K6rJ0_6Yk1g3>W(gQbH^o4kF{>DxyJVNL#}uOzrGaS zlB@@H=xFGEQNM!LxnVky((GlR8s!P*ZkI}KfeVu=Rd%Rsj4w=&D8recoSfbq74S5? zM@;?fyX$;@)N+r+rAa;#a%h*NAIg?Pbz`t$HutrwDskRSIqk!jBT#;2Un)KxZ;04a zEdUGE%TZZ(dVvZgF+Aami*&9TN~B#{WgWb(12MJGJQtgy`Ruo91Npa~^0<_D5;V=& zjnXb5`0<#^@4RHPHFjdD=%1D1#6sM{KvaXGQwSIiO8iNJknv|gtdccEjMvTLN4&22 z(?uQ!LDlqRF@vVTGL6F`yK}U~{rl~*Gb3(Tav1#;ZyN2X#GaNqfY*mHn>2y6#4Y}M z1QkC>J>Ufzk61wep^5-dH)*T@OKPOl&Xn&j^yri4bP`bT&?Sd-Y{VxYu^9W38qiwe z71$Z|NDAL3a?s)}z3^eUub9U~&D$x}6PzD}2J~G}zhH|RNs*Z3>NAe!r1J3$YC@mn zb!!zMB)nFI8cmone_Ph8er+A>H?FT?vdk4++xBS&FXb7<=VXxn3O{xvi+@=NCbetd zcq8A-R(=K~k;s8-b5j%|Dc({&1CHO~P}s{;p_G-(qmD^76cSeftDcd}*Ixc9WMZfy z&|Aaa!khCyXk59t(I;Kn|FA7{nZ3{E7t8K$u5z6#TIEkZ?R2T4>@xFo!4u%ZRX(&6 z#q2aPFf)$#g%C((dufa&NH1Jkyel^4q6k;@-qUv4Agm|T2h@pVJ%{P!Y)!l8=3y12f7rn?AbIeX@SA` zw%Vd9>C2{3+~gZb`9&<=!9t8l)T)pd>^oMAz z_psB%txbAMFI5Wgy=4lyl3QNYq0%D@eI*ttM^K ze^;3U0ACv@br+1?_GKyK(;Tl~s5xw9s>?p3U=MQK!pe}XdTE?mR8C7os*0*?HS_`u zflW~h#ANHcqJ$cW0Y?LXmH&~|%VSK~JU63*juTX?o~kL-y{%VDc*6zTAe+v!uEF|_ zXZVO9rFh>L=eOcaBeBIv#Ox){wL+yBUdou&=g3RWsZI9e3|@&&D+Z8b`3$^P!a`4Hba19D&uVC9e1DFr;2BJ&L zKHCyD1ibkYQ9kwG$`wCDg3}d%LR%R7VYmcm24I*)HN%ao8?G@E*$+3!XaMNcp|pb=`I>r6%wLFc9-HS1o%B63yAG1{c(2qs!2an-P^~V#b1jB> zua~UJ$8VSQpu0%ae8`|hm60r!5fgXER*k8~6en`i)e$pq(E#7k(`*M_b}Y+vUhv>Q zViQB=zFr)+sXBSw8iJ_-p5+33&omaY?=9%p6d|;@s-vN}oi|TkR9S3vDO3hG`2+`b zwBV+kG}l*01aU-l_8XC0=vuJ@NwZhu!7b)}HuaPd91#{ikxVTMf&f9TT8l0Wss+~* zFSpj?@rzmVSX?l)G6@fCnQ$b65vM&PIErOW1k48-+RqtP{7~Wp=48~ zu!N20@V@5Ls8Bqq*t>xQTKq+DfMVD)R#O6RZa~psL^S0h;T$G zT%?PzD=8D&r>>C{2~|$1^;5$=%?*5QBsd8*B_YtyZE5w8WA}UNiTBDGl$ozf(Y>%^ z|KcH-B;(n3PT)$?tkzchX*1)@X}sP@F&Y`K`c5*;f|7pP9(O7NVTxnwK{sw(Am%^K zUPUBnKpp#>r; zw29|vzPSaIvT`} z1_q3`k%wDKff2zq@u^KZ_jrUR7YwCYuN9R2O98BBA!a0H233Iju zyNZ5njZmYZ=6|D6CVAYGc_aStfh9t>Pm7U`gbWY3&t6t`ka<+95ZR)*pUY%zK{ZMh zdnvXTPZ}Q41g>-4z!beqi2UqCV#NRtPv0D@9VJDbaiBcKU~go-<1XKyL2AhfplJ3a zM!I?AAkaR0?lZ+`asx~qD-!w_D}2|@98!2idAGI7=7aj)2&%eE0vCK~WautID9aFJ zeJ<`fDllVk5e%2o*{=Ip5%Fcee7k|_t<45E>s!-_P@OLo%>+szV8*Vs^J2o%Xvu=5U_ES z9iy}y*@zvP`{m*qF0%uYI7s=n>x=W06QbtxWB;DQ*0VsbWmLTJNpJf=NIEqqh;e+X z`~fmZqwllD(&P3@xT_M@5m90jzKP1aW_G^vX0D^qH6AUL6{H~JS5mZCj!Q6@q`Suv z<18Rw&7dka$J++dJ%mvqaYus?GOsXWKn0Y`9!!c3iIwbz}?}ai@@{1cUO9D z_3t;T+HqPVL&I4B|JSLhBSWjVZqlVrrM;X+IVCeBT*N?SRN*#y(6BA=#Vwacazz$A zQg$3&ik`*xtaN&~hDtcdVefWG0?jS^Y|$!72u{-w+dG&y9tjkGapxU&wGPDPD z9=BfIxnp~^`F9+UC?#Jzz)xAuX)is$f-bNNf1RvD$_4)7t(dm1cYQAsx9hkwRMlB$i;9|(@_>?m><<95(s-K%A$u}te$r7Q0jsgM?@RHDQ{So0^ zYm^?pUhf%!QCUfSqgz(BddiphB%AX)6_vnm6QcJ6#*&VIxxO&XRTiU`_khmXx@rb- z+7MGsyy*T8zINu4Cc3JFPFt8l54@0QVVgLSwQZtI_b$Pb1|!JdKqOGR{3}@tjDT6J z{{A(@>1Zb&xwcbBF$G`i@HGGg$$aqn$oHx!9a~g&&r4EOEW#Wzz#%4FFl86&EA8qb z2ynLzde~s$Bnd3aqGE&#!dR5}Cg58hf+Y9rh!oJT%VhCPR(@z=i*f2I5`&m>hihiN zy-a^kt^sf_)V7YJ`Rea#%I zd;V%2GbLLLK@TB>GS?guo#~SoyO2Dx-8Ac_AIUwlM5pEVNJi)Pg5Av%>+1UB zl-NIFPO#f^>y1U*^YCv9@JH4ka07)QJJ`MGjAU<6 zv<>+vKr(bH)xdz?5@m|?W;UBeDW|EvH}8TxZfj*fnqj(98qUOQF+emP5riF(B#+115sT*du>6 zUZ+vvP*L2(X5SH=<^sQIc;YCC8qd)>_+aCddJ3h&b`g4dz5^Sv6C1X{?=PT@#-x6s z(>l8$Rk}KTX43h)x7|VrUpb*FAixy`G9+HK`QJ3C7R+|H^aU%0Bo?r7KKrTK(@Im z7NCNRrlHt6ZyWrzKM5D$ zTsqb>4SCi4O+Tm^=8s;6>og`FPp`Op>2(>Eh*IGN(<5B5|XV4pis51<0o7pQBc(F!#$}(#|07s_{5qN zSPiIK5EraWVDCFcDi27pH32y|v7{}5S`>Lt8>U2L{MgCX9{Oegakd@3)xs;Ft%-$d z&y>7Q9C9Fs+u3j$++H(CX89F^W?U(onuwUX5Vzv<+;*S29i!4JnPfh*bW|du!cf7j z-1NU4oKQYWQH_#~c|t~#Sp%#^wFDMmBmya+HM`EVFIr$qqRYnwtHLz`}siyz83$GranI6Tb6MX>@5-@@RWd5g1amAw9p zht%Z(@sQEdB424lYSUqrLuk+qRw0%X$cZfY4(36x|3R~_m{2z=A$#-9pNXU<+vYAT zu~o{Gb}ebyf-8o0wXre|fp|nUMG-0n*snxavd5`>Q7Rk;-EdbUWx+Wbj+tb78q6H; zRHIWNw<{_{ri?2M84UG3)wIN8UMR;%^R_!J3~8Na5Lg)KVo@C3*N8$t#|tjdQb=iV zNB<_6lLrUyeCj@$doUJ(`;C?m90se*`vW7%9JZcM`Qw1#(*UH>yj{?BB(ic)^O7!777n2jbiyCK7kF`+)>i))FvT`-T2;S%CpvFE zZgFnzd@CvI^aIHBFmYFDL$OoXgbpv6-5h|4^CVx?@HsSSSyENot-DiApWVR@ zUJyyRvam$P59fQy)K+DJzG(E9Wh86;%ICyXacLsw?Tq3TaPn(wrY^VZZEaX+=OiVr znD&@zx0JKKM7&_MP@p(<;x0L4h4p_HSJ&QvvajUkX-2l%4XGpM&|EJdRrToV`rl4{ zX`qrRfXHlX_sNk{LGWZHX5hr-Jtb5)ce=8n*0s|tg>y8LE3LRHu#~H8ngheHq==NQ zASIl`Hw?~_S~(?Kyd%g~hiGW#@dI?(W>fwS$Yiwb1mb=;4)H-fU7@_C;>dSXX@WE# zL?ow*W;U#1o4HiqpyP?c@HrvGou9$KTTQqBv(p%Z&*mo2&(a>eRhP&$PVINp)rpN~ut*Y46}9$0xDo$2yE4+!DENg`Zq9DP^A zQgwNXD`vka0Rlq|K`P5xugaQaiPJSC4@`FxSr@j^QKn33Lid4I&Wn)Ch9nnDTVIfg ztdB^=qHJ- zn|8HgFCX3M+EZ1t+BYMN4l{pfXQP#s;e9n*)-eR1+_#%YUgv4u$KgOmqw!f^jJt*4 z4n<#2JHx-2ruCtvyWKo_(c+gO0m!vEEN>m;59z@4a4Pugs1jE}ABlVij1Ns)jLrz3W!f%lue4*Y`zLFSz793fO3={eoJUGMY)-i+M6P*XExI(~X{V@RASOp{-ow}KY- zFE?{ZYX<9Rt0d|$;^Mdt^#!Ko9lt112ewyePXbDM+|P9ik8Z)b-Hw^O5KS&?OVsEhPQ9Xx>RAboXD69$2NymVke&(Em-yI-22Z$6D%nMesGd@RTdi0gWaZJ7L1%j*h-4?bfsS2P7xF z;hS#XC*n3^7I*;uDuk#jb6TPaWF(=g&cgb$=DM|#)@P`NM9L7DsDTWPJ9mSRM{Z){ z6dXJW#d7Dp&WF zkJ6if1ZE(<69b1;PO9=nVle$=x;Gq^a-UVlXv>K~Wd&^PV??V#b!?&*M+73c+Le3n zlbI%i2sWK^xj)&Ah<%`*obNBNDEB=(V9>KHIi)e*=R}i&m$zF#;fdH^VuA+dS80_j zV0003GF#iz|fM8$0Zj=Fg%4V?<82YeaH`yRQ63k8dNHEEeRiAib4Jbix z15ulN3uz573Y|Jmyg{~!0$ zwmPh_f|_1~Sz;y&X0TK;qu%`7r6|kcTn!pQZX$vmIsZQ`dJ}_%nkZGvV1EE}NKdwZ zGjb6pNa}AfR#x1Ejx8JoVGABA%0*cn7uRkq$lCrP75G9KS^m-IhWb8ab(@97lc^K$ zH)1j(Lul+N-7Rl0E3Tt59fiop(PDwtYEp9(O8>KFnzm$9@7&$3E z_9Yen5fCi`rt-iX8zNsz$Yo0vc5XER2V1N*BX2!*A8v{)S)n{=j6?V;YE|G!m}eXa zCyef)o**s4WI3zRSHtB~JqrOlqSt3%WSMUXp^+9WRD&XD)sk{QKl>8}D<=(>maH+M zNV-l4b(a^}F!m5x;pISMZ$I9@Mqbaq4C$lfDkzZR#&>ksN8balzkvXm!jle~xEt*o zad3#g$0>V`c@%!%jte_6(o!M^@W&G^d<@Sd>zod9tQWu~Z0>TuhX?Kx)KienN}uLN zvlCe_yk2xHha@?xT+k9c@AmH2wMV|>CGZ&eu~8a`_Qv7+=zC1RVkdRlCuEfOePA;V zd$)0a5iVTwL05XTyfnXWdBm_AOz->K6je)w0oI%{&@d6bI~GlYC17fOwmB!B8V!~i zvi(;xwcpJ}TVouXq^A?Rj<|BEpf=s%M4j%XU%UdiZWNDIo;fjH5B6BA(G4VUQ zA{S+0<*`E)K!9DyA!61df*%K&r<$>5=k%$S66kZ;kHl6=hST9XpkPyEqMIwqZT$ul zZ5#QZ=k4a=33%gwQ*DHhn&_A7pf!;9Rz55_@h-7dOI6H2i94ZF#=$rQwZjOdYohP^ z+@rjbfRxFUSMTiB)Ls=_@n&@S)DD!AHxhFcyGg1I#5zU*$?@rAJP;!ImGOwYF&(xS z7eSj+l4}m48gK_VCHu{r6oapDXEb!H-S~S}O>>{uJB4rGiY}+L*rY44Q1R<1qZV;F zYg0$N5+p|uCFO~uO}_vSmwx{!KYsfR3mr9PrGqAFGc??bB6PsIKtT=3eya!7F8!J` z{`3HwrF6>mMr5=k()ByrVMdu1YdJ^U`Gkl2uKx>i7GjpV#9fI8(97 ze{HfI7zn4N?qJ;G*^2^mRUo0t9{{!jkIy;I=}9Sf`Ss)eBO`HdT24gfTvoKGr(NR^ z;k4R2l!)+AO-tYRnEf7v?3_Sl0J!Ol?1&L3TJKm+J8tErh*#S?w7T8LUkncsk)(67 zX8AyOcHx@Dx&>0&U1td|NTO5zgzt%)+w}$cXT$t&N&h?t+l?Z?y4lFtro#(4{O;G1 z=RE{^Uf-Qu7G+gC$M=qOxsTWfaaI3wgi8Fd>+mse61GP78F34f@f(XZ!GrmpiIbZ~ z_XKHPP)k+`-w&LX4N{R*WEV$>1^8GzT^!h2wQ!h5$N7YvYt{G(1s^LZzKVLQvFrw{ zBr`ENdIR8dltzUbezw2tYu?>4h3PJ->1_FCFaZ83S+*GR8XrMdcH{>&1YVytEcHQ1 zq*3(6`d@S~`;%?qOhn+&|CS4RX`T0BO@7 zynIkgDk|?Zm8l6iRyx$=+7rYAF6rdG{fCm`K}J!w<|emWlxl3B4woL;qx8RUCp-9Q)s zb}gh#k1-6NB0hMS_*7Ko5%D;GMN#i}g`ckCn>^^Fbk zx7`zWwQo%2shvY8@jH>;Gx0VVrwK|rUBwzll;Xdv7j=6E>ySc+R&KCjeh3cM?o^Jz zmdxF8U-X7jpeUU*IZwZG?W_rXUn0oe-6gbtU56WxySjFNAE-S0hig$!j)-e9HMSEFEO&5JZQ*=g zG1LZcl6)+A)pUubtQ|=HVEqZf)z<-eY$Bo9(Q$;x>GwYHYF7`9EsbIadNP)347DU| zSXHpwx!*`z+3S4!BS@!^QRndcm){s1{q6E(}mNt*6`L4;2ppWJHNd5SXjkS zB;_{2G5U0n*8JFK#48|p#=$xuEUa4PwQt(qDoE;#nsR}PBm)GoqlxMw>a6D7YSF9f z%j_-Z+O&EtQ&wrrdg($3@f$L5ZXa+>rX2@0~9>3 z5z2g#$(d^X5oLe9AV-O(gI8?2pjaz_p}50>BH>MGYau&okh+3J^mt&D84QJ|$l3#4 zis5L*7Y~2EV%4h1fJiJlWV(Z+ir6`oD*jW9wdK-EqA zA$c0t`DbtEL*C z+T}t=JONFX)kuNS=0=n_RB~4o=QLHR<#Dv&Xawf7|Efdu4gexyW7l{UwDUg%UFSX3 zg@ix}l1Bx^#dt*sk9SwmXx0ok=p;PL(TmJps}QusjVZE02^&M9nJj9^%iy~j;de5= z8lftok^WF#XUItSy0hCs3lMxuCKx3%dAX|35>$yZRwrmg$u#Q9Ys;dIU){N=kL(*A zfX-~nl@|;toLzA| z)MyjBd91B4reXc8R{#}vl(IWdDLiEdx$TM#GH4XjYA{u$KUnKhEp<&8=m-6SRE-_L z03medVOkOFfI`%Cp--siFEbn$+cWGLxO|)ClQK9_;uD~(0dBRgv8b5c$Svd0|F_-g z^XIOV3_+7GXl6McC#HC$W+j3EbBYMRRuUyVcm*?0Lpo>_dx-Cq^*ZbnwnUzd;i+a9V8g z3j_R5Ag6&!3s(Og`|)b#Fi^ap;LOt+5m~T+^NfUJw!CufcOu5%&m7{l%3~stMz@Rd zkLuB659EV*Rfi=R_IpzC#^iN1jDF{Z&eMp1m2kQdnmZ#C6Dtarl2AV&%mWKpwd}CG zoCgOEw@6$9-HYiRg({J*q`LZL!k2eT!K&CCQdHff{qfgUqvuKe)}+4D9jp6)BSQI| z5s$OkJk+F7dSDs7u-w&=UCO|Fl} zFAKTYvyH9KXN=u9d%LpO3z+&689f6&NFg^Sb_k{}yMmW+CCv67nPHh9z^rkT2)W4b z!AC=UMt1UaDk#M^gwi*i3m94z#NnJ`6zTA>vSrasQQAR{3Ls5*{C3s6pxx%D73^{V zpHd2gdMAeq0SQ16%k>fVG-NWt!1D8_ zy3t{zJn3~7=!5Mzt8}yVD}VDOS_IY?o*l(ez<$()(n;XHleZ+g1;O*jv(IveSKi7+9U>4y%^@l7T-*-0c zfSX{npM}_O9mxN@Da+B}(acGPD(JCqVfnsh!ZUF-{#K=m9{*e!aGsGD{W8{LyUr_Gnp0$g4_x^8H^$ID z4n=Wnv$wXq222?;li6mAcW9eEr(C<)PXKp7h`&7lQV$dTrBX(+py}2`Vp4B}MVH^9 zAF^41Tar+w-~dIJ+{rSG`S@)?u;eK=phTfCX0A8YU6*QOE`@Z>FOktE!L!StVBs>V z!r|5mIZT?E0^yRHYm>6Jmw2NM3OfLY(Y#geC&svN9#dP!ajJ(Ag_k16=6G{1h7)B1R15HSTn+ZM<;|VEG{(P7>5Jf=#0R|7hgel3| zr&7i_qOOBacZNiGwRI0Hh7td8)^}`>LIb&X5AS9hhR_P(%iwP&WaE~*tjK}(nwI+eVJ2fU(0N)w6psY!u<&;aunJ_KLLz#^3tB{9Q_69`X6#106W4)Y# z*$5!)e8MJh#yN$|oxG7Rp`((8*ZpT$!a*+*vVOo|ctLGX(CI4T5nNwFkXTubLYv4Z z2CKcvTK$RYx^qsyOddZn5C9=BTkM3XffPzrS8It8bM}IMnimmv=S_X^hzH#tYCPd6 zgtfV)`_E6f7Z*9YsAZQa{c3|=)9ZE-7znS0>9z3B19*r1g9|0ur>PTXMWe)t_(s6dz#GfSvP`h2F7=D4PEj*6q*UgqN+UG}>I|hAQpHF?H&j$x z_swfa_Qebyl+IHpH{wEyU&{`E zwh9>B#Zh-OEit)GTX?@VIo+xs7r{ zBq!Fqeqi34&>imrabrK{2L7!0JS6Wtr_h>S_6;>#Ipc*`s zJ%LVk(BUL5Z)5UZ!texcaxlMaP+lhv&f%89+$jLsUK=?{>Bu}TLYje-DX4|AcGZP| zywzWqT3HCUNyU?cbAZ$$r>~2FTXi@EM~4%;tKgr7M&+t{pNY>#(_cnWC(2yEBgw$x zeoN9GML@;U4$xOlxatQRFub){=(K}I8kgH#d{e-%@L0QrWOpNXx;nfKOExEga!m;# zZ+&VW{O`P=1%%4wZBWu+|H1OsRfpJl#Cw!7Q)|qbyGRg(%@wV11}e}~V|4OPRUnE6 z$Sv}*^ZC_Ey;d1)hres?Oe|@FaMLf_v(q7vzSSKs>`c!m+G@~>JlJ=Ct2ek`w!#?` zh-ul?%w&|)XJo9c9Lx+MJ}Cw-2&Zuhc7r3|B1pj^txs4!!-$`7OWf?DDrNZS(fJpN zaH@+jdq{_1GR|P+{zF2y@#O9qdmd||-zZ$6tVCV~2BdFh>t*vvQw}v|aaI=9`p0OBm&i}MxYP6%l-Bo?3wime*|TMFaBpbb z)R{|9UQXuzKx=&JI2RJB^)GTt^)cX8ovP}cha=-wGiVOH2jDO0=uvMB#LiOPIOdu2 z6TP{)u6V;)0osGj`&N`JbYE3}NyEDhM4 zec&2-LTqgsf#qzp%Y5$d9d%^5`8qSt%YyuKetcA5NF5lRdw0szhsej|AJ%8Fsjw`s zhXakDY<$=LjSxv%6ASk6zdl~6H<5P2Z$Ysrgkng>iQ;Y><0y(}aFvn1UU-Jsw0;!g z+R0atuc8o4wEHS}KF5E5Y6&WdX3$sMQj((5%xc?gyP=YIMkh=yYY(k~O_MBFNgq>y zpT766HoDHD9v`-fiW~GFU|EhQrhq0bj(kBI@2mAYfT>feNXl?<%s| zR9OK`W`38;X+lJvkcF9f?wx+MxtDU=W-rgxHV8|5wqv zO7>|gVa9cZrad+w|EofOJU&FBeq&MqEO`&_&@U1Sb>?aynhw=oG3rGA4!(Al4d(b* zOFD`1-GX2A`V@czPK<2}1isSVt!>($Ym)4!=;kWTYVt)UE*D^}7|-1a2MlC9@~FND z0E9sKmFQ?bblGWN(oQjM{eL82>6NkH2xZFhWmhQux(!rE{`s>0Z~SGEz$%MgBOOdzk|#h5c~Xb3u;X zr|t;D<&QLL&p(1|UV8_vMt9N;8Gjoofn;K;gW&;gkgqM63(FgFIIR&idM4^vachvD z9Lxoi#|I3jha6%t;$@p)bIg=io_-xp6Bl~qlY#WG((sKM$toY&i-AmC%ZFM4;U z9HM>N)^)g-F5m$~F=aMiX;%kDO%J4h%y>X=udt03!E#u)j~4RYib@z(_anET@U|HT z_~O-e6rEdfE;YW(Rl%|2wsU3t$%9*_;+31bUIWQ>fc2WA4(3#VPAaZFRcQDuh1a_& z#>>-cIOGi~Pq)=+7Qp`dju!6l5s~o_V*=;7%kiilL|)O@dr3 zvRg)sF>2QGfUe*%x5scjCFc5>>(4=5Fx1u4;vR(^1Ml>@=rl50hrBYJ4<$8RiiOsg z$~^U7=TiLd5l8i5hPE)xpV%H$6bT5q{xl$)GlBrG#HG2onCZKRKlWYl3>Rl_>r@34 zTobgSXNPZ9O6E7zw8#!g_{&JZ!<}bUziya|h3d=y%gRv6u*PL6lKp?aaod=Ub96cH z5ODT5pwDz5A25uxmgOZC?{u;Qt-Iv=z z687QuF2%w)AfYGg5R zET=WXfvZspF7)y+xGzFOa;-QP0}9W!(_PF5B^PbWb1C|8tntWTXoIn_iFk^oQ)0_? zE@8ov!}l9Zq4;JWDbP2J@R+OTW7vFZ%5$Q>zeSoE|e^eaB>hFAMo+%?(t(@VPzD2aV(@sc+f8-d%QAt)I; zWrx`eUx#u)5}304J~5ob#(S^jLW8IC8U znRIHB@p03v1Bb%MT0d|5J1Kg-WL(l~i0{6()<5kW?zT2l{ZoV1VQ9`CU5M2w$OJbJ z0|9|}oC4O6udp6m*wu|jOOTNI_YyXcK6|st=ImLnb$Qu>kEY`5(ObYagA5RjKN?ZM zJPAp?OU>1#xtMq%m{b5&g~K+p4|?U{*)4H4#OG`piZbd*$_c4eV$o`^poutXfFYEA zwB+o}4s_JAVNBQK8&t~|@gj7{y}?IkU9erf4@xATD^YLogi?j9s_h$pVq>@b$I(B9 z0z^0Hm(p5<`PAn09J83<100RB=X0^ho0x6y`gUx8V&QhjLW)VtnWiSdQ)9@vE8Xovetj`FY2;uG_@fOSGV#-WM z^*2dl*UrbZq3tYRB7oY8&202W7Yxn48|%|j7F0P+~o$?MO0cI(|TuIWb> zJwe5l&#GZs9Dh)*1x}Z@v35=IGpo-HX;mSvVALg&?aaAebipddOE3ZbZBTy%nF}yx z5m)j84-Pi$-Kg~_U3eCqS&wHgrXRo&oPa3YT%EB(#t?M)eEbmGh=-LevPi1@Sj4pm z2eKZXKtQ2E#Kez;{iTO|l!xWE;2B80Q4tZByR@=x15&~P=+2rYH3F5NeSD=dX{%kg zL&!lk#5}pZrqi3dpa7*a`tVhe>Y^_v?SPpsHoiA^`A&*^f=w6!pgM9rR7W6eVsAaN zzXC@F+1SZKwIVSFtiVj7w-`M`hm_Bsz~NF=fjo^o>4tWucN=KhC%@UAxQ0b47kAJ4vJ=oabJraFeWI#Fz#WpG%v$EP`M@pfg~b1IZWsg&;(OdAa?4|FG;M6ovY>4e1*V%-YiV`i&Ax{pd-1!ej<^o;h+talLH0-%o-aFbxA?{gqj< z%IqK+ug(8wvUzVp4EDm-nzrc3nmXUgKc(E_Fc7p0xYt!Jz4G)Xk}yqMdw_~FuVin) zn74idI{Zh|f-T4+#Vfw=Y9D_KtOX_#KAr8NmOEEUl)kC&^Om*B_}v_`2r35$Ic$s@ z(6mXTz@9)fEyXy~mnEmqpk^JyD)d%-uA9ag_CcU~yDY`iT|hRW!z@HH*UK(->#|o_ zLgIzQi<7%y1#2f&6um9Cs96+ka~%9Sh3krkS(DA`d~vxPh|JDY?W2Tk@nATQw3eIF zSviF!U9f@Ib*VAQp2|~TY6%Ss1)E8SsCX!Zzc$=aM1ewE5W^%X&{=_}IlKXPMLTFA z)pm=?jO&NID2^k^fbC`You83_&X&1WTvTKx{bYaGvfpgcfK>(2v&~gQDt*o<6XO*Glfm^@<=-w)7!JPn52fEs|FI^>6Io3KUjro<~%BrYLcV(_w_0@opn5zAi90 zji&w*=j|rYamZGm`thMMG%1ciWjvW1yj|mX+-Y~EIvl$kj`4_&<4`-3A!0RUVjrw= za1w0{$8z3^TwWmO-i@q|zUFkbnp&QAT04XV%`oh??`@>z-4SjnMR4WZVDJ3XR8`NI5>-^(e&$Ez{eZmS~%tSLwrsV5i}N{vS@NcVP#VmSm7 zkNj;B&8~(@3b{^K^*%k~>@UXX;Z=A_AeJ_wbx zL&I0D!@93_SLcHp04C9^aEt*?+p<)H)~{a?0{!&0n$Q(kRr2 zB{OL~I6q?tUD4j>2?2+J3tHki7+GxkA3}CCBeC+=aic;bXMDGNp||ob`YL)H zYavmydt0(lPK7#a4zsQ4%CX8w8==B0-c{;n9~F$vl3_X?+)_o>Xe(Y)`C*}c#u$0V|wx{qA z=72M@YbP7KD!qGsQ;eZ`@Etjwia_w->Uf2nK-@W`qMIbiZ(-g$h&|uW8_bblPOSdi zq1V@A*wW#@aO5Tx`a7wSndTFSQn|;CVR^wf*)rtsST-d?KI7Q8S;9oIRHZz%29GI>5^U#r=_{mUJ zvC9h?FL9Y5e?kYt?q)(ye5(PIMm#TN(?%{kXF9Bsz-T7vCe5 z?sk01w@?gpf3ZT+R<=;KQ-aYTYepDCi8;#iH-13$>T(v5X9&B0)Y5yjh^OGw~92OBT?lyP&SqW$lf;xgR}kHBn0ZP|l!Ro(SH}v{gG(p< zmlB-EPbY^=o9+Y9x`4bUN~DfS3!A$on;@&pY%iV&_9RC?ZzA$4Lf3oh1a^~wILtRR zDmFAbK6DYCfYSm?F1Fj=$U#_Kg4@X=aJ+a+YgXuFW7{kHckzFhOxjt;+4EBzw)V35{;T zYgp5#gQZR=KE_D#@+Ni5(54}8^r0NS&M!B0nwt<$-}f=d1iURW_H2~Qq5`QTyl2Qg zz=8(RV2qVo3E6OA*#>EwSeK(aBVet@tVEx=>|xK%G_($nKz}G0z9%m})o(szlxKvZ zVxm~l)Pi`H4O@X<1 zDmDh)_@b>eB_U}WBr|NqJX2&RbFQWNOn-kntPG}VT&(t~MnBVK~;Fv&JlaAjx z!9Ck{jv}ALANscuqg4ht8yA(CT6h#ZYz1!f%>LG_Jg97<1&LGzC2!lbFF*DTIo0b7 zECRVg5a+gRv>pLvOIV@1($3C8VUUnT9s5@+ohsjeq+4K`d!VOxhg&so)bS7Abge z)3O?uxdokyJ`Gf^&I#sB1_7E=<`NIcQe^QbzD**Exet+{kjJAt(`U6^iEU`0pa9E0 z;c36?>Yc_SO7anSEX6ffvRzrr06fjzEDu9hB782J_tNLO9zVVLZTS(|8s&vF7yy3> zr>jQm)vXVR0jREShv%e2hFz6tiSB_ox0j_o#k9XU_x4R@D)(KQT3}QP#GBDLQ#)x~ zEQ$C}izTDmgSUY*>Obrq0l4QR4Fg?FGx22k<90KaszACwRsrXI)7btFI1Pye-7u)4 zL0o$(V#5eefBCBvRbfaic993gq4|vJx`gOc*%x#V{TG~n$gg%|D6QS^+k2Rp$^3ekh=#S0^2HV4_v?=Cbq&$^U%DPt`jXYj` zCQ!NH3U}03puYhRmh!G%med#=x@$6Lj}pmJ?_m|kbf3*? z%=_AQ?IQrc(wEF>iQr1Nbm6_`k0D<8EF|8)yq``*?n- zC8<%)PD%Q0)avcMUW8WcMpFr~rLTY3n^_`LchnRsG0!h>iC}+fm@7XkdDZ*4w;Bc+ z#o;tqy!1L?)qpd69AqgH*-}q>F(KG}ixW)&M9?$_@f(3Ui6-M)5XiZZztmFwf2}b) zjyJY%`c@STI#s9aM!OYlEL>~eVh6^`+yZ$306|VoM$Rk%0A2t9000070RS@r04M+e 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≀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

;-!0@tdTdYy+`HRu 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 z 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